summaryrefslogtreecommitdiffstats
path: root/repo.sh
diff options
context:
space:
mode:
authorSeppia <seppia@seppia.net>2018-06-03 15:08:09 +0200
committerSeppia <seppia@seppia.net>2018-06-03 15:08:09 +0200
commit6935dd40126bce565235b398df79fc15b14fb140 (patch)
tree8fc3b3040120cda6195d4187c9e507b363ad23c5 /repo.sh
parentd5601dc59f9d75d630ba44ff569f273466d18c58 (diff)
downloadrepofish-6935dd40126bce565235b398df79fc15b14fb140.tar.gz
repofish-6935dd40126bce565235b398df79fc15b14fb140.tar.bz2
repofish-6935dd40126bce565235b398df79fc15b14fb140.zip
Renamed sources file
Sources file has been renamed from repo.sh to repofish to match the git repository name.
Diffstat (limited to 'repo.sh')
-rwxr-xr-xrepo.sh343
1 files changed, 0 insertions, 343 deletions
diff --git a/repo.sh b/repo.sh
deleted file mode 100755
index 8f3e4b8..0000000
--- a/repo.sh
+++ /dev/null
@@ -1,343 +0,0 @@
-#!/bin/sh
-
-## You can set these variables here or in your enviroment
-
-#SRC_PATH='/path/to/packages/sources'
-#REPO_PATH='/path/to/archlinux/repo'
-#REPO_NAME='repo_name'
-
-## Search variables
-URL_PREFIX='https://aur.archlinux.org/'
-SEARCH_STR='rpc/?v=5&type=search&by=name-desc&arg='
-
-add_packages() {
- declare -a pkg=("${!1}")
- for i in "${pkg[@]}"; do
- if [ ! -d "${SRC_PATH}/$i" ]; then
- cd ${SRC_PATH}
- git clone ${URL_PREFIX}$i.git
- else
- echo 'WARNING: Package '"$i"' already present.'
- fi
- done
-}
-
-clone_package() {
- if [ ! -d "${SRC_PATH}/$(echo $1 | awk -F '/' '{print $NF}' | cut -d '.' -f 1)" ]; then
- cd ${SRC_PATH}
- git clone $1
- else
- echo 'WARNING: Package already present.'
- fi
-}
-
-rm_packages() {
- declare -a pkg=("${!1}")
- for i in "${pkg[@]}"; do
- if [ -d "${SRC_PATH}/$i" ]; then
- rm -rf ${SRC_PATH}/$i
- else
- echo 'WARNING: Package '"$i"' not present.'
- fi
- done
-}
-
-check_package() {
- if [ -d "${SRC_PATH}/$1" ]; then
- ${EDITOR} ${SRC_PATH}/$1/PKGBUILD
- else
- echo 'WARNING: Package '"$1"' not found.'
- fi
-}
-
-list_packages() {
- find ${SRC_PATH}/* -type d -prune | awk -F '/' '{print $NF}'
-}
-
-clean_packages() {
- if [ "$1" != '' ]; then
- declare -a pkg=("${!1}")
- for i in "${pkg[@]}"; do
- find ${SRC_PATH} -type f -iname "*$i*.pkg.tar.xz" -exec rm {} \;
- done
- else
- find ${SRC_PATH} -type f -iname "*.pkg.tar.xz" -exec rm {} \;
- fi
-}
-
-build_packages() {
- if [ "$1" != '' ]; then
- declare -a pkg=("${!1}")
- for i in "${pkg[@]}"; do
- cd $(find ${SRC_PATH}/* -type d -prune -iname "*$i")
- makepkg -Cs
- done
- else
- for i in $(find ${SRC_PATH}/* -type d -prune)
- do
- cd $i
- makepkg -Cs
- done
- fi
-}
-
-upgrade_packages() {
- if [ "$1" != '' ]; then
- declare -a pkg=("${!1}")
- for i in "${pkg[@]}"; do
- cd $(find ${SRC_PATH}/* -type d -prune -iname "*$i")
- git fetch
- git diff origin/master
- git merge
- makepkg -Cs
- done
- else
- for i in $(find ${SRC_PATH}/* -type d -prune)
- do
- cd $i
- git fetch
- git diff origin/master
- git merge
- makepkg -Cs
- done
- fi
-}
-
-update_packages() {
- if [ "$1" != '' ]; then
- declare -a pkg=("${!1}")
- for i in "${pkg[@]}"; do
- cd $(find ${SRC_PATH}/* -type d -prune -iname "*$i")
- git fetch
- git diff origin/master
- git merge
- done
- else
- for i in $(find ${SRC_PATH}/* -type d -prune)
- do
- cd $i
- git fetch
- git diff origin/master
- git merge
- done
- fi
-}
-
-install_packages() {
- declare -a pkg=("${!1}")
- for i in "${pkg[@]}"; do
- if [ -d "${SRC_PATH}/$i" ]; then
- cd $(find ${SRC_PATH}/* -type d -prune -iname "*$i")
- makepkg -Csi
- else
- echo 'WARNING: Package '"$i"' not found.'
- fi
- done
-}
-
-update_repo() {
- if [ "$1" != '' ]; then
- declare -a pkg=("${!1}")
- for i in "${pkg[@]}"; do
- find ${SRC_PATH} -type f -iname "*$i*pkg.tar.xz" -exec cp {} ${REPO_PATH}/x86_64/ \;
- repo-add ${REPO_PATH}/x86_64/${REPO_NAME}.db.tar.gz ${REPO_PATH}/x86_64/*$i*.pkg.tar.xz
- done
- else
- find ${SRC_PATH} -type f -iname "*pkg.tar.xz" -exec cp {} ${REPO_PATH}/x86_64/ \;
- repo-add ${REPO_PATH}/x86_64/${REPO_NAME}.db.tar.gz ${REPO_PATH}/x86_64/*.pkg.tar.xz
- fi
-}
-
-search_packages() {
- declare -a key=("${!1}")
- LIST_INST=$($0 list | tr '\n' '|')
- CURL_JSN=$(curl -s $(echo ${URL_PREFIX}${SEARCH_STR}"${key[@]}" | sed -e 's/ /+/g'))
- OUT_STR=$(jq -r '.results | .[] | [.Name, .Version], .Description' <<< ${CURL_JSN})
- SEARCH_OUT=$(sed -e 's/\\//g' -e 's/\[/\\033\[1\;36m\[/g' -e 's/",/\\033\[1\;33m", \[\\033\[1\;32m/g' \
- -e 's/\]/\\033\[1\;33m\]\\033\[1\;37m\]/g' <<< ${OUT_STR})
- echo -ne ' \033[1;34m:: \033[1;37mYou searched using the following keywords (matching package name and/or description): "'
- echo -ne \\033\[1\;33m${key[@]}\\033\[1\;37m\"
- echo -e ${SEARCH_OUT} | sed -e 's/\[ /\n/g' -e 's/ *\] /\n\t/g' -e 's/", / /g' -e 's/"//g' | \
- sed -E '/'"${LIST_INST::-1}"'[^-]/ s/$/ '"$(echo -e \\033\[1\;35m[ Installed ]\\033\[1\;37m)"'/'
-}
-
-set_variables() {
- echo "WARNING: SRC_PATH variable not set."
- echo
- echo "You need to set the following variables in your profile:"
- echo
- echo " export SRC_PATH='/path/to/packages/sources'"
- echo " export REPO_PATH='/path/to/archlinux/repo'"
- echo " export REPO_NAME='repo_name'"
- echo
- echo "The REPO_PATH and REPO_NAME variables are only needed if you use the local repo feature."
- echo "Just set the SRC_PATH if you don't intend to use it."
-}
-
-print_help() {
- echo 'repo.sh SEPPIOFISH repo tool'
- echo
- echo ' USAGE: repo.sh COMMAND PKGNAME (default ALL)'
- echo
- echo ' add adds packages from from AUR'
- echo ' clone (url) clones git package repository'
- echo ' rm remove packages'
- echo ' check check PKGBUILD'
- echo ' list lists locally available packages'
- echo ' update-repo updates the packages in the repo'
- echo ' build builds the packages'
- echo ' upgrade upgrades and builds the packages'
- echo ' update updates the packages'
- echo ' install builds and installs the package'
- echo ' clean cleans the packages'
- echo ' search searches packages in the AUR'
- echo ' help prints this help'
- echo
-
- if [ "${SRC_PATH}" == '' ];then
- set_variables
- fi
-}
-
-if [ "$1" == 'help' ]; then
- if [ "$2" != '' ]; then
- echo 'ERROR: too many arguments.'
- else
- print_help
- fi
-elif [ "${SRC_PATH}" == '' ];then
- set_variables
-elif [ ! -d "${SRC_PATH}" ]; then
- echo 'ERROR: SRC_PATH variable set to invalid path.'
-elif [ "$1" == '' ]; then
- echo 'WARNING: no command called.'
-elif [ "$1" == 'add' ]; then
- if [ "$2" == '' ]; then
- echo 'ERROR: missing argument.'
- else
- N=2
- while [ "${!N}" != '' ]; do
- packages[$((N-2))]=${!N}
- let N=N+1
- done
- add_packages packages[@]
- 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 [ "$2" == '' ]; then
- echo 'ERROR: missing argument.'
- else
- N=2
- while [ "${!N}" != '' ]; do
- packages[$((N-2))]=${!N}
- let N=N+1
- done
- rm_packages packages[@]
- fi
-elif [ "$1" == 'check' ]; then
- if [ "$3" != '' ]; then
- echo 'ERROR: too many arguments.'
- elif [ "$2" == '' ]; then
- echo 'ERROR: missing argument.'
- else
- check_package $2
- fi
-elif [ "$1" == 'list' ]; then
- if [ "$2" != '' ]; then
- echo 'ERROR: too many arguments.'
- else
- list_packages
- fi
-elif [ "$1" == 'update-repo' ]; then
- if [ "${REPO_PATH}" == '' ];then
- echo 'ERROR: REPO_PATH variable not set.'
- elif [ ! -d "${REPO_PATH}" ]; then
- echo 'ERROR: REPO_PATH variable set to invalid path.'
- elif [ "${REPO_NAME}" == '' ];then
- echo 'ERROR: REPO_NAME variable not set.'
- elif [ "$2" != '' ]; then
- N=2
- while [ "${!N}" != '' ]; do
- packages[$((N-2))]=${!N}
- let N=N+1
- done
- update_repo packages[@]
- else
- update_repo
- fi
-elif [ "$1" == 'build' ]; then
- if [ "$2" != '' ]; then
- N=2
- while [ "${!N}" != '' ]; do
- packages[$((N-2))]=${!N}
- let N=N+1
- done
- build_packages packages[@]
- else
- build_packages
- fi
-elif [ "$1" == 'upgrade' ]; then
- if [ "$2" != '' ]; then
- N=2
- while [ "${!N}" != '' ]; do
- packages[$((N-2))]=${!N}
- let N=N+1
- done
- upgrade_packages packages[@]
- else
- upgrade_packages
- fi
-elif [ "$1" == 'update' ]; then
- if [ "$2" != '' ]; then
- N=2
- while [ "${!N}" != '' ]; do
- packages[$((N-2))]=${!N}
- let N=N+1
- done
- update_packages packages[@]
- else
- update_packages
- fi
-elif [ "$1" == 'install' ]; then
- if [ "$2" == '' ]; then
- echo 'ERROR: missing argument.'
- else
- N=2
- while [ "${!N}" != '' ]; do
- packages[$((N-2))]=${!N}
- let N=N+1
- done
- install_packages packages[@]
- fi
-elif [ "$1" == 'clean' ]; then
- if [ "$2" != '' ]; then
- N=2
- while [ "${!N}" != '' ]; do
- packages[$((N-2))]=${!N}
- let N=N+1
- done
- clean_packages packages[@]
- else
- clean_packages
- fi
-elif [ "$1" == 'search' ]; then
- if [ "$2" == '' ]; then
- echo 'ERROR: missing argument(s).'
- else
- N=2
- while [ "${!N}" != '' ]; do
- keywords[$((N-2))]=${!N}
- let N=N+1
- done
- search_packages keywords[@]
- fi
-else
- echo 'ERROR: unrecocnized command.'
-fi