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<archlinux@cryptocrack.de> --- 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