summaryrefslogtreecommitdiffstats
path: root/meta/classes/populate_sdk_ipk.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/populate_sdk_ipk.bbclass')
-rw-r--r--meta/classes/populate_sdk_ipk.bbclass80
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 @@
1do_populate_sdk[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
2do_populate_sdk[recrdeptask] += "do_package_write_ipk"
3
4do_populate_sdk[lockfiles] += "${WORKDIR}/ipk.lock"
5
6populate_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
60list_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
78rootfs_list_installed_depends() {
79 opkg-cl ${OPKG_ARGS} status | opkg-query-helper.py
80}