Package: multistrap
Version: 2.2.9
Severity: normal
Tags: patch

Dear Maintainer,

The multiarch feature does not currently allow for metapackages to have foreign
dependencies.  For example, if you create a "my-system-configuration" package
with dependencies on both armel and armhf packages then this will fail at the
initial dependency step.  The attached patch fixes this problem by adding the
foreign architectures to the list of apt-recognized architectures (-o
APT::Architectures::=<arch>).



-- System Information:
Debian Release: stretch/sid
  APT prefers xenial-updates
  APT policy: (500, 'xenial-updates'), (500, 'xenial-security'), (500, 
'xenial'), (100, 'xenial-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.0-78-generic (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)

Versions of packages multistrap depends on:
ii  apt                            1.2.20
ii  libconfig-auto-perl            0.44-1
ii  liblocale-gettext-perl         1.07-1build1
ii  libparse-debian-packages-perl  0.03-2
pn  perl:any                       <none>

multistrap recommends no packages.

Versions of packages multistrap suggests:
ii  fakeroot  1.20.2-1ubuntu1

-- no debconf information
>From 07e73e7ae7347927ea1e89ccd4b76886258a3069 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <ehoo...@sweptlaser.com>
Date: Fri, 26 May 2017 13:09:57 -0600
Subject: Allow bootstrapping metapackages with foreign dependencies.

---
 multistrap | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/multistrap b/multistrap
index ad1f94f..92ff6fe 100755
--- a/multistrap
+++ b/multistrap
@@ -315,6 +315,8 @@ close CONFIG;
 
 $config_str = '';
 $config_str .= " -o Apt::Architecture=" . shellescape($arch);
+$config_str .= " -o APT::Architectures::=" . shellescape($_)
+	foreach (@foreignarches);
 $config_str .= " -o Dir::Etc::TrustedParts=" . shellescape("${dir}${etcdir}trusted.gpg.d");
 $config_str .= " -o Dir::Etc::Trusted=" . shellescape("${dir}${etcdir}trusted.gpg");
 if (defined $noauth) {
-- 
2.7.4

Reply via email to