HomePhabricator

build: Replace genisoimage with xorriso

Description

build: Replace genisoimage with xorriso

Summary:

xorriso and its mkisofs/genisoimage emulation alter-ego xorrisofs are
more maintained, and has the right toggles for us to achieve output
determinism without using blunt tools like faketime.

In this commit, we use xorrisofs from the build environment rather than
building it ourselves using depends. This is not necessary and can be
changed in the future.

From https://wiki.debian.org/genisoimage?action=recall&rev=11 :

The classical command line interface for production of ISO 9660
filesystem images is the option set established by program mkisofs.
For reasons of licensing and other problems with its author, Debian
ships a fork of mkisofs, called genisoimage, which was split off in
2006 and then developed independently.

Meanwhile, genisoimage gets no new features and not even bug fixes. It
is first choice only if its options -udf or -hfs are needed.

Replacement in most uses cases, especially for bootable ISO 9660
filesystems, archiving, and backup, is xorrisofs which starts the -as
mkisofs emulation mode of program xorriso.

This is also necessary for Guix to achieve determinism without using faketime.

This is a backport of core#20470 and core#20985

Depends on D13789

Test Plan: crossbuilds on CI

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D13753

Details

Provenance
PiRKAuthored on Apr 21 2023, 10:56
PiRKPushed on Apr 27 2023, 06:27
Reviewer
Restricted Project
Differential Revision
D13753: build: Replace genisoimage with xorriso
Parents
rABCfb03d3c594d7: [Automated] Update timing.json
Branches
Unknown
Tags
Unknown