summaryrefslogtreecommitdiffstats
path: root/appliance/debian
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-05-20 11:04:30 +0100
committerRichard Jones <rjones@redhat.com>2010-05-20 17:37:16 +0100
commit4312988e0e3acc1f641b70072141916d03623570 (patch)
tree82b1a7cef0d93a24ecd0c7365d2b186e268ad997 /appliance/debian
parent2954491e73d8da7a57eeded2037ae98d1055b3c6 (diff)
downloadlibguestfs-4312988e0e3acc1f641b70072141916d03623570.tar.gz
libguestfs-4312988e0e3acc1f641b70072141916d03623570.tar.xz
libguestfs-4312988e0e3acc1f641b70072141916d03623570.zip
ubuntu: Ignore packages in packagelist.in which are missing.
For distros using 'yum', packages which cannot be found are just ignored. This allows us to include for example 'e4fsprogs' on the list even though that only exists on RHEL 5. However for Debian-derived distros, missing packages would cause apt to fail. This was particularly a problem when building Ubuntu since it doesn't have as complete a list of packages, and the list changed a lot between releases. This commit adds a check first for missing packages, ignoring those and thus acting more like 'yum'.
Diffstat (limited to 'appliance/debian')
-rwxr-xr-xappliance/debian/modules/y0_install-guestfsd12
1 files changed, 10 insertions, 2 deletions
diff --git a/appliance/debian/modules/y0_install-guestfsd b/appliance/debian/modules/y0_install-guestfsd
index 3eb8ba9f..2d895a05 100755
--- a/appliance/debian/modules/y0_install-guestfsd
+++ b/appliance/debian/modules/y0_install-guestfsd
@@ -13,8 +13,16 @@ exec 5<&-
echo "Module whitelist: $whitelist"
find $DEBIRF_ROOT/lib/modules/*/kernel -name '*.ko' $whitelist -a -exec rm '{}' \;
-# install additional packages:
-PKGLIST=$(< packagelist)
+# install additional packages from the package list, but
+# only ones which exist in the repository
+PKGLIST=
+for pkg in $(< packagelist); do
+ if [ "$(debirf_exec apt-get -s install $pkg 3>&1 1>&2 2>&3 1>&- | grep '^E:' | wc -l)" -gt 0 ]; then
+ echo "Ignoring package $pkg, because it was not found in this repository."
+ else
+ PKGLIST="$PKGLIST $pkg"
+ fi
+done
echo "Will add $PKGLIST"
debirf_exec apt-get --assume-yes install $PKGLIST
debirf_exec apt-get --assume-yes remove vim-tiny dhcp3-client iptables