This is a patch that should close this little issue.
-- -gaspa- ----------------------------------------------- -------- https://launchpad.net/~gaspa --------- ------ HomePage: iogaspa.altervista.org ------- -Il lunedi'dell'arrampicatore: www.lunedi.org -
diff -Nru /tmp/pFIiDXSYFF/apt-build-0.12.29/apt-build /tmp/9zYSrkIzeX/apt-build-0.12.30/apt-build --- /tmp/pFIiDXSYFF/apt-build-0.12.29/apt-build 2007-11-26 18:16:51.000000000 +0100 +++ /tmp/9zYSrkIzeX/apt-build-0.12.30/apt-build 2007-12-05 14:54:46.000000000 +0100 @@ -40,7 +40,7 @@ # Initial -my $VERSION = "unreleased"; +my $VERSION = "0.12.30"; my ($conf, %conf, @builddep, @apt_args); @apt_args = qw/--yes/; # and DEFAULT => 1, down in parse_config() @@ -389,7 +389,7 @@ } print STDERR "-----> Installing build dependencies (for $pkg) <-----"; - !system $conf->apt_get . " @apt_args build-dep $pkg" + !system $conf->apt_get . " @apt_args build-dep $pkg"; } @@ -431,12 +431,20 @@ sub get_pkg_version { my $pkg_name = shift; + my $release = shift || ""; my $pkg_version; # Look for candidate version open APTCIN, "LANGUAGE=C " . $conf->apt_cache . " policy $pkg_name |"; while(<APTCIN>) - { $pkg_version = $1 if(/^\s+Candidate: (.*)$/); } + { + $pkg_version = $1 if(/^\s+Candidate: (.*)$/ and $release eq "" ); + if( $release ) + { + last if ( /$release/ ); ## quit from while,but keep the version from the row before + $pkg_version = $2 if( /^\s(\*\*\*)?\s+(.*) \d/ ); + } + } close(APTCIN); return $pkg_version; @@ -458,21 +466,30 @@ } sub install -{ +{ my (@packages, @pkgs, $buildpkg); - my (@pkglist) = @_; + my @pkglist = (); my $nopkgs_okay = 0; my $special_srcver = 0; - + for (@_) { my $pkg_name = $_; - my ($pkg_version, $src_name, $src_version, $deb_file); + my ($pkg_version, $src_name, $src_version, $deb_file,$release); - $pkg_version = &get_pkg_version($pkg_name); + ($pkg_name,$release)=($1,$2) if ( $pkg_name =~ /(.*)\/(.*)/ ); + if( $pkg_name =~ /(.*)=(.*)/ ) + { + ($pkg_name,$pkg_version)=($1,$2); + } else { + # release is ignored if empty + $pkg_version = &get_pkg_version($pkg_name,$release); + } $src_version = &get_src_version($pkg_name, $pkg_version); $src_name = &get_src_name($pkg_name, $src_version); + push ( @pkglist, $pkg_name ); + if (!$src_name && $src_version =~ /\+/) { $src_version =~ s/\+.*$//; $src_name = &get_src_name($pkg_name, $src_version); diff -Nru /tmp/pFIiDXSYFF/apt-build-0.12.29/debian/changelog /tmp/9zYSrkIzeX/apt-build-0.12.30/debian/changelog --- /tmp/pFIiDXSYFF/apt-build-0.12.29/debian/changelog 2007-11-26 18:19:45.000000000 +0100 +++ /tmp/9zYSrkIzeX/apt-build-0.12.30/debian/changelog 2007-12-05 14:59:51.000000000 +0100 @@ -1,3 +1,10 @@ +apt-build (0.12.30) unstable; urgency=low + + * apt-build: Support specific version/distribution for packages to + install ( Closes: #454472 ) + + -- Andrea Gasparini <[EMAIL PROTECTED]> Wed, 05 Dec 2007 14:45:14 +0100 + apt-build (0.12.29) unstable; urgency=low * Don't touch sources.list anymore (Closes: #446074)