summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkj-sh6042025-06-09 00:40:12 -0400
committerkj-sh6042025-06-09 00:40:12 -0400
commitf72370a92f2049424bd469028601de0c2062bbb9 (patch)
treea6d215710c1f3783175dbdca56a87c33962fcf0d
initial: batman 🦇
-rwxr-xr-xgitpkg60
1 files changed, 60 insertions, 0 deletions
diff --git a/gitpkg b/gitpkg
new file mode 100755
index 0000000..fadb736
--- /dev/null
+++ b/gitpkg
@@ -0,0 +1,60 @@
1#!/bin/sh
2
3check_git_installed() {
4 if ! command -v git >/dev/null 2>&1; then
5 echo "error: git is not installed :( please git wget to use $0."
6 exit 1
7 fi
8}
9
10_base_url='https://gitlab.archlinux.org/archlinux/packaging/packages'
11
12get_url_function() {
13 _pkg="$1"
14 _url="${_base_url}/${_pkg}.git"
15
16 echo "$_url"
17}
18
19run_grabber_function() {
20 _pkg="$(echo "$1" | tr -d '[:space:]')"
21 _url="$(get_url_function "$_pkg")"
22
23 git clone "$_url"
24}
25
26grabber_function() {
27 for _pkg in "$@"; do
28 run_grabber_function "$_pkg" &
29 done
30 wait
31}
32
33usage_function() {
34 cat <<EOF
35usage:
36 $0 [-h|--help]
37 $0 <pkg> <pkg>...
38
39options:
40 -h, --help
41 print this help message
42EOF
43}
44
45check_git_installed
46
47while [ $# -gt 0 ]; do
48 case "$1" in
49 -*)
50 usage_function
51 exit 0
52 ;;
53 *)
54 grabber_function "$@"
55 exit 0
56 ;;
57 esac
58done
59
60# vim: set filetype=sh foldmethod=marker foldlevel=0: