+1, this would also be useful for bootstrapping compilers. step 1. version 1-1, include a orig-bootstrap.tar.gz and upload this
step 2. version 1-2, don't include orig-bootstrap, and add a build-depend on version 1-1. But now when I run "dpkg-source -b" it will pick up orig-bootstrap automatically and there is no easy way to prevent this. (Yes I can rm/mv orig-bootstrap, but this makes it harder to rebuild version 1-1 later, e.g. to check the reproducibility of its build.) I support the naming of debian/source/components and in fact I thought this would be a good name even before I saw this bug report. I'd suggest the following behaviour: A. If debian/source/components exists with contents "$x[0]\n$x[1]\n..$x[n]\n", then "dpkg-source" should expect to see ../$src_$version.orig-$x[i].tar.* for i = [0..n], and fail if these files are not found. Any extra component files should be not used, but dpkg-source should simply print a warning and not fail. B. If debian/source/components does not exist, then stick with the current behaviour (i.e. use all component tarballs that actually exist in the parent directory). X On Fri, 9 Apr 2010 20:08:42 +0200 Rene Engelhard <r...@debian.org> wrote: > Package: dpkg-dev > Version: 1.15.5.6 > Severity: normal > > Hi, > > openoffice.org 3.2.0-6 contains three .orig-component.tar.gzs: > > - ooo-build-3-2-0-9 > - ext-sources-ooo-build-3-2-0-9 > - translation-updates-translation-updates-20100219 > > this matches the ooo-build 3.2.0.9 release. Now I am going to update > to the ooo-build 3.2.0.10 release and did the following: > > - create new .orig-*ooo-build-3-0-10.tar.gz > - remove old ooo-build-3-2-0-9 in the tree > - update debian/source/components [1] > > OK, let's look what then happens when building: > > (sorry, german, but should be understandable): > > dpkg-source -i -b openoffice.org-3.2.0 > dpkg-source: Information: verwende Quellformat »3.0 (quilt)« > dpkg-source: Information: baue openoffice.org unter Benutzung des > existierenden > ./openoffice.org_3.2.0.orig-ext-sources-ooo-build-3-2-0-10.tar.gz > ./openoffice.org_3.2.0.orig-ext-sources-ooo-build-3-2-0-9.tar.gz > ./openoffice.org_3.2.0.orig-ooo-build-3-2-0-10.tar.gz > ./openoffice.org_3.2.0.orig-ooo-build-3-2-0-9.tar.gz > ./openoffice.org_3.2.0.orig-translation-updates-20100219.tar.gz > ./openoffice.org_3.2.0.orig.tar.gz > [...] > > It even complains about the removal of ooo-build-3-2-0-9 and that it'll > be ignored. > > So it's somehow thinking it still should include *ooo-build-3-2-0-9? Why? > Because the .dsc of an old build references it? The dir is completely gone > from the tree and debian/source/components does not have it either. > > The only way to get a sane .changes/.dsc (ok, for upload I need to edit > the main .orig.tar.gz out of the changes after building with -sa) is now > to delete those files/move them away. > > I think dpkg should > - not think stuff should be included when the *whole toplevel dir* of > that component is gone > - maybe honour debian/source/components [1] > except of grabbing not used tarballs anymore. > > Regards, > > Rene > > [1] Yes, I know debian/source/components is not officially handled by dpkg. > But > I added it in the thought that it was (and I needed a file where the names > are recorded anyways). In this case it'd have immensively helped if dpkg > knew it though because then dpkg can be sure that everything what *should* > be included is mentioned in that file. > > -- System Information: > Debian Release: squeeze/sid > APT prefers unstable > APT policy: (500, 'unstable'), (1, 'experimental') > Architecture: amd64 (x86_64) -- GPG: ed25519/56034877E1F87C35 GPG: rsa4096/1318EFAC5FBBDBCE https://github.com/infinity0/pubkeys.git