diff options
author | Richard Purdie <richard@openedhand.com> | 2007-06-13 23:35:51 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2007-06-13 23:35:51 +0000 |
commit | c66c397c55a832e087ec1cbde6b3145d6cdca5f3 (patch) | |
tree | 4daf1399d3f969b8c604a7d39a51edde8a39d98d /meta | |
parent | f932b25caa2c9aad04184ec0e00ab7f977e2c532 (diff) | |
download | poky-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.bb | 32 | ||||
-rw-r--r-- | meta/packages/meta/meta-toolchain.bb | 39 |
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 @@ | |||
1 | PROVIDES = "\ | ||
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 " | ||
12 | PR = "r1" | ||
13 | |||
14 | inherit sdk | ||
15 | |||
16 | do_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 |