mirror of
				https://gitlab.archlinux.org/archlinux/devtools.git
				synced 2025-11-04 09:44:42 +01:00 
			
		
		
		
	Compare commits
	
		
			7 Commits
		
	
	
		
			272-check-
			...
			6c290045e7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					6c290045e7 | ||
| 
						 | 
					3f0ebbc6d2 | ||
| 
						 | 
					fc56ebedf3 | ||
| 
						 | 
					01757e6904 | ||
| 
						 | 
					c5fe8ff3e6 | ||
| 
						 | 
					773f8d5c0e | ||
| 
						 | 
					538604fead | 
@@ -150,6 +150,7 @@ _pkgctl_cmds=(
 | 
			
		||||
	db
 | 
			
		||||
	diff
 | 
			
		||||
	issue
 | 
			
		||||
	license
 | 
			
		||||
	release
 | 
			
		||||
	repo
 | 
			
		||||
	search
 | 
			
		||||
 
 | 
			
		||||
@@ -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" 2>/dev/null)
 | 
			
		||||
CURRENT_CHROOT_VERSION=$(cat "${chroots}/${repo}-${arch}/root/.arch-chroot")
 | 
			
		||||
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"; then
 | 
			
		||||
		if ! git ls-files --error-unmatch "$file" >/dev/null; then
 | 
			
		||||
			die "%s is not under version control" "$file"
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
 
 | 
			
		||||
@@ -188,10 +188,13 @@ path = [
 | 
			
		||||
    "README.md",
 | 
			
		||||
    "keys/**",
 | 
			
		||||
    ".SRCINFO",
 | 
			
		||||
    ".gitignore",
 | 
			
		||||
    ".nvchecker.toml",
 | 
			
		||||
    "*.install",
 | 
			
		||||
    "*.sysusers",
 | 
			
		||||
    "*sysusers.conf",
 | 
			
		||||
    "*.tmpfiles",
 | 
			
		||||
    "*tmpfiles.conf",
 | 
			
		||||
    "*.logrotate",
 | 
			
		||||
    "*.pam",
 | 
			
		||||
    "*.service",
 | 
			
		||||
 
 | 
			
		||||
@@ -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