Bug#676232: dpkg: Please add support for specific arch qualifiers (cross-dependencies)

2012-06-05 Thread Thibaut Girka
Package: dpkg
Version: 1.16.3+nmu1
Severity: wishlist
Tags: patch

Hi,

I'm currently working on multiarch-friendly cross-toolchains.
Such packages would greatly benefit from specific arch qualifiers in both
binary package field “Depends” and source package field “Build-
Depends”.
The latter is already handled in apt-get's “build-dep” command.

Having such a feature in Wheezy would be great, as it would enable third-
parties to provide cross-compilers depending on the target arch's packages.
Plus, such a feature shouldn't change anything to how existing packages are
handled.
Thus, I think this is a useful and safe feature to add, suitable for Wheezy.

The attached patch applies on top of the patch provided in #558095, although I
haven't set it as a blocker, since those are two separate issues.



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (120, 'unstable'), (105, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dpkg depends on:
ii  libbz2-1.0   1.0.6-1
ii  libc62.13-33
ii  libselinux1  2.1.9-2
ii  tar  1.26-4
ii  xz-utils 5.1.1alpha+20110809-3
ii  zlib1g   1:1.2.7.dfsg-11

dpkg recommends no packages.

Versions of packages dpkg suggests:
ii  apt  0.9.5.1+nmu2

-- no debconf information
From a74262dfa5d9f1b437d66bf1cc969bf3dcc52117 Mon Sep 17 00:00:00 2001
From: Thibaut Girka t...@sitedethib.com
Date: Thu, 26 Apr 2012 23:08:14 +0200
Subject: [PATCH 2/2] Add support for specific arch qualifiers and cross-arch
 dependencies

---
 lib/dpkg/fields.c|2 --
 scripts/Dpkg/Deps.pm |5 -
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/dpkg/fields.c b/lib/dpkg/fields.c
index ed655f9..07091d2 100644
--- a/lib/dpkg/fields.c
+++ b/lib/dpkg/fields.c
@@ -448,8 +448,6 @@ f_dependency(struct pkginfo *pkg, struct pkgbin *pkgbin,
 
 if (dop-arch-type == arch_illegal)
   emsg = dpkg_arch_name_is_illegal(arch.buf);
-else if (dop-arch-type != arch_wildcard)
-  emsg = _(a value different from 'any' is currently not allowed);
 if (emsg)
   parse_error(ps, _('%s' field, reference to '%.255s': 
 invalid architecture name '%.255s': %s),
diff --git a/scripts/Dpkg/Deps.pm b/scripts/Dpkg/Deps.pm
index d85ad5f..89cbbfa 100644
--- a/scripts/Dpkg/Deps.pm
+++ b/scripts/Dpkg/Deps.pm
@@ -575,7 +575,7 @@ sub parse_string {
   ([a-zA-Z0-9][a-zA-Z0-9+.-]*)  # package name
   (?:   # start of optional part
 :   # colon for architecture
-(any|native)# architecture name
+([a-zA-Z0-9][a-zA-Z0-9-]*)  # architecture name
   )?# end of optional part
   (?:   # start of optional part
 \s* \(  # open parenthesis for version part
@@ -1275,6 +1275,9 @@ sub _find_package {
 	return $p if $ma eq allowed;
 	} elsif ($archqual eq native) {
 	return $p if $a eq $build_arch and $ma ne foreign;
+	} else
+	{
+	return $p if $a eq $archqual;
 	}
 }
 return undef;
-- 
1.7.10



Bug#676232: dpkg: Please add support for specific arch qualifiers (cross-dependencies)

2012-06-05 Thread Guillem Jover
Hi!

On Tue, 2012-06-05 at 16:26:20 +0200, Thibaut Girka wrote:
 Package: dpkg
 Version: 1.16.3+nmu1
 Severity: wishlist
 Tags: patch

 I'm currently working on multiarch-friendly cross-toolchains.
 Such packages would greatly benefit from specific arch qualifiers in both
 binary package field “Depends” and source package field “Build-
 Depends”.
 The latter is already handled in apt-get's “build-dep” command.
 
 Having such a feature in Wheezy would be great, as it would enable third-
 parties to provide cross-compilers depending on the target arch's packages.
 Plus, such a feature shouldn't change anything to how existing packages are
 handled.
 Thus, I think this is a useful and safe feature to add, suitable for Wheezy.
 
 The attached patch applies on top of the patch provided in #558095, although I
 haven't set it as a blocker, since those are two separate issues.

Thanks for the patches, I'll take a proper look into them (this one and
the one in #558095) either for 1.16.4 or most probably for 1.16.5.

thanks,
guillem



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org