[arch-commits] Commit in pacman/repos (7 files)

Allan McRae allan at archlinux.org
Sun Aug 14 09:15:39 UTC 2011


    Date: Sunday, August 14, 2011 @ 05:15:38
  Author: allan
Revision: 135470

archrelease: copy trunk to testing-i686

Added:
  pacman/repos/testing-i686/
  pacman/repos/testing-i686/0001-makepkg-fix-removing-symbolic-link.patch
    (from rev 135469, pacman/trunk/0001-makepkg-fix-removing-symbolic-link.patch)
  pacman/repos/testing-i686/PKGBUILD
    (from rev 135469, pacman/trunk/PKGBUILD)
  pacman/repos/testing-i686/makepkg.conf
    (from rev 135469, pacman/trunk/makepkg.conf)
  pacman/repos/testing-i686/pacman.conf
    (from rev 135469, pacman/trunk/pacman.conf)
  pacman/repos/testing-i686/pacman.conf.x86_64
    (from rev 135469, pacman/trunk/pacman.conf.x86_64)
  pacman/repos/testing-i686/pacman.install
    (from rev 135469, pacman/trunk/pacman.install)

-----------------------------------------------+
 0001-makepkg-fix-removing-symbolic-link.patch |   32 ++++++
 PKGBUILD                                      |   76 ++++++++++++++++
 makepkg.conf                                  |  114 ++++++++++++++++++++++++
 pacman.conf                                   |   80 ++++++++++++++++
 pacman.conf.x86_64                            |   89 ++++++++++++++++++
 pacman.install                                |   62 +++++++++++++
 6 files changed, 453 insertions(+)

Copied: pacman/repos/testing-i686/0001-makepkg-fix-removing-symbolic-link.patch (from rev 135469, pacman/trunk/0001-makepkg-fix-removing-symbolic-link.patch)
===================================================================
--- testing-i686/0001-makepkg-fix-removing-symbolic-link.patch	                        (rev 0)
+++ testing-i686/0001-makepkg-fix-removing-symbolic-link.patch	2011-08-14 09:15:38 UTC (rev 135470)
@@ -0,0 +1,32 @@
+From c493eef643ecb3a54c79083c51a8975f816ed9de Mon Sep 17 00:00:00 2001
+From: Allan McRae <allan at archlinux.org>
+Date: Tue, 28 Jun 2011 22:47:35 +1000
+Subject: [PATCH] makepkg: fix removing symbolic link
+
+The path was not being stripped from $file before prefixing with
+$srcdir resulting in the attempted removal of a very weird
+filename.
+
+Signed-off-by: Allan McRae <allan at archlinux.org>
+Signed-off-by: Dan McGee <dan at archlinux.org>
+(cherry picked from commit e92905a2c8c14c7855e2841f44d3c139aa40844c)
+---
+ scripts/makepkg.sh.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
+index 3ace945..b0b0882 100644
+--- a/scripts/makepkg.sh.in
++++ b/scripts/makepkg.sh.in
+@@ -509,7 +509,7 @@ download_sources() {
+ 		local file=$(get_filepath "$netfile" || true)
+ 		if [[ -n "$file" ]]; then
+ 			msg2 "$(gettext "Found %s")" "${file##*/}"
+-			rm -f "$srcdir/$file"
++			rm -f "$srcdir/${file##*/}"
+ 			ln -s "$file" "$srcdir/"
+ 			continue
+ 		fi
+-- 
+1.7.6
+

Copied: pacman/repos/testing-i686/PKGBUILD (from rev 135469, pacman/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2011-08-14 09:15:38 UTC (rev 135470)
@@ -0,0 +1,76 @@
+# $Id$
+# Maintainer: Dan McGee <dan at archlinux.org>
+
+pkgname=pacman
+pkgver=3.5.4
+pkgrel=4
+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.14' 'libarchive>=2.8.4' 'libfetch>=2.28' 'pacman-mirrorlist')
+optdepends=('fakeroot: for makepkg usage as normal user'
+            'curl: for rankmirrors usage')
+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
+        pacman.conf.x86_64
+        makepkg.conf
+        0001-makepkg-fix-removing-symbolic-link.patch)
+md5sums=('2dd3a85d55ee3dd89abd349aa837447c'
+         'e99eb721b6b704f68c5f47468507c102'
+         'f8b939d9b2beb79a0436961a2d707d7c'
+         'c034b061c86b3f26a9646cf8efc7ff11'
+         '749a4ddc6d8418d8d031f1c9b4e09d6f')
+
+# keep an upgrade path for older installations
+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
+}
+
+package() {
+  cd $srcdir/$pkgname-$pkgver
+  make DESTDIR=$pkgdir install
+
+  # install Arch specific stuff
+  mkdir -p $pkgdir/etc
+  case "$CARCH" in
+    i686)
+      install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf
+      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 "
+      ;;
+  esac
+  install -m644 $srcdir/makepkg.conf $pkgdir/etc/
+  # set things correctly in the default conf file
+  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:

Copied: pacman/repos/testing-i686/makepkg.conf (from rev 135469, pacman/trunk/makepkg.conf)
===================================================================
--- testing-i686/makepkg.conf	                        (rev 0)
+++ testing-i686/makepkg.conf	2011-08-14 09:15:38 UTC (rev 135470)
@@ -0,0 +1,114 @@
+#
+# /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 at -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
+CXXFLAGS="@CARCHFLAGS at -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
+LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu"
+#-- Make Flags: change this for DistCC/SMP systems
+#MAKEFLAGS="-j2"
+
+#########################################################################
+# BUILD ENVIRONMENT
+#########################################################################
+#
+# Defaults: BUILDENV=(fakeroot !distcc color !ccache check)
+#  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
+#
+BUILDENV=(fakeroot !distcc color !ccache check)
+#
+#-- 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
+#-- 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})
+#-- 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 at 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:

Copied: pacman/repos/testing-i686/pacman.conf (from rev 135469, pacman/trunk/pacman.conf)
===================================================================
--- testing-i686/pacman.conf	                        (rev 0)
+++ testing-i686/pacman.conf	2011-08-14 09:15:38 UTC (rev 135470)
@@ -0,0 +1,80 @@
+#
+# /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 - -f %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
+#CheckSpace
+
+#
+# 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]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+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
+

Copied: pacman/repos/testing-i686/pacman.conf.x86_64 (from rev 135469, pacman/trunk/pacman.conf.x86_64)
===================================================================
--- testing-i686/pacman.conf.x86_64	                        (rev 0)
+++ testing-i686/pacman.conf.x86_64	2011-08-14 09:15:38 UTC (rev 135470)
@@ -0,0 +1,89 @@
+#
+# /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 - -f %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
+#CheckSpace
+
+#
+# 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]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+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]
+#Include = /etc/pacman.d/mirrorlist
+
+#[multilib]
+#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
+

Copied: pacman/repos/testing-i686/pacman.install (from rev 135469, pacman/trunk/pacman.install)
===================================================================
--- testing-i686/pacman.install	                        (rev 0)
+++ testing-i686/pacman.install	2011-08-14 09:15:38 UTC (rev 135470)
@@ -0,0 +1,62 @@
+#!/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
+    if [ "$(vercmp $2 3.5.0)" -lt 0 ]; then
+        _warnupgrade
+    fi
+}
+
+_warnupgrade() {
+    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 ">>>"
+}
+
+_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
+}




More information about the arch-commits mailing list