diff options
-rw-r--r-- | meta/classes/image.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/multilib.bbclass | 5 | ||||
-rw-r--r-- | meta/classes/package_ipk.bbclass | 31 | ||||
-rw-r--r-- | meta/classes/package_rpm.bbclass | 37 | ||||
-rw-r--r-- | meta/classes/rootfs_ipk.bbclass | 3 | ||||
-rw-r--r-- | meta/classes/rootfs_rpm.bbclass | 3 |
6 files changed, 42 insertions, 41 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index f17e989289..b8ca370e7a 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass | |||
@@ -5,8 +5,7 @@ inherit imagetest-${IMAGETEST} | |||
5 | 5 | ||
6 | LICENSE = "MIT" | 6 | LICENSE = "MIT" |
7 | PACKAGES = "" | 7 | PACKAGES = "" |
8 | MULTILIB_IMAGE_INSTALL ?= "" | 8 | RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${NORMAL_FEATURE_INSTALL}" |
9 | RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${MULTILIB_IMAGE_INSTALL} ${NORMAL_FEATURE_INSTALL}" | ||
10 | RRECOMMENDS += "${NORMAL_FEATURE_INSTALL_OPTIONAL}" | 9 | RRECOMMENDS += "${NORMAL_FEATURE_INSTALL_OPTIONAL}" |
11 | 10 | ||
12 | INHIBIT_DEFAULT_DEPS = "1" | 11 | INHIBIT_DEFAULT_DEPS = "1" |
@@ -54,7 +53,6 @@ IMAGE_INSTALL ?= "" | |||
54 | IMAGE_INSTALL[type] = "list" | 53 | IMAGE_INSTALL[type] = "list" |
55 | IMAGE_BASENAME[export] = "1" | 54 | IMAGE_BASENAME[export] = "1" |
56 | export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${FEATURE_INSTALL}" | 55 | export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${FEATURE_INSTALL}" |
57 | export MULTILIB_PACKAGE_INSTALL ?= "${MULTILIB_IMAGE_INSTALL}" | ||
58 | PACKAGE_INSTALL_ATTEMPTONLY ?= "${FEATURE_INSTALL_OPTIONAL}" | 56 | PACKAGE_INSTALL_ATTEMPTONLY ?= "${FEATURE_INSTALL_OPTIONAL}" |
59 | 57 | ||
60 | # Images are generally built explicitly, do not need to be part of world. | 58 | # Images are generally built explicitly, do not need to be part of world. |
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index 1aed2a9f97..6eb3bc3756 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass | |||
@@ -56,9 +56,8 @@ python __anonymous () { | |||
56 | map_dependencies("PACKAGE_INSTALL", d) | 56 | map_dependencies("PACKAGE_INSTALL", d) |
57 | map_dependencies("LINGUAS_INSTALL", d) | 57 | map_dependencies("LINGUAS_INSTALL", d) |
58 | map_dependencies("RDEPENDS", d) | 58 | map_dependencies("RDEPENDS", d) |
59 | pinstall = d.getVar("LINGUAS_INSTALL", True) + " " + d.getVar("PACKAGE_INSTALL", True) + " " + d.getVar("MULTILIB_PACKAGE_INSTALL", False) | 59 | pinstall = d.getVar("LINGUAS_INSTALL", True) + " " + d.getVar("PACKAGE_INSTALL", True) |
60 | d.setVar("MULTILIB_PACKAGE_INSTALL", pinstall) | 60 | d.setVar("PACKAGE_INSTALL", pinstall) |
61 | d.setVar("PACKAGE_INSTALL", "") | ||
62 | d.setVar("LINGUAS_INSTALL", "") | 61 | d.setVar("LINGUAS_INSTALL", "") |
63 | # FIXME, we need to map this to something, not delete it! | 62 | # FIXME, we need to map this to something, not delete it! |
64 | d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "") | 63 | d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "") |
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index c0893a6cda..b5319bcbd0 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass | |||
@@ -83,12 +83,34 @@ package_tryout_install_multilib_ipk() { | |||
83 | fi | 83 | fi |
84 | done | 84 | done |
85 | } | 85 | } |
86 | |||
87 | split_multilib_packages() { | ||
88 | INSTALL_PACKAGES_NORMAL_IPK="" | ||
89 | INSTALL_PACKAGES_MULTILIB_IPK="" | ||
90 | for pkg in ${INSTALL_PACKAGES_IPK}; do | ||
91 | is_multilib=0 | ||
92 | for item in ${MULTILIB_VARIANTS}; do | ||
93 | local pkgname_prefix="${item}-" | ||
94 | if [ ${pkg:0:${#pkgname_prefix}} == ${pkgname_prefix} ]; then | ||
95 | is_multilib=1 | ||
96 | break | ||
97 | fi | ||
98 | done | ||
99 | |||
100 | if [ ${is_multilib} = 0 ]; then | ||
101 | INSTALL_PACKAGES_NORMAL_IPK="${INSTALL_PACKAGES_NORMAL_IPK} ${pkg}" | ||
102 | else | ||
103 | INSTALL_PACKAGES_MULTILIB_IPK="${INSTALL_PACKAGES_MULTILIB_IPK} ${pkg}" | ||
104 | fi | ||
105 | done | ||
106 | } | ||
107 | |||
86 | # | 108 | # |
87 | # install a bunch of packages using opkg | 109 | # install a bunch of packages using opkg |
88 | # the following shell variables needs to be set before calling this func: | 110 | # the following shell variables needs to be set before calling this func: |
89 | # INSTALL_ROOTFS_IPK - install root dir | 111 | # INSTALL_ROOTFS_IPK - install root dir |
90 | # INSTALL_CONF_IPK - configuration file | 112 | # INSTALL_CONF_IPK - configuration file |
91 | # INSTALL_PACKAGES_NORMAL_IPK - packages to be installed | 113 | # INSTALL_PACKAGES_IPK - packages to be installed |
92 | # INSTALL_PACKAGES_ATTEMPTONLY_IPK - packages attemped to be installed only | 114 | # INSTALL_PACKAGES_ATTEMPTONLY_IPK - packages attemped to be installed only |
93 | # INSTALL_PACKAGES_LINGUAS_IPK - additional packages for uclibc | 115 | # INSTALL_PACKAGES_LINGUAS_IPK - additional packages for uclibc |
94 | # INSTALL_TASK_IPK - task name | 116 | # INSTALL_TASK_IPK - task name |
@@ -97,12 +119,15 @@ package_install_internal_ipk() { | |||
97 | 119 | ||
98 | local target_rootfs="${INSTALL_ROOTFS_IPK}" | 120 | local target_rootfs="${INSTALL_ROOTFS_IPK}" |
99 | local conffile="${INSTALL_CONF_IPK}" | 121 | local conffile="${INSTALL_CONF_IPK}" |
100 | local package_to_install="${INSTALL_PACKAGES_NORMAL_IPK}" | ||
101 | local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_IPK}" | 122 | local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_IPK}" |
102 | local package_linguas="${INSTALL_PACKAGES_LINGUAS_IPK}" | 123 | local package_linguas="${INSTALL_PACKAGES_LINGUAS_IPK}" |
103 | local package_multilib="${INSTALL_PACKAGES_MULTILIB_IPK}" | ||
104 | local task="${INSTALL_TASK_IPK}" | 124 | local task="${INSTALL_TASK_IPK}" |
105 | 125 | ||
126 | split_multilib_packages | ||
127 | |||
128 | local package_to_install="${INSTALL_PACKAGES_NORMAL_IPK}" | ||
129 | local package_multilib="${INSTALL_PACKAGES_MULTILIB_IPK}" | ||
130 | |||
106 | mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/ | 131 | mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/ |
107 | 132 | ||
108 | local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite" | 133 | local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite" |
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 7f425837be..df5a2db8a1 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass | |||
@@ -154,7 +154,7 @@ resolve_package_rpm () { | |||
154 | # INSTALL_PLATFORM_RPM - main platform | 154 | # INSTALL_PLATFORM_RPM - main platform |
155 | # INSTALL_PLATFORM_EXTRA_RPM - extra platform | 155 | # INSTALL_PLATFORM_EXTRA_RPM - extra platform |
156 | # INSTALL_CONFBASE_RPM - configuration file base name | 156 | # INSTALL_CONFBASE_RPM - configuration file base name |
157 | # INSTALL_PACKAGES_NORMAL_RPM - packages to be installed | 157 | # INSTALL_PACKAGES_RPM - packages to be installed |
158 | # INSTALL_PACKAGES_ATTEMPTONLY_RPM - packages attemped to be installed only | 158 | # INSTALL_PACKAGES_ATTEMPTONLY_RPM - packages attemped to be installed only |
159 | # INSTALL_PACKAGES_LINGUAS_RPM - additional packages for uclibc | 159 | # INSTALL_PACKAGES_LINGUAS_RPM - additional packages for uclibc |
160 | # INSTALL_PROVIDENAME_RPM - content for provide name | 160 | # INSTALL_PROVIDENAME_RPM - content for provide name |
@@ -166,8 +166,7 @@ package_install_internal_rpm () { | |||
166 | local platform="${INSTALL_PLATFORM_RPM}" | 166 | local platform="${INSTALL_PLATFORM_RPM}" |
167 | local platform_extra="${INSTALL_PLATFORM_EXTRA_RPM}" | 167 | local platform_extra="${INSTALL_PLATFORM_EXTRA_RPM}" |
168 | local confbase="${INSTALL_CONFBASE_RPM}" | 168 | local confbase="${INSTALL_CONFBASE_RPM}" |
169 | local package_to_install="${INSTALL_PACKAGES_NORMAL_RPM}" | 169 | local package_to_install="${INSTALL_PACKAGES_RPM}" |
170 | local multilib_to_install="${INSTALL_PACKAGES_MULTILIB_RPM}" | ||
171 | local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_RPM}" | 170 | local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_RPM}" |
172 | local package_linguas="${INSTALL_PACKAGES_LINGUAS_RPM}" | 171 | local package_linguas="${INSTALL_PACKAGES_LINGUAS_RPM}" |
173 | local providename="${INSTALL_PROVIDENAME_RPM}" | 172 | local providename="${INSTALL_PROVIDENAME_RPM}" |
@@ -211,12 +210,14 @@ package_install_internal_rpm () { | |||
211 | echo "Processing $pkg..." | 210 | echo "Processing $pkg..." |
212 | 211 | ||
213 | archvar=base_archs | 212 | archvar=base_archs |
213 | manifest=install.manifest | ||
214 | ml_prefix=`echo ${pkg} | cut -d'-' -f1` | 214 | ml_prefix=`echo ${pkg} | cut -d'-' -f1` |
215 | ml_pkg=$pkg | 215 | ml_pkg=$pkg |
216 | for i in ${MULTILIB_PREFIX_LIST} ; do | 216 | for i in ${MULTILIB_PREFIX_LIST} ; do |
217 | if [ ${ml_prefix} == ${i} ]; then | 217 | if [ ${ml_prefix} == ${i} ]; then |
218 | ml_pkg=$(echo ${pkg} | sed "s,^${ml_prefix}-\(.*\),\1,") | 218 | ml_pkg=$(echo ${pkg} | sed "s,^${ml_prefix}-\(.*\),\1,") |
219 | archvar=ml_archs | 219 | archvar=ml_archs |
220 | manifest=install_multilib.manifest | ||
220 | break | 221 | break |
221 | fi | 222 | fi |
222 | done | 223 | done |
@@ -226,7 +227,7 @@ package_install_internal_rpm () { | |||
226 | echo "Unable to find package $pkg ($ml_pkg)!" | 227 | echo "Unable to find package $pkg ($ml_pkg)!" |
227 | exit 1 | 228 | exit 1 |
228 | fi | 229 | fi |
229 | echo $pkg_name >> ${target_rootfs}/install/install.manifest | 230 | echo $pkg_name >> ${target_rootfs}/install/${manifest} |
230 | done | 231 | done |
231 | fi | 232 | fi |
232 | fi | 233 | fi |
@@ -235,12 +236,14 @@ package_install_internal_rpm () { | |||
235 | echo "Processing $pkg..." | 236 | echo "Processing $pkg..." |
236 | 237 | ||
237 | archvar=base_archs | 238 | archvar=base_archs |
239 | manifest=install.manifest | ||
238 | ml_prefix=`echo ${pkg} | cut -d'-' -f1` | 240 | ml_prefix=`echo ${pkg} | cut -d'-' -f1` |
239 | ml_pkg=$pkg | 241 | ml_pkg=$pkg |
240 | for i in ${MULTILIB_PREFIX_LIST} ; do | 242 | for i in ${MULTILIB_PREFIX_LIST} ; do |
241 | if [ ${ml_prefix} == ${i} ]; then | 243 | if [ ${ml_prefix} == ${i} ]; then |
242 | ml_pkg=$(echo ${pkg} | sed "s,^${ml_prefix}-\(.*\),\1,") | 244 | ml_pkg=$(echo ${pkg} | sed "s,^${ml_prefix}-\(.*\),\1,") |
243 | archvar=ml_archs | 245 | archvar=ml_archs |
246 | manifest=install_multilib.manifest | ||
244 | break | 247 | break |
245 | fi | 248 | fi |
246 | done | 249 | done |
@@ -250,7 +253,7 @@ package_install_internal_rpm () { | |||
250 | echo "Unable to find package $pkg ($ml_pkg)!" | 253 | echo "Unable to find package $pkg ($ml_pkg)!" |
251 | exit 1 | 254 | exit 1 |
252 | fi | 255 | fi |
253 | echo $pkg_name >> ${target_rootfs}/install/install.manifest | 256 | echo $pkg_name >> ${target_rootfs}/install/${manifest} |
254 | done | 257 | done |
255 | fi | 258 | fi |
256 | 259 | ||
@@ -356,29 +359,7 @@ package_install_internal_rpm () { | |||
356 | 359 | ||
357 | touch ${target_rootfs}/install/install_multilib_solution.manifest | 360 | touch ${target_rootfs}/install/install_multilib_solution.manifest |
358 | 361 | ||
359 | if [ ! -z "${multilib_to_install}" ]; then | 362 | if [ -e "${target_rootfs}/install/install_multilib.manifest" ]; then |
360 | for pkg in ${multilib_to_install} ; do | ||
361 | echo "Processing $pkg..." | ||
362 | |||
363 | archvar=base_archs | ||
364 | ml_prefix=`echo ${pkg} | cut -d'-' -f1` | ||
365 | ml_pkg=$pkg | ||
366 | for i in ${MULTILIB_PREFIX_LIST} ; do | ||
367 | if [ ${ml_prefix} == ${i} ]; then | ||
368 | ml_pkg=$(echo ${pkg} | sed "s,^${ml_prefix}-\(.*\),\1,") | ||
369 | archvar=ml_archs | ||
370 | break | ||
371 | fi | ||
372 | done | ||
373 | |||
374 | pkg_name=$(resolve_package_rpm ${confbase}-${archvar}.conf ${ml_pkg}) | ||
375 | if [ -z "$pkg_name" ]; then | ||
376 | echo "Unable to find package $pkg ($ml_pkg)!" | ||
377 | exit 1 | ||
378 | fi | ||
379 | echo $pkg_name >> ${target_rootfs}/install/install_multilib.manifest | ||
380 | done | ||
381 | |||
382 | # multilib package installation | 363 | # multilib package installation |
383 | 364 | ||
384 | # Generate an install solution by doing a --justdb install, then recreate it with | 365 | # Generate an install solution by doing a --justdb install, then recreate it with |
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index 3094c1ac5f..ffc4a72c06 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass | |||
@@ -58,8 +58,7 @@ fakeroot rootfs_ipk_do_rootfs () { | |||
58 | 58 | ||
59 | export INSTALL_ROOTFS_IPK="${IMAGE_ROOTFS}" | 59 | export INSTALL_ROOTFS_IPK="${IMAGE_ROOTFS}" |
60 | export INSTALL_CONF_IPK="${IPKGCONF_TARGET}" | 60 | export INSTALL_CONF_IPK="${IPKGCONF_TARGET}" |
61 | export INSTALL_PACKAGES_NORMAL_IPK="${PACKAGE_INSTALL}" | 61 | export INSTALL_PACKAGES_IPK="${PACKAGE_INSTALL}" |
62 | export INSTALL_PACKAGES_MULTILIB_IPK="${MULTILIB_PACKAGE_INSTALL}" | ||
63 | 62 | ||
64 | package_install_internal_ipk | 63 | package_install_internal_ipk |
65 | 64 | ||
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index dd370b263a..9f50764886 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass | |||
@@ -57,8 +57,7 @@ fakeroot rootfs_rpm_do_rootfs () { | |||
57 | export INSTALL_ROOTFS_RPM="${IMAGE_ROOTFS}" | 57 | export INSTALL_ROOTFS_RPM="${IMAGE_ROOTFS}" |
58 | export INSTALL_PLATFORM_RPM="${TARGET_ARCH}" | 58 | export INSTALL_PLATFORM_RPM="${TARGET_ARCH}" |
59 | export INSTALL_CONFBASE_RPM="${RPMCONF_TARGET_BASE}" | 59 | export INSTALL_CONFBASE_RPM="${RPMCONF_TARGET_BASE}" |
60 | export INSTALL_PACKAGES_NORMAL_RPM="${PACKAGE_INSTALL}" | 60 | export INSTALL_PACKAGES_RPM="${PACKAGE_INSTALL}" |
61 | export INSTALL_PACKAGES_MULTILIB_RPM="${MULTILIB_PACKAGE_INSTALL}" | ||
62 | export INSTALL_PACKAGES_ATTEMPTONLY_RPM="${PACKAGE_INSTALL_ATTEMPTONLY}" | 61 | export INSTALL_PACKAGES_ATTEMPTONLY_RPM="${PACKAGE_INSTALL_ATTEMPTONLY}" |
63 | export INSTALL_PACKAGES_LINGUAS_RPM="${LINGUAS_INSTALL}" | 62 | export INSTALL_PACKAGES_LINGUAS_RPM="${LINGUAS_INSTALL}" |
64 | export INSTALL_PROVIDENAME_RPM="" | 63 | export INSTALL_PROVIDENAME_RPM="" |