summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-06-13 23:35:51 +0000
committerRichard Purdie <richard@openedhand.com>2007-06-13 23:35:51 +0000
commitc66c397c55a832e087ec1cbde6b3145d6cdca5f3 (patch)
tree4daf1399d3f969b8c604a7d39a51edde8a39d98d /meta
parentf932b25caa2c9aad04184ec0e00ab7f977e2c532 (diff)
downloadpoky-c66c397c55a832e087ec1cbde6b3145d6cdca5f3.tar.gz
meta-toolchain: Add ipks, pkgdata, pkgmaps and shlibs data to sdk archive. Add external-poky-toolchain to reassemble this.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1932 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta')
-rw-r--r--meta/packages/meta/external-poky-toolchain.bb32
-rw-r--r--meta/packages/meta/meta-toolchain.bb39
2 files changed, 69 insertions, 2 deletions
diff --git a/meta/packages/meta/external-poky-toolchain.bb b/meta/packages/meta/external-poky-toolchain.bb
new file mode 100644
index 0000000000..7cf657f5c6
--- /dev/null
+++ b/meta/packages/meta/external-poky-toolchain.bb
@@ -0,0 +1,32 @@
1PROVIDES = "\
2 linux-libc-headers \
3 virtual/arm-poky-linux-gnueabi-gcc \
4 virtual/arm-poky-linux-gnueabi-gcc-initial \
5 virtual/arm-poky-linux-binutils \
6 virtual/arm-poky-linux-libc-for-gcc \
7 virtual/libc \
8 virtual/libintl \
9 virtual/libiconv \
10 glibc-thread-db \
11 virtual/linux-libc-headers "
12PR = "r1"
13
14inherit sdk
15
16do_stage() {
17 if [ ! -e ${prefix}/package-status ]; then
18 echo "The Poky toolchain could not be found in ${prefix}!"
19 exit 1
20 fi
21
22 install -d ${DEPLOY_DIR}/ipk/
23 install -d ${STAGING_DIR}/pkgdata/
24 install -d ${STAGING_DIR}/pkgmaps/
25 install -d ${STAGING_DIR}/${TARGET_SYS}/shlibs/
26
27 cp -ar ${prefix}/ipk/* ${DEPLOY_DIR}/ipk/
28 cp -ar ${prefix}/pkgdata/* ${STAGING_DIR}/pkgdata/
29 cp -ar ${prefix}/pkgmaps/* ${STAGING_DIR}/pkgmaps/
30 cp -ar ${prefix}/${TARGET_SYS}/shlibs/* ${STAGING_DIR}/${TARGET_SYS}/shlibs/
31}
32
diff --git a/meta/packages/meta/meta-toolchain.bb b/meta/packages/meta/meta-toolchain.bb
index fbb2e92ee2..bf922cd31b 100644
--- a/meta/packages/meta/meta-toolchain.bb
+++ b/meta/packages/meta/meta-toolchain.bb
@@ -73,11 +73,46 @@ EOF
73 73
74 echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so 74 echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so
75 echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so 75 echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so
76
76 # remove unwanted housekeeping files 77 # remove unwanted housekeeping files
77 mv ${SDK_OUTPUT}${libdir}/../${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status 78 mv ${SDK_OUTPUT}${libdir}/../${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
78 rm -rf ${SDK_OUTPUT}${libdir}/ipkg 79 rm -Rf ${SDK_OUTPUT}${libdir}/ipkg
79 mv ${SDK_OUTPUT}/usr/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status-host 80 mv ${SDK_OUTPUT}/usr/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status-host
80 rm -rf ${SDK_OUTPUT}/usr/lib/ipkg 81 rm -Rf ${SDK_OUTPUT}/usr/lib/ipkg
82
83 # extract and store ipks, pkgdata, pkgmaps and shlibs data
84 target_pkgs=`cat ${SDK_OUTPUT}/${prefix}/package-status | grep Package: | cut -f 2 -d ' '`
85 mkdir -p ${SDK_OUTPUT}/${prefix}/ipk/
86 mkdir -p ${SDK_OUTPUT}/${prefix}/pkgdata/runtime/
87 mkdir -p ${SDK_OUTPUT}/${prefix}/pkgmaps/debian/
88 mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
89 for pkg in $target_pkgs ; do
90 for arch in $ipkgarchs; do
91 echo "Looking for ${DEPLOY_DIR_IPK}/${pkg}_$arch.ipk"
92 if [ -e ${DEPLOY_DIR_IPK}/${pkg}_*_$arch.ipk ]; then
93 cp ${DEPLOY_DIR_IPK}/${pkg}_*_$arch.ipk ${SDK_OUTPUT}/${prefix}/ipk/
94 orig_pkg=`ipkg-list-fields ${DEPLOY_DIR_IPK}/${pkg}_*_$arch.ipk | grep OE: | cut -d ' ' -f2`
95 echo $orig_pkg
96 cp ${STAGING_DIR}/pkgdata/$orig_pkg ${SDK_OUTPUT}/${prefix}/pkgdata/
97 subpkgs=`cat ${STAGING_DIR}/pkgdata/$orig_pkg | grep PACKAGES: | cut -b 10-`
98 echo $subpkgs
99 for subpkg in $subpkgs; do
100 cp ${STAGING_DIR}/pkgdata/runtime/$subpkg ${SDK_OUTPUT}/${prefix}/pkgdata/runtime/
101 if [ -e ${STAGING_DIR}/pkgdata/runtime/$subpkg.packaged ];then
102 cp ${STAGING_DIR}/pkgdata/runtime/$subpkg.packaged ${SDK_OUTPUT}/${prefix}/pkgdata/runtime/
103 fi
104 if [ -e ${STAGING_DIR}/pkgmaps/debian/$subpkg ]; then
105 cp ${STAGING_DIR}/pkgmaps/debian/$subpkg ${SDK_OUTPUT}/${prefix}/pkgmaps/debian/
106 fi
107 if [ -e ${STAGING_DIR}/${TARGET_SYS}/shlibs/$subpkg.list ]; then
108 cp ${STAGING_DIR}/${TARGET_SYS}/shlibs/$subpkg.* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
109 fi
110 done
111 break
112 fi
113 done
114 done
115
81 116
82 # remove unwanted executables 117 # remove unwanted executables
83 rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc 118 rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc