rdma-core needs to skip pandoc on i386

Bug #1858479 reported by Steve Langasek
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
rdma-core (Ubuntu)
Fix Released
Medium
Christian Ehrhardt 

Bug Description

The rdma-core package has a build-dependency on pandoc for documentation building. In general, it is nice if documentation builds can be done in an arch: all -doc package so that they can be shared across architectures. In specific, we need rdma-core to not build-depend on pandoc on i386 (and thus, skip the documentation build) because pandoc is written in haskell and it is not reasonable to maintain the haskell toolchain on i386 in focal.

rdma-core itself is in the i386 whitelist as a build-dependency of ceph, which is a build-dependency of samba. It would be equally reasonable to change either of these packages (ceph, samba) to drop /their/ build-dependencies on i386, if you prefer.

Changed in rdma-core (Ubuntu):
assignee: nobody → Rafael David Tinoco (rafaeldtinoco)
Changed in rdma-core (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

@vorlon:

Thinking out loud here, but.. reading your e-mail from:

https://lists.ubuntu.com/archives/ubuntu-devel/2019-November/040852.html

and the initial RFC in:

https://discourse.ubuntu.com/t/community-process-for-32-bit-compatibility/12598/21

PLUS this request...

I understand you want to keep i386 samba binaries around, and getting rid of ceph OR rdma-core would be okay for i386 arch, specially now that we're phasing out the arch.

Samba package already has a filter for enabling or not samba ceph support PER arch, so it would be very straightforward if dependencies are available in archive :o).

Corroborating to that:

----

samba ceph support is only good for:

CephFS Snapshot Integration
---------------------------

CephFS snapshots can now be exposed as previous file versions using the new
ceph_snapshots VFS module. See the vfs_ceph_snapshots(8) man page for details.

which is definitely not core function, specially to keep in i386 arch.

----

With this change, having, or not, ceph binaries (depending on rdma-core) would be orthogonal to this issue AND you would be able to drop, or not, the rdma-core binaries if you want.

About the rdma-core package: I really doubt anyone using RDMA would rely on 32bit binaries for that so, IMHO, it makes no sense to keep it for i386.

Unsure if you want to keep ceph binaries for i386 around. If you do, then we would have to remove the rdma-core dependency for i386.

----

TL;DR version:

- removing cephfs dependency for samba i386 is straight-forward and better option;
- it would free ceph to be removed, or not, independently;
- if ceph is kept for i386, more work would need to be done;

----

Next:"

I'll prepare the changes tomorrow morning first thing and use this bug to report.

o/

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 1858479] Re: rdma-core needs to skip pandoc on i386

On Tue, Jan 07, 2020 at 01:20:21AM -0000, Rafael David Tinoco wrote:
> I understand you want to keep i386 samba binaries around, and getting
> rid of ceph OR rdma-core would be okay for i386 arch, specially now that
> we're phasing out the arch.

> Samba package already has a filter for enabling or not samba ceph
> support PER arch, so it would be very straightforward if dependencies
> are available in archive :o).

samba itself is not in the list of packages that we are committed to
keeping. It is in the seed as a build-dependency of vlc (the full
dependency chain is: samba <- vlc <- efl <- dbus-c++ <- libffado <-
jack-audo-connection-kit <- pulseaudio).

The guiding principle is that we should keep whatever (build-)dependency
trees that are required to support the packages which are mandatory to keep,
as long as these dependencies are reasonable to maintain, while introducing
delta on a minimum number of packages, and without unreasonably diminishing
the functionality of the compatibility library packages.

pandoc is not supportable because it's haskell, so must be cut.

rdma-core is uninteresting on i386 and has a single reverse-dependency
(ceph) so can be cut.

ceph is uninteresting on i386 and has a single reverse-dependency (samba) so
can be cut.

samba is in the seed because of vlc, but it also has gvfs-backends as an
unseeded binary dependency. So dropping samba would require changing two
source packages instead of one. Therefore I recommend keeping samba in and
changing it to not pull in ceph on i386.

> - removing cephfs dependency for samba i386 is straight-forward and better option;
> - it would free ceph to be removed, or not, independently;
> - if ceph is kept for i386, more work would need to be done;

Once samba has been updated to drop the build-dependency on ceph for i386,
ceph will be (more or less) automatically removed.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Alright, got samba working without ceph:

dpkg-deb: building package 'samba' in '../samba_4.11.1+dfsg-3ubuntu1_i386.deb'.
...

will make sure no binary is linked against it and propose a merge.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

$ find . -type f -exec nm {} \; 2>/dev/null | awk '{print $3}' | sort
-u | grep -i ceph
$

no ceph symbols against unpacked i386 packages binaries.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

(c)rafaeldtinoco@rdmaissue-i386:~/temp/temp$ find . -type f -exec nm {} \; 2>/dev/null | awk '{print $3}' | sort
-u | grep -i ceph
ceph_fns
ceph_snap_enum_snapdir
ceph_snap_fill_label
ceph_snap_fns
ceph_snap_get_btime
...

the x86_64 version. All seem good. Finishing up...

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Fixed in openmp to no more depend on rdma-core, rdma-core removed from x86 whitelist.

Changed in rdma-core (Ubuntu):
assignee: Rafael David Tinoco (rafaeldtinoco) → Christian Ehrhardt  (paelzer)
status: In Progress → Fix Released
status: Fix Released → Fix Committed
Changed in rdma-core (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.