mirror of
				https://gitlab.archlinux.org/archlinux/devtools.git
				synced 2025-11-04 09:44:42 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			5fa767046b
			...
			272-check-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					8125a81a98 | 
@@ -80,7 +80,7 @@ check_root SOURCE_DATE_EPOCH,SRCDEST,SRCPKGDEST,PKGDEST,LOGDEST,MAKEFLAGS,PACKAG
 | 
			
		||||
makechrootpkg_args+=("${@:$OPTIND}")
 | 
			
		||||
 | 
			
		||||
# Automatically recreate the root chroot if a version mismatch is detected
 | 
			
		||||
CURRENT_CHROOT_VERSION=$(cat "${chroots}/${repo}-${arch}/root/.arch-chroot")
 | 
			
		||||
CURRENT_CHROOT_VERSION=$(cat "${chroots}/${repo}-${arch}/root/.arch-chroot" 2>/dev/null)
 | 
			
		||||
if [[ -f "${chroots}/${repo}-${arch}/root/.arch-chroot" ]] && [[ "$CURRENT_CHROOT_VERSION" != "$CHROOT_VERSION" ]]; then
 | 
			
		||||
	warning "Recreating chroot '%s' (%s) as it is not at version %s" "${chroots}/${repo}-${arch}/root" "$CURRENT_CHROOT_VERSION" "$CHROOT_VERSION"
 | 
			
		||||
	clean_first=true
 | 
			
		||||
 
 | 
			
		||||
