mirror of
				https://gitlab.archlinux.org/archlinux/devtools.git
				synced 2025-10-30 23:34:43 +01:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			master
			...
			dd458f61c9
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | dd458f61c9 | ||
|   | 773f8d5c0e | ||
|   | 538604fead | 
| @@ -3,7 +3,7 @@ pkgctl-auth(1) | ||||
|  | ||||
| Name | ||||
| ---- | ||||
| pkgctl-auth - Authenticate with services like GitLab. | ||||
| pkgctl-auth - Authenticate with serivces like GitLab. | ||||
|  | ||||
| Synopsis | ||||
| -------- | ||||
|   | ||||
| @@ -39,17 +39,6 @@ placed in the `$XDG_CONFIG_HOME`/nvchecker` directory. This keyfile is | ||||
| used for providing the necessary authentication tokens required for | ||||
| accessing the GitHub or GitLab API. | ||||
|  | ||||
| Combiner Source | ||||
| --------------- | ||||
|  | ||||
| To utilize the combiner source, the `pkgbase` section must be declared as the | ||||
| combiner source. Additionally, individual sections should be added using a | ||||
| quoted table key consisting of the `pkgbase` followed by the stage name, | ||||
| separated by double colons. For example: `["sudo:stage1"]`. | ||||
|  | ||||
| This allows to chain different sources together into one result, or allow | ||||
| multi stage transformation of our source via multiple regex. | ||||
|  | ||||
| Options | ||||
| ------- | ||||
|  | ||||
|   | ||||
| @@ -49,9 +49,6 @@ pkgctl diff:: | ||||
| pkgctl issue:: | ||||
| 	Work with GitLab packaging issues | ||||
|  | ||||
| pkgctl license:: | ||||
| 	Check and manage package licenses | ||||
|  | ||||
| pkgctl release:: | ||||
| 	Release step to commit, tag and upload build artifacts | ||||
|  | ||||
| @@ -73,7 +70,6 @@ pkgctl-build(1) | ||||
| pkgctl-db(1) | ||||
| pkgctl-diff(1) | ||||
| pkgctl-issue(1) | ||||
| pkgctl-license(1) | ||||
| pkgctl-release(1) | ||||
| pkgctl-repo(1) | ||||
| pkgctl-search(1) | ||||
|   | ||||
| @@ -54,8 +54,7 @@ export RSYNC_OPTS=( | ||||
|   --human-readable | ||||
|   --progress | ||||
|   --partial | ||||
|   # suffix the partial dir with the PID in order to avoid clashes | ||||
|   --partial-dir=.partial.$$ | ||||
|   --partial-dir=.partial | ||||
|   --delay-updates | ||||
| ) | ||||
|  | ||||
| @@ -442,10 +441,3 @@ relative_date_unit() { | ||||
| 	done | ||||
| 	printf "1 second" | ||||
| } | ||||
|  | ||||
|  | ||||
| # escapes regex metacharacters in a given string | ||||
| regex_escape() { | ||||
| 	# shellcheck disable=SC2001,SC2016 | ||||
| 	sed 's/[\^.\[$()|*+?{\\]/\\&/g' <<<"$1" | ||||
| } | ||||
|   | ||||
| @@ -94,19 +94,19 @@ pkgctl_license_check() { | ||||
| 		pushd "${path}" >/dev/null | ||||
|  | ||||
| 		if [[ ! -f PKGBUILD ]]; then | ||||
| 			msg_error "${BOLD}${path}:${ALL_OFF} no PKGBUILD found" | ||||
| 			msg_error "${BOLD}${pkgbase}:${ALL_OFF} no PKGBUILD found" | ||||
| 			return 1 | ||||
| 		fi | ||||
|  | ||||
| 		if [[ ! -f .SRCINFO ]]; then | ||||
| 			msg_error "${BOLD}${path}:${ALL_OFF} no .SRCINFO found" | ||||
| 			return 1 | ||||
| 		fi | ||||
| 		# reset common PKGBUILD variables | ||||
| 		unset pkgbase | ||||
|  | ||||
| 		if ! pkgbase=$(grep --max-count=1 --extended-regexp "pkgbase = (.+)" .SRCINFO | awk '{print $3}'); then | ||||
| 			msg_error "${BOLD}${path}:${ALL_OFF} pkgbase not found in .SRCINFO" | ||||
| 		# shellcheck source=contrib/makepkg/PKGBUILD.proto | ||||
| 		if ! . ./PKGBUILD; then | ||||
| 			msg_error "${BOLD}${pkgbase}:${ALL_OFF} failed to source PKGBUILD" | ||||
| 			return 1 | ||||
| 		fi | ||||
| 		pkgbase=${pkgbase:-$pkgname} | ||||
|  | ||||
| 		if [[ ! -e LICENSE ]]; then | ||||
| 			msg_error "${BOLD}${pkgbase}:${ALL_OFF} is missing the LICENSE file" | ||||
|   | ||||
| @@ -188,7 +188,6 @@ path = [ | ||||
|     "README.md", | ||||
|     "keys/**", | ||||
|     ".SRCINFO", | ||||
|     ".gitignore", | ||||
|     ".nvchecker.toml", | ||||
|     "*.install", | ||||
|     "*.sysusers", | ||||
|   | ||||
| @@ -6,8 +6,6 @@ | ||||
| DEVTOOLS_INCLUDE_UTIL_PKGBUILD_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/util/makepkg.sh | ||||
| source "${_DEVTOOLS_LIBRARY_DIR}"/lib/util/makepkg.sh | ||||
|  | ||||
| @@ -23,8 +21,6 @@ pkgbuild_set_pkgver() { | ||||
| 	local new_pkgver=$1 | ||||
| 	local pkgver=${pkgver} | ||||
|  | ||||
| 	pkgver="$(regex_escape "${pkgver}")" | ||||
|  | ||||
| 	if [[ $(type -t pkgver) == function ]]; then | ||||
| 		# TODO: check if die or warn, if we provide _commit _gitcommit setter maybe? | ||||
| 		warning 'setting pkgver variable has no effect if the PKGBUILD has a pkgver() function' | ||||
|   | ||||
| @@ -304,11 +304,6 @@ get_upstream_version() { | ||||
| 		return 1 | ||||
| 	fi | ||||
|  | ||||
| 	if ! output=$(jq --raw-output --exit-status 'select(.name == "'"${pkgbase}"'")' <<< "${output}"); then | ||||
| 		printf "failed to select pkgbase result from output" | ||||
| 		return 1 | ||||
| 	fi | ||||
|  | ||||
| 	if ! upstream_version=$(jq --raw-output --exit-status '.version' <<< "${output}"); then | ||||
| 		printf "failed to select version from result" | ||||
| 		return 1 | ||||
| @@ -351,16 +346,10 @@ nvchecker_check_config() { | ||||
| 	fi | ||||
|  | ||||
| 	# check if the config contains any section other than pkgbase | ||||
| 	if [[ -n ${pkgbase} ]] && property=$(grep --max-count=1 --perl-regexp "^\\[(?!\"?${pkgbase//+/\\+}(:.+)?\"?\\]).+\\]" < "${config}"); then | ||||
| 	if [[ -n ${pkgbase} ]] && property=$(grep --max-count=1 --perl-regexp "^\\[(?!\"?${pkgbase//+/\\+}\"?\\]).+\\]" < "${config}"); then | ||||
| 		printf "non-pkgbase section not supported in %s: %s" "${config}" "${property}" | ||||
| 		return 1 | ||||
| 	fi | ||||
|  | ||||
| 	# check if the config is using the 'cmd' source | ||||
| 	if grep --extended-regexp --quiet '^\s*source\s*=\s*["'\'']cmd["'\''].*' "${config}"; then | ||||
| 		printf "using the 'cmd' source in %s is disallowed" "${config}" | ||||
| 		return 1 | ||||
| 	fi | ||||
| } | ||||
|  | ||||
| nvchecker_check_error() { | ||||
|   | ||||
| @@ -20,6 +20,7 @@ shopt -s nullglob | ||||
| default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg) | ||||
| makepkg_args=("${default_makepkg_args[@]}") | ||||
| verifysource_args=() | ||||
| archnspawn_args=() | ||||
| chrootdir= | ||||
| passeddir= | ||||
| makepkg_user= | ||||
| @@ -80,6 +81,7 @@ usage() { | ||||
| 	echo '                  Useful for maintaining multiple copies' | ||||
| 	echo "                  Default: $copy" | ||||
| 	echo '-n                Run namcap on the package' | ||||
| 	echo "-s                Do not run setarch" | ||||
| 	echo '-C                Run checkpkg on the package' | ||||
| 	echo '-T                Build in a temporary directory' | ||||
| 	echo '-U                Run makepkg as a specified user' | ||||
| @@ -150,7 +152,7 @@ install_packages() { | ||||
| 	pkgnames=("${install_pkgs[@]##*/}") | ||||
|  | ||||
| 	cp -- "${install_pkgs[@]}" "$copydir/root/" | ||||
| 	arch-nspawn "$copydir" "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" "${bindmounts_tmpfs[@]}" \ | ||||
| 	arch-nspawn "${archnspawn_args[@]}" "$copydir" "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" "${bindmounts_tmpfs[@]}" \ | ||||
| 		pacman -U --noconfirm --ask=4 -- "${pkgnames[@]/#//root/}" | ||||
| 	ret=$? | ||||
| 	rm -- "${pkgnames[@]/#/$copydir/root/}" | ||||
| @@ -293,7 +295,7 @@ move_products() { | ||||
| } | ||||
| # }}} | ||||
|  | ||||
| while getopts 'hcur:I:l:nCTD:d:U:x:t:' arg; do | ||||
| while getopts 'hcur:sI:l:nCTD:d:U:x:t:' arg; do | ||||
| 	case "$arg" in | ||||
| 		c) clean_first=1 ;; | ||||
| 		D) bindmounts_ro+=("--bind-ro=$OPTARG") ;; | ||||
| @@ -301,6 +303,7 @@ while getopts 'hcur:I:l:nCTD:d:U:x:t:' arg; do | ||||
| 		t) bindmounts_tmpfs+=("--tmpfs=$OPTARG") ;; | ||||
| 		u) update_first=1 ;; | ||||
| 		r) passeddir="$OPTARG" ;; | ||||
| 		s) archnspawn_args+=("-s") ;; | ||||
| 		I) install_pkgs+=("$OPTARG") ;; | ||||
| 		l) copy="$OPTARG" ;; | ||||
| 		n) run_namcap=1; makepkg_args+=(--install) ;; | ||||
| @@ -367,7 +370,7 @@ if [[ ! -d $copydir ]] || (( clean_first )); then | ||||
| 	sync_chroot "$chrootdir" "$copydir" "$copy" | ||||
| fi | ||||
|  | ||||
| (( update_first )) && arch-nspawn "$copydir" \ | ||||
| (( update_first )) && arch-nspawn "${archnspawn_args[@]}" "$copydir" \ | ||||
| 		"${bindmounts_ro[@]}" "${bindmounts_rw[@]}" "${bindmounts_tmpfs[@]}" \ | ||||
| 		pacman -Syuu --noconfirm | ||||
|  | ||||
| @@ -396,7 +399,7 @@ nspawn_build_args=( | ||||
| 	"${bindmounts_tmpfs[@]}" | ||||
| ) | ||||
|  | ||||
| if arch-nspawn "$copydir" \ | ||||
| if arch-nspawn "${archnspawn_args[@]}" "$copydir" \ | ||||
| 	"${nspawn_build_args[@]}" \ | ||||
| 	/chrootbuild "${makepkg_args[@]}" | ||||
| then | ||||
| @@ -444,7 +447,7 @@ else | ||||
| 		for remotepkg in "${remotepkgs[@]}"; do | ||||
| 			if [[ $remotepkg != file://* ]]; then | ||||
| 				msg2 "Downloading current versions" | ||||
| 				arch-nspawn "$copydir" pacman --noconfirm -Swdd "${pkgnames[@]}" | ||||
| 				arch-nspawn "${archnspawn_args[@]}" "$copydir" pacman --noconfirm -Swdd "${pkgnames[@]}" | ||||
| 				mapfile -t remotepkgs < <(pacman --config "$copydir"/etc/pacman.conf \ | ||||
| 					--dbpath "$copydir"/var/lib/pacman \ | ||||
| 					-Sddp "${pkgnames[@]}") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user