mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-08-14 10:14:10 +00:00
Imported 24.04.26 from noble-release pocket.
No reason for CPC update specified.
This commit is contained in:
parent
2aeb74e5b8
commit
7256eceb6c
44
debian/changelog
vendored
44
debian/changelog
vendored
@ -1,3 +1,47 @@
|
||||
livecd-rootfs (24.04.26) noble; urgency=medium
|
||||
|
||||
[ Steve Langasek ]
|
||||
* Share live-build/ubuntu/hooks/020-ubuntu-live.chroot_early across
|
||||
all flavors using new-style layered squashfs, removing need for
|
||||
kernel commandline options in debian-cd.
|
||||
|
||||
[ dann frazier ]
|
||||
* Use flock to avoid races with systemd-udevd that cause loop device
|
||||
partitions to briefly disappear.
|
||||
|
||||
-- dann frazier <dann.frazier@canonical.com> Thu, 01 Feb 2024 09:09:17 -0700
|
||||
|
||||
livecd-rootfs (24.04.25) noble; urgency=medium
|
||||
|
||||
* live-build/auto/config: for ubuntu-server, consider the actual kernel
|
||||
flavor when dealing with netboot layers - even if we don't really care.
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Tue, 30 Jan 2024 11:27:46 +0100
|
||||
|
||||
livecd-rootfs (24.04.24) noble; urgency=medium
|
||||
|
||||
[ Tomáš Virtus ]
|
||||
* live-build/functions: mount_disk_image: add rootpart parameter
|
||||
|
||||
[ Utkarsh Gupta ]
|
||||
* live-build/auto/config: drop python3-systemd from CPC's minimized builds.
|
||||
|
||||
-- Utkarsh Gupta <utkarsh@ubuntu.com> Mon, 22 Jan 2024 18:01:53 +0530
|
||||
|
||||
livecd-rootfs (24.04.23) noble; urgency=medium
|
||||
|
||||
* Remove magic-proxy and all references to it as it is not used by any
|
||||
builds of any release newer than 18.04.
|
||||
|
||||
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Mon, 29 Jan 2024 14:53:26 +1300
|
||||
|
||||
livecd-rootfs (24.04.22) noble; urgency=medium
|
||||
|
||||
* Add a largemem subarch for ubuntu-server that ships a 64k kernel variant
|
||||
by default (LP: #2050209).
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Thu, 25 Jan 2024 11:01:28 +0100
|
||||
|
||||
livecd-rootfs (24.04.21) noble; urgency=medium
|
||||
|
||||
* live-build/functions: avoid losetup -P as it appears to race with udev and
|
||||
|
2
debian/install
vendored
2
debian/install
vendored
@ -2,7 +2,5 @@ auto-markable-pkgs usr/share/livecd-rootfs
|
||||
live-build usr/share/livecd-rootfs
|
||||
get-ppa-fingerprint usr/share/livecd-rootfs
|
||||
minimize-manual usr/share/livecd-rootfs
|
||||
magic-proxy usr/share/livecd-rootfs
|
||||
lp-in-release usr/share/livecd-rootfs
|
||||
checkout-translations-branch usr/share/livecd-rootfs
|
||||
update-source-catalog usr/share/livecd-rootfs
|
||||
|
@ -17,72 +17,6 @@ fi
|
||||
|
||||
. config/functions
|
||||
|
||||
# New nf_tables-based versions of iptables don't work well on old kernels.
|
||||
# We aren't sure exactly how old is a problem: 4.15 works, but with 4.4 new
|
||||
# rules are added to all chains in the requested table rather than just one,
|
||||
# and the new rules seem to have no useful effect. In such cases,
|
||||
# iptables-legacy works better.
|
||||
#
|
||||
# We can simplify this once livecd-rootfs no longer needs to support running
|
||||
# on Ubuntu 16.04 (that is, once Launchpad's build VMs are upgraded to
|
||||
# Ubuntu 18.04).
|
||||
run_iptables () {
|
||||
local kver kver_major kver_minor
|
||||
|
||||
kver="$(uname -r)"
|
||||
kver="${kver%%-*}"
|
||||
kver_major="${kver%%.*}"
|
||||
kver="${kver#*.}"
|
||||
kver_minor="${kver%%.*}"
|
||||
|
||||
|
||||
# LP: #1917920
|
||||
# I'm seeing issues after iptables got upgraded from 1.8.5 to
|
||||
# 1.8.7 Somehow installing our nat rule doesn't get activated, and
|
||||
# no networking is happening at all.
|
||||
|
||||
# But somehow calling both iptables -S makes things start working.
|
||||
# Maybe no default chains are installed in our network namespace?!
|
||||
# Or 1.8.7 is somehow broken?
|
||||
iptables -v -t nat -S
|
||||
iptables-legacy -v -t nat -S
|
||||
|
||||
if [ "$kver_major" -lt 4 ] || \
|
||||
([ "$kver_major" = 4 ] && [ "$kver_minor" -lt 15 ]); then
|
||||
iptables-legacy "$@"
|
||||
else
|
||||
iptables "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -n "$REPO_SNAPSHOT_STAMP" ]; then
|
||||
if [ "`whoami`" != "root" ]; then
|
||||
echo "Magic repo snapshots only work when running as root." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
apt-get -qyy install iptables
|
||||
|
||||
# Redirect all outgoing traffic to port 80 to proxy instead.
|
||||
run_iptables -v -t nat -A OUTPUT -p tcp --dport 80 \
|
||||
-m owner ! --uid-owner daemon -j REDIRECT --to 8080
|
||||
|
||||
# Run proxy as "daemon" to avoid infinite loop.
|
||||
LB_PARENT_MIRROR_BOOTSTRAP=$LB_PARENT_MIRROR_BOOTSTRAP \
|
||||
/usr/share/livecd-rootfs/magic-proxy \
|
||||
--address="127.0.0.1" \
|
||||
--port=8080 \
|
||||
--run-as=daemon \
|
||||
--cutoff-time="$REPO_SNAPSHOT_STAMP" \
|
||||
--log-file=/build/livecd.magic-proxy.log \
|
||||
--pid-file=config/magic-proxy.pid \
|
||||
--background \
|
||||
--setsid
|
||||
|
||||
# Quick check that magic proxy & iptables chains are working
|
||||
timeout 3m apt-get update
|
||||
fi
|
||||
|
||||
# Link output files somewhere launchpad-buildd will be able to find them.
|
||||
PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
|
||||
|
||||
@ -546,12 +480,6 @@ EOF
|
||||
if [ -e binary.success ]; then
|
||||
rm -f binary.success
|
||||
else
|
||||
# Dump the magic-proxy log to stdout on failure to aid debugging
|
||||
if [ -f /build/livecd.magic-proxy.log ] ; then
|
||||
echo "================= Magic proxy log (start) ================="
|
||||
cat /build/livecd.magic-proxy.log
|
||||
echo "================== Magic proxy log (end) =================="
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -712,15 +640,6 @@ case $SUBARCH in
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -f "config/magic-proxy.pid" ]; then
|
||||
kill -TERM $(cat config/magic-proxy.pid)
|
||||
rm -f config/magic-proxy.pid
|
||||
|
||||
# Remove previously-inserted iptables rule.
|
||||
run_iptables -t nat -D OUTPUT -p tcp --dport 80 \
|
||||
-m owner ! --uid-owner daemon -j REDIRECT --to 8080
|
||||
fi
|
||||
|
||||
case $PROJECT in
|
||||
ubuntu-cpc)
|
||||
config/hooks.d/remove-implicit-artifacts
|
||||
|
@ -4,7 +4,7 @@ set -e
|
||||
case $ARCH:$SUBARCH in
|
||||
amd64:|amd64:generic|amd64:intel-iot|\
|
||||
arm64:|arm64:generic|arm64:raspi|arm64:snapdragon|\
|
||||
arm64:tegra|arm64:tegra-igx|arm64:x13s|\
|
||||
arm64:tegra|arm64:tegra-igx|arm64:x13s|arm64:largemem|\
|
||||
armhf:|\
|
||||
i386:|\
|
||||
ppc64el:|\
|
||||
@ -951,6 +951,10 @@ case $PROJECT in
|
||||
tegra-igx)
|
||||
variants='tegra-igx'
|
||||
;;
|
||||
largemem)
|
||||
# variants='ga-64k hwe-64k'
|
||||
variants='ga-64k'
|
||||
;;
|
||||
*)
|
||||
# variants='ga hwe'
|
||||
variants='ga'
|
||||
@ -964,6 +968,12 @@ case $PROJECT in
|
||||
elif [ "$variant" = "hwe" ]; then
|
||||
kernel_metapkg=linux-generic-hwe-$(lsb_release -sr)
|
||||
flavor=generic-hwe
|
||||
elif [ "$variant" = "ga-64k" ]; then
|
||||
kernel_metapkg=linux-generic-64k
|
||||
flavor=generic-64k
|
||||
elif [ "$variant" = "hwe-64k" ]; then
|
||||
kernel_metapkg=linux-generic-64k-hwe-$(lsb_release -sr)
|
||||
flavor=generic-64k-hwe
|
||||
elif [ "$variant" = "intel" ]; then
|
||||
kernel_metapkg=linux-intel-iotg
|
||||
flavor=intel-iotg
|
||||
@ -983,16 +993,16 @@ case $PROJECT in
|
||||
done
|
||||
case $ARCH in
|
||||
amd64)
|
||||
add_package ubuntu-server-minimal.ubuntu-server.installer.generic.netboot grub-pc shim-signed pxelinux
|
||||
add_package ubuntu-server-minimal.ubuntu-server.installer.$flavor.netboot grub-pc shim-signed pxelinux
|
||||
;;
|
||||
arm64)
|
||||
add_package ubuntu-server-minimal.ubuntu-server.installer.generic.netboot shim-signed
|
||||
add_package ubuntu-server-minimal.ubuntu-server.installer.$flavor.netboot shim-signed
|
||||
;;
|
||||
*)
|
||||
add_package ubuntu-server-minimal.ubuntu-server.installer.generic.netboot
|
||||
add_package ubuntu-server-minimal.ubuntu-server.installer.$flavor.netboot
|
||||
;;
|
||||
esac
|
||||
NO_SQUASHFS_PASSES=ubuntu-server-minimal.ubuntu-server.installer.generic.netboot
|
||||
NO_SQUASHFS_PASSES=ubuntu-server-minimal.ubuntu-server.installer.$flavor.netboot
|
||||
|
||||
/usr/share/livecd-rootfs/checkout-translations-branch \
|
||||
https://git.launchpad.net/subiquity po config/catalog-translations
|
||||
@ -1044,15 +1054,8 @@ case $PROJECT in
|
||||
# or by passing --no-install-recommends to apt-get install.
|
||||
# Apt config is set using `APT_OPTIONS` variable in this script.
|
||||
# This fixes LP: #2031640
|
||||
#
|
||||
# We're also installing python3-systemd for now because it's needed by
|
||||
# ubuntu-advantage-tools. This will eventually be dropped in the next
|
||||
# release of u-a-t. This is being discussed and tracked at
|
||||
# https://github.com/canonical/ubuntu-pro-client/issues/2692.
|
||||
# Once python3-systemd is dropped from u-a-t, we can remove it
|
||||
# from here, too.
|
||||
APT_OPTIONS="${APT_OPTIONS:+$APT_OPTIONS }--no-install-recommends"
|
||||
add_package install ubuntu-cloud-minimal python3-systemd
|
||||
add_package install ubuntu-cloud-minimal
|
||||
else
|
||||
add_task install minimal standard cloud-image
|
||||
add_package install ubuntu-minimal
|
||||
|
1
live-build/edubuntu/hooks/020-ubuntu-live.chroot_early
Symbolic link
1
live-build/edubuntu/hooks/020-ubuntu-live.chroot_early
Symbolic link
@ -0,0 +1 @@
|
||||
../../ubuntu/hooks/020-ubuntu-live.chroot_early
|
@ -63,36 +63,29 @@ mount_image() {
|
||||
backing_img="$1"
|
||||
local rootpart="$2"
|
||||
|
||||
# As explained in excruciating detail in LP: #2045586, "losetup
|
||||
# -P" (a.k.a. --partscan) appears to race with udev in a way that
|
||||
# prevents the device nodes for the partitions from being
|
||||
# created. So instead we run losetup without -P, wait for udev to
|
||||
# settle, then run partprobe and then settle udev again (which is
|
||||
# probably unnecessary but at this point a bit more superstition
|
||||
# can't hurt)
|
||||
|
||||
loop_device=$(losetup --show -f -v ${backing_img})
|
||||
loop_device=$(losetup --show -f -P -v ${backing_img})
|
||||
|
||||
if [ ! -b ${loop_device} ]; then
|
||||
echo "unable to find loop device for ${backing_img}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
udevadm settle
|
||||
partprobe ${loop_device}
|
||||
udevadm settle
|
||||
# As explained in excruciating detail in LP: #2045586, losetup
|
||||
# races with udev in a way that can cause partition device files
|
||||
# to briefly vanish. systemd docs say we can hold udev off by using
|
||||
# flocks: https://systemd.io/BLOCK_DEVICE_LOCKING/
|
||||
# `udevadm lock` isn't yet usable in Ubuntu, so we'll use flock for now
|
||||
|
||||
# Find the rootfs location
|
||||
rootfs_dev_mapper="${loop_device}p${rootpart}"
|
||||
if [ ! -b "${rootfs_dev_mapper}" ]; then
|
||||
if flock -x ${loop_device} [ ! -b "${rootfs_dev_mapper}" ]; then
|
||||
echo "${rootfs_dev_mapper} is not a block device";
|
||||
ls -l ${loop_device}p*
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Add some information to the debug logs
|
||||
echo "Mounted disk image ${backing_img} to ${rootfs_dev_mapper}"
|
||||
blkid ${rootfs_dev_mapper} \
|
||||
flock -x ${loop_device} blkid ${rootfs_dev_mapper} \
|
||||
|| echo "blkid failed; continuing"
|
||||
|
||||
return 0
|
||||
@ -220,14 +213,19 @@ get_lowerdirs_for_pass () {
|
||||
mount_disk_image() {
|
||||
local disk_image=${1}
|
||||
local mountpoint=${2}
|
||||
mount_image ${disk_image} 1
|
||||
local rootpart=${3:-1}
|
||||
mount_image ${disk_image} "${rootpart}"
|
||||
mount_partition "${rootfs_dev_mapper}" $mountpoint
|
||||
|
||||
local boot_dev="${loop_device}p16"
|
||||
if [ -b ${boot_dev} -a -e $mountpoint/boot ]; then
|
||||
mount "${boot_dev}" $mountpoint/boot
|
||||
if flock -x ${loop_device} \
|
||||
[ -b ${boot_dev} -a -e $mountpoint/boot ]; then
|
||||
flock -x ${loop_device} mount "${boot_dev}" $mountpoint/boot
|
||||
fi
|
||||
|
||||
# Having one partition mounted should avoid udev-triggered partition
|
||||
# rescans on that device, so we no longer need to flock.
|
||||
|
||||
local uefi_dev="${loop_device}p15"
|
||||
if [ -b ${uefi_dev} -a -e $mountpoint/boot/efi ]; then
|
||||
mount "${uefi_dev}" $mountpoint/boot/efi
|
||||
|
1
live-build/ubuntu-budgie/hooks/020-ubuntu-live.chroot_early
Symbolic link
1
live-build/ubuntu-budgie/hooks/020-ubuntu-live.chroot_early
Symbolic link
@ -0,0 +1 @@
|
||||
../../ubuntu/hooks/020-ubuntu-live.chroot_early
|
@ -237,14 +237,10 @@ class MakeHooks:
|
||||
"""
|
||||
with open(os.path.join(self._script_dir, "explicit_provides"), "w",
|
||||
encoding="utf-8") as fp:
|
||||
empty = True
|
||||
for provides in self._provides:
|
||||
if not self._quiet:
|
||||
print("[PROVIDES] %s" % provides)
|
||||
fp.write("%s\n" % provides)
|
||||
empty = False
|
||||
if not empty:
|
||||
fp.write('livecd.magic-proxy.log\n')
|
||||
|
||||
def cli(self, args):
|
||||
"""Command line interface to the hooks generator."""
|
||||
|
@ -11,6 +11,10 @@ case $PASS in
|
||||
kernel_metapkg=linux-generic
|
||||
elif [ "$flavor" = "generic-hwe" ]; then
|
||||
kernel_metapkg=linux-generic-hwe-$(lsb_release -sr)
|
||||
elif [ "$flavor" = "generic-64k" ]; then
|
||||
kernel_metapkg=linux-generic-64k
|
||||
elif [ "$flavor" = "generic-64k-hwe" ]; then
|
||||
kernel_metapkg=linux-generic-64k-hwe-$(lsb_release -sr)
|
||||
elif [ "$flavor" = "intel-iotg" ]; then
|
||||
kernel_metapkg=linux-intel-iotg
|
||||
elif [ "$flavor" = "nvidia-tegra" ]; then
|
||||
|
1
live-build/ubuntustudio/hooks/020-ubuntu-live.chroot_early
Symbolic link
1
live-build/ubuntustudio/hooks/020-ubuntu-live.chroot_early
Symbolic link
@ -0,0 +1 @@
|
||||
../../ubuntu/hooks/020-ubuntu-live.chroot_early
|
@ -1 +0,0 @@
|
||||
magic-proxy
|
1046
magic-proxy
1046
magic-proxy
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user