ubuntu upstream version change: dpkg 1.13.12ubuntu1
diff -pruN 1.13.21/debian/changelog 1.13.21ubuntu1/debian/changelog
--- 1.13.21/debian/changelog 2006-06-04 17:02:48.000000000 +0100
+++ 1.13.21ubuntu1/debian/changelog 2006-06-08 11:32:56.000000000 +0100
@@ -1,3 +1,10 @@
+dpkg (1.13.21ubuntu1) edgy; urgency=low
+
+ * Resynchronise with Debian. One change remains, namely IWJ's
+ symlink-to-same-directory file conflict fix in 1.13.10ubuntu4.
+
+ -- Colin Watson <cjwatson@ubuntu.com> Thu, 8 Jun 2006 11:32:51 +0100
+
dpkg (1.13.21) unstable; urgency=low
[ Guillem Jover ]
@@ -548,6 +555,48 @@ dpkg (1.13.11.1) unstable; urgency=low
-- Scott James Remnant <scott@netsplit.com> Thu, 12 Jan 2006 07:56:49 +0000
+dpkg (1.13.11ubuntu6) dapper; urgency=low
+
+ * Completely remove md5sum diversion madness. Instead, we Pre-Depend
+ on a version of textutils which provides /usr/bin/md5sum. We rely on
+ the logic in coreutils to remove our diversions.
+
+ -- Ian Jackson <iwj@ubuntu.com> Fri, 5 May 2006 16:24:23 +0100
+
+dpkg (1.13.11ubuntu5) dapper; urgency=low
+
+ * Add new quiet option to dpkg-source to supress warnings. Patch applied
+ from 1.13.17.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 9 Apr 2006 12:51:12 +0200
+
+dpkg (1.13.11ubuntu4) dapper; urgency=low
+
+ * Force reversion back to ubuntu2.
+
+ -- Scott James Remnant <scott@ubuntu.com> Thu, 6 Apr 2006 12:07:25 +0100
+
+dpkg (1.13.11ubuntu2) dapper; urgency=low
+
+ * Make conffile prompt about locally-deleted conffile less misleading.
+ (Debian 351361.)
+
+ Change backported from dpkg 1.13.12:
+ * When linking statically, explicitly add libsepol, even if its only a
+ transitive library. The proper fix should come with a pkg-config file.
+ Based on a patch by Bart Martens <bart.martens@advalvas.be>.
+ Closes: #347744, #348659
+ * Don't build-depend on in SELinux support on Hurd.
+ * Reran autoconf.
+
+ -- Ian Jackson <iwj@ubuntu.com> Sat, 4 Feb 2006 15:57:11 +0000
+
+dpkg (1.13.11ubuntu1) dapper; urgency=low
+
+ * Merge Debian and Ubuntu changes into a glorious hole.
+
+ -- Scott James Remnant <scott@ubuntu.com> Mon, 7 Nov 2005 18:33:31 -0500
+
dpkg (1.13.11) unstable; urgency=low
The "Good, clean fun" Release.
@@ -615,6 +664,41 @@ dpkg (1.13.11) unstable; urgency=low
-- Scott James Remnant <scott@netsplit.com> Wed, 17 Aug 2005 04:44:44 +0100
+dpkg (1.13.10ubuntu4) breezy; urgency=low
+
+ * 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. Ubuntu 16133.
+
+ -- Ian Jackson <iwj@ubuntu.com> Sat, 24 Sep 2005 18:07:25 +0100
+
+dpkg (1.13.10ubuntu3) breezy; urgency=low
+
+ * Improve processing of disappearing conffiles.
+ This is part of the fix for Debian bug #108587.
+
+ -- Ian Jackson <iwj@ubuntu.com> Tue, 13 Sep 2005 19:32:44 +0100
+
+dpkg (1.13.10ubuntu2) breezy; urgency=low
+
+ Merged fixes from 1.13.11:
+ * Re-worked dpkg-source -x to allow all manner of strange things maintainers
+ seem to do, unpacking isn't the right place to enforce sanity; we'll
+ do it in -b later on >:-).
+ * Fixed castration of potentially unsafe devices to not follow symlinks.
+ * Marked log file descriptor as close-on-exec.
+
+ -- Scott James Remnant <scott@ubuntu.com> Thu, 25 Aug 2005 02:04:45 +0100
+
+dpkg (1.13.10ubuntu1) breezy; urgency=low
+
+ * When copying the forward dependency tree on unpack, blank the version
+ field of each unversioned dependency rather than leaving it
+ uninitialised. Closes: Ubuntu #13306.
+
+ -- Colin Watson <cjwatson@ubuntu.com> Thu, 11 Aug 2005 17:30:22 +0100
+
dpkg (1.13.10) unstable; urgency=low
The "Bully's Special Prize" Release.
diff -pruN 1.13.21/src/archives.c 1.13.21ubuntu1/src/archives.c
--- 1.13.21/src/archives.c 2006-04-11 01:00:07.000000000 +0100
+++ 1.13.21ubuntu1/src/archives.c 2006-06-08 11:18:55.000000000 +0100
@@ -325,6 +325,46 @@ struct fileinlist *addfiletolist(struct
return nifd;
}
+static int linktosameexistingdir(const struct TarInfo *ti,
+ const char *fname,
+ struct varbuf *symlinkfn) {
+ struct stat oldstab, newstab;
+ int statr;
+ const char *lastslash;
+
+ statr= stat(fname,&oldstab);
+ if (statr) {
+ if (!(errno==ENOENT || errno==ELOOP || errno==ENOTDIR))
+ ohshite("failed to stat (dereference) existing symlink `%.250s'", fname);
+ return 0;
+ }
+ if (!S_ISDIR(oldstab.st_mode)) return 0;
+
+ /* But is it to the same dir ? */
+ varbufreset(symlinkfn);
+ if (ti->LinkName[0] == '/') {
+ varbufaddstr(symlinkfn, instdir);
+ } else {
+ lastslash= strrchr(fname, '/'); assert(lastslash);
+ varbufaddbuf(symlinkfn, fname, (lastslash - fname) + 1);
+ }
+ varbufaddstr(symlinkfn, ti->LinkName);
+ varbufaddc(symlinkfn, 0);
+
+ statr= stat(symlinkfn->buf, &newstab);
+ if (statr) {
+ if (!(errno==ENOENT || errno==ELOOP || errno==ENOTDIR))
+ ohshite("failed to stat (dereference) proposed new symlink target"
+ " `%.250s' for symlink `%.250s'",
+ symlinkfn->buf, fname);
+ return 0;
+ }
+ if (!S_ISDIR(newstab.st_mode)) return 0;
+ if (newstab.st_dev != oldstab.st_dev ||
+ newstab.st_ino != oldstab.st_ino) return 0;
+ return 1;
+}
+
int tarobject(struct TarInfo *ti) {
static struct varbuf conffderefn, hardlinkfn, symlinkfn;
const char *usename;
@@ -422,6 +462,9 @@ int tarobject(struct TarInfo *ti) {
if (!statr && S_ISDIR(stab.st_mode)) {
debug(dbg_eachfiledetail,"tarobject SymbolicLink exists as directory");
existingdirectory= 1;
+ } else if (!statr && S_ISLNK(stab.st_mode)) {
+ if (linktosameexistingdir(ti, fnamevb.buf, &symlinkfn))
+ existingdirectory= 1;
}
break;
case Directory:
Reply to: