[arch-projects] [devtools] [PATCH 1/3] commitpkg: Avoid redundant use of grep(1)
Allan McRae
allan at archlinux.org
Tue Aug 9 17:17:52 EDT 2011
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 at 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
More information about the arch-projects
mailing list