3 # Angstrom feed sorting script
4 # This must be run in unsorted/ directory
6 if [ $(basename $PWD) != "unsorted" ] ; then
7 echo "Not in feed dir! Exiting"
11 if [ $(find . -name "*.ipk" | wc -l) -gt 0 ] ; then
12 echo "Unsorted packages found"
14 echo "No unsorted packages found. Exiting"
18 rm Packages* >& /dev/null
20 # Find ipkg files in unsorted/ and remove stale ones
21 echo "Deleting morgue directories "
22 find . -name morgue | xargs rm -rf
23 echo "Moving packages to the top level directory"
24 find */ -name "*.ipk" -exec mv '{}' ./ \;
26 # Make a list of ipkg files already present in feeds and in unsorted
27 echo "Making a list of unsorted packages"
28 for i in $(find . -name "*.ipk") ; do basename $i ; done > files-unsorted
29 # Make a list of duplicates and delete those
30 echo "Finding duplicate packages in unsorted"
31 cat files-sorted files-unsorted | sort | uniq -d > files-duplicate
32 echo "Removing duplicate packages in unsorted"
33 cat files-duplicate | xargs rm -f
35 # Log remaining packages to a file
36 find . -name "*.ipk" |grep -v dbg | grep -v -- -dev | grep -v -- -doc | grep -v angstrom-version | grep -v locale > new-files.txt
37 for newfile in $(cat new-files.txt | sed s:./::g) ; do
38 echo "$(date -u +%s) $newfile $(basename ${PWD})" >> ../upload-full.txt
40 tail -n 100 ../upload-full.txt > ../upload.txt
47 machines="h3600 h3800 collie simpad htcwallaby" ;;
49 machines="ep93xx h6300 om-gta01 om-gta02 fic-gta01 fic-gta02" ;;
51 machines="n2100 dns323 mv2120 kuropro lspro tsx09 ts409 davinci-dvevm davinci-sffsdr neuros-osd neuros-osd2 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 palmt650 palmt680 palmld palmtx palmtt3 palmz72 qemuarm omap5912osk poodle spitz tosa" ;;
53 machines="ixp4xxbe nslu2be" ;;
55 machines="htcdiamond htckaiser htcpolaris htcraphael htcvogue" ;;
57 machines="mx31ads nokia800 " ;;
61 machines="beagleboard omap3evm omap3-pandora overo" ;;
63 machines="atngw100 at32stk1000" ;;
66 machines="adsp-bf537-stamp" ;;
72 machines="epia qemux86" ;;
74 machines="guinness progear" ;;
78 machines="dht-walnut" ;;
80 machines="lsppchd lsppchg efika n1200" ;;
82 machines="mpc8313e-rdb mpc8315e-rdb" ;;
88 for i in `find . -name "*.ipk"| grep $arch` ; do mkdir -p ../$archdir/base/ || true ;mv $i ../$archdir/base/ ; done
89 for machine in $machines ; do
90 for i in `find . -name "*_$machine.ipk"| grep $machine` ; do mkdir -p ../$archdir/machine/$machine || true ;mv $i ../$archdir/machine/$machine ; done
92 ( mkdir -p ../$archdir ; cd ../$archdir && do_index )
97 ipkg_tools_path="/home/angstrom/bin"
98 echo "Processing $(basename $PWD) packages...."
105 mkdir -p ../debug ../perl ../python ../gstreamer ../locales/en || true
107 #split the feeds based on names
108 mv python* ../python/ >& /dev/null
109 mv perl* ../perl/ >& /dev/null
110 mv *-dbg* ../debug/ >& /dev/null
111 mv gst* ../gstreamer >& /dev/null
116 echo -n "building index for $i:" |sed s:\.\./::
117 ${ipkg_tools_path}/ipkg-make-index -p Packages -l Packages.filelist -m -L ../locales . >& /tmp/index-log
121 mkdir -p ${BPWD}/machine
127 echo -n "building index for machine $i:"
128 ${ipkg_tools_path}/ipkg-make-index -p Packages -l Packages.filelist -m . >& /dev/null
134 mkdir -p ${BPWD}/locales/en/
135 cd ${BPWD}/locales/en/
136 echo -n "building index for locales:"
139 echo -n " $i" |sed s:\.\./::
140 ${ipkg_tools_path}/ipkg-make-index -p Packages -l Packages.filelist -m . >& /dev/null;
147 ( cd ~/website/repo-updater ; php update.php ; rm ../repo/feeds.db* ; cp feeds.db* ../repo )
149 echo -n "Stripping source lines from Package files"
150 for i in `find . -name Packages` ; do grep -v ^Source: $i|gzip -c9>$i.gz ;gunzip -c $i.gz>$i ; touch $i.sig ; done
154 echo "Processing 'all' feed"
155 for i in `find . -name "*.ipk"| grep _all` ; do mkdir -p ../all/ || true ;mv $i ../all/ ; done
156 (mkdir -p ../all ; cd ../all && ipkg-make-index -p Packages -m . >& /dev/null ; touch Packages.sig )
158 for arch in arm-oabi armv4t armv5teb armv5te armv6-novfp armv6 armv7a armv7 avr32 bfin geode i486 i586 i686 iwmmxt ppc405 ppc603e sparc ; do
162 if [ "$1" != "--skip-sorted-list" ]; then
163 echo "Updating list of sorted packages (takes long)"
164 for i in $(find ../ -name "*.ipk"| grep -v unsorted) ; do basename $i ; done > files-sorted