Re: Entries in Packages files that lack a Source field
Bill Allombert <firstname.lastname@example.org> writes:
> On Thu, May 19, 2005 at 07:34:46PM +0200, Jeroen van Wolffelaar wrote:
>> On Thu, May 19, 2005 at 12:18:55PM +0200, Goswin von Brederlow wrote:
>> > The detection of binary NMUs is currently, among others, using the
>> > debian version of a package and guessing from its form. What is a
>> > binary NMU and what not is not aparent from the Packages file. It has
>> > been suggested to insert Source: entries pointing to the original
>> > source of an binary NMU instead.
>> That should probably happen regardless, and is because dpkg doesn't have
>> the proper support for it. It's independent of whether to add Source:
>> lines when unneeded in any other case. If you bin-NMU, you *are*
>> building from a source called -N.0.1, because you changed the changelog.
>> dpkg-dev could have some means to build with different version number
>> from the same source package, or any other (probably a bit hacky) way to
>> achieve this.
> I am not sure it is relevant, but dpkg-dev already support binary
> packages having a different version than the source packages, by
> adding a Version field to debian/control.
> There is at least one package that use this facility: olvwm:
> Package: olvwm
> Architecture: i386
> Source: xview (3.2p1.4-19)
> Version: 188.8.131.52p1.4-19
> So we could have for binNMU:
> Source: foo (1-1)
> Version: 1-1.0.1
> It is possible to do that with current dpkg-dev by
> 1) not adding a new version field to the changelog, add any comment to
> the last one (the maintainer one).
> 2) add a Version field to debian/control with the .0.1 version.
> Bill. <email@example.com>
That is sort of the idea but in a cleaner way. The idea was, iirc, to
add an option to dpkg-buildpackage for binary-NMU that getts passed
down to dpkg-gencontrol and adds Source: foo (1-1) for Version:
1-1.0.1, automatically cuting away the bin-NMU revision.
The DAK can then accept them the normal way (as the right source
version already exists in archive) and reject any bin-NMUs without
this (as their source will be seen as missing).
apt-ftparchive, dpkg-scanpackage, whatever tool will automatically do
the right thing too.
A further idea was to have e.g. "dpkg-buildpackage --binary-nmu
'reason for doing this'" that will automatically add the changelog
entry for the binary-nmu with the given reason and build with the