diff options
-rw-r--r-- | abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch | 27 | ||||
-rw-r--r-- | abs/core/pacman/PKGBUILD | 21 | ||||
-rw-r--r-- | abs/core/pacman/__changelog | 1 | ||||
-rw-r--r-- | abs/core/pacman/makepkg.conf | 12 | ||||
-rw-r--r-- | abs/core/pacman/pacman.conf | 95 | ||||
-rw-r--r-- | abs/core/pacman/pacman.install | 65 |
6 files changed, 20 insertions, 201 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 deleted file mode 100644 index 65b72ef..0000000 --- a/abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch +++ /dev/null @@ -1,27 +0,0 @@ -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 4e0fbf9..f2d4507 100644 --- a/abs/core/pacman/PKGBUILD +++ b/abs/core/pacman/PKGBUILD @@ -4,39 +4,34 @@ # Maintainer: Dave Reisner <dreisner@archlinux.org> pkgname=pacman -pkgver=4.1.2 -pkgrel=7 +pkgver=4.2.1 +pkgrel=1 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>=4.2.042-2' 'glibc>=2.17-2' 'libarchive>=3.1.2' 'curl>=7.19.4' +depends=('bash' 'glibc' 'libarchive>=3.1.2' 'curl>=7.39.0' 'gpgme' 'pacman-mirrorlist' 'archlinux-keyring') +makedepends=('asciidoc') # roundup patch alters docs 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=('strip' 'debug') -source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig} - 0001-pacman-key-compatibility-with-gnupg-2.1.patch +source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig} pacman.conf.i686 pacman.conf.x86_64 makepkg.conf) -md5sums=('063c8b0ff6bdf903dc235445525627cd' +md5sums=('2a596fc8f723e99660c0869a74afcf47' 'SKIP' - 'd0e015b1bf78cbf9762d9c44ea5f77a9' '2db6c94709bb30cc614a176ecf8badb1' 'de74a13618347f08ae4a9637f74471c4' - '2da6544e387f940588a90cb4b9b914e2') + '03d578816b56852d803cbafac85b9f09') 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 "$pkgname-$pkgver" diff --git a/abs/core/pacman/__changelog b/abs/core/pacman/__changelog index e69de29..56adaed 100644 --- a/abs/core/pacman/__changelog +++ b/abs/core/pacman/__changelog @@ -0,0 +1 @@ +PKGBUILD: add pacman.install diff --git a/abs/core/pacman/makepkg.conf b/abs/core/pacman/makepkg.conf index 8cf5faa..e147806 100644 --- a/abs/core/pacman/makepkg.conf +++ b/abs/core/pacman/makepkg.conf @@ -19,6 +19,13 @@ DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o % # /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 ######################################################################### @@ -43,17 +50,16 @@ DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" # BUILD ENVIRONMENT ######################################################################### # -# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign) +# Defaults: BUILDENV=(!distcc color !ccache check !sign) # A negated environment option will do the opposite of the comments below. # -#-- fakeroot: Allow building packages as a non-root user #-- 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=(fakeroot !distcc color !ccache check !sign) +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. diff --git a/abs/core/pacman/pacman.conf b/abs/core/pacman/pacman.conf deleted file mode 100644 index 0596b7a..0000000 --- a/abs/core/pacman/pacman.conf +++ /dev/null @@ -1,95 +0,0 @@ -# -# /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 -# If upgrades are available for these packages they will be asked for first -SyncFirst = pacman -#XferCommand = /usr/bin/curl -C - -f %u > %o -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -#UseSyslog -#UseDelta -#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 = Optional TrustedOnly - -# 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] -#SigLevel = PackageRequired -#Include = /etc/pacman.d/mirrorlist - -[core] -SigLevel = PackageRequired -Include = /etc/pacman.d/mirrorlist - -[extra] -SigLevel = PackageRequired -Include = /etc/pacman.d/mirrorlist - -#[community-testing] -#SigLevel = PackageRequired -#Include = /etc/pacman.d/mirrorlist - -[community] -SigLevel = PackageRequired -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 - diff --git a/abs/core/pacman/pacman.install b/abs/core/pacman/pacman.install index 42b2808..2c599c3 100644 --- a/abs/core/pacman/pacman.install +++ b/abs/core/pacman/pacman.install @@ -2,76 +2,15 @@ # arg 1: the new package version # arg 2: the old package version post_upgrade() { - # one time stuff for md5sum issue with older pacman versions - if [ "$(vercmp $2 3.0.2)" -lt 0 ]; then - _resetbackups - fi - if [ "$(vercmp $2 3.5.0)" -lt 0 ]; then + if [ "$(vercmp $2 4.2.0)" -lt 0 ]; then _warnupgrade fi - if [ ! -f "etc/pacman.d/gnupg/pubring.gpg" ] || [ "$(vercmp $2 4.0.3-2)" -lt 0 ]; then - _check_pubring - fi sed -i '/^# If upgrades are available/d' /etc/pacman.conf sed -i '/^SyncFirst/d' /etc/pacman.conf } -post_install() { - _check_pubring -} - -_check_pubring() { - echo " >>> Run \`pacman-key --init; pacman-key --populate archlinux\`" - echo " >>> to import the data required by pacman for package verification." - echo " >>> See: https://www.archlinux.org/news/having-pacman-verify-packages" -} - _warnupgrade() { - echo ">>> The pacman database format has changed as of pacman 3.5.0." + echo ">>> The pacman database format has changed as of pacman 4.2.0." echo ">>> You will need to run \`pacman-db-upgrade\` as root." echo ">>>" } - -_resetbackups() { - echo ">>> Performing one-time reset of NoUpgrade md5sums. After this reset" - echo ">>> you are able to remove all NoUpgrade lines of already protected" - echo ">>> files from pacman.conf." - echo ">>>" - - # path variables - pacconf="/etc/pacman.conf" - dbpath="/var/lib/pacman/local" - - # get a list of NoUpgrade files from the user's pacman.conf - echo ">>> Retrieving pacman.conf NoUpgrade list..." - config=$(grep "^NoUpgrade" $pacconf | cut -d'=' -f2) - # add the standard list of files, even if they are already above - config="$config \ - etc/passwd etc/group etc/shadow etc/sudoers \ - etc/fstab etc/raidtab etc/ld.so.conf \ - etc/rc.conf etc/rc.local \ - etc/modprobe.conf etc/modules.conf \ - etc/lilo.conf boot/grub/menu.lst" - - # blank md5sum for use in sed expression - zeroes='00000000000000000000000000000000' - - for file in $config; do - echo ">>> -> finding owner of /$file..." - line=$(LC_ALL=C LANG=C pacman -Qo /$file 2>/dev/null) - # if file is owned by a package, go find its incorrectly stored sum - if [ ! -z "$line" ]; then - # get the name and version of the package owning file - name=$(echo $line | awk '{print $5}') - version=$(echo $line | awk '{print $6}') - # set the path to the backup array holding the md5sum - path="$dbpath/$name-$version/files" - # run a sed on the path to reset the line containing $file - # NOTE: literal tab characters in sed expression after $file - echo ">>> -> resetting sum of /$file..." - sed -i "s#$file [0-9a-fA-F]*#$file $zeroes#" $path - else - echo ">>> -> $file is unowned." - fi - done -} |