summaryrefslogtreecommitdiffstats
path: root/abs
diff options
context:
space:
mode:
Diffstat (limited to 'abs')
-rw-r--r--abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch27
-rw-r--r--abs/core/pacman/PKGBUILD67
-rw-r--r--abs/core/pacman/__changelog2
-rw-r--r--abs/core/pacman/makepkg.conf19
-rw-r--r--abs/core/pacman/pacman.conf.i68690
5 files changed, 171 insertions, 34 deletions
diff --git a/abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch b/abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch
new file mode 100644
index 0000000..65b72ef
--- /dev/null
+++ b/abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch
@@ -0,0 +1,27 @@
+From 41c8263ba289dac191d7f74faaa62476baf41c28 Mon Sep 17 00:00:00 2001
+From: Tobias Powalowski <tpowa@archlinux.org>
+Date: Fri, 21 Nov 2014 20:54:58 +1000
+Subject: [PATCH] pacman-key: compatibility with gnupg-2.1
+
+GnuPG 2.1 no longer allow empty passphrases by default.
+
+Signed-off-by: Allan McRae <allan@archlinux.org>
+---
+ scripts/pacman-key.sh.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
+index ba8d02e..5ba0ad8 100644
+--- a/scripts/pacman-key.sh.in
++++ b/scripts/pacman-key.sh.in
+@@ -151,6 +151,7 @@ Key-Usage: sign
+ Name-Real: Pacman Keyring Master Key
+ Name-Email: pacman@localhost
+ Expire-Date: 0
++%no-protection
+ %commit
+ %echo Done
+ EOF
+--
+2.1.3
+
diff --git a/abs/core/pacman/PKGBUILD b/abs/core/pacman/PKGBUILD
index 56424d7..4e0fbf9 100644
--- a/abs/core/pacman/PKGBUILD
+++ b/abs/core/pacman/PKGBUILD
@@ -4,30 +4,47 @@
# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=pacman
-pkgver=4.1.0
-pkgrel=1
+pkgver=4.1.2
+pkgrel=7
pkgdesc="A library-based package manager with dependency support"
arch=('i686' 'x86_64')
url="http://www.archlinux.org/pacman/"
license=('GPL')
groups=('base' 'base-devel')
-depends=('bash' 'glibc>=2.15' 'libarchive>=3.1.2' 'curl>=7.19.4'
+depends=('bash>=4.2.042-2' 'glibc>=2.17-2' 'libarchive>=3.1.2' 'curl>=7.19.4'
'gpgme' 'pacman-mirrorlist' 'archlinux-keyring')
-makedepends=('asciidoc')
-checkdepends=('fakechroot')
+checkdepends=('python2' 'fakechroot')
optdepends=('fakeroot: for makepkg usage as normal user')
+provides=('pacman-contrib')
+conflicts=('pacman-contrib')
+replaces=('pacman-contrib')
backup=(etc/pacman.conf etc/makepkg.conf)
-install=pacman.install
-options=(!libtool)
+options=('strip' 'debug')
source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
+ 0001-pacman-key-compatibility-with-gnupg-2.1.patch
+ pacman.conf.i686
pacman.conf.x86_64
makepkg.conf)
+md5sums=('063c8b0ff6bdf903dc235445525627cd'
+ 'SKIP'
+ 'd0e015b1bf78cbf9762d9c44ea5f77a9'
+ '2db6c94709bb30cc614a176ecf8badb1'
+ 'de74a13618347f08ae4a9637f74471c4'
+ '2da6544e387f940588a90cb4b9b914e2')
+validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD') # Allan McRae <allan@archlinux.org>
+
+prepare() {
+ cd "$pkgname-$pkgver"
+ patch -p1 -i $srcdir/0001-pacman-key-compatibility-with-gnupg-2.1.patch
+}
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd "$pkgname-$pkgver"
./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var --enable-doc
+ --localstatedir=/var --enable-doc \
+ --with-scriptlet-shell=/usr/bin/bash \
+ --with-ldconfig=/usr/bin/ldconfig
make
make -C contrib
}
@@ -37,41 +54,43 @@ check() {
}
package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir install
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" -C contrib install
# install Arch specific stuff
- mkdir -p $pkgdir/etc
- case "$CARCH" in
+ install -dm755 "$pkgdir/etc"
+ install -m644 "$srcdir/pacman.conf.$CARCH" "$pkgdir/etc/pacman.conf"
+
+ case $CARCH in
i686)
- install -m644 $srcdir/pacman.conf.i686 $pkgdir/etc/pacman.conf
mycarch="i686"
mychost="i686-pc-linux-gnu"
myflags="-march=i686"
;;
x86_64)
- install -m644 $srcdir/pacman.conf.x86_64 $pkgdir/etc/pacman.conf
mycarch="x86_64"
mychost="x86_64-unknown-linux-gnu"
myflags="-march=x86-64"
;;
esac
- install -m644 $srcdir/makepkg.conf $pkgdir/etc/
+
# set things correctly in the default conf file
- sed -i $pkgdir/etc/makepkg.conf \
+ install -m644 "$srcdir/makepkg.conf" "$pkgdir/etc"
+ sed -i "$pkgdir/etc/makepkg.conf" \
-e "s|@CARCH[@]|$mycarch|g" \
-e "s|@CHOST[@]|$mychost|g" \
-e "s|@CARCHFLAGS[@]|$myflags|g"
- # install completion files
- install -Dm644 contrib/bash_completion "$pkgdir/usr/share/bash-completion/completions/pacman"
+ # put bash_completion in the right location
+ install -dm755 "$pkgdir/usr/share/bash-completion/completions"
+ mv "$pkgdir/etc/bash_completion.d/pacman" "$pkgdir/usr/share/bash-completion/completions"
+ rmdir "$pkgdir/etc/bash_completion.d"
+
for f in makepkg pacman-key; do
ln -s pacman "$pkgdir/usr/share/bash-completion/completions/$f"
done
- install -Dm644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
+ install -Dm644 contrib/PKGBUILD.vim "$pkgdir/usr/share/vim/vimfiles/syntax/PKGBUILD.vim"
}
-md5sums=('a0f2b3148bee4784f21cf373cf59a0bc'
- 'SKIP'
- 'de74a13618347f08ae4a9637f74471c4'
- '2ea6f0a5badef735ec7d30a372f5e9c6')
diff --git a/abs/core/pacman/__changelog b/abs/core/pacman/__changelog
index d53c316..e69de29 100644
--- a/abs/core/pacman/__changelog
+++ b/abs/core/pacman/__changelog
@@ -1,2 +0,0 @@
-- PKGBUILD: change dep glibc to LH 2.16
-- pacman.install: remove SyncFirst option from /etc/pacman.conf
diff --git a/abs/core/pacman/makepkg.conf b/abs/core/pacman/makepkg.conf
index dfec258..8cf5faa 100644
--- a/abs/core/pacman/makepkg.conf
+++ b/abs/core/pacman/makepkg.conf
@@ -11,7 +11,7 @@
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
- 'rsync::/usr/bin/rsync -z %u %o'
+ 'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
@@ -30,14 +30,14 @@ CHOST="@CHOST@"
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D_FORTIFY_SOURCE=2"
-CFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
-CXXFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
+CFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
+CXXFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
-#DEBUG_CFLAGS="-g -fvar-tracking-assignments"
-#DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
+DEBUG_CFLAGS="-g -fvar-tracking-assignments"
+DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
#########################################################################
# BUILD ENVIRONMENT
@@ -67,7 +67,7 @@ BUILDENV=(fakeroot !distcc color !ccache check !sign)
# These are default values for the options=() settings
#########################################################################
#
-# Default: OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !upx !debug)
+# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
@@ -80,7 +80,7 @@ BUILDENV=(fakeroot !distcc color !ccache check !sign)
#-- upx: Compress binary executable files using UPX
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
-OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !upx !debug)
+OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
@@ -109,6 +109,8 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#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
@@ -121,9 +123,10 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
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
#########################################################################
diff --git a/abs/core/pacman/pacman.conf.i686 b/abs/core/pacman/pacman.conf.i686
new file mode 100644
index 0000000..92e76b4
--- /dev/null
+++ b/abs/core/pacman/pacman.conf.i686
@@ -0,0 +1,90 @@
+#
+# /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/
+HoldPkg = pacman glibc
+#XferCommand = /usr/bin/curl -C - -f %u > %o
+#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
+
+# 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