| 1 |
#!/bin/bash |
|---|
| 2 |
echo `date` |
|---|
| 3 |
|
|---|
| 4 |
chkrun=`pgrep $0` |
|---|
| 5 |
if [ "$checkrun" != "" ] ; then |
|---|
| 6 |
echo "Another instance is already running" |
|---|
| 7 |
exit 0 |
|---|
| 8 |
fi |
|---|
| 9 |
|
|---|
| 10 |
CODENAMES="mdxdev mercury" |
|---|
| 11 |
REPODIR="/home/web/sites/packages.medianix.net/medianixwrt" |
|---|
| 12 |
|
|---|
| 13 |
for i in `ls ~/wrt/packages` ; do |
|---|
| 14 |
export WRTVER=$i |
|---|
| 15 |
BUILDWRTSDK=$HOME/wrt/BUILD/$WRTVER |
|---|
| 16 |
IPKGINDEX="$BUILDWRTSDK/staging_dir_mipsel/usr/bin/ipkg-make-index" |
|---|
| 17 |
for CODENAME in $CODENAMES ; do |
|---|
| 18 |
COMPILEDPACKAGES="" |
|---|
| 19 |
BTOT="false" |
|---|
| 20 |
echo "Check WRT packages status for $WRTVER, codename $CODENAME" |
|---|
| 21 |
if [ -f ~/wrt/packages/$WRTVER/packages.$CODENAME.conf ] ; then |
|---|
| 22 |
if [ -d $BUILDWRTSDK ] ; then |
|---|
| 23 |
cd $BUILDWRTSDK |
|---|
| 24 |
make clean |
|---|
| 25 |
cd package |
|---|
| 26 |
find . -maxdepth 1 -type d -not -name . -not -name .. -exec rm -rf {} \; |
|---|
| 27 |
for package in `cat ~/wrt/packages/$WRTVER/packages.$CODENAME.conf` ; do |
|---|
| 28 |
package_name=`echo $package | awk -F ';' '{print $1}'` |
|---|
| 29 |
package_svn=`echo $package | awk -F ';' '{print $2}'` |
|---|
| 30 |
if [ "$CODENAME" == "mdxdev" ] ; then |
|---|
| 31 |
PDIR="trunk" |
|---|
| 32 |
else |
|---|
| 33 |
PDIR="tags/$CODENAME" |
|---|
| 34 |
fi |
|---|
| 35 |
package_buildver=`svn cat $package_svn/$package_name/$PDIR/MDXBUILD` |
|---|
| 36 |
BUILD="false" |
|---|
| 37 |
if [ -f ~/wrt/packages/$WRTVER/packages.status/$package_name.$CODENAME ] ; then |
|---|
| 38 |
buildstatus=`cat ~/wrt/packages/$WRTVER/packages.status/$package_name.$CODENAME` |
|---|
| 39 |
if [ "$buildstatus" != "$package_buildver" ] ; then |
|---|
| 40 |
BUILD="true" |
|---|
| 41 |
BTOT="true" |
|---|
| 42 |
echo $package_buildver > ~/wrt/packages/$WRTVER/packages.status/$package_name.$CODENAME |
|---|
| 43 |
fi |
|---|
| 44 |
else |
|---|
| 45 |
BUILD="true" |
|---|
| 46 |
BTOT="true" |
|---|
| 47 |
echo $package_buildver > ~/wrt/packages/$WRTVER/packages.status/$package_name.$CODENAME |
|---|
| 48 |
fi |
|---|
| 49 |
if [ "$BUILD" == "true" ] ; then |
|---|
| 50 |
COMPILEDPACKAGES="$COMPILEDPACKAGES $package_name" |
|---|
| 51 |
svn co $package_svn/$package_name/$PDIR $package_name |
|---|
| 52 |
fi |
|---|
| 53 |
done |
|---|
| 54 |
if [ "$BTOT" == "true" ] ; then |
|---|
| 55 |
cd $BUILDWRTSDK |
|---|
| 56 |
make clean && make V=99 |
|---|
| 57 |
if [ -d bin/packages/ ] ; then |
|---|
| 58 |
cd bin/packages/ |
|---|
| 59 |
if [ ! -d $REPODIR/$WRTVER/$CODENAME ] ; then |
|---|
| 60 |
mkdir -p $REPODIR/$WRTVER/$CODENAME |
|---|
| 61 |
fi |
|---|
| 62 |
if [ -d $REPODIR/$WRTVER/$CODENAME ] ; then |
|---|
| 63 |
for p in $COMPILEDPACKAGES ; do |
|---|
| 64 |
newpkg=`ls $p*.ipk` |
|---|
| 65 |
if [ "$newpkg" != "" ] ; then |
|---|
| 66 |
rm -f $REPODIR/$WRTVER/$CODENAME/$p*.ipk |
|---|
| 67 |
fi |
|---|
| 68 |
done |
|---|
| 69 |
mv *.ipk $REPODIR/$WRTVER/$CODENAME/ |
|---|
| 70 |
cd $REPODIR/$WRTVER/$CODENAME/ |
|---|
| 71 |
$IPKGINDEX . > Packages |
|---|
| 72 |
fi |
|---|
| 73 |
else |
|---|
| 74 |
for p in $COMPILEDPACKAGES ; do |
|---|
| 75 |
echo "outdated" > ~/wrt/packages/$WRTVER/packages.status/$p.$CODENAME |
|---|
| 76 |
done |
|---|
| 77 |
fi |
|---|
| 78 |
fi |
|---|
| 79 |
else |
|---|
| 80 |
echo "Unable to find SDK for $WRTVER" |
|---|
| 81 |
fi |
|---|
| 82 |
else |
|---|
| 83 |
echo "Nothing to do (no packages.$CODENAME.conf for $WRTVER" |
|---|
| 84 |
fi |
|---|
| 85 |
done |
|---|
| 86 |
#/home/web/sites/packages.medianix.net/scripts/aggiornarepowrt $WRTVER |
|---|
| 87 |
done |
|---|
| 88 |
echo "############# DONE ###############" |
|---|