NMUs of native packages have always seemed sorta strange to me, and I think I've figured out why as I was painting a room. Painting is a great way to think, since you already are in a frame of mind that avoids painting yourself into corners. ;-)
Many native packages are not Debian-specifc software, but instead debian-originated software (examples: dpkg, apt). Other unrelated distros might choose to use native Debian software. Just because it's debian-originated software, doesn't mean that the project as a whole is its "upsteam" maintainer though. Its Debian maintainer is the only upstream maintainer. So shouldn't he be the only one who releases new tarballs of the software? The developer's reference doesn't specify whether a NMU of a native package should include a release of a new tarball, or not. I suspect that if NMUed native packages in the archive are checked, some of the uploads will have included a -0.1.tar.gz, and some will have included a -0.1.diff.gz. dpkg-source can generate either depending on what tarballs are present before the build. Releasing a new tarball of a native package via an NMU is especially problimatic since the package might have its own website, mailing lists, and release procedures outside of Debian. So why do it when a .diff.gz can be released instead? And if a native package changes to having a .diff.gz and a version number with a dash, why consider it native anymore? Indeed, linda doesn't, warning "Package switches from native to non-native version number." [1] We could do away with the concept of NMUs of native software, and do away with this uncertanty, ambiguity, bugginess, etc. Simply say that when a NMU of a native package is done, the package stops being native in Debian (until the next maintainer upload, presumably). So the NMU adds "-0.1" to the version number, like any NMU. The .orig.tar.gz from the maintainer's last release is kept in the archive, with a .diff.gz added that conveniently contains only the NMU's changes. Since it's not a native package, it will be correct for the changelog to be installed as changelog.Debian.gz, and correct for the version number to contain a dash. It's even possible to interpret what the developer's reference says in this light. After all, it says that the NMU should add "-0.1" to the version number. But it doesn't say that this means that the package is still native! -- see shy jo [1] Note that linda is another in the set of tools that consider a version number with a dash in it to be non-native.. def is_native(self): native = False if not self.revision: native = True return native
signature.asc
Description: Digital signature