@@ -155,7 +155,7 @@ if (( ${#needsversioning[*]} )); then
 | 
			
		||||
		if [[ ! -f "${file}" ]]; then
 | 
			
		||||
			continue
 | 
			
		||||
		fi
 | 
			
		||||
		if ! git ls-files --error-unmatch "$file" >/dev/null; then
 | 
			
		||||
		if ! git ls-files --error-unmatch "$file"; then
 | 
			
		||||
			die "%s is not under version control" "$file"
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
 
 | 
			
		||||
@@ -191,9 +191,7 @@ path = [
 | 
			
		||||
    ".nvchecker.toml",
 | 
			
		||||
    "*.install",
 | 
			
		||||
    "*.sysusers",
 | 
			
		||||
    "*sysusers.conf",
 | 
			
		||||
    "*.tmpfiles",
 | 
			
		||||
    "*tmpfiles.conf",
 | 
			
		||||
    "*.logrotate",
 | 
			
		||||
    "*.pam",
 | 
			
		||||
    "*.service",
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,6 @@ pkgctl_repo_usage() {
 | 
			
		||||
		    clone          Clone a package repository
 | 
			
		||||
		    configure      Configure a clone according to distro specs
 | 
			
		||||
		    create         Create a new GitLab package repository
 | 
			
		||||
		    star           Star project in Gitlab
 | 
			
		||||
		    switch         Switch a package repository to a specified version
 | 
			
		||||
		    web            Open the packaging repository's website
 | 
			
		||||
 | 
			
		||||
@@ -44,7 +43,6 @@ pkgctl_repo_usage() {
 | 
			
		||||
		    $ ${COMMAND} clone --maintainer mynickname
 | 
			
		||||
		    $ ${COMMAND} configure *
 | 
			
		||||
		    $ ${COMMAND} create libfoo
 | 
			
		||||
		    $ ${COMMAND} star libfoo
 | 
			
		||||
		    $ ${COMMAND} switch 2:1.19.5-1 libfoo
 | 
			
		||||
		    $ ${COMMAND} web linux
 | 
			
		||||
_EOF_
 | 
			
		||||
@@ -95,14 +93,6 @@ pkgctl_repo() {
 | 
			
		||||
				pkgctl_repo_create "$@"
 | 
			
		||||
				exit 0
 | 
			
		||||
				;;
 | 
			
		||||
			star)
 | 
			
		||||
				_DEVTOOLS_COMMAND+=" $1"
 | 
			
		||||
				shift
 | 
			
		||||
				# shellcheck source=src/lib/repo/star.sh
 | 
			
		||||
				source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/star.sh
 | 
			
		||||
				pkgctl_repo_star "$@"
 | 
			
		||||
				exit 0
 | 
			
		||||
				;;
 | 
			
		||||
			switch)
 | 
			
		||||
				_DEVTOOLS_COMMAND+=" $1"
 | 
			
		||||
				shift
 | 
			
		||||
 
 | 
			
		||||
@@ -1,82 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#
 | 
			
		||||
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
 | 
			
		||||
[[ -z ${DEVTOOLS_INCLUDE_REPO_WEB_SH:-} ]] || return 0
 | 
			
		||||
DEVTOOLS_INCLUDE_REPO_WEB_SH=1
 | 
			
		||||
 | 
			
		||||
_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
 | 
			
		||||
# shellcheck source=src/lib/common.sh
 | 
			
		||||
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh
 | 
			
		||||
# shellcheck source=src/lib/api/gitlab.sh
 | 
			
		||||
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/api/gitlab.sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
pkgctl_repo_star_usage() {
 | 
			
		||||
	local -r COMMAND=${_DEVTOOLS_COMMAND:-${BASH_SOURCE[0]##*/}}
 | 
			
		||||
	cat <<- _EOF_
 | 
			
		||||
		Usage: ${COMMAND} [OPTIONS] [PKGBASE]...
 | 
			
		||||
 | 
			
		||||
		Stars the packaging repository in Gitlab. If called with no arguments
 | 
			
		||||
		stars the package cloned in the current working directory.
 | 
			
		||||
 | 
			
		||||
		OPTIONS
 | 
			
		||||
		    -h, --help    Show this help text
 | 
			
		||||
 | 
			
		||||
		EXAMPLES
 | 
			
		||||
		    $ ${COMMAND} star linux
 | 
			
		||||
_EOF_
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pkgctl_repo_star() {
 | 
			
		||||
	# options
 | 
			
		||||
	local pkgbases=()
 | 
			
		||||
 | 
			
		||||
	# option checking
 | 
			
		||||
	while (( $# )); do
 | 
			
		||||
		case $1 in
 | 
			
		||||
			-h|--help)
 | 
			
		||||
				pkgctl_repo_star_usage
 | 
			
		||||
				exit 0
 | 
			
		||||
				;;
 | 
			
		||||
			--)
 | 
			
		||||
				shift
 | 
			
		||||
				break
 | 
			
		||||
				;;
 | 
			
		||||
			-*)
 | 
			
		||||
				die "invalid argument: %s" "$1"
 | 
			
		||||
				;;
 | 
			
		||||
			*)
 | 
			
		||||
				pkgbases=("$@")
 | 
			
		||||
				break
 | 
			
		||||
				;;
 | 
			
		||||
		esac
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	[[ -z ${WORKDIR:-} ]] && setup_workdir
 | 
			
		||||
	outfile=$(mktemp --tmpdir="${WORKDIR}" pkgctl-gitlab-api.XXXXXXXXXX)
 | 
			
		||||
 | 
			
		||||
	for pkgbase in "${pkgbases[@]}"; do
 | 
			
		||||
		if [[ ! -d ${pkgbase} ]]; then
 | 
			
		||||
			local full_project_path="${GIT_PACKAGING_NAMESPACE}/$(gitlab_project_name_to_path "${pkgbase}")"
 | 
			
		||||
			local encoded_project_path=${full_project_path//\//%2F}
 | 
			
		||||
 | 
			
		||||
			# star GitLab project
 | 
			
		||||
			if ! gitlab_api_call "${outfile}" POST "projects/${encoded_project_path}/star"; then
 | 
			
		||||
				return 1
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
			if ! path=$(jq --raw-output --exit-status '.path' < "${outfile}"); then
 | 
			
		||||
				msg_error "  failed to query path: $(cat "${outfile}")"
 | 
			
		||||
				return 1
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
			msg_success "  ${pkgbase} starred ⭐"
 | 
			
		||||
		else
 | 
			
		||||
			warning "Can't find empty project"
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user