mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-04-27 11:01:18 +00:00
Imported 2.544
No reason for CPC update specified.
This commit is contained in:
parent
7b264f4d10
commit
c37d5f0434
34
debian/changelog
vendored
34
debian/changelog
vendored
@ -1,3 +1,37 @@
|
|||||||
|
livecd-rootfs (2.544) disco; urgency=medium
|
||||||
|
|
||||||
|
[ Steve Langasek ]
|
||||||
|
* Properly fix the hard-linking of vmlinuz, taken astray by my misguided
|
||||||
|
merge review.
|
||||||
|
|
||||||
|
[ Dimitri John Ledkov ]
|
||||||
|
* When calling snap-seed-parse append stdout to file, but redirect
|
||||||
|
stderr to stdout, thus unbreak autopkgtests.
|
||||||
|
|
||||||
|
-- Dimitri John Ledkov <xnox@ubuntu.com> Thu, 08 Nov 2018 15:40:42 +0000
|
||||||
|
|
||||||
|
livecd-rootfs (2.543) disco; urgency=medium
|
||||||
|
|
||||||
|
[ Cody Shepherd ]
|
||||||
|
* Ensure pre-seeded snaps are now published in the image manifests.
|
||||||
|
* Include grub efi packages in manifests for uefi images.
|
||||||
|
|
||||||
|
[ Aleksandr Bogdanov ]
|
||||||
|
* vagrant: disabling automatic console log file
|
||||||
|
|
||||||
|
[ Łukasz 'sil2100' Zemczak ]
|
||||||
|
* Avoid issues of hard-linking to a symbolic vmlinuz as this can lead to a
|
||||||
|
dangling symlink.
|
||||||
|
|
||||||
|
[ Steve Langasek ]
|
||||||
|
* Unconditionally set GRUB_FORCE_PARTUUID in cloud images; as of version
|
||||||
|
2.02+dfsg1-5ubuntu5 grub will automatically fall back to booting with an
|
||||||
|
initrd if one is available, so we can now always attempt initramfsless
|
||||||
|
boot for cloud images which almost always works and causes only minimal
|
||||||
|
increase in boot time for cases where it does not.
|
||||||
|
|
||||||
|
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 02 Nov 2018 14:40:17 -0700
|
||||||
|
|
||||||
livecd-rootfs (2.542) cosmic; urgency=medium
|
livecd-rootfs (2.542) cosmic; urgency=medium
|
||||||
|
|
||||||
* Decide what model assertion series to fetch depending on the suite. Use 16
|
* Decide what model assertion series to fetch depending on the suite. Use 16
|
||||||
|
@ -550,7 +550,9 @@ if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; th
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# '--initramfs none' produces different manifest names.
|
# '--initramfs none' produces different manifest names.
|
||||||
|
# NB! we want stdout appended to the manifest, yet stderr to be printed on stdout
|
||||||
if [ -e "binary/$INITFS/filesystem.packages" ]; then
|
if [ -e "binary/$INITFS/filesystem.packages" ]; then
|
||||||
|
./config/snap-seed-parse "chroot/" 2>&1 >> "binary/${INITFS}/filesystem.packages"
|
||||||
ln "binary/$INITFS/filesystem.packages" "$PREFIX.manifest"
|
ln "binary/$INITFS/filesystem.packages" "$PREFIX.manifest"
|
||||||
chmod 644 "$PREFIX.manifest"
|
chmod 644 "$PREFIX.manifest"
|
||||||
fi
|
fi
|
||||||
@ -848,13 +850,13 @@ done
|
|||||||
NUMFLAVOURS="$(set -- $LB_LINUX_FLAVOURS; echo $#)"
|
NUMFLAVOURS="$(set -- $LB_LINUX_FLAVOURS; echo $#)"
|
||||||
if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then
|
if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then
|
||||||
# only one kernel flavour
|
# only one kernel flavour
|
||||||
if [ -e "binary/$INITFS/vmlinuz" ]; then
|
if [ -f "binary/$INITFS/vmlinuz" ] && ! [ -h "binary/$INITFS/vmlinuz" ]; then
|
||||||
ln "binary/$INITFS/vmlinuz" "$PREFIX.kernel"
|
ln "binary/$INITFS/vmlinuz" "$PREFIX.kernel"
|
||||||
chmod 644 "$PREFIX.kernel"
|
chmod 644 "$PREFIX.kernel"
|
||||||
else
|
else
|
||||||
ln -sf "$PREFIX.kernel-$LB_LINUX_FLAVOURS" "$PREFIX.kernel"
|
ln -sf "$PREFIX.kernel-$LB_LINUX_FLAVOURS" "$PREFIX.kernel"
|
||||||
fi
|
fi
|
||||||
if [ -e "binary/$INITFS/initrd.lz" ]; then
|
if [ -f "binary/$INITFS/initrd.lz" ] && ! [ -h "binary/$INITFS/initrd.lz" ]; then
|
||||||
ln "binary/$INITFS/initrd.lz" "$PREFIX.initrd"
|
ln "binary/$INITFS/initrd.lz" "$PREFIX.initrd"
|
||||||
chmod 644 "$PREFIX.initrd"
|
chmod 644 "$PREFIX.initrd"
|
||||||
else
|
else
|
||||||
|
@ -33,6 +33,7 @@ fi
|
|||||||
|
|
||||||
mkdir -p config
|
mkdir -p config
|
||||||
cp -af /usr/share/livecd-rootfs/live-build/functions config/functions
|
cp -af /usr/share/livecd-rootfs/live-build/functions config/functions
|
||||||
|
cp -af /usr/share/livecd-rootfs/live-build/snap-seed-parse.py config/snap-seed-parse
|
||||||
|
|
||||||
mkdir -p config/package-lists
|
mkdir -p config/package-lists
|
||||||
|
|
||||||
|
@ -43,6 +43,18 @@ create_empty_disk_image() {
|
|||||||
dd if=/dev/zero of="$1" bs=1 count=0 seek="${imagesize}"
|
dd if=/dev/zero of="$1" bs=1 count=0 seek="${imagesize}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# NB! we want stdout appended to the manifest, yet stderr to be printed on stdout
|
||||||
|
create_manifest() {
|
||||||
|
local chroot_root=${1}
|
||||||
|
local target_file=${2}
|
||||||
|
echo "create_manifest chroot_root: ${chroot_root}"
|
||||||
|
dpkg-query --show --admindir="${chroot_root}/var/lib/dpkg" > ${target_file}
|
||||||
|
echo "create_manifest call to dpkg-query finished."
|
||||||
|
./config/snap-seed-parse "${chroot_root}" 2>&1 >> ${target_file}
|
||||||
|
echo "create_manifest call to snap_seed_parse finished."
|
||||||
|
echo "create_manifest finished"
|
||||||
|
}
|
||||||
|
|
||||||
make_ext4_partition() {
|
make_ext4_partition() {
|
||||||
device="$1"
|
device="$1"
|
||||||
label=${fs_label:+-L "${fs_label}"}
|
label=${fs_label:+-L "${fs_label}"}
|
||||||
|
56
live-build/snap-seed-parse.py
Executable file
56
live-build/snap-seed-parse.py
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
"""
|
||||||
|
Usage: snap-seed-parse ${chroot_dir} > somefile.manifest
|
||||||
|
|
||||||
|
This script looks for a seed.yaml path in the given root directory, parsing
|
||||||
|
it and printing generated manifest lines to stdout for easy redirection.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
import yaml
|
||||||
|
import os.path
|
||||||
|
|
||||||
|
|
||||||
|
def log(msg):
|
||||||
|
sys.stderr.write("snap-seed-parse: {}\n".format(msg))
|
||||||
|
|
||||||
|
|
||||||
|
log("Parsing seed.yaml")
|
||||||
|
|
||||||
|
CHROOT_ROOT = sys.argv[1] if len(sys.argv) > 1 and len(sys.argv[1]) > 0 \
|
||||||
|
else ''
|
||||||
|
|
||||||
|
# Trim any trailing slashes for correct appending
|
||||||
|
log("CHROOT_ROOT: {}".format(CHROOT_ROOT))
|
||||||
|
if len(CHROOT_ROOT) > 0 and CHROOT_ROOT[-1] == '/':
|
||||||
|
CHROOT_ROOT = CHROOT_ROOT[:-1]
|
||||||
|
|
||||||
|
# This is where we expect to find the seed.yaml file
|
||||||
|
YAML_PATH = CHROOT_ROOT + '/var/lib/snapd/seed/seed.yaml'
|
||||||
|
|
||||||
|
# Snaps are prepended with this string in the manifest
|
||||||
|
LINE_PREFIX = 'snap:'
|
||||||
|
|
||||||
|
log("yaml path: {}".format(YAML_PATH))
|
||||||
|
if not os.path.isfile(YAML_PATH):
|
||||||
|
log("WARNING: yaml path not found; no seeded snaps found.")
|
||||||
|
exit(0)
|
||||||
|
else:
|
||||||
|
log("yaml path found.")
|
||||||
|
|
||||||
|
with open(YAML_PATH, 'r') as fh:
|
||||||
|
yaml_lines = yaml.safe_load(fh)['snaps']
|
||||||
|
|
||||||
|
# Loop over dict items, outputting one manifest line from each triplet
|
||||||
|
for item in yaml_lines:
|
||||||
|
filestring = item['file']
|
||||||
|
# Pull the revision number off the file name
|
||||||
|
revision = filestring[filestring.rindex('_')+1:]
|
||||||
|
revision = re.sub(r'[^0-9]', '', revision)
|
||||||
|
print("{}{}\t{}\t{}".format(LINE_PREFIX,
|
||||||
|
item['name'],
|
||||||
|
item['channel'],
|
||||||
|
revision,
|
||||||
|
))
|
@ -26,4 +26,4 @@ mkdir -p $rootfs_dir/lib/modules
|
|||||||
|
|
||||||
teardown_mountpoint $rootfs_dir
|
teardown_mountpoint $rootfs_dir
|
||||||
|
|
||||||
dpkg-query --admindir=$rootfs_dir/var/lib/dpkg -W > $rootfs_dir.manifest
|
create_manifest "${rootfs_dir}" "${rootfs_dir}.manifest"
|
||||||
|
@ -121,7 +121,7 @@ if [ "${should_install_grub}" -eq 1 ]; then
|
|||||||
|
|
||||||
rm mountpoint/tmp/device.map
|
rm mountpoint/tmp/device.map
|
||||||
|
|
||||||
if [ "${SUBPROJECT:-}" = minimized ] && [ -n "$partuuid" ]; then
|
if [ -n "$partuuid" ]; then
|
||||||
echo "partuuid found for root device; forcing it in Grub"
|
echo "partuuid found for root device; forcing it in Grub"
|
||||||
mkdir -p mountpoint/etc/default/grub.d
|
mkdir -p mountpoint/etc/default/grub.d
|
||||||
echo "GRUB_FORCE_PARTUUID=$partuuid" >> mountpoint/etc/default/grub.d/40-force-partuuid.cfg
|
echo "GRUB_FORCE_PARTUUID=$partuuid" >> mountpoint/etc/default/grub.d/40-force-partuuid.cfg
|
||||||
|
@ -64,7 +64,7 @@ install_grub() {
|
|||||||
efi_boot_dir="/boot/efi/EFI/BOOT"
|
efi_boot_dir="/boot/efi/EFI/BOOT"
|
||||||
chroot mountpoint mkdir -p "${efi_boot_dir}"
|
chroot mountpoint mkdir -p "${efi_boot_dir}"
|
||||||
|
|
||||||
if [ "${SUBPROJECT:-}" = minimized ] && [ -n "$partuuid" ]; then
|
if [ -n "$partuuid" ]; then
|
||||||
# FIXME: code duplicated between 032-disk-image.binary
|
# FIXME: code duplicated between 032-disk-image.binary
|
||||||
# and 033-disk-image-uefi.binary. We want to fix this to not
|
# and 033-disk-image-uefi.binary. We want to fix this to not
|
||||||
# have initramfs-tools installed at all on these images.
|
# have initramfs-tools installed at all on these images.
|
||||||
@ -93,6 +93,12 @@ install_grub() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# This call to generate the package manifest is added here to capture
|
||||||
|
# grub-efi packages that otherwise would not make it into the base
|
||||||
|
# manifest. filesystem.packages is moved into place via symlinking to
|
||||||
|
# livecd.ubuntu-cpc.manifest by live-build/auto/build after lb_binary runs
|
||||||
|
create_manifest "mountpoint" "binary/boot/filesystem.packages"
|
||||||
|
|
||||||
chroot mountpoint grub-install "${loop_device}" \
|
chroot mountpoint grub-install "${loop_device}" \
|
||||||
--boot-directory=/boot \
|
--boot-directory=/boot \
|
||||||
--efi-directory=/boot/efi \
|
--efi-directory=/boot/efi \
|
||||||
|
@ -163,7 +163,8 @@ Vagrant.configure("2") do |config|
|
|||||||
|
|
||||||
config.vm.provider "virtualbox" do |vb|
|
config.vm.provider "virtualbox" do |vb|
|
||||||
vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
|
vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
|
||||||
vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "${prefix}-console.log") ]
|
# Creating a console log file is not an expected behavior for vagrant boxes. LP #1777827
|
||||||
|
# vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "${prefix}-console.log") ]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
EOF
|
EOF
|
||||||
|
@ -28,7 +28,7 @@ cp -a chroot/* binary/boot/squashfs.dir
|
|||||||
squashfs_f="${PWD}/livecd.${PROJECT}.squashfs"
|
squashfs_f="${PWD}/livecd.${PROJECT}.squashfs"
|
||||||
squashfs_f_manifest="${squashfs_f}.manifest"
|
squashfs_f_manifest="${squashfs_f}.manifest"
|
||||||
|
|
||||||
dpkg-query --admindir=binary/boot/squashfs.dir/var/lib/dpkg -W > ${squashfs_f_manifest}
|
create_manifest "binary/boot/squashfs.dir" "${squashfs_f_manifest}"
|
||||||
|
|
||||||
(cd "binary/boot/squashfs.dir/" &&
|
(cd "binary/boot/squashfs.dir/" &&
|
||||||
mksquashfs . ${squashfs_f} \
|
mksquashfs . ${squashfs_f} \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user