Import patches-unapplied version 2.537 to ubuntu/cosmic-proposed

Imported using git-ubuntu import.

Changelog parent: 4de1045012a988a3fd716afac1c3e4fe1cc5ee46

New changelog entries:
  * Minimize the number of manually installed packages in images by marking
    dependencies of metapackages as automatically installed.
This commit is contained in:
Julian Andres Klode 2018-09-18 08:55:04 +02:00 committed by usd-importer
parent 4de1045012
commit d36578f6bb
6 changed files with 63 additions and 5 deletions

View File

@ -1,5 +0,0 @@
2018-06-12 10:15:24,458 subiquity:107 Starting SUbiquity v0.0.5
2018-06-12 10:15:24,458 subiquity:108 Arguments passed: ['/home/mwhudson/src/subiquity/subiquity/__main__.py', '--dry-run', '--machine-config', 'examples/mwhudson.json', '--screens', 'Filesystem', '--uefi', '--click', 'Use', '--click', 'Cru']
2018-06-12 10:15:24,458 subiquitycore.utils:30 Checking environment for installer requirements...
2018-06-12 10:15:24,461 subiquitycore.utils:81 FAIL: /usr/bin/curtin is not found on the filesystem
2018-06-12 10:15:24,461 subiquitycore.prober:40 User specified machine_config: examples/mwhudson.json

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
livecd-rootfs (2.537) cosmic; urgency=medium
* Minimize the number of manually installed packages in images by marking
dependencies of metapackages as automatically installed.
-- Julian Andres Klode <juliank@ubuntu.com> Tue, 18 Sep 2018 08:55:04 +0200
livecd-rootfs (2.536) cosmic; urgency=medium
* Fix live-server journald config snippet to actually disable journald rate

1
debian/control vendored
View File

@ -26,6 +26,7 @@ Depends: ${misc:Depends},
parted,
procps,
python-minimal | python,
python3-apt,
python3-software-properties,
qemu-utils,
rsync,

1
debian/install vendored
View File

@ -1,2 +1,3 @@
live-build usr/share/livecd-rootfs
get-ppa-fingerprint usr/share/livecd-rootfs
minimize-manual usr/share/livecd-rootfs

View File

@ -445,6 +445,8 @@ EOF
(cd chroot && find usr/share/doc -maxdepth 1 -type d | xargs du -s | sort -nr)
echo END docdirs
/usr/share/livecd-rootfs/minimize-manual chroot
lb binary "$@"
touch binary.success
) 2>&1 | tee binary.log

52
minimize-manual Executable file
View File

@ -0,0 +1,52 @@
#!/usr/bin/python3
"""Minimize the number of manually installed packages in the image.
Finds all manually installed meta packages, and marks their dependencies
as automatically installed.
"""
import sys
import apt
def is_root(pkg):
"""Check if the package is a root package (manually inst. meta)"""
return (pkg.is_installed and
not pkg.is_auto_installed and
(pkg.section == "metapackages" or
pkg.section.endswith("/metapackages")))
def main():
"""Main function"""
cache = apt.Cache(rootdir=sys.argv[1] if len(sys.argv) > 1 else None)
roots = set(pkg for pkg in cache if is_root(pkg))
workset = set(roots)
seen = set()
with cache.actiongroup():
while True:
print("Iteration", file=sys.stderr)
to_proc = workset - seen
if not to_proc:
break
for pkg in sorted(to_proc):
print(" Visiting", pkg, file=sys.stderr)
if pkg not in roots:
pkg.mark_auto()
for dep in (pkg.installed.dependencies +
pkg.installed.recommends):
for bdep in dep.or_dependencies:
for ver in bdep.target_versions:
if ver.package.is_installed:
workset.add(ver.package)
seen.add(pkg)
cache.commit()
if __name__ == '__main__':
main()