upload pocket doesn't accept packages built on Jammy or later

Bug #2018606 reported by Jake Nabasny
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Landscape Server
New
Undecided
Unassigned

Bug Description

=== SUMMARY ===

Version 19.10

Packages built on Ubuntu Jammy 22.04 or later use dpkg-* versions that build the tarballs within the deb package with zst format compression, rather than xz. When the reprepro tool attempts to add the package to the pocket, it fails because it is unable to detect the control tarball with this new format. We found this out by conducting an strace of the action, since the package uploads showed as successful everywhere, but were silently (expect for an empty email) failing to add the package to the pocket.

=== WORKAROUND ===

None.

There is a way to specify compression format when building the deb, for example:

dpkg-buildpackage --compression=xz -B --sign-key=upload-key

However this does not seem to work and still creates tarballs with zst format.

=== STRACE EXCERPT ===

00330908-10837-reprepro.trace:10837 0.000102 read(6</var/lib/landscape/landscape-repository/standalone/ubuntu/incoming/package-name_1.2.3_amd64.deb>, "", 16384) = 0 <0.000034>
00330908-10837-reprepro.trace:10837 0.000078 close(6</var/lib/landscape/landscape-repository/standalone/ubuntu/incoming/package-name_1.2.3_amd64.deb>) = 0 <0.000032>
00330908-10837-reprepro.trace:10837 0.000075 close(7</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>) = 0 <0.005067>
00330908-10837-reprepro.trace:10837 0.005147 openat(AT_FDCWD, "/var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb", O_RDONLY|O_NOCTTY) = 6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb> <0.000781>
00330908-10837-reprepro.trace:10837 0.000849 read(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, "!<arch>
", 8) = 8 <0.000023>
00330908-10837-reprepro.trace:10837 0.000067 lseek(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, 8, SEEK_SET) = 8 <0.000021>
00330908-10837-reprepro.trace:10837 0.000061 read(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, "debian-binary 1682683681 0 0 100644 4 `
", 60) = 60 <0.000025>
00330908-10837-reprepro.trace:10837 0.000069 lseek(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, 72, SEEK_SET) = 72 <0.000023>
00330908-10837-reprepro.trace:10837 0.000058 read(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, "control.tar.zst 1682683681 0 0 100644 495 `
", 60) = 60 <0.000022>
00330908-10837-reprepro.trace:10837 0.000062 lseek(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, 628, SEEK_SET) = 628 <0.000021>
00330908-10837-reprepro.trace:10837 0.000061 read(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, "data.tar.zst 1682683681 0 0 100644 875 `
", 60) = 60 <0.000022>
00330908-10837-reprepro.trace:10837 0.000084 lseek(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, 1564, SEEK_SET) = 1564 <0.000021>
00330908-10837-reprepro.trace:10837 0.000060 read(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>, "", 60) = 0 <0.000023>
00330908-10837-reprepro.trace:10837 0.000062 close(6</var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb>) = 0 <0.000023>
00330908-10837-reprepro.trace:10837 0.000077 write(2</dev/pts/1>, "Could not find a suitable control.tar file within '/var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb'!
", 145) = 145 <0.000058>
00330908-10837-reprepro.trace:10837 0.000137 unlink("/var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.changes") = 0 <0.004803>
00330908-10837-reprepro.trace:10837 0.004932 unlink("/var/lib/landscape/landscape-repository/standalone/ubuntu/temp/package-name_1.2.3_amd64.deb") = 0 <0.004763>

=== EMAIL EXCERPT (nothing is listed under last line) ===

From: noreply@lds
To: Jake Nabasny <root@localhost>
Subject: Package import failed for 'package-name_1.2.3_amd64.changes'
Date: Fri, 5 May 2023 13:44:18 +0000 (UTC)

The following error(s) occured in package import:

Jake Nabasny (slapcat)
description: updated
information type: Proprietary → Public
description: updated
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.