diff options
Diffstat (limited to 'meta/classes/package_ipk.bbclass')
-rw-r--r-- | meta/classes/package_ipk.bbclass | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index c97e36eeb2..d41b40d2c5 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass | |||
@@ -86,12 +86,34 @@ package_tryout_install_multilib_ipk() { | |||
86 | fi | 86 | fi |
87 | done | 87 | done |
88 | } | 88 | } |
89 | |||
90 | split_multilib_packages() { | ||
91 | INSTALL_PACKAGES_NORMAL_IPK="" | ||
92 | INSTALL_PACKAGES_MULTILIB_IPK="" | ||
93 | for pkg in ${INSTALL_PACKAGES_IPK}; do | ||
94 | is_multilib=0 | ||
95 | for item in ${MULTILIB_VARIANTS}; do | ||
96 | local pkgname_prefix="${item}-" | ||
97 | if [ ${pkg:0:${#pkgname_prefix}} == ${pkgname_prefix} ]; then | ||
98 | is_multilib=1 | ||
99 | break | ||
100 | fi | ||
101 | done | ||
102 | |||
103 | if [ ${is_multilib} = 0 ]; then | ||
104 | INSTALL_PACKAGES_NORMAL_IPK="${INSTALL_PACKAGES_NORMAL_IPK} ${pkg}" | ||
105 | else | ||
106 | INSTALL_PACKAGES_MULTILIB_IPK="${INSTALL_PACKAGES_MULTILIB_IPK} ${pkg}" | ||
107 | fi | ||
108 | done | ||
109 | } | ||
110 | |||
89 | # | 111 | # |
90 | # install a bunch of packages using opkg | 112 | # install a bunch of packages using opkg |
91 | # the following shell variables needs to be set before calling this func: | 113 | # the following shell variables needs to be set before calling this func: |
92 | # INSTALL_ROOTFS_IPK - install root dir | 114 | # INSTALL_ROOTFS_IPK - install root dir |
93 | # INSTALL_CONF_IPK - configuration file | 115 | # INSTALL_CONF_IPK - configuration file |
94 | # INSTALL_PACKAGES_NORMAL_IPK - packages to be installed | 116 | # INSTALL_PACKAGES_IPK - packages to be installed |
95 | # INSTALL_PACKAGES_ATTEMPTONLY_IPK - packages attemped to be installed only | 117 | # INSTALL_PACKAGES_ATTEMPTONLY_IPK - packages attemped to be installed only |
96 | # INSTALL_PACKAGES_LINGUAS_IPK - additional packages for uclibc | 118 | # INSTALL_PACKAGES_LINGUAS_IPK - additional packages for uclibc |
97 | # INSTALL_TASK_IPK - task name | 119 | # INSTALL_TASK_IPK - task name |
@@ -100,12 +122,15 @@ package_install_internal_ipk() { | |||
100 | 122 | ||
101 | local target_rootfs="${INSTALL_ROOTFS_IPK}" | 123 | local target_rootfs="${INSTALL_ROOTFS_IPK}" |
102 | local conffile="${INSTALL_CONF_IPK}" | 124 | local conffile="${INSTALL_CONF_IPK}" |
103 | local package_to_install="${INSTALL_PACKAGES_NORMAL_IPK}" | ||
104 | local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_IPK}" | 125 | local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_IPK}" |
105 | local package_linguas="${INSTALL_PACKAGES_LINGUAS_IPK}" | 126 | local package_linguas="${INSTALL_PACKAGES_LINGUAS_IPK}" |
106 | local package_multilib="${INSTALL_PACKAGES_MULTILIB_IPK}" | ||
107 | local task="${INSTALL_TASK_IPK}" | 127 | local task="${INSTALL_TASK_IPK}" |
108 | 128 | ||
129 | split_multilib_packages | ||
130 | |||
131 | local package_to_install="${INSTALL_PACKAGES_NORMAL_IPK}" | ||
132 | local package_multilib="${INSTALL_PACKAGES_MULTILIB_IPK}" | ||
133 | |||
109 | mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/ | 134 | mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/ |
110 | 135 | ||
111 | local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite" | 136 | local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite" |