mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-08-14 18:24:15 +00:00
Imported 23.10.26 from mantic-release pocket.
No reason for CPC update specified.
This commit is contained in:
parent
18626aadcb
commit
197c549edb
39
debian/changelog
vendored
39
debian/changelog
vendored
@ -1,3 +1,42 @@
|
|||||||
|
livecd-rootfs (23.10.26) mantic; urgency=medium
|
||||||
|
|
||||||
|
[ Łukasz 'sil2100' Zemczak ]
|
||||||
|
* Update the enhanced-sb layer model to not preinstall the printing snaps,
|
||||||
|
per changes to seeds. Live layer model not changed as it will go away
|
||||||
|
soon per our staged changes.
|
||||||
|
|
||||||
|
[ Michael Hudson-Doyle ]
|
||||||
|
* Use a traditional seed.yaml style seed for the canary installer's live
|
||||||
|
|
||||||
|
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Mon, 28 Aug 2023 12:13:38 +0200
|
||||||
|
|
||||||
|
livecd-rootfs (23.10.25) mantic; urgency=medium
|
||||||
|
|
||||||
|
* snap-seed-parse.py: fix builds with no snaps.
|
||||||
|
|
||||||
|
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Mon, 28 Aug 2023 14:02:56 +1200
|
||||||
|
|
||||||
|
livecd-rootfs (23.10.24) mantic; urgency=medium
|
||||||
|
|
||||||
|
* update-source-catalog: Fix case where a variaton does not point at the
|
||||||
|
base layer (i.e. most builds) (LP: #2033168)
|
||||||
|
* Configure universe sources in canary ISO. (LP: #2033109)
|
||||||
|
* snap-seed-parse.py: Update to allow parsing uc20-style seeds.
|
||||||
|
(LP: #2028984)
|
||||||
|
|
||||||
|
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Mon, 28 Aug 2023 12:48:53 +1200
|
||||||
|
|
||||||
|
livecd-rootfs (23.10.23) mantic; urgency=medium
|
||||||
|
|
||||||
|
* i386 foreign-arch support was added for the canary image before 23.04
|
||||||
|
released, but by mistake it was only added to the squashfs for the live
|
||||||
|
session, and not the squashfs layer used as the source for installation.
|
||||||
|
split the chroot hooks to add this to the standard.squashfs.
|
||||||
|
LP: #2033170.
|
||||||
|
* Drop mke2fs.conf override, no longer needed.
|
||||||
|
|
||||||
|
-- Steve Langasek <steve.langasek@ubuntu.com> Sat, 26 Aug 2023 16:34:27 -0700
|
||||||
|
|
||||||
livecd-rootfs (23.10.22) mantic; urgency=medium
|
livecd-rootfs (23.10.22) mantic; urgency=medium
|
||||||
|
|
||||||
* Undo preseeding in reset_snapd_state.
|
* Undo preseeding in reset_snapd_state.
|
||||||
|
@ -722,6 +722,7 @@ case $PROJECT in
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
canary)
|
canary)
|
||||||
|
touch config/universe-enabled
|
||||||
PASSES_TO_LAYERS="true"
|
PASSES_TO_LAYERS="true"
|
||||||
# the standard layer, contains all base common packages for later layers
|
# the standard layer, contains all base common packages for later layers
|
||||||
add_task standard minimal standard ubuntu-desktop ubuntu-desktop-default-languages
|
add_task standard minimal standard ubuntu-desktop ubuntu-desktop-default-languages
|
||||||
@ -730,6 +731,7 @@ case $PROJECT in
|
|||||||
# TODO: we should probably add the kernel per KERNEL_FLAVOURS
|
# TODO: we should probably add the kernel per KERNEL_FLAVOURS
|
||||||
add_package standard.live linux-generic casper lvm2 mdadm cryptsetup dctrl-tools
|
add_package standard.live linux-generic casper lvm2 mdadm cryptsetup dctrl-tools
|
||||||
remove_package standard.live ubiquity-frontend-gtk
|
remove_package standard.live ubiquity-frontend-gtk
|
||||||
|
add_snap standard.live ubuntu-desktop-installer/classic
|
||||||
# the enhanced-secureboot layer, contains all packages for the enhanced secureboot install
|
# the enhanced-secureboot layer, contains all packages for the enhanced secureboot install
|
||||||
add_package standard.enhanced-secureboot cryptsetup boot-managed-by-snapd
|
add_package standard.enhanced-secureboot cryptsetup boot-managed-by-snapd
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ The $chroot_dir argument is optional and will default to the empty string.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import glob
|
||||||
import os.path
|
import os.path
|
||||||
import re
|
import re
|
||||||
import yaml
|
import yaml
|
||||||
@ -32,37 +33,129 @@ CHROOT_ROOT = ARGS.chroot
|
|||||||
FNAME = ARGS.file
|
FNAME = ARGS.file
|
||||||
|
|
||||||
# Trim any trailing slashes for correct appending
|
# Trim any trailing slashes for correct appending
|
||||||
|
CHROOT_ROOT = CHROOT_ROOT.rstrip('/')
|
||||||
log("CHROOT_ROOT: {}".format(CHROOT_ROOT))
|
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
|
# Snaps are prepended with this string in the manifest
|
||||||
LINE_PREFIX = 'snap:'
|
LINE_PREFIX = 'snap:'
|
||||||
|
|
||||||
|
# This is where we expect to find the seed.yaml file
|
||||||
|
YAML_PATH = CHROOT_ROOT + '/var/lib/snapd/seed/seed.yaml'
|
||||||
|
|
||||||
log("yaml path: {}".format(YAML_PATH))
|
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)
|
def make_manifest_from_seed_yaml(path):
|
||||||
|
with open(YAML_PATH, 'r') as fh:
|
||||||
|
yaml_lines = yaml.safe_load(fh)['snaps']
|
||||||
|
|
||||||
|
log('Writing manifest to {}'.format(FNAME))
|
||||||
|
|
||||||
|
with open(FNAME, 'a+') as fh:
|
||||||
|
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)
|
||||||
|
fh.write("{}{}\t{}\t{}\n".format(LINE_PREFIX,
|
||||||
|
item['name'],
|
||||||
|
item['channel'],
|
||||||
|
revision,
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
def look_for_uc20_model(chroot):
|
||||||
|
systems_dir = f"{chroot}/var/lib/snapd/seed/systems"
|
||||||
|
if not os.path.isdir(systems_dir):
|
||||||
|
log("no systems directory found")
|
||||||
|
return None
|
||||||
|
modeenv = f"{chroot}/var/lib/snapd/modeenv"
|
||||||
|
system_name = None
|
||||||
|
if os.path.isfile(modeenv):
|
||||||
|
log(f"found modeenv file at {modeenv}")
|
||||||
|
with open(modeenv) as fh:
|
||||||
|
for line in fh:
|
||||||
|
if line.startswith("recovery_system="):
|
||||||
|
system_name = line.split('=', 1)[1].strip()
|
||||||
|
log(f"read system name {system_name!r} from modeenv")
|
||||||
|
break
|
||||||
|
if system_name is None:
|
||||||
|
system_names = os.listdir(systems_dir)
|
||||||
|
if len(system_names) == 0:
|
||||||
|
log("no systems found")
|
||||||
|
return None
|
||||||
|
elif len(system_names) > 1:
|
||||||
|
log("multiple systems found, refusing to guess which to parse")
|
||||||
|
return None
|
||||||
|
else:
|
||||||
|
system_name = system_names[0]
|
||||||
|
log(f"parsing only system found {system_name}")
|
||||||
|
system_dir = f"{chroot}/var/lib/snapd/seed/systems/{system_name}"
|
||||||
|
if not os.path.isdir(system_dir):
|
||||||
|
log(f"could not find system called {system_name}")
|
||||||
|
return None
|
||||||
|
return system_dir
|
||||||
|
|
||||||
|
|
||||||
|
def parse_assertion_file(asserts, filename):
|
||||||
|
# Parse the snapd assertions file 'filename' and store the
|
||||||
|
# assertions found in 'asserts'.
|
||||||
|
with open(filename) as fp:
|
||||||
|
text = fp.read()
|
||||||
|
|
||||||
|
k = ''
|
||||||
|
|
||||||
|
for block in text.split('\n\n'):
|
||||||
|
if block.startswith('type:'):
|
||||||
|
this_assert = {}
|
||||||
|
for line in block.split('\n'):
|
||||||
|
if line.startswith(' '):
|
||||||
|
this_assert[k.strip()] += '\n' + line
|
||||||
|
continue
|
||||||
|
k, v = line.split(':', 1)
|
||||||
|
this_assert[k.strip()] = v.strip()
|
||||||
|
asserts.setdefault(this_assert['type'], []).append(this_assert)
|
||||||
|
|
||||||
|
|
||||||
|
def make_manifest_from_system(system_dir):
|
||||||
|
files = [f"{system_dir}/model"] + glob.glob(f"{system_dir}/assertions/*")
|
||||||
|
|
||||||
|
asserts = {}
|
||||||
|
for filename in files:
|
||||||
|
parse_assertion_file(asserts, filename)
|
||||||
|
|
||||||
|
[model] = asserts['model']
|
||||||
|
snaps = yaml.safe_load(model['snaps'])
|
||||||
|
|
||||||
|
snap_names = []
|
||||||
|
for snap in snaps:
|
||||||
|
snap_names.append(snap['name'])
|
||||||
|
snap_names.sort()
|
||||||
|
|
||||||
|
snap_name_to_id = {}
|
||||||
|
snap_id_to_rev = {}
|
||||||
|
for decl in asserts['snap-declaration']:
|
||||||
|
snap_name_to_id[decl['snap-name']] = decl['snap-id']
|
||||||
|
for rev in asserts['snap-revision']:
|
||||||
|
snap_id_to_rev[rev['snap-id']] = rev['snap-revision']
|
||||||
|
|
||||||
|
log('Writing manifest to {}'.format(FNAME))
|
||||||
|
|
||||||
|
with open(FNAME, 'a+') as fh:
|
||||||
|
for snap_name in snap_names:
|
||||||
|
channel = snap['default-channel']
|
||||||
|
rev = snap_id_to_rev[snap_name_to_id[snap_name]]
|
||||||
|
fh.write(f"{LINE_PREFIX}{snap_name}\t{channel}\t{rev}\n")
|
||||||
|
|
||||||
|
|
||||||
|
if os.path.isfile(YAML_PATH):
|
||||||
|
log(f"seed.yaml found at {YAML_PATH}")
|
||||||
|
make_manifest_from_seed_yaml(YAML_PATH)
|
||||||
else:
|
else:
|
||||||
log("yaml path found.")
|
system_dir = look_for_uc20_model(CHROOT_ROOT)
|
||||||
|
if system_dir is None:
|
||||||
|
log("WARNING: could not find seed.yaml or uc20-style seed")
|
||||||
|
exit(0)
|
||||||
|
make_manifest_from_system(system_dir)
|
||||||
|
|
||||||
with open(YAML_PATH, 'r') as fh:
|
|
||||||
yaml_lines = yaml.safe_load(fh)['snaps']
|
|
||||||
|
|
||||||
log('Writing manifest to {}'.format(FNAME))
|
|
||||||
|
|
||||||
with open(FNAME, 'a+') as fh:
|
|
||||||
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)
|
|
||||||
fh.write("{}{}\t{}\t{}\n".format(LINE_PREFIX,
|
|
||||||
item['name'],
|
|
||||||
item['channel'],
|
|
||||||
revision,
|
|
||||||
))
|
|
||||||
log('Manifest output finished.')
|
log('Manifest output finished.')
|
||||||
|
@ -26,7 +26,7 @@ esac
|
|||||||
cat <<EOF > config/classic-model.model
|
cat <<EOF > config/classic-model.model
|
||||||
type: model
|
type: model
|
||||||
authority-id: canonical
|
authority-id: canonical
|
||||||
revision: 3
|
revision: 4
|
||||||
series: 16
|
series: 16
|
||||||
brand-id: canonical
|
brand-id: canonical
|
||||||
model: ubuntu-classic-2310-amd64
|
model: ubuntu-classic-2310-amd64
|
||||||
@ -86,49 +86,19 @@ snaps:
|
|||||||
id: IrwRHakqtzhFRHJOOPxKVPU0Kk7Erhcu
|
id: IrwRHakqtzhFRHJOOPxKVPU0Kk7Erhcu
|
||||||
name: snapd-desktop-integration
|
name: snapd-desktop-integration
|
||||||
type: app
|
type: app
|
||||||
-
|
timestamp: 2023-08-24T12:00:00.0Z
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: m1eQacDdXCthEwWQrESei3Zao3d5gfJF
|
|
||||||
name: cups
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: d1yehor45vFG9GdKjmgdqbnBuKtR0Qa4
|
|
||||||
name: ghostscript-printer-app
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: 3wnSvqxn6OqPBuioytBcdnR2UBaUzvPC
|
|
||||||
name: gutenprint-printer-app
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: PPjo7KVjJvmdYUeUt9LqmKRrgmGdWPyM
|
|
||||||
name: hplip-printer-app
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: WJKWBUuCDufOFw2p24tvkbbw02plGkbd
|
|
||||||
name: ipp-usb
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: 5xUmM1J4qSfki63gfpEDcrr1wU1FdP2k
|
|
||||||
name: ps-printer-app
|
|
||||||
type: app
|
|
||||||
timestamp: 2023-08-22T12:00:00.0Z
|
|
||||||
sign-key-sha3-384: 9tydnLa6MTJ-jaQTFUXEwHl1yRx7ZS4K5cyFDhYDcPzhS7uyEkDxdUjg9g08BtNn
|
sign-key-sha3-384: 9tydnLa6MTJ-jaQTFUXEwHl1yRx7ZS4K5cyFDhYDcPzhS7uyEkDxdUjg9g08BtNn
|
||||||
|
|
||||||
AcLBXAQAAQoABgUCZOTCgQAKCRDgT5vottzAEkN9D/9CM4jsP7D6j5CIMM2t4P7A5Hcq+LB/+wEi
|
AcLBXAQAAQoABgUCZOjUagAKCRDgT5vottzAEgUCD/9ZjBDGZZv7cbIvPWUpqx42XeespLf6xJK6
|
||||||
h9uqr6CbsJazgPS6Y4nZnu5NRz/irwxFyzWLiqbwqdyNgu7Y+2G0PPzo3MgCzjV93hRkPlOmLXHd
|
iadXGNJD910+RkzMPrxAtoo8tmYYIrrbw2Q9lbNOcMfl2akxV+TJzYez2J6V/6wvaPraCFbIdKhr
|
||||||
dtDw6XOXThMLBVSriAft8lKLhzYoX2qw2fP7Wys1NUlRIMYHvJMdHdrVQgoAz+W8qAlbSQ9VSTSc
|
d+bI3e1QTxdlejfc3Nu4ImhKlFEsYrYJZIwAcm7btvmoidoQBXSoUxc7lDt5vdv4mN+bVvVOhew9
|
||||||
xaMConnt5rtOJ9Aw8Er3NZEx5wfpzriGJ1L7T9qUsijVq6On4W4aCUJtKHplsV2LRsn+HSLLae7h
|
/FG7U+G5w4yZzkW5rH1lhBGIZX76D6+/3AVlC/R69mBUPDNDeGj48IUT8iV58cYYprchMbw4LIU6
|
||||||
ULCCpUy88D3uNOoAPBRjY9Vm64/gtvMpYOztqhukT7OMDigH6RD6g0qfgS8aC4x/Ok6OIZpNnP0f
|
l92wqbhl3uQveoWUqirHbQYa8q7D85XnvlukaPb3LQL6rJzuAU1G1jmLPkMz5mqQsRBBuhC9skR4
|
||||||
Iy4cx5DepdIR4sMlBtfQhenkG49gkNyUxtbN1XeS1N21cBsNysBL8CSBucR3plPOWYSthrwWgRpD
|
UWHK7TWsKSlWmCfZAVn9wZezPZ4M+dQv8QNb7JpCmVNZ4GL/uMOds213FTeNJhowVfqgT1sMv9LP
|
||||||
qv0DA/SIzntFxRUFh34f0ESLSJja/WrmEbSzk7EfloauY/2gWQ7B+NHnddTI/uBKpssi+rhJlUq8
|
H8mPIB1COn50+6XpZPUj49i2yiVN+BeuhRG9BDdstDie8gNOMvJgyvh0WmfgmIQcCuRgzheqj/co
|
||||||
Hec1La/U+fv0WOWg3tD71lbNqFCQv02vi5az15NfRxI9K2K72rWvmhaUuQQUZPBitBTmTX8rG3pb
|
0a8WuqYLsmyQCERP1fhuR/27d5+Dxg7DuiwocZwgXjtRkhUJrCnNWJnY//03sVXilFitEdlLVPt7
|
||||||
Aw00idWo5/hAgSpcOIoEhntkxfgLpoK2s8EX1USPk5XW+9XITEsKFyC3UVBgsRDqRMLWn1Eketyv
|
WVhBSGHlrIaayLiOmCshvLqKZN5Cum9hXZ+wxWI/liG27eXOwaMDKPg/KeyxsHWNrXyuT5ZrTL7w
|
||||||
ejP1SS6R9LyritULe9w7lcxRlg8f4G+scUYSyBjLDA==
|
eAEuriz8mNgmJtzImEkhymjuAuSTL284F1WpeW/cIg==
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
channel=""
|
channel=""
|
||||||
|
@ -22,129 +22,6 @@ esac
|
|||||||
. config/binary
|
. config/binary
|
||||||
. config/functions
|
. config/functions
|
||||||
|
|
||||||
# env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 brand-id=canonical model=ubuntu-installer-classic-2310-amd64 > config/classic-model-installer.model
|
|
||||||
cat <<EOF > config/classic-model-installer.model
|
|
||||||
type: model
|
|
||||||
authority-id: canonical
|
|
||||||
revision: 3
|
|
||||||
series: 16
|
|
||||||
brand-id: canonical
|
|
||||||
model: ubuntu-installer-classic-2310-amd64
|
|
||||||
architecture: amd64
|
|
||||||
base: core22
|
|
||||||
classic: true
|
|
||||||
distribution: ubuntu
|
|
||||||
grade: signed
|
|
||||||
snaps:
|
|
||||||
-
|
|
||||||
default-channel: latest/stable
|
|
||||||
id: amcUKQILKXHHTlmSa7NMdnXSx02dNeeT
|
|
||||||
name: core22
|
|
||||||
type: base
|
|
||||||
-
|
|
||||||
default-channel: latest/stable
|
|
||||||
id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
|
|
||||||
name: snapd
|
|
||||||
type: snapd
|
|
||||||
-
|
|
||||||
classic: true
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: rQm0TtMOYOtEslvEXgxQDhgy1JNn38Wz
|
|
||||||
name: ubuntu-desktop-installer
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable
|
|
||||||
id: EISPgh06mRh1vordZY9OZ34QHdd7OrdR
|
|
||||||
name: bare
|
|
||||||
type: base
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: 3wdHCAVyZEmYsCMFDE9qt92UV8rC8Wdk
|
|
||||||
name: firefox
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: lATO8HzwVvrAPrlZRAWpfyrJKlAJrZS3
|
|
||||||
name: gnome-42-2204
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: jZLfBRzf1cYlYysIjD2bwSzNtngY0qit
|
|
||||||
name: gtk-common-themes
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: gjf3IPXoRiipCu9K0kVu52f0H56fIksg
|
|
||||||
name: snap-store
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: IrwRHakqtzhFRHJOOPxKVPU0Kk7Erhcu
|
|
||||||
name: snapd-desktop-integration
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: m1eQacDdXCthEwWQrESei3Zao3d5gfJF
|
|
||||||
name: cups
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: d1yehor45vFG9GdKjmgdqbnBuKtR0Qa4
|
|
||||||
name: ghostscript-printer-app
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: 3wnSvqxn6OqPBuioytBcdnR2UBaUzvPC
|
|
||||||
name: gutenprint-printer-app
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: PPjo7KVjJvmdYUeUt9LqmKRrgmGdWPyM
|
|
||||||
name: hplip-printer-app
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: WJKWBUuCDufOFw2p24tvkbbw02plGkbd
|
|
||||||
name: ipp-usb
|
|
||||||
type: app
|
|
||||||
-
|
|
||||||
default-channel: latest/stable/ubuntu-23.10
|
|
||||||
id: 5xUmM1J4qSfki63gfpEDcrr1wU1FdP2k
|
|
||||||
name: ps-printer-app
|
|
||||||
type: app
|
|
||||||
timestamp: 2023-08-22T12:00:00.0Z
|
|
||||||
sign-key-sha3-384: 9tydnLa6MTJ-jaQTFUXEwHl1yRx7ZS4K5cyFDhYDcPzhS7uyEkDxdUjg9g08BtNn
|
|
||||||
|
|
||||||
AcLBXAQAAQoABgUCZOTCgQAKCRDgT5vottzAEvDYD/97aa0ub3eq1zzUpMRDXY+NoHMLOON5zBgA
|
|
||||||
qLmpZq9ECZtuT0Tsyn/znlx2g15r8erzlgQtg/lS8iLIk0PqmwE/BB4ntdLQ3P56Rxz/YvkoK31B
|
|
||||||
519vOcpLlXxyVHsG4u3IjsEtPBlm4dmnzuuJodiRF4g4iXlxIQpcCkUm1gTHKof6NUlne7VwNty7
|
|
||||||
8GvinPZtoTDVc6i+VftzUAbnqtifSlvxUseDvRkZrYX44FWKfEz7qqGQVdtwmZrP/ab+nc0CA+Nz
|
|
||||||
p6pn1wBrXk4y3EGw5RWQJvY5PzE5E7fCCirUW6SWpZ15jGK7pKGtXK2TJQlgsILeVp40FhnX5+As
|
|
||||||
9EnJpCCPYn8ZkKKjL9dCvmBSaKsqC0SVPYeB+T6PG2ANEHooaALvoiSTUVCM4HnBvjMtSXJpOPE7
|
|
||||||
FzfyL9z4mKtNF82NmHc9Oms7QfuX70jQ0mgS/NDy6Te+4dhZ5QpLZzkwed/SWGmHGADPPV6Dxhcd
|
|
||||||
N5sjPPhhAJ6A2EyJQrKY3dOUt/vlu04C1TZCQwz9aQJO5hEaC3E/+ci8IVBRhDAvKJJ4iuTdO/k2
|
|
||||||
SRiShTD1s/mua3D01bN2gGoyh2DY4lFKro28by4Ci0QXSBOIVTk+GnWAOwJCnbB636PZD9Ipf29L
|
|
||||||
ri86PlIOcM1OvSROryexBE+aNuWZYBwvJIo2kMYfVw==
|
|
||||||
EOF
|
|
||||||
|
|
||||||
channel=""
|
|
||||||
if [ -n "${CHANNEL:-}" ]; then
|
|
||||||
channel="--channel $CHANNEL"
|
|
||||||
fi
|
|
||||||
|
|
||||||
reset_snapd_state chroot
|
|
||||||
|
|
||||||
env SNAPPY_STORE_NO_CDN=1 snap prepare-image \
|
|
||||||
--classic config/classic-model-installer.model $channel chroot
|
|
||||||
mv chroot/system-seed/systems/* chroot/system-seed/systems/classic-installer
|
|
||||||
rm -rf chroot/var/lib/snapd/seed
|
|
||||||
mv chroot/system-seed chroot/var/lib/snapd/seed
|
|
||||||
|
|
||||||
cat <<EOF > chroot/var/lib/snapd/modeenv
|
|
||||||
mode=run
|
|
||||||
recovery_system=classic-installer
|
|
||||||
EOF
|
|
||||||
|
|
||||||
mv chroot/boot/initrd.img-* ${PWD}/livecd.${PROJECT}.initrd-generic
|
mv chroot/boot/initrd.img-* ${PWD}/livecd.${PROJECT}.initrd-generic
|
||||||
mv chroot/boot/vmlinu?-* ${PWD}/livecd.${PROJECT}.kernel-generic
|
mv chroot/boot/vmlinu?-* ${PWD}/livecd.${PROJECT}.kernel-generic
|
||||||
chmod a+r ${PWD}/livecd.${PROJECT}.initrd-generic ${PWD}/livecd.${PROJECT}.kernel-generic
|
chmod a+r ${PWD}/livecd.${PROJECT}.initrd-generic ${PWD}/livecd.${PROJECT}.kernel-generic
|
||||||
|
@ -10,15 +10,6 @@ case ${PASS:-} in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# TODO: Make sure this is only executed for canary builds (in a way
|
|
||||||
# other then relying on the fact that these hooks are only copied for
|
|
||||||
# an ubuntu:canary build)
|
|
||||||
|
|
||||||
# As described in LP: #2025339, an initrd built from a jammy userspace
|
|
||||||
# (which is what we use for canary builds currently) cannot fsck a
|
|
||||||
# mantic root filesystem created with the default options.
|
|
||||||
sed -i -e 's/,orphan_file//' /etc/mke2fs.conf
|
|
||||||
|
|
||||||
cat <<EOF > /etc/initramfs-tools/conf.d/casperize.conf
|
cat <<EOF > /etc/initramfs-tools/conf.d/casperize.conf
|
||||||
export CASPER_GENERATE_UUID=1
|
export CASPER_GENERATE_UUID=1
|
||||||
EOF
|
EOF
|
||||||
@ -26,10 +17,3 @@ EOF
|
|||||||
cat <<EOF > /etc/initramfs-tools/conf.d/default-layer.conf
|
cat <<EOF > /etc/initramfs-tools/conf.d/default-layer.conf
|
||||||
LAYERFS_PATH=${PASS}.squashfs
|
LAYERFS_PATH=${PASS}.squashfs
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if [ "$(dpkg --print-architecture)" = amd64 ]; then
|
|
||||||
echo "I: Enabling amd64 multiarch support on amd64"
|
|
||||||
dpkg --add-architecture i386
|
|
||||||
|
|
||||||
apt-get -y update
|
|
||||||
fi
|
|
||||||
|
18
live-build/ubuntu/hooks/020-foreign-arch.chroot_early
Executable file
18
live-build/ubuntu/hooks/020-foreign-arch.chroot_early
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
case ${PASS:-} in
|
||||||
|
standard)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$(dpkg --print-architecture)" = amd64 ]; then
|
||||||
|
echo "I: Enabling amd64 multiarch support on amd64"
|
||||||
|
dpkg --add-architecture i386
|
||||||
|
|
||||||
|
apt-get -y update
|
||||||
|
fi
|
@ -44,7 +44,7 @@ for entry in output:
|
|||||||
else:
|
else:
|
||||||
# No entry with this id found, so add a new one.
|
# No entry with this id found, so add a new one.
|
||||||
|
|
||||||
if template['variations']:
|
if 'variations' in template:
|
||||||
for variation in template['variations'].values():
|
for variation in template['variations'].values():
|
||||||
if variation['path'] == opts.squashfs:
|
if variation['path'] == opts.squashfs:
|
||||||
variation['size'] = int(opts.size)
|
variation['size'] = int(opts.size)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user