Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Debian Development (http://www.linux-archive.org/debian-development/)
-   -   Uploading to multiple distros (http://www.linux-archive.org/debian-development/534049-uploading-multiple-distros.html)

Ian Jackson 06-02-2011 12:20 PM

Uploading to multiple distros
 
Didier Raboud writes ("Re: Color Management in Debian"):
> Given that Debian is currently not frozen (and that the Oneiric
> release will very probably happen before Wheezy's), I really think
> that not uploading those packages to Debian first would be a shame,
> as this would only mean doubling efforts.

As a structural matter I think it's wrong to have either Debian or
Ubuntu end up being blocked on the other, if it can be avoided. One
of the ways that free software really works well is that it enables
people to get their work done right away and worry about interacting
with others later.

One thing I have done a few times is to upload the very same package
simultaneously to (say) Debian and Ubuntu.

Where the package wants to be identical, and the person doing the
upload is the same, it would be nice if this could be made simpler.
At the moment you basically need to build the whole thing twice with
minor edits to the changelog to set the target suite.

It would be nice if this could be made simpler. In principle it would
be nice if you could use the same .changes file for uploading to two
distros (provided that only one of them wants binaries) but that may
be too much to ask.

At the very least it should be possible to do one upload to two
distros without altering the debian/changelog.

For this to work I think the "suite" target in the changelog entry
should be qualified by the distro, so you could say (picking a random
example):

picocom (1.4-1) debian:unstable ubuntu:oneiric; urgency=low

* new upstream version:
- Changed the behavior of the C-a command. Now pressing C-a
twice sends C-a to the serial port
- Added the C- command that generates a break sequence
- Added (optional) UUCP-lockfiles support

-- Oliver Kurth <oku@debian.org> Tue, 14 Sep 2004 11:25:07 -0700

or something.

What do people think ?

Ian.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 19943.32760.612045.586188@chiark.greenend.org.uk"> http://lists.debian.org/19943.32760.612045.586188@chiark.greenend.org.uk

Iain Lane 06-02-2011 12:45 PM

Uploading to multiple distros
 
On Thu, Jun 02, 2011 at 01:20:08PM +0100, Ian Jackson wrote:

Didier Raboud writes ("Re: Color Management in Debian"):

Given that Debian is currently not frozen (and that the Oneiric
release will very probably happen before Wheezy's), I really think
that not uploading those packages to Debian first would be a shame,
as this would only mean doubling efforts.


[...]

At the very least it should be possible to do one upload to two
distros without altering the debian/changelog.

For this to work I think the "suite" target in the changelog entry
should be qualified by the distro, so you could say (picking a random
example):

picocom (1.4-1) debian:unstable ubuntu:oneiric; urgency=low

* new upstream version:
- Changed the behavior of the C-a command. Now pressing C-a
twice sends C-a to the serial port
- Added the C- command that generates a break sequence
- Added (optional) UUCP-lockfiles support

-- Oliver Kurth <oku@debian.org> Tue, 14 Sep 2004 11:25:07 -0700

or something.


You can do this already by using syncpackage(1) from ubuntu-dev-tools —
I don't think the archive software looks at the changelog, but the
distribution in the changes file.


For "normal" syncs we generally advise not using syncpackage, but it
might make sense when doing simultaneous uploads.


This at least works when uploading packages prepared for Debian to
Ubuntu. I'm not sure how well Debian's infrastructure would cope if the
changelog specifies an Ubuntu release.


Cheers,
Iain

Ian Jackson 06-02-2011 12:54 PM

Uploading to multiple distros
 
Iain Lane writes ("Re: Uploading to multiple distros"):
> You can do this already by using syncpackage(1) from ubuntu-dev-tools ?
> I don't think the archive software looks at the changelog, but the
> distribution in the changes file.

I wasn't aware of syncpackage. The manpage is quite discouraging.

> For "normal" syncs we generally advise not using syncpackage, but it
> might make sense when doing simultaneous uploads.

Hrm. So syncpackage generates a .changes for uploading to ubuntu from
the .dsc (which presumably came out of the Debian build). That does
mean though that the Ubuntu target suite is not visible in the
changelog of the ultimate Ubuntu package. And if the package is not
accepted into the Debian archive for any reason, the changelog is very
misleading because it looks like a sync from Debian.

> This at least works when uploading packages prepared for Debian to
> Ubuntu. I'm not sure how well Debian's infrastructure would cope if the
> changelog specifies an Ubuntu release.

Debian's archive tools don't look at the changelog either, I think.
But the .changes file is generated from it. Both Debian and Ubuntu
will reject a .changes file containing unrecognised suites.

One way to enable simultaneous uploads would be to arrange for
dpkg-genchanges to filter out suites for "other" distros when
generating the .changes file. Then you would have the same files
being uploaded but two different .changes files.

One .changes file would be nice but there are conceptual and practical
problems with it.

Ian.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 19943.34829.69443.412520@chiark.greenend.org.uk">h ttp://lists.debian.org/19943.34829.69443.412520@chiark.greenend.org.uk

Stefano Rivera 06-02-2011 01:19 PM

Uploading to multiple distros
 
Hi Ian (2011.06.02_14:54:37_+0200)
> I wasn't aware of syncpackage. The manpage is quite discouraging.

It's discouraging for a reason, the Ubuntu archive admins would prefer
that we sync packages through them if possible (which results in ~1 days
wait). An API method for syncing (+ a button on launchpad) is supposed
to be available really soon now™.

> Hrm. So syncpackage generates a .changes for uploading to ubuntu from
> the .dsc (which presumably came out of the Debian build). That does
> mean though that the Ubuntu target suite is not visible in the
> changelog of the ultimate Ubuntu package. And if the package is not
> accepted into the Debian archive for any reason, the changelog is very
> misleading because it looks like a sync from Debian.

Yes. It tries to do the same thing as the archive admins' sync script.
And obviously it can easily mislead people, which is why it should be
used with care, and has a big warning in the manpage.

> One way to enable simultaneous uploads would be to arrange for
> dpkg-genchanges to filter out suites for "other" distros when
> generating the .changes file. Then you would have the same files
> being uploaded but two different .changes files.

Excepting the changelog bit, that's effectively what syncpackage does.
It doesn't modify anything except the .changes file, if possible.

SR

--
Stefano Rivera
http://tumbleweed.org.za/
H: +27 21 465 6908 C: +27 72 419 8559 UCT: x3127


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20110602131914.GO14793@bach.rivera.co.za">http://lists.debian.org/20110602131914.GO14793@bach.rivera.co.za

William Grant 06-02-2011 01:24 PM

Uploading to multiple distros
 
On 02/06/11 23:19, Stefano Rivera wrote:
> [snip]
>> One way to enable simultaneous uploads would be to arrange for
>> dpkg-genchanges to filter out suites for "other" distros when
>> generating the .changes file. Then you would have the same files
>> being uploaded but two different .changes files.
>
> Excepting the changelog bit, that's effectively what syncpackage does.
> It doesn't modify anything except the .changes file, if possible.

Note that you can append the series name to any Launchpad upload path to
override the .changes file. eg. /ubuntu/oneiric will upload to oneiric
in the primary archive, /~wgrant/ppa/ubuntu/oneiric to oneiric in my PPA.

So you *can* use an identical .changes file, if you really want to.

This is deliberately not well documented, and is somewhat discouraged.

William

Martin Owens 06-02-2011 02:40 PM

Uploading to multiple distros
 
On Thu, 2011-06-02 at 13:20 +0100, Ian Jackson wrote:
> For this to work I think the "suite" target in the changelog entry
> should be qualified by the distro, so you could say (picking a random
> example):
>
> picocom (1.4-1) debian:unstable ubuntu:oneiric; urgency=low
>
> * new upstream version:

Why not just make ppa uploading simpler at the same time? (if you can
change the changelog file processing):

picocom (1.4-1) debian:unstable oneiric natty maverick lucid;
urgency=low

Instead of pushing 6 different packages, we could push just the one.
Have the tools search for a match and build for that archive.

Martin,


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 1307025634.3781.122.camel@delen">http://lists.debian.org/1307025634.3781.122.camel@delen

Cristian Henzel 06-02-2011 03:02 PM

Uploading to multiple distros
 
I had this very same discussion with another packager and we came to the same
conclusion: changing stuff around a bit to make uploading to multiple
distributions easier, would greatly help packagers IMO.

One thing I would welcome, if possible, would be conditional build-deps, so that
you can set different build-deps for Debian/Ubuntu for example. I'm saying this
because my package for example depends on 'libappindicator-dev' in Ubuntu, but I
can't set this dependency in Debian, because that package doesn't exist there
(yet). Also, from what I've seen there are some packages which have different
names in Ubuntu/Debian, so a conditional build-depends might make
synchronisation of packages between different distributions a bit easier.
Now, one could also check how many packages actually *do* have different
build-depends fields in Ubuntu compared to Debian (not sure how I could do that)
to see how useful of an addition this would be.

For the changelog part, I thought *not* requiring a specific suite would also be
a good compromise. Then, in the case that a suite isn't specified, each
distribution would have a 'default' suite, where this package would be uploaded,
in Debian it might make sense to set 'sid' to default and in Ubuntu, the current
development version. Then, you only need to set a suite when you build the
package for a specific suite, and can have the 'default' package the same for
multiple distros.

--

Best regards,
Mit freundlichen Gren,

Cristian Henzel


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4DE7A60D.2050703@b3r3.info">http://lists.debian.org/4DE7A60D.2050703@b3r3.info

Peter Samuelson 06-02-2011 03:28 PM

Uploading to multiple distros
 
[Ian Jackson]
> Hrm. So syncpackage generates a .changes for uploading to ubuntu from
> the .dsc (which presumably came out of the Debian build). That does
> mean though that the Ubuntu target suite is not visible in the
> changelog of the ultimate Ubuntu package. And if the package is not
> accepted into the Debian archive for any reason, the changelog is very
> misleading because it looks like a sync from Debian.

Since syncs from Debian are actually supposed to be the majority of
packages in Ubuntu anyway, why not just do that - a real sync, not a
fake simultaneous one. I don't live in the Ubuntu dev universe, but
given how common of an operation this apparently is, I'd think the
tool(s) to do it would be mature and easy to use. Sure, you have to
wait a few minutes until you get your ACCEPTED mail from dak, but what
of it? The mail is your reminder to finish the job.

(And if the 'sync from debian' process can't pull your .dsc out of
incoming, that's something I imagine would be easy enough to add.)

> One way to enable simultaneous uploads would be to arrange for
> dpkg-genchanges to filter out suites for "other" distros when
> generating the .changes file. Then you would have the same files
> being uploaded but two different .changes files.

I suppose you mean put that functionality into this syncpackage thing.
Because otherwise you're still going to need to run dpkg-genchanges
twice, once presumably by hand with some sort of suite override switch,
and that does rather break the abstractions of debian/rules, debhelper,
and the like.

--
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20110602152809.GA4164@p12n.org">http://lists.debian.org/20110602152809.GA4164@p12n.org

Steve Langasek 06-02-2011 03:40 PM

Uploading to multiple distros
 
On Thu, Jun 02, 2011 at 03:19:14PM +0200, Stefano Rivera wrote:
> Hi Ian (2011.06.02_14:54:37_+0200)
> > I wasn't aware of syncpackage. The manpage is quite discouraging.

> It's discouraging for a reason, the Ubuntu archive admins would prefer
> that we sync packages through them if possible (which results in ~1 days
> wait). An API method for syncing (+ a button on launchpad) is supposed
> to be available really soon now™.

Proof of concept for the button was shown around at the last UDS in early
May. So we're hopeful that "really soon now™" is measured in weeks.

> > Hrm. So syncpackage generates a .changes for uploading to ubuntu from
> > the .dsc (which presumably came out of the Debian build). That does
> > mean though that the Ubuntu target suite is not visible in the
> > changelog of the ultimate Ubuntu package. And if the package is not
> > accepted into the Debian archive for any reason, the changelog is very
> > misleading because it looks like a sync from Debian.

> Yes. It tries to do the same thing as the archive admins' sync script.

It tries, but it does not succeed, which is why the archive admins
discourage its use.

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org

Iain Lane 06-02-2011 04:18 PM

Uploading to multiple distros
 
On Thu, Jun 02, 2011 at 01:54:37PM +0100, Ian Jackson wrote:

[...]
Hrm. So syncpackage generates a .changes for uploading to ubuntu from
the .dsc (which presumably came out of the Debian build). That does
mean though that the Ubuntu target suite is not visible in the
changelog of the ultimate Ubuntu package. And if the package is not
accepted into the Debian archive for any reason, the changelog is very
misleading because it looks like a sync from Debian.


Yes, this is one reason why it's probably better to wait for acceptance
into Debian first before uploading anywhere else. NEW delays really
are rather short these days in my experience so in all but the most
urgent cases that would be the right thing to do.


Anyway, unless you're proposing changing the version string based on
target distribution there is going to be confusion regardless IMO. It's
simpler to just rebuild the source package with an Ubuntu changelog
entry or wait the couple of days to sync. :-)


Regards,
Iain


All times are GMT. The time now is 10:19 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.