File 0002-replace-genisoimage-with-xorriso.patch of Package image-garden
From e69bad76c1bbd980bf6f5080e186c2386dcee1ce Mon Sep 17 00:00:00 2001
Message-ID: <e69bad76c1bbd980bf6f5080e186c2386dcee1ce.1747807940.git.maciek.borzecki@gmail.com>
From: Maciek Borzecki <maciek.borzecki@gmail.com>
Date: Tue, 20 May 2025 15:23:56 +0200
Subject: [PATCH] replace genisoimage with xorriso
Upstream: submitted
Replace uses of genisoimage, for which the upstream is no longer
maintained, with xorriso which provides a suitable compatiblity
interface.
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
---
.gitlab-ci.yml | 2 +-
Dockerfile | 2 +-
README.md | 2 +-
image-garden.1 | 4 ++--
mk/000-garden.mk | 2 +-
mk/010-qemu.mk | 5 +++--
snap/snapcraft.yaml | 6 +++---
7 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eb2d2f8c325fcdce8fcb312f258443b7b16a5a43..23fea588bcb33b0260b31c5c10053cebe6530cef 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -36,7 +36,7 @@ reuse:
- apt update
- apt install --no-install-recommends -y
ca-certificates
- genisoimage
+ xorriso
make
ovmf
qemu-system-arm
diff --git a/Dockerfile b/Dockerfile
index 27348f45d703058b45b0fda52e0f5721da666036..6a91b510bb03c4c8d230dc89e315fbf4e66aa00a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,7 +9,7 @@ RUN apt update \
&& apt install --no-install-recommends -y \
ca-certificates \
curl \
- genisoimage \
+ xorriso \
git \
make \
ovmf \
diff --git a/README.md b/README.md
index 5f1816ba7b6209e8c3b85e7205855e9890e8d505..c386018e91ca66cfa0f3ef456bc779eefec12ae9 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,7 @@ dedicated packages.
All the images can be built with `make`. You will need the following additional
programs: `wget`, `qemu-system-x86_64`, `qemu-system-aarch64`, `qemu-img`,
-`genisoimage`, and `mkpasswd` (usually in the `whois` package). You should be
+`xorriso`, and `mkpasswd` (usually in the `whois` package). You should be
able to install them on your system of choice, even if that's MacOS.
Note that all the targets need to be run as `image-garden make TARGET`.
diff --git a/image-garden.1 b/image-garden.1
index 887d69a3e001487077080392303425834fed90ac..ebce548f957d556b93d4f1671f5398eb18188f57 100644
--- a/image-garden.1
+++ b/image-garden.1
@@ -262,9 +262,9 @@ program to use instead of the one found on PATH.
Full path of the
.Nm mkpasswd
program to use instead of the one found on PATH.
-.It Ev GENISOIMAGE
+.It Ev XORRISO
Full path of the
-.Nm genisoimage
+.Nm xorriso
program to use instead of the one found on PATH.
.It Ev WGET
Full path of the
diff --git a/mk/000-garden.mk b/mk/000-garden.mk
index 615f1a63845c4815b17c6f551a4ae74a3fd7edbd..c60959cc26e96ad59e7ab6c29ed06dcd0484126a 100644
--- a/mk/000-garden.mk
+++ b/mk/000-garden.mk
@@ -10,7 +10,7 @@ GARDEN_ARCH ?= $(shell uname -m)
GARDEN_ARCH := $(GARDEN_ARCH)
MKPASSWD ?= $(or $(shell command -v mkpasswd),$(error program mkpasswd is required))
-GENISOIMAGE ?= $(or $(shell command -v genisoimage),$(error program genisoimage is required))
+XORRISO ?= $(or $(shell command -v xorriso),$(error program xorriso is required))
WGET ?= $(or $(shell command -v wget),$(error wget is required))$(if $(value CI), --quiet)
comma=,
diff --git a/mk/010-qemu.mk b/mk/010-qemu.mk
index 9441fb4c01636b5c23d81700c5c5ace85d96ad6d..2d557408021ace912fa03c3476b3910fde353e15 100644
--- a/mk/010-qemu.mk
+++ b/mk/010-qemu.mk
@@ -151,9 +151,10 @@ CLOUD_INIT_USER_DATA_TEMPLATE=$(BASE_CLOUD_INIT_USER_DATA_TEMPLATE)
# Seed ISOs with cloud-init files.
# The switch -graft-points allows us to have different (fixed) name in the ISO
# and different (variable) names in the local file system. See the manual page
-# of genisoimage for details.
+# of xorriso for details.
%.seed.iso: %.user-data %.meta-data
- $(GENISOIMAGE) \
+ $(XORRISO) \
+ -as genisoimage \
-input-charset utf-8 \
-output $@ \
-volid CIDATA \
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index 70faa3d56c09e3795ff65694bfcd2cd34488307e..2c141aa60237eeef9533b493a69e3905aa626a92 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -173,12 +173,12 @@ parts:
stage:
- usr/bin/xz
- usr/bin/unxz
- genisoimage:
+ xorriso:
plugin: nil
stage-packages:
- - genisoimage
+ - xorriso
stage:
- - usr/bin/genisoimage
+ - usr/bin/xorriso
spread:
plugin: go
build-snaps:
--
2.49.0