summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrepo.sh21
1 files changed, 20 insertions, 1 deletions
diff --git a/repo.sh b/repo.sh
index c22ff31..7767b0c 100755
--- a/repo.sh
+++ b/repo.sh
@@ -8,8 +8,18 @@
## Search variables
URL_PREFIX='https://aur.archlinux.org/rpc/?v=5&type=search&by=name-desc&arg='
+CLONE_PREFIX='https://aur.archlinux.org/'
add_package() {
+ if [ ! -d "${SRC_PATH}/$1" ]; then
+ cd ${SRC_PATH}
+ git clone ${CLONE_PREFIX}$1.git
+ else
+ echo 'Package already present.'
+ fi
+}
+
+clone_package() {
if [ ! -d "${SRC_PATH}/$(echo $1 | awk -F '/' '{print $NF}' | cut -d '.' -f 1)" ]; then
cd ${SRC_PATH}
git clone $1
@@ -109,7 +119,8 @@ print_help() {
echo
echo ' USAGE: repo.sh COMMAND PKGNAME (default ALL)'
echo
- echo ' add (url) adds git package repository from aur'
+ echo ' add adds package from from AUR'
+ echo ' clone (url) clones git package repository'
echo ' rm remove package'
echo ' check check PKGBUILD'
echo ' list lists availables packages'
@@ -137,6 +148,14 @@ elif [ "$1" == 'add' ]; then
else
add_package $2
fi
+elif [ "$1" == 'clone' ]; then
+ if [ "$3" != '' ]; then
+ echo 'error: too many arguments.'
+ elif [ "$2" == '' ]; then
+ echo 'error: missing argument.'
+ else
+ clone_package $2
+ fi
elif [ "$1" == 'rm' ]; then
if [ "$3" != '' ]; then
echo 'error: too many arguments.'