[trantision] Merge/Sync src:liburing 2.1-2 from Debian

Bug #1944037 reported by Juhyung Park
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
liburing (Ubuntu)
Fix Released
Undecided
Paride Legovini

Bug Description

The upstream liburing reached v2.1 while Ubuntu packaged version still remains at a year old v0.7.

There has been 449 commits in between these releases with a lot of bug fixes.

Please update the version to the latest one.

Thanks.

[transition]

In 'ben' terms the transition has the following parameters:

Affected: .build-depends ~ /liburing-dev/
Good: .depends ~ /liburing2/
Bad: .depends ~ /liburing1/

Tags: needs-merge
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Thanks for taking the time to report this bug and trying to make Ubuntu better.

You are right, we are behind upstream, but right now we are on freeze to release Impish (Ubuntu 21.10) and a major upstream version bump would not be allowed at this point. I see in Debian we already have version 2.1 in experimental, we will definitely update to this version in the next cycle (after releasing Impish).

Changed in liburing (Ubuntu):
status: New → Triaged
Revision history for this message
Utkarsh Gupta (utkarsh) wrote (last edit ):

Hiya, I am in contact w Guilhem (been so for a couple of months now) and we're gonna land this soon in Debian unstable. So maybe I'll take care of this (w/ Paride leading this here).

Changed in liburing (Ubuntu):
assignee: nobody → Utkarsh Gupta (utkarsh)
status: Triaged → In Progress
Paride Legovini (paride)
Changed in liburing (Ubuntu):
assignee: Utkarsh Gupta (utkarsh) → Paride Legovini (paride)
Revision history for this message
Paride Legovini (paride) wrote :

@Utkarsh should we make this a duplicate of LP: #1946868? (Andreas grabbed it!)

Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Hi Paride, I've marked that one as duplicate of this one (since this is the actual and original bug report) and so I hope we can continue to look at this.

Paride Legovini (paride)
tags: added: needs-merge
Revision history for this message
Juhyung Park (arter97) wrote :

Any updates?

Revision history for this message
Paride Legovini (paride) wrote :

Hi Park, we planned to work at this next week.

Revision history for this message
Paride Legovini (paride) wrote :

I think we can actually make liburing a sync. AIUI the Ubuntu delta is all about fixing a FTBFS with ftbfs with glibc 2.34 and fixing autopkgtest test failures.

The FTBFS seems to be gone as I built the Debian package in a Jammy PPA (with -proposed enabled) on all the supported architectures, with no problems:

https://launchpad.net/~paride/+archive/ubuntu/liburing-2.1-2

The autopkgtest are also all passing:

$ autopkgtest --add-apt-source={deb,deb-src}' [trusted=yes] http://ppa.launchpad.net/paride/liburing-2.1-2/ubuntu jammy main' -U --no-built-binaries liburing -- qemu ~/ubuntu/autopkgtest-images/autopkgtest-jammy-amd64.img

autopkgtest [17:49:42]: @@@@@@@@@@@@@@@@@@@@ summary
test-build PASS
test-unit PASS

which I kind of expected from the quick look I had to the Debian packaging repository commit history. In any case we'll have to handle the transition manually, but it's good if we manage to drop all the delta.

Paride Legovini (paride)
summary: - Latest packaged version is a year old with a lot of bug fixes missing
+ [trantision] Merge/Sync src:liburing 2.1-2 from Debian
Revision history for this message
Paride Legovini (paride) wrote :

# Transition details

## Notice email to ubuntu-devel

https://lists.ubuntu.com/archives/ubuntu-devel/2021-November/041679.html

## Affected packages

$ reverse-depends -b src:liburing
Reverse-Build-Depends
* mpd (for liburing-dev)
* plocate (for liburing-dev)
* qemu (for liburing-dev)
* samba (for liburing-dev)

$ reverse-depends src:liburing
Reverse-Depends
* mpd (for liburing1)
* plocate (for liburing1)
* qemu-guest-agent (for liburing1)
* qemu-system-arm (for liburing1)
* qemu-system-common (for liburing1)
* qemu-system-mips (for liburing1)
* qemu-system-misc (for liburing1)
* qemu-system-ppc (for liburing1)
* qemu-system-s390x (for liburing1)
* qemu-system-sparc (for liburing1)
* qemu-system-x86 (for liburing1)
* qemu-system-x86-xen [amd64] (for liburing1)
* qemu-user (for liburing1)
* qemu-utils (for liburing1)
* samba-vfs-modules (for liburing1)

All the qemu-* packages come from src:qemu we we have 4 source packages to consider in the migration, plus src:mariadb-10.6, which is discoverable via:

$ grep-dctrl -s Package -F Build-Depends liburing-dev /var/lib/apt/lists/*Sources | sort -u
Package: mariadb-10.6
Package: mpd
Package: plocate
Package: qemu
Package: samba

The package is not listed by reverse-depends because it never left -proposed. We're still going to check if it builds fine with liburing2, but we're probably not going to block the transition because of it, especially given that it already has non-trivial excuses to fix before it can migrate.

## Rebuilds PPA:

https://launchpad.net/~paride/+archive/ubuntu/liburing-2.1-2

Revision history for this message
Paride Legovini (paride) wrote :

# Rebuild: mpd

Rebuilt fine with no changes.
Full build log attached.

autopkgtest [15:28:29]: @@@@@@@@@@@@@@@@@@@@ summary
command1 PASS

Uploaded to the PPA:

Uploading mpd_0.23.4-1.dsc
Uploading mpd_0.23.4.orig.tar.xz
Uploading mpd_0.23.4.orig.tar.xz.asc
Uploading mpd_0.23.4-1.debian.tar.xz
Uploading mpd_0.23.4-1_source.changes

Revision history for this message
Paride Legovini (paride) wrote :

# Rebuild: plocate

Rebuilt fine with no changes.
Full build log attached.

autopkgtest [15:42:24]: @@@@@@@@@@@@@@@@@@@@ summary
basic PASS
updatedb PASS
upgrade-from-mlocate PASS

Uploaded to the PPA:

Uploading plocate_1.1.8-2.dsc
Uploading plocate_1.1.8.orig.tar.gz
Uploading plocate_1.1.8-2.debian.tar.xz
Uploading plocate_1.1.8-2_source.changes

Revision history for this message
Paride Legovini (paride) wrote (last edit ):

# Rebuild: samba

Rebuilt fine with no changes.
Full build log attached.

autopkgtest [17:43:14]: @@@@@@@@@@@@@@@@@@@@ summary
cifs-share-access PASS
cifs-share-access-uring PASS
python-smoke PASS
smbclient-anonymous-share-list PASS
smbclient-authenticated-share-list PASS
smbclient-share-access PASS
smbclient-share-access-uring PASS

Uploaded to the PPA:

Uploading samba_4.13.5+dfsg-2ubuntu4~paride1.dsc
Uploading samba_4.13.5+dfsg.orig.tar.xz
Uploading samba_4.13.5+dfsg-2ubuntu4~paride1.debian.tar.xz
Uploading samba_4.13.5+dfsg-2ubuntu4~paride1_source.buildinfo
Uploading samba_4.13.5+dfsg-2ubuntu4~paride1_source.changes

Revision history for this message
Paride Legovini (paride) wrote :

# Rebuild: mariadb-10.6

Rebuilt fine with no changes in a Jammy schroot on a Jammy host system (kernel: 5.13.0-19-generic). Full build log attached.

autopkgtest [21:54:31]: @@@@@@@@@@@@@@@@@@@@ summary
smoke PASS
upstream PASS

This means that the source package itself has no problems with the transition, however mariadb-10.6 FTBFS on the LP builders because of LP: #1943292, which is independent from this transition. See also [1].

I don't think we have a blocker here.

[1] https://alioth-lists.debian.net/pipermail/pkg-mysql-maint/2021-November/015411.html

Revision history for this message
Paride Legovini (paride) wrote :

# Rebuild: qemu

Rebuilt fine with no changes.
Full build log: [1]
The package has no autopkgtests.

[1] https://launchpadlibrarian.net/570276296/buildlog_ubuntu-jammy-amd64.qemu_1%3A6.0+dfsg-2expubuntu3~paride1_BUILDING.txt.gz

Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Alright, that's good news. Let's get this party started.

Revision history for this message
Paride Legovini (paride) wrote (last edit ):

I verified more in-depth that we can actually sync liburing instead of merging.

# Builds

The package builds fine everywhere we care of. Build logs:

 * amd64: https://launchpadlibrarian.net/569586848/buildlog_ubuntu-jammy-amd64.liburing_2.1-2_BUILDING.txt.gz
 * arm64: https://launchpadlibrarian.net/569586917/buildlog_ubuntu-jammy-arm64.liburing_2.1-2_BUILDING.txt.gz
 * armhf: https://launchpadlibrarian.net/570371687/buildlog_ubuntu-jammy-armhf.liburing_2.1-2_BUILDING.txt.gz
 * ppc64el: https://launchpadlibrarian.net/569586810/buildlog_ubuntu-jammy-ppc64el.liburing_2.1-2_BUILDING.txt.gz
 * https://launchpadlibrarian.net/569586770/buildlog_ubuntu-jammy-s390x.liburing_2.1-2_BUILDING.txt.gz

These are builds done with -proposed enabled in the PPA.

# Autopkgtests

They pass on all the build architectures:

 * amd64: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy-paride-liburing-2.1-2/jammy/amd64/libu/liburing/20211123_104250_b8456@/log.gz
 * arm64: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy-paride-liburing-2.1-2/jammy/arm64/libu/liburing/20211123_103949_bbc86@/log.gz
 * armhf: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy-paride-liburing-2.1-2/jammy/armhf/libu/liburing/20211123_122952_18c52@/log.gz
 * ppc64el: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy-paride-liburing-2.1-2/jammy/ppc64el/libu/liburing/20211123_104609_ff750@/log.gz
 * s390x: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy-paride-liburing-2.1-2/jammy/s390x/libu/liburing/20211123_104028_be566@/log.gz

Note: all but the armhf one pass with:

@@@@@@@@@@@@@@@@@@@@ summary
test-build PASS
test-unit PASS

while the liburing 0.7-3ubuntu3 runs have runs like:

autopkgtest [04:17:21]: @@@@@@@@@@@@@@@@@@@@ summary
test-build PASS
test-unit FLAKY non-zero exit status 2

where the overall run passes but with ignored failures (d/t/control has `Restrictions: flaky skippable`).

The armhf autopkgtest has Segmentation faults in test-build, but the test overall passes as it's `Restrictions: flaky`. Apparently here's no baseline armhf Jammy autopkgtest run for liburing (https://autopkgtest.ubuntu.com/packages/liburing), so this doesn't really count as a regression (still not nice).

## Skipped tests (amd64)

The test run for the version currently in Jammy [1] skips two tests:

---------------
Unable to map a huge page. Try increasing /proc/sys/vm/nr_hugepages by at least 1.
Skipping the hugepage test
Not enough memory for this test, skipping

Running test fc2a85cb02ef-test:
Test needs failslab/fail_futex/fail_page_alloc enabled, skipped
---------------

The same skips are in the autopkgtest run from the PPA (i.e. from the hereby proposed sync). There are other tests skipped in the PPA autopkgtest run, but those are outright (ignored) failures in the liburing 0.7-3ubuntu3 autopkgtest run.

The PPA autopkgtest run has some tests skipped because of missing root permissions. Those pass locally in a run done with `autopkgtest --user root ... -- qemu`.

[1] https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/amd64/libu/liburing/20210714_041738_a5a0a@/log.gz

Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

This bug was fixed in the package liburing - 2.1-2
Sponsored for Paride Legovini (paride)

---------------
liburing (2.1-2) unstable; urgency=medium

  * Upload to unstable.
  * Switch to Standards-Version 4.6.0 (no changes needed).
  * Make globs in debhelper fragment files more specific to avoid them
    missing filename changes or including unintended files.

 -- Guillem Jover <email address hidden> Sat, 13 Nov 2021 02:07:31 +0100

liburing (2.1-1) experimental; urgency=medium

  * New upstream release.
  * Add patch to fix build failures on any-arm due to direct syscall(2) use.

 -- Guillem Jover <email address hidden> Thu, 16 Sep 2021 04:02:01 +0200

liburing (2.0-1) experimental; urgency=medium

  * New upstream version.
    - Bump shared library SONAME to liburing2.
    - Install man pages from section 3 and 7.
  * Add patch to skip tests that require root.

 -- Guillem Jover <email address hidden> Thu, 09 Sep 2021 03:29:04 +0200

Changed in liburing (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Paride Legovini (paride) wrote :
Revision history for this message
Paride Legovini (paride) wrote :
Revision history for this message
Paride Legovini (paride) wrote :
Revision history for this message
Paride Legovini (paride) wrote :
Paride Legovini (paride)
description: updated
Bryce Harrington (bryce)
Changed in liburing (Ubuntu):
milestone: none → jammy-updates
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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