Package: krb5-multidev
Version: 1.15.2-2
Severity: important
Tags: patch

Dear Maintainer,

The packages krb5-multidev and libkrb5-dev are not multi-arch installable.

A diff of the i386 and amd64 variants of krb5-multidev reveals
a file conflict in /usr/bin/krb5-config(.mit).

  -libdir=${prefix}/lib/i386-linux-gnu/mit-krb5
  +libdir=${prefix}/lib/x86_64-linux-gnu/mit-krb5

The -L$libdir option causes this conflict, due to the hard-coded
/usr/lib/<triplet> path.

On Debian, this path is not needed to link with libraries in
/usr/lib/<triplet>. So I have attached a patch removing this
option, but keeping -Wl,-z,relro in the output.

The patch is based on your git repository, but creates a quilt
patch in debian/patches.

Also, I have attached patches marking krb5-multidev and libkrb5-dev
Multi-Arch: same.

Multi-arch support is needed by other projects, so please apply
the patches as soon as possible.

Thank you.



-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.13.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_AU:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages krb5-multidev depends on:
ii  comerr-dev          2.1-1.43.7-1
ii  libgssapi-krb5-2    1.15.2-2
ii  libgssrpc4          1.15.2-2
ii  libk5crypto3        1.15.2-2
ii  libkadm5clnt-mit11  1.15.2-2
ii  libkadm5srv-mit11   1.15.2-2
ii  libkrb5-3           1.15.2-2

krb5-multidev recommends no packages.

Versions of packages krb5-multidev suggests:
pn  krb5-doc  <none>

-- no debconf information
From b314ec708a11cf7e4c2b27fcb657f3964701ddae Mon Sep 17 00:00:00 2001
From: Hugh McMaster <hugh.mcmas...@outlook.com>
Date: Mon, 13 Nov 2017 21:13:12 +1100
Subject: [PATCH 1/3] krb5-config: Remove libdir path to enable multi-arch
 support

Debian does not need the -L$libdir option to link with libraries
in /usr/lib/<triplet>.

Signed-off-by: Hugh McMaster <hugh.mcmas...@outlook.com>
---
 0012-krb5-config-libdir.patch |   28 ++++++++++++++++++++++++++++
 series                        |    1 +
 2 files changed, 29 insertions(+)
 create mode 100644 debian/patches/0012-krb5-config-libdir.patch

diff --git a/debian/patches/0012-krb5-config-libdir.patch 
b/debian/patches/0012-krb5-config-libdir.patch
new file mode 100644
index 000000000..16d38da11
--- /dev/null
+++ b/debian/patches/0012-krb5-config-libdir.patch
@@ -0,0 +1,28 @@
+Index: debian-krb5-2013/src/build-tools/krb5-config.in
+===================================================================
+--- debian-krb5-2013.orig/src/build-tools/krb5-config.in
++++ debian-krb5-2013/src/build-tools/krb5-config.in
+@@ -30,7 +30,7 @@ version_string="Kerberos 5 release @KRB5
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ includedir=@includedir@/mit-krb5
+-libdir=@libdir@/mit-krb5
++libdir=''
+ CC_LINK='@CC_LINK@'
+ KDB5_DB_LIB=@KDB5_DB_LIB@
+ LDFLAGS='@LDFLAGS@'
+@@ -209,13 +209,12 @@ fi
+ 
+ 
+ if test -n "$do_libs"; then
+-      libdirarg="-L$libdir"
+     # Ugly gross hack for our build tree
+     lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \
+           -e 's/\$(PURE)//' \
+           -e 's#\$(PROG_RPATH_FLAGS)#'"$PROG_RPATH_FLAGS"'#' \
+           -e 's#\$(PROG_RPATH)#'$libdir'#' \
+-          -e 's#\$(PROG_LIBPATH)#'$libdirarg'#' \
++          -e 's#\$(PROG_LIBPATH)#'$libdir'#' \
+           -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \
+           -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \
+           -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \
diff --git a/debian/patches/series b/debian/patches/series
index f6c41d60b..3a974acc3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@ debian-local/0008-Use-isystem-for-include-paths.patch
 debian-local/0009-Fix-krb5-config-paths.patch
 0010-Initial-German-translations.patch
 0011-Fix-PKINIT-cert-matching-data-construction.patch
+0012-krb5-config-libdir.patch
-- 
2.15.0

From 9146b65ca6c07029332e9881f8f4b366ad2936f4 Mon Sep 17 00:00:00 2001
From: Hugh McMaster <hugh.mcmas...@outlook.com>
Date: Mon, 13 Nov 2017 21:18:09 +1100
Subject: [PATCH 2/3] debian/control: Mark krb5-multidev Multi-Arch: same

Signed-off-by: Hugh McMaster <hugh.mcmas...@outlook.com>
---
 debian/control | 1 +
 1 file changed, 1 insertion(+)

diff --git a/debian/control b/debian/control
index d215db249..9f53e51f7 100644
--- a/debian/control
+++ b/debian/control
@@ -116,6 +116,7 @@ Description: MIT Kerberos key server (Slave KDC Support)
 Package: krb5-multidev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, libkrb5-3 (= ${binary:Version}),
  libk5crypto3 (= ${binary:Version}), libgssapi-krb5-2 (= ${binary:Version}),
  libgssrpc4 (= ${binary:Version}),
-- 
2.15.0

From 5236ca78b3c1864085c9381c32bc502ab837c998 Mon Sep 17 00:00:00 2001
From: Hugh McMaster <hugh.mcmas...@outlook.com>
Date: Mon, 13 Nov 2017 21:18:46 +1100
Subject: [PATCH 3/3] debian/control: Mark libkrb5-dev Multi-Arch: same

Signed-off-by: Hugh McMaster <hugh.mcmas...@outlook.com>
---
 debian/control | 1 +
 1 file changed, 1 insertion(+)

diff --git a/debian/control b/debian/control
index 9f53e51f7..6f7445ad7 100644
--- a/debian/control
+++ b/debian/control
@@ -141,6 +141,7 @@ Description: development files for MIT Kerberos without 
Heimdal conflict
 Package: libkrb5-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, krb5-multidev (= ${binary:Version})
 Replaces: krb5-multidev (<< 1.8+dfsg~alpha1-3)
 Conflicts: heimdal-dev
-- 
2.15.0

Reply via email to