diff options
author | Koen Kooi <koen@openembedded.org> | 2008-01-10 08:52:25 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2008-01-10 08:52:25 +0000 |
commit | 652d79419b4b2c9732be6cd72d513a2fd758c728 (patch) | |
tree | ef4819eb0b2857c61a36c63af40545a5c08a4d47 /contrib | |
parent | 2f0af59c10b67a0c7172a21a935b9deb047f80d5 (diff) | |
download | openembedded-652d79419b4b2c9732be6cd72d513a2fd758c728.tar.gz |
angstrom contrib: add feed sorting script
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/angstrom/sort.sh | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/contrib/angstrom/sort.sh b/contrib/angstrom/sort.sh new file mode 100755 index 0000000000..c6642cd34c --- /dev/null +++ b/contrib/angstrom/sort.sh @@ -0,0 +1,133 @@ +#!/bin/bash + +# Angstrom feed sorting script + + +rm Packages* >& /dev/null + +# Find ipkg files in unsorted/ and remove stale ones +echo "Deleting morgue directories " +find . -name morgue | xargs rm -rf +echo "Moving packages to the top level directory" +find */ -name "*.ipk" -exec mv '{}' ./ \; + +# Make a list of ipkg files already present in feeds and in unsorted +echo "Making a list" +for i in $(find ../ -name "*.ipk"| grep -v unsorted) ; do basename $i ; done > files-sorted +for i in $(find . -name "*.ipk") ; do basename $i ; done > files-unsorted + +# Make a list of duplicates and delete those +echo "Checking it twice" +cat files-sorted files-unsorted | sort | uniq -d > files-duplicate +cat files-duplicate | xargs rm -f + +do_sort() { +archdir=$arch + +case "$arch" in + "arm-oabi") + machines="h3600 h3800 collie simpad htcwallaby" ;; + "armv4t") + machines="ep93xx h6300 fic-gta01 fic-gta02" ;; + "armv5te") + machines="davinci-dvevm gumstix-connex gumstix-verdex gumstix e680 a780 a1200 at91sam9263ek rokre6 rokre2 rokr-e2 akita c7x0 h2200 h3900 h4000 h5000 htcapache htctornado htcblueangel htcuniversal hx4700 nslu2le hx2000 ixp4xxle magician netbook-pro nokia770 qemuarm omap5912osk poodle spitz tosa" ;; + "armv5teb") + machines="ixp4xxbe nslu2be" ;; + "armv6") + machines="mx31ads nokia800" ;; + "avr32") + machines="atngw100 at32stk1000" ;; + "bfin") + archdir="blackfin" + machines="adsp-bf537-stamp" ;; + "geode") + machines="alix" ;; + "i486") + machines="x86" ;; + "i586") + machines="epia qemux86" ;; + "i686") + machines="guinness progear" ;; + "iwmmxt") + machines="" ;; + "ppc405") + machines="dht-walnut" ;; + "ppc603e") + machines="efika" ;; + "sparc") + machines="" ;; +esac + +echo "Sorting $arch" +for i in `find . -name "*.ipk"| grep $arch` ; do mkdir -p ../$archdir/base/ || true ;mv $i ../$archdir/base/ ; done + for machine in $machines ; do + for i in `find . -name "*_$machine.ipk"| grep $machine` ; do mkdir -p ../$archdir/machine/$machine || true ;mv $i ../$archdir/machine/$machine ; done + done +(cd ../$archdir && do_index ) + +} + +do_index() { +ipkg_tools_path="/usr/local/bin" +echo "Processing $(basename $PWD) packages...." + +BPWD=`pwd` + +cd base + +mkdir -p ../debug ../perl ../python ../gstreamer ../locales/en || true + +#split the feeds based on names +mv python* ../python/ >& /dev/null +mv perl* ../perl/ >& /dev/null +mv *-dbg* ../debug/ >& /dev/null +mv gst* ../gstreamer >& /dev/null + +for i in ../* ; do + if [ -d $i ]; then + cd $i + echo -n "building index for $i:" |sed s:\.\./:: + ${ipkg_tools_path}/ipkg-make-index -p Packages -l Packages.filelist -m -L ../locales . >& /dev/null + echo " DONE" + fi +done +cd ${BPWD}/machine + +for i in ./* ; do + if [ -d $i ]; then + cd $i + echo -n "building index for machine $i:" + ${ipkg_tools_path}/ipkg-make-index -p Packages -l Packages.filelist -m . >& /dev/null + echo " DONE" + cd ../ + fi +done + +cd ${BPWD}/locales/en/ +echo -n "building index for locales:" +for i in ../* ; do + if [ -d $i ]; then + echo -n " $i" |sed s:\.\./:: + ${ipkg_tools_path}/ipkg-make-index -p Packages -l Packages.filelist -m . >& /dev/null; + cd $i + fi + done +echo " DONE" +cd ${BPWD} + +echo -n "Stripping source lines from Package files" +for i in `find . -name Packages` ; do grep -v ^Source: $i|gzip -c9>$i.gz ;gunzip -c $i.gz>$i ; done +echo " DONE" +} + +for i in `find . -name "*.ipk"| grep _all` ; do mkdir -p ../all/ || true ;mv $i ../all/ ; done + (cd ../all && ipkg-make-index -p Packages -m . >& /dev/null) + +for arch in arm-oabi armv4t armv5teb armv5te armv6 avr32 bfin geode i486 i586 i686 iwmmxt ppc405 ppc603e sparc ; do + do_sort +done + + + + + |