+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

Reply via email to