From 53bc2cba958b00609fdfcf85f655399f00235305 Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Fri, 21 Nov 2014 21:16:20 +0000 Subject: pacman: update to 4.1.2 --- ...1-pacman-key-compatibility-with-gnupg-2.1.patch | 27 +++++++ abs/core/pacman/PKGBUILD | 67 ++++++++++------ abs/core/pacman/__changelog | 2 - abs/core/pacman/makepkg.conf | 19 +++-- abs/core/pacman/pacman.conf.i686 | 90 ++++++++++++++++++++++ 5 files changed, 171 insertions(+), 34 deletions(-) create mode 100644 abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch create mode 100644 abs/core/pacman/pacman.conf.i686 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 +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 +--- + 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 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 + +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 " #-- 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 -- cgit v0.12