mirror of
https://gitlab.archlinux.org/archlinux/devtools.git
synced 2025-09-13 01:46:19 +02:00
Compare commits
17 Commits
github/for
...
20220621
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b8d9a2b4fd | ||
![]() |
f386c13142 | ||
![]() |
49d889cb8d | ||
![]() |
ac222ae004 | ||
![]() |
cde012d25e | ||
![]() |
383cfa7e60 | ||
![]() |
7a8f101498 | ||
![]() |
01b6196883 | ||
![]() |
8d4c46d368 | ||
![]() |
d00a28ea0e | ||
![]() |
5e98478344 | ||
![]() |
0c61761f33 | ||
![]() |
c2f163b640 | ||
![]() |
c339536a37 | ||
![]() |
11edc45048 | ||
![]() |
f42b032c5e | ||
![]() |
c52fab2562 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -6,8 +6,8 @@ archrelease
|
||||
bash_completion
|
||||
checkpkg
|
||||
commitpkg
|
||||
devtools-config
|
||||
diffpkg
|
||||
export-pkgbuild-keys
|
||||
finddeps
|
||||
lddd
|
||||
makechrootpkg
|
||||
|
21
Makefile
21
Makefile
@@ -1,4 +1,4 @@
|
||||
V=20220207
|
||||
V=20220621
|
||||
BUILDTOOLVER ?= $(V)
|
||||
|
||||
PREFIX = /usr/local
|
||||
@@ -12,8 +12,8 @@ IN_PROGS = \
|
||||
checkpkg \
|
||||
commitpkg \
|
||||
crossrepomove\
|
||||
devtools-config \
|
||||
diffpkg \
|
||||
export-pkgbuild-keys \
|
||||
finddeps \
|
||||
find-libdeps \
|
||||
lddd \
|
||||
@@ -29,9 +29,13 @@ BINPROGS = \
|
||||
|
||||
CONFIGFILES = \
|
||||
makepkg-x86_64.conf \
|
||||
makepkg-x86_64_v3.conf \
|
||||
pacman-extra.conf \
|
||||
pacman-extra-x86_64_v3.conf \
|
||||
pacman-testing.conf \
|
||||
pacman-testing-x86_64_v3.conf \
|
||||
pacman-staging.conf \
|
||||
pacman-staging-x86_64_v3.conf \
|
||||
pacman-multilib.conf \
|
||||
pacman-multilib-testing.conf \
|
||||
pacman-multilib-staging.conf \
|
||||
@@ -39,6 +43,7 @@ CONFIGFILES = \
|
||||
pacman-gnome-unstable.conf
|
||||
|
||||
SETARCH_ALIASES = \
|
||||
x86_64_v3
|
||||
|
||||
COMMITPKG_LINKS = \
|
||||
extrapkg \
|
||||
@@ -55,8 +60,11 @@ COMMITPKG_LINKS = \
|
||||
|
||||
ARCHBUILD_LINKS = \
|
||||
extra-x86_64-build \
|
||||
extra-x86_64_v3-build \
|
||||
testing-x86_64-build \
|
||||
testing-x86_64_v3-build \
|
||||
staging-x86_64-build \
|
||||
staging-x86_64_v3-build \
|
||||
multilib-build \
|
||||
multilib-testing-build \
|
||||
multilib-staging-build \
|
||||
@@ -75,10 +83,10 @@ BASHCOMPLETION_LINKS = \
|
||||
MANS = \
|
||||
doc/archbuild.1 \
|
||||
doc/arch-nspawn.1 \
|
||||
doc/export-pkgbuild-keys.1 \
|
||||
doc/makechrootpkg.1 \
|
||||
doc/lddd.1 \
|
||||
doc/checkpkg.1 \
|
||||
doc/devtools-config.1 \
|
||||
doc/diffpkg.1 \
|
||||
doc/offload-build.1 \
|
||||
doc/sogrep.1 \
|
||||
@@ -120,8 +128,8 @@ install:
|
||||
for l in ${ARCHBUILD_LINKS}; do ln -sf archbuild $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
for l in ${CROSSREPOMOVE_LINKS}; do ln -sf crossrepomove $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides
|
||||
install -Dm0644 bash_completion $(DESTDIR)/usr/share/bash-completion/completions/devtools
|
||||
for l in ${BASHCOMPLETION_LINKS}; do ln -sf devtools $(DESTDIR)/usr/share/bash-completion/completions/$$l; done
|
||||
install -Dm0644 bash_completion $(DESTDIR)$(PREFIX)/share/bash-completion/completions/devtools
|
||||
for l in ${BASHCOMPLETION_LINKS}; do ln -sf devtools $(DESTDIR)$(PREFIX)/share/bash-completion/completions/$$l; done
|
||||
install -Dm0644 zsh_completion $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_devtools
|
||||
ln -sf archco $(DESTDIR)$(PREFIX)/bin/communityco
|
||||
for manfile in $(MANS); do \
|
||||
@@ -135,7 +143,8 @@ uninstall:
|
||||
for l in ${COMMITPKG_LINKS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
for l in ${ARCHBUILD_LINKS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
for l in ${CROSSREPOMOVE_LINKS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
rm $(DESTDIR)/usr/share/bash-completion/completions/devtools
|
||||
for l in ${BASHCOMPLETION_LINKS}; do rm -f $(DESTDIR)$(PREFIX)/share/bash-completion/completions/$$l; done
|
||||
rm $(DESTDIR)$(PREFIX)/share/bash-completion/completions/devtools
|
||||
rm $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_devtools
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/communityco
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/find-libprovides
|
||||
|
@@ -51,11 +51,6 @@ fi
|
||||
pushd .. >/dev/null
|
||||
mapfile -t known_files < <(svn ls -r HEAD "$trunk")
|
||||
wait $! || die "failed to discover committed files"
|
||||
for file in "${known_files[@]}"; do
|
||||
if [[ ${file:(-1)} = '/' ]]; then
|
||||
die "archrelease: subdirectories are not supported in package directories!"
|
||||
fi
|
||||
done
|
||||
|
||||
# gracefully handle files containing an "@" character
|
||||
known_files=("${known_files[@]/%/@}")
|
||||
@@ -67,7 +62,7 @@ for tag in "$@"; do
|
||||
stat_busy "Copying %s to %s" "${trunk}" "${tag}"
|
||||
|
||||
if [[ -d repos/$tag ]]; then
|
||||
mapfile -t trash < <(svn ls "repos/$tag")
|
||||
mapfile -t trash < <(svn ls --recursive "repos/$tag")
|
||||
wait $! || die "failed to discover existing files"
|
||||
if (( ${#trash[@]} )); then
|
||||
trash=("${trash[@]/#/repos/$tag/}")
|
||||
|
18
commitpkg.in
18
commitpkg.in
@@ -48,6 +48,21 @@ case "$cmd" in
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
if (( ${#validpgpkeys[@]} != 0 )); then
|
||||
if [[ -d keys ]]; then
|
||||
for key in "${validpgpkeys[@]}"; do
|
||||
if [[ ! -f keys/pgp/$key.asc ]]; then
|
||||
export-pkgbuild-keys || die 'Failed to export valid PGP keys for source files'
|
||||
fi
|
||||
done
|
||||
else
|
||||
export-pkgbuild-keys || die 'Failed to export valid PGP keys for source files'
|
||||
fi
|
||||
|
||||
svn add --parents --force keys/pgp/*
|
||||
fi
|
||||
|
||||
# find files which should be under source control
|
||||
needsversioning=()
|
||||
for s in "${source[@]}"; do
|
||||
@@ -60,6 +75,9 @@ for i in 'changelog' 'install'; do
|
||||
needsversioning+=("$file")
|
||||
done < <(sed -n "s/^[[:space:]]*$i=//p" PKGBUILD)
|
||||
done
|
||||
for key in "${validpgpkeys[@]}"; do
|
||||
needsversioning+=("keys/pgp/$key.asc")
|
||||
done
|
||||
|
||||
# assert that they really are controlled by SVN
|
||||
if (( ${#needsversioning[*]} )); then
|
||||
|
@@ -1,46 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
pkgdatadir='@pkgdatadir@'
|
||||
|
||||
# shellcheck disable=SC2059
|
||||
die() { printf "error: $1\n" "${@:2}" >&2; exit 1; }
|
||||
|
||||
usage() {
|
||||
cat <<- _EOF_
|
||||
Usage: ${BASH_SOURCE[0]##*/} [OPTION...]
|
||||
|
||||
Manage and print environment specific devtools information.
|
||||
|
||||
OPTIONS
|
||||
--pkgdatadir Print pkgdatadir location
|
||||
-h, --help Show this help text
|
||||
_EOF_
|
||||
}
|
||||
|
||||
print_pkgdatadir() {
|
||||
printf "%s\n" "${pkgdatadir}"
|
||||
}
|
||||
|
||||
if (( $# == 0 )); then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# option checking
|
||||
while (( $# )); do
|
||||
case $1 in
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
--pkgdatadir)
|
||||
print_pkgdatadir
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
die "invalid argument: %s" "$1"
|
||||
;;
|
||||
esac
|
||||
done
|
@@ -1,26 +0,0 @@
|
||||
devtools-config(1)
|
||||
================
|
||||
|
||||
Name
|
||||
----
|
||||
devtools-config - Manage and print environment specific devtools information.
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
devtools-config [OPTIONS]
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
Manage and print environment specific devtools information.
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
*--pkgdatadir*::
|
||||
Print environment specific pkgdatadir location.
|
||||
|
||||
*-h, --help*::
|
||||
Show a help text.
|
||||
|
||||
include::footer.asciidoc[]
|
25
doc/export-pkgbuild-keys.1.asciidoc
Normal file
25
doc/export-pkgbuild-keys.1.asciidoc
Normal file
@@ -0,0 +1,25 @@
|
||||
export-pkgbuild-keys(1)
|
||||
=======================
|
||||
|
||||
Name
|
||||
----
|
||||
export-pkgbuild-keys - Export valid source signing keys from a PKGBUILD
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
export-pkgbuild-keys
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
Export the PGP keys from a PKGBUILDs validpgpkeys array into the keys/pgp/
|
||||
subdirectory. Useful for distributing packager validated source signing
|
||||
keys alongside PKGBUILDs.
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
*-h, --help*::
|
||||
Show a help text.
|
||||
|
||||
include::footer.asciidoc[]
|
75
export-pkgbuild-keys.in
Normal file
75
export-pkgbuild-keys.in
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
m4_include(lib/common.sh)
|
||||
|
||||
usage() {
|
||||
cat <<- _EOF_
|
||||
Usage: ${BASH_SOURCE[0]##*/}
|
||||
|
||||
Export the PGP keys from a PKGBUILDs validpgpkeys array into the keys/pgp/
|
||||
subdirectory. Useful for distributing packager validated source signing
|
||||
keys alongside PKGBUILDs.
|
||||
|
||||
OPTIONS
|
||||
-h, --help Show this help text
|
||||
_EOF_
|
||||
}
|
||||
|
||||
# option checking
|
||||
while (( $# )); do
|
||||
case $1 in
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
die "invalid argument: %s" "$1"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ! -f PKGBUILD ]]; then
|
||||
die "This must be run a directory containing a PKGBUILD."
|
||||
fi
|
||||
|
||||
mapfile -t validpgpkeys < <(
|
||||
# shellcheck source=PKGBUILD.proto
|
||||
. ./PKGBUILD
|
||||
if (( ${#validpgpkeys[@]} )); then
|
||||
printf "%s\n" "${validpgpkeys[@]}"
|
||||
fi
|
||||
)
|
||||
|
||||
msg "Exporting ${#validpgpkeys[@]} PGP keys..."
|
||||
if (( ${#validpgpkeys[@]} == 0 )); then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
trap 'rm -rf $TEMPDIR' EXIT INT TERM QUIT
|
||||
TEMPDIR=$(mktemp -d --tmpdir export-pkgbuild-keys.XXXXXXXXXX)
|
||||
|
||||
mkdir -p keys/pgp
|
||||
error=0
|
||||
|
||||
for key in "${validpgpkeys[@]}"; do
|
||||
gpg --output "$TEMPDIR/$key.asc" --armor --export --export-options export-minimal "$key" 2>/dev/null
|
||||
|
||||
# gpg does not give a non-zero return value if it fails to export...
|
||||
if [[ -f $TEMPDIR/$key.asc ]]; then
|
||||
msg2 "Exported $key"
|
||||
mv "$TEMPDIR/$key.asc" "keys/pgp/$key.asc"
|
||||
else
|
||||
if [[ -f keys/pgp/$key.asc ]]; then
|
||||
warning "Failed to update key: $key"
|
||||
else
|
||||
error "Key unavailable: $key"
|
||||
error=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if (( error )); then
|
||||
die "Failed to export all \'validpgpkeys\' entries."
|
||||
fi
|
162
makepkg-x86_64_v3.conf
Normal file
162
makepkg-x86_64_v3.conf
Normal file
@@ -0,0 +1,162 @@
|
||||
#!/hint/bash
|
||||
# shellcheck disable=2034
|
||||
|
||||
#
|
||||
# /etc/makepkg.conf
|
||||
#
|
||||
|
||||
#########################################################################
|
||||
# SOURCE ACQUISITION
|
||||
#########################################################################
|
||||
#
|
||||
#-- The download utilities that makepkg should use to acquire sources
|
||||
# Format: 'protocol::agent'
|
||||
DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u'
|
||||
'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
|
||||
'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
|
||||
'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
|
||||
'rsync::/usr/bin/rsync --no-motd -z %u %o'
|
||||
'scp::/usr/bin/scp -C %u %o')
|
||||
|
||||
# Other common tools:
|
||||
# /usr/bin/snarf
|
||||
# /usr/bin/lftpget -c
|
||||
# /usr/bin/wget
|
||||
|
||||
#-- The package required by makepkg to download VCS sources
|
||||
# Format: 'protocol::package'
|
||||
VCSCLIENTS=('bzr::bzr'
|
||||
'fossil::fossil'
|
||||
'git::git'
|
||||
'hg::mercurial'
|
||||
'svn::subversion')
|
||||
|
||||
#########################################################################
|
||||
# ARCHITECTURE, COMPILE FLAGS
|
||||
#########################################################################
|
||||
#
|
||||
CARCH="x86_64_v3"
|
||||
CHOST="x86_64-pc-linux-gnu"
|
||||
|
||||
#-- Compiler and Linker Flags
|
||||
#CPPFLAGS=""
|
||||
CFLAGS="-march=x86-64-v3 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
||||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
||||
-fstack-clash-protection -fcf-protection"
|
||||
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
||||
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
||||
LTOFLAGS="-flto=auto"
|
||||
#RUSTFLAGS="-C opt-level=2"
|
||||
#-- Make Flags: change this for DistCC/SMP systems
|
||||
#MAKEFLAGS="-j2"
|
||||
#-- Debugging flags
|
||||
DEBUG_CFLAGS="-g"
|
||||
DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
|
||||
#DEBUG_RUSTFLAGS="-C debuginfo=2"
|
||||
|
||||
#########################################################################
|
||||
# BUILD ENVIRONMENT
|
||||
#########################################################################
|
||||
#
|
||||
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
|
||||
# A negated environment option will do the opposite of the comments below.
|
||||
#
|
||||
#-- distcc: Use the Distributed C/C++/ObjC compiler
|
||||
#-- color: Colorize output messages
|
||||
#-- ccache: Use ccache to cache compilation
|
||||
#-- check: Run the check() function if present in the PKGBUILD
|
||||
#-- sign: Generate PGP signature file
|
||||
#
|
||||
BUILDENV=(!distcc color !ccache check !sign)
|
||||
#
|
||||
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
|
||||
#-- specify a space-delimited list of hosts running in the DistCC cluster.
|
||||
#DISTCC_HOSTS=""
|
||||
#
|
||||
#-- Specify a directory for package building.
|
||||
#BUILDDIR=/tmp/makepkg
|
||||
|
||||
#########################################################################
|
||||
# GLOBAL PACKAGE OPTIONS
|
||||
# These are default values for the options=() settings
|
||||
#########################################################################
|
||||
#
|
||||
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
|
||||
# A negated option will do the opposite of the comments below.
|
||||
#
|
||||
#-- strip: Strip symbols from binaries/libraries
|
||||
#-- docs: Save doc directories specified by DOC_DIRS
|
||||
#-- libtool: Leave libtool (.la) files in packages
|
||||
#-- staticlibs: Leave static library (.a) files in packages
|
||||
#-- emptydirs: Leave empty directories in packages
|
||||
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
|
||||
#-- purge: Remove files specified by PURGE_TARGETS
|
||||
#-- debug: Add debugging flags as specified in DEBUG_* variables
|
||||
#-- lto: Add compile flags for building with link time optimization
|
||||
#
|
||||
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)
|
||||
|
||||
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
|
||||
INTEGRITY_CHECK=(sha256)
|
||||
#-- Options to be used when stripping binaries. See `man strip' for details.
|
||||
STRIP_BINARIES="--strip-all"
|
||||
#-- Options to be used when stripping shared libraries. See `man strip' for details.
|
||||
STRIP_SHARED="--strip-unneeded"
|
||||
#-- Options to be used when stripping static libraries. See `man strip' for details.
|
||||
STRIP_STATIC="--strip-debug"
|
||||
#-- Manual (man and info) directories to compress (if zipman is specified)
|
||||
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
|
||||
#-- Doc directories to remove (if !docs is specified)
|
||||
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
|
||||
#-- Files to be removed from all packages (if purge is specified)
|
||||
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
|
||||
#-- Directory to store source code in for debug packages
|
||||
DBGSRCDIR="/usr/src/debug"
|
||||
|
||||
#########################################################################
|
||||
# PACKAGE OUTPUT
|
||||
#########################################################################
|
||||
#
|
||||
# Default: put built package and cached source in build directory
|
||||
#
|
||||
#-- Destination: specify a fixed directory where all packages will be placed
|
||||
#PKGDEST=/home/packages
|
||||
#-- Source cache: specify a fixed directory where source files will be cached
|
||||
#SRCDEST=/home/sources
|
||||
#-- Source packages: specify a fixed directory where all src packages will be placed
|
||||
#SRCPKGDEST=/home/srcpackages
|
||||
#-- Log files: specify a fixed directory where all log files will be placed
|
||||
#LOGDEST=/home/makepkglogs
|
||||
#-- Packager: name/email of the person or organization building packages
|
||||
#PACKAGER="John Doe <john@doe.com>"
|
||||
#-- Specify a key to use for package signing
|
||||
#GPGKEY=""
|
||||
|
||||
#########################################################################
|
||||
# COMPRESSION DEFAULTS
|
||||
#########################################################################
|
||||
#
|
||||
COMPRESSGZ=(gzip -c -f -n)
|
||||
COMPRESSBZ2=(bzip2 -c -f)
|
||||
COMPRESSXZ=(xz -c -z -)
|
||||
COMPRESSZST=(zstd -c -T0 --ultra -20 -)
|
||||
COMPRESSLRZ=(lrzip -q)
|
||||
COMPRESSLZO=(lzop -q)
|
||||
COMPRESSZ=(compress -c -f)
|
||||
COMPRESSLZ4=(lz4 -q)
|
||||
COMPRESSLZ=(lzip -c -f)
|
||||
|
||||
#########################################################################
|
||||
# EXTENSION DEFAULTS
|
||||
#########################################################################
|
||||
#
|
||||
PKGEXT='.pkg.tar.zst'
|
||||
SRCEXT='.src.tar.gz'
|
||||
|
||||
#########################################################################
|
||||
# OTHER
|
||||
#########################################################################
|
||||
#
|
||||
#-- Command used to run pacman as root, instead of trying sudo and su
|
||||
#PACMAN_AUTH=()
|
||||
# vim: set ft=sh ts=2 sw=2 et:
|
@@ -81,11 +81,11 @@ for file in "${files[@]}"; do
|
||||
cp "$file" "$working_dir$file"
|
||||
done
|
||||
|
||||
pacstrap -${umode}Mcd ${pac_conf:+-C "$pac_conf"} "$working_dir" \
|
||||
unshare --mount pacstrap -${umode}Mcd ${pac_conf:+-C "$pac_conf"} "$working_dir" \
|
||||
"${cache_dirs[@]/#/--cachedir=}" "$@" || die 'Failed to install all packages'
|
||||
|
||||
printf '%s.UTF-8 UTF-8\n' en_US de_DE > "$working_dir/etc/locale.gen"
|
||||
echo 'LANG=en_US.UTF-8' > "$working_dir/etc/locale.conf"
|
||||
printf '%s.UTF-8 UTF-8\n' C en_US de_DE > "$working_dir/etc/locale.gen"
|
||||
echo 'LANG=C.UTF-8' > "$working_dir/etc/locale.conf"
|
||||
echo "$CHROOT_VERSION" > "$working_dir/.arch-chroot"
|
||||
|
||||
systemd-machine-id-setup --root="$working_dir"
|
||||
|
@@ -101,11 +101,10 @@ mapfile -t files < <(
|
||||
printf "%s\n" "" "-> build complete" &&
|
||||
printf "\t%s\n" "$temp"/*
|
||||
} >&2 &&
|
||||
pkgdatadir="$(devtools-config --pkgdatadir||echo /usr/share/devtools)" &&
|
||||
makepkg_user_config="${XDG_CONFIG_HOME:-$HOME/.config}/pacman/makepkg.conf" &&
|
||||
makepkg_config="${pkgdatadir}/makepkg-'"${arch}"'.conf" &&
|
||||
if [[ -f "${pkgdatadir}/makepkg-'"${repo}"'-'"${arch}"'.conf" ]]; then
|
||||
makepkg_config="${pkgdatadir}/makepkg-'"${repo}"'-'"${arch}"'.conf"
|
||||
makepkg_config="/usr/share/devtools/makepkg-'"${arch}"'.conf" &&
|
||||
if [[ -f /usr/share/devtools/makepkg-'"${repo}"'-'"${arch}"'.conf ]]; then
|
||||
makepkg_config="/usr/share/devtools/makepkg-'"${repo}"'-'"${arch}"'.conf"
|
||||
fi &&
|
||||
makepkg --config <(cat "${makepkg_user_config}" "${makepkg_config}" 2>/dev/null) --packagelist &&
|
||||
printf "%s\n" "${temp}/PKGBUILD"
|
||||
|
92
pacman-extra-x86_64_v3.conf
Normal file
92
pacman-extra-x86_64_v3.conf
Normal file
@@ -0,0 +1,92 @@
|
||||
#
|
||||
# /etc/pacman.conf
|
||||
#
|
||||
# See the pacman.conf(5) manpage for option and repository directives
|
||||
|
||||
#
|
||||
# GENERAL OPTIONS
|
||||
#
|
||||
[options]
|
||||
# The following paths are commented out with their default values listed.
|
||||
# If you wish to use different paths, uncomment and update the paths.
|
||||
#RootDir = /
|
||||
#DBPath = /var/lib/pacman/
|
||||
#CacheDir = /var/cache/pacman/pkg/
|
||||
#LogFile = /var/log/pacman.log
|
||||
#GPGDir = /etc/pacman.d/gnupg/
|
||||
#HookDir = /etc/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = x86_64_v3 x86_64
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
#IgnorePkg =
|
||||
#IgnoreGroup =
|
||||
|
||||
#NoUpgrade =
|
||||
#NoExtract =
|
||||
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
#Color
|
||||
NoProgressBar
|
||||
# We cannot check disk space from within a chroot environment
|
||||
#CheckSpace
|
||||
VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||
# keyring can then be populated with the keys of all official Arch Linux
|
||||
# packagers with `pacman-key --populate archlinux`.
|
||||
|
||||
#
|
||||
# REPOSITORIES
|
||||
# - can be defined here or included from another file
|
||||
# - pacman will search repositories in the order defined here
|
||||
# - local/custom mirrors can be added here or in separate files
|
||||
# - repositories listed first will take precedence when packages
|
||||
# have identical names, regardless of version number
|
||||
# - URLs will have $repo replaced by the name of the current repo
|
||||
# - URLs will have $arch replaced by the name of the architecture
|
||||
#
|
||||
# Repository entries are of the format:
|
||||
# [repo-name]
|
||||
# Server = ServerName
|
||||
# Include = IncludePath
|
||||
#
|
||||
# The header [repo-name] is crucial - it must be present and
|
||||
# uncommented to enable the repo.
|
||||
#
|
||||
|
||||
# The testing repositories are disabled by default. To enable, uncomment the
|
||||
# repo name header and Include lines. You can add preferred servers immediately
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
#[testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[community-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
98
pacman-staging-x86_64_v3.conf
Normal file
98
pacman-staging-x86_64_v3.conf
Normal file
@@ -0,0 +1,98 @@
|
||||
#
|
||||
# /etc/pacman.conf
|
||||
#
|
||||
# See the pacman.conf(5) manpage for option and repository directives
|
||||
|
||||
#
|
||||
# GENERAL OPTIONS
|
||||
#
|
||||
[options]
|
||||
# The following paths are commented out with their default values listed.
|
||||
# If you wish to use different paths, uncomment and update the paths.
|
||||
#RootDir = /
|
||||
#DBPath = /var/lib/pacman/
|
||||
#CacheDir = /var/cache/pacman/pkg/
|
||||
#LogFile = /var/log/pacman.log
|
||||
#GPGDir = /etc/pacman.d/gnupg/
|
||||
#HookDir = /etc/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = x86_64_v3 x86_64
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
#IgnorePkg =
|
||||
#IgnoreGroup =
|
||||
|
||||
#NoUpgrade =
|
||||
#NoExtract =
|
||||
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
#Color
|
||||
NoProgressBar
|
||||
# We cannot check disk space from within a chroot environment
|
||||
#CheckSpace
|
||||
VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||
# keyring can then be populated with the keys of all official Arch Linux
|
||||
# packagers with `pacman-key --populate archlinux`.
|
||||
|
||||
#
|
||||
# REPOSITORIES
|
||||
# - can be defined here or included from another file
|
||||
# - pacman will search repositories in the order defined here
|
||||
# - local/custom mirrors can be added here or in separate files
|
||||
# - repositories listed first will take precedence when packages
|
||||
# have identical names, regardless of version number
|
||||
# - URLs will have $repo replaced by the name of the current repo
|
||||
# - URLs will have $arch replaced by the name of the architecture
|
||||
#
|
||||
# Repository entries are of the format:
|
||||
# [repo-name]
|
||||
# Server = ServerName
|
||||
# Include = IncludePath
|
||||
#
|
||||
# The header [repo-name] is crucial - it must be present and
|
||||
# uncommented to enable the repo.
|
||||
#
|
||||
|
||||
# The testing repositories are disabled by default. To enable, uncomment the
|
||||
# repo name header and Include lines. You can add preferred servers immediately
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
[staging]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[testing]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community-staging]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community-testing]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
92
pacman-testing-x86_64_v3.conf
Normal file
92
pacman-testing-x86_64_v3.conf
Normal file
@@ -0,0 +1,92 @@
|
||||
#
|
||||
# /etc/pacman.conf
|
||||
#
|
||||
# See the pacman.conf(5) manpage for option and repository directives
|
||||
|
||||
#
|
||||
# GENERAL OPTIONS
|
||||
#
|
||||
[options]
|
||||
# The following paths are commented out with their default values listed.
|
||||
# If you wish to use different paths, uncomment and update the paths.
|
||||
#RootDir = /
|
||||
#DBPath = /var/lib/pacman/
|
||||
#CacheDir = /var/cache/pacman/pkg/
|
||||
#LogFile = /var/log/pacman.log
|
||||
#GPGDir = /etc/pacman.d/gnupg/
|
||||
#HookDir = /etc/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = x86_64_v3 x86_64
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
#IgnorePkg =
|
||||
#IgnoreGroup =
|
||||
|
||||
#NoUpgrade =
|
||||
#NoExtract =
|
||||
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
#Color
|
||||
NoProgressBar
|
||||
# We cannot check disk space from within a chroot environment
|
||||
#CheckSpace
|
||||
VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||
# keyring can then be populated with the keys of all official Arch Linux
|
||||
# packagers with `pacman-key --populate archlinux`.
|
||||
|
||||
#
|
||||
# REPOSITORIES
|
||||
# - can be defined here or included from another file
|
||||
# - pacman will search repositories in the order defined here
|
||||
# - local/custom mirrors can be added here or in separate files
|
||||
# - repositories listed first will take precedence when packages
|
||||
# have identical names, regardless of version number
|
||||
# - URLs will have $repo replaced by the name of the current repo
|
||||
# - URLs will have $arch replaced by the name of the architecture
|
||||
#
|
||||
# Repository entries are of the format:
|
||||
# [repo-name]
|
||||
# Server = ServerName
|
||||
# Include = IncludePath
|
||||
#
|
||||
# The header [repo-name] is crucial - it must be present and
|
||||
# uncommented to enable the repo.
|
||||
#
|
||||
|
||||
# The testing repositories are disabled by default. To enable, uncomment the
|
||||
# repo name header and Include lines. You can add preferred servers immediately
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
[testing]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community-testing]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
1
setarch-aliases.d/x86_64_v3
Normal file
1
setarch-aliases.d/x86_64_v3
Normal file
@@ -0,0 +1 @@
|
||||
x86_64
|
@@ -1,4 +1,4 @@
|
||||
#compdef archbuild archco arch-nspawn archrelease commitpkg devtools-config diffpkg finddeps makechrootpkg mkarchroot rebuildpkgs extrapkg=commitpkg corepkg=commitpkg testingpkg=commitpkg stagingpkg=commitpkg communitypkg=commitpkg community-testingpkg=commitpkg community-stagingpkg=commitpkg multilibpkg=commitpkg multilib-testingpkg=commitpkg extra-x86_64-build=archbuild testing-x86_64-build=archbuild staging-x86_64-build=archbuild multilib-build=archbuild multilib-testing-build=archbuild multilib-staging-build=archbuild kde-unstable-x86_64-build=archbuild gnome-unstable-x86_64-build=archbuild communityco=archco checkpkg sogrep offload-build makerepropkg
|
||||
#compdef archbuild archco arch-nspawn archrelease commitpkg diffpkg finddeps makechrootpkg mkarchroot rebuildpkgs extrapkg=commitpkg corepkg=commitpkg testingpkg=commitpkg stagingpkg=commitpkg communitypkg=commitpkg community-testingpkg=commitpkg community-stagingpkg=commitpkg multilibpkg=commitpkg multilib-testingpkg=commitpkg extra-x86_64-build=archbuild testing-x86_64-build=archbuild staging-x86_64-build=archbuild multilib-build=archbuild multilib-testing-build=archbuild multilib-staging-build=archbuild kde-unstable-x86_64-build=archbuild gnome-unstable-x86_64-build=archbuild communityco=archco checkpkg sogrep offload-build makerepropkg
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -41,11 +41,6 @@ _commitpkg_args=(
|
||||
'1:commit_msg'
|
||||
)
|
||||
|
||||
_devtools_config_args=(
|
||||
'(--pkgdatadir)'{--pkgdatadir}'[Print pkgdatadir location]'
|
||||
'(-h --help)'{-h,--help}'[Display usage]'
|
||||
)
|
||||
|
||||
_diffpkg_args=(
|
||||
'(-l --list)'{-l,--list}'[Tar content list diff mode]'
|
||||
'(-d --diffoscope)'{-d,--diffoscope}'[Diffoscope diff mode]'
|
||||
|
Reference in New Issue
Block a user