diff options
Diffstat (limited to 'meta/classes/rootfs_rpm.bbclass')
| -rw-r--r-- | meta/classes/rootfs_rpm.bbclass | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index cd9c5ab778..1cc4a84495 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass | |||
| @@ -22,7 +22,7 @@ do_rootfs[depends] += "opkg-native:do_populate_sysroot" | |||
| 22 | do_rootfs[recrdeptask] += "do_package_write_rpm" | 22 | do_rootfs[recrdeptask] += "do_package_write_rpm" |
| 23 | 23 | ||
| 24 | RPM_PREPROCESS_COMMANDS = "package_update_index_rpm; package_generate_rpm_conf; " | 24 | RPM_PREPROCESS_COMMANDS = "package_update_index_rpm; package_generate_rpm_conf; " |
| 25 | RPM_POSTPROCESS_COMMANDS = "rootfs_install_all_locales; " | 25 | RPM_POSTPROCESS_COMMANDS = "" |
| 26 | 26 | ||
| 27 | # | 27 | # |
| 28 | # Allow distributions to alter when [postponed] package install scripts are run | 28 | # Allow distributions to alter when [postponed] package install scripts are run |
| @@ -56,6 +56,7 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
| 56 | export INSTALL_PACKAGES_LINGUAS_RPM="${LINGUAS_INSTALL}" | 56 | export INSTALL_PACKAGES_LINGUAS_RPM="${LINGUAS_INSTALL}" |
| 57 | export INSTALL_PROVIDENAME_RPM="" | 57 | export INSTALL_PROVIDENAME_RPM="" |
| 58 | export INSTALL_TASK_RPM="rootfs_rpm_do_rootfs" | 58 | export INSTALL_TASK_RPM="rootfs_rpm_do_rootfs" |
| 59 | export INSTALL_COMPLEMENTARY_RPM="" | ||
| 59 | 60 | ||
| 60 | # Setup base system configuration | 61 | # Setup base system configuration |
| 61 | mkdir -p ${INSTALL_ROOTFS_RPM}/etc/rpm/ | 62 | mkdir -p ${INSTALL_ROOTFS_RPM}/etc/rpm/ |
| @@ -69,6 +70,8 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
| 69 | 70 | ||
| 70 | package_install_internal_rpm | 71 | package_install_internal_rpm |
| 71 | 72 | ||
| 73 | rootfs_install_complementary | ||
| 74 | |||
| 72 | export D=${IMAGE_ROOTFS} | 75 | export D=${IMAGE_ROOTFS} |
| 73 | export OFFLINE_ROOT=${IMAGE_ROOTFS} | 76 | export OFFLINE_ROOT=${IMAGE_ROOTFS} |
| 74 | export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} | 77 | export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} |
| @@ -134,11 +137,15 @@ remove_packaging_data_files() { | |||
| 134 | rm -rf ${IMAGE_ROOTFS}${opkglibdir} | 137 | rm -rf ${IMAGE_ROOTFS}${opkglibdir} |
| 135 | } | 138 | } |
| 136 | 139 | ||
| 137 | RPM_QUERY_CMD = '${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \ | 140 | RPM_QUERY_CMD = '${RPM} --root $INSTALL_ROOTFS_RPM -D "_dbpath ${rpmlibdir}" \ |
| 138 | -D "__dbi_txn create nofsync private"' | 141 | -D "__dbi_txn create nofsync private"' |
| 139 | 142 | ||
| 140 | list_installed_packages() { | 143 | list_installed_packages() { |
| 141 | ${RPM_QUERY_CMD} -qa --qf "[%{NAME}\n]" | 144 | if [ "$1" = "arch" ] ; then |
| 145 | ${RPM_QUERY_CMD} -qa --qf "[%{NAME} %{ARCH}\n]" | ||
| 146 | else | ||
| 147 | ${RPM_QUERY_CMD} -qa --qf "[%{NAME}\n]" | ||
| 148 | fi | ||
| 142 | } | 149 | } |
| 143 | 150 | ||
| 144 | get_package_filename() { | 151 | get_package_filename() { |
| @@ -172,21 +179,15 @@ list_package_recommends() { | |||
| 172 | ${RPM_QUERY_CMD} -q --suggests $1 | 179 | ${RPM_QUERY_CMD} -q --suggests $1 |
| 173 | } | 180 | } |
| 174 | 181 | ||
| 175 | rootfs_check_package_exists() { | ||
| 176 | resolve_package_rpm ${RPMCONF_TARGET_BASE}-base_archs.conf $1 | ||
| 177 | } | ||
| 178 | |||
| 179 | rootfs_install_packages() { | 182 | rootfs_install_packages() { |
| 180 | # The pkg to be installed here is not controlled by the | 183 | # Note - we expect the variables not set here to already have been set |
| 181 | # package_install_internal_rpm, so it may have already been | 184 | export INSTALL_PACKAGES_RPM="" |
| 182 | # installed(e.g, installed in the first time when generate the | 185 | export INSTALL_PACKAGES_ATTEMPTONLY_RPM="`cat $1`" |
| 183 | # rootfs), use '--replacepkgs' to always install them | 186 | export INSTALL_PROVIDENAME_RPM="" |
| 184 | for pkg in $@; do | 187 | export INSTALL_TASK_RPM="rootfs_install_packages" |
| 185 | ${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \ | 188 | export INSTALL_COMPLEMENTARY_RPM="1" |
| 186 | -D "__dbi_txn create nofsync private" \ | 189 | |
| 187 | --noscripts --notriggers --noparentdirs --nolinktos \ | 190 | package_install_internal_rpm |
| 188 | --replacepkgs -Uhv $pkg || true | ||
| 189 | done | ||
| 190 | } | 191 | } |
| 191 | 192 | ||
| 192 | python () { | 193 | python () { |
