diff options
author | Roman Khimov <khimov@altell.ru> | 2009-06-17 09:41:59 +0000 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-01-28 14:19:55 +0100 |
commit | 60c4dfdf5688d2fcd3cb13c32433e0679b2c2ba9 (patch) | |
tree | 3c7241a19a023ff6b387cf0894ca0c956d5eea61 | |
parent | 44d263d7bf5d07a3c992ea44a4cbb39f73f3a5c5 (diff) | |
download | openembedded-60c4dfdf5688d2fcd3cb13c32433e0679b2c2ba9.tar.gz |
package_ipk: optimize do_package_update_index_ipk
If there are no package updates since last index update, don't re-create
indexes. Really helps when building something like 10 images.
Remove code duplication along the way.
Acked-by: Tom Rini <trini@embeddedalley.com>
-rw-r--r-- | classes/package_ipk.bbclass | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass index 420c892f10..9befd04ef5 100644 --- a/classes/package_ipk.bbclass +++ b/classes/package_ipk.bbclass @@ -90,18 +90,13 @@ do_package_update_index_ipk () { ipkg-make-index -r ${DEPLOY_DIR_IPK}/Packages -p ${DEPLOY_DIR_IPK}/Packages -l ${DEPLOY_DIR_IPK}/Packages.filelist -m ${DEPLOY_DIR_IPK} for arch in $ipkgarchs; do - if [ -e ${DEPLOY_DIR_IPK}/$arch/ ] ; then - touch ${DEPLOY_DIR_IPK}/$arch/Packages - ipkg-make-index -r ${DEPLOY_DIR_IPK}/$arch/Packages -p ${DEPLOY_DIR_IPK}/$arch/Packages -l ${DEPLOY_DIR_IPK}/$arch/Packages.filelist -m ${DEPLOY_DIR_IPK}/$arch/ - fi - if [ -e ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/ ] ; then - touch ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages - ipkg-make-index -r ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages -p ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages -l ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages.filelist -m ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/ - fi - if [ -e ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/ ] ; then - touch ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages - ipkg-make-index -r ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages -p ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages -l ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages.filelist -m ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/ - fi + for ipk_path in $arch ${BUILD_ARCH}-$arch-sdk ${SDK_SYS}-sdk-$arch; do + PACK_COUNT=`ls -t ${DEPLOY_DIR_IPK}/$ipk_path/ | head -n 4 | grep Packages | wc -l` + if [ -e ${DEPLOY_DIR_IPK}/$ipk_path/ -a "$PACK_COUNT" != "4" ] ; then + touch ${DEPLOY_DIR_IPK}/$ipk_path/Packages + ipkg-make-index -r ${DEPLOY_DIR_IPK}/$ipk_path/Packages -p ${DEPLOY_DIR_IPK}/$ipk_path/Packages -l ${DEPLOY_DIR_IPK}/$ipk_path/Packages.filelist -m ${DEPLOY_DIR_IPK}/$ipk_path/ + fi + done done } |