Public bug reported:

## FFE ##

THIS IS A WIP

[Rationale]

pigz currently links against zopfli. However, the zopfli upstream
project is archived and not moving for a while, the only use case for
zoplfli in pigz is a mode with slower but dense compression.

In order to promote pigz to main and ensure it can be secured for the
next Ubuntu LTS versions, we want to stop linking it against zopfli.

[ Scope ]

The idea is to compile pigz with the NOZOPFLI option, effectively
dropping the linkage against libzopfli
(https://code.launchpad.net/~athos/ubuntu/+source/pigz/+git/pigz/+merge/511331).
This will get pigz to no longer have the -11 option, which triggers the
zopfli compression. It will also drop the following options: -F -I -J
-O, which are all related to the zopfli -11 compression level.

See the "Other info" section in the end of this report for a reverse
dependencies impact analysis.

$ seeded-in-ubuntu pigz
pigz's binaries are not seeded.


[ Testing ]

* Smoke test:
  - PPA: https://launchpad.net/~athos/+archive/ubuntu/pigz-zopfli/+packages
  - Build: 
https://launchpadlibrarian.net/876960694/buildlog_ubuntu-stonking-amd64.pigz_2.8-2ubuntu2_BUILDING.txt.gz

autopkgtests pass locally. The package installs and upgrades fine as
well.

See the "Other info" section below for how it affects other packages.

[ Other Info ]

Why doing this this late in this cycle?
This was just identified during the docker.io-app MIR process. We can wait for 
the next cycle if this is too disruptive, but the earlier we gather user 
feedback and identify issues, the more prepared we will be for the next LTS 
release (in case we decide to revert the change and take over upstream 
maintenance of the dead zopfli package).

The proposed change will remove the "-11" option from the pigz CLI
binary. This will affect any package (and users) calling pigz with that
option to use zopfli denser compression.

A quick search in debian's codesearch
(https://codesearch.debian.net/search?q=.*pigz.*-11.*&literal=0) shows
that some source packages have calls to "pigz -11" during their build
process in debian/rules. This means that these packages will FTBFS after
this change lands. The same search also shows a few other packages have
runtime calls to `pigz -11`, which may get autopkgtests failing or
result in runtime errors.

The solution here is to patch all these packages to allow using pigz -9
in case -11 is not available. These patches should be forwarded to
Debian to allow us to reduce our technical debt due to this change.

The following packages have the pigz -11 call in d/rules as per the
codesearch reference:

- node-jquery
- underscore
- node-terser
- roundcube
- leaflet
- lunr
- janus
- backbone
- roundcube-plugin-contextmenu
- libjs-bootbox
- uglify-js
- node-flatted
- json-js
- roundcube-skin-classic
- roundcube-plugin-authres-status
- roundcube-plugin-html5-notifier
- roundcube-plugin-thunderbird-labels
- roundcube-plugin-keyboard-shortcuts
- roundcube-plugin-sauserprefs
- leaflet-markercluster
- libjs-toastr
- libjs-qunit
- node-functional-red-black-tree
- node-blueimp-md5
- roundcube-skin-larry
- roundcube-plugin-message-highlight
- roundcube-plugin-compose-addressbook
- libjs-webrtc-adapter
- node-n3
- libjs-sdp
- node-trust-json-document

The following packages have the pigz -11 call in the upstream code
(potentially runtime) as per the codesearch reference:

- mupdf
- vips

Finally, these are all reverse dependencies (i.e., potentially affected
packages) for pigz as per checkrdeps:

# The following should have builds tested:
-- stonking/main build deps on pigz:
node-jquery pigz
underscore pigz
-- stonking/universe build deps on pigz:
backbone pigz
janus pigz
json-js pigz
leaflet pigz
leaflet-markercluster pigz
libjs-bootbox pigz
libjs-qunit pigz
libjs-sdp pigz
libjs-toastr pigz
libjs-webrtc-adapter pigz
node-blueimp-md5 pigz
node-flatted pigz
node-functional-red-black-tree pigz
node-lunr pigz
node-n3 pigz
node-terser pigz
node-trust-json-document pigz
python-xopen pigz
roundcube pigz
roundcube-plugin-authres-status pigz
roundcube-plugin-compose-addressbook pigz
roundcube-plugin-contextmenu pigz
roundcube-plugin-html5-notifier pigz
roundcube-plugin-keyboard-shortcuts pigz
roundcube-plugin-message-highlight pigz
roundcube-plugin-sauserprefs pigz
roundcube-plugin-thunderbird-labels pigz
roundcube-skin-classic pigz
roundcube-skin-larry pigz
uglify-js pigz
xphyle pigz

# The following should have autopkgtest runs
-- stonking/universe amd64 deps on pigz:
awit-dbackup (r) [all] pigz
bbmap (r) [all] pigz
clonezilla [all] pigz
dcm2niix (r) pigz
debian-cd [all] pigz
docker.io (r) pigz
kameleon (r) [all] pigz
kup-server (r) [all] pigz
mricron (r) pigz
python3-cutadapt pigz
python3-xopen [all] pigz
q2-cutadapt pigz
shovill pigz
-- stonking/main autopkgtest deps on pigz:
node-jquery pigz
underscore pigz
-- stonking/universe autopkgtest deps on pigz:
backbone pigz
janus pigz
json-js pigz
leaflet pigz
leaflet-markercluster pigz
libjs-bootbox pigz
libjs-qunit pigz
libjs-sdp pigz
libjs-toastr pigz
libjs-webrtc-adapter pigz
node-blueimp-md5 pigz
node-flatted pigz
node-functional-red-black-tree pigz
node-lunr pigz
node-n3 pigz
node-terser pigz
node-trust-json-document pigz
python-xopen pigz
roundcube pigz
roundcube-plugin-authres-status pigz
roundcube-plugin-compose-addressbook pigz
roundcube-plugin-contextmenu pigz
roundcube-plugin-html5-notifier pigz
roundcube-plugin-keyboard-shortcuts pigz
roundcube-plugin-message-highlight pigz
roundcube-plugin-sauserprefs pigz
roundcube-plugin-thunderbird-labels pigz
roundcube-skin-classic pigz
roundcube-skin-larry pigz
uglify-js pigz
xphyle pigz

** Affects: pigz (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2167335

Title:
  [FFe] do not use zopfli for compression

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pigz/+bug/2167335/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to