Debian Bug report logs - #529281
sbuild: Accept .changes on the command-line and auto-detect distribution in that case

version graph

Package: sbuild; Maintainer for sbuild is Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>; Source for sbuild is src:sbuild.

Reported by: Enrico Zini <enrico@debian.org>

Date: Mon, 18 May 2009 12:06:08 UTC

Severity: wishlist

Found in version sbuild/0.58.2-1

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Mon, 18 May 2009 12:06:11 GMT) Full text and rfc822 format available.

Acknowledgement sent to Enrico Zini <enrico@debian.org>:
New Bug report received and forwarded. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Mon, 18 May 2009 12:06:11 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Enrico Zini <enrico@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: Please add the option to autodetect distribution from changelog
Date: Mon, 18 May 2009 13:06:27 +0100
Package: sbuild
Version: 0.58.2-1
Severity: wishlist

Hello,

thank you for sbuild.

When used by DDs to build packages to upload, sbuild has the unexpected
behaviour of ignoring the distribution set in the changelog.

Of course this behaviour is what is needed in build daemons, but it
would be useful if sbuild could be able to do it both ways.

An option would be to use the distribution set in the changelog when one
specifies "-d auto", but that may have a rare failure scenario if
someone having their own local distribution with a suite called "auto".

Alternatively, one could use another option like --auto-distribution or
--no-auto-distribution, and set the defaults from $sbuild_mode.

This was roughly the result of the brainstorming we just had on IRC.


Ciao,

Enrico

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.29-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages sbuild depends on:
ii  adduser                       3.110      add and remove users and groups
ii  apt                           0.7.21     Advanced front-end for dpkg
ii  dctrl-tools                   2.13.1     Command-line tools to process Debi
ii  devscripts                    2.10.49    scripts to make the life of a Debi
ii  dpkg-dev                      1.14.26    Debian package development tools
ii  perl                          5.10.0-22  Larry Wall's Practical Extraction 
ii  perl-modules                  5.10.0-22  Core Perl modules
ii  postfix [mail-transport-agent 2.5.5-1.1  High-performance mail transport ag
ii  schroot                       1.2.2-1    Execute commands in a chroot envir

Versions of packages sbuild recommends:
ii  debootstrap                 1.0.10lenny1 Bootstrap a basic Debian system
ii  fakeroot                    1.12.2       Gives a fake root environment

Versions of packages sbuild suggests:
pn  deborphan                     <none>     (no description available)
ii  wget                          1.11.4-2   retrieves files from the web

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Sat, 20 Jun 2009 09:45:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to Roger Leigh <rleigh@codelibre.net>:
Extra info received and forwarded to list. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Sat, 20 Jun 2009 09:45:31 GMT) Full text and rfc822 format available.

Message #10 received at 529281@bugs.debian.org (full text, mbox):

From: Roger Leigh <rleigh@codelibre.net>
To: Enrico Zini <enrico@debian.org>, 529281@bugs.debian.org
Cc: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: Re: [buildd-tools-devel] Bug#529281: Please add the option to autodetect distribution from changelog
Date: Sat, 20 Jun 2009 10:39:46 +0100
On Mon, May 18, 2009 at 01:06:27PM +0100, Enrico Zini wrote:
> When used by DDs to build packages to upload, sbuild has the unexpected
> behaviour of ignoring the distribution set in the changelog.
> 
> Of course this behaviour is what is needed in build daemons, but it
> would be useful if sbuild could be able to do it both ways.

This has come up in the past, because it's an obviously useful
feature.  When we had our conversation on IRC about this, I forgot
about one major problem blocking this:

- if building a package downloaded from a mirror,
  ("sbuild package_version" i.e. no .dsc extension since there's
  no local file), we need to download the package *inside* a
  chroot.  I.e. we are forced to choose the chroot (distribution)
  *before* downloading the package.  Until the package is
  downloaded, we can't see which distribution was in the changelog.

- if building using local files,
  ("sbuild /path/to/package_version.dsc") we can easily parse the
  DSC.  However, the distribution isn't put in the DSC either!
  It only does into the .changes.

In consequence, we can only realistically do this when using local
files.  However, this would require unpacking the sources in order
to read debian/changelog.  For large packages, this would be very
wasteful of time and diskspace because we would have to then
delete the unpacked sources before copying the DSC/orig/diff.gz
into the build chroot where they will be unpacked again for the
real build.


