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 |
