From 817e58c278cb8ebee7743205877d0f67c431fcec Mon Sep 17 00:00:00 2001 From: root Date: Thu, 5 Jan 2012 23:14:48 +0000 Subject: Thu Jan 5 23:14:48 UTC 2012 --- libre/pacman/PKGBUILD | 32 ++++++++++++++------------------ libre/pacman/makepkg.conf | 25 ++++++++++++++++--------- libre/pacman/pacman.conf | 30 ++++++++++++++++++++++++++---- libre/pacman/pacman.conf.x86_64 | 32 ++++++++++++++++++++++++++++---- libre/pacman/pacman.install | 11 +++++++++++ libre/pacman/rePKGBUILD | 4 ++-- 6 files changed, 97 insertions(+), 37 deletions(-) (limited to 'libre/pacman') diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD index 1768684e1..00ed5e69c 100644 --- a/libre/pacman/PKGBUILD +++ b/libre/pacman/PKGBUILD @@ -1,17 +1,19 @@ -# $Id: PKGBUILD 126847 2011-06-07 19:50:19Z dan $ +# vim: set ts=2 sw=2 et: +# $Id: PKGBUILD 145836 2012-01-02 19:39:43Z dreisner $ # Maintainer: Dan McGee +# Maintainer: Dave Reisner pkgname=pacman -pkgver=3.5.4 -pkgrel=4 +pkgver=4.0.1 +pkgrel=3 pkgdesc="A library-based package manager with dependency support" arch=('i686' 'x86_64' 'mips64el') url="http://www.archlinux.org/pacman/" license=('GPL') groups=('base') -depends=('bash' 'glibc>=2.14' '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') +optdepends=('fakeroot: for makepkg usage as normal user') backup=(etc/pacman.conf etc/makepkg.conf) install=pacman.install options=(!libtool) @@ -19,14 +21,12 @@ source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz pacman.conf pacman.conf.x86_64 pacman.conf.mips64el - makepkg.conf - 0001-makepkg-fix-removing-symbolic-link.patch) -md5sums=('2dd3a85d55ee3dd89abd349aa837447c' - 'ba85525fe868f030bef209b0487dd5a5' - '7aaccf24479f396d4a5987c8ccd2f3a2' + makepkg.conf) +md5sums=('76bd88eff8cd94bc9899faa091822dc1' + '858d1ffb284afc6b15f72578ba3cac50' + '7dade0c0a4d597c480d779afa4f5097c' '150a2854816cd67b1608e00f99701c1c' - 'be10d3d2e533515a0470237761415568' - '749a4ddc6d8418d8d031f1c9b4e09d6f') + 'debc512689a1aa8c124fe0ccf27f5758') # keep an upgrade path for older installations PKGEXT='.pkg.tar.gz' @@ -34,8 +34,6 @@ PKGEXT='.pkg.tar.gz' build() { cd $srcdir/$pkgname-$pkgver - patch -Np1 < "$srcdir/0001-makepkg-fix-removing-symbolic-link.patch" - ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --enable-doc make @@ -52,7 +50,7 @@ package() { install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf mycarch="i686" mychost="i686-pc-linux-gnu" - myflags="-mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2" + myflags="-march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2" myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu" ;; x86_64) @@ -84,5 +82,3 @@ package() { 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/libre/pacman/makepkg.conf b/libre/pacman/makepkg.conf index bfa971b7b..08a44167b 100644 --- a/libre/pacman/makepkg.conf +++ b/libre/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,7 +26,7 @@ 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@" @@ -39,7 +39,7 @@ LDFLAGS="@LDFLAGS@" # 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="@LDFLAGS@" #-- 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 " +#-- Specify a key to use for package signing +#GPGKEY="" ######################################################################### # EXTENSION DEFAULTS diff --git a/libre/pacman/pacman.conf b/libre/pacman/pacman.conf index 56f2b4670..92befa5fa 100644 --- a/libre/pacman/pacman.conf +++ b/libre/pacman/pacman.conf @@ -13,11 +13,12 @@ #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/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 @@ -28,12 +29,25 @@ Architecture = auto #NoUpgrade = #NoExtract = -# Misc options (all disabled by default) +# Misc options #UseSyslog -#ShowSize #UseDelta #TotalDownload -#CheckSpace +CheckSpace +#VerbosePkgLists + +# PGP signature checking +# NOTE: None of this will work without running `pacman-key --init` first. +# The compiled in default is equivalent to the following line. This requires +# you to locally sign and trust packager keys using `pacman-key` for them to be +# considered valid. +#SigLevel = Optional TrustedOnly +# If you wish to check signatures but avoid local sign and trust issues, use +# the following line. This will treat any key imported into pacman's keyring as +# trusted. +#SigLevel = Optional TrustAll +# For now, off by default unless you read the above. +SigLevel = Never # # REPOSITORIES @@ -59,24 +73,31 @@ Architecture = auto # after the header, and they will be used before the default mirrors. #[libre-testing] +#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [libre] +#SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist #[testing] +#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [core] +#SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] +#SigLevel = PackageOptional Include = /etc/pacman.d/mirrorlist #[community-testing] +#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [community] +#SigLevel = PackageOptional Include = /etc/pacman.d/mirrorlist # Parabola also supports community projects and personal repositories, to find @@ -85,5 +106,6 @@ 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/libre/pacman/pacman.conf.x86_64 b/libre/pacman/pacman.conf.x86_64 index 503df75e2..0eddc159c 100644 --- a/libre/pacman/pacman.conf.x86_64 +++ b/libre/pacman/pacman.conf.x86_64 @@ -13,11 +13,12 @@ #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/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 @@ -28,12 +29,25 @@ Architecture = auto #NoUpgrade = #NoExtract = -# Misc options (all disabled by default) +# Misc options #UseSyslog -#ShowSize #UseDelta #TotalDownload -#CheckSpace +CheckSpace +#VerbosePkgLists + +# PGP signature checking +# NOTE: None of this will work without running `pacman-key --init` first. +# The compiled in default is equivalent to the following line. This requires +# you to locally sign and trust packager keys using `pacman-key` for them to be +# considered valid. +#SigLevel = Optional TrustedOnly +# If you wish to check signatures but avoid local sign and trust issues, use +# the following line. This will treat any key imported into pacman's keyring as +# trusted. +#SigLevel = Optional TrustAll +# For now, off by default unless you read the above. +SigLevel = Never # # REPOSITORIES @@ -59,33 +73,42 @@ Architecture = auto # after the header, and they will be used before the default mirrors. #[libre-testing] +#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [libre] +#SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist #[testing] +#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [core] +#SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] +#SigLevel = PackageOptional Include = /etc/pacman.d/mirrorlist #[community-testing] +#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [community] +#SigLevel = PackageOptional 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 = PackageOptional #Include = /etc/pacman.d/mirrorlist # Parabola also supports community projects and personal repositories, to find @@ -94,5 +117,6 @@ 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/libre/pacman/pacman.install b/libre/pacman/pacman.install index 0e598bb4b..4369edab1 100644 --- a/libre/pacman/pacman.install +++ b/libre/pacman/pacman.install @@ -9,6 +9,17 @@ post_upgrade() { if [ "$(vercmp $2 3.5.0)" -lt 0 ]; then _warnupgrade fi + _check_pubring +} + +post_install() { + _check_pubring +} + +_check_pubring() { + if [ ! -f "etc/pacman.d/gnupg/pubring.gpg" ]; then + echo " >>> Run \`pacman-key --init\` to set up your pacman keyring." + fi } _warnupgrade() { diff --git a/libre/pacman/rePKGBUILD b/libre/pacman/rePKGBUILD index af613dc74..3648f2a18 100644 --- a/libre/pacman/rePKGBUILD +++ b/libre/pacman/rePKGBUILD @@ -2,9 +2,9 @@ source PKGBUILD CARCH=x86_64 unset build package md5sums source -_repo=core +_repo=testing source=(PKGBUILD - http://mirrors.kernel.org/archlinux/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT + ftp://ftp.archlinux.org/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT # files for pkg modifications pacman.conf pacman.conf.x86_64 -- cgit v1.2.3-54-g00ecf