[Bug 1976257] Re: sbuild breaks lp-buildd with symlinks to .dsc files

Benjamin Drung 1976257 at bugs.launchpad.net
Wed Jun 15 16:15:14 UTC 2022


The changelog entry that introduces this changes says: abs-path-
revert.patch: Revert upstream commit that breaks lp-buildd by causing
symlinks to files not ending in .dsc to no longer be buildable.

I was able to reproduce the problem:

pull-debian-source -d distro-info 1.1
mv distro-info_1.1.dsc distro-info_1.1_with_diffent_ending.txt
ln -s distro-info_1.1_with_diffent_ending.txt distro-info_1.1.dsc
sbuild -d unstable distro-info_1.1.dsc

abs_path() expands jobname from 'distro-info_1.1.dsc' to
'/full/path/to/distro-info_1.1_with_diffent_ending.txt'. Then it tries
to fetch that source file (instead of using it as dsc file).

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sbuild in Ubuntu.
https://bugs.launchpad.net/bugs/1976257

Title:
  sbuild breaks lp-buildd with symlinks to .dsc files

Status in sbuild package in Ubuntu:
  New

Bug description:
  We're currently carrying a delta in our sbuild which reverts a commit
  in the upstream [1] which purports to fix a bug [2]. There's no bug
  associated with this delta, which allegedly fixes a build failure in
  lp-buildd. The delta in question is documented under d/p/abs-path-
  revert.patch (I say "documented" as sbuild is a native package, so the
  patch itself does nothing more than document the delta that exists in
  the base tar-ball), and contains:

  --- a/bin/sbuild
  +++ b/bin/sbuild
  @@ -84,10 +84,6 @@ sub main () {
   	my $jobname = $ARGV[0];
   	my $source_dir = 0;
   
  -	if (-e $jobname) {
  -	    $jobname = abs_path($jobname);
  -	}
  -
   	if (-d $jobname) {
   	    $jobname = create_source_package($jobname);
   	    if ($jobname eq '.') {
  @@ -171,6 +167,7 @@ sub main () {
   
   sub create_source_package ($) {
       my $dsc = shift;
  +    $dsc = abs_path($dsc);
   
       open(my $pipe, '-|', 'dpkg-parsechangelog',
   	 '-l' . $dsc . '/debian/changelog')

  Despite digging around the bug and code history of lp-buildd around
  the time the sbuild patch was introduced, I've come up empty for
  additional information on why this change was introduced. As requested
  in the merge LP: #1974177, I'm filing this bug largely to try and
  track whether this delta is still required.

  We could simply remove the patch and "see what happens" but I'm
  reluctant to do that given the potentially wide-ranging breakage that
  could result. Ideally, this needs some more in-depth investigation by
  someone either more familiar with lp-buildd, or the time to set up a
  local test environment to determine whether we should still be
  carrying this patch.

  [1]: https://salsa.debian.org/debian/sbuild/-/commit/d15d5ea67b81cde811207ff6853b381c3ebe4b41
  [2]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801436

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sbuild/+bug/1976257/+subscriptions




More information about the foundations-bugs mailing list