From 98d16659fcf26772590c559d58ab7112148c292d Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Thu, 5 Sep 2013 14:19:57 -0500
Subject: pacman: update to 4.1.2

---
 ...flict-for-replacing-owned-empty-directory.patch | 152 ---------------------
 .../0002-Check-empty-subdirectory-ownership.patch  |  61 ---------
 ...pgrade-scriptlet-gets-old-package-version.patch |  29 ----
 abs/core/pacman/PKGBUILD                           |  59 ++++----
 abs/core/pacman/__changelog                        |   2 +
 abs/core/pacman/makepkg.conf                       |  45 ++++--
 abs/core/pacman/pacman.conf.x86_64                 |  17 +--
 abs/core/pacman/pacman.install                     |   2 +
 8 files changed, 69 insertions(+), 298 deletions(-)
 delete mode 100644 abs/core/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
 delete mode 100644 abs/core/pacman/0002-Check-empty-subdirectory-ownership.patch
 delete mode 100644 abs/core/pacman/0003-Ensure-pre_upgrade-scriptlet-gets-old-package-version.patch
 create mode 100644 abs/core/pacman/__changelog

diff --git a/abs/core/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch b/abs/core/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
deleted file mode 100644
index 85622aa..0000000
--- a/abs/core/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From 717fdb8ee0fd23cf72fc7d2832317f513caefa2c Mon Sep 17 00:00:00 2001
-From: Allan McRae <allan@archlinux.org>
-Date: Sun, 8 Jul 2012 21:36:36 +1000
-Subject: [PATCH 1/4] Add conflict for replacing owned empty directory
-
-When two packages own an empty directory, pacman finds no conflict when
-one of those packages wants to replace the directory with a file or a
-symlink.  When it comes to actually extracting the new file/symlink,
-pacman sees the directory is still there (we do not remove empty
-directories if they are owned by a package) and refuses to extract.
-
-Detect this potential conflict early and bail. Note that it is a
-_potential_ conflict and not a guaranteed one as the other package owning
-the directory could be updated or removed first which would remove
-the conflict.  However, pacman currently can not sort package installation
-order to ensure this, so this conflict requires manual upgrade ordering.
-
-Signed-off-by: Allan McRae <allan@archlinux.org>
-Signed-off-by: Dan McGee <dan@archlinux.org>
----
- lib/libalpm/conflict.c               | 32 ++++++++++++++++++++++++++------
- test/pacman/tests/fileconflict009.py | 20 ++++++++++++++++++++
- test/pacman/tests/fileconflict010.py | 20 ++++++++++++++++++++
- 3 files changed, 66 insertions(+), 6 deletions(-)
- create mode 100644 test/pacman/tests/fileconflict009.py
- create mode 100644 test/pacman/tests/fileconflict010.py
-
-diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
-index 32f6f30..efa1a87 100644
---- a/lib/libalpm/conflict.c
-+++ b/lib/libalpm/conflict.c
-@@ -328,15 +328,35 @@ const alpm_file_t *_alpm_filelist_contains(alpm_filelist_t *filelist,
- 	return NULL;
- }
- 
--static int dir_belongsto_pkg(const char *root, const char *dirpath,
-+static int dir_belongsto_pkg(alpm_handle_t *handle, const char *dirpath,
- 		alpm_pkg_t *pkg)
- {
-+	alpm_list_t *i;
- 	struct stat sbuf;
- 	char path[PATH_MAX];
- 	char abspath[PATH_MAX];
--	struct dirent *ent = NULL;
- 	DIR *dir;
-+	struct dirent *ent = NULL;
-+	const char *root = handle->root;
-+
-+	/* TODO: this is an overly strict check but currently pacman will not
-+	 * overwrite a directory with a file (case 10/11 in add.c). Adjusting that
-+	 * is not simple as even if the directory is being unowned by a conflicting
-+	 * package, pacman does not sort this to ensure all required directory
-+	 * "removals" happen before installation of file/symlink */
-+
-+	/* check that no other _installed_ package owns the directory */
-+	for(i = _alpm_db_get_pkgcache(handle->db_local); i; i = i->next) {
-+		if(pkg == i->data) {
-+			continue;
-+		}
-+
-+		if(_alpm_filelist_contains(alpm_pkg_get_files(i->data), dirpath)) {
-+			return 0;
-+		}
-+	}
- 
-+	/* check all files in directory are owned by the package */
- 	snprintf(abspath, PATH_MAX, "%s%s", root, dirpath);
- 	dir = opendir(abspath);
- 	if(dir == NULL) {
-@@ -349,13 +369,13 @@ static int dir_belongsto_pkg(const char *root, const char *dirpath,
- 		if(strcmp(name, ".") == 0 || strcmp(name, "..") == 0) {
- 			continue;
- 		}
--		snprintf(path, PATH_MAX, "%s/%s", dirpath, name);
-+		snprintf(path, PATH_MAX, "%s%s", dirpath, name);
- 		snprintf(abspath, PATH_MAX, "%s%s", root, path);
- 		if(stat(abspath, &sbuf) != 0) {
- 			continue;
- 		}
- 		if(S_ISDIR(sbuf.st_mode)) {
--			if(dir_belongsto_pkg(root, path, pkg)) {
-+			if(dir_belongsto_pkg(handle, path, pkg)) {
- 				continue;
- 			} else {
- 				closedir(dir);
-@@ -529,9 +549,9 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
- 				sprintf(dir, "%s/", filestr);
- 				if(_alpm_filelist_contains(alpm_pkg_get_files(dbpkg), dir)) {
- 					_alpm_log(handle, ALPM_LOG_DEBUG,
--							"check if all files in %s belongs to %s\n",
-+							"check if all files in %s belong to %s\n",
- 							dir, dbpkg->name);
--					resolved_conflict = dir_belongsto_pkg(handle->root, filestr, dbpkg);
-+					resolved_conflict = dir_belongsto_pkg(handle, dir, dbpkg);
- 				}
- 				free(dir);
- 			}
-diff --git a/test/pacman/tests/fileconflict009.py b/test/pacman/tests/fileconflict009.py
-new file mode 100644
-index 0000000..904af4a
---- /dev/null
-+++ b/test/pacman/tests/fileconflict009.py
-@@ -0,0 +1,20 @@
-+self.description = "dir->symlink change during package upgrade (directory conflict)"
-+
-+lp1 = pmpkg("pkg1")
-+lp1.files = ["dir/"]
-+self.addpkg2db("local", lp1)
-+
-+lp2 = pmpkg("pkg2")
-+lp2.files = ["dir/"]
-+self.addpkg2db("local", lp2)
-+
-+p = pmpkg("pkg1", "1.0-2")
-+p.files = ["dir -> /usr/dir"]
-+self.addpkg2db("sync", p)
-+
-+self.args = "-S pkg1"
-+
-+self.addrule("PACMAN_RETCODE=1")
-+self.addrule("PKG_VERSION=pkg1|1.0-1")
-+self.addrule("PKG_VERSION=pkg2|1.0-1")
-+self.addrule("DIR_EXIST=dir/")
-diff --git a/test/pacman/tests/fileconflict010.py b/test/pacman/tests/fileconflict010.py
-new file mode 100644
-index 0000000..0a3ce83
---- /dev/null
-+++ b/test/pacman/tests/fileconflict010.py
-@@ -0,0 +1,20 @@
-+self.description = "dir->file change during package upgrade (directory conflict)"
-+
-+lp1 = pmpkg("pkg1")
-+lp1.files = ["dir/"]
-+self.addpkg2db("local", lp1)
-+
-+lp2 = pmpkg("pkg2")
-+lp2.files = ["dir/"]
-+self.addpkg2db("local", lp2)
-+
-+p = pmpkg("pkg1", "1.0-2")
-+p.files = ["dir"]
-+self.addpkg2db("sync", p)
-+
-+self.args = "-S pkg1"
-+
-+self.addrule("PACMAN_RETCODE=1")
-+self.addrule("PKG_VERSION=pkg1|1.0-1")
-+self.addrule("PKG_VERSION=pkg2|1.0-1")
-+self.addrule("DIR_EXIST=dir/")
--- 
-1.7.11.1
-
diff --git a/abs/core/pacman/0002-Check-empty-subdirectory-ownership.patch b/abs/core/pacman/0002-Check-empty-subdirectory-ownership.patch
deleted file mode 100644
index 6cf496d..0000000
--- a/abs/core/pacman/0002-Check-empty-subdirectory-ownership.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 44e9fdd0e848382337edb97d41e7317638a67bac Mon Sep 17 00:00:00 2001
-From: Allan McRae <allan@archlinux.org>
-Date: Sun, 8 Jul 2012 23:58:37 +1000
-Subject: [PATCH 2/4] Check empty subdirectory ownership
-
-When checking if a package owns a directory, it is important to check
-not only that all the files in the directory are part of the package,
-but also if the directory is part of a package.  This catches empty
-subdirectories during conflict checking for directory to file/symlink
-replacements.
-
-Signed-off-by: Allan McRae <allan@archlinux.org>
-Signed-off-by: Dan McGee <dan@archlinux.org>
----
- lib/libalpm/conflict.c               |  5 +++++
- test/pacman/tests/fileconflict012.py | 17 +++++++++++++++++
- 2 files changed, 22 insertions(+)
- create mode 100644 test/pacman/tests/fileconflict012.py
-
-diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
-index efa1a87..d6e5d8c 100644
---- a/lib/libalpm/conflict.c
-+++ b/lib/libalpm/conflict.c
-@@ -339,6 +339,11 @@ static int dir_belongsto_pkg(alpm_handle_t *handle, const char *dirpath,
- 	struct dirent *ent = NULL;
- 	const char *root = handle->root;
- 
-+	/* check directory is actually in package - used for subdirectory checks */
-+	if(!_alpm_filelist_contains(alpm_pkg_get_files(pkg), dirpath)) {
-+		return 0;
-+	}
-+
- 	/* TODO: this is an overly strict check but currently pacman will not
- 	 * overwrite a directory with a file (case 10/11 in add.c). Adjusting that
- 	 * is not simple as even if the directory is being unowned by a conflicting
-diff --git a/test/pacman/tests/fileconflict012.py b/test/pacman/tests/fileconflict012.py
-new file mode 100644
-index 0000000..421b739
---- /dev/null
-+++ b/test/pacman/tests/fileconflict012.py
-@@ -0,0 +1,17 @@
-+self.description = "dir->file change during package upgrade (filesystem file conflict)"
-+
-+lp1 = pmpkg("pkg1")
-+lp1.files = ["dir/"]
-+self.addpkg2db("local", lp1)
-+
-+self.filesystem = ["dir/file"]
-+
-+p = pmpkg("pkg1", "1.0-2")
-+p.files = ["dir"]
-+self.addpkg2db("sync", p)
-+
-+self.args = "-S pkg1"
-+
-+self.addrule("PACMAN_RETCODE=1")
-+self.addrule("PKG_VERSION=pkg1|1.0-1")
-+self.addrule("DIR_EXIST=dir/")
--- 
-1.7.11.1
-
diff --git a/abs/core/pacman/0003-Ensure-pre_upgrade-scriptlet-gets-old-package-version.patch b/abs/core/pacman/0003-Ensure-pre_upgrade-scriptlet-gets-old-package-version.patch
deleted file mode 100644
index ae3a57e..0000000
--- a/abs/core/pacman/0003-Ensure-pre_upgrade-scriptlet-gets-old-package-version.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1bf05e706b5edac92e9c913a69ca8686c6440f8b Mon Sep 17 00:00:00 2001
-From: Dan McGee <dan@archlinux.org>
-Date: Fri, 04 May 2012 16:41:40 +0000
-Subject: Ensure pre_upgrade scriptlet gets old package version
-
-This was accidentally broken in the refactor done in commit 73139ccb.
-
-Fixes FS#29371.
-
-Signed-off-by: Dan McGee <dan@archlinux.org>
----
-diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
-index 6c2f0cb..c49d99b 100644
---- a/lib/libalpm/add.c
-+++ b/lib/libalpm/add.c
-@@ -488,8 +488,9 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
- 	if(alpm_pkg_has_scriptlet(newpkg) &&
- 			!(trans->flags & ALPM_TRANS_FLAG_NOSCRIPTLET)) {
- 		const char *scriptlet_name = is_upgrade ? "pre_upgrade" : "pre_install";
--		_alpm_runscriptlet(handle, pkgfile,
--				scriptlet_name, newpkg->version, NULL, 1);
-+
-+		_alpm_runscriptlet(handle, pkgfile, scriptlet_name,
-+				newpkg->version, oldpkg ? oldpkg->version : NULL, 1);
- 	}
- 
- 	/* we override any pre-set reason if we have alldeps or allexplicit set */
---
-cgit v0.9.0.2-13-g2bd3
diff --git a/abs/core/pacman/PKGBUILD b/abs/core/pacman/PKGBUILD
index 6ee826d..bc88ebb 100644
--- a/abs/core/pacman/PKGBUILD
+++ b/abs/core/pacman/PKGBUILD
@@ -1,49 +1,39 @@
 # vim: set ts=2 sw=2 et:
-# $Id: PKGBUILD 171528 2012-11-18 11:37:56Z allan $
+# $Id$
 # Maintainer: Dan McGee <dan@archlinux.org>
 # Maintainer: Dave Reisner <dreisner@archlinux.org>
 
 pkgname=pacman
-pkgver=4.0.3
-pkgrel=5
+pkgver=4.1.2
+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')
-depends=('bash' 'glibc>=2.15' 'libarchive>=3.0.2' 'curl>=7.19.4'
+groups=('base' 'base-devel')
+depends=('bash>=4.2.042-2' 'glibc>=2.16' 'libarchive>=3.1.2' 'curl>=7.19.4'
          'gpgme' 'pacman-mirrorlist' 'archlinux-keyring')
-makedepends=('asciidoc')
+#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)
 source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
-        0001-Add-conflict-for-replacing-owned-empty-directory.patch
-        0002-Check-empty-subdirectory-ownership.patch
-        0003-Ensure-pre_upgrade-scriptlet-gets-old-package-version.patch
-        pacman.conf
         pacman.conf.x86_64
         makepkg.conf)
-md5sums=('387965c7125e60e5f0b9ff3b427fe0f9'
-         '1a70392526c8768470da678b31905a6e'
-         '1a9b79788640907a2b34e8671cacc94a'
-         'a9ddd43891bed364e1e97d27b2887bf1'
-         '2e8cbf55a94b1954b167c5dee6b62317'
-         '99734ea46795f466d41c503e9e23b6d4'
-         '556d49489e82b5750cf026d3b18c8f4f'
-         '589cd34eb9d5b678455e8289394f523e')
 
 build() {
   cd $srcdir/$pkgname-$pkgver
 
-  patch -p1 -i $srcdir/0001-Add-conflict-for-replacing-owned-empty-directory.patch
-  patch -p1 -i $srcdir/0002-Check-empty-subdirectory-ownership.patch
-  patch -p1 -i $srcdir/0003-Ensure-pre_upgrade-scriptlet-gets-old-package-version.patch
-
   ./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
 }
 
 check() {
@@ -53,18 +43,19 @@ check() {
 package() {
   cd $srcdir/$pkgname-$pkgver
   make DESTDIR=$pkgdir install
+  make DESTDIR=$pkgdir -C contrib install
 
   # install Arch specific stuff
-  mkdir -p $pkgdir/etc
+  install -dm755 $pkgdir/etc
+  install -m644 $srcdir/pacman.conf.$CARCH $pkgdir/etc/pacman.conf
+  
   case "$CARCH" in
-    i686)
-      install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf
+    i686)    
       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"
@@ -76,12 +67,18 @@ package() {
     -e "s|@CARCH[@]|$mycarch|g" \
     -e "s|@CHOST[@]|$mychost|g" \
     -e "s|@CARCHFLAGS[@]|$myflags|g"
+    
+  # 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
 
-  # install completion files
-  install -Dm644 contrib/bash_completion "$pkgdir/usr/share/bash-completion/completions/pacman"
   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
 }
+md5sums=('063c8b0ff6bdf903dc235445525627cd'
+         '7e46c2654b016fc1de45499a537cb990'
+         'de74a13618347f08ae4a9637f74471c4'
+         '5f360e003e95f1a5cbd6e60d937dfd25')
diff --git a/abs/core/pacman/__changelog b/abs/core/pacman/__changelog
new file mode 100644
index 0000000..d53c316
--- /dev/null
+++ b/abs/core/pacman/__changelog
@@ -0,0 +1,2 @@
+- 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 25ca015..dc58009 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:
@@ -29,11 +29,15 @@ CHOST="@CHOST@"
 #-- Compiler and Linker Flags
 # -march (or -mcpu) builds exclusively for an architecture
 # -mtune optimizes for an architecture, but builds for whole processor family
-CFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
-CXXFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
+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"
 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"
 
 #########################################################################
 # BUILD ENVIRONMENT
@@ -63,18 +67,20 @@ BUILDENV=(fakeroot !distcc color !ccache check !sign)
 #   These are default values for the options=() settings
 #########################################################################
 #
-# Default: OPTIONS=(strip docs libtool emptydirs zipman purge !upx)
+# 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
-#-- docs:      Save doc directories specified by DOC_DIRS
-#-- libtool:   Leave libtool (.la) 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
-#-- upx:       Compress binary executable files using UPX
-#
-OPTIONS=(strip docs libtool emptydirs zipman purge !upx)
+#-- 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
+#-- 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)
 
 #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
 INTEGRITY_CHECK=(md5)
@@ -103,12 +109,25 @@ 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
 #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
 #########################################################################
 #
diff --git a/abs/core/pacman/pacman.conf.x86_64 b/abs/core/pacman/pacman.conf.x86_64
index 42321bb..f43fe39 100644
--- a/abs/core/pacman/pacman.conf.x86_64
+++ b/abs/core/pacman/pacman.conf.x86_64
@@ -15,11 +15,10 @@
 #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
+#UseDelta    = 0.7
 Architecture = auto
 
 # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
@@ -31,14 +30,16 @@ Architecture = auto
 
 # Misc options
 #UseSyslog
-#UseDelta
+#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 = Optional TrustedOnly
+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
@@ -68,34 +69,27 @@ CheckSpace
 # 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
 
 # If you want to run 32 bit applications on your x86_64 system,
 # enable the multilib repositories as required here.
 
 #[multilib-testing]
-#SigLevel = PackageRequired
 #Include = /etc/pacman.d/mirrorlist
 
 #[multilib]
-#SigLevel = PackageRequired
 #Include = /etc/pacman.d/mirrorlist
 
 # An example of a custom package repository.  See the pacman manpage for
@@ -103,4 +97,3 @@ Include = /etc/pacman.d/mirrorlist
 #[custom]
 #SigLevel = Optional TrustAll
 #Server = file:///home/custompkgs
-
diff --git a/abs/core/pacman/pacman.install b/abs/core/pacman/pacman.install
index 487819a..42b2808 100644
--- a/abs/core/pacman/pacman.install
+++ b/abs/core/pacman/pacman.install
@@ -12,6 +12,8 @@ post_upgrade() {
     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() {
-- 
cgit v0.12