diff options
Diffstat (limited to 'meta/classes/rootfs_rpm.bbclass')
-rw-r--r-- | meta/classes/rootfs_rpm.bbclass | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index 8646eec1e1..6be788642f 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass | |||
@@ -79,7 +79,7 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
79 | # Generate an install solution by doing a --justdb install, then recreate it with | 79 | # Generate an install solution by doing a --justdb install, then recreate it with |
80 | # an actual package install! | 80 | # an actual package install! |
81 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \ | 81 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \ |
82 | -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync" \ | 82 | -D "__dbi_txn create nofsync" \ |
83 | -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ | 83 | -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ |
84 | ${IMAGE_ROOTFS}/install/install.manifest | 84 | ${IMAGE_ROOTFS}/install/install.manifest |
85 | 85 | ||
@@ -94,7 +94,7 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
94 | fi | 94 | fi |
95 | echo "Attempting $pkg_name..." >> "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}" | 95 | echo "Attempting $pkg_name..." >> "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}" |
96 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \ | 96 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \ |
97 | -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \ | 97 | -D "__dbi_txn create nofsync private" \ |
98 | -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ | 98 | -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ |
99 | $pkg_name >> "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}" || true | 99 | $pkg_name >> "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}" || true |
100 | done | 100 | done |
@@ -112,6 +112,7 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
112 | while [ $loop -eq 1 ]; do | 112 | while [ $loop -eq 1 ]; do |
113 | # Dump the full set of recommends... | 113 | # Dump the full set of recommends... |
114 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \ | 114 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \ |
115 | -D "__dbi_txn create nofsync private" \ | ||
115 | -qa --qf "[%{RECOMMENDS}\n]" | sort -u > ${IMAGE_ROOTFS}/install/recommend | 116 | -qa --qf "[%{RECOMMENDS}\n]" | sort -u > ${IMAGE_ROOTFS}/install/recommend |
116 | # Did we add more to the list? | 117 | # Did we add more to the list? |
117 | grep -v -x -F -f ${IMAGE_ROOTFS}/install/recommend.list ${IMAGE_ROOTFS}/install/recommend > ${IMAGE_ROOTFS}/install/recommend.new || true | 118 | grep -v -x -F -f ${IMAGE_ROOTFS}/install/recommend.list ${IMAGE_ROOTFS}/install/recommend > ${IMAGE_ROOTFS}/install/recommend.new || true |
@@ -129,7 +130,7 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
129 | fi | 130 | fi |
130 | echo "Attempting $pkg_name..." >> "${WORKDIR}/temp/log.do_rootfs_recommend.${PID}" | 131 | echo "Attempting $pkg_name..." >> "${WORKDIR}/temp/log.do_rootfs_recommend.${PID}" |
131 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \ | 132 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \ |
132 | -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \ | 133 | -D "__dbi_txn create nofsync private" \ |
133 | -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ | 134 | -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ |
134 | $pkg_name >> "${WORKDIR}/temp/log.do_rootfs_recommend.${PID}" 2>&1 || true | 135 | $pkg_name >> "${WORKDIR}/temp/log.do_rootfs_recommend.${PID}" 2>&1 || true |
135 | done | 136 | done |
@@ -142,12 +143,13 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
142 | # Now that we have a solution, pull out a list of what to install... | 143 | # Now that we have a solution, pull out a list of what to install... |
143 | echo "Manifest: ${IMAGE_ROOTFS}/install/install.manifest" | 144 | echo "Manifest: ${IMAGE_ROOTFS}/install/install.manifest" |
144 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -qa --yaml \ | 145 | ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -qa --yaml \ |
146 | -D "__dbi_txn create nofsync private" \ | ||
145 | | grep -i 'Packageorigin' | cut -d : -f 2 > ${IMAGE_ROOTFS}/install/install_solution.manifest | 147 | | grep -i 'Packageorigin' | cut -d : -f 2 > ${IMAGE_ROOTFS}/install/install_solution.manifest |
146 | 148 | ||
147 | # Attempt install | 149 | # Attempt install |
148 | ${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \ | 150 | ${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \ |
149 | --noscripts --notriggers --noparentdirs --nolinktos \ | 151 | --noscripts --notriggers --noparentdirs --nolinktos \ |
150 | -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \ | 152 | -D "__dbi_txn create nofsync private" \ |
151 | -Uhv ${IMAGE_ROOTFS}/install/install_solution.manifest | 153 | -Uhv ${IMAGE_ROOTFS}/install/install_solution.manifest |
152 | 154 | ||
153 | export D=${IMAGE_ROOTFS} | 155 | export D=${IMAGE_ROOTFS} |
@@ -159,6 +161,7 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
159 | 161 | ||
160 | mkdir -p ${IMAGE_ROOTFS}/etc/rpm-postinsts/ | 162 | mkdir -p ${IMAGE_ROOTFS}/etc/rpm-postinsts/ |
161 | ${RPM} --root ${IMAGE_ROOTFS} -D '_dbpath ${rpmlibdir}' -qa \ | 163 | ${RPM} --root ${IMAGE_ROOTFS} -D '_dbpath ${rpmlibdir}' -qa \ |
164 | -D "__dbi_txn create nofsync private" \ | ||
162 | --qf 'Name: %{NAME}\n%|POSTIN?{postinstall scriptlet%|POSTINPROG?{ (using %{POSTINPROG})}|:\n%{POSTIN}\n}:{%|POSTINPROG?{postinstall program: %{POSTINPROG}\n}|}|' \ | 165 | --qf 'Name: %{NAME}\n%|POSTIN?{postinstall scriptlet%|POSTINPROG?{ (using %{POSTINPROG})}|:\n%{POSTIN}\n}:{%|POSTINPROG?{postinstall program: %{POSTINPROG}\n}|}|' \ |
163 | > ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined | 166 | > ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined |
164 | awk -f ${AWKPOSTINSTSCRIPT} < ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined | 167 | awk -f ${AWKPOSTINSTSCRIPT} < ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined |
@@ -246,7 +249,7 @@ resolve_package() { | |||
246 | pkg="$1" | 249 | pkg="$1" |
247 | pkg_name="" | 250 | pkg_name="" |
248 | for solve in `cat ${DEPLOY_DIR_RPM}/solvedb.conf`; do | 251 | for solve in `cat ${DEPLOY_DIR_RPM}/solvedb.conf`; do |
249 | pkg_name=$(${RPM} -D "_dbpath $solve" -D "_dbi_tags_3 Packages:Name:Basenames:Providename:Nvra" -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync" -q --yaml $pkg | grep -i 'Packageorigin' | cut -d : -f 2) | 252 | pkg_name=$(${RPM} -D "_dbpath $solve" -D "__dbi_txn create nofsync" -q --yaml $pkg | grep -i 'Packageorigin' | cut -d : -f 2) |
250 | if [ -n "$pkg_name" ]; then | 253 | if [ -n "$pkg_name" ]; then |
251 | break; | 254 | break; |
252 | fi | 255 | fi |
@@ -260,7 +263,7 @@ install_all_locales() { | |||
260 | # Generate list of installed packages... | 263 | # Generate list of installed packages... |
261 | INSTALLED_PACKAGES=$( \ | 264 | INSTALLED_PACKAGES=$( \ |
262 | ${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \ | 265 | ${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \ |
263 | -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \ | 266 | -D "__dbi_txn create nofsync private" \ |
264 | -qa --qf "[%{NAME}\n]" | egrep -v -- "(-locale-|-dev$|-doc$|^kernel|^glibc|^ttf|^task|^perl|^python)" \ | 267 | -qa --qf "[%{NAME}\n]" | egrep -v -- "(-locale-|-dev$|-doc$|^kernel|^glibc|^ttf|^task|^perl|^python)" \ |
265 | ) | 268 | ) |
266 | 269 | ||
@@ -271,8 +274,8 @@ install_all_locales() { | |||
271 | pkg_name=$(resolve_package $pkg-locale-$lang) | 274 | pkg_name=$(resolve_package $pkg-locale-$lang) |
272 | if [ -n "$pkg_name" ]; then | 275 | if [ -n "$pkg_name" ]; then |
273 | ${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \ | 276 | ${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \ |
277 | -D "__dbi_txn create nofsync private" \ | ||
274 | --noscripts --notriggers --noparentdirs --nolinktos \ | 278 | --noscripts --notriggers --noparentdirs --nolinktos \ |
275 | -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \ | ||
276 | -Uhv $pkg_name || true | 279 | -Uhv $pkg_name || true |
277 | fi | 280 | fi |
278 | done | 281 | done |