aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-01-10 08:52:25 +0000
committerKoen Kooi <koen@openembedded.org>2008-01-10 08:52:25 +0000
commit652d79419b4b2c9732be6cd72d513a2fd758c728 (patch)
treeef4819eb0b2857c61a36c63af40545a5c08a4d47 /contrib
parent2f0af59c10b67a0c7172a21a935b9deb047f80d5 (diff)
downloadopenembedded-652d79419b4b2c9732be6cd72d513a2fd758c728.tar.gz
angstrom contrib: add feed sorting script
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/angstrom/sort.sh133
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
+
+
+
+
+