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)