diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/package_rpm.bbclass | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index d90976b65d..623069e377 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass | |||
@@ -40,12 +40,13 @@ package_update_index_rpm_common () { | |||
40 | rpmconf_base="$1" | 40 | rpmconf_base="$1" |
41 | shift | 41 | shift |
42 | 42 | ||
43 | createdirs="" | ||
43 | for archvar in "$@"; do | 44 | for archvar in "$@"; do |
44 | eval archs=\${${archvar}} | 45 | eval archs=\${${archvar}} |
45 | packagedirs="" | 46 | packagedirs="" |
46 | for arch in $archs; do | 47 | for arch in $archs; do |
47 | packagedirs="${DEPLOY_DIR_RPM}/$arch $packagedirs" | 48 | packagedirs="${DEPLOY_DIR_RPM}/$arch $packagedirs" |
48 | rm -rf ${DEPLOY_DIR_RPM}/$arch/solvedb | 49 | rm -rf ${DEPLOY_DIR_RPM}/$arch/solvedb.done |
49 | done | 50 | done |
50 | 51 | ||
51 | cat /dev/null > ${rpmconf_base}-${archvar}.conf | 52 | cat /dev/null > ${rpmconf_base}-${archvar}.conf |
@@ -53,22 +54,11 @@ package_update_index_rpm_common () { | |||
53 | if [ -e $pkgdir/ ]; then | 54 | if [ -e $pkgdir/ ]; then |
54 | echo "Generating solve db for $pkgdir..." | 55 | echo "Generating solve db for $pkgdir..." |
55 | echo $pkgdir/solvedb >> ${rpmconf_base}-${archvar}.conf | 56 | echo $pkgdir/solvedb >> ${rpmconf_base}-${archvar}.conf |
56 | if [ -d $pkgdir/solvedb ]; then | 57 | createdirs="$createdirs $pkgdir" |
57 | # We've already processed this and it's a duplicate | ||
58 | continue | ||
59 | fi | ||
60 | mkdir -p $pkgdir/solvedb | ||
61 | echo "# Dynamically generated solve manifest" >> $pkgdir/solvedb/manifest | ||
62 | find $pkgdir -maxdepth 1 -type f >> $pkgdir/solvedb/manifest | ||
63 | ${RPM} -i --replacepkgs --replacefiles --oldpackage \ | ||
64 | -D "_dbpath $pkgdir/solvedb" --justdb \ | ||
65 | --noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \ | ||
66 | --ignoresize --nosignature --nodigest \ | ||
67 | -D "__dbi_txn create nofsync" \ | ||
68 | $pkgdir/solvedb/manifest | ||
69 | fi | 58 | fi |
70 | done | 59 | done |
71 | done | 60 | done |
61 | rpm-createsolvedb.py "${RPM}" $createdirs | ||
72 | } | 62 | } |
73 | 63 | ||
74 | # | 64 | # |