Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

genisoimage may be going away #3838

Open
ubuntu-server-builder opened this issue May 12, 2023 · 4 comments
Open

genisoimage may be going away #3838

ubuntu-server-builder opened this issue May 12, 2023 · 4 comments
Labels
bug Something isn't working correctly launchpad Migrated from Launchpad

Comments

@ubuntu-server-builder
Copy link
Collaborator

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.

@ubuntu-server-builder ubuntu-server-builder added bug Something isn't working correctly launchpad Migrated from Launchpad labels May 12, 2023
@ubuntu-server-builder
Copy link
Collaborator Author

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.

@ubuntu-server-builder
Copy link
Collaborator Author

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 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.

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/
slangasek@ubuntu.com vorlon@debian.org

@ubuntu-server-builder
Copy link
Collaborator Author

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 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.

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?)

@ubuntu-server-builder
Copy link
Collaborator Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working correctly launchpad Migrated from Launchpad
Projects
None yet
Development

No branches or pull requests

1 participant