diff options
author | Seppia <seppia@seppia.net> | 2018-06-03 15:08:09 +0200 |
---|---|---|
committer | Seppia <seppia@seppia.net> | 2018-06-03 15:08:09 +0200 |
commit | 6935dd40126bce565235b398df79fc15b14fb140 (patch) | |
tree | 8fc3b3040120cda6195d4187c9e507b363ad23c5 /repo.sh | |
parent | d5601dc59f9d75d630ba44ff569f273466d18c58 (diff) | |
download | repofish-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-x | repo.sh | 343 |
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 |