diff options
author | Richard Purdie <richard@openedhand.com> | 2008-08-25 20:46:02 +0000 |
---|---|---|
committer | Marcin Juszkiewicz <hrw@openembedded.org> | 2009-03-19 20:22:35 +0100 |
commit | 7732204f1e737b5874629ea1469e69ee5db8b0a3 (patch) | |
tree | b1819358908246d48d85e26f52894684331daaaf /recipes/yum/files/yum-install-recommends.py | |
parent | 7fe23916b92d01915c7497edcac55fee9ab67091 (diff) |
Add yum and createrepo (from Poky)
Squashed set of changes from Poky:
svn r5098 - Add yum-native and createrepo
svn r5108 - createrepo-native: Add fix for empty data fields when creating repositories
svn r5109 - yum-native: Add patch to fix install paths
svn r5110 - yum-native: Add some hacks to make yum work better in the cross build case
svn r5118 - yum-native: add depends on libxml2-native
svn r5130 - yum-native: Add NOPOST and NOTRIGGERS flags when installing packages
svn r5133 - yum-native: Add extract-postinst.awk script for use during rootfs generation
svn r5142 - createrepo-native: added dependency on Python
svn r5157 - yum: Add yum-install-recommends.py script to handle installing Recommends
svn r5379 - yum: added 3.2.18
svn r5385 - yum-metadata-parser: fixed dependencies
svn r5392 - yum: do not hardcode arm architecture - rootfs_rpm provide arch info
svn r5395 - yum: Don't apply hacks.patch, its only needed for the native version
svn r5396 - yum-native: Fix hacks.patch to handle architecture detection issues
svn r5426 - yum: fixed packaging
svn r5427 - yum: added all required Python modules to dependencies
OE changes:
yum: do not hardcode /usr
yum-native: added intltool-native to dependencies - spotted by Tom Rini
Diffstat (limited to 'recipes/yum/files/yum-install-recommends.py')
-rwxr-xr-x | recipes/yum/files/yum-install-recommends.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/recipes/yum/files/yum-install-recommends.py b/recipes/yum/files/yum-install-recommends.py new file mode 100755 index 0000000000..64716f2c3e --- /dev/null +++ b/recipes/yum/files/yum-install-recommends.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +import os, sys + +root = sys.argv[1] +installcmd = sys.argv[2] + +# +# Take an rpm image and look through for Recommends:. For each recommends +# found, try and install any matching packages including any Recommends for +# packages installed by us. +# + + +def get_recommends(): + deps = [] + output = os.popen("rpm --root %s -aq --recommends" % (root)) + lines = output.readlines() + for line in lines: + line = line.replace("(none)","") + if line: + deps.append(line.split()[0]) + return deps + +processed = [] + +while True: + toinstall = [] + recommends = set(get_recommends()) + for item in recommends: + if item not in processed: + toinstall.append(item) + if len(toinstall) != 0: + print "Installing %s" % " ".join(toinstall) + os.system("%s %s" % (installcmd, " ".join(toinstall))) + else: + break + processed.extend(toinstall) + + |