From d39f95aa83e0f76ab255322fbfcd35b23236f0a7 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Sun, 5 Jul 2015 16:26:59 +0000
Subject: pacman: update to 4.2.1

---
 ...1-pacman-key-compatibility-with-gnupg-2.1.patch | 27 ------
 abs/core/pacman/PKGBUILD                           | 21 ++---
 abs/core/pacman/__changelog                        |  1 +
 abs/core/pacman/makepkg.conf                       | 12 ++-
 abs/core/pacman/pacman.conf                        | 95 ----------------------
 abs/core/pacman/pacman.install                     | 65 +--------------
 6 files changed, 20 insertions(+), 201 deletions(-)
 delete mode 100644 abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch
 delete mode 100644 abs/core/pacman/pacman.conf

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
-}
-- 
cgit v0.12

