blob: 8f8dd0a0475658e2d4dae742748b41e8ab100feb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
#!/hint/bash
#
# SPDX-License-Identifier: GPL-3.0-or-later
[[ -z ${DEVTOOLS_INCLUDE_REPO_SH:-} ]] || return 0
DEVTOOLS_INCLUDE_REPO_SH=1
_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
set -e
pkgctl_repo_usage() {
local -r COMMAND=${_DEVTOOLS_COMMAND:-${BASH_SOURCE[0]##*/}}
cat <<- _EOF_
Usage: ${COMMAND} [COMMAND] [OPTIONS]
Manage Git packaging repositories and helps with their configuration
according to distro specs.
Git author information and the used signing key is set up from
makepkg.conf read from any valid location like /etc or XDG_CONFIG_HOME.
The configure command can be used to synchronize the distro specs and
makepkg.conf settings for previously cloned repositories.
The unprivileged option can be used for cloning packaging repositories
without SSH access using read-only HTTPS.
COMMANDS
clean Remove untracked files from the working tree
clone Clone a package repository
configure Configure a clone according to distro specs
create Create a new GitLab package repository
switch Switch a package repository to a specified version
web Open the packaging repository's website
OPTIONS
-h, --help Show this help text
EXAMPLES
$ ${COMMAND} clean --interactive *
$ ${COMMAND} clone libfoo linux libbar
$ ${COMMAND} clone --maintainer mynickname
$ ${COMMAND} configure *
$ ${COMMAND} create libfoo
$ ${COMMAND} switch 2:1.19.5-1 libfoo
$ ${COMMAND} web linux
_EOF_
}
pkgctl_repo() {
if (( $# < 1 )); then
pkgctl_repo_usage
exit 0
fi
# option checking
while (( $# )); do
case $1 in
-h|--help)
pkgctl_repo_usage
exit 0
;;
clean)
_DEVTOOLS_COMMAND+=" $1"
shift
# shellcheck source=src/lib/repo/clean.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/clean.sh
pkgctl_repo_clean "$@"
exit 0
;;
clone)
_DEVTOOLS_COMMAND+=" $1"
shift
# shellcheck source=src/lib/repo/clone.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/clone.sh
pkgctl_repo_clone "$@"
exit 0
;;
configure)
_DEVTOOLS_COMMAND+=" $1"
shift
# shellcheck source=src/lib/repo/configure.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/configure.sh
pkgctl_repo_configure "$@"
exit 0
;;
create)
_DEVTOOLS_COMMAND+=" $1"
shift
# shellcheck source=src/lib/repo/create.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/create.sh
pkgctl_repo_create "$@"
exit 0
;;
switch)
_DEVTOOLS_COMMAND+=" $1"
shift
# shellcheck source=src/lib/repo/switch.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/switch.sh
pkgctl_repo_switch "$@"
exit 0
;;
web)
_DEVTOOLS_COMMAND+=" $1"
shift
# shellcheck source=src/lib/repo/web.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/web.sh
pkgctl_repo_web "$@"
exit 0
;;
-*)
die "invalid argument: %s" "$1"
;;
*)
die "invalid command: %s" "$1"
;;
esac
done
}
|