diff -Nru sbuild-0.65.2/debian/changelog sbuild-0.65.2/debian/changelog --- sbuild-0.65.2/debian/changelog 2016-01-11 12:22:15.000000000 +0000 +++ sbuild-0.65.2/debian/changelog 2016-02-18 14:37:43.000000000 +0000 @@ -1,3 +1,10 @@ +sbuild (0.65.2-1ubuntu2~ubuntu14.04.1~ppa8) trusty; urgency=medium + + * copy-dummy-archive.patch: Sbuild::ResolverBase: use copy: for dummy + archive. Fixes launchpad-buildd crashes when analysing dep-waits. + + -- Colin Watson Thu, 18 Feb 2016 14:37:39 +0000 + sbuild (0.65.2-1ubuntu2~ubuntu14.04.1~ppa7) trusty; urgency=medium * Install Build-Depends-Arch in the correct situations (LP: #1516336). diff -Nru sbuild-0.65.2/debian/patches/copy-dummy-archive.patch sbuild-0.65.2/debian/patches/copy-dummy-archive.patch --- sbuild-0.65.2/debian/patches/copy-dummy-archive.patch 1970-01-01 00:00:00.000000000 +0000 +++ sbuild-0.65.2/debian/patches/copy-dummy-archive.patch 2016-02-18 14:34:45.000000000 +0000 @@ -0,0 +1,26 @@ +Description: Sbuild::ResolverBase: use copy: for dummy archive + We used to use file: URIs for sbuild's dummy archive, but recent versions + of apt put symlinks in /var/lib/apt/lists/ if we do that, which means that + those symlinks become broken as soon as we remove the dummy archive. + sbuild itself is OK with this, but launchpad-buildd tries to read + /var/lib/apt/lists/*_Packages in order to do dep-wait analysis after + failures, and that fails if there are broken symlinks there. It's easy + enough to avoid this problem by using copy: URIs instead, so let's do that. +Origin: backport, https://anonscm.debian.org/cgit/buildd-tools/sbuild.git/commit/?id=e2d63ebc20c8d2ef5d96db83828087505928895f +Last-Update: 2016-02-18 + +Index: b/lib/Sbuild/ResolverBase.pm +=================================================================== +--- a/lib/Sbuild/ResolverBase.pm ++++ b/lib/Sbuild/ResolverBase.pm +@@ -1013,8 +1013,8 @@ + # Write a list file for the dummy archive if one not create yet. + if (! -f $dummy_archive_list_file) { + my ($tmpfh, $tmpfilename) = tempfile(DIR => $session->get('Location') . "/tmp"); +- print $tmpfh 'deb file://' . $session->strip_chroot_path($dummy_archive_dir) . " ./\n"; +- print $tmpfh 'deb-src file://' . $session->strip_chroot_path($dummy_archive_dir) . " ./\n"; ++ print $tmpfh 'deb copy://' . $session->strip_chroot_path($dummy_archive_dir) . " ./\n"; ++ print $tmpfh 'deb-src copy://' . $session->strip_chroot_path($dummy_archive_dir) . " ./\n"; + + for my $repospec (@{$self->get_conf('EXTRA_REPOSITORIES')}) { + print $tmpfh "$repospec\n"; diff -Nru sbuild-0.65.2/debian/patches/series sbuild-0.65.2/debian/patches/series --- sbuild-0.65.2/debian/patches/series 2016-01-11 12:21:42.000000000 +0000 +++ sbuild-0.65.2/debian/patches/series 2016-02-18 14:37:30.000000000 +0000 @@ -5,3 +5,4 @@ nolog-autoflush-stdout.patch backport-dpkg-deps.patch fix-build-depends-arch.patch +copy-dummy-archive.patch