Compare commits

..

79 Commits

Author SHA1 Message Date
Heinrich Schuchardt
23275f3d52 Update changelog
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2026-02-24 09:35:14 +01:00
Heinrich Schuchardt
05b7b4d016 riscv64: Create swapfile on LicheeRV and Nezha
Due to small RAM size updating the kernel fails on the LicheeRV.
The Nezha board also has little memory (1 GiB).
(LP: #2141545)

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2026-02-24 09:35:08 +01:00
Antoine Lassagne
a8755f00ba releasing package livecd-rootfs version 24.04.94 2025-08-21 10:57:38 -06:00
Chad Smith
9507ca9e52 functions: proper cloud-init.service full unit override in etc
System override drop-ins cannot redact dependencies (Before or After) and
thus require a full unit override. Avoid writing the unit file delivered
by cloud-init deb package in /lib/systemd/system/cloud-init.service because
it will generate warnings fron debsums -c about modified files.

The correct place to provide a full unit override is in
/etc/systemd/system/cloud-init.service in order to drop
Before=sysinit.target from the packaged cloud-init.service file.

Note vigilance will be needed across cloud-init SRU boundaries to ensure
we sync any cloud-init.service unit changes that are introduced to
stable releases because livecd-rootfs is overriding the whole file.

LP: #2069391
2025-08-20 15:20:45 +02:00
Utkarsh Gupta
18300375dd Update d/ch for 24.04.93 release 2025-08-12 20:07:32 +05:30
Utkarsh Gupta
7f6c20edac Merge remote-tracking branch 'bryalex/bryalex/6.14-noble' into ubuntu/noble
* bryalex/bryalex/6.14-noble:
  Add debian/changelog entry (LP: #2116199)
  feat(apparmor): Add 6.14 kernel apparmor features' preseeds
2025-08-12 20:04:32 +05:30
Dan Bungert
2b52891daf releasing package livecd-rootfs version 24.04.92 2025-07-31 11:27:46 -06:00
Dan Bungert
1ff53fd2d3 Revert "functions: proper cloud-init.service full unit override in etc"
This reverts commit 736099c6b6ae5e5a27f72fd697fe02e91bb10fac.
2025-07-31 11:26:05 -06:00
Juerg Haefliger
b05cffdb55 releasing package livecd-rootfs version 24.04.91 2025-07-30 17:38:38 +02:00
Juerg Haefliger
182b6a5f5b build: Fix lowlatency kernel flavour name
Nowadays the lowlatency kernel is just the generic kernel with some
bootargs to make it lowlatency. Hence the flavour name is 'generic'.
2025-07-30 17:38:31 +02:00
Dan Bungert
069bcfedd2 releasing package livecd-rootfs version 24.04.90 2025-07-22 15:50:36 -06:00
Chad Smith
736099c6b6 functions: proper cloud-init.service full unit override in etc
System override drop-ins cannot redact dependencies (Before or After) and
thus require a full unit override. Avoid writing the unit file delivered
by cloud-init deb package in /lib/systemd/system/cloud-init.service because
it will generate warnings fron debsums -c about modified files.

The correct place to provide a full unit override is in
/etc/systemd/system/cloud-init.service in order to drop
Before=sysinit.target from the packaged cloud-init.service file.

Note vigilance will be needed across cloud-init SRU boundaries to ensure
we sync any cloud-init.service unit changes that are introduced to
stable releases because livecd-rootfs is overriding the whole file.

LP: #2069391
(cherry picked from commit 97dd81183b3222b05cc53c3637e934fc2c61a5f0)
2025-07-21 16:04:34 +02:00
Bryan Alexander
149fe6e781 Add debian/changelog entry (LP: #2116199) 2025-07-17 13:06:33 -07:00
Bryan Alexander
11813f299a feat(apparmor): Add 6.14 kernel apparmor features' preseeds
Add apparmor feature preseeds for 6.14 kernel.
(LP: #2116199)
2025-07-14 01:25:37 -07:00
Dan Bungert
84e51f8d9f releasing package livecd-rootfs version 24.04.89 2025-04-30 15:27:51 -06:00
Dan Bungert
7d2975740d desktop: remove references to subiquity snap
No subiquity snap is present on Desktop isos, these are cruft.

(cherry picked from commit 5e990020e5280152ce7387b707ad5c6dba623ae4)
2025-04-16 09:44:20 -06:00
Adriano Cordova
cddd73d626 Fix changelog typo from 25.04.88 to 24.04.88
Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
2025-04-02 16:06:32 -03:00
Michael Hudson-Doyle
fa4167f97e combine changelog entries as this will be a single upload 2025-03-07 09:05:06 +13:00
Adriano Cordova
0b21f55ba4 riscv: add SUBARCH 'jh7110'
Add SUBARCH 'jh7110' for jh7110-based boards
2025-02-25 15:32:46 -03:00
Adriano Cordova
eb650f1d34 riscv: directly copy device trees to the ESP instead of relying on flash-kernel 2025-02-24 23:35:42 -03:00
Utkarsh Gupta
419e83058d Update d/ch for 24.04.87 release 2025-02-21 14:38:02 +05:30
Utkarsh Gupta
547ee62e66 Merge remote-tracking branch 'toabctl/noble-apparmor-feature-6.11-lp2098306' into ubuntu/noble
* toabctl/noble-apparmor-feature-6.11-lp2098306:
  Add debian/changelog entry
  Add 6.11 kernel apparmor features' preseeds
2025-02-21 14:37:33 +05:30
Michael Hudson-Doyle
a3363733ff releasing package livecd-rootfs version 24.04.86 2025-02-17 11:32:33 +13:00
Michael Hudson-Doyle
46fae973d7 Do not build HWE kernel layer on RISC-V as there is no HWE kernel there. 2025-02-17 11:31:54 +13:00
Dan Bungert
5e36233d82 releasing package livecd-rootfs version 24.04.85 2025-02-13 07:48:03 -07:00
Thomas Bechtold
519832022e
Add debian/changelog entry 2025-02-13 12:56:37 +01:00
Utkarsh Gupta
61042515b3
Add 6.11 kernel apparmor features' preseeds 2025-02-13 12:22:16 +01:00
Dan Bungert
2a9992ad7d build: fix FLAVOUR set for lowlatency 2025-02-12 20:00:08 -07:00
Utkarsh Gupta
de15c55ef0 Update d/ch for 24.04.84 release 2025-02-13 03:16:44 +05:30
Utkarsh Gupta
d02ab9bc0e Bump HWE kernel track to 24.04 for ubuntu-core-desktop 2025-02-13 03:16:44 +05:30
Florent 'Skia' Jacquet
ddfb468b42 Enable the HWE stack for 24.04.2
This change was overlooked, thanks to a combination of Jira
checklist items + inexperienced team members + quite late
landing of the HWE stack.

LP: #2098105
2025-02-13 03:16:14 +05:30
Florent 'Skia' Jacquet
2af06de671 kylin: indentation fix 2025-02-12 15:17:28 +01:00
Didier Roche
5545bf057e
releasing package livecd-rootfs version 24.04.83 2025-01-23 15:37:42 +01:00
Didier Roche
4e52b33e45
Update reference to wsl-setup now in /usr/lib/wsl/
Microsoft expects this binary to be under that path.
2025-01-23 14:22:43 +01:00
Didier Roche
48338fc76a
Create wsl-distribution.conf for WSL images
This file is required in the new Microsoft WSL package format.

Co-authored-by: Carlos Nihelton <carlos.santanadeoliveira@canonical.com>
2025-01-23 14:13:36 +01:00
Didier Roche
c1e2deee9f
Create livecd-roots tarball as a .wsl extension
Co-authored-by: Carlos Nihelton <carlos.santanadeoliveira@canonical.com>
2025-01-23 14:13:36 +01:00
Didier Roche
c954240293
Keep a single wsl rootfs upgrade policy
We are removing our different variants of wsl rootfs with the new
Microsoft format. We only keep one following the distribution policy:
- lts to lts
- intermediate release to next one

Co-authored-by: Carlos Nihelton <carlos.santanadeoliveira@canonical.com>
2025-01-23 14:13:31 +01:00
Loïc Minier
a81a1c20c7 Add support for arm64+tegra-jetson flavor. (LP: #2091392) 2024-12-13 17:54:01 +00:00
Utkarsh Gupta
a2058724c4 Update d/ch for 24.04.81 release 2024-11-20 15:44:45 +05:30
Utkarsh Gupta
6047e22319 Introduce unminimize as a package in OCI images (LP: #2078583)
With having unminimize split out from livecd-rootfs, we should
re-introduce it as a package for, at least, Noble so that it's
not seen as a regression. From 24.10 and onward, we're going to
drop it altogether.
2024-11-20 15:43:41 +05:30
John Chittum
9a970b2ca2
changelog 2024-11-07 08:12:50 -05:00
John Chittum
b7c2cf45b1
fix(buildd): create buildd homedir
LP:2083240

starting in noble, adduser no longer creates a homedir for system users.
The buildd user then does not have a home directory, causing snaps to be
unable to run, as well as possibly other issues from a missing assumed
homedir. Explicitly create /home/buildd
2024-11-06 07:33:51 -05:00
Thomas Bechtold
70d7c43d6a
Add debian/changelog entry 2024-10-18 13:55:39 +02:00
Thomas Bechtold
d1ca48bdc4
feat(apparmor): Add policy:permstable32 feature to 6.8 kernel (LP: #2084698)
Failing CPC tests show that the preseeded apparmor features don't
include policy:permstable32 for the 6.8 kernel. This change adds the
feature preseed with values based on a successfully booted instance.
2024-10-18 13:53:20 +02:00
John Chittum
0b2af5aa60 add changelog entry 2024-09-26 17:04:57 +12:00
John Chittum
377617b946 feat(ubuntu-cpc): sbom generation everywhere
patch create_manifest to produce an sbom when called by an ubuntu-cpc
project. Patch all the ubuntu-cpc hooks and series files to include the
newly generated manifests, filelists, and sboms. Generates a number of
new artifacts in the builds. the snap utilized, cpc-sbom, is an open
source repo and a provided via a hidden snap. there is no intention of
publisizing the snap or how we generate sboms, however partners require
the ability to audit if required.

defensively checks if the snap is already installed, in the case of
multiple hooks being called in a single build (thus sharing a build
host), and only if called in an ubuntu-cpc project.

(cherry picked from commit 7c7b7df89dc96169db1f255d6bba901ebb63a43c)
2024-09-26 17:04:35 +12:00
Michael Hudson-Doyle
d3ef751279 commit hotfix upload 2024-09-26 17:04:12 +12:00
Utkarsh Gupta
9ffb24c8f7 Add SRU bug in d/ch entry 2024-08-23 11:03:33 +05:30
Utkarsh Gupta
aa3481c960 Update d/ch for 24.04.77 release 2024-08-21 12:09:45 +05:30
Utkarsh Gupta
c8ee3dddba Use packaged unminimize in the ubuntu-server images
unminimize is currently present at /usr/local/sbin/unminimize,
which is spit out by livecd-rootfs currently. We'd like to switch
that to use the packaged unminimize, which will be at
/usr/bin/unminimize instead.

(cherry picked from commit 7535bf7bc729b52d28a0a5a44b3aa8362ca9397d)
2024-08-21 12:06:39 +05:30
Utkarsh Gupta
0f837b9431 Drop unminimize spit out by livecd-rootfs
And prefer the one that is packaged separately as
src:unminimize, which installs the package in
/usr/bin/unminimize

(cherry picked from commit 34482819f0d0078f834b052c308b371bedd621d0)
2024-08-21 12:06:20 +05:30
Michael Hudson-Doyle
47c1a539d6 releasing package livecd-rootfs version 24.04.76 2024-08-21 16:14:10 +12:00
Michael Hudson-Doyle
9441bbdfb5 Force latest/stable/ubuntu-24.10 subiquity onto the ubuntu-core-installer ISO for now. 2024-08-21 15:58:08 +12:00
Michael Hudson-Doyle
5a4991ade3 add reference to SRU bug to changelog 2024-08-08 16:50:13 +12:00
Michael Hudson-Doyle
a99b788ebc releasing package livecd-rootfs version 24.04.75 2024-07-30 16:35:50 +12:00
Michael Hudson-Doyle
0df4234c28 Add 'ubuntu-core-installer' project.
The ubuntu-core-installer image is an installer that installs ubuntu
core. The environment the installer runs in is similar to the server
installer but it has a source catalog entry that points to the model
created in ubuntu-core-installer/hooks/05-prepare-image.binary, which
subiquity knows how to install.
2024-07-25 17:26:22 +12:00
Łukasz 'sil2100' Zemczak
2215660a7d releasing package livecd-rootfs version 24.04.74 2024-07-24 16:17:29 +01:00
Heinrich Schuchardt
1da6867784 riscv64: preinstalled server image for Microchip PIC64GX Curiosity Kit
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-07-24 11:26:05 +02:00
Łukasz 'sil2100' Zemczak
69b47ce2fe releasing package livecd-rootfs version 24.04.73 2024-07-11 13:17:09 +02:00
Łukasz 'sil2100' Zemczak
bb44f093c9 Backport the qcow2 ubuntu-core image generation for LXD support. 2024-07-11 13:16:40 +02:00
Philip Roche
a0dea8f6e2
d/ch change to upload 24.04.72 noble 2024-06-25 12:23:43 +01:00
Philip Roche
d9e444988d
Merge bugfix/LP-2069828-restore-unminimize-during-server-build-noble into ubuntu/noble [a=philroche] [r=gjolly,utkarsh]
fix: Revert removal of unminimize call in server builds (LP: #2069828)

There was a change made by me in https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/466388
as part of LP: #2066905 to remove references to LXD in the unminimize scripts
but I also removed the calls to `unminimize` in error.

This still needs to run but without any references to LXD which no longer
needs to be `unminimized` via snap installation.

(cherry picked from commit f574fc8200d8a4c7837288c5d2aa1e515137bb55)

MP: https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/468088
2024-06-25 12:19:00 +01:00
Philip Roche
62a80ac00a
fix: Revert removal of unminimize call in server builds (LP: #2069828)
There was a change made by me in https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/466388
as part of LP: #2066905 to remove references to LXD in the unminimize scripts
but I also removed the calls to `unminimize` in error.

This still needs to run but without any references to LXD which no longer
needs to be `unminimized` via snap installation.

(cherry picked from commit f574fc8200d8a4c7837288c5d2aa1e515137bb55)
2024-06-24 17:26:07 +01:00
Heinrich Schuchardt
05933ff83f riscv64: use earlycon=sbi on command line
With current kernel we need to specify the SBI driver
for the early console to work.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-06-07 16:21:32 +02:00
Philip Roche
10d4a04d14
Merge bugfix/noble-remove-files-added-during-incorect-merge-conflict-resolution into ubuntu/noble [a=philroche] [r=brian-murray]
fix: Remove .patch files and livecd-rootfs symlink committed in error as part of merge commit.

Apologies. Trying to do too many things at once

This reverts changes added in error in commit 639f04b7

MP: https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/466885
2024-06-04 18:42:12 +01:00
Philip Roche
d72ae0de70
fix: Remove .patch files and livecd-rootfs symlink committed in error as part of merge commit.
Apologies. Trying to do too many things at once

This reverts changes added in error in commit 639f04b7
2024-06-04 18:33:45 +01:00
Philip Roche
bfb829c64d fix: Remove .idea pycharm directories and files committed in error as part of merge commit.
Apologies. Trying to do too many things at once
2024-05-27 12:40:56 +01:00
Philip Roche
13ec478feb d/ch change to upload 24.04.71 noble 2024-05-27 12:06:44 +01:00
Philip Roche
639f04b7b9 Merge feature/re-enable-noble-hyperv-desktop-builds-noble into ubuntu/noble [a=philroche] [r=mwhudson,utkarsh]
feat: Re-enable ability to build HyperV desktop images (LP: #2064280)

We have not built Hyperv desktop images since Jammy and with the re-introduction of
HyperV for Noble we have encountered build issues caused by refactoring and removals
of code assumed to be redundant but the HyperV desktop images were actually using
these code paths.

This is a backport/SRU from oracular.

MP: https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/466385

# Conflicts:
#	debian/changelog
2024-05-27 12:06:31 +01:00
Philip Roche
073d7e0404 d/ch change to upload 24.04.70 noble 2024-05-27 11:11:12 +01:00
Philip Roche
1f40b60606 Merge bugfix/lxd-no-longer-seeded-unminimize-noble into ubuntu/noble [a=philroche] [r=sdeziel,utkarsh,vorlon]
fix: No longer install LXD snap in unminimize script (LP: #2066905)

The LXD snap is no longer seeded in any images since Noble+ so the LXD related unminimize logic in
./live-build/auto/build?h=ubuntu/noble and ./live-build/ubuntu-server/hooks/01-unminimize.chroot_early
 is no longer required.

lxd-installer can remain installed.

This is a backport/SRU from oracular

(cherry picked from commit 46c19dfa913c133042d62e0caa2d2d526cd9bb7f)

MP: https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/466388
2024-05-27 11:10:05 +01:00
Philip Roche
5507ca8d83 fix: No longer install LXD snap in unminimize script (LP: #2066905)
The LXD snap is no longer seeded in any images since Noble+ so the LXD related unminimize logic in
./live-build/auto/build?h=ubuntu/noble and ./live-build/ubuntu-server/hooks/01-unminimize.chroot_early
 is no longer required.

lxd-installer can remain installed.

(cherry picked from commit 46c19dfa913c133042d62e0caa2d2d526cd9bb7f)
2024-05-24 15:48:21 +01:00
Philip Roche
49a14274d1 d/ch update for 24.04.70 to re-enable ability to build HyperV desktop images (LP: #2064280) 2024-05-24 15:34:40 +01:00
Philip Roche
5f59eec085 fix(Hyperv Desktop): remove redundant case statement match ubuntu
`ubuntu` will never match `${PROJECT:-}:${SUBPROJECT:-}` cases statement and can be safely removed.

(cherry picked from commit 0945c40fb2bb067d86d496b7b40bdae89123124c)
2024-05-24 15:31:21 +01:00
Philip Roche
8cc079fe50 fix(Hyperv Desktop): as we are using oem-config we do not need ubiquity-slideshow-ubuntu
As we are only using oem-config, oem-config-slideshow-ubuntu will suffice

(cherry picked from commit 8fe26586cc1b65621e74121b03c912dcee0e6cf8)
2024-05-24 15:31:16 +01:00
Philip Roche
34edbb9a1c fix(Hyperv Desktop): ubiquity-frontend-gtk is a dependency of the oem-config-gtk package so does not need to be added explicitly
(cherry picked from commit dc2d1318d2d2183f6d80673a1daf5dc8794cd3ed)
2024-05-24 15:31:11 +01:00
Philip Roche
40c7eac14d feat(Hyperv Desktop): Disable cloud-init for Hyperv Desktop images (LP: #2064280)
For Ubuntu 24.04 and later cloud-init is included in desktop images. This is not applicable for Hyperv images so
we can disable cloud-init. This leaves the cloud-init package installed but disabled so users can still
use it if they want.

This is a documented way to disable cloud-init. See https://cloudinit.readthedocs.io/en/latest/howto/disable_cloud_init.html

(cherry picked from commit ff47664d8c646ebae72c40145ee1fd8098185de6)
2024-05-24 15:30:50 +01:00
Phil Roche
b12e271417 fix(HyperV desktop): Ensure removed hyperv dependencies are present in HyperV builds (LP: #2064280)
A change in 8fb21808 also removed many of the dependencies that the hyperv images require.
This removal has been restored in this commit by adding them expliciltly in the hyperv hook.

(cherry picked from commit c459e5e5af0371c0228bd4e5ddec57b8954d39df)
2024-05-24 15:30:45 +01:00
Phil Roche
fa351ac77b fix(HyperV desktop): Re-enable ability to build HyperV desktop images (LP: #2064280)
We have not built Hyperv desktop images since Jammy and with the re-introduction of HyperV for Noble we have encountered build issues caused by refactoring and removals of code assumed to be redundant but the HyperV desktop images were actually using these code paths.

In bbedffe6 we split the building of cloud images and non cloud to using an ddisk-image-uefi.binary and disk-image-uefi-non-cloud.binary respectively. In e38264ca there was a change which meant that any attempt to build hyperv images would result in incorrect disk size and incorrect disk label.

This has been fixed by ensuring that the ubuntu:desktop-preinstalled $PROJECT:$SUBPROJECT matches and sets the correct disk size and correct disk label.

A change in 76d79466 changed the logic of how the image size for amd64 images were being set. This overrode the sizes set for the desktop images incorrectly.

This commit ensures that any desktop image being created uses the correct image size.

(cherry picked from commit 48aed401949637ac314e59de996ccab19d5eefcd)
2024-05-24 15:30:38 +01:00
213 changed files with 1388 additions and 4870 deletions

View File

@ -1,12 +0,0 @@
pipeline:
- [lint]
jobs:
lint:
series: noble
architectures: amd64
packages:
- black
- mypy
- python3-flake8
run: ./check-lint

View File

@ -1,263 +0,0 @@
Understanding the parameters used by livecd-rootfs
==================================================
livecd-rootfs is a confusing codebase. One of the confusing things is
how information flows into and around the image build process. There
is IMAGEFORMAT and IMAGE_TARGETS and PROJECT and many other
variables. It is not obvious when looking at the code if a given
variable is something passed as a parameter or something derived from
it.
All (or almost all) production use of livecd-rootfs is via
launchpad-buildd so the set of potential parameters is limited by the
set of environment variables launchpad-build can set in response to
the build request.
The process from build request to environment live-build is run is a
little convoluted. The build request takes:
an archive -- where to get livecd-rootfs from
a distro_arch_series -- the series to get livecd-rootfs and build
a pocket -- pocket to get livecd-rootfs from, also influences if proposed is
used as a package source for the image being built
unique_key -- you cannot have more than one pending livefs build with the same
unique_key. does not affect the build at all.
version -- optional version string, see below. often a serial like 20250525.1
metadata_override -- combined with the metadata on the livefs itself to make
the metadata for this build.
(ref: https://launchpad.net/+apidoc/devel.html#livefs-requestBuild)
These parameters are stored on the livefsbuild object (ref:
https://git.launchpad.net/launchpad/tree/lib/lp/soyuz/model/livefsbuild.py#n372)
and converted into a set of args passed to launchpad-build by the
LiveFSBuildBehaviour class (ref:
https://git.launchpad.net/launchpad/tree/lib/lp/soyuz/model/livefsbuildbehaviour.py#n99).
Inside launchpad-build, these arguments are inspected by the
LiveFilesystemBuildManager.initiate method (ref:
https://git.launchpad.net/launchpad-buildd/tree/lpbuildd/livefs.py#n24)
which turns them into arguments for the BuildLiveFS lpbuild
"operation" which is what creates the environment live-build runs in
(ref:
https://git.launchpad.net/launchpad-buildd/tree/lpbuildd/target/build_livefs.py#n167).
These variables can be set for both lb config and lb build:
PROJECT (mandatory, comes from "project" in the metadata)
ARCH (set to the abi tag of the distroarchseries being built for)
ARCH_VARIANT (set to the isa tag of the distroarchseries being built for if it is
different from the abi tag)
SUBPROJECT (optional, comes from "subproject" in the metadata)
SUBARCH (optional, comes from "subarch" in the metadata)
CHANNEL (optional, comes from "subarch" in the metadata)
IMAGE_TARGETS (optional, comes from "image_targets" in the metadata
"image_targets" is a list. IMAGE_TARGETS is set to " ".join(image_targets))
REPO_SNAPSHOT_STAMP
(optional, comes from "repo_snapshot_stamp" in the metadata)
SNAPSHOT_SERVICE_TIMESTAMP
(optional, comes from "snapshot_snapshot_stamp" in the metadata)
COHORT_KEY
(optional, comes from "cohort-key" in the metadata)
launchpad-buildd also contains code to set http_proxy / HTTP_PROXY /
LB_APT_HTTP_PROXY but there does not appear to be any way to trigger
this when requesting a build.
In addition the following variables can be set for lb config only (why
are some things set for lb config only? no idea):
SUITE (set to the name of the distroarchseries being built for)
NOW (set to value of the 'version' argument to the build request,
defaults to strftime("%Y%m%d-%H%M%S"))
IMAGEFORMAT (optional, comes from "image_format" in the metadata)
PROPOSED (set to "1" if the pocket passed to the build request is proposed)
EXTRA_PPAS (optional, comes from "extra_ppas" in the metadata
"extra_ppas" is a list. EXTRA_PPAS is set to " ".join(extra_ppas))
EXTRA_SNAPS (optional, comes from "extra_snaps" in the metadata
"extra_snaps" is a list. EXTRA_SNAPS is set to " ".join(extra_snaps))
BUILD_TYPE (optional, the "type" (i.e. Daily or Release) of ISO being built,
goes into .disk/info on the ISO, defaults to Daily)
Here is an opinionated and slightly angry attempt to describe what
each of these is for:
PROJECT
-------
This is the big one, the main variable that defines what is being
built. It can be ubuntu, ubuntu-server, xubuntu, ubuntu-mini-iso, that
sort of thing. Generally PROJECT determines the set of packages
installed but it (unfortunately?) has a bit more impact than that.
It's unarguable that we need a parameter like this.
ARCH
----
The architecture being built for. This is always the same as `dpkg
--print-architecture` for us, we don't do any cross builds.
It's kind of redundant but it's not really a problem that this exists.
ARCH_VARIANT
------------
The "variant" being built for, i.e. the ISA tag of the
distroarchseries. Only set if this is different from the ABI tag.
This is definitely needed to be able to build images for variants.
SUBPROJECT
----------
This is used for some builds to build a different sort of build of the
project. It can be set to:
* "minimized" for ubuntu-cpc builds to make a minimal cloud image
* "minimal" for xubuntu builds to make a smaller ISO
* "desktop-preinstalled" for ubuntu builds to make a preinstalled
image instead of the parts for an installer.
* "buildd" for images to be used as build images by craft tools, and also
buildd chroots used on launchpad builders?
* "live" for ubuntu-server builds, historically to distinguish d-i
style installers from subiquity style installers
* "desktop" for ubuntu-core-installer builds, to influence which
model is use to build the ubuntu core system that will be
installed.
_This_ parameter is a total mess. The desktop-preinstalled use feels
particularly egregious.
SUBARCH
-------
This identifies the target machine more specifically than ARCH,
e.g. "tegra-jetson" or "licheerv". Used mostly but not exclusively for
preinstalled builds.
We probably do need something like this.
CHANNEL
-------
Influences which channel snaps included in the build are taken from
(via a few different mechanisms).
IMAGE_TARGETS
-------------
Passed for CPC (and ubuntu-oem, for some reason) builds to
`config/hooks.d/make-hooks` which uses it to select which binary hooks
to run (and so determines which artifacts get produced).
It is probably reasonable that this exists.
REPO_SNAPSHOT_STAMP
-------------------
Currently unused.
SNAPSHOT_SERVICE_TIMESTAMP
--------------------------
Also currently unused, and unclear how it differs from
REPO_SNAPSHOT_STAMP.
COHORT_KEY
----------
Used to make sure that different builds run at the same time don't get
different versions of snaps due to phasing differences.
This is a totally valid thing to need to supply.
http_proxy / HTTP_PROXY / LB_APT_HTTP_PROXY
-------------------------------------------
Nothing complex here!
SUITE
-----
This is the series being built (e.g. noble, questing). It is misnamed
really -- a suite is usually a combination of a series and a pocket
(noble-proposed, questing-security).
As with ARCH this is sort of redundant as we do builds in a chroot of
the series being built but OTOH it is definitely information the
build needs to know!
NOW
---
The serial for the build, e.g. 20250519 or 20240418.4.
It is a totally reasonable parameter.
IMAGEFORMAT
-----------
This is one of the more incoherently handled parameters. In rough
outline it is the filesystem of the image we produce.
Installer builds do not produce raw images, so this ends up being set
to 'plain' (which causes live-build to just leave the rootfs as a
directory tree) or 'none' (which causes live-build to do roughly the
same thing but in a different way?).
Image builds that use ubuntu-image set it to "ubuntu-image". These
builds do not call 'lb build' or 'lb binary'.
Other preinstalled images (mostly cpc images) set it to ext4 (but then
use live-build/ubuntu-cpc/hooks.d/remove-implicit-artifacts to remove
the output file that this causes live-build to produce...). Some
projects rely on this being set via metadata when building the project
it seems.
It can be set when starting an image build, but most builds do not and
the behavior when it is not set explicitly is pretty confusing.
This place is not a place of honor.
PROPOSED
--------
Should packages from proposed by included?
This is not really as useful as it used to be for a bunch of reasons
but it conceptually makes sense.
EXTRA_PPAS
----------
Extra archives to get packages from.
This is a space separated list by the time it gets to
livecd-rootfs. Each element of the list is of the form USER/NAME[:PIN]
where user is a Launchpad user/team name, NAME is the name of the ppa
to add and the optional colon-PIN at the end is the value to pin (in
the "man 5 apt_preferences: sense) packages from this PPA at.
Production builds shouldn't really use this but it's definitely useful
for development.
EXTRA_SNAPS
-----------
Extra snaps to include (but only for ubuntu-image based builds).
BUILD_TYPE
----------
Before release, the .disk/info on an ISO looks like:
Ubuntu-Server 26.04 LTS "Resolute Raccoon" - Daily amd64 (20260210)
after release it looks like:
Ubuntu-Server 26.04 LTS "Resolute Raccoon" - Release amd64 (20270210)
We could do a livecd-rootfs upload to change this (it only changes
once per cycle), but it's quicker and easier to manage this from the
code that triggers the livefs builds.

View File

@ -1,11 +0,0 @@
#!/bin/sh
set -eux
export MYPYPATH=live-build
mypy live-build/isobuilder live-build/isobuild
mypy live-build/gen-iso-ids
black --check live-build/isobuilder live-build/isobuild live-build/gen-iso-ids
python3 -m flake8 --max-line-length 88 --ignore E203 live-build/isobuilder live-build/isobuild live-build/gen-iso-ids

1
debian/.gitignore vendored
View File

@ -1 +0,0 @@
files

883
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
7

8
debian/control vendored
View File

@ -1,12 +1,10 @@
Source: livecd-rootfs
Section: devel
Priority: optional
Build-Depends: debhelper-compat (= 13)
Build-Depends: debhelper (>= 7)
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Standards-Version: 4.7.0
Standards-Version: 3.9.6
Vcs-Git: https://git.launchpad.net/livecd-rootfs -b ubuntu/master
Vcs-Browser: https://git.launchpad.net/livecd-rootfs
Rules-Requires-Root: no
Package: livecd-rootfs
Architecture: any
@ -25,7 +23,6 @@ Depends: ${misc:Depends},
git,
gnupg,
grep-dctrl,
jq,
kpartx,
live-build (>= 3.0~a57-1ubuntu31~),
lsb-release,
@ -37,7 +34,6 @@ Depends: ${misc:Depends},
procps,
python3,
python3-apt,
python3-click,
python3-launchpadlib [!i386],
python3-yaml,
qemu-utils [!i386],

2
debian/copyright vendored
View File

@ -11,7 +11,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License with
your Ubuntu system, in /usr/share/common-licenses/GPL-2, or with the
your Ubuntu system, in /usr/share/common-licenses/GPL, or with the
livecd-rootfs source package as the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA.

1
debian/install vendored
View File

@ -4,4 +4,3 @@ get-ppa-fingerprint usr/share/livecd-rootfs
minimize-manual usr/share/livecd-rootfs
checkout-translations-branch usr/share/livecd-rootfs
update-source-catalog usr/share/livecd-rootfs
sync-mtime usr/share/livecd-rootfs

View File

@ -1,10 +0,0 @@
# This is expected and okay
livecd-rootfs: service-file-is-not-a-file [usr/share/livecd-rootfs/*.service]
livecd-rootfs: uses-dpkg-database-directly [usr/share/livecd-rootfs/live-build/lb_chroot_layered]
livecd-rootfs: package-contains-no-arch-dependent-files
# Developer documentation in an already-expected spot
livecd-rootfs: package-contains-documentation-outside-usr-share-doc [usr/share/livecd-rootfs/live-build/ubuntu-cpc/README.cpc.md]
# This is going to occur quite a bit; we're making a livefs
livecd-rootfs: repeated-path-segment * [*]

View File

@ -1,5 +0,0 @@
# This is expected and okay
livecd-rootfs source: absolute-symbolic-link-target-in-source * [live-build/*]
# The description indicates that it's not required in debhelper >= 13, which we have
livecd-rootfs source: override_dh_auto_test-does-not-check-DEB_BUILD_OPTIONS [debian/rules:*]

View File

@ -78,8 +78,7 @@ live_build_rootfs() {
echo ""
}
[ -d /adt ] || mkdir /adt
WORKDIR=$(mktemp -d -p /adt)
WORKDIR=$(mktemp -d)
trap "RET=\$?; rm -rf $WORKDIR; exit \$RET" 0 INT QUIT ABRT PIPE TERM
cd $WORKDIR

View File

@ -1 +0,0 @@
0xffffff

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon bpf checkpoint_restore

View File

@ -1 +0,0 @@
acquire send receive

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
1.2

View File

@ -1 +0,0 @@
create read write exec append mmap_exec link lock

View File

@ -1 +0,0 @@
sqpoll override_creds

View File

@ -1 +0,0 @@
create read write open delete setattr getattr

View File

@ -1 +0,0 @@
mount umount pivot_root

View File

@ -1 +0,0 @@
detached

View File

@ -1 +0,0 @@
userns_create

View File

@ -1 +0,0 @@
no

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
pciu&

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -1 +0,0 @@
file

View File

@ -1 +0,0 @@
0x000001

View File

@ -1 +0,0 @@
0x000003

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
0x000001

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
read trace

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
allow deny audit quiet

View File

@ -1 +0,0 @@
cpu fsize data stack core rss nproc nofile memlock as locks sigpending msgqueue nice rtprio rttime

View File

@ -1 +0,0 @@
hup int quit ill trap abrt bus fpe kill usr1 segv usr2 pipe alrm term stkflt chld cont stop stp ttin ttou urg xcpu xfsz vtalrm prof winch io pwr sys emt lost

View File

@ -1 +0,0 @@
0xffffff

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon bpf checkpoint_restore

View File

@ -1 +0,0 @@
acquire send receive

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
1.2

View File

@ -1 +0,0 @@
create read write exec append mmap_exec link lock

View File

@ -1 +0,0 @@
sqpoll override_creds

View File

@ -1 +0,0 @@
create read write open delete setattr getattr label

View File

@ -1 +0,0 @@
mount umount pivot_root

View File

@ -1 +0,0 @@
detached

View File

@ -1 +0,0 @@
userns_create

View File

@ -1 +0,0 @@
no

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
pciu&

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
file tags

Some files were not shown because too many files have changed in this diff Show More