Hi! This is an update to catch up on dpkg development for the 1.16.x series, with a broad summary of new features (mostly interface additions; see the man pages for further information) or very significant changes since the last announce [A], covering up to dpkg 1.16.2. There will be a followup post covering the 1.17.x series and other general updates, split to avoid an overwhelmingly long post and to ease future references. [A] <https://lists.debian.org/debian-devel-announce/2012/03/msg00005.html> dpkg 1.16.x (Debian Wheezy) =========== General changes ~~~~~~~~~~~~~~~ Next upload ----------- There are several changes queued for a prospective 1.16.16 upload in the «next/1.16.x» branch in <https://anonscm.debian.org/cgit/dpkg/dpkg.git>. But before requesting a stable update to the SRM, I would appreciate some more testing, particularly on the OpenVZ workaround for start-stop-daemon, even though these changes have been in the 1.17.x branch for a while (currently in Jessie/Sid). Portability ----------- * Remove assumptions of filesystem layout in the code base: - Do not assume existence of system pathnames in the test suite. - Do not hardcode program absolute pathnames in Perl and C code. * Several fixes to the internal function compatibility replacement library. * Fix build failures on Mac OS X. * Fix dpkg bootstrapping builds, by making dpkg-architecture only compute the values that it needs (the dpkg build system only uses the host architecture, for which dpkg itself is not required). This is relevant for new ports or non-dpkg-based systems. Changes in dpkg.deb ~~~~~~~~~~~~~~~~~~~ Architectures ------------- * New CPUs: any-arm64. * New GNU/Linux systems: x32. * New Atari MiNT systems: mint-m68k. Triggers -------- * Always activate all path components for file triggers. dpkg-deb -------- * New option -S to specify the compression strategy, with values “none”, and “extreme” for xz. * Treat compression level independently for each backend. This has the effect of changing the current behaviour for level 0 on all compressors except gzip. * Deprecate lzma as a -Z compressor. * Switch from xz-utils to liblzma to handle .xz and .lzma compressed files. dpkg-split ---------- * The minor deb-split(5) format version number is now ignored in the same way as done for deb(5). * Now honors DPKG_ADMINDIR. dpkg-query ---------- * New virtual fields binary:Package, binary:Summary, db:Status-Abbrev, source:Package and source:Version. * Do not load the available file by default anymore, there is a new --load-avail option for the old behavior. * New --control-list and --control-show commands, to replace the now discouraged --control-path. * The --list command now prints an architecture column. dpkg-divert ----------- * More stringent command-line argument checks. * Ignore request to rename a file owned by the diverting package on «--add --rename». dpkg ---- * New database sanity checks performed by --audit on missing md5sums and file list files. * Generate md5sum digests on unpack if the control file is missing from the binary package. * Mark not-installed non-arch-qualified selections for removal. * Only allow setting selections via «dpkg --set-selections» for known packages (i.e. those present in either the status or available files). * Relax --merge-avail Packages file parser to not fail on bogus versions. update-alternatives ------------------- * More stringent command-line argument checks. * Print master and slave alternative link names in --query. * Always print alternative link in --config. start-stop-daemon ----------------- * Many portability fixes on GNU/Hurd, FreeBSD, NetBSD, OpenBSD and Solaris. - Make --name and --exec more reliable there. * Do not follow symlinks when creating pidfiles with --pidfile. * New -C, --no-close option. Changes in libdpkg-perl.deb ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Perl Modules ------------ * Add support for Build-Depends-Arch and Build-Conflicts-Arch. * Add support for ‘binary-only’ key-value in changelog header, to allow to semantically mark entries as part of a binNMU. * Add support for specific arch-qualified dependencies, such as «pkgname:amd64 (>= 1.0)». * Add support for “:native” arch-qualified build dependencies. * Several API changes, see the CHANGES man page section for the relevant modules. Changes in dpkg-dev.deb ~~~~~~~~~~~~~~~~~~~~~~~ Documentation ------------- * New man pages: deb-origin(5), deb-src-control(5). * Move the alternative changelog formats documentation from the “Debian Policy Manual” to dpkg-parsechangelog(1). * New frontend.txt describing interfaces to use by packaging frontends. dpkg-source ----------- * New --no-unapply-patches option. * The --after-build command now automatically unapplies patches that where applied during --before-build. * Now can also use «debian/source/local-patch-header» instead of «debian/source/patch-header». dpkg-checkbuilddeps ------------------- * New -A option to ignore Build-Depends-Arch and Build-Conflicts-Arch. dpkg-gencontrol & dpkg-distaddfile ---------------------------------- * Acquire a lock on «debian/control» before updating «debian/files» to avoid simultaneous updates. dpkg-buildflags --------------- * New --query-features command. * New --status command. * The preprocessor flag “-D_FORTIFY_SOURCE=2” is now emitted in CPPFLAGS. * Disable “bindnow” (full relro) if “relro” is not enabled. dpkg-buildpackage ----------------- * When building arch-indep packages (with -A) the «*.changes» filename uses ‘all’ as the architecture. * Uses ‘build-arch’ (for -B) and ‘build-indep’ (for -A) targets when available, but fallbacks for now to use the ‘build’ target. * Drop PGP interface support, only GnuPG is supported now. dpkg-scanpackages ----------------- * Remove obsolete --udeb option, replaced with the generic --type. Thanks, Guillem
Attachment:
signature.asc
Description: Digital signature