···11+#!/hint/bash
22+#
33+# /etc/makepkg.conf
44+#
55+66+#########################################################################
77+# SOURCE ACQUISITION
88+#########################################################################
99+#
1010+#-- The download utilities that makepkg should use to acquire sources
1111+# Format: 'protocol::agent'
1212+DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u'
1313+ 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
1414+ 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
1515+ 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
1616+ 'rsync::/usr/bin/rsync --no-motd -z %u %o'
1717+ 'scp::/usr/bin/scp -C %u %o')
1818+1919+# Other common tools:
2020+# /usr/bin/snarf
2121+# /usr/bin/lftpget -c
2222+# /usr/bin/wget
2323+2424+#-- The package required by makepkg to download VCS sources
2525+# Format: 'protocol::package'
2626+VCSCLIENTS=('bzr::breezy'
2727+ 'fossil::fossil'
2828+ 'git::git'
2929+ 'hg::mercurial'
3030+ 'svn::subversion')
3131+3232+#########################################################################
3333+# ARCHITECTURE, COMPILE FLAGS
3434+#########################################################################
3535+#
3636+CARCH="x86_64"
3737+CHOST="x86_64-pc-linux-gnu"
3838+3939+#-- Compiler and Linker Flags
4040+#CPPFLAGS=""
4141+CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
4242+ -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
4343+ -fstack-clash-protection -fcf-protection"
4444+CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
4545+LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
4646+LTOFLAGS="-flto=auto"
4747+#RUSTFLAGS="-C opt-level=2"
4848+#-- Make Flags: change this for DistCC/SMP systems
4949+MAKEFLAGS="-j8"
5050+#-- Debugging flags
5151+DEBUG_CFLAGS="-g"
5252+DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
5353+#DEBUG_RUSTFLAGS="-C debuginfo=2"
5454+5555+#########################################################################
5656+# BUILD ENVIRONMENT
5757+#########################################################################
5858+#
5959+# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
6060+# A negated environment option will do the opposite of the comments below.
6161+#
6262+#-- distcc: Use the Distributed C/C++/ObjC compiler
6363+#-- color: Colorize output messages
6464+#-- ccache: Use ccache to cache compilation
6565+#-- check: Run the check() function if present in the PKGBUILD
6666+#-- sign: Generate PGP signature file
6767+#
6868+BUILDENV=(!distcc color !ccache check !sign)
6969+#
7070+#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
7171+#-- specify a space-delimited list of hosts running in the DistCC cluster.
7272+#DISTCC_HOSTS=""
7373+#
7474+#-- Specify a directory for package building.
7575+#BUILDDIR=/tmp/makepkg
7676+7777+#########################################################################
7878+# GLOBAL PACKAGE OPTIONS
7979+# These are default values for the options=() settings
8080+#########################################################################
8181+#
8282+# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
8383+# A negated option will do the opposite of the comments below.
8484+#
8585+#-- strip: Strip symbols from binaries/libraries
8686+#-- docs: Save doc directories specified by DOC_DIRS
8787+#-- libtool: Leave libtool (.la) files in packages
8888+#-- staticlibs: Leave static library (.a) files in packages
8989+#-- emptydirs: Leave empty directories in packages
9090+#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
9191+#-- purge: Remove files specified by PURGE_TARGETS
9292+#-- debug: Add debugging flags as specified in DEBUG_* variables
9393+#-- lto: Add compile flags for building with link time optimization
9494+#
9595+OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)
9696+9797+#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
9898+INTEGRITY_CHECK=(sha256)
9999+#-- Options to be used when stripping binaries. See `man strip' for details.
100100+STRIP_BINARIES="--strip-all"
101101+#-- Options to be used when stripping shared libraries. See `man strip' for details.
102102+STRIP_SHARED="--strip-unneeded"
103103+#-- Options to be used when stripping static libraries. See `man strip' for details.
104104+STRIP_STATIC="--strip-debug"
105105+#-- Manual (man and info) directories to compress (if zipman is specified)
106106+MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
107107+#-- Doc directories to remove (if !docs is specified)
108108+DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
109109+#-- Files to be removed from all packages (if purge is specified)
110110+PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
111111+#-- Directory to store source code in for debug packages
112112+DBGSRCDIR="/usr/src/debug"
113113+114114+#########################################################################
115115+# PACKAGE OUTPUT
116116+#########################################################################
117117+#
118118+# Default: put built package and cached source in build directory
119119+#
120120+#-- Destination: specify a fixed directory where all packages will be placed
121121+#PKGDEST=/home/packages
122122+#-- Source cache: specify a fixed directory where source files will be cached
123123+#SRCDEST=/home/sources
124124+#-- Source packages: specify a fixed directory where all src packages will be placed
125125+#SRCPKGDEST=/home/srcpackages
126126+#-- Log files: specify a fixed directory where all log files will be placed
127127+#LOGDEST=/home/makepkglogs
128128+#-- Packager: name/email of the person or organization building packages
129129+#PACKAGER="John Doe <john@doe.com>"
130130+#-- Specify a key to use for package signing
131131+#GPGKEY=""
132132+133133+#########################################################################
134134+# COMPRESSION DEFAULTS
135135+#########################################################################
136136+#
137137+#COMPRESSGZ=(gzip -c -f -n)
138138+COMPRESSGZ=(pigz -c -f -n)
139139+#COMPRESSBZ2=(bzip2 -c -f)
140140+COMPRESSBZ2=(lbzip2 -c -f)
141141+COMPRESSXZ=(xz -c -z -)
142142+COMPRESSZST=(zstd -c -z -q -)
143143+COMPRESSLRZ=(lrzip -q)
144144+COMPRESSLZO=(lzop -q)
145145+COMPRESSZ=(compress -c -f)
146146+COMPRESSLZ4=(lz4 -q)
147147+#COMPRESSLZ=(lzip -c -f)
148148+COMPRESSLZ=(plzip -c -f)
149149+150150+#########################################################################
151151+# EXTENSION DEFAULTS
152152+#########################################################################
153153+#
154154+PKGEXT='.pkg.tar.zst'
155155+SRCEXT='.src.tar.gz'
156156+157157+#########################################################################
158158+# OTHER
159159+#########################################################################
160160+#
161161+#-- Command used to run pacman as root, instead of trying sudo and su
162162+#PACMAN_AUTH=()
+97
pacman/etc/pacman.conf
···11+#
22+# /etc/pacman.conf
33+#
44+# See the pacman.conf(5) manpage for option and repository directives
55+66+#
77+# GENERAL OPTIONS
88+#
99+[options]
1010+# The following paths are commented out with their default values listed.
1111+# If you wish to use different paths, uncomment and update the paths.
1212+#RootDir = /
1313+#DBPath = /var/lib/pacman/
1414+#CacheDir = /var/cache/pacman/pkg/
1515+#LogFile = /var/log/pacman.log
1616+#GPGDir = /etc/pacman.d/gnupg/
1717+#HookDir = /etc/pacman.d/hooks/
1818+HoldPkg = pacman glibc
1919+#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
2020+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
2121+#CleanMethod = KeepInstalled
2222+Architecture = auto
2323+2424+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
2525+#IgnorePkg =
2626+#IgnoreGroup =
2727+2828+#NoUpgrade =
2929+#NoExtract =
3030+3131+# Misc options
3232+#UseSyslog
3333+#Color
3434+#NoProgressBar
3535+CheckSpace
3636+#VerbosePkgLists
3737+ParallelDownloads = 5
3838+3939+# By default, pacman accepts packages signed by keys that its local keyring
4040+# trusts (see pacman-key and its man page), as well as unsigned packages.
4141+SigLevel = Required DatabaseOptional
4242+LocalFileSigLevel = Optional
4343+#RemoteFileSigLevel = Required
4444+4545+# NOTE: You must run `pacman-key --init` before first using pacman; the local
4646+# keyring can then be populated with the keys of all official Arch Linux
4747+# packagers with `pacman-key --populate archlinux`.
4848+4949+#
5050+# REPOSITORIES
5151+# - can be defined here or included from another file
5252+# - pacman will search repositories in the order defined here
5353+# - local/custom mirrors can be added here or in separate files
5454+# - repositories listed first will take precedence when packages
5555+# have identical names, regardless of version number
5656+# - URLs will have $repo replaced by the name of the current repo
5757+# - URLs will have $arch replaced by the name of the architecture
5858+#
5959+# Repository entries are of the format:
6060+# [repo-name]
6161+# Server = ServerName
6262+# Include = IncludePath
6363+#
6464+# The header [repo-name] is crucial - it must be present and
6565+# uncommented to enable the repo.
6666+#
6767+6868+# The testing repositories are disabled by default. To enable, uncomment the
6969+# repo name header and Include lines. You can add preferred servers immediately
7070+# after the header, and they will be used before the default mirrors.
7171+7272+#[core-testing]
7373+#Include = /etc/pacman.d/mirrorlist
7474+7575+[core]
7676+Include = /etc/pacman.d/mirrorlist
7777+7878+#[extra-testing]
7979+#Include = /etc/pacman.d/mirrorlist
8080+8181+[extra]
8282+Include = /etc/pacman.d/mirrorlist
8383+8484+# If you want to run 32 bit applications on your x86_64 system,
8585+# enable the multilib repositories as required here.
8686+8787+#[multilib-testing]
8888+#Include = /etc/pacman.d/mirrorlist
8989+9090+[multilib]
9191+Include = /etc/pacman.d/mirrorlist
9292+9393+# An example of a custom package repository. See the pacman manpage for
9494+# tips on creating your own repositories.
9595+#[custom]
9696+#SigLevel = Optional TrustAll
9797+#Server = file:///home/custompkgs