From 6c8261c08d6e3f0666f91da3339a98176cb945b2 Mon Sep 17 00:00:00 2001 From: "martin@piware.de" <> Date: Wed, 26 May 2010 10:39:39 +0200 Subject: [PATCH] install-manifest: update package filtering --- install-manifest | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/install-manifest b/install-manifest index b6d7bc4..1fd337c 100755 --- a/install-manifest +++ b/install-manifest @@ -2,7 +2,9 @@ import urllib, sys, optparse, re, subprocess -kernel_pkg_re = re.compile('linux-(generic|firmware|headers|image|backports|ec2|source|virtual|preempt)') +kernel_pkg_re = re.compile('^linux-(generic|firmware|headers|image|backports|ec2|source|virtual|preempt)') +no_remove_re = re.compile('^bcmwl-|^dkms|^grub|^xserver-xorg-video-intel') +no_install_re = re.compile('^ubiquity|^casper|debian-install') def parse_argv(): '''Parse CLI options. @@ -36,18 +38,21 @@ for l in urllib.urlopen(manifest): pkg = l.split()[0] if options.keep_kernel and kernel_pkg_re.match(pkg): continue + if no_install_re.search(pkg): + continue selection += '%s\tinstall\n' % pkg # add local kernel packages on --keep-kernel -if options.keep_kernel: - dpkg = subprocess.Popen(['dpkg', '--get-selections'], - stdout=subprocess.PIPE) - for l in dpkg.stdout: - pkg, status = l.split() - if status != 'install': - continue - if kernel_pkg_re.match(pkg): - selection += '%s\tinstall\n' % pkg +dpkg = subprocess.Popen(['dpkg', '--get-selections'], + stdout=subprocess.PIPE) +for l in dpkg.stdout: + pkg, status = l.split() + if status != 'install': + continue + if options.keep_kernel and kernel_pkg_re.match(pkg): + selection += '%s\tinstall\n' % pkg + if no_remove_re.search(pkg): + selection += '%s\tinstall\n' % pkg if subprocess.call(['which', 'dselect'], stdout=subprocess.PIPE) != 0: print >> sys.stderr, 'INFO: installing dselect (needed by this script)' -- 2.39.2