apt-repository: Only call equivs with an actual equivs file.
authorMatthijs Kooijman <matthijs@stdin.nl>
Wed, 29 Jul 2009 09:18:07 +0000 (11:18 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Wed, 29 Jul 2009 09:18:07 +0000 (11:18 +0200)
This adds checks for directories, non-regular files, non-readable files
and files that do not look like equivs files.

rebuild

diff --git a/rebuild b/rebuild
index 326175aa4c7e472cf0b42415ae6e05f7fc3a65a3..95f7699d2c031de0123269b3bc5a759fbd6a1a9a 100755 (executable)
--- a/rebuild
+++ b/rebuild
@@ -7,15 +7,34 @@ mkdir -p $PACKAGES
 cd $PACKAGES
 
 for i in ../../$SOURCES/*; do 
+       BASE=`basename "$i"`
+       if [ -d "$i" ]; then
+               echo "Skipping directory '$BASE'"
+               continue;
+       fi
+       if [ ! -f "$i" ]; then
+               echo "Skipping special file file '$BASE'"
+               continue;
+       fi
+       if [ ! -r "$i" ]; then
+               echo "Skipping non-readable file '$BASE'"
+               continue;
+       fi
+
        VERSION=`cat $i | grep "^Version:" | sed "s/^Version: //"`
        PACKAGE=`cat $i | grep "^Package:" | sed "s/^Package: //"`
-       
-       if [ ! -f "${PACKAGE}_${VERSION}_all.deb" ]; then
-               echo "Building version $VERSION of $PACKAGE"
-               equivs-build $i
-       else
+
+       if [ -z "${PACKAGE}" -o -z "${VERSION}" ]; then
+               echo "Skipping non-equivs file '$BASE'"
+               continue;
+       fi
+       if [ -f "${PACKAGE}_${VERSION}_all.deb" ]; then
                echo "Skipping $PACKAGE, version $VERSION already built"
+               continue;
        fi
+
+       echo "Building version $VERSION of $PACKAGE"
+       equivs-build $i
 done
 
 cd ../..