Bug 41558

Summary: ia32-libs : Depends: ia32-libs-i386 but it is not installable - OpenLDAP-2.4.2 is not multi-arch compatible
Product: UCS Reporter: Jens Thorp-Hansen <thorp-hansen>
Component: LDAPAssignee: Philipp Hahn <hahn>
Status: CLOSED FIXED QA Contact: Arvid Requate <requate>
Severity: normal    
Priority: P5 CC: gohmann, hahn, requate
Version: UCS 4.1   
Target Milestone: UCS 4.1-4-errata   
Hardware: Other   
OS: Linux   
What kind of report is it?: Bug Report What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 2: Will only affect a few installed domains How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.069 Enterprise Customer affected?: Yes
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: 2016061421000279 Bug group (optional):
Max CVSS v3 score:
Bug Depends on: 38876    
Bug Blocks:    

Description Jens Thorp-Hansen univentionstaff 2016-06-14 12:57:11 CEST
When trying to install ia32-libs on UCS4.1-2 you get:
 
apt-get install -s ia32-libs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
 
The following packages have unmet dependencies:
ia32-libs : Depends: ia32-libs-i386 but it is not installable
E: Unable to correct problems, you have held broken packages.
 
Issue: ia32-libs is in "unmaintained". The dependency to ia32-libs-i386 can not be resolved, because this package does not exist.

Reference: Ticket#2016061421000279
Comment 1 Philipp Hahn univentionstaff 2016-06-14 13:37:50 CEST
RTFM: apt-cache show ia32-libs
> This package requires multiarch to be enabled before it can be installed, use "dpkg --add-architecture i386".

The problem is that UCS is not fully multi-arch...

# dpkg --add-architecture i386
# sed -ne "s/$(dpkg --print-architecture)/$(dpkg --print-foreign-architectures)/p" /etc/apt/sources.list.d/??_ucs*.list > /etc/apt/sources.list.d/41558_multiarch.list
# apt-get -qq update
# apt-get install ia32-libs
...
 ia32-libs → ia32-libs-i386 → libcurl3 → libldap-2.4.2
  Conflicts with itself as the version in UCS is not multi-arch aware

Look like the last built of OpenLDAP-2.4.2 in UCS-4.1 is broken, as that Conflics is new in that version. It was built for Bug #38876.
Probably patches/openldap/4.1-0-0-ucs/2.4.42+dfsg-2/95-fix-ftbfs.patch is the culprit as OpenLDAP depends on a previous version of itself to be built.
Comment 2 Philipp Hahn univentionstaff 2016-06-14 13:47:47 CEST
Instead of the "sed" that should work as well:
 ucr set repository/online/architectures='i386 amd64'
So multi-arch should work, but currently not due to the bug in libldap-2.4.2
Comment 3 Jens Thorp-Hansen univentionstaff 2016-06-16 08:06:24 CEST
happened again: Ticket#2016061421000279
Comment 4 Philipp Hahn univentionstaff 2016-12-02 16:34:43 CET
Cherry picked package openldap[75770] version 2.4.42+dfsg-2 from 4.1-0-0[76]/None[0] to 4.1[76]/errata4.1-4[463]

r16985 | Bug #41558: Make OpenLDAP MultiArch aware (4.1-4)
r16986 | Bug #41558: Make OpenLDAP MultiArch aware (4.2-0)

Package: openldap
Version: 2.4.42+dfsg-2.219.201612021613
Branch: ucs_4.1-0
Scope: errata4.1-4

r74946 | Bug #41558: Make OpenLDAP MultiArch aware YAML
 openldap.yaml


QA:
 ucr set repository/online/architectures='i386 amd64'
 dpkg --add-architecture i386
 apt-get -qq update
 apt-get install -s ia32-libs -libgd2-noxpm +libgd2-xpm

Please note that the 'noxpm' version of "libgd2" must be removed in favor of the full 'libgdb2' version; a cross-arch mixture is not allowed and 'ia32-libs' pulls in "libgdb2" through "libgphoto2-2"
Comment 5 Stefan Gohmann univentionstaff 2016-12-21 06:27:18 CET
r75457:
Remove UCS 4.1-3 from YAML file since UCS 4.1-3 is no longer in maintenance (Bug #41558)
Comment 6 Arvid Requate univentionstaff 2017-02-14 21:54:37 CET
Verified:
* cherrypick
* Patch-Diff Ok
* Univention patches applied
* Package update Ok
* Advisory Ok

But installation of ia32-libs seems to fail still:
=========================================================================
dpkg --add-architecture i386; ucr set repository/online/unmaintained='yes' repository/online/architectures='i386 amd64'; apt-get -qq update; \
apt-get install ia32-libs libgd2-noxpm- libgd2-xpm
[...]
 ia32-libs : Hängt ab von: ia32-libs-i386
=========================================================================

Continuing adding dependencies finally results in
=========================================================================
apt-get install -s ia32-libs ia32-libs-i386 libcurl3:i386 \
        libldap-2.4-2:i386 libgd2-noxpm- libgd2-xpm
=========================================================================
uninstalling a lot of univention-* packages.
Comment 7 Philipp Hahn univentionstaff 2017-02-15 10:07:05 CET
printf '%s\n%s\n%s\n' 'deb [trusted=yes] http://omar.knut.univention.de/build2 ucs_4.1-0-errata4.1-4/'{amd64,i386,all}/ >>/etc/apt/sources.list
apt-get -qq update
DEBIAN_FRONTEND=noninteractive apt-get install ia32-libs libgd2-noxpm- libgd2-xpm+
# enjoy the Bug #39903 firework
Comment 8 Arvid Requate univentionstaff 2017-02-15 12:03:25 CET
Ok, works.
Comment 9 Janek Walkenhorst univentionstaff 2017-02-16 11:29:10 CET
<http://errata.software-univention.de/ucs/4.1/399.html>