Now that dpkg 1.7.0 has hit unstable and I fixed the first bad bugs in 1.7.1 (in Incoming right now) it it is probably time to introduce the important new features to those of you who haven't been following debian-dpkg this year. I will update the packaging-manual later this month.
Remember: if you rely on any of these features you will need to add a (Build-)Depend to your package. origin and BTS info ------------------- dpkg now supports two new fields in debian/control: Origin and Bugs. These two fields can be used to state which vendor created a package, and where bugreports should be sent to. The bugs info in debian/control is a fallback in case /etc/dpkg/origins/xxx does not exist. This means that bugs information can be overriden in a central location. This should mostly be of interest to people like Stormix, HelixCode, Corel, etc.: they need to add a /etc/dpkg/origins/ file to a central package and put the right tags in their debian/control files. The bugreporting packages also need to be updated to read this new information and use it. statoverrides ------------- For a while now you were able to specify ownership and file modes for certain files using suidregister. This approach had several problems with this approach: it can only be used of the package supports it, and only for a few files, and there is a window between the time a file is unpacked and the postinst is run during which the file mode and ownership have the default value. dpkg 1.7 fixes this by adding a new feature called statoverrides which implements this functionality in dpkg itself, and adds a new tool called dpkg-statoverride to manage the list of overides. We need to have an upgrade path from suidmanager to statoverrides. At this moment we don't have that yet; I'm considering adding some magic to dpkg 1.7.2 to make it convert the settings from suidmanager into statoverides and ake dpkg conflict with suidmanager. Packages will need to be updates to use dpkg-statoverride instead in their maintainer scripts. dpkg-shlibdeps -------------- dpkg-shlibdeps has been partially reimplemented and should work a lot better new, albeit more slowly. The new code uses objdump instead of ldd to generate dependencies which gives you a much more accurate representation of what is really needed, and also fixes probems with needing to set LD_LIBRARY_PATH or fakeroot interfering. This does mean that maintainers will need to use dpkg-shlibdeps for both libraries and executables now. The method to look for packages providing the libraries has also been updated: dpkg-shlibdeps will now look at debian/**/DEBIAN/shlibs to see if another package provides a library that is being used. This should mean that in most cases shlibs.local is no longer needed. The search order was also fixed, and /etc/dpkg/shlibs.default and /etc/dpkg/shlibdes.override work as documented now. dpkg.cfg -------- Probably the least tested new feature. You can configure default options for dpkg in /etc/dpkg/dpkg.cfg now. Any commandline option can be put in there (without the leading - signs). dpkg-deb does file reordering ----------------------------- During unpacking of a package we need to extract the target of symlinks before the symlink itself to prevent some nasty problems. The way this was done is by making sure the target is created before the symlink so the ordering inside the package is correct. However this relied on specific behaviour of the filesystem the package is being built on which does not necessarily hold for all UNIX filesystems, and most noticably not for filesystems like reiserfs that use hashes to index directories. This trick is no longer needed now: dpkg-deb reorders the files when it creates a package so the maintainer no longer needs to take care of this himself. Portability updates ------------------- The new version has some fixes that make it easier to compile dpkg on non-Linux systems. Most noticably it should build without problems on HURD now. Source-only uploads ------------------- With the growing number of autobuilders one might choose to only upload sources. dpkg-buildpackage and dpkg-genchanges support this now with a new -S flag. Bugfixes -------- A bunch of suble and not so subtle bugs have been fixed, and probably a number of new and interesting bugs have been introduced. You have been warned. Wichert. -- ________________________________________________________________ / Generally uninteresting signature - ignore at your convenience \ | [EMAIL PROTECTED] http://www.liacs.nl/~wichert/ | | 1024D/2FA3BC2D 576E 100B 518D 2F16 36B0 2805 3CB8 9250 2FA3 BC2D |

