mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
yum: Add yum-install-recommends.py script to handle installing Recommends
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5157 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
da34e322e9
commit
7c72bf73b8
39
meta/packages/yum/yum-native/yum-install-recommends.py
Executable file
39
meta/packages/yum/yum-native/yum-install-recommends.py
Executable file
|
@ -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)
|
||||
|
||||
|
|
@ -3,8 +3,9 @@ HOMEPAGE = "http://linux.duke.edu/projects/yum/"
|
|||
SRC_URI = "http://linux.duke.edu/projects/yum/download/3.2/yum-${PV}.tar.gz \
|
||||
file://hacks.patch;patch=1 \
|
||||
file://paths.patch;patch=1 \
|
||||
file://yum-install-recommends.py \
|
||||
file://extract-postinst.awk"
|
||||
PR = "r4"
|
||||
PR = "r5"
|
||||
|
||||
DEPENDS = "rpm-native python-native python-iniparse-native python-urlgrabber-native yum-metadata-parser-native libxml2-native"
|
||||
|
||||
|
@ -20,4 +21,5 @@ do_compile_append () {
|
|||
do_install_append () {
|
||||
install -d ${STAGING_BINDIR}/
|
||||
install ${WORKDIR}/extract-postinst.awk ${STAGING_BINDIR}/
|
||||
install ${WORKDIR}/yum-install-recommends.py ${STAGING_BINDIR}/
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user