[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Ubuntu (new upstream) dpkg 1.14.20ubuntu1



This e-mail has been sent due to an upload to Ubuntu of a new upstream
version which still contains Ubuntu changes.  It contains the difference
between the Ubuntu version and the equivalent base version in Debian, note
that this difference may include the upstream changes.
Format: 1.7
Date: Thu, 26 Jun 2008 13:07:53 +0100
Source: dpkg
Binary: dpkg dselect dpkg-dev
Architecture: source
Version: 1.14.20ubuntu1
Distribution: intrepid
Urgency: low
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Changed-By: Colin Watson <cjwatson@ubuntu.com>
Description: 
 dpkg       - Debian package management system
 dpkg-dev   - Debian package development tools
 dselect    - Debian package management front-end
Closes: 383448 469033 476973 480626 481043 481043 481199 483143 483441 484002 486323
Changes: 
 dpkg (1.14.20ubuntu1) intrepid; urgency=low
 .
   * Resynchronise with Debian. Remaining changes:
     Ubuntu-specific adjustments (probably):
     - Use i686 for lpia in cputable and triplettable.
     - Hack Dpkg::Arch to return i686 for lpia.
     - Pre-depend on lzma.
     - Move various Conflicts to Breaks, since upgrades from stable Ubuntu
       releases support Breaks.
     - Rename triggers/Deferred to triggers/Unincorp to fix upgrades from
       early versions of trigger support in Ubuntu.
 .
     Miscellaneous bug fixes:
     - Avoid closing fsys tarfile pipe twice even in normal operation -
       normally EBADF but might sometimes close some other desired fd and
       cause hideous doom.
     - Avoid duplicate attempts to [f]close in obscure error situations which
       might conceiveably close wrong fds.
     - Add a few more comments around obscure bits of trigger handling code
       which confused both me and Ian during the merge.
     - Revert change to stop outputting a newline after a postinst is run
       (Debian bug #392317).
     - Use the two-arg form of open in Dpkg::Control so that "-" can be
       passed to parse stdin as a control file.
 .
     Launchpad integration:
     - Implement changelog-closes-bugs for Ubuntu (see
       https://wiki.ubuntu.com/ClosingBugsFromChangelog).
     - Add Launchpad-Bugs-Fixed to dpkg-genchanges too, to make it not
       complain about unknown fields.
 .
     DebianMaintainerField:
     - scripts/dpkg-source.pl: Check that debian/control complies with
       https://wiki.ubuntu.com/DebianMaintainerField: If $DEBEMAIL contains
       'ubuntu', refuse to build a source package if we have an Ubuntu
       version number, but Maintainer: is not an Ubuntu address. Output a
       warning if there is no XSBC-Original-Maintainer: field for packages
       with an Ubuntu version number.
 .
     DistCompilerFlags:
     - Point to https://wiki.ubuntu.com/DistCompilerFlags from
       dpkg-buildpackage(1).
     - Set default LDFLAGS to -Wl,-Bsymbolic-functions. (We've already taken
       this hit in Ubuntu.)
 .
 dpkg (1.14.20) unstable; urgency=low
 .
   [ Guillem Jover ]
   * Change UTF-8 '©' to '(C)' in deb-version.5 (unfuzzy translations).
   * Document --force-breaks in 'dpkg --force-help' output.
   * Document triggers --debug values in dpkg.1. Thanks to Sven Joachim.
   * Improve package descriptions for dpkg, dpkg-dev and dselect.
     Thanks to Justin B Rye for the review and corrections. Closes: #484002
   * When dpkg-divert does renames do no check the target file if the source
     does not exist and the rename is thus being disabled. This also allows
     to remove bogus diversions. Closes: #476973, #469033
   * Properly close triggers 'File' file, so it does not get leaked to childs.
 .
   [ Raphael Hertzog ]
   * Add missing 'use File::Path' in Dpkg::Source::Package::V3::quilt.
   * Use debian/patches/debian-changes-<version> (without the trailing ".diff")
     as default name for the automatic patch created by the format "3.0
     (quilt)". This ensures a saner cohabitation with patch systems that
     apply all of debian/patches/*.{diff,patch}.
   * Improve patch parser to accept more patches that are accepted by patch
     itself.
   * Correctly skip comments in quilt series files (concerns "3.0 (quilt)" source
     packages). Closes: #486323
   * The automatically created patches (in source package formats "2.0" and
     "3.0 (quilt)") will now contain "/dev/null" as previous filename when the
     patch creates a new file (instead of putting the same name).
   * Set PERL_DL_NONLZY to 1 in perl scripts that are likely to be called in
     package's configuration scripts to work around the perl bug #479711.
 .
   [ Helge Kreutzmann ]
   * Fix a typo in dselect.1.
 .
   [ Updated dpkg translations ]
   * Basque (Piarres Beobide). Closes: #481043
   * Brazilian Portuguese (Felipe Augusto van de Wiel).
   * Catalan (Jordi Mallach). Closes: #383448
   * Czech (Miroslav Kure).
   * Galician (Jacobo Tarrio). Closes: #483441
   * German (Sven Joachim).
   * Norwegian Bokmal (Hans Fredrik Nordhaug). Closes: #480626
   * Polish (Wiktor Wandachowicz).
   * Simplified Chinese (Deng Xiyue). Closes: #483143
   * Swedish (Peter Karlsson).
   * Vietnamese (Clytie Siddall). Closes: #481199
 .
   [ Updated manpages translations ]
   * German (Helge Kreutzmann).
   * Polish (Wiktor Wandachowicz).
   * Swedish (Peter Karlsson).
 .
   [ Updated scripts translations ]
   * French (Christian Perrier).
   * German (Helge Kreutzmann).
   * Polish (Wiktor Wandachowicz).
   * Russian (Yuri Kozlov).
   * Swedish (Peter Karlsson).
 .
   [ Updated programs translations ]
   * Basque (Piarres Beobide). Closes: #481043
   * French (Christian Perrier).
   * Polish (Wiktor Wandachowicz).
 .
   [ Updated dselect translations ]
   * Brazilian Portuguese (Felipe Augusto van de Wiel).
   * Polish (Wiktor Wandachowicz).
Files: 
 47d8a38939f6036cea6b39f8f3f1652d 1169 admin required dpkg_1.14.20ubuntu1.dsc
 6b7d5f3baece14a1ce0fdd54d92b8c4b 6669347 admin required dpkg_1.14.20ubuntu1.tar.gz
Original-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
diff -pruN 1.14.20/configure 1.14.20ubuntu1/configure
--- 1.14.20/configure	2008-06-18 08:37:35.000000000 +0100
+++ 1.14.20ubuntu1/configure	2008-06-26 13:06:51.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for dpkg 1.14.20.
+# Generated by GNU Autoconf 2.61 for dpkg 1.14.20ubuntu1.
 #
 # Report bugs to <debian-dpkg@lists.debian.org>.
 #
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='dpkg'
 PACKAGE_TARNAME='dpkg'
-PACKAGE_VERSION='1.14.20'
-PACKAGE_STRING='dpkg 1.14.20'
+PACKAGE_VERSION='1.14.20ubuntu1'
+PACKAGE_STRING='dpkg 1.14.20ubuntu1'
 PACKAGE_BUGREPORT='debian-dpkg@lists.debian.org'
 
 ac_unique_file="lib/dpkg.h"
@@ -1275,7 +1275,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures dpkg 1.14.20 to adapt to many kinds of systems.
+\`configure' configures dpkg 1.14.20ubuntu1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1346,7 +1346,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of dpkg 1.14.20:";;
+     short | recursive ) echo "Configuration of dpkg 1.14.20ubuntu1:";;
    esac
   cat <<\_ACEOF
 
@@ -1465,7 +1465,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-dpkg configure 1.14.20
+dpkg configure 1.14.20ubuntu1
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1479,7 +1479,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by dpkg $as_me 1.14.20, which was
+It was created by dpkg $as_me 1.14.20ubuntu1, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2364,7 +2364,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='dpkg'
- VERSION='1.14.20'
+ VERSION='1.14.20ubuntu1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12593,7 +12593,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by dpkg $as_me 1.14.20, which was
+This file was extended by dpkg $as_me 1.14.20ubuntu1, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12646,7 +12646,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-dpkg config.status 1.14.20
+dpkg config.status 1.14.20ubuntu1
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -pruN 1.14.20/configure.ac 1.14.20ubuntu1/configure.ac
--- 1.14.20/configure.ac	2008-06-18 08:34:50.000000000 +0100
+++ 1.14.20ubuntu1/configure.ac	2008-06-26 13:06:51.000000000 +0100
@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT([dpkg], [1.14.20], [debian-dpkg@lists.debian.org])
+AC_INIT([dpkg], [1.14.20ubuntu1], [debian-dpkg@lists.debian.org])
 AC_CONFIG_SRCDIR([lib/dpkg.h])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([config])
diff -pruN 1.14.20/cputable 1.14.20ubuntu1/cputable
--- 1.14.20/cputable	2007-07-28 16:29:49.000000000 +0100
+++ 1.14.20ubuntu1/cputable	2008-06-26 13:06:51.000000000 +0100
@@ -15,6 +15,7 @@
 #
 # <Debian name>	<GNU name>	<config.guess regex>
 i386		i486		(i[3456]86|pentium)
+i686		i686		(i[3456]86|pentium)
 ia64		ia64		ia64
 alpha		alpha		alpha.*
 amd64		x86_64		x86_64
diff -pruN 1.14.20/debian/archtable 1.14.20ubuntu1/debian/archtable
--- 1.14.20/debian/archtable	2007-07-28 16:29:49.000000000 +0100
+++ 1.14.20ubuntu1/debian/archtable	2008-06-26 13:06:51.000000000 +0100
@@ -13,6 +13,7 @@
 # 
 # <ignore>			<Debian name>
 i486-linux-gnu			i386
+i686-linux-gnulp		lpia
 ia64-linux-gnu			ia64
 alpha-linux-gnu			alpha
 x86_64-linux-gnu		amd64
diff -pruN 1.14.20/debian/changelog 1.14.20ubuntu1/debian/changelog
--- 1.14.20/debian/changelog	2008-06-18 08:34:13.000000000 +0100
+++ 1.14.20ubuntu1/debian/changelog	2008-06-26 13:07:58.000000000 +0100
@@ -1,3 +1,50 @@
+dpkg (1.14.20ubuntu1) intrepid; urgency=low
+
+  * Resynchronise with Debian. Remaining changes:
+    Ubuntu-specific adjustments (probably):
+    - Use i686 for lpia in cputable and triplettable.
+    - Hack Dpkg::Arch to return i686 for lpia.
+    - Pre-depend on lzma.
+    - Move various Conflicts to Breaks, since upgrades from stable Ubuntu
+      releases support Breaks.
+    - Rename triggers/Deferred to triggers/Unincorp to fix upgrades from
+      early versions of trigger support in Ubuntu.
+
+    Miscellaneous bug fixes:
+    - Avoid closing fsys tarfile pipe twice even in normal operation -
+      normally EBADF but might sometimes close some other desired fd and
+      cause hideous doom.
+    - Avoid duplicate attempts to [f]close in obscure error situations which
+      might conceiveably close wrong fds.
+    - Add a few more comments around obscure bits of trigger handling code
+      which confused both me and Ian during the merge.
+    - Revert change to stop outputting a newline after a postinst is run
+      (Debian bug #392317).
+    - Use the two-arg form of open in Dpkg::Control so that "-" can be
+      passed to parse stdin as a control file.
+
+    Launchpad integration:
+    - Implement changelog-closes-bugs for Ubuntu (see
+      https://wiki.ubuntu.com/ClosingBugsFromChangelog).
+    - Add Launchpad-Bugs-Fixed to dpkg-genchanges too, to make it not
+      complain about unknown fields.
+
+    DebianMaintainerField:
+    - scripts/dpkg-source.pl: Check that debian/control complies with
+      https://wiki.ubuntu.com/DebianMaintainerField: If $DEBEMAIL contains
+      'ubuntu', refuse to build a source package if we have an Ubuntu
+      version number, but Maintainer: is not an Ubuntu address. Output a
+      warning if there is no XSBC-Original-Maintainer: field for packages
+      with an Ubuntu version number.
+
+    DistCompilerFlags:
+    - Point to https://wiki.ubuntu.com/DistCompilerFlags from
+      dpkg-buildpackage(1).
+    - Set default LDFLAGS to -Wl,-Bsymbolic-functions. (We've already taken
+      this hit in Ubuntu.)
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 26 Jun 2008 13:07:53 +0100
+
 dpkg (1.14.20) unstable; urgency=low
 
   [ Guillem Jover ]
@@ -66,6 +113,61 @@ dpkg (1.14.20) unstable; urgency=low
 
  -- Raphael Hertzog <hertzog@debian.org>  Wed, 18 Jun 2008 09:33:54 +0200
 
+dpkg (1.14.19ubuntu2) intrepid; urgency=low
+
+  * scripts/dpkg-source.pl: Check if $DEBEMAIL is defined before testing it
+    for @ubuntu, to avoid Perl warnings. Thanks to Fabien Tassin!
+    (LP: #133024)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Mon, 09 Jun 2008 09:51:08 +0000
+
+dpkg (1.14.19ubuntu1) intrepid; urgency=low
+
+  * Resynchronise with Debian. Remaining changes:
+    Ubuntu-specific adjustments (probably):
+    - Use i686 for lpia in cputable and triplettable.
+    - Hack Dpkg::Arch to return i686 for lpia.
+    - Pre-depend on lzma.
+    - Move various Conflicts to Breaks, since upgrades from stable Ubuntu
+      releases support Breaks.
+    - Rename triggers/Deferred to triggers/Unincorp to fix upgrades from
+      early versions of trigger support in Ubuntu.
+
+    Miscellaneous bug fixes:
+    - Avoid closing fsys tarfile pipe twice even in normal operation -
+      normally EBADF but might sometimes close some other desired fd and
+      cause hideous doom.
+    - Avoid duplicate attempts to [f]close in obscure error situations which
+      might conceiveably close wrong fds.
+    - Add a few more comments around obscure bits of trigger handling code
+      which confused both me and Ian during the merge.
+    - Revert change to stop outputting a newline after a postinst is run
+      (Debian bug #392317).
+    - Use the two-arg form of open in Dpkg::Control so that "-" can be
+      passed to parse stdin as a control file.
+
+    Launchpad integration:
+    - Implement changelog-closes-bugs for Ubuntu (see
+      https://wiki.ubuntu.com/ClosingBugsFromChangelog).
+    - Add Launchpad-Bugs-Fixed to dpkg-genchanges too, to make it not
+      complain about unknown fields.
+
+    DebianMaintainerField:
+    - scripts/dpkg-source.pl: Check that debian/control complies with
+      https://wiki.ubuntu.com/DebianMaintainerField: If $DEBEMAIL contains
+      'ubuntu', refuse to build a source package if we have an Ubuntu
+      version number, but Maintainer: is not an Ubuntu address. Output a
+      warning if there is no XSBC-Original-Maintainer: field for packages
+      with an Ubuntu version number.
+
+    DistCompilerFlags:
+    - Point to https://wiki.ubuntu.com/DistCompilerFlags from
+      dpkg-buildpackage(1).
+    - Set default LDFLAGS to -Wl,-Bsymbolic-functions. (We've already taken
+      this hit in Ubuntu.)
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Tue, 27 May 2008 13:15:16 +0100
+
 dpkg (1.14.19) unstable; urgency=low
 
   [ Guillem Jover ]
@@ -148,6 +250,53 @@ dpkg (1.14.19) unstable; urgency=low
 
  -- Guillem Jover <guillem@debian.org>  Mon, 12 May 2008 08:33:07 +0300
 
+dpkg (1.14.18ubuntu1) intrepid; urgency=low
+
+  * Resynchronise with Debian. Remaining changes:
+    Ubuntu-specific adjustments (probably):
+    - Use i686 for lpia in cputable and triplettable.
+    - Hack Dpkg::Arch to return i686 for lpia.
+    - Pre-depend on lzma.
+    - Move various Conflicts to Breaks, since upgrades from stable Ubuntu
+      releases support Breaks.
+    - Rename triggers/Deferred to triggers/Unincorp to fix upgrades from
+      early versions of trigger support in Ubuntu.
+
+    Miscellaneous bug fixes:
+    - Avoid closing fsys tarfile pipe twice even in normal operation -
+      normally EBADF but might sometimes close some other desired fd and
+      cause hideous doom.
+    - Avoid duplicate attempts to [f]close in obscure error situations which
+      might conceiveably close wrong fds.
+    - Add a few more comments around obscure bits of trigger handling code
+      which confused both me and Ian during the merge.
+    - Revert change to stop outputting a newline after a postinst is run
+      (Debian bug #392317).
+    - Use the two-arg form of open in Dpkg::Control so that "-" can be
+      passed to parse stdin as a control file.
+
+    Launchpad integration:
+    - Implement changelog-closes-bugs for Ubuntu (see
+      https://wiki.ubuntu.com/ClosingBugsFromChangelog).
+    - Add Launchpad-Bugs-Fixed to dpkg-genchanges too, to make it not
+      complain about unknown fields.
+
+    DebianMaintainerField:
+    - scripts/dpkg-source.pl: Check that debian/control complies with
+      https://wiki.ubuntu.com/DebianMaintainerField: If $DEBEMAIL contains
+      'ubuntu', refuse to build a source package if we have an Ubuntu
+      version number, but Maintainer: is not an Ubuntu address. Output a
+      warning if there is no XSBC-Original-Maintainer: field for packages
+      with an Ubuntu version number.
+
+    DistCompilerFlags:
+    - Point to https://wiki.ubuntu.com/DistCompilerFlags from
+      dpkg-buildpackage(1).
+    - Set default LDFLAGS to -Wl,-Bsymbolic-functions. (We've already taken
+      this hit in Ubuntu.)
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Tue, 27 May 2008 10:56:03 +0100
+
 dpkg (1.14.18) unstable; urgency=low
 
   [ Guillem Jover ]
@@ -374,6 +523,106 @@ dpkg (1.14.17) experimental; urgency=low
 
  -- Guillem Jover <guillem@debian.org>  Sun, 30 Mar 2008 12:48:22 +0300
 
+dpkg (1.14.16.6ubuntu3) hardy; urgency=low
+
+  [ Stephan Hermann ]
+  * Re-Introduced the "Description" field in *_source.changes files, according
+    to Debian Policy.
+    This was removed during 1.14.16.6 upload and will be reintroduced in
+    1.14.17
+    Changes were taken from debians dpkg git Thx to Raphael Herzog for
+    pointing this out
+
+  [ Soren Hansen ]
+  * Remove NO_PKG_MANGLE to re-enable building of dpkg ddeb's.
+
+ -- Soren Hansen <soren@ubuntu.com>  Wed, 13 Feb 2008 00:58:33 +0100
+
+dpkg (1.14.16.6ubuntu2) hardy; urgency=low
+
+  * Fix wrong call to open in Dpkg/Control.pm that makes using a different
+    control file than debian/control fail horribly.
+  * Pass NO_PKG_MANGLE environment variable to dh_strip to make this package
+    not ftbfs. When this is built, published and in the buildd's, we'll
+    reupload without this to regenerate dpkg-dbgsym and such.
+
+ -- Soren Hansen <soren@ubuntu.com>  Mon, 11 Feb 2008 23:41:04 +0100
+
+dpkg (1.14.16.6ubuntu1) hardy; urgency=low
+
+  [ Soren Hansen ]
+  * Merge from debian unstable, remaining changes:
+   - Add m_strdup to mlib.
+   - Use i686 for lpia in cputable and triplettable.
+   - Hack Dpkg::Arch to return i686 for lpia.
+   - tarfn.c:
+     + Avoid freeing uninitialised h.{Link,}Name (can cause crash if .deb
+       becomes unreadable while we start up).  (LP #138887)
+     + Use m_malloc instead of malloc (and ditch ad-hoc error handling).
+
+   Launchpad integration:
+   * Implement changelog-closes-bugs for Ubuntu (see
+     https://wiki.ubuntu.com/ClosingBugsFromChangelog).
+   * Add Launchpad-Bugs-Fixed to dpkg-genchanges too, to make it not
+     complain about unknown fields.
+
+   DebianMaintainerField:
+   * scripts/dpkg-source.pl: Check that debian/control complies to
+     https://wiki.ubuntu.com/DebianMaintainerField: Refuse to build a source
+     package if we have an Ubuntu version number, but Maintainer: is not an
+     Ubuntu address. Output a warning if there is no XSBC-Original-Maintainer:
+     field for packages with an Ubuntu version number.
+   * scripts/dpkg-source.pl: Only fail to build the source package if $DEBEMAIL
+     contains 'ubuntu'. If not, only print a warning.
+   * debian/control: Change Maintainer/XSBC-Original-Maintainer field.
+
+   Trigger support:
+   * Implement triggers as per
+     http://lists.debian.org/debian-dpkg/2007/04/msg00076.html (changes too
+     massive to enumerate here).
+   * Add "Breaks: apt (<< 0.7.6ubuntu6), aptitude (<< 0.4.6.1-1ubuntu2)", as
+     triggers add two extra states, which apt and aptitude before then do not
+     know about.
+   * An early version of trigger support caused LP #133172. To fix which
+     systems have had the broken version work we have to rename
+     triggers/Deferred to triggers/Unincorp.  The error messages, comments,
+     etc. will be improved later.
+
+   Status-fd changes:
+   * Changes to --status-fd and logging, motivated by the need to
+     fix apt's progress reporting in the presence of triggers (not introduced
+     in this version, but accidentally left out of previous merge's changelog
+     entry):
+    - Call log_action for trigger processing and configuration.
+    - Produce "processing:" output on --status-fd for start of
+      processing operations (from log_action).
+    - Consolidate clone-and-hack --status-fd output writing into
+      routine statusfd_send[v].
+    - Improve documentation of --status-fd output.
+    - Add log message at start of archivefiles() and packages()
+      (which will assist debugging).
+    - For upgrade, call log_message after printing to stderr,
+      as is done elsewhere.
+    - avoid closing fsys tarfile pipe twice even in normal
+      operation - normally EBADF but might sometimes close some other
+      desired fd and cause hideous doom.  (LP #137191)
+    - avoid duplicate attempts to [f]close in obscure error
+      situations which might conceiveably close wrong fds
+    - cast &fd to void* when passing to push_cleanup cu_closefd
+    - fix parse.c:parsedb to use ehflag_normaltidy in a sane way
+    - when passing &fd to push_cleanup cu_closefd, make fd always static
+      In the longer term --status-fd output ought probably to be made
+      identical to the log output which is richer and more sanely
+      formatted.
+  * New with this merge: Added test case for Launchpad-Bugs-Fixed.
+
+  [ Matthias Klose ]
+  * dpkg-buildpackage: Set a set of environment variables for setting
+    compiler and linker options, unless already set in the environment.
+    See https://wiki.ubuntu.com/DistCompilerFlags for the details.
+
+ -- Soren Hansen <soren@ubuntu.com>  Mon, 11 Feb 2008 16:42:49 +0100
+
 dpkg (1.14.16.6) unstable; urgency=medium
 
   * Let dpkg-gensymbols skip directories which are just symlinks when scanning
@@ -523,6 +772,74 @@ dpkg (1.14.16) unstable; urgency=low
 
  -- Guillem Jover <guillem@debian.org>  Mon, 21 Jan 2008 10:00:45 +0200
 
+dpkg (1.14.15ubuntu1) hardy; urgency=low
+
+  * Merge from debian unstable, remaining changes:
+   - Add m_strdup to mlib.
+   - Use i686 for lpia in cputable and triplettable.
+   - Hack Dpkg::Arch to return i686 for lpia.
+   - tarfn.c:
+     + Avoid freeing uninitialised h.{Link,}Name (can cause crash if .deb
+       becomes unreadable while we start up).  (LP #138887)
+     + Use m_malloc instead of malloc (and ditch ad-hoc error handling).
+
+   Launchpad integration:
+   * Implement changelog-closes-bugs for Ubuntu (see
+     https://wiki.ubuntu.com/ClosingBugsFromChangelog).
+   * Add Launchpad-Bugs-Fixed to dpkg-genchanges too, to make it not
+     complain about unknown fields.
+
+   DebianMaintainerField:
+   * scripts/dpkg-source.pl: Check that debian/control complies to
+     https://wiki.ubuntu.com/DebianMaintainerField: Refuse to build a source
+     package if we have an Ubuntu version number, but Maintainer: is not an
+     Ubuntu address. Output a warning if there is no XSBC-Original-Maintainer:
+     field for packages with an Ubuntu version number.
+   * scripts/dpkg-source.pl: Only fail to build the source package if $DEBEMAIL
+     contains 'ubuntu'. If not, only print a warning.
+   * debian/control: Change Maintainer/XSBC-Original-Maintainer field.
+
+   Trigger support:
+   * Implement triggers as per
+     http://lists.debian.org/debian-dpkg/2007/04/msg00076.html (changes too
+     massive to enumerate here).
+   * Add "Breaks: apt (<< 0.7.6ubuntu6), aptitude (<< 0.4.6.1-1ubuntu2)", as
+     triggers add two extra states, which apt and aptitude before then do not
+     know about.
+   * An early version of trigger support caused LP #133172. To fix which
+     systems have had the broken version work we have to rename
+     triggers/Deferred to triggers/Unincorp.  The error messages, comments,
+     etc. will be improved later.
+   
+   Status-fd changes:
+   * Changes to --status-fd and logging, motivated by the need to
+     fix apt's progress reporting in the presence of triggers (not introduced
+     in this version, but accidentally left out of previous merge's changelog
+     entry):
+    - Call log_action for trigger processing and configuration.
+    - Produce "processing:" output on --status-fd for start of
+      processing operations (from log_action).
+    - Consolidate clone-and-hack --status-fd output writing into
+      routine statusfd_send[v].
+    - Improve documentation of --status-fd output.
+    - Add log message at start of archivefiles() and packages()
+      (which will assist debugging).
+    - For upgrade, call log_message after printing to stderr,
+      as is done elsewhere.
+    - avoid closing fsys tarfile pipe twice even in normal
+      operation - normally EBADF but might sometimes close some other
+      desired fd and cause hideous doom.  (LP #137191)
+    - avoid duplicate attempts to [f]close in obscure error
+      situations which might conceiveably close wrong fds
+    - cast &fd to void* when passing to push_cleanup cu_closefd
+    - fix parse.c:parsedb to use ehflag_normaltidy in a sane way
+    - when passing &fd to push_cleanup cu_closefd, make fd always static
+    In the longer term --status-fd output ought probably to be made
+    identical to the log output which is richer and more sanely
+    formatted.
+
+ -- Soren Hansen <soren@ubuntu.com>  Mon, 14 Jan 2008 16:22:52 +0100
+
 dpkg (1.14.15) unstable; urgency=low
 
   [ Raphael Hertzog ]
@@ -670,6 +987,67 @@ dpkg (1.14.13) unstable; urgency=low
 
  -- Guillem Jover <guillem@debian.org>  Thu, 27 Dec 2007 09:16:45 +0200
 
+dpkg (1.14.12ubuntu4) hardy; urgency=low
+
+  * Cherry pick from current trunk:
+    - Fix dpkg-shlibdeps choosing bad symbols files when there are several
+      providing the same soname. LP: #177917.
+
+ -- Matthias Klose <doko@ubuntu.com>  Fri, 04 Jan 2008 08:33:24 +0000
+
+dpkg (1.14.12ubuntu3) hardy; urgency=low
+
+  * Move lzma from Suggests to Pre-Depends for dpkg.
+
+ -- Chris Cheney <ccheney@ubuntu.com>  Thu, 13 Dec 2007 17:10:09 -0600
+
+dpkg (1.14.12ubuntu2) hardy; urgency=low
+
+  * Cherry pick from current trunk:
+    - Included files in symbols files (via #include) do no more need to repeat
+      the header line. Closes: #455260
+    - scripts/Dpkg/Shlibs/SymbolFile.pm (merge_symbols): Do not update
+      the deprecated version of a a symbol if it is already marked deprecated.
+
+ -- Matthias Klose <doko@ubuntu.com>  Wed, 12 Dec 2007 08:37:22 +0000
+
+dpkg (1.14.12ubuntu1) hardy; urgency=low
+
+  * Merge from debian unstable, remaining changes:
+   - Add m_strdup to mlib (part of the fix for Debian #379028).
+   - Use i686 for lpia in cputable and triplettable.
+   - Hack Dpkg::Arch to return i686 for lpia
+
+   Launchpad integration:
+   * Implement changelog-closes-bugs for Ubuntu (see
+     https://wiki.ubuntu.com/ClosingBugsFromChangelog).
+   * Add Launchpad-Bugs-Fixed to dpkg-genchanges too, to make it not
+     complain about unknown fields.
+
+   DebianMaintainerField:
+   * scripts/dpkg-source.pl: Check that debian/control complies to
+     https://wiki.ubuntu.com/DebianMaintainerField: Refuse to build a source
+     package if we have an Ubuntu version number, but Maintainer: is not an
+     Ubuntu address. Output a warning if there is no XSBC-Original-Maintainer:
+     field for packages with an Ubuntu version number.
+   * scripts/dpkg-source.pl: Only fail to build the source package if $DEBEMAIL
+     contains 'ubuntu'. If not, only print a warning.
+   * debian/control: Change Maintainer/XSBC-Original-Maintainer field.
+
+   Trigger support:
+   * Implement triggers as per
+     http://lists.debian.org/debian-dpkg/2007/04/msg00076.html (changes too
+     massive to enumerate here).
+   * Add "Breaks: apt (<< 0.7.6ubuntu6), aptitude (<< 0.4.6.1-1ubuntu2)", as
+     triggers add two extra states, which apt and aptitude before then do not
+     know about.
+   * An early version of trigger support caused LP #133172. To fix which
+     systems have had the broken version work we have to rename
+     triggers/Deferred to triggers/Unincorp.  The error messages, comments,
+     etc. will be improved later.
+
+ -- Soren Hansen <soren@ubuntu.com>  Fri, 07 Dec 2007 10:45:12 +0100
+
 dpkg (1.14.12) unstable; urgency=low
 
   [ Raphael Hertzog ]
@@ -979,6 +1357,250 @@ dpkg (1.14.6) unstable; urgency=low
 
  -- Guillem Jover <guillem@debian.org>  Wed, 05 Sep 2007 07:36:02 +0300
 
+dpkg (1.14.5ubuntu16) gutsy; urgency=low
+
+  * Fix some portability problems revealed by compiler warnings:
+    - missing <dpkg.h> in tarfn.c, implicit declaration of m_malloc
+    - missing cast for %ld ohshite at info.c:98
+    - unused yyunput (missing %option nounput) in trigdeferred.l
+
+ -- Ian Jackson <iwj@ubuntu.com>  Fri, 21 Sep 2007 19:03:36 +0100
+
+dpkg (1.14.5ubuntu15) gutsy; urgency=low
+
+  * Bugfixes to fd cleanup handling:
+    - avoid closing fsys tarfile pipe twice even in normal
+      operation - normally EBADF but might sometimes close some other
+      desired fd and cause hideous doom.  (LP: #137191.)
+    - avoid duplicate attempts to [f]close in obscure error
+      situations which might conceiveably close wrong fds
+    - cast &fd to void* when passing to push_cleanup cu_closefd
+    - fix parse.c:parsedb to use ehflag_normaltidy in a sane way
+    - when passing &fd to push_cleanup cu_closefd, make fd always static
+  * Bugfix in trigger deferred file processing: reset lexer start state
+    when calling yyrestart (has no effect except after parsing/reading
+    errors in the deferred file).
+  * Fix some error handling bugs in tarfn.c:
+    - Avoid freeing uninitialised h.[Link]Name (can cause crash if .deb
+      becomes unreadable while we start up).  (LP: #138887.)
+    - Use m_malloc instead of malloc (and ditch ad-hoc error handling).
+
+ -- Ian Jackson <iwj@ubuntu.com>  Thu, 20 Sep 2007 18:12:20 +0100
+
+dpkg (1.14.5ubuntu14) gutsy; urgency=low
+
+  * Change syntax of `processing:...' status fd outputs so
+    as to avoid crashing apt's lame parser.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Tue, 18 Sep 2007 17:14:31 +0100
+
+dpkg (1.14.5ubuntu13) gutsy; urgency=low
+
+  * Changes to --status-fd and logging, motivated by the need to
+    fix apt's progress reporting in the presence of triggers:
+    - Call log_action for trigger processing and configuration.
+    - Produce "processing:" output on --status-fd for start of
+      processing operations (from log_action).
+    - Consolidate clone-and-hack --status-fd output writing into
+      routine statusfd_send[v].
+    - Improve documentation of --status-fd output.
+    - Add log message at start of archivefiles() and packages()
+      (which will assist debugging).
+    - For upgrade, call log_message after printing to stderr,
+      as is done elsewhere.
+    In the longer term --status-fd output ought probably to be made
+    identical to the log output which is richer and more sanely
+    formatted.
+  
+ -- Ian Jackson <iwj@ubuntu.com>  Tue, 18 Sep 2007 14:13:07 +0100
+
+dpkg (1.14.5ubuntu12) gutsy; urgency=low
+
+  * Rerun autoconf so that version (as in DPKG_RUNNING_VERSION)
+    is 1.14.5ubuntu12.  This is needed for proper detection
+    of trigger capability by eg the ldconfig wrapper.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Thu, 06 Sep 2007 16:54:44 +0100
+
+dpkg (1.14.5ubuntu11) gutsy; urgency=low
+
+  * Breaks: enable Breaks processing in depisok
+    (Patch from Debian, buried in git 864201).
+
+ -- Ian Jackson <iwj@ubuntu.com>  Wed, 29 Aug 2007 15:10:50 +0100
+
+dpkg (1.14.5ubuntu10) gutsy; urgency=low
+  
+  Triggers improvements:
+  * Fix bug where diversions and triggers incorporated only on normal
+    error unwind from do_script (rather than on abnormal unwind).  The
+    effect of the bug was to temporarily disregard diversion changes made
+    by failing maintscripts and to erroneously suppress reflexive trigger
+    activations.
+  * Trigger cycle detection works properly: does not record details of
+    irrelevant packages, and prints error messages correctly and without
+    referencing uninitialised tcn->next.
+  * Provide DPKG_RUNNING_VERSION environment variable so that maintscripts
+    can know what features are going to work - in this case, whether
+    reflexive trigger activation will be honoured.
+  * New debugging flags and corresponding debug statements.
+  
+ -- Ian Jackson <iwj@ubuntu.com>  Fri, 24 Aug 2007 16:38:01 +0100
+
+dpkg (1.14.5ubuntu9) gutsy; urgency=low
+
+  * Triggers: Transitional interest recording works properly regardless
+    of the status of the interested package.  (LP: #133172.)
+    To fix systems which have had the broken version work we have to
+    rename triggers/Deferred to triggers/Unincorp.  The error
+    messages, comments, etc. will be improved later.
+  * Triggers: Make it possible for postinst of a package to trigger
+    itself.  (Thanks to Colin Watson for relevant discussions.)
+
+ -- Ian Jackson <iwj@ubuntu.com>  Tue, 21 Aug 2007 14:12:54 +0100
+
+dpkg (1.14.5ubuntu8) gutsy; urgency=low
+
+  * Really rerun automake and autoconf this time!
+
+ -- Ian Jackson <iwj@ubuntu.com>  Thu, 16 Aug 2007 17:59:19 +0100
+
+dpkg (1.14.5ubuntu7) gutsy; urgency=low
+
+  * Permit non-awaiting trigger activation.  (Helpful when T and U
+    both trigger I in their postinst and T depends on U but I's trigger
+    processing need not run as a result of U's postinst for T's benefit.)
+  * Correct sense of trigger processing deferral test.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Thu, 16 Aug 2007 16:56:40 +0100
+
+dpkg (1.14.5ubuntu6) gutsy; urgency=low
+
+  * Include dpkg-trigger in debian/dpkg.install.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Thu, 16 Aug 2007 15:53:32 +0100
+
+dpkg (1.14.5ubuntu5) gutsy; urgency=low
+
+  * Rerun automake and autoconf so that it can be built if
+    those are not installed.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Thu, 16 Aug 2007 15:41:58 +0100
+
+dpkg (1.14.5ubuntu4) gutsy; urgency=low
+
+  * Implementation of `triggers' feature.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Wed, 15 Aug 2007 20:23:10 +0100
+
+dpkg (1.14.5ubuntu3) gutsy; urgency=low
+
+  * The previous triplettable mangling still left us with a GNU_TYPE
+    of i486-linux-gnulp, which was suboptimal.  After mucking about
+    and coming to the conclusion that the current lookup tables just
+    weren't designed to handle two targets for the same CPU family,
+    implemented a hack in controllib.pl to DTRT for us for now.
+  * Add lpia to archtable for reference purposes and completeness.
+
+ -- Adam Conrad <adconrad@ubuntu.com>  Wed,  1 Aug 2007 12:11:40 +1000
+
+dpkg (1.14.5ubuntu2) gutsy; urgency=low
+
+  * Include mapping from gnulp-linux-i386 to lpia in triplettable
+    to ensure that dpkg-architecture.pl prints lpia during dpkg's
+    build so that dpkg --print-architecture prints lpia too.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Tue, 31 Jul 2007 15:47:04 +0100
+
+dpkg (1.14.5ubuntu1) gutsy; urgency=low
+
+  Merge from debian unstable, remaining changes follow:
+
+  Miscellaneous fixes:
+  * Don't consider it a file conflict if the package contains
+    a symlink to a directory where another package already contains the
+    same symlink/directory and the existing and new symlinks point to the
+    same place.  (Launchpad 22340, Debian #377682.)
+  * mlib contains m_strdup (part of the fix for Debian #379028).
+  * Fix formatting of these files:
+       lib/showpkg.c
+       lib/tarfn.c
+       src/configure.c
+       src/archives.c (function quote_filename only)
+    to conform to the rest of dpkg by running them through
+    expand -t2 (and in the last case using M-x indent-rigidly once).
+    As discussed on debian-dpkg.  Submitted upstream as Debian #375711.
+  * scripts/update-alternatives.pl: in the case where the slave is
+    inapplicable do not attempt to create the slave link before removing
+    it again.  This will help alleviate LP #84906 (vim upgrade problems)
+    and will generally make things slightly less fragile.  Debian #411699.
+  * mlib contains m_strdup (part of the fix for Debian #379028).
+  * Fix the uninitialized value in string ne at /usr/sbin/update-alternatives
+    line 602.  Thanks to Ubulette for this patch.  (LP: #118246)
+    Patch modified by iwj not to ignore lstat failures.
+  * Use i686 for lpia in cputable and triplettable.
+
+  Launchpad integration:
+  * Implement changelog-closes-bugs for Ubuntu (see
+    https://wiki.ubuntu.com/ClosingBugsFromChangelog).
+  * Add Launchpad-Bugs-Fixed to dpkg-genchanges too, to make it not
+    complain about unknown fields.
+
+  DebianMaintainerField:
+  * scripts/dpkg-source.pl: Check that debian/control complies to
+    https://wiki.ubuntu.com/DebianMaintainerField: Refuse to build a source
+    package if we have an Ubuntu version number, but Maintainer: is not an
+    Ubuntu address. Output a warning if there is no XSBC-Original-Maintainer:
+    field for packages with an Ubuntu version number.
+  * scripts/dpkg-source.pl: Only fail to build the source package if $DEBEMAIL
+    contains 'ubuntu'. If not, only print a warning.
+  * debian/control: Change Maintainer/XSBC-Original-Maintainer field.
+
+  Implementation of Breaks:
+  * References:
+     http://lists.debian.org/debian-devel/1997/10/msg00643.html
+     https://wiki.ubuntu.com/PackageDependencyFieldBreaks
+     Debian #379140.
+  * Manpages mention Breaks: deb-control.5, dpkg-query.1, dpkg.1.
+  * Support for Breaks in dpkg-source, dpkg-gencontrol et al.
+  * Support for Breaks in the code in dpkg.
+  * Breaks is ignored by dselect.
+  * Fix for Debian #378003 (multiple deconfigurations) is
+    mixed in with Breaks implementation.
+  * Declare Breaks against older dpkg-dev rather than Conflicts.
+  * Decisions made:
+    * Specifying Breaks: <virtual package> is fairly meaningless
+      without versioned Provides but to make versioned Provides easier
+      in the future we support it fully.
+    * We do not transitively deconfigure things when we deconfigure
+      due to Breaks, just as we don't do so when we deconfigure due
+      to removal due to Conflicts (see also Debian #378009).
+    * Just as for deconfiguration due to Conflicts, we don't deconfigure
+      Essential packages without --force-remove-essential.
+    * We aren't willing to deconfigure more than one package as a result
+      of a single element of a Breaks, just as we aren't willing to
+      remove more than one package as a result of a single element of
+      a Conflicts.  (Note that this can only occur due to virtual
+      packages so it can be worked around by specifying the individual
+      real packages instead.)
+    * We're happy to deconfigure a package that's on hold even if
+      afterwards, due to Breaks, there might not be a way to reconfigure it.
+      (This is analogous to the situation where we install a package which
+      no longer satisfies the dependencies of an on-hold package; it's not
+      clear what the right answer is.)
+    * We invent a new --force-breaks which does much the
+      same as --force-conflicts.
+    * --ignore-depends works for Breaks even though it doesn't work
+      for Conflicts.
+    * <deconfigured's prerm> deconfigure in-favour <installing> <ver>
+        as well as
+      <deconfigured's prerm> deconfigure in-favour <installing> <ver> \
+                                       removing <conflictor> <ver>
+      and of course the corresponding
+    <deconfigured's postinst> abort-deconfigure in-favour <installing> <ver>
+
+ -- Ian Jackson <iwj@ubuntu.com>  Wed, 11 Jul 2007 16:26:17 +0100
+
 dpkg (1.14.5) unstable; urgency=low
 
   [ Guillem Jover ]
diff -pruN 1.14.20/debian/control 1.14.20ubuntu1/debian/control
--- 1.14.20/debian/control	2008-06-18 08:33:27.000000000 +0100
+++ 1.14.20ubuntu1/debian/control	2008-06-26 13:06:51.000000000 +0100
@@ -1,7 +1,8 @@
 Source: dpkg
 Section: admin
 Priority: required
-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
+Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
 Uploaders: Frank Lichtenheld <djpig@debian.org>,
  Guillem Jover <guillem@debian.org>, Raphael Hertzog <hertzog@debian.org>
 Origin: debian
@@ -18,11 +19,11 @@ Build-Depends: debhelper (>= 4.1.81), pk
 Package: dpkg
 Architecture: any
 Essential: yes
-Pre-Depends: ${shlibs:Depends}, coreutils (>= 5.93-1)
-Conflicts: sysvinit (<< 2.82-1), dpkg-iasearch (<< 0.11),
- dpkg-dev (<< 1.14.16), apt (<< 0.7.7), aptitude (<< 0.4.7-1)
+Pre-Depends: ${shlibs:Depends}, coreutils (>= 5.93-1), lzma
+Conflicts: sysvinit (<< 2.82-1), dpkg-iasearch (<< 0.11)
+Breaks: dpkg-dev (<< 1.14.16), apt (<< 0.7.7), aptitude (<< 0.4.7-1)
 Replaces: manpages-de (<= 0.4-3), manpages-pl (<= 20051117-1)
-Suggests: apt, lzma
+Suggests: apt
 Description: Debian package management system
  This package privides the low-level infrastructure for handling the
  installation and removal of Debian software packages.
diff -pruN 1.14.20/debian/dpkg.postinst 1.14.20ubuntu1/debian/dpkg.postinst
--- 1.14.20/debian/dpkg.postinst	2008-05-05 18:07:00.000000000 +0100
+++ 1.14.20ubuntu1/debian/dpkg.postinst	2008-06-26 13:06:51.000000000 +0100
@@ -72,6 +72,14 @@ case "$1" in
 
 	move_info_directory
 	remove_info_symlink
+
+	if test -f /var/lib/dpkg/triggers/Unincorp; then
+	    # Upgrade from broken trigger interest recorder
+	    #  (bugs.launchpad.net/133172).  We remove this
+	    #  old stale file:
+	    rm -f /var/lib/dpkg/triggers/Deferred
+	fi
+
 	;;
 
     abort-upgrade|abort-deconfigure|abort-remove)
diff -pruN 1.14.20/lib/cleanup.c 1.14.20ubuntu1/lib/cleanup.c
--- 1.14.20/lib/cleanup.c	2008-05-05 18:07:00.000000000 +0100
+++ 1.14.20ubuntu1/lib/cleanup.c	2008-06-26 13:06:51.000000000 +0100
@@ -29,8 +29,10 @@ cu_closepipe(int argc, void **argv)
 {
 	int *p1 = (int *)argv[0];
 
-	close(p1[0]);
-	close(p1[1]);
+	if (p1[0] >= 0)
+		close(p1[0]);
+	if (p1[1] >= 0)
+		close(p1[1]);
 }
 
 void
@@ -46,7 +48,8 @@ cu_closedir(int argc, void **argv)
 {
 	DIR *d = (DIR *)(argv[0]);
 
-	closedir(d);
+	if (d)
+		closedir(d);
 }
 
 void
@@ -54,6 +57,17 @@ cu_closefd(int argc, void **argv)
 {
 	int ip = *(int *)argv[0];
 
-	close(ip);
+	if (ip >= 0)
+		close(ip);
+}
+
+int
+ferror_fclose_pop_cleanup(FILE *f)
+{
+	int r1, r2;
+	r1 = ferror(f);
+	pop_cleanup(ehflag_normaltidy);
+	r2 = fclose(f);
+	return r1 ? r1 : r2;
 }
 
diff -pruN 1.14.20/lib/dbmodify.c 1.14.20ubuntu1/lib/dbmodify.c
--- 1.14.20/lib/dbmodify.c	2008-06-18 08:33:27.000000000 +0100
+++ 1.14.20ubuntu1/lib/dbmodify.c	2008-06-26 13:06:51.000000000 +0100
@@ -253,6 +253,9 @@ void modstatdb_note(struct pkginfo *pkg)
 
   onerr_abort++;
 
+  /* Clear pending triggers here so that only code that sets the status
+   * to interesting (for triggers) values has to care about triggers.
+   */
   if (pkg->status != stat_triggerspending &&
       pkg->status != stat_triggersawaited)
     pkg->trigpend_head = NULL;
diff -pruN 1.14.20/lib/dpkg.h 1.14.20ubuntu1/lib/dpkg.h
--- 1.14.20/lib/dpkg.h	2008-05-05 18:07:00.000000000 +0100
+++ 1.14.20ubuntu1/lib/dpkg.h	2008-06-26 13:06:51.000000000 +0100
@@ -237,6 +237,15 @@ void cu_closepipe(int argc, void **argv)
 void cu_closedir(int argc, void **argv);
 void cu_closefd(int argc, void **argv);
 
+int ferror_fclose_pop_cleanup(FILE *f);
+ /* calls ferror and fclose on f, and pop_cleanup
+  *   file= fopen
+  *   push_cleanup(cu_closefile,~ehflag_normaltidy, 0,0, 1,(void*)file
+  * return is 0 on success or EOF if fclose or ferror failed
+  * all three calls are always made regardless, and in the right order
+  * so you can just call ohshite if this returns EOF
+  */
+
 /*** lock.c ***/
 
 void lock_file(int *lockfd, const char *filename,
diff -pruN 1.14.20/lib/triglib.c 1.14.20ubuntu1/lib/triglib.c
--- 1.14.20/lib/triglib.c	2008-06-18 08:33:27.000000000 +0100
+++ 1.14.20ubuntu1/lib/triglib.c	2008-06-26 13:06:51.000000000 +0100
@@ -355,10 +355,9 @@ trk_explicit_interest_change(const char 
 	}
 	if (signum > 0)
 		fprintf(nf, "%s\n", pkg->name);
-	if (ferror(nf) || fclose(nf))
+	if (ferror_fclose_pop_cleanup(nf))
 		ohshite(_("unable to write new trigger interest file `%.250s'"),
 		        newfn.buf);
-	pop_cleanup(ehflag_normaltidy);
 
 	if (rename(newfn.buf, trk_explicit_fn.buf))
 		ohshite(_("unable to install new trigger interest file `%.250s'"),
@@ -449,10 +448,9 @@ trig_file_interests_save(void)
 		fprintf(nf, "%s %s\n", trigh.namenode_name(tfi->fnn),
 		        tfi->pkg->name);
 
-	if (ferror(nf) || fclose(nf))
+	if (ferror_fclose_pop_cleanup(nf))
 		ohshite(_("unable to write new file triggers file `%.250s'"),
 		        triggersnewfilefile);
-	pop_cleanup(ehflag_normaltidy);
 
 	if (rename(triggersnewfilefile, triggersfilefile))
 		ohshite(_("unable to install new file triggers file as `%.250s'"),
@@ -708,7 +706,7 @@ trig_incorporate(enum modstatdb_rw cstat
 		abort();
 	}
 
-	/* Right, that's it. New (empty) Unincopr can be installed. */
+	/* Right, that's it. New (empty) Unincorp can be installed. */
 	trigdef_process_done();
 }
 
diff -pruN 1.14.20/man/dpkg-buildpackage.1 1.14.20ubuntu1/man/dpkg-buildpackage.1
--- 1.14.20/man/dpkg-buildpackage.1	2008-05-05 18:07:01.000000000 +0100
+++ 1.14.20ubuntu1/man/dpkg-buildpackage.1	2008-06-26 13:06:51.000000000 +0100
@@ -221,6 +221,7 @@ set to default values unless already set
 this mechanism was only introduced in dpkg-dev, version 1.14.17 and
 not all \fIrules\fP files and build tools will honour these variables,
 yet.
+See https://wiki.ubuntu.com/DistCompilerFlags for the details.
 .TP
 .B CFLAGS
 Optimization options which are passed to the Debian build system and
diff -pruN 1.14.20/scripts/Dpkg/Arch.pm 1.14.20ubuntu1/scripts/Dpkg/Arch.pm
--- 1.14.20/scripts/Dpkg/Arch.pm	2008-03-20 12:58:01.000000000 +0000
+++ 1.14.20ubuntu1/scripts/Dpkg/Arch.pm	2008-06-26 13:06:51.000000000 +0100
@@ -215,6 +215,13 @@ sub gnutriplet_to_debtriplet($)
 	}
     }
 
+    # This is sick and wrong, but dpkg-architecture just doesn't seem capable
+    # of handling this case on its own, with the current lookup tables:
+
+    if ($cpu eq "i386" && $os eq "gnulp-linux") {
+        $cpu = "i686";
+    }
+
     return undef if !defined($cpu) || !defined($os);
     return (split(/-/, $os, 2), $cpu);
 }
diff -pruN 1.14.20/scripts/Dpkg/Changelog/Debian.pm 1.14.20ubuntu1/scripts/Dpkg/Changelog/Debian.pm
--- 1.14.20/scripts/Dpkg/Changelog/Debian.pm	2008-05-12 12:53:32.000000000 +0100
+++ 1.14.20ubuntu1/scripts/Dpkg/Changelog/Debian.pm	2008-06-26 13:06:51.000000000 +0100
@@ -145,6 +145,7 @@ sub parse {
 	    }
 	    unless ($entry->is_empty) {
 		$entry->{'Closes'} = find_closes( $entry->{Changes} );
+		$entry->{'Launchpad-Bugs-Fixed'} = find_launchpad_closes( $entry->{Changes} );
 #		    print STDERR, Dumper($entry);
 		push @{$self->{data}}, $entry;
 		$entry = new Dpkg::Changelog::Entry;
@@ -254,6 +255,7 @@ sub parse {
 			&& !$entry->is_empty) {
 			# lets assume we have missed the actual header line
 			$entry->{'Closes'} = find_closes( $entry->{Changes} );
+			$entry->{'Launchpad-Bugs-Fixed'} = find_launchpad_closes( $entry->{Changes} );
 #		    print STDERR, Dumper($entry);
 			push @{$self->{data}}, $entry;
 			$entry = new Dpkg::Changelog::Entry;
@@ -315,6 +317,7 @@ sub parse {
 	};
     unless ($entry->is_empty) {
 	$entry->{'Closes'} = find_closes( $entry->{Changes} );
+	$entry->{'Launchpad-Bugs-Fixed'} = find_launchpad_closes( $entry->{Changes} );
 	push @{$self->{data}}, $entry;
     }
 
diff -pruN 1.14.20/scripts/Dpkg/Changelog.pm 1.14.20ubuntu1/scripts/Dpkg/Changelog.pm
--- 1.14.20/scripts/Dpkg/Changelog.pm	2008-05-05 18:07:01.000000000 +0100
+++ 1.14.20ubuntu1/scripts/Dpkg/Changelog.pm	2008-06-26 13:06:51.000000000 +0100
@@ -47,6 +47,7 @@ use base qw(Exporter);
 
 our %EXPORT_TAGS = ( 'util' => [ qw(
                 find_closes
+                find_launchpad_closes
                 data2rfc822
                 data2rfc822_mult
                 get_dpkg_changes
@@ -418,6 +419,7 @@ our ( @URGENCIES, %URGENCIES );
 BEGIN {
     @CHANGELOG_FIELDS = qw(Source Version Distribution
                            Urgency Maintainer Date Closes Changes
+                           Launchpad-Bugs-Fixed
                            Timestamp Header Items Trailer
                            Urgency_comment Urgency_lc);
     tie %CHANGELOG_FIELDS, 'Dpkg::Fields::Object';
@@ -448,6 +450,7 @@ sub dpkg {
 
     $f->{Changes} = get_dpkg_changes( $data->[0] );
     $f->{Closes} = [ @{$data->[0]{Closes}} ];
+    $f->{'Launchpad-Bugs-Fixed'} = [ @{$data->[0]{'Launchpad-Bugs-Fixed'}} ];
 
     my $first = 1; my $urg_comment = '';
     foreach my $entry (@$data) {
@@ -462,6 +465,7 @@ sub dpkg {
 
 	$f->{Changes} .= "\n .".get_dpkg_changes( $entry );
 	push @{$f->{Closes}}, @{$entry->{Closes}};
+	push @{$f->{'Launchpad-Bugs-Fixed'}}, @{$entry->{'Launchpad-Bugs-Fixed'}};
 
 	# handle unknown fields
 	foreach my $field (keys %$entry) {
@@ -472,6 +476,7 @@ sub dpkg {
     }
 
     $f->{Closes} = join " ", sort { $a <=> $b } @{$f->{Closes}};
+    $f->{'Launchpad-Bugs-Fixed'} = join " ", sort { $a <=> $b } @{$f->{'Launchpad-Bugs-Fixed'}};
     $f->{Urgency} .= $urg_comment;
 
     return %$f if wantarray;
@@ -524,6 +529,7 @@ sub rfc822 {
 	$f->{Urgency} .= $entry->{Urgency_Comment};
 	$f->{Changes} = get_dpkg_changes( $entry );
 	$f->{Closes} = join " ", sort { $a <=> $b } @{$entry->{Closes}};
+	$f->{'Launchpad-Bugs-Fixed'} = join " ", sort { $a <=> $b } @{$entry->{'Launchpad-Bugs-Fixed'}};
 
 	# handle unknown fields
 	foreach my $field (keys %$entry) {
@@ -646,6 +652,29 @@ sub find_closes {
 
 =pod
 
+=head3 find_launchpad_closes
+
+Takes one string as argument and finds "LP: #123456, #654321" statements,
+which are references to bugs on Launchpad.  Returns all closed bug numbers
+in an array reference.
+
+=cut
+
+sub find_launchpad_closes {
+    my $changes = shift;
+    my @launchpad_closes = ();
+
+    while ($changes &&
+	   ($changes =~ /lp:\s+\#\d+(?:,\s*\#\d+)*/ig)) {
+	push(@launchpad_closes, $& =~ /\#?\s?(\d+)/g);
+    }
+
+    @launchpad_closes = sort { $a <=> $b } @launchpad_closes;
+    return \@launchpad_closes;
+}
+
+=pod
+
 =head3 data2rfc822
 
 Takes a single argument, either a Dpkg::Changelog::Entry object
diff -pruN 1.14.20/scripts/Dpkg/Control.pm 1.14.20ubuntu1/scripts/Dpkg/Control.pm
--- 1.14.20/scripts/Dpkg/Control.pm	2008-06-18 08:33:30.000000000 +0100
+++ 1.14.20ubuntu1/scripts/Dpkg/Control.pm	2008-06-26 13:06:51.000000000 +0100
@@ -78,7 +78,7 @@ sub parse {
     my ($self, $file) = @_;
     $self->reset();
     # Parse
-    open(CDATA, "<", $file) || syserr(_g("cannot read %s"), $file);
+    open(CDATA, "< $file") || syserr(_g("cannot read %s"), $file);
     my $cdata = parsecdata(\*CDATA, $file);
     return if not defined $cdata;
     $self->{source} = $cdata;
diff -pruN 1.14.20/scripts/dpkg-buildpackage.pl 1.14.20ubuntu1/scripts/dpkg-buildpackage.pl
--- 1.14.20/scripts/dpkg-buildpackage.pl	2008-05-05 18:07:01.000000000 +0100
+++ 1.14.20ubuntu1/scripts/dpkg-buildpackage.pl	2008-06-26 13:06:51.000000000 +0100
@@ -261,7 +261,7 @@ my %flags = ( CPPFLAGS => '',
 	      CFLAGS   => $default_flags,
 	      CXXFLAGS => $default_flags,
 	      FFLAGS   => $default_flags,
-	      LDFLAGS  => '',
+	      LDFLAGS  => '-Wl,-Bsymbolic-functions',
     );
 
 foreach my $flag (keys %flags) {
diff -pruN 1.14.20/scripts/dpkg-genchanges.pl 1.14.20ubuntu1/scripts/dpkg-genchanges.pl
--- 1.14.20/scripts/dpkg-genchanges.pl	2008-05-05 18:07:01.000000000 +0100
+++ 1.14.20ubuntu1/scripts/dpkg-genchanges.pl	2008-06-26 13:06:51.000000000 +0100
@@ -25,7 +25,7 @@ textdomain("dpkg-dev");
 
 my @changes_fields = qw(Format Date Source Binary Architecture Version
                         Distribution Urgency Maintainer Changed-By
-                        Description Closes Changes Checksums-Md5
+                        Description Closes Launchpad-Bugs-Fixed Changes Checksums-Md5
                         Checksums-Sha1 Checksums-Sha256 Files);
 
 my $controlfile = 'debian/control';
@@ -332,7 +332,7 @@ foreach $_ (keys %{$changelog}) {
 	set_source_package($v);
     } elsif (m/^Maintainer$/i) {
 	$fields->{"Changed-By"} = $v;
-    } elsif (m/^(Version|Changes|Urgency|Distribution|Date|Closes)$/i) {
+    } elsif (m/^(Version|Changes|Urgency|Distribution|Date|Closes|Launchpad-Bugs-Fixed)$/i) {
 	$fields->{$_} = $v;
     } elsif (s/^X[BS]*C[BS]*-//i) {
 	$fields->{$_} = $v;
diff -pruN 1.14.20/scripts/dpkg-gencontrol.pl 1.14.20ubuntu1/scripts/dpkg-gencontrol.pl
--- 1.14.20/scripts/dpkg-gencontrol.pl	2008-06-18 08:33:30.000000000 +0100
+++ 1.14.20ubuntu1/scripts/dpkg-gencontrol.pl	2008-06-26 13:06:51.000000000 +0100
@@ -203,7 +203,7 @@ foreach $_ (keys %{$changelog}) {
     } elsif (m/^Version$/) {
 	$sourceversion = $v;
 	$fields->{$_} = $v unless defined($forceversion);
-    } elsif (m/^(Maintainer|Changes|Urgency|Distribution|Date|Closes)$/) {
+    } elsif (m/^(Maintainer|Changes|Urgency|Distribution|Date|Closes|Launchpad-Bugs-Fixed)$/) {
     } elsif (s/^X[CS]*B[CS]*-//i) {
 	$fields->{$_} = $v;
     } elsif (!m/^X[CS]+-/i) {
diff -pruN 1.14.20/scripts/dpkg-source.pl 1.14.20ubuntu1/scripts/dpkg-source.pl
--- 1.14.20/scripts/dpkg-source.pl	2008-06-18 08:33:30.000000000 +0100
+++ 1.14.20ubuntu1/scripts/dpkg-source.pl	2008-06-26 13:06:51.000000000 +0100
@@ -239,7 +239,7 @@ if ($options{'opmode'} eq 'build') {
 	    $fields->{$_} = $v;
 	} elsif (s/^X[BS]*C[BS]*-//i) {
 	    $fields->{$_} = $v;
-	} elsif (m/^(Maintainer|Changes|Urgency|Distribution|Date|Closes)$/i ||
+	} elsif (m/^(Maintainer|Changes|Urgency|Distribution|Date|Closes|Launchpad-Bugs-Fixed)$/i ||
 		 m/^X[BS]+-/i) {
 	} else {
 	    unknown(_g("parsed version of changelog"));
@@ -248,6 +248,22 @@ if ($options{'opmode'} eq 'build') {
     
     $fields->{'Binary'} = join(', ', @binarypackages);
 
+    # check that Maintainer/XSBC-Original-Maintainer comply to
+    # https://wiki.ubuntu.com/DebianMaintainerField
+    if (defined($fields->{Version}) and defined($fields->{Maintainer}) and
+	$fields->{Version} =~ /ubuntu/) {
+	if ($fields->{'Maintainer'} !~ /ubuntu/) {
+	    if (defined ($ENV{'DEBEMAIL'}) and $ENV{'DEBEMAIL'} =~ /ubuntu/) {
+		error(_g('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address'));
+	    } else {
+		warning(_g('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address'));
+	    }
+	}
+	unless ($fields->{'Original-Maintainer'}) {
+	    warning(_g('Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field'));
+	}
+    }
+ 
     # Generate list of formats to try
     my @try_formats;
     push @try_formats, $fields->{'Format'} if exists $fields->{'Format'};
diff -pruN 1.14.20/scripts/t/600_Dpkg_Changelog/fields 1.14.20ubuntu1/scripts/t/600_Dpkg_Changelog/fields
--- 1.14.20/scripts/t/600_Dpkg_Changelog/fields	2008-05-05 18:07:01.000000000 +0100
+++ 1.14.20ubuntu1/scripts/t/600_Dpkg_Changelog/fields	2008-06-26 13:06:51.000000000 +0100
@@ -1,12 +1,14 @@
 fields (2.0-0etch1) stable; urgency=low
 
   * Upload to stable (Closes: #1111111, #2222222)
+  * Fix more stuff. (LP: #54321, #2424242)
 
  -- Frank Lichtenheld <frank@lichtenheld.de>  Sun, 13 Jan 2008 15:49:19 +0100
 
 fields (2.0-1) unstable; urgency=medium
 
   * Upload to unstable (Closes: #1111111, #2222222)
+  * Fix stuff. (LP: #12345, #424242)
 
  -- Frank Lichtenheld <djpig@debian.org>  Sun, 12 Jan 2008 15:49:19 +0100
 
diff -pruN 1.14.20/scripts/t/600_Dpkg_Changelog.t 1.14.20ubuntu1/scripts/t/600_Dpkg_Changelog.t
--- 1.14.20/scripts/t/600_Dpkg_Changelog.t	2008-05-05 18:07:01.000000000 +0100
+++ 1.14.20ubuntu1/scripts/t/600_Dpkg_Changelog.t	2008-06-26 13:06:51.000000000 +0100
@@ -173,10 +173,12 @@ Changes: 
  fields (2.0-0etch1) stable; urgency=low
  .
    * Upload to stable (Closes: #1111111, #2222222)
+   * Fix more stuff. (LP: #54321, #2424242)
  .
  fields (2.0-1) unstable; urgency=medium
  .
    * Upload to unstable (Closes: #1111111, #2222222)
+   * Fix stuff. (LP: #12345, #424242)
  .
  fields (2.0~b1-1) unstable; urgency=low,xc-userfield=foobar
  .
@@ -185,6 +187,7 @@ Changes: 
  fields (1.0) experimental; urgency=high
  .
    * First upload (Closes: #1000000)
+Launchpad-Bugs-Fixed: 12345 54321 424242 2424242
 Xc-Userfield: foobar
 ';
 	cmp_ok($str,'eq',$expected,"fields handling");
@@ -201,10 +204,12 @@ Changes: 
  fields (2.0-1) unstable; urgency=medium
  .
    * Upload to unstable (Closes: #1111111, #2222222)
+   * Fix stuff. (LP: #12345, #424242)
  .
  fields (2.0~b1-1) unstable; urgency=low,xc-userfield=foobar
  .
    * Beta
+Launchpad-Bugs-Fixed: 12345 424242
 Xc-Userfield: foobar
 ';
 	cmp_ok($str,'eq',$expected,"fields handling 2");
diff -pruN 1.14.20/src/configure.c 1.14.20ubuntu1/src/configure.c
--- 1.14.20/src/configure.c	2008-06-18 08:33:31.000000000 +0100
+++ 1.14.20ubuntu1/src/configure.c	2008-06-26 13:06:51.000000000 +0100
@@ -309,11 +309,12 @@ void deferred_configure(struct pkginfo *
 
 	modstatdb_note(pkg);
 
-	maintainer_script_postinst(pkg, "configure",
+	if (maintainer_script_postinst(pkg, "configure",
 	                           informativeversion(&pkg->configversion) ?
 	                           versiondescribe(&pkg->configversion,
 	                                           vdew_nonambig) : "",
-	                           NULL);
+	                           NULL))
+		putchar('\n');
 
 	pkg->eflag= eflagv_ok;
 	post_postinst_tasks(pkg, stat_installed);
diff -pruN 1.14.20/src/trigproc.c 1.14.20ubuntu1/src/trigproc.c
--- 1.14.20/src/trigproc.c	2008-05-05 18:07:01.000000000 +0100
+++ 1.14.20ubuntu1/src/trigproc.c	2008-06-26 13:06:51.000000000 +0100
@@ -295,6 +295,9 @@ trigproc(struct pkginfo *pkg)
 		}
 		varbufaddc(&namesarg, 0);
 
+		/* Setting the status to halfconfigured
+		 * causes modstatdb_note to clear pending triggers.
+		 */
 		pkg->status = stat_halfconfigured;
 		modstatdb_note(pkg);
 
diff -pruN 1.14.20/triplettable 1.14.20ubuntu1/triplettable
--- 1.14.20/triplettable	2007-07-28 16:29:49.000000000 +0100
+++ 1.14.20ubuntu1/triplettable	2008-06-26 13:06:51.000000000 +0100
@@ -4,7 +4,7 @@
 #
 # <Debian triplet>	<Debian arch>
 gnueabi-linux-arm	armel
-gnulp-linux-i386	lpia
+gnulp-linux-i686	lpia
 gnu-linux-<cpu>		<cpu>
 gnu-kfreebsd-<cpu>	kfreebsd-<cpu>
 gnu-knetbsd-<cpu>	knetbsd-<cpu>

Reply to: