forked from artix/artools
Compare commits
2 Commits
ci-complet
...
admin
Author | SHA1 | Date | |
---|---|---|---|
20bb1bb92a | |||
4b9a6b9314 |
55
src/lib/pkg/admin.sh
Normal file
55
src/lib/pkg/admin.sh
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/hint/bash
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
[[ -z ${ARTOOLS_INCLUDE_ADMIN_SH:-} ]] || return 0
|
||||||
|
ARTOOLS_INCLUDE_ADMIN_SH=1
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
artixpkg_admin_usage() {
|
||||||
|
local -r COMMAND=${_ARTOOLS_COMMAND:-${BASH_SOURCE[0]##*/}}
|
||||||
|
cat <<- _EOF_
|
||||||
|
Usage: ${COMMAND} [COMMAND] [OPTIONS]
|
||||||
|
|
||||||
|
COMMANDS
|
||||||
|
transfer Clone a package repository
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
-h, --help Show this help text
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
$ ${COMMAND} transfer libfoo libbar
|
||||||
|
_EOF_
|
||||||
|
}
|
||||||
|
|
||||||
|
artixpkg_admin() {
|
||||||
|
if (( $# < 1 )); then
|
||||||
|
artixpkg_admin_usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# option checking
|
||||||
|
while (( $# )); do
|
||||||
|
case $1 in
|
||||||
|
-h|--help)
|
||||||
|
artixpkg_admin_usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
transfer)
|
||||||
|
_ARTOOLS_COMMAND+=" $1"
|
||||||
|
shift
|
||||||
|
# shellcheck source=src/lib/pkg/admin/transfer.sh
|
||||||
|
source "${LIBDIR}"/pkg/admin/transfer.sh
|
||||||
|
artixpkg_admin_transfer "$@"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
die "invalid argument: %s" "$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
die "invalid command: %s" "$1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
64
src/lib/pkg/admin/transfer.sh
Normal file
64
src/lib/pkg/admin/transfer.sh
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
[[ -z ${ARTOOLS_INCLUDE_ADMIN_TRANSFER_SH:-} ]] || return 0
|
||||||
|
ARTOOLS_INCLUDE_ADMIN_TRANSFER_SH=1
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
|
||||||
|
artixpkg_admin_transfer_usage() {
|
||||||
|
local -r COMMAND=${_ARTOOLS_COMMAND:-${BASH_SOURCE[0]##*/}}
|
||||||
|
cat <<- _EOF_
|
||||||
|
Usage: ${COMMAND} [OPTIONS] [PKGBASE]...
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
-h, --help Show this help text
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
$ ${COMMAND} libfoo
|
||||||
|
$ ${COMMAND} libfoo libbar
|
||||||
|
_EOF_
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
artixpkg_admin_transfer() {
|
||||||
|
if (( $# < 1 )); then
|
||||||
|
artixpkg_admin_transfer_usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# options
|
||||||
|
local pkgbases=()
|
||||||
|
local pkgbase
|
||||||
|
local waste_org="landfill"
|
||||||
|
|
||||||
|
local command=${_ARTOOLS_COMMAND:-${BASH_SOURCE[0]##*/}}
|
||||||
|
|
||||||
|
while (( $# )); do
|
||||||
|
case $1 in
|
||||||
|
-h|--help)
|
||||||
|
artixpkg_admin_transfer_usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
die "invalid argument: %s" "$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
pkgbases+=("$@")
|
||||||
|
|
||||||
|
for pkgbase in "${pkgbases[@]}"; do
|
||||||
|
transfer_repo "${pkgbase}" "${waste_org}"
|
||||||
|
done
|
||||||
|
}
|
@@ -13,15 +13,6 @@ get_compliant_name() {
|
|||||||
| sed -E 's/[_\-]{2,}/-/g'
|
| sed -E 's/[_\-]{2,}/-/g'
|
||||||
}
|
}
|
||||||
|
|
||||||
# get_compliant_name(){
|
|
||||||
# local gitname="$1"
|
|
||||||
# case "$gitname" in
|
|
||||||
# *+) gitname=${gitname//+/plus} ;;
|
|
||||||
# *+*) gitname=${gitname//+/-} ;;
|
|
||||||
# esac
|
|
||||||
# printf "%s\n" "$gitname"
|
|
||||||
# }
|
|
||||||
|
|
||||||
api_put() {
|
api_put() {
|
||||||
curl -s -X PUT "$@"
|
curl -s -X PUT "$@"
|
||||||
}
|
}
|
||||||
@@ -107,23 +98,6 @@ list_all_repos() {
|
|||||||
-H "accept: application/json"
|
-H "accept: application/json"
|
||||||
}
|
}
|
||||||
|
|
||||||
replace_topic() {
|
|
||||||
local url
|
|
||||||
local repo="$1"
|
|
||||||
local maintainer="$2"
|
|
||||||
url="${GIT_HTTPS}/api/v1/repos/${GIT_ORG}/$repo/topics"
|
|
||||||
|
|
||||||
api_put "$url" \
|
|
||||||
-H "accept: application/json" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-H "Authorization: token ${GIT_TOKEN}" \
|
|
||||||
-d "{
|
|
||||||
\"topics\": [
|
|
||||||
\"${maintainer}\"
|
|
||||||
]
|
|
||||||
}"
|
|
||||||
}
|
|
||||||
|
|
||||||
list_topics() {
|
list_topics() {
|
||||||
local url
|
local url
|
||||||
local pkgbase="$1"
|
local pkgbase="$1"
|
||||||
|
@@ -68,6 +68,14 @@ while (( $# )); do
|
|||||||
artixpkg_git "$@"
|
artixpkg_git "$@"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
admin)
|
||||||
|
_ARTOOLS_COMMAND+=" $1"
|
||||||
|
shift
|
||||||
|
# shellcheck source=src/lib/pkg/admin.sh
|
||||||
|
source "${LIBDIR}"/pkg/admin.sh
|
||||||
|
artixpkg_admin "$@"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
version|--version|-V)
|
version|--version|-V)
|
||||||
_ARTOOLS_COMMAND+=" $1"
|
_ARTOOLS_COMMAND+=" $1"
|
||||||
shift
|
shift
|
||||||
|
Reference in New Issue
Block a user