summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch152
-rw-r--r--abs/core/pacman/0002-Check-empty-subdirectory-ownership.patch61
-rw-r--r--abs/core/pacman/PKGBUILD57
-rw-r--r--abs/core/pacman/__changelog2
-rw-r--r--abs/core/pacman/makepkg.conf31
-rw-r--r--abs/core/pacman/old/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch32
-rw-r--r--abs/core/pacman/old/PKGBUILD74
-rw-r--r--abs/core/pacman/old/makepkg.conf115
-rw-r--r--abs/core/pacman/old/mirrorlist101
-rw-r--r--abs/core/pacman/old/pacman.conf84
-rw-r--r--abs/core/pacman/old/pacman.install53
l---------abs/core/pacman/pacman-3.4.1-1-i686.pkg.tar.gz1
-rw-r--r--abs/core/pacman/pacman.conf72
-rw-r--r--abs/core/pacman/pacman.conf.x86_6427
-rw-r--r--abs/core/pacman/pacman.install31
15 files changed, 325 insertions, 568 deletions
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
new file mode 100644
index 0000000..85622aa
--- /dev/null
+++ b/abs/core/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
@@ -0,0 +1,152 @@
+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
new file mode 100644
index 0000000..6cf496d
--- /dev/null
+++ b/abs/core/pacman/0002-Check-empty-subdirectory-ownership.patch
@@ -0,0 +1,61 @@
+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/PKGBUILD b/abs/core/pacman/PKGBUILD
index 80dabe4..623f4cc 100644
--- a/abs/core/pacman/PKGBUILD
+++ b/abs/core/pacman/PKGBUILD
@@ -1,35 +1,52 @@
-# $Id$
+# vim: set ts=2 sw=2 et:
+# $Id: PKGBUILD 163493 2012-07-13 12:31:08Z allan $
# Maintainer: Dan McGee <dan@archlinux.org>
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=pacman
-pkgver=3.5.3
-pkgrel=5
+pkgver=4.0.3
+pkgrel=3
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' 'libarchive>=2.8.4' 'libfetch>=2.28' 'pacman-mirrorlist')
-optdepends=('fakeroot: for makepkg usage as normal user'
- 'curl: for rankmirrors usage')
+depends=('bash' 'glibc>=2.15' 'libarchive>=3.0.2' 'curl>=7.19.4'
+ 'gpgme' 'pacman-mirrorlist' 'archlinux-keyring')
+makedepends=('asciidoc')
+optdepends=('fakeroot: for makepkg usage as normal user')
backup=(etc/pacman.conf etc/makepkg.conf)
install=pacman.install
options=(!libtool)
-source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz
+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
pacman.conf
pacman.conf.x86_64
makepkg.conf)
-
-# keep an upgrade path for older installations
-PKGEXT='.pkg.tar.gz'
+md5sums=('387965c7125e60e5f0b9ff3b427fe0f9'
+ '1a70392526c8768470da678b31905a6e'
+ '1a9b79788640907a2b34e8671cacc94a'
+ 'a9ddd43891bed364e1e97d27b2887bf1'
+ '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
+
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --enable-doc
make
}
+check() {
+ make -C "$pkgname-$pkgver" check
+}
+
package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install
@@ -41,13 +58,13 @@ package() {
install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf
mycarch="i686"
mychost="i686-pc-linux-gnu"
- myflags="-march=i686 "
+ 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 "
+ myflags="-march=x86-64"
;;
esac
install -m644 $srcdir/makepkg.conf $pkgdir/etc/
@@ -58,14 +75,10 @@ package() {
-e "s|@CARCHFLAGS[@]|$myflags|g"
# install completion files
- mkdir -p $pkgdir/etc/bash_completion.d/
- install -m644 contrib/bash_completion $pkgdir/etc/bash_completion.d/pacman
- mkdir -p $pkgdir/usr/share/zsh/site-functions/
- install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
-}
+ 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
-# vim: set ts=2 sw=2 et:
-md5sums=('c36c18ed4d8ec69c0ecb4f9684266901'
- '8ec73ab08305cdbe3671aedbbb4ceede'
- 'ae905192b4bf71772173e8abbd53291e'
- 'a8684989d3dfad5a6e1bcf95af3e571b')
+ install -Dm644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
+}
diff --git a/abs/core/pacman/__changelog b/abs/core/pacman/__changelog
deleted file mode 100644
index f028169..0000000
--- a/abs/core/pacman/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-make cache dir /data/var/cache/pacman/pkg
-add custom message to post_upgrade() of pacman.install
diff --git a/abs/core/pacman/makepkg.conf b/abs/core/pacman/makepkg.conf
index a655e93..25ca015 100644
--- a/abs/core/pacman/makepkg.conf
+++ b/abs/core/pacman/makepkg.conf
@@ -8,16 +8,16 @@
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
-DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
- 'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u'
- 'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
+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'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
-# /usr/bin/curl
+# /usr/bin/wget
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
@@ -26,12 +26,12 @@ DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
CARCH="@CARCH@"
CHOST="@CHOST@"
-#-- Exclusive: will only run on @CARCH@
+#-- 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"
-CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
-LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed"
+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"
+LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
@@ -39,7 +39,7 @@ LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed"
# BUILD ENVIRONMENT
#########################################################################
#
-# Defaults: BUILDENV=(fakeroot !distcc color !ccache check)
+# Defaults: BUILDENV=(fakeroot !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
@@ -47,19 +47,23 @@ LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed"
#-- 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)
+BUILDENV=(fakeroot !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.
#DISTCC_HOSTS=""
+#
+#-- Specify a directory for package building.
+#BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
-# Default: OPTIONS=(strip docs libtool emptydirs zipman purge)
+# Default: OPTIONS=(strip docs libtool emptydirs zipman purge !upx)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
@@ -68,8 +72,9 @@ BUILDENV=(fakeroot !distcc color !ccache check)
#-- 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)
+OPTIONS=(strip docs libtool emptydirs zipman purge !upx)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
@@ -100,6 +105,8 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#SRCPKGDEST=/home/srcpackages
#-- 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=""
#########################################################################
# EXTENSION DEFAULTS
diff --git a/abs/core/pacman/old/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch b/abs/core/pacman/old/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
deleted file mode 100644
index 8baa35e..0000000
--- a/abs/core/pacman/old/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From dc817a2061699cd1f33ca93f0d93a1fbc2f33ea1 Mon Sep 17 00:00:00 2001
-From: Allan McRae <allan@archlinux.org>
-Date: Thu, 17 Jun 2010 14:32:08 +1000
-Subject: [PATCH] makepkg: fallback to sane defaults for library stripping
-
-If the library stripping variables are not defined in makepkg.conf,
-libraries will be fully stripped and become broken. Fallback to a
-sane default stripping level.
-
-Signed-off-by: Allan McRae <allan@archlinux.org>
-Signed-off-by: Dan McGee <dan@archlinux.org>
----
- scripts/makepkg.sh.in | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
-index d986701..e64b564 100644
---- a/scripts/makepkg.sh.in
-+++ b/scripts/makepkg.sh.in
-@@ -864,6 +864,9 @@ tidy_install() {
-
- if [[ $(check_option strip) = y && -n ${STRIP_DIRS[*]} ]]; then
- msg2 "$(gettext "Stripping unneeded symbols from binaries and libraries...")"
-+ # make sure library stripping variables are defined to prevent excess stripping
-+ [[ -z ${STRIP_SHARED+x} ]] && STRIP_SHARED="-S"
-+ [[ -z ${STRIP_STATIC+x} ]] && STRIP_STATIC="-S"
- local binary
- find ${STRIP_DIRS[@]} -type f -perm -u+w 2>/dev/null | while read binary ; do
- case "$(file -bi "$binary")" in
---
-1.7.1
-
diff --git a/abs/core/pacman/old/PKGBUILD b/abs/core/pacman/old/PKGBUILD
deleted file mode 100644
index a138950..0000000
--- a/abs/core/pacman/old/PKGBUILD
+++ /dev/null
@@ -1,74 +0,0 @@
-# $Id: PKGBUILD 83376 2010-06-21 12:52:09Z dan $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-# Maintainer: Dan McGee <dan@archlinux.org>
-
-pkgname=pacman
-pkgver=3.4.0
-pkgrel=3
-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' 'libarchive>=2.7.1' 'libfetch>=2.25' 'pacman-mirrorlist')
-optdepends=('fakeroot: for makepkg usage as normal user')
-backup=(etc/pacman.conf etc/makepkg.conf)
-install=pacman.install
-options=(!libtool)
-source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz
- pacman.conf
- makepkg.conf
- 0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch)
-md5sums=('50ad71be1faaad84842c576e239d1bb5'
- '80f5bb2a606553512d0db857f78d9ac2'
- 'aef317285c7d16ac495b0e53deeb948d'
- 'f8c4a3cc7702a7a70d177659441495c5')
-sha256sums=('cd80e206ee653ce337555c73b7064088e672e9341245317fe09dc52d06bff3c3'
- '97fb68536c1179a7de52dfb8a107c6e9bf3a71eaa6a98d6ae74dc224d4ca5838'
- '3a60e1f895c90c8e74f5ca389fa05fb3328745e9873c5452b8cd1b2e68bee418'
- '99f1d108f930b134cfb4c1ca8c86cd282fe9efb69de39cd747218f3d448dda44')
-
-# keep an upgrade path for older installations
-PKGEXT='.pkg.tar.gz'
-
-build() {
- cd $srcdir/$pkgname-$pkgver
- patch -Np1 < $srcdir/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-doc
- make || return 1
-}
-
-package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir install || return 1
-
- # install Arch specific stuff
- mkdir -p $pkgdir/etc
- install -m644 $srcdir/pacman.conf $pkgdir/etc/
- install -m644 $srcdir/makepkg.conf $pkgdir/etc/
- # set things correctly in the default conf file
- case "$CARCH" in
- i686)
- mycarch="i686"
- mychost="i686-pc-linux-gnu"
- myflags="-march=i686 "
- ;;
- x86_64)
- mycarch="x86_64"
- mychost="x86_64-unknown-linux-gnu"
- myflags="-march=x86-64 "
- ;;
- esac
- sed -i $pkgdir/etc/makepkg.conf \
- -e "s|@CARCH[@]|$mycarch|g" \
- -e "s|@CHOST[@]|$mychost|g" \
- -e "s|@CARCHFLAGS[@]|$myflags|g"
-
- # install completion files
- mkdir -p $pkgdir/etc/bash_completion.d/
- install -m644 contrib/bash_completion $pkgdir/etc/bash_completion.d/pacman
- mkdir -p $pkgdir/usr/share/zsh/site-functions/
- install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
-}
-
-# vim: set ts=2 sw=2 et:
diff --git a/abs/core/pacman/old/makepkg.conf b/abs/core/pacman/old/makepkg.conf
deleted file mode 100644
index ff08a0f..0000000
--- a/abs/core/pacman/old/makepkg.conf
+++ /dev/null
@@ -1,115 +0,0 @@
-#
-# /etc/makepkg.conf
-#
-
-#########################################################################
-# SOURCE ACQUISITION
-#########################################################################
-#
-#-- The download utilities that makepkg should use to acquire sources
-# Format: 'protocol::agent'
-DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
- 'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u'
- 'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
- 'rsync::/usr/bin/rsync -z %u %o'
- 'scp::/usr/bin/scp -C %u %o')
-
-# Other common tools:
-# /usr/bin/snarf
-# /usr/bin/lftpget -c
-# /usr/bin/curl
-
-#########################################################################
-# ARCHITECTURE, COMPILE FLAGS
-#########################################################################
-#
-CARCH="@CARCH@"
-CHOST="@CHOST@"
-
-#-- Exclusive: will only run on @CARCH@
-# -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"
-CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
-LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed"
-#-- Make Flags: change this for DistCC/SMP systems
-#MAKEFLAGS="-j2"
-
-#########################################################################
-# BUILD ENVIRONMENT
-#########################################################################
-#
-# Defaults: BUILDENV=(fakeroot !distcc color !ccache)
-# 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
-#
-BUILDENV=(fakeroot !distcc color !ccache)
-#
-#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
-#-- specify a space-delimited list of hosts running in the DistCC cluster.
-#DISTCC_HOSTS=""
-
-#########################################################################
-# GLOBAL PACKAGE OPTIONS
-# These are default values for the options=() settings
-#########################################################################
-#
-# Default: OPTIONS=(strip docs libtool emptydirs zipman purge)
-# A negated option will do the opposite of the comments below.
-#
-#-- strip: Strip symbols from binaries/libraries in STRIP_DIRS
-#-- 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
-#
-OPTIONS=(strip docs libtool emptydirs zipman purge)
-
-#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
-INTEGRITY_CHECK=(md5)
-#-- Options to be used when stripping binaries. See `man strip' for details.
-STRIP_BINARIES="--strip-all"
-#-- Options to be used when stripping shared libraries. See `man strip' for details.
-STRIP_SHARED="--strip-unneeded"
-#-- Options to be used when stripping static libraries. See `man strip' for details.
-STRIP_STATIC="--strip-debug"
-#-- Manual (man and info) directories to compress (if zipman is specified)
-MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
-#-- Doc directories to remove (if !docs is specified)
-DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
-#-- Directories to be searched for the strip option (if strip is specified)
-STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin})
-#-- Files to be removed from all packages (if purge is specified)
-PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
-
-#########################################################################
-# PACKAGE OUTPUT
-#########################################################################
-#
-# Default: put built package and cached source in build directory
-#
-#-- Destination: specify a fixed directory where all packages will be placed
-#PKGDEST=/home/packages
-#-- Source cache: specify a fixed directory where source files will be cached
-#SRCDEST=/home/sources
-#-- Source packages: specify a fixed directory where all src packages will be placed
-#SRCPKGDEST=/home/srcpackages
-#-- Packager: name/email of the person or organization building packages
-#PACKAGER="John Doe <john@doe.com>"
-
-#########################################################################
-# EXTENSION DEFAULTS
-#########################################################################
-#
-# WARNING: Do NOT modify these variables unless you know what you are
-# doing.
-#
-PKGEXT='.pkg.tar.xz'
-SRCEXT='.src.tar.gz'
-
-# vim: set ft=sh ts=2 sw=2 et:
diff --git a/abs/core/pacman/old/mirrorlist b/abs/core/pacman/old/mirrorlist
deleted file mode 100644
index 83e75ae..0000000
--- a/abs/core/pacman/old/mirrorlist
+++ /dev/null
@@ -1,101 +0,0 @@
-#
-# Arch Linux repository mirrorlist
-#
-
-# North America
-# - United States
-Server = ftp://ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/@carch@
-Server = http://archlinux.unixheads.org/$repo/os/@carch@
-Server = ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/@carch@
-Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/@carch@
-Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/@carch@
-Server = http://holmes.umflint.edu/archlinux/$repo/os/@carch@
-Server = http://mirror.neotuli.net/arch/$repo/os/@carch@
-Server = http://mirror.rit.edu/archlinux/$repo/os/@carch@
-Server = http://mirror.umoss.org/archlinux/$repo/os/@carch@
-Server = http://schlunix.org/archlinux/$repo/os/@carch@
-# - Canada
-Server = ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/@carch
-
-# South America
-# - Brazil
-Server = http://archlinux.c3sl.ufpr.br/$repo/os/@carch@
-Server = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/@carch@
-Server = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/@carch@
-
-# Europe
-# - Austria
-Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/@carch@
-# - Belgium
-Server = ftp://ftp.belnet.be/mirror/archlinux.org/$repo/os/@carch@
-# - Czech Republic
-Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/@carch@
-# - Estonia
-Server = ftp://ftp.estpak.ee/pub/archlinux/$repo/os/@carch@
-# - France
-Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/@carch@
-Server = ftp://mir2.archlinuxfr.org/archlinux/$repo/os/@carch@
-Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/@carch@
-Server = http://mir.archlinux.fr/$repo/os/@carch@
-Server = ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/@carch@
-# - Germany
-Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.archlinuxppc.org/@carch@/$repo/os/@carch@
-Server = ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/@carch@
-Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/@carch@
-# - Great Britain
-Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://mirrors.uk2.net/pub/archlinux/$repo/os/@carch@
-Server = http://archlinux.mirrors.uk2.net/$repo/os/@carch@
-# - Greece
-Server = ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/@carch@
-# - Hungary
-Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-# - Ireland
-Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/@carch@
-# - Italy
-Server = ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/@carch@
-# - Netherlands
-Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/@carch@
-Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/@carch@
-# - Norway
-Server = http://arch.likbilen.com/$repo/os/@carch
-# - Poland
-Server = ftp://mirror.icis.pcz.pl/archlinux/$repo/os/@carch@
-Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = http://unix.net.pl/archlinux.org/$repo/os/@carch@
-# - Portugal
-Server = ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/@carch@
-# - Romania
-Server = ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/$repo/os/@carch@
-# - Russia
-Server = ftp://mirror.yandex.ru/archlinux/$repo/os/@carch@
-Server = http://archlinux.freeside.ru/$repo/os/@carch@
-# - Sweden
-Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.gigabit.nu/$repo/os/@carch@
-# - Switzerland
-Server = http://archlinux.puzzle.ch/$repo/os/@carch@
-# - Turkey
-Server = http://server.elsistech.com/archlinux/$repo/os/@carch@
-# - Ukraine
-Server = ftp://hell.org.ua/archlinux/$repo/os/@carch@
-Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/@carch@
-
-# Asia
-# - Israel
-Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/@carch@
-# - Vietnam
-# Domain name is ftp.indochinalinux.com but there are frequent DNS problems
-Server = ftp://202.78.230.5/archlinux/$repo/os/@carch@
-
-# Australia
-Server = ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/@carch@
-Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/@carch@
-
diff --git a/abs/core/pacman/old/pacman.conf b/abs/core/pacman/old/pacman.conf
deleted file mode 100644
index 911c23d..0000000
--- a/abs/core/pacman/old/pacman.conf
+++ /dev/null
@@ -1,84 +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
-HoldPkg = pacman glibc
-# If upgrades are available for these packages they will be asked for first
-SyncFirst = pacman
-#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
-#XferCommand = /usr/bin/curl -C - %u > %o
-#CleanMethod = KeepInstalled
-Architecture = auto
-
-# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
-#IgnorePkg =
-#IgnoreGroup =
-
-#NoUpgrade =
-#NoExtract =
-
-# Misc options (all disabled by default)
-#UseSyslog
-#ShowSize
-#UseDelta
-#TotalDownload
-
-#
-# 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]
-## Add your preferred servers here, they will be used first
-#Include = /etc/pacman.d/mirrorlist
-
-[core]
-# Add your preferred servers here, they will be used first
-Include = /etc/pacman.d/mirrorlist
-
-[extra]
-# Add your preferred servers here, they will be used first
-Include = /etc/pacman.d/mirrorlist
-
-#[community-testing]
-## Add your preferred servers here, they will be used first
-#Include = /etc/pacman.d/mirrorlist
-
-[community]
-# Add your preferred servers here, they will be used first
-Include = /etc/pacman.d/mirrorlist
-
-# An example of a custom package repository. See the pacman manpage for
-# tips on creating your own repositories.
-#[custom]
-#Server = file:///home/custompkgs
-
diff --git a/abs/core/pacman/old/pacman.install b/abs/core/pacman/old/pacman.install
deleted file mode 100644
index 294222e..0000000
--- a/abs/core/pacman/old/pacman.install
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-# 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
-}
-
-_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
-}
diff --git a/abs/core/pacman/pacman-3.4.1-1-i686.pkg.tar.gz b/abs/core/pacman/pacman-3.4.1-1-i686.pkg.tar.gz
deleted file mode 120000
index 5d96387..0000000
--- a/abs/core/pacman/pacman-3.4.1-1-i686.pkg.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/data/pkg_repo/packages/pacman-3.4.1-1-i686.pkg.tar.gz \ No newline at end of file
diff --git a/abs/core/pacman/pacman.conf b/abs/core/pacman/pacman.conf
index 25ab6b6..0596b7a 100644
--- a/abs/core/pacman/pacman.conf
+++ b/abs/core/pacman/pacman.conf
@@ -11,13 +11,14 @@
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
-CacheDir = /data/var/cache/pacman/pkg/
+#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/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/curl -C - -f %u > %o
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
@@ -26,16 +27,22 @@ Architecture = auto
#IgnoreGroup =
#NoUpgrade =
-NoUpgrade = data/srv/hobbit/etc/bb-hosts
-NoUpgrade = etc/func/minion.conf
#NoExtract =
-# Misc options (all disabled by default)
+# Misc options
#UseSyslog
-#ShowSize
#UseDelta
#TotalDownload
-#CheckSpace
+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
@@ -60,56 +67,29 @@ NoUpgrade = etc/func/minion.conf
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
-[core]
-Server = http://linhes.org/repo/$arch/$repo
-
-[extra]
-Server = http://linhes.org/repo/$arch/$repo
-
-#[chroot-devel]
-#Server = http://linhes.org/repo/$arch/$repo
-
-#[core-testing]
-#Server = http://linhes.org/repo/$arch/$repo
-
-#[extra-testing]
-#Server = http://linhes.org/repo/$arch/$repo
-
#[testing]
+#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist
-#[core]
-#Include = /etc/pacman.d/mirrorlist
+[core]
+SigLevel = PackageRequired
+Include = /etc/pacman.d/mirrorlist
-#[extra]
-#Include = /etc/pacman.d/mirrorlist
+[extra]
+SigLevel = PackageRequired
+Include = /etc/pacman.d/mirrorlist
#[community-testing]
+#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist
-#[community]
-#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
-########################ARCH DEFAULTS#############
-#[ARCH-core]
-# Add your preferred servers here, they will be used first
-#Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686
-
-#[ARCH-extra]
-# Add your preferred servers here, they will be used first
-#Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686
-
-#[community]
-# Add your preferred servers here, they will be used first
-#Include = /etc/pacman.d/mirrorlist
-
-# Unstable is disabled by default. To enable, uncomment the following
-# two lines. You can add preferred servers immediately after the header,
-# and they will be used before the default mirrors.
-#[unstable]
-#Include = /etc/pacman.d/mirrorlist
diff --git a/abs/core/pacman/pacman.conf.x86_64 b/abs/core/pacman/pacman.conf.x86_64
index f76dba2..42321bb 100644
--- a/abs/core/pacman/pacman.conf.x86_64
+++ b/abs/core/pacman/pacman.conf.x86_64
@@ -12,13 +12,13 @@
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
-CacheDir = /data/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/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/curl -C - -f %u > %o
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
@@ -29,12 +29,20 @@ Architecture = auto
#NoUpgrade =
#NoExtract =
-# Misc options (all disabled by default)
+# Misc options
#UseSyslog
-#ShowSize
#UseDelta
#TotalDownload
-#CheckSpace
+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
@@ -60,30 +68,39 @@ Architecture = auto
# 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
# 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 c066733..487819a 100644
--- a/abs/core/pacman/pacman.install
+++ b/abs/core/pacman/pacman.install
@@ -9,33 +9,22 @@ post_upgrade() {
if [ "$(vercmp $2 3.5.0)" -lt 0 ]; then
_warnupgrade
fi
- _updateconf
- echo ">>>"
- echo ">>> ATTENTION! ATTENTION! ATTENTION!"
- echo ">>> /etc/pacman.conf has changed. If you have customized your"
- echo ">>> pacman.conf file, please merge your changes into"
- echo ">>> /etc/pacman.conf.pacnew. Backup your old pacman.conf and"
- echo ">>> then move pacman.conf.pacnew to pacman.conf"
- echo ">>>"
-}
-
-_updateconf() {
- pacconf="/etc/pacman.conf"
- #add SyncFirst
- grep -q SyncFirst $pacconf
- if [ $? -eq 1 ]
- then
- sed -i '/\[options\]/ a\SyncFirst = pacman ' $pacconf
+ if [ ! -f "etc/pacman.d/gnupg/pubring.gpg" ] || [ "$(vercmp $2 4.0.3-2)" -lt 0 ]; then
+ _check_pubring
fi
- #remove larch
- sed -i '/larch/d' $pacconf
+}
+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 ">>>"
echo ">>> The pacman database format has changed as of pacman 3.5.0."
echo ">>> You will need to run \`pacman-db-upgrade\` as root."
echo ">>>"