diff options
-rw-r--r-- | .SRCINFO | 36 | ||||
-rw-r--r-- | PKGBUILD | 152 | ||||
-rw-r--r-- | makepkg.conf | 145 | ||||
-rw-r--r-- | pacman.conf | 100 |
4 files changed, 433 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..b705bbc25259 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,36 @@ +pkgbase = pacman-test + pkgdesc = A library-based package manager with dependency support (new features testing) + pkgver = 5.1.1 + pkgrel = 1 + url = http://www.archlinux.org/pacman/ + arch = x86_64 + groups = base + groups = base-devel + license = GPL + checkdepends = python2 + checkdepends = fakechroot + makedepends = asciidoc + depends = archlinux-keyring + depends = bash + depends = glibc + depends = libarchive + depends = pacman-mirrorlist + depends = curl + depends = gpgme + depends = openssl + optdepends = perl-locale-gettext: translation support in makepkg-template + provides = pacman + conflicts = pacman + backup = etc/pacman.conf + backup = etc/makepkg.conf + source = git://github.com/ezamlinsky/pacman.git + source = pacman.conf + source = makepkg.conf + validpgpkeys = 6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD + validpgpkeys = B8151B117037781095514CA7BBDFFC92306B1121 + sha256sums = SKIP + sha256sums = b82e9c1073292766c2f49b5c771dddf37383f1151117ef9cd5e0c11047b4f3eb + sha256sums = 650ddad24cad6afc4aecb4829cb8f06b9acb70c10a44f756fe8bd279949b518e + +pkgname = pacman-test + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..e9f0d8367959 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,152 @@ +################################################################################ +# Encoding: UTF-8 Tab size: 4 # +# # +# ARCH LINUX PACKAGE BUILD DESCRIPTION FILE # +# # +# Ordnung muss sein! Copyleft (Ɔ) 2018, Arch Linux # +################################################################################ +# Maintainer: Dan McGee <dan@archlinux.org> +# Maintainer: Dave Reisner <dreisner@archlinux.org> +# Contributor: Jack Black <ezamlinsky@gmail.com> + +#==============================================================================# +# Package information # +#==============================================================================# +pkgname=('pacman-test') +pkgver=5.1.1 +pkgrel=1 +pkgdesc='A library-based package manager with dependency support (new features testing)' +url='http://www.archlinux.org/pacman/' +license=('GPL') +arch=('x86_64') +groups=('base' 'base-devel') + +#==============================================================================# +# Package dependencies # +#==============================================================================# +depends=('archlinux-keyring' 'bash' 'glibc' 'libarchive' 'pacman-mirrorlist' 'curl' 'gpgme' 'openssl') +makedepends=('asciidoc') +checkdepends=('python2' 'fakechroot') +optdepends=('perl-locale-gettext: translation support in makepkg-template') + +#==============================================================================# +# Package relations # +#==============================================================================# +provides=('pacman') +conflicts=('pacman') + +#==============================================================================# +# Package miscellaneous options # +#==============================================================================# +backup=('etc/pacman.conf' 'etc/makepkg.conf') + +#==============================================================================# +# Package sources and integrity # +#==============================================================================# +source=( + "git://github.com/ezamlinsky/pacman.git" + 'pacman.conf' + 'makepkg.conf' +) +validpgpkeys=( + '6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org> + 'B8151B117037781095514CA7BBDFFC92306B1121' # Andrew Gregory (pacman) <andrew@archlinux.org> +) +sha256sums=( + 'SKIP' + 'b82e9c1073292766c2f49b5c771dddf37383f1151117ef9cd5e0c11047b4f3eb' + '650ddad24cad6afc4aecb4829cb8f06b9acb70c10a44f756fe8bd279949b518e' +) + +#==============================================================================# +# Package preparation sequence # +#==============================================================================# +prepare() { + + # Change directory to source directory + cd $pkgname + + # Run autogen script if exists + if [ -x autogen.sh ]; then + NOCONFIGURE=1 ./autogen.sh + fi +} + +#==============================================================================# +# Package building sequence # +#==============================================================================# +build() { + + # Change directory to source directory + cd $pkgname + + # Default configure options + config_opts=( + '--prefix=/usr' + '--bindir=/usr/bin' + '--sbindir=/usr/bin' + '--libdir=/usr/lib' + '--libexecdir=/usr/lib' + '--sysconfdir=/etc' + '--localstatedir=/var' + '--enable-silent-rules' + '--enable-shared' + '--disable-static' + '--enable-git-version' + '--disable-static' + '--disable-debug' + '--enable-doc' + '--disable-doxygen' + '--with-scriptlet-shell=/usr/bin/bash' + '--with-ldconfig=/usr/bin/ldconfig' + '--with-libcurl' + '--with-gpgme' + '--with-crypto=openssl' + ) + + # Run package configuration script + ./configure "${config_opts[@]}" + + # Set correct LDFLAGS to build a shared archive + if [ -f libtool ]; then + sed -e "s/ -shared / $LDFLAGS\0/g" -i libtool + fi + + # Build package + make +} + +#==============================================================================# +# Package self testing sequence # +#==============================================================================# +check() { + + # Change directory to source directory + cd $pkgname + + # Run internal checks + make -k check +} + +#==============================================================================# +# Package installation sequence # +#==============================================================================# +package() { + + # Change directory to source directory + cd $pkgname + + # Install files + make DESTDIR=$pkgdir install + + # Change directory to target directory + cd $pkgdir + + # Install Arch specific stuff + install -Dm644 $srcdir/pacman.conf etc/pacman.conf + install -Dm644 $srcdir/makepkg.conf etc/makepkg.conf +} + +################################################################################ +# END OF FILE # +################################################################################ diff --git a/makepkg.conf b/makepkg.conf new file mode 100644 index 000000000000..e1150c7a1b29 --- /dev/null +++ b/makepkg.conf @@ -0,0 +1,145 @@ +#!/hint/bash +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' + 'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -gqb "" -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' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-gnu" + +#-- Compiler and Linker Flags +CPPFLAGS="-D_FORTIFY_SOURCE=2" +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt" +CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt" +LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" +#-- Make Flags: change this for DistCC/SMP systems +#MAKEFLAGS="-j2" +#-- Debugging flags +DEBUG_CFLAGS="-g -fvar-tracking-assignments" +DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# 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 +######################################################################### +# +# Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug) +# 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 +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug) + +#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 +INTEGRITY_CHECK=(md5) +#-- 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 -) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +# WARNING: Do NOT modify these variables unless you know what you are +# doing. +# +PKGEXT='.pkg.tar.xz' +SRCEXT='.src.tar.gz' diff --git a/pacman.conf b/pacman.conf new file mode 100644 index 000000000000..8df7b76d002e --- /dev/null +++ b/pacman.conf @@ -0,0 +1,100 @@ +# +# /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 +#UseDelta = 0.7 +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#TotalDownload +CheckSpace +#VerbosePkgLists + +# 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 + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[multilib] +#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 |