diff options
Diffstat (limited to 'meta/classes/populate_sdk_ipk.bbclass')
-rw-r--r-- | meta/classes/populate_sdk_ipk.bbclass | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/meta/classes/populate_sdk_ipk.bbclass b/meta/classes/populate_sdk_ipk.bbclass new file mode 100644 index 0000000000..04c71af42e --- /dev/null +++ b/meta/classes/populate_sdk_ipk.bbclass | |||
@@ -0,0 +1,80 @@ | |||
1 | do_populate_sdk[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot" | ||
2 | do_populate_sdk[recrdeptask] += "do_package_write_ipk" | ||
3 | |||
4 | do_populate_sdk[lockfiles] += "${WORKDIR}/ipk.lock" | ||
5 | |||
6 | populate_sdk_ipk() { | ||
7 | |||
8 | rm -f ${IPKGCONF_TARGET} | ||
9 | touch ${IPKGCONF_TARGET} | ||
10 | rm -f ${IPKGCONF_SDK} | ||
11 | touch ${IPKGCONF_SDK} | ||
12 | |||
13 | package_update_index_ipk | ||
14 | package_generate_ipkg_conf | ||
15 | |||
16 | export INSTALL_PACKAGES_LINGUAS_IPK="" | ||
17 | export INSTALL_TASK_IPK="populate_sdk" | ||
18 | |||
19 | #install target | ||
20 | export INSTALL_ROOTFS_IPK="${SDK_OUTPUT}/${SDKTARGETSYSROOT}" | ||
21 | export INSTALL_CONF_IPK="${IPKGCONF_TARGET}" | ||
22 | export INSTALL_PACKAGES_IPK="${TOOLCHAIN_TARGET_TASK}" | ||
23 | export INSTALL_PACKAGES_ATTEMPTONLY_IPK="${TOOLCHAIN_TARGET_TASK_ATTEMPTONLY}" | ||
24 | |||
25 | export D=${INSTALL_ROOTFS_IPK} | ||
26 | export OFFLINE_ROOT=${INSTALL_ROOTFS_IPK} | ||
27 | export IPKG_OFFLINE_ROOT=${INSTALL_ROOTFS_IPK} | ||
28 | export OPKG_OFFLINE_ROOT=${IPKG_OFFLINE_ROOT} | ||
29 | export INTERCEPT_DIR=${WORKDIR}/intercept_scripts | ||
30 | export NATIVE_ROOT=${STAGING_DIR_NATIVE} | ||
31 | |||
32 | package_install_internal_ipk | ||
33 | |||
34 | ${POPULATE_SDK_POST_TARGET_COMMAND} | ||
35 | |||
36 | #install host | ||
37 | export INSTALL_ROOTFS_IPK="${SDK_OUTPUT}" | ||
38 | export INSTALL_CONF_IPK="${IPKGCONF_SDK}" | ||
39 | export INSTALL_PACKAGES_IPK="${TOOLCHAIN_HOST_TASK}" | ||
40 | export INSTALL_PACKAGES_ATTEMPTONLY_IPK="${TOOLCHAIN_HOST_TASK_ATTEMPTONLY}" | ||
41 | |||
42 | package_install_internal_ipk | ||
43 | |||
44 | ${POPULATE_SDK_POST_HOST_COMMAND} | ||
45 | |||
46 | #post clean up | ||
47 | install -d ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/${sysconfdir} | ||
48 | install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/${sysconfdir}/ | ||
49 | |||
50 | install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir} | ||
51 | install -m 0644 ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}/ | ||
52 | |||
53 | install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg | ||
54 | mv ${SDK_OUTPUT}/var/lib/opkg/* ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg/ | ||
55 | rm -Rf ${SDK_OUTPUT}/var | ||
56 | |||
57 | populate_sdk_log_check populate_sdk | ||
58 | } | ||
59 | |||
60 | list_installed_packages() { | ||
61 | if [ "$1" = "arch" ] ; then | ||
62 | opkg-cl ${OPKG_ARGS} status | opkg-query-helper.py -a | ||
63 | elif [ "$1" = "file" ] ; then | ||
64 | opkg-cl ${OPKG_ARGS} status | opkg-query-helper.py -f | while read pkg pkgfile pkgarch | ||
65 | do | ||
66 | fullpath=`find ${DEPLOY_DIR_IPK} -name "$pkgfile" || true` | ||
67 | if [ "$fullpath" = "" ] ; then | ||
68 | echo "$pkg $pkgfile $pkgarch" | ||
69 | else | ||
70 | echo "$pkg $fullpath $pkgarch" | ||
71 | fi | ||
72 | done | ||
73 | else | ||
74 | opkg-cl ${OPKG_ARGS} list_installed | awk '{ print $1 }' | ||
75 | fi | ||
76 | } | ||
77 | |||
78 | rootfs_list_installed_depends() { | ||
79 | opkg-cl ${OPKG_ARGS} status | opkg-query-helper.py | ||
80 | } | ||