I still this this is a useful feature.  This issue does need
resolving before it can be implemented, however.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.




Added tag(s) moreinfo and wontfix. Request was from Roger Leigh <rleigh@codelibre.net> to control@bugs.debian.org. (Fri, 06 Nov 2009 23:36:25 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Fri, 06 Nov 2009 23:45:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Roger Leigh <rleigh@codelibre.net>:
Extra info received and forwarded to list. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Fri, 06 Nov 2009 23:45:03 GMT) Full text and rfc822 format available.

Message #17 received at 529281@bugs.debian.org (full text, mbox):

From: Roger Leigh <rleigh@codelibre.net>
To: Enrico Zini <enrico@debian.org>, 529281@bugs.debian.org
Subject: Re: [buildd-tools-devel] Bug#529281: Bug#529281: Please add the option to autodetect distribution from changelog
Date: Fri, 6 Nov 2009 23:34:49 +0000
[Message part 1 (text/plain, inline)]
tags 529281 + moreinfo wontfix
thanks

On Sat, Jun 20, 2009 at 10:39:46AM +0100, Roger Leigh wrote:
> On Mon, May 18, 2009 at 01:06:27PM +0100, Enrico Zini wrote:
> > When used by DDs to build packages to upload, sbuild has the unexpected
> > behaviour of ignoring the distribution set in the changelog.
> > 
> > Of course this behaviour is what is needed in build daemons, but it
> > would be useful if sbuild could be able to do it both ways.
> 
> - if building a package downloaded from a mirror,
>   ("sbuild package_version" i.e. no .dsc extension since there's
>   no local file), we need to download the package *inside* a
>   chroot.  I.e. we are forced to choose the chroot (distribution)
>   *before* downloading the package.  Until the package is
>   downloaded, we can't see which distribution was in the changelog.
> 
> - if building using local files,
>   ("sbuild /path/to/package_version.dsc") we can easily parse the
>   DSC.  However, the distribution isn't put in the DSC either!
>   It only does into the .changes.

Tagging wontfix until these technical problems have a solution.
I'm doubtful this can be resolved for these usecases, but I'll
be happy to hear any suggestions.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Tue, 12 Apr 2011 08:12:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Tue, 12 Apr 2011 08:12:03 GMT) Full text and rfc822 format available.

Message #22 received at 529281@bugs.debian.org (full text, mbox):

From: Raphael Hertzog <hertzog@debian.org>
To: Debian Bug Tracking System <529281@bugs.debian.org>
Subject: sbuild: Implement support of .changes
Date: Tue, 12 Apr 2011 10:09:37 +0200
tag 529281 - moreinfo wontfix
retitle 529281 sbuild: Accept .changes on the command-line and auto-detect distribution in that case
severity 
thanks

I would like to resurrect this bug. I understand the .dsc doesn't have the
distribution, however a .changes file has it.

When I generate the source package, I do debuild -S and this generates me
a .changes files with the correct distribution.

So please improve sbuild to accept a .changes listing a source package
and don't require the distribution in that case, instead extract it
from the .changes file.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (150, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.38-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages sbuild depends on:
ii  adduser                       3.112+nmu2 add and remove users and groups
ii  libc6                         2.11.2-11  Embedded GNU C Library: Shared lib
ii  libgcc1                       1:4.6.0-2  GCC support library
ii  libsbuild-perl                0.62.2-1   Tool for building Debian binary pa
ii  libstdc++6                    4.6.0-2    The GNU Standard C++ Library v3
ii  perl                          5.10.1-19  Larry Wall's Practical Extraction 
ii  perl-modules                  5.10.1-19  Core Perl modules

Versions of packages sbuild recommends:
ii  debootstrap                   1.0.29     Bootstrap a basic Debian system
ii  fakeroot                      1.15.1-1   tool for simulating superuser priv

Versions of packages sbuild suggests:
ii  deborphan                     1.7.28.5   program that can find unused packa
ii  wget                          1.12-3     retrieves files from the web

-- no debconf information

-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
                      ▶ http://RaphaelHertzog.fr (Français)




Removed tag(s) moreinfo and wontfix. Request was from Raphael Hertzog <hertzog@debian.org> to control@bugs.debian.org. (Tue, 12 Apr 2011 08:12:06 GMT) Full text and rfc822 format available.

Changed Bug title to 'sbuild: Accept .changes on the command-line and auto-detect distribution in that case' from 'Please add the option to autodetect distribution from changelog' Request was from Raphael Hertzog <hertzog@debian.org> to control@bugs.debian.org. (Tue, 12 Apr 2011 08:12:07 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Tue, 14 Jun 2011 12:06:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Tue, 14 Jun 2011 12:06:04 GMT) Full text and rfc822 format available.

Message #31 received at 529281@bugs.debian.org (full text, mbox):

From: Raphael Hertzog <hertzog@debian.org>
To: Roger Leigh <rleigh@debian.org>, 630472@bugs.debian.org, 529281@bugs.debian.org
Subject: Re: Bug#630472: dpkg-dev: Please add Distribution to .dsc generated by dpkg-source -b
Date: Tue, 14 Jun 2011 14:01:57 +0200
On Tue, 14 Jun 2011, Roger Leigh wrote:
> Attached is a patch to add the distribution to the .dsc

I don't like this. Source package migrate and can be reuploaded in
multiple places (including distributions of derivatives) without being
rebuilt.

The Distribution is part of the .changes file and it's enough there IMO.
I don't see a good reason to change this.

> This is currently only available in the changelog or the
> .changes.  However, tools like sbuild, which need to build
> in a distribution-specific chroot can't work out what the
> distribution is without unpacking the source tree and
> inspecting the changelog (which is impractical for a
> number of reasons, least of all efficiency).  This requires
> that sbuild be told the distribution by the user, and there
> can sometimes be problems as a result e.g. uploading
> experimental packages to unstable due to using "-d unstable"
> out of habit.

I have already been bitten by this and I made a concrete suggestion
here in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=529281#22

And in fact you're mixing two concepts, the chroot to use for the build
and the target distribution.

You can still use "-d <dist>" to infer the default chroot to use but you
should not override the target distribution set in the changelog unless
the users sets another flag "--force-distribution". If the flag is
missing and the two values differ, you should just abort with an
error.

I mean dpkg-genchanges uses the value from the changelog by default and
you should not overwrite the value generated unless you're in a context
where you know that you want to overwrite it. In that case, supplying one
more parameter is not an issue (I'd rather have the buildd config provide
one more parameter than requiring the casual users to change their
habits).

I'll let some time pass for the discussion but I will probably close
#630472 or tag it wontfix.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
                      ▶ http://RaphaelHertzog.fr (Français)




Information forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Sat, 29 Oct 2011 16:36:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Thorsten Glaser <tg@mirbsd.de>:
Extra info received and forwarded to list. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Sat, 29 Oct 2011 16:36:03 GMT) Full text and rfc822 format available.

Message #36 received at 529281@bugs.debian.org (full text, mbox):

From: Thorsten Glaser <tg@mirbsd.de>
To: 647028@bugs.debian.org, 529281@bugs.debian.org
Subject: sbuild and the Distribution field in .changes
Date: Sat, 29 Oct 2011 16:24:01 +0000 (UTC)
Hi,

my thoughts on this:

= sbuild side =

Apparently, sbuild is used by buildds and developers, with differing
needs. There should be a switch to sbuild, which buildd calls but
developers don’t, that enables Distribution overriding (for example
for binNMUs to packages in testing that were uploaded to unstable in
the first place), and the default should be that it doesn’t override
the field.

That is, specifying the distribution (e.g. unstable) to sbuild would
still be mandatory (so this wouldn’t entirely solve #529281), but by
default (unless buildd), this value would NOT be copied into the Di-
stribution field of the .changes file – instead it would behave like
cowbuilder (which uses dpkg-genchanges) and copy the field from the
package’s changelog.
This is especially useful for developers building _local_ packages
in e.g. a sid or stable chroot, to prevent them from accidentally
uploading them to Debian, but also to avoid the case of forgetting
to change away UNRELEASED before uploading.

= lintian side =

I also propose an ftpmaster autoreject (via lintian) if:
a) Distribution=unstable, Changes=experimental
b) Distribution=experimental, Changes=unstable
c) Distribution=*, Changes=UNRELEASED

All other mismatch cases should probably be a W, but for these three,
I think not just an E but an autoreject could, maybe, be justified.

= social side =

Just use cowbuilder ;-)

https://www.mirbsd.org/cvs.cgi/contrib/hosted/tg/deb/pbuilderrc?rev=HEAD
contains a sample ~/.pbuilderrc which does multi-arch (i386 and amd64 on
an amd64 host, for example – otherwise of course just one) multi-distro
(debian, ubuntu, debian-ports) multi-suite (from dapper and sarge up to
sid and (currently) precise) cowbuilder handling, plus “multi-client ca-
pability” by setting $CUSTOM. (It also contains some “optimisations” for
the chroots, such as dropping debconf-i18n (for Perl transitions; I did
the 5.12 one on m68k with that) and file-rc, which you may or may not
want; one can also locally optimise by putting fakeroot and even debhel-
per into EXTRAPACKAGES. These are of course not suitable for when buildd
could use cowbuilder, as suggested below.)

Of course, be aware of differences between cowbuilder and sbuild, but I
have had few problems with it (as long as cowbuilder, pbuild and deboot-
strap are taken from sid on the build machine, e.g. due to architecture
wildcards) and would love to see the buildd software support to use both
so buildds could be set up with either. (It’s easier to set up.)

= What now? =

#542747 could contain discussion about the lintian checks I suggested in
the second chapter of this mail.

We could clone #559659 and discuss the changes from the first chapter of
this mail there, as they would obviously not fix #559659 but still ad-
dress the issue of packages uploaded to the archive being not rebuildable
(with cowbuilder) due to their debian/changelog last entry being UNRELEA-
SED instead of unstable. I’ve found some on snapshot.d.o this week, and
buxy had the issue today, too.

Flames as followup-to-poster please. Improvements to pbuilderrc welcome.

bye,
//mirabilos
-- 
16:47⎜«mika:#grml» .oO(mira ist einfach gut....)      23:22⎜«mikap:#grml»
mirabilos: und dein bootloader ist geil :)    23:29⎜«mikap:#grml» und ich
finds saugeil dass ich ein bsd zum booten mit grml hab, das muss ich dann
gleich mal auf usb-stick installieren	-- Michael Prokop über MirOS bsd4grml




Information forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Sat, 29 Oct 2011 18:03:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Roger Leigh <rleigh@codelibre.net>:
Extra info received and forwarded to list. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Sat, 29 Oct 2011 18:03:03 GMT) Full text and rfc822 format available.

Message #41 received at 529281@bugs.debian.org (full text, mbox):

From: Roger Leigh <rleigh@codelibre.net>
To: Thorsten Glaser <tg@mirbsd.de>, 529281@bugs.debian.org
Cc: 647028@bugs.debian.org
Subject: Re: [buildd-tools-devel] Bug#529281: sbuild and the Distribution field in .changes
Date: Sat, 29 Oct 2011 18:59:10 +0100
On Sat, Oct 29, 2011 at 04:24:01PM +0000, Thorsten Glaser wrote:
> = sbuild side =
> 
> Apparently, sbuild is used by buildds and developers, with differing
> needs. There should be a switch to sbuild, which buildd calls but
> developers don’t, that enables Distribution overriding (for example
> for binNMUs to packages in testing that were uploaded to unstable in
> the first place), and the default should be that it doesn’t override
> the field.

We certainly have an existing mechanism which may be set in .sbuildrc
or sbuild.conf:

$sbuild_mode = "buildd|user"

This does not currently encompass Distribution handling, but could
be made to do so.

> That is, specifying the distribution (e.g. unstable) to sbuild would
> still be mandatory (so this wouldn’t entirely solve #529281), but by
> default (unless buildd), this value would NOT be copied into the Di-
> stribution field of the .changes file – instead it would behave like
> cowbuilder (which uses dpkg-genchanges) and copy the field from the
> package’s changelog.
> This is especially useful for developers building _local_ packages
> in e.g. a sid or stable chroot, to prevent them from accidentally
> uploading them to Debian, but also to avoid the case of forgetting
> to change away UNRELEASED before uploading.

In the last few releases, I've refactored local building to allow
this.  sbuild itself only operates on source packages; previously
local building required generating the source package and then
operating on the .dsc.  We now (internally) only deal with .dscs.
Local building is done at the top level prior to creating and running
a build job.  The implication of this change is that it's now possible
to run dpkg-parsechangelog and change the distribution default when
building locally.  This is the case right now.

This still doesn't solve the problem of building a local .dsc,
which would require an unpack of the source package to determine
the distribution, but does solve it for unpacked sources.
Adding support for using a .changes file in place of a .dsc is
still on my TODO, list.  Once a .changes is accepted, we could
only permit setting the distribution in buildd mode.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.




Information forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Sat, 29 Oct 2011 18:51:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jakub Wilk <jwilk@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Sat, 29 Oct 2011 18:51:03 GMT) Full text and rfc822 format available.

Message #46 received at 529281@bugs.debian.org (full text, mbox):

From: Jakub Wilk <jwilk@debian.org>
To: 529281@bugs.debian.org
Cc: Thorsten Glaser <tg@mirbsd.de>
Subject: Bug#529281: sbuild and the Distribution field in .changes
Date: Sat, 29 Oct 2011 20:49:27 +0200
(Dropping #647028 from CC. Roger's message, and most of Thorsten's 
message had nothing to do with lintian...)

* Roger Leigh <rleigh@codelibre.net>, 2011-10-29, 18:59:
>it's now possible to run dpkg-parsechangelog and change the 
>distribution default when building locally.  This is the case right 
>now.
>
>This still doesn't solve the problem of building a local .dsc, which 
>would require an unpack of the source package to determine the 
>distribution, but does solve it for unpacked sources. Adding support 
>for using a .changes file in place of a .dsc is still on my TODO, list.

The idea of running sbuild on *.changes sounds very weird to me, but as 
long as I don't have to use it, I don't really mind.

I understand that if you have only .dsc at hand, you need to know which 
chroot to use. So make -c mandatory if -d is not given, and the problem 
is solved.

>Once a .changes is accepted, we could only permit setting the 
>distribution in buildd mode.

Why? Auto-detecting distribution is good, but what's wrong with an 
option to set it manually?

-- 
Jakub Wilk




Information forwarded to debian-bugs-dist@lists.debian.org, Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>:
Bug#529281; Package sbuild. (Sun, 30 Oct 2011 23:33:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Roger Leigh <rleigh@codelibre.net>:
Extra info received and forwarded to list. Copy sent to Debian buildd-tools Developers <buildd-tools-devel@lists.alioth.debian.org>. (Sun, 30 Oct 2011 23:33:04 GMT) Full text and rfc822 format available.

Message #51 received at 529281@bugs.debian.org (full text, mbox):

From: Roger Leigh <rleigh@codelibre.net>
To: Jakub Wilk <jwilk@debian.org>, 529281@bugs.debian.org
Cc: Thorsten Glaser <tg@mirbsd.de>
Subject: Re: [buildd-tools-devel] Bug#529281: sbuild and the Distribution field in .changes
Date: Sun, 30 Oct 2011 23:28:57 +0000
On Sat, Oct 29, 2011 at 08:49:27PM +0200, Jakub Wilk wrote:
> (Dropping #647028 from CC. Roger's message, and most of Thorsten's
> message had nothing to do with lintian...)
> 
> * Roger Leigh <rleigh@codelibre.net>, 2011-10-29, 18:59:
> >it's now possible to run dpkg-parsechangelog and change the
> >distribution default when building locally.  This is the case
> >right now.
> >
> >This still doesn't solve the problem of building a local .dsc,
> >which would require an unpack of the source package to determine
> >the distribution, but does solve it for unpacked sources. Adding
> >support for using a .changes file in place of a .dsc is still on
> >my TODO, list.
> 
> The idea of running sbuild on *.changes sounds very weird to me, but
> as long as I don't have to use it, I don't really mind.
> 
> I understand that if you have only .dsc at hand, you need to know
> which chroot to use. So make -c mandatory if -d is not given, and
> the problem is solved.

This would indeed solve the problem.  The main issue preventing this
would be the breaking of interface backward compatibility for sbuild
users.

> >Once a .changes is accepted, we could only permit setting the
> >distribution in buildd mode.
> 
> Why? Auto-detecting distribution is good, but what's wrong with an
> option to set it manually?

Is there ever a legitimate use for this?  That is, uploading to
Debian a package where the distribution in the .changes does not
match the one in debian/changelog?  Or even when building for local
use?

The -d option currently serves two roles:
• overriding of the distribution in the .changes
• selecting the build chroot

I would argue that the former is only required on the buildds,
but nowadays we're using schroot and even this is tenuous--it's
easy to add aliases for e.g. stable-proposed-updates for stable
etc.  The selection of the build chroot just provides a default
chroot to use if --chroot it's used to manually specify one.

It would certainly be possible to alter -d to only do the latter
when not in buildd mode, and potentially disable entirely should
the consensus be to do so.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.




Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 23 18:07:47 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.