Changeset 180


Ignore:
Timestamp:
05/27/15 21:44:09 (10 years ago)
Author:
kdeugau
Message:

/trunk

A couple of miscellaneous accumulated fixes:

  • Fine-tune handling for dependency checking; provide some extra feedback on what packages to install, and try harder to detect virtual-package-vs-real-package.
  • Drop an obsolete macro from the macro expander. Obsolete at least so far as "it doesn't exist any more in CentOS 5"
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    r178 r180  
    66
    77PKGNAME=debbuild
    8 VERSION=0.9.9
     8VERSION=0.9.10
    99
    1010MANDIR=/usr/share/man
  • trunk/debbuild

    r179 r180  
    3232use Config;
    3333
    34 my $version = "0.9.9";  #VERSION#
     34my $version = "0.9.10"; #VERSION#
    3535
    3636# regex debugger
     
    14851485  my @reqlist = split /,\s+/, $buildreq;
    14861486
     1487  my @missinglist;
    14871488  foreach my $req (@reqlist) {
    14881489    # from rpmbuild error message
     
    15021503    }
    15031504
     1505## Apparently a package that has been installed, then uninstalled, has a "known" dpkg status of
     1506## "unknown ok not-installed" vs a package that has never been installed which returns nothing.  O_o
     1507## Virtual packages, of course, *also* show as "not installed" like this (WTF?)
     1508## This causes real packages to be misdetected as installed "possible virtual packages" instead of "missing
     1509## packages".  I don't think there's really a solution until/unless Debian's tools properly register virtual
     1510## packages as installed.
    15041511    my @pkglist = qx { dpkg-query --showformat '\${status}\t\${version}\n' -W $pkg };
    15051512    if (!$pkglist[0]) {
    1506       print " * Missing build-dependency $pkg!\n";
     1513      print " * Missing build-dependency $pkg!\n  $pkglist[0]";
    15071514      $reqflag = 0;
     1515      push @missinglist, $pkg;
    15081516    } else {
    15091517# real package, installed
     
    15291537      } else {
    15301538        # whatever state it's in, it's not completely installed, therefore it's missing.
    1531         print " * Missing build-dependency $pkg!\n";
     1539        print " * Missing build-dependency $pkg!\n  $pkglist[0]";
    15321540        $reqflag = 0;
     1541        push @missinglist, $pkg;
    15331542      } # end not installed/installed check
    15341543    }
    15351544  } # end req loop
     1545
     1546  print "To install all missing dependencies, run 'apt-get install ".join(' ', @missinglist)."'.\n" unless $reqflag;
    15361547
    15371548  return $reqflag;
     
    17561767
    17571768    $macrostring =~ s|%{_builddir}|%{_topdir}/BUILD|g;
    1758     $macrostring =~ s|%{buildsubdir}|$tarballdir|g;
     1769# no longer a valid macro/tag
     1770#    $macrostring =~ s|%{buildsubdir}|$tarballdir|g;
    17591771    $macrostring =~ s|%{_topdir}|$topdir|g;
    17601772    $macrostring =~ s|%{_tmppath}|$tmpdir|g;
Note: See TracChangeset for help on using the changeset viewer.