genisoimage may be going away
This bug was originally filed in Launchpad as LP: #1915077
Launchpad details
affected_projects = ['cloud-utils (Ubuntu)'] assignee = None assignee_name = None date_closed = None date_created = 2021-02-08T21:39:44.694094+00:00 date_fix_committed = None date_fix_released = None id = 1915077 importance = undecided is_complete = False lp_url = https://bugs.launchpad.net/cloud-init/+bug/1915077 milestone = None owner = mwhudson owner_name = Michael Hudson-Doyle private = False status = confirmed submitter = mwhudson submitter_name = Michael Hudson-Doyle tags = [] duplicates = []
Launchpad user Michael Hudson-Doyle(mwhudson) wrote on 2021-02-08T21:39:44.694094+00:00
It seems that cdrkit, which is where genisoimage comes from, is dead upstream and is likely to be removed from debian: https://lists.debian.org/debian-cloud/2021/02/msg00011.html
Plenty of cloud-init docs and tutorials refer to genisoimage to create seed ISOs, it may be time to find something else.
Launchpad user James Falcon(falcojr) wrote on 2021-02-15T14:21:28.240801+00:00
I asked Dan Watkins about this and received this reply:
In terms of scope, cloud-init does not Depend on genisoimage but does recommend its use in documentation. cloud-image-utils (built from cloud-utils) does Depend directly on it.
It sounds like, if it's going away, genisoimage is going away in bookworm, the Debian stable release after the one that just went into freeze (bullseye). bullseye goes into hard freeze (2021-03-12[0]) after hirsute's Debian import freeze (2021-02-25[1]), so there's no chance that it will affect hirsute. If bullseye is released before ~August (Debian don't have set release dates, they release once it's Ready (TM)), and genisoimage is removed from testing soon after that release, then it may affect us is in I.
So from a "when will the wheels fall off in Ubuntu" perspective, we (a) have a decent runway, and (b) will only be affected in the release whose development is open after the removal happens in Debian.
That said, cloud-image-utils is in main[2] and therefore all of its
dependencies also need to be in main, so we are not free to choose our
own replacement unconstrained. We certainly won't be alone in needing
to choose a replacement, apt rdepends genisoimage indicates that,
amongst others, ubuntu-desktop and livecd-rootfs (which is the package
used to build not only live CD root filesystems but also ~every other
Ubuntu image). IMO, it's not really our place to determine the correct
replacement here: this is a tool used across different parts of Ubuntu,
so Foundations are likely better placed than we.
From an upstream cloud-init perspective, this indicates to me that we shouldn't be recommending genisoimage to our users in our documentation. The sooner we can document the new method of doing this, the fewer users will be broken by its future removal (whether in Debian, Ubuntu or whenever their distro decides to follow suite). Of course, we should align the docs with what Ubuntu is choosing, so there's a (task) dependency there.
[0] https://wiki.debian.org/DebianBullseye [1] https://discourse.ubuntu.com/t/hirsute-hippo-release-schedule/18539 [2] Some details at https://wiki.ubuntu.com/MainInclusionProcess; TL;DR, we support main both in security terms and commercially, so anything that goes into main has to pass muster in terms of supportability.
Launchpad user Steve Langasek(vorlon) wrote on 2021-02-15T22:18:17+00:00
On Mon, Feb 15, 2021 at 02:21:28PM -0000, James Falcon wrote:
That said, cloud-image-utils is in main[2] and therefore all of its dependencies also need to be in main, so we are not free to choose our own replacement unconstrained. We certainly won't be alone in needing to choose a replacement,
apt rdepends genisoimageindicates that, amongst others, ubuntu-desktop and livecd-rootfs (which is the package used to build not only live CD root filesystems but also ~every other Ubuntu image). IMO, it's not really our place to determine the correct replacement here: this is a tool used across different parts of Ubuntu, so Foundations are likely better placed than we.
We use xorriso in place of genisoimage for Ubuntu ISO generation. I'm actually not sure why genisoimage is a dependency of livecd-rootfs, since I don't believe we have any ISOs as output of livecd-rootfs itself.
The ubuntu-meta dependency is being dropped; the seed change has already been merged, and a new ubuntu-desktop is waiting in hirsute-proposed.
-- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ [email protected] [email protected]
Launchpad user Dan Watkins(oddbloke) wrote on 2021-02-16T17:57:56+00:00
On Mon, Feb 15, 2021 at 10:18:17PM -0000, Steve Langasek wrote:
On Mon, Feb 15, 2021 at 02:21:28PM -0000, James Falcon wrote:
That said, cloud-image-utils is in main[2] and therefore all of its dependencies also need to be in main, so we are not free to choose our own replacement unconstrained. We certainly won't be alone in needing to choose a replacement,
apt rdepends genisoimageindicates that, amongst others, ubuntu-desktop and livecd-rootfs (which is the package used to build not only live CD root filesystems but also ~every other Ubuntu image). IMO, it's not really our place to determine the correct replacement here: this is a tool used across different parts of Ubuntu, so Foundations are likely better placed than we.We use xorriso in place of genisoimage for Ubuntu ISO generation.
OK, that's clearly what we should be moving to; thanks!
I'm actually not sure why genisoimage is a dependency of livecd-rootfs, since I don't believe we have any ISOs as output of livecd-rootfs itself.
It's used by the CPC Vagrant build scripts to... generate a cloud-init seed ISO. (=
(Who could have introduced that? innocent whistling)
The ubuntu-meta dependency is being dropped; the seed change has already been merged, and a new ubuntu-desktop is waiting in hirsute-proposed.
OK, cool; are we looking to drop it (from main) this cycle? (i.e. Do we need to work on this ~now?)
Launchpad user Steve Langasek(vorlon) wrote on 2021-02-17T21:48:45+00:00
On Tue, Feb 16, 2021 at 05:57:56PM -0000, Dan Watkins wrote:
I'm actually not sure why genisoimage is a dependency of livecd-rootfs, since I don't believe we have any ISOs as output of livecd-rootfs itself.
It's used by the CPC Vagrant build scripts to... generate a cloud-init seed ISO. (=
(Who could have introduced that? innocent whistling)
Hah! ok.
The ubuntu-meta dependency is being dropped; the seed change has already been merged, and a new ubuntu-desktop is waiting in hirsute-proposed.
OK, cool; are we looking to drop it (from main) this cycle? (i.e. Do we need to work on this ~now?)
There's no hurry, we just wanted people to be in the loop sooner rather than later. I think we could reasonably promote xorriso to main as soon as there was a reverse-dependency demanding it.