On 10/08/11 06:53, Lukas Fleischer wrote:
We already sourced the PKGBUILD, so no need to grep the name of the
install script and changelog file. Just use "$install" and "$changelog"
instead.

Does this work with split packages each having their own install file?



Also, use bash patterns instead of using grep(1) to check if a source
file contains the string "://".

Signed-off-by: Lukas Fleischer<[email protected]>
---
  commitpkg |   19 +++++++------------
  1 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/commitpkg b/commitpkg
index 9856df1..cfc2727 100755
--- a/commitpkg
+++ b/commitpkg
@@ -79,21 +79,16 @@ esac

  # check if all local source files are under version control
  for s in ${source[@]}; do
-       echo $s | grep -Fvq '://'&&  \
-       svn status $s | grep -q '^\?'&&  \
-       abort "$s is not under version control"
+       if [[ $s != *://* ]]&&  svn status $s | grep -q '^\?'; then
+               abort "$s is not under version control"
+       fi
  done

  # check if changelog and install files are under version control
-for i in 'changelog' 'install'; do
-       filelist=$(sed -n "s/^[[:space:]]*$i=//p" PKGBUILD)
-       for file in $filelist; do
-               # evaluate any bash variables used
-               eval file=${file}
-               if svn status ${file} | grep -q '^\?'; then
-                       abort "${file} is not under version control"
-               fi
-       done
+for file in "$changelog" "$install"; do
+       if [[ -n ${file} ]]&&  svn status ${file} | grep -q '^\?'; then
+               abort "${file} is not under version control"
+       fi
  done

  # see if any limit options were passed, we'll send them to rsync

Reply via email to