summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-03-15 00:01:19 +0000
committerroot <root@rshg054.dnsready.net>2012-03-15 00:01:19 +0000
commit14635ca5380a480450a66c3fcc29992d29a2bd8e (patch)
treea2f8e712c9e15b829397666c06d1cdd1a877d8a6
parent01a0c4bc740842efa3bf1a7e1d6c8be5656e4e2a (diff)
Thu Mar 15 00:01:19 UTC 2012
-rw-r--r--community/acpid/PKGBUILD27
-rw-r--r--community/acpid/handler.sh2
-rw-r--r--community/arm-elf-gcc-base/PKGBUILD6
-rw-r--r--community/avr-gcc/PKGBUILD75
-rw-r--r--community/chmsee/PKGBUILD6
-rw-r--r--community/chmsee/chmsee2
-rw-r--r--community/darkstat/PKGBUILD25
-rwxr-xr-xcommunity/darkstat/darkstat83
-rw-r--r--community/darkstat/darkstat.conf2
-rw-r--r--community/darkstat/darkstat.install14
-rw-r--r--community/dbmail/PKGBUILD75
-rw-r--r--community/desmume/PKGBUILD28
-rw-r--r--community/desmume/desmume-0.9.7-zlib.1.2.6-fix.patch40
-rw-r--r--community/desmume/desmume.install11
-rw-r--r--community/docbook2x/PKGBUILD6
-rw-r--r--community/dvdisaster/PKGBUILD15
-rw-r--r--community/e4rat/PKGBUILD24
-rw-r--r--community/emacs-nox/PKGBUILD31
-rw-r--r--community/epic4/PKGBUILD28
-rw-r--r--community/fb-client/PKGBUILD6
-rw-r--r--community/fcrackzip/PKGBUILD23
-rw-r--r--community/fdupes/PKGBUILD22
-rw-r--r--community/flobopuyo/PKGBUILD4
-rw-r--r--community/freevo/PKGBUILD25
-rw-r--r--community/gdmap/PKGBUILD16
-rw-r--r--community/gdmap/gtk-fix.patch50
-rw-r--r--community/gebabbel/PKGBUILD6
-rw-r--r--community/gigedit/PKGBUILD7
-rw-r--r--community/girara/PKGBUILD80
-rw-r--r--community/gmime24/PKGBUILD33
-rw-r--r--community/gtk2hs-buildtools/PKGBUILD8
-rw-r--r--community/haskell-cairo/PKGBUILD9
-rw-r--r--community/haskell-glib/PKGBUILD9
-rw-r--r--community/haskell-gtk/PKGBUILD8
-rw-r--r--community/haskell-pango/PKGBUILD8
-rw-r--r--community/homebank/PKGBUILD5
-rw-r--r--community/hostapd/PKGBUILD14
-rw-r--r--community/hostapd/config4
-rw-r--r--community/hostapd/hostapd.install17
-rw-r--r--community/intel-tbb/PKGBUILD24
-rw-r--r--community/kid3/PKGBUILD8
-rw-r--r--community/lal/PKGBUILD16
-rw-r--r--community/launchy/PKGBUILD23
-rw-r--r--community/launchy/fix-linking.patch11
-rw-r--r--community/libev/PKGBUILD6
-rw-r--r--community/libgexiv2/PKGBUILD6
-rw-r--r--community/libgig/PKGBUILD4
-rw-r--r--community/libgringotts/PKGBUILD10
-rw-r--r--community/libzdb/PKGBUILD6
-rw-r--r--community/lincity-ng/PKGBUILD16
-rw-r--r--community/linuxsampler/PKGBUILD4
-rw-r--r--community/moreutils/PKGBUILD8
-rw-r--r--community/open-vm-tools-modules/PKGBUILD7
-rw-r--r--community/open-vm-tools-modules/open-vm-tools-modules.install6
-rw-r--r--community/osmo/PKGBUILD8
-rw-r--r--community/perl-dbd-pg/PKGBUILD12
-rwxr-xr-xcommunity/python-psycopg1/PKGBUILD8
-rw-r--r--community/radvd/PKGBUILD10
-rw-r--r--community/radvd/radvd.conf6
-rw-r--r--community/radvd/radvd.rc7
-rw-r--r--community/radvd/radvd.service2
-rw-r--r--community/swftools/PKGBUILD4
-rw-r--r--community/sysstat/PKGBUILD8
-rw-r--r--community/tea/PKGBUILD6
-rw-r--r--community/tinc/PKGBUILD11
-rw-r--r--community/windowlab/PKGBUILD12
-rw-r--r--community/xpacman2/PKGBUILD20
-rw-r--r--community/zathura/PKGBUILD18
-rw-r--r--community/zathura/zathura.install1
-rw-r--r--core/grep/PKGBUILD11
-rw-r--r--core/grep/grep-2.11-exclude-dir-crash.patch44
-rw-r--r--core/mpfr/PKGBUILD6
-rw-r--r--core/mpfr/mpfr-3.1.0.p7.patch1236
-rw-r--r--extra/bluefish/PKGBUILD8
-rw-r--r--extra/imagemagick/PKGBUILD19
-rw-r--r--extra/libtiff/PKGBUILD6
-rw-r--r--extra/rrdtool/PKGBUILD10
-rw-r--r--libre/linux-libre-api-headers/PKGBUILD2
-rw-r--r--libre/linux-libre-lts/PKGBUILD2
-rw-r--r--libre/linux-libre-lts/linux-libre-lts.install2
-rw-r--r--libre/thunderbird-libre/PKGBUILD8
-rw-r--r--testing/pcmciautils/PKGBUILD29
-rw-r--r--testing/sudo/PKGBUILD8
-rw-r--r--testing/util-linux/PKGBUILD28
-rw-r--r--testing/util-linux/stable-fixes-2.21.patch1516
85 files changed, 3627 insertions, 450 deletions
diff --git a/community/acpid/PKGBUILD b/community/acpid/PKGBUILD
index fa62a9ebb..152a80649 100644
--- a/community/acpid/PKGBUILD
+++ b/community/acpid/PKGBUILD
@@ -1,17 +1,18 @@
-# $Id: PKGBUILD 67166 2012-03-05 00:42:11Z pschmitz $
-# Maintainer:
+# $Id: PKGBUILD 67553 2012-03-13 12:19:58Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# Contributor: xduugu
# Contributor: Manolis Tzanidakis
# Contributor: Jonathan Schmidt <j.schmidt@archlinux.us
pkgname=acpid
pkgver=2.0.14
-pkgrel=1
-pkgdesc="A daemon for delivering ACPI power management events with netlink support"
+pkgrel=2
+pkgdesc='A daemon for delivering ACPI power management events with netlink support'
arch=('i686' 'x86_64')
-url="http://tedfelix.com/linux/acpid-netlink.html"
+url='http://tedfelix.com/linux/acpid-netlink.html'
license=('GPL')
depends=('bash')
+optdepends=('perl: use perl based examples')
replaces=('acpid2')
backup=('etc/acpi/handler.sh' 'etc/acpi/events/anything' 'etc/conf.d/acpid')
source=("http://www.tedfelix.com/linux/$pkgname-$pkgver.tar.gz"
@@ -22,22 +23,24 @@ source=("http://www.tedfelix.com/linux/$pkgname-$pkgver.tar.gz"
md5sums=('14fc1eabc3489f3ded9347fcd55f158a'
'd69203a032c4583f9abaafcf21a7ed84'
'2d37b98d6e74bab815604b8b48c6cfd4'
- 'd411b758e8531adee191b66bcbc2892d'
+ '615439f4a89716c747907d4fc3c8df75'
'929c6d2e91295c22ed9ec6212d7eabef')
build() {
- cd "${srcdir}"/$pkgname-$pkgver
+ cd $pkgname-$pkgver
make
}
package() {
- cd "${srcdir}"/$pkgname-$pkgver
+ cd $pkgname-$pkgver
make DESTDIR="${pkgdir}" install
- install -Dm755 "$srcdir/acpid" "$pkgdir/etc/rc.d/acpid"
- install -Dm644 "$srcdir/anything" "$pkgdir/etc/acpi/events/anything"
- install -Dm755 "$srcdir/handler.sh" "$pkgdir/etc/acpi/handler.sh"
- install -Dm644 "$srcdir/acpid.conf.d" "$pkgdir/etc/conf.d/acpid"
+ install -Dm755 ../acpid "$pkgdir/etc/rc.d/acpid"
+ install -Dm644 ../anything "$pkgdir/etc/acpi/events/anything"
+ install -Dm755 ../handler.sh "$pkgdir/etc/acpi/handler.sh"
+ install -Dm644 ../acpid.conf.d "$pkgdir/etc/conf.d/acpid"
chmod 755 "${pkgdir}"/usr/sbin/acpid
}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/acpid/handler.sh b/community/acpid/handler.sh
index 505ed7c11..aac143a9a 100644
--- a/community/acpid/handler.sh
+++ b/community/acpid/handler.sh
@@ -17,7 +17,7 @@ case "$1" in
;;
button/sleep)
case "$2" in
- SLPB) echo -n mem >/sys/power/state ;;
+ SLPB|SBTN) echo -n mem >/sys/power/state ;;
*) logger "ACPI action undefined: $2" ;;
esac
;;
diff --git a/community/arm-elf-gcc-base/PKGBUILD b/community/arm-elf-gcc-base/PKGBUILD
index a4490b7ea..67822acc7 100644
--- a/community/arm-elf-gcc-base/PKGBUILD
+++ b/community/arm-elf-gcc-base/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 60837 2011-12-18 22:34:22Z spupykin $
+# $Id: PKGBUILD 67643 2012-03-13 15:01:14Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=arm-elf-gcc-base
-pkgver=4.6.2
+pkgver=4.6.3
pkgrel=1
pkgdesc="The GNU Compiler Collection"
arch=(i686 x86_64)
@@ -11,7 +11,7 @@ url="http://gcc.gnu.org"
depends=('arm-elf-binutils' 'libmpc' 'libelf')
options=(!libtool !emptydirs zipman docs !strip)
source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-core-${pkgver}.tar.bz2)
-md5sums=('780f614ab18c7a9066dec6387d7490b2')
+md5sums=('766091220c6a14fcaa2c06dd573e3758')
build() {
cd $srcdir/gcc-$pkgver
diff --git a/community/avr-gcc/PKGBUILD b/community/avr-gcc/PKGBUILD
index ced9b0eb5..eff6d6b91 100644
--- a/community/avr-gcc/PKGBUILD
+++ b/community/avr-gcc/PKGBUILD
@@ -1,61 +1,60 @@
-# $Id: PKGBUILD 63817 2012-02-05 16:15:02Z bpiotrowski $
-# Maintainer: Brad Fanella <bradfanella@archlinux.us>
+# $Id: PKGBUILD 67673 2012-03-13 17:43:08Z schuay $
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
# Contributor: danst0 <danst0@west.de>
pkgname=avr-gcc
-pkgver=4.6.2
+pkgver=4.6.3
pkgrel=1
pkgdesc="The GNU avr Compiler Collection"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'custom')
url="http://gcc.gnu.org/"
-depends=('binutils-avr>=2.21' 'cloog' 'ppl' 'gcc-libs>=4.6.0' 'libmpc')
+depends=('binutils-avr>=2.22' 'cloog' 'ppl' 'gcc-libs>=4.6.0' 'libmpc')
provides=("gcc-avr=$pkgver")
replaces=('gcc-avr')
options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip')
source=(http://ftp.gnu.org/gnu/gcc/${pkgname/avr-}-${pkgver}/gcc-{core,g++}-${pkgver}.tar.bz2)
-md5sums=('0c0e7e35d2215e19de9c97efba507553'
- '0d75ca7ca35b1e7f252223f9d23a6ad1')
build() {
- export CFLAGS="-O2 -pipe"
- export CXXFLAGS="-O2 -pipe"
-
- cd "${srcdir}/${pkgname/avr-}-${pkgver}"
-
- mkdir build
- cd build
- ../configure --disable-libssp \
- --disable-nls \
- --enable-languages=c,c++ \
- --infodir=/usr/share/info \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --mandir=/usr/share/man \
- --prefix=/usr \
- --target=avr \
- --with-gnu-as \
- --with-gnu-ld \
- --with-as=/usr/bin/avr-as \
- --with-ld=/usr/bin/avr-ld
-
- make
+ export CFLAGS="-O2 -pipe"
+ export CXXFLAGS="-O2 -pipe"
+
+ cd "${srcdir}/${pkgname/avr-}-${pkgver}"
+
+ mkdir build
+ cd build
+ ../configure --disable-libssp \
+ --disable-nls \
+ --enable-languages=c,c++ \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --prefix=/usr \
+ --target=avr \
+ --with-gnu-as \
+ --with-gnu-ld \
+ --with-as=/usr/bin/avr-as \
+ --with-ld=/usr/bin/avr-ld
+
+ make
}
package() {
- cd "${srcdir}/${pkgname/avr-}-${pkgver}"
+ cd "${srcdir}/${pkgname/avr-}-${pkgver}"
- cd build
- make -j1 DESTDIR=${pkgdir} install
+ cd build
+ make -j1 DESTDIR=${pkgdir} install
- install -Dm644 "${srcdir}/${pkgname/avr-}-${pkgver}/COPYING.RUNTIME" \
- "${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION"
+ install -Dm644 "${srcdir}/${pkgname/avr-}-${pkgver}/COPYING.RUNTIME" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION"
- rm -f ${pkgdir}/usr/lib/libiberty.a
- rm -rf ${pkgdir}/usr/share/man/man7
- rm -rf ${pkgdir}/usr/share/info
+ rm -f ${pkgdir}/usr/lib/libiberty.a
+ rm -rf ${pkgdir}/usr/share/man/man7
+ rm -rf ${pkgdir}/usr/share/info
}
-md5sums=('780f614ab18c7a9066dec6387d7490b2'
- '87ecd60431e41096419dd8a10f76e46b')
+md5sums=('766091220c6a14fcaa2c06dd573e3758'
+ '37515158a0fb3d0800ec41a08c05e69e')
diff --git a/community/chmsee/PKGBUILD b/community/chmsee/PKGBUILD
index 5561ea17d..15dfdf704 100644
--- a/community/chmsee/PKGBUILD
+++ b/community/chmsee/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 65174 2012-02-20 08:15:56Z lcarlier $
+# $Id: PKGBUILD 67566 2012-03-13 12:32:57Z lcarlier $
# Maintainer : Laurent Carlier <lordheavym@gmail.com>
# Contributor: dionydonny <dionydonny@gmail.com>
# Contributor: Ermanno <erm67@yahoo.it>
pkgname=chmsee
pkgver=1.99.08
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
pkgdesc="A chm (MS HTML help file format) viewer based on xulrunner."
url="http://chmsee.googlecode.com/"
@@ -16,7 +16,7 @@ source=(chmsee-$pkgver.tar.gz::https://github.com/jungleji/chmsee/tarball/v$pkgv
chmsee)
install=chmsee.install
md5sums=('9e54b72761f8e97e683c03e52ac1ac6c'
- '4999362b0c89c24764cbd25173610a38')
+ 'abc127caca8bccf9ac51cf937b75d0c2')
build() {
cd ${srcdir}/jungleji-chmsee-*/src
diff --git a/community/chmsee/chmsee b/community/chmsee/chmsee
index 0e7a79096..d11f9c740 100644
--- a/community/chmsee/chmsee
+++ b/community/chmsee/chmsee
@@ -1,4 +1,4 @@
#!/bin/sh
cd /usr/share/chmsee/
-xulrunner application.ini $@
+xulrunner /usr/share/chmsee/application.ini $@
cd -
diff --git a/community/darkstat/PKGBUILD b/community/darkstat/PKGBUILD
index 87fd7fbf2..43247106d 100644
--- a/community/darkstat/PKGBUILD
+++ b/community/darkstat/PKGBUILD
@@ -1,24 +1,33 @@
-# $Id: PKGBUILD 65108 2012-02-20 04:47:59Z spupykin $
+# $Id: PKGBUILD 67650 2012-03-13 15:19:52Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=darkstat
-pkgver=3.0.714
-pkgrel=2
+pkgver=3.0.715
+pkgrel=1
pkgdesc="Network statistics gatherer (packet sniffer)."
url="http://dmr.ath.cx/net/darkstat/"
license=("GPL")
arch=(i686 x86_64)
-depends=('libpcap' 'zlib')
-source=(http://dmr.ath.cx/net/darkstat/$pkgname-$pkgver.tar.bz2)
-md5sums=('eef385fadc8dbb611d3d4c4d8fa94817')
+depends=('libpcap' 'zlib' 'gcc-libs')
+source=(http://dmr.ath.cx/net/darkstat/darkstat-$pkgver.tar.bz2
+ darkstat
+ darkstat.conf)
+install=darkstat.install
+md5sums=('5b7abc7538dcd8e30667dac150e81d77'
+ '1021f95fabe16cfab4c95f6264d535e5'
+ 'aa9a9effd1e8f08860afcd6439fc94c5')
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd $srcdir/darkstat-$pkgver
./configure --prefix=/usr
make
}
package() {
- cd $srcdir/$pkgname-$pkgver
+ cd $srcdir/darkstat-$pkgver
make DESTDIR=$pkgdir install
+
+ # darkstat script
+ install -D -m755 "$srcdir"/darkstat "$pkgdir"/etc/rc.d/darkstat
+ install -D -m644 "$srcdir"/darkstat.conf "$pkgdir"/etc/conf.d/darkstat.conf
}
diff --git a/community/darkstat/darkstat b/community/darkstat/darkstat
new file mode 100755
index 000000000..26df1761a
--- /dev/null
+++ b/community/darkstat/darkstat
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+daemon_bin="/usr/sbin/darkstat"
+daemon_name=$(basename $daemon_bin)
+daemon_chroot=/var/$daemon_name
+daemon_database="$daemon_name.dat"
+daemon_output="$daemon_chroot/$daemon_name.out"
+PIDF="$daemon_chroot/$daemon_name.pid"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $PIDF ] && rm -f $PIDF
+ # RUN
+ $daemon_bin --user "$daemon_name" --chroot "$daemon_chroot" \
+ --import "$daemon_database" \
+ --export "$daemon_database" \
+ --pidfile "$(basename $PIDF)" \
+ -i "$DARKSTAT_IFACE" \
+ $DARKSTAT_ARGS \
+ 2>&1 | tee "$daemon_output"
+ ret=$?
+ grep -q error "$daemon_output" 2>/dev/null
+ error_output=$?
+ rm -f "$daemon_output"
+ #
+ if [ $ret -gt 0 -o $error_output -eq 0 ] ; then
+ stat_fail
+ rm -f "$PIDF"
+ exit 1
+ else
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $PIDF &> /dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
+exit 0
diff --git a/community/darkstat/darkstat.conf b/community/darkstat/darkstat.conf
new file mode 100644
index 000000000..63517ef9a
--- /dev/null
+++ b/community/darkstat/darkstat.conf
@@ -0,0 +1,2 @@
+DARKSTAT_IFACE="eth0"
+DARKSTAT_ARGS=""
diff --git a/community/darkstat/darkstat.install b/community/darkstat/darkstat.install
new file mode 100644
index 000000000..a92bba909
--- /dev/null
+++ b/community/darkstat/darkstat.install
@@ -0,0 +1,14 @@
+daemon_name=darkstat
+daemon_chroot=/var/"$daemon_name"
+
+post_install() {
+ /usr/sbin/useradd -s /bin/false -r -N -g nobody "$daemon_name"
+ if [ ! -d "$daemon_chroot" ]; then
+ install -d "$daemon_chroot"
+ fi
+ chown -R "$daemon_name":nobody "$daemon_chroot"
+}
+
+post_remove() {
+ /usr/sbin/userdel "$daemon_name"
+}
diff --git a/community/dbmail/PKGBUILD b/community/dbmail/PKGBUILD
index 9610e41c8..f05535f4a 100644
--- a/community/dbmail/PKGBUILD
+++ b/community/dbmail/PKGBUILD
@@ -1,67 +1,50 @@
-# $Id: PKGBUILD 42470 2011-03-16 21:11:47Z jelle $
+# $Id: PKGBUILD 67633 2012-03-13 14:56:32Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sebastian Faltoni <sebastian.faltoni@gmail.com>
pkgname=dbmail
-pkgver=2.2.17
-pkgrel=2
+pkgver=3.0.2
+pkgrel=1
pkgdesc="Fast and scalable sql based mail services"
arch=('i686' 'x86_64')
-# mhash libevent libzdb
-depends=('gmime22')
-makedepends=('asciidoc' 'xmlto' 'docbook-xsl' 'docbook-xml' 'postgresql-libs>=8.4.1' 'sqlite3' 'libmysqlclient' 'libldap>=2.4.18' 'libsieve')
-optdepends=('postgresql-libs: for PostgreSQL storage backend'
- 'sqlite3: for SQLite storage backend'
- 'libmysqlclient: for MySQL storage backend'
- 'libldap: for LDAP authentication'
+depends=('gmime24' 'libzdb' 'mhash' 'libevent')
+makedepends=('asciidoc' 'xmlto' 'docbook-xsl' 'docbook-xml' 'postgresql-libs>=8.4.1'
+ 'sqlite3' 'libmysqlclient' 'libldap>=2.4.18' 'libsieve')
+optdepends=('postgresql-libs: for PostgreSQL storage backend'
+ 'sqlite3: for SQLite storage backend'
+ 'libmysqlclient: for MySQL storage backend'
+ 'libldap: for LDAP authentication'
'libsieve: for dbmail-sieve')
url="http://www.dbmail.org"
license=('GPL')
options=('!libtool' 'zipman')
backup=(etc/conf.d/dbmail)
-source=(http://www.dbmail.org/download/2.2/$pkgname-${pkgver}.tar.gz \
- dbmail.conf.d \
+conflicts=('dbmail')
+provides=('dbmail')
+source=(http://www.dbmail.org/download/3.0/dbmail-${pkgver/_/-}.tar.gz
+ dbmail.conf.d
dbmail.rc.d)
-md5sums=('20d90596d6aea066e701a6cb91445a39'
+md5sums=('eb32235abffdf967253ee9d004e0e4a9'
'e7f72bc360decdb2475266391ad12329'
'099225611da20ec194c092ac9befc33c')
build() {
- cd $srcdir/$pkgname-${pkgver}/
+ cd $srcdir/dbmail-${pkgver/_/-}/
-# Uncoment this if you want pam authentication
-# patch -p1 <$srcdir/dbmail-2.2.10-pam-support.patch
-# automake
-# autoconf
-
-# Apply these patches if you want to use MySQL 5.1.* < 5.1.47
-# See MySQL bug: http://bugs.mysql.com/bug.php?id=38745
-if false; then
- patch -p0 dbmail-message.c <<EOF
-744c744
-< "FROM %smessageblks "
----
-> "FROM %smessageblks use index(physmessage_id_index) "
-EOF
- patch -p0 db.c <<EOF
-2139c2139
-< "SELECT message_idnr FROM %smessages "
----
-> "SELECT message_idnr FROM %smessages use index(mailbox_idnr_index) "
-EOF
-fi
-
- ./configure --prefix=/usr --with-mysql --with-pgsql --with-sqlite --with-ldap --with-sieve
- make || return 1
- make DESTDIR=$pkgdir install || return 1
+ [ -f Makefile ] || ./configure --prefix=/usr --with-ldap --with-sieve
+ make
+}
- (cd man && make && make install DESTDIR=$pkgdir) || return 1
+package() {
+ cd $srcdir/dbmail-${pkgver/_/-}/
+ make DESTDIR=$pkgdir install
+ (cd man && make && make install DESTDIR=$pkgdir)
- mkdir $pkgdir/etc && \
- install -Dm644 dbmail.conf $pkgdir/etc/dbmail.conf.sample && \
- install -Dm644 ../${pkgname}.conf.d $pkgdir/etc/conf.d/${pkgname} && \
- install -Dm755 ../${pkgname}.rc.d $pkgdir/etc/rc.d/${pkgname} && \
- mkdir $pkgdir/usr/share/dbmail && \
- cp -r sql/* $pkgdir/usr/share/dbmail/ && \
+ mkdir $pkgdir/etc
+ install -Dm644 dbmail.conf $pkgdir/etc/dbmail.conf.sample
+ install -Dm644 ../dbmail.conf.d $pkgdir/etc/conf.d/dbmail
+ install -Dm755 ../dbmail.rc.d $pkgdir/etc/rc.d/dbmail
+ mkdir $pkgdir/usr/share/dbmail
+ cp -r sql/* $pkgdir/usr/share/dbmail/
cp dbmail.schema $pkgdir/usr/share/dbmail/
}
diff --git a/community/desmume/PKGBUILD b/community/desmume/PKGBUILD
index 65a01fb7d..5138954fd 100644
--- a/community/desmume/PKGBUILD
+++ b/community/desmume/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 38953 2011-02-03 21:59:54Z bfanella $
+# $Id: PKGBUILD 67526 2012-03-13 10:38:03Z giovanni $
# Maintainer: Jonathan Conder <jonno dot conder at gmail dot com>
# Maintainer: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Arkham <arkham at archlinux dot us>
@@ -12,23 +12,31 @@
pkgname=desmume
pkgver=0.9.7
-pkgrel=3
+pkgrel=4
pkgdesc="Nintendo DS emulator"
arch=('i686' 'x86_64')
url="http://desmume.org/"
license=('GPL')
-depends=('agg' 'gtkglext' 'intltool' 'libgl' 'libglade' 'mesa')
+depends=('agg' 'gtkglext' 'libglade' 'desktop-file-utils' 'libpcap')
+makedepends=('intltool')
replaces=('desmume-core' 'desmume-cli' 'desmume-gtk' 'desmume-glade')
-source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
-sha256sums=('0a0f7ef3cc76ff0bbc6f3df47c3689653617074ea7ffc354e9fa1240c5336523')
+install=desmume.install
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+ 'desmume-0.9.7-zlib.1.2.6-fix.patch')
+sha256sums=('0a0f7ef3cc76ff0bbc6f3df47c3689653617074ea7ffc354e9fa1240c5336523'
+ 'baaf68be32f09690975d6309af6988c038e708ef322ed7e4b370d87087c7b6ba')
build() {
- cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr --enable-wifi
- make
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "${srcdir}/desmume-0.9.7-zlib.1.2.6-fix.patch"
+
+ ./configure --prefix=/usr \
+ --enable-wifi
+ make
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir/" install
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
}
diff --git a/community/desmume/desmume-0.9.7-zlib.1.2.6-fix.patch b/community/desmume/desmume-0.9.7-zlib.1.2.6-fix.patch
new file mode 100644
index 000000000..8cac7cb67
--- /dev/null
+++ b/community/desmume/desmume-0.9.7-zlib.1.2.6-fix.patch
@@ -0,0 +1,40 @@
+--- a/src/ROMReader.cpp 2012/02/09 21:33:57 4177
++++ b/src/ROMReader.cpp 2012/02/10 19:58:06 4178
+@@ -140,7 +140,7 @@
+
+ void GZIPROMReaderDeInit(void * file)
+ {
+- gzclose(file);
++ gzclose((gzFile)file);
+ }
+
+ u32 GZIPROMReaderSize(void * file)
+@@ -150,22 +150,22 @@
+
+ /* FIXME this function should first save the current
+ * position and restore it after size calculation */
+- gzrewind(file);
+- while (gzeof (file) == 0)
+- size += gzread(file, useless, 1024);
+- gzrewind(file);
++ gzrewind((gzFile)file);
++ while (gzeof ((gzFile)file) == 0)
++ size += gzread((gzFile)file, useless, 1024);
++ gzrewind((gzFile)file);
+
+ return size;
+ }
+
+ int GZIPROMReaderSeek(void * file, int offset, int whence)
+ {
+- return gzseek(file, offset, whence);
++ return gzseek((gzFile)file, offset, whence);
+ }
+
+ int GZIPROMReaderRead(void * file, void * buffer, u32 size)
+ {
+- return gzread(file, buffer, size);
++ return gzread((gzFile)file, buffer, size);
+ }
+ #endif
+
diff --git a/community/desmume/desmume.install b/community/desmume/desmume.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/community/desmume/desmume.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/docbook2x/PKGBUILD b/community/docbook2x/PKGBUILD
index 33f3ceaa3..4bc84cdc8 100644
--- a/community/docbook2x/PKGBUILD
+++ b/community/docbook2x/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 65128 2012-02-20 04:55:47Z spupykin $
+# $Id: PKGBUILD 67604 2012-03-13 14:04:01Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
pkgname=docbook2x
pkgver=0.8.8
-pkgrel=10
+pkgrel=11
pkgdesc="A software package that converts DocBook documents into the traditional Unix man page format and the GNU Texinfo format."
arch=('i686' 'x86_64')
url="http://docbook2x.sourceforge.net"
license=("MIT")
-depends=('glibc' 'perl-sgmls' 'perlxml' 'perl-xml-sax' 'libxslt')
+depends=('glibc' 'perl-sgmls' 'perlxml' 'perl-xml-sax' 'libxslt' 'jade')
makedepends=('texinfo')
install=docbook2x.install
source=(http://downloads.sourceforge.net/$pkgname/docbook2X-$pkgver.tar.gz
diff --git a/community/dvdisaster/PKGBUILD b/community/dvdisaster/PKGBUILD
index d9b1130c9..66ad45549 100644
--- a/community/dvdisaster/PKGBUILD
+++ b/community/dvdisaster/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 42285 2011-03-16 04:44:26Z ebelanger $
+# $Id: PKGBUILD 67594 2012-03-13 13:14:16Z lcarlier $
# Contributor: Biru Ionut <ionut@archlinux.ro>
# Contributor: Luke McCarthy <luke@iogopro.co.uk>
# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=dvdisaster
-pkgver=0.72.2
+pkgver=0.72.3
pkgrel=1
pkgdesc="Provides a margin of safety against data loss on CD and DVD media caused by aging or scratches"
arch=('i686' 'x86_64')
@@ -13,11 +13,17 @@ license=('GPL')
depends=('gtk2')
options=('!makeflags')
source=(http://dvdisaster.net/downloads/${pkgname}-${pkgver}.tar.bz2 dvdisaster.desktop)
-md5sums=('312bceef3bf9c0754cf633ed3b12eb71' '3a0d6657c47b20a43b93c0e5d58d755a')
-sha1sums=('f560990e2047ecf0be50c425262046828399fbc3' 'b1e6f372508157923bbb83da7b9af2a51137c589')
+md5sums=('4eb09c1aa3cdbc1dafdb075148fb471d'
+ '3a0d6657c47b20a43b93c0e5d58d755a')
+sha1sums=('6ed08f8e52f4b90b39134b0caf9b5f0df221b0da'
+ 'b1e6f372508157923bbb83da7b9af2a51137c589')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # fix png tools building with libpng-1.5.x
+ sed -i '24i#include <zlib.h>' tools/pngio.h
+
./configure --prefix=/usr \
--mandir=/usr/share/man --docdir=/usr/share/doc \
--localedir=/usr/share/locale \
@@ -27,6 +33,7 @@ build() {
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
+
make BUILDROOT="${pkgdir}" install
rm -f "${pkgdir}/usr/bin/dvdisaster-uninstall.sh"
install -D -m 644 ${srcdir}/dvdisaster.desktop \
diff --git a/community/e4rat/PKGBUILD b/community/e4rat/PKGBUILD
index 85186118a..aaf86e69f 100644
--- a/community/e4rat/PKGBUILD
+++ b/community/e4rat/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 57697 2011-11-01 11:45:09Z mtorromeo $
+# $Id: PKGBUILD 67597 2012-03-13 13:26:27Z lcarlier $
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
# Contributor: graysky <graysky AT archlinux DOT us>
pkgname=e4rat
pkgver=0.2.1
-pkgrel=5
+pkgrel=6
pkgdesc="Toolset to accelerate the boot process and application startups for systems with ext4 root partitions."
arch=('i686' 'x86_64')
url="http://e4rat.sourceforge.net/"
@@ -14,19 +14,21 @@ makedepends=('audit' 'boost' 'cmake')
options=(!strip)
backup=(etc/e4rat.conf)
source=(http://downloads.sourceforge.net/project/$pkgname/$pkgver/e4rat_${pkgver}_src.tar.gz)
+md5sums=('cbb1f3cdd2b8c96b4402028da07b11f2')
+sha256sums=('c509f165eff317f80f5d13d7b370514c457df4542ff3b31bee4c26f97ce89769')
build() {
- unset LDFLAGS
- cd "$srcdir/$pkgname-$pkgver"
- cmake -DCMAKE_BUILD_TYPE=Release .
- make
+ cd "$srcdir/$pkgname-$pkgver"
+
+ unset LDFLAGS
+ cmake -DCMAKE_BUILD_TYPE=Release .
+ make
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
- install -dm755 "$pkgdir/var/lib/$pkgname"
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -dm755 "$pkgdir/var/lib/$pkgname"
}
-md5sums=('cbb1f3cdd2b8c96b4402028da07b11f2')
-sha256sums=('c509f165eff317f80f5d13d7b370514c457df4542ff3b31bee4c26f97ce89769')
diff --git a/community/emacs-nox/PKGBUILD b/community/emacs-nox/PKGBUILD
index 56333d367..c47461314 100644
--- a/community/emacs-nox/PKGBUILD
+++ b/community/emacs-nox/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 43323 2011-03-24 20:49:58Z jlichtblau $
+# $Id: PKGBUILD 67599 2012-03-13 13:43:30Z lcarlier $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Chris Brannon <cmbrannon@cox.net>
pkgname=emacs-nox
-pkgver=23.3
-pkgrel=2
+pkgver=23.4
+pkgrel=1
pkgdesc="The Emacs Editor, without X11 support"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/emacs/emacs.html"
@@ -17,38 +17,43 @@ options=('docs')
changelog=$pkgname.changelog
install=$pkgname.install
source=(ftp://ftp.gnu.org/gnu/emacs/emacs-${pkgver}.tar.gz)
-sha256sums=('0038248a4299708a8717f2f5ba48f1c0f15e95ffc5fcfb08cbe5c3146757e34c')
+sha256sums=('b9a2b8434052771f797d2032772eba862ff9aa143029efc72295170607289c18')
build() {
cd ${srcdir}/emacs-$pkgver
-#gcc 4.5 Workaround: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43904
+ # gcc 4.5 Workaround: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43904
CFLAGS="${CFLAGS} -fno-optimize-sibling-calls"\
./configure --prefix=/usr --without-x --without-sound
-#we don't want to use /usr/libexec
+ # we don't want to use /usr/libexec
sed -i "s|\"/usr/libexec/emacs.*$|\"/usr/lib/emacs/$pkgver\"|g" src/epaths.h
-# mv newepaths.h src/epaths.h || return 1
+ # mv newepaths.h src/epaths.h
make libexecdir=/usr/lib archlibdir=/usr/lib/emacs/${pkgver}
+}
+
+package() {
+ cd ${srcdir}/emacs-$pkgver
+
make prefix=${pkgdir}/usr libexecdir=${pkgdir}/usr/lib \
archlibdir=${pkgdir}/usr/lib/emacs/${pkgver} install
-#remove conflict with ctags package
+ # remove conflict with ctags package
mv ${pkgdir}/usr/bin/{ctags,ctags.emacs}
mv ${pkgdir}/usr/bin/{etags,etags.emacs}
mv ${pkgdir}/usr/share/man/man1/{etags.1,etags.emacs.1}
mv ${pkgdir}/usr/share/man/man1/{ctags.1,ctags.emacs.1}
-#fix all the 777 perms on directories
+ # fix all the 777 perms on directories
find ${pkgdir}/usr/share/emacs/$pkgver -type d -exec chmod 755 {} \;
-#fix user/root permissions on usr/share files
+ # fix user/root permissions on usr/share files
find ${pkgdir}/usr/share/emacs/$pkgver -exec chown root.root {} \;
-#remove empty files
+ # remove empty files
rm -rf ${pkgdir}/usr/var
-#remove .desktop file and icons
+ # remove .desktop file and icons
rm -rf ${pkgdir}/usr/share/{applications,icons}
-#get rid of the package's info directory, install-info adds entries for us at install-time
+ # get rid of the package's info directory, install-info adds entries for us at install-time
rm ${pkgdir}/usr/share/info/dir
gzip -9nf ${pkgdir}/usr/share/info/*
}
diff --git a/community/epic4/PKGBUILD b/community/epic4/PKGBUILD
index f975aa7c5..7c8e9a1c5 100644
--- a/community/epic4/PKGBUILD
+++ b/community/epic4/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 14425 2010-04-03 12:15:33Z foutrelis $
+# $Id: PKGBUILD 67602 2012-03-13 13:59:58Z lcarlier $
# Maintainer: Mateusz Herych <heniekk@gmail.com>
# Maintainer: dorphell <dorphell@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
@@ -6,8 +6,8 @@
pkgname=epic4
pkgver=2.10.1
-pkgrel=2
-pkgdesc="EPIC4 is a new direction in ircII development"
+pkgrel=3
+pkgdesc="It's a new direction in ircII development"
arch=('i686' 'x86_64')
url="http://www.epicsol.org/"
license=('custom')
@@ -16,18 +16,26 @@ source=(ftp://ftp.epicsol.org/pub/epic/EPIC4-PRODUCTION/$pkgname-$pkgver.tar.gz)
md5sums=('6f08a04494d0f5543b5f8f3c1ac56d11')
build() {
- cd $startdir/src/$pkgname-$pkgver
+ cd ${srcdir}/$pkgname-$pkgver
+
./configure --prefix=/usr \
--mandir=/usr/share/man \
--with-ssl \
--with-ipv6 \
--with-perl \
--with-tcl
- make || return 1
- make prefix=$startdir/pkg/usr install || return 1
- install -D -m 644 COPYRIGHT $startdir/pkg/usr/share/licenses/$pkgname/COPYRIGHT
- mkdir -p $pkgdir/usr/lib/$pkgname
- mv $pkgdir/usr/libexec/wserv4 $pkgdir/usr/lib/$pkgname
- rm -rf $pkgdir/usr/libexec
+
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make prefix=${pkgdir}/usr install
+
+ install -D -m 644 COPYRIGHT ${pkgdir}/usr/share/licenses/$pkgname/COPYRIGHT
+ mkdir -p ${pkgdir}/usr/lib/$pkgname
+ mv ${pkgdir}/usr/libexec/wserv4 $pkgdir/usr/lib/$pkgname
+ rm -rf ${pkgdir}/usr/libexec
}
diff --git a/community/fb-client/PKGBUILD b/community/fb-client/PKGBUILD
index 03e1ffb67..41293b975 100644
--- a/community/fb-client/PKGBUILD
+++ b/community/fb-client/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: Florian "Bluewind" Pritz <flo@xssn.at>
pkgname=fb-client
-pkgver=0.9.1
+pkgver=1.0.2
pkgrel=1
pkgdesc="Client for paste.xinu.at"
arch=('i686' 'x86_64')
@@ -9,8 +9,8 @@ license=('GPL3')
depends=('curl')
optdepends=('xclip: for automatically copying the URL into the clipboard')
source=(http://paste.xinu.at/data/client/fb-$pkgver.tar.gz{,.sig})
-md5sums=('dcb979b6d31ea56fde107251b92aaaca'
- '08b1ac48b3da676621655d80c4c6a66d')
+md5sums=('b5b33d773b3145e4e2306e970d0b5ca1'
+ '07ef0f054d05d74ad75336dc32b956e4')
build() {
cd "$srcdir/fb-$pkgver"
diff --git a/community/fcrackzip/PKGBUILD b/community/fcrackzip/PKGBUILD
index 58f3821ba..3c0fa15ad 100644
--- a/community/fcrackzip/PKGBUILD
+++ b/community/fcrackzip/PKGBUILD
@@ -1,23 +1,28 @@
+# $Id: PKGBUILD 67610 2012-03-13 14:10:18Z lcarlier $
# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
# Maintainer: Daenyth <Daenyth+Arch at gmail dot com>
pkgname=fcrackzip
pkgver=1.0
-pkgrel=2
+pkgrel=3
pkgdesc="A zip file password cracker"
arch=('i686' 'x86_64')
-url="http://www.goof.com/pcg/marc/$pkgname.html"
+url="http://oldhome.schmorp.de/marc/$pkgname.html"
license=('GPL')
depends=(glibc)
-source=(http://www.goof.com/pcg/marc/data/$pkgname-$pkgver.tar.gz)
+source=(http://oldhome.schmorp.de/marc/data/$pkgname-$pkgver.tar.gz)
md5sums=('254941f51759f9425965f4b05fe7ac2c')
build() {
- cd $srcdir/$pkgname-$pkgver
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=$pkgdir install
- mv $pkgdir/usr/bin/zipinfo $pkgdir/usr/bin/fzipinfo
+ cd ${srcdir}/$pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
}
-# vim:set ts=2 sw=2 et:
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+ mv ${pkgdir}/usr/bin/zipinfo ${pkgdir}/usr/bin/fzipinfo
+}
diff --git a/community/fdupes/PKGBUILD b/community/fdupes/PKGBUILD
index 220f932ac..3ad9caa47 100644
--- a/community/fdupes/PKGBUILD
+++ b/community/fdupes/PKGBUILD
@@ -1,24 +1,28 @@
-# $Id: PKGBUILD 17235 2010-05-22 14:11:06Z daenyth $
+# $Id: PKGBUILD 67613 2012-03-13 14:16:46Z lcarlier $
# Maintainer: Daenyth <Daenyth+Arch at gmail dot com>
# Contributor: Chris Winter <twidds at gmail dot com>
pkgname=fdupes
pkgver=1.40
-pkgrel=5
+pkgrel=6
pkgdesc="a program for identifying or deleting duplicate files residing within specified directories"
arch=('i686' 'x86_64')
-url="http://premium.caribe.net/~adrian2/fdupes.html"
+url="http://code.google.com/p/fdupes/"
license=('MIT')
-source=(http://premium.caribe.net/~adrian2/programs/$pkgname-$pkgver.tar.gz LICENSE)
+depends=(glibc)
+source=(http://fdupes.googlecode.com/files/$pkgname-$pkgver.tar.gz LICENSE)
md5sums=('11de9ab4466089b6acbb62816b30b189' '47f17890218f832f870bf7a02eaeb017')
build() {
cd $srcdir/$pkgname-$pkgver
- install -d $pkgdir/usr/{share/man/man1,bin}
- make || return 1
- make INSTALLDIR=$pkgdir/usr/bin MANPAGEDIR=$pkgdir/usr/share/man install
- install -D -m644 ../LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ make
}
+package(){
+ cd $srcdir/$pkgname-$pkgver
+
+ install -d ${pkgdir}/usr/{share/man/man1,bin}
-# vim:set ts=2 sw=2 et:
+ make INSTALLDIR=${pkgdir}/usr/bin MANPAGEDIR=${pkgdir}/usr/share/man install
+ install -D -m644 ../LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community/flobopuyo/PKGBUILD b/community/flobopuyo/PKGBUILD
index 81c5ecd31..4531d93f9 100644
--- a/community/flobopuyo/PKGBUILD
+++ b/community/flobopuyo/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 33471 2010-11-24 20:38:37Z jlichtblau $
+# $Id: PKGBUILD 67617 2012-03-13 14:21:37Z lcarlier $
# Maintainer : Jaroslav Lichtblau <tu@dragonlord.cz>
# Contributor: Angelo Theodorou <encelo@users.sourceforge.net>
# contributor: Laurent Carlier <lordheavym@gmail.com>
pkgname=flobopuyo
pkgver=0.20
-pkgrel=5
+pkgrel=6
pkgdesc="Clone of the famous PuyoPuyo"
arch=('i686' 'x86_64')
url="http://freshmeat.net/projects/$pkgname/"
diff --git a/community/freevo/PKGBUILD b/community/freevo/PKGBUILD
index c07ec2f34..06bc412ae 100644
--- a/community/freevo/PKGBUILD
+++ b/community/freevo/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 51736 2011-07-13 19:46:02Z rvanharen $
+# $Id: PKGBUILD 67624 2012-03-13 14:36:08Z lcarlier $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
pkgname=freevo
pkgver=1.9.0
-pkgrel=6
+pkgrel=7
pkgdesc="Freevo is an open-source home theatre PC platform based on Linux and a number of open-source audio/video tools."
url="http://freevo.sourceforge.net/"
license=('GPL2')
@@ -23,22 +23,21 @@ sha1sums=('0533a2d4ff8a7b09b3b233fdf303ff56bda22d16'
'57e1099527603500c594fbffa2cb7233b636eed1')
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd ${srcdir}/$pkgname-$pkgver
# patch from http://sourceforge.net/tracker/index.php?func=detail&aid=2924872&group_id=46652&atid=446895
- patch -p0 < $srcdir/imdb-html5lib.patch
- python2 setup.py install --prefix=$pkgdir/usr
+ patch -p0 < ${srcdir}/imdb-html5lib.patch
+ python2 setup.py install --prefix=${pkgdir}/usr
- install -Dm644 local_conf.py.example $pkgdir/usr/share/doc/freevo/local_conf.py.example
+ install -Dm644 local_conf.py.example ${pkgdir}/usr/share/doc/freevo/local_conf.py.example
# install .desktop file and icon
- install -Dm644 $srcdir/$pkgname-$pkgver/share/icons/misc/freevo_app.png \
- $pkgdir/usr/share/pixmaps/freevo.png
- install -Dm644 $srcdir/freevo.desktop \
- $pkgdir/usr/share/applications/freevo.desktop
+ install -Dm644 ${srcdir}/$pkgname-$pkgver/share/icons/misc/freevo_app.png \
+ ${pkgdir}/usr/share/pixmaps/freevo.png
+ install -Dm644 ${srcdir}/freevo.desktop \
+ ${pkgdir}/usr/share/applications/freevo.desktop
# fix executable for python 2.7
- sed -i "s|search = ('python', 'python2')|search = ('python2', 'python2.7')|" $pkgdir/usr/bin/freevo
-
- }
+ sed -i "s|search = ('python', 'python2')|search = ('python2', 'python2.7')|" ${pkgdir}/usr/bin/freevo
+}
diff --git a/community/gdmap/PKGBUILD b/community/gdmap/PKGBUILD
index 6295d89d7..ea5be993f 100644
--- a/community/gdmap/PKGBUILD
+++ b/community/gdmap/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 22488 2010-07-21 22:10:21Z lcarlier $
+# $Id: PKGBUILD 67645 2012-03-13 15:14:31Z lcarlier $
# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com>
pkgname=gdmap
pkgver=0.8.1
-pkgrel=2
+pkgrel=3
pkgdesc="Tool to inspect the used space of folders."
arch=('i686' 'x86_64')
url="http://gdmap.sourceforge.net"
@@ -11,14 +11,20 @@ license=('GPL')
depends=('gtk2' 'glib2' 'libxml2')
makedepends=('gettext' 'intltool')
source=(http://downloads.sourceforge.net/sourceforge/gdmap/$pkgname-$pkgver.tar.gz \
- fix_deprecated_GTK_WIDGET_SENSITIVE.diff)
+ gtk-fix.patch)
md5sums=('54b43354dbe774810104607ad1eaaed3'
- '98bf658a1994a5e6b7aafc738640d05b')
+ 'a5488ae69fa778cd35398b99bb1d6c94')
build() {
cd ${srcdir}/gdmap-$pkgver
- patch -p1 < ../fix_deprecated_GTK_WIDGET_SENSITIVE.diff
+ cd src
+ # fix deprecated gtk macros call
+ patch -Np0 -i ../../gtk-fix.patch
+ # fix linking
+ sed -i -e 's/@LIBXML_LIBS@/@LIBXML_LIBS@ -lm/g' Makefile.in
+ cd ..
+
./configure --prefix=/usr
make
}
diff --git a/community/gdmap/gtk-fix.patch b/community/gdmap/gtk-fix.patch
new file mode 100644
index 000000000..c6269f1dc
--- /dev/null
+++ b/community/gdmap/gtk-fix.patch
@@ -0,0 +1,50 @@
+--- gui_support.c 2008/05/23 14:54:28 1.2
++++ gui_support.c 2012/01/06 13:51:36 1.3
+@@ -2,8 +2,8 @@
+ * distributed under the terms of the GNU Public License. See the
+ * file COPYING for details.
+ */
+-/* $Revision: 1.2 $
+- * $Date: 2008/05/23 14:54:28 $
++/* $Revision: 1.3 $
++ * $Date: 2012/01/06 13:51:36 $
+ * $Author: sgop $
+ */
+
+@@ -85,7 +85,11 @@
+ const char* text;
+
+ (void)event;
++#if GTK_CHECK_VERSION(2,20,0)
++ if (gtk_widget_get_sensitive(GTK_WIDGET(label))) {
++#else
+ if (GTK_WIDGET_SENSITIVE(label)) {
++#endif
+ char* temp;
+
+ text = g_object_get_data(G_OBJECT(label), "label");
+@@ -129,7 +133,11 @@
+ void ui_event_label_set_sensitive(GtkWidget* ebox, gboolean set) {
+ gpointer callback = g_object_get_data(G_OBJECT(ebox), "callback");
+ GtkWidget* child = GTK_BIN(ebox)->child;
++#if GTK_CHECK_VERSION(2,20,0)
++ if (gtk_widget_get_sensitive(child) == set) return;
++#else
+ if (GTK_WIDGET_SENSITIVE(child) == set) return;
++#endif
+
+ if (set && !callback) return;
+ gtk_widget_set_sensitive(child, set);
+@@ -164,8 +172,11 @@
+ // GDK_FOCUS_CHANGE_MASK |
+ GDK_ENTER_NOTIFY_MASK |
+ GDK_LEAVE_NOTIFY_MASK);
++#if GTK_CHECK_VERSION(2,22,0)
++ gtk_widget_set_can_focus(ebox, TRUE);
++#else
+ GTK_WIDGET_SET_FLAGS(ebox, GTK_CAN_FOCUS);
+-
++#endif
+ gtk_widget_show(ebox);
+
+ temp = g_strdup_printf(EVENT_FMT, text);
diff --git a/community/gebabbel/PKGBUILD b/community/gebabbel/PKGBUILD
index 76a1a7e8f..82174dd00 100644
--- a/community/gebabbel/PKGBUILD
+++ b/community/gebabbel/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 38898 2011-02-02 23:26:37Z jlichtblau $
+# $Id: PKGBUILD 67652 2012-03-13 15:27:16Z lcarlier $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: pfm <nl081130@yahoo.de>
pkgname=gebabbel
pkgver=0.4
-pkgrel=4
+pkgrel=5
pkgdesc="GUI for gpsbabel"
arch=('i686' 'x86_64')
url="http://gebabbel.sourceforge.net/"
@@ -39,7 +39,7 @@ package() {
install -D -m644 ${srcdir}/$pkgname.desktop \
${pkgdir}/usr/share/applications/$pkgname.desktop
-#localization
+ #localization
install -d ${pkgdir}/usr/share/$pkgname/locale
install -t ${pkgdir}/usr/share/$pkgname/locale/ \
${srcdir}/Gebabbel-$pkgver/binincludes/translations/*.qm
diff --git a/community/gigedit/PKGBUILD b/community/gigedit/PKGBUILD
index 9ce2cef8e..179d5aa46 100644
--- a/community/gigedit/PKGBUILD
+++ b/community/gigedit/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 27583 2010-09-25 09:59:21Z schiv $
+# $Id: PKGBUILD 67675 2012-03-13 18:24:44Z lcarlier $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: svoufff <svoufff at gmail dot com>
# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
pkgname=gigedit
pkgver=0.2.0
-pkgrel=1
+pkgrel=2
pkgdesc="Gigasampler instrument editor"
arch=(i686 x86_64)
url="http://www.linuxsampler.org/"
@@ -19,6 +19,9 @@ md5sums=('eadfc82118460206e8f83c104f9d2a3a')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ # fix linking
+ sed -i -e 's/@LIBS@/@LIBS@ -lsigc-2.0/g' src/gigedit/Makefile.in
+
./configure --prefix=/usr
make
}
diff --git a/community/girara/PKGBUILD b/community/girara/PKGBUILD
new file mode 100644
index 000000000..a7d91c1d2
--- /dev/null
+++ b/community/girara/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 67564 2012-03-13 12:32:28Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: mlq <mlq@pwmt.org>
+
+pkgbase=girara
+pkgname=(girara-common girara-gtk2 girara-gtk3)
+pkgver=0.1.1
+pkgrel=1
+pkgdesc="user interface library"
+arch=('i686' 'x86_64')
+url="http://pwmt.org/projects/girara"
+license=('custom')
+makedepends=('gtk3' 'gtk2')
+source=(http://pwmt.org/projects/girara/download/girara-$pkgver.tar.gz)
+md5sums=('baa3ddb35703474c4a32dd2535785670')
+
+build() {
+ true
+}
+
+package_girara-common() {
+ depends=()
+ pkgdesc="user interface library - common files"
+
+ cd "$srcdir/girara-$pkgver"
+
+ make clean
+
+ # install header
+ make DESTDIR="$pkgdir/" install-headers
+
+ # install language files
+ make DESTDIR="$pkgdir/" -C po install
+
+ # remove pkgconfig files
+ rm -r $pkgdir/usr/lib/pkgconfig
+
+ # install license
+ install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_girara-gtk2() {
+ depends=('gtk2' 'girara-common')
+ provides=('girara')
+
+ cd "$srcdir/girara-$pkgver"
+
+ make clean
+ make GIRARA_GTK_VERSION=2
+
+ # install files
+ make GIRARA_GTK_VERSION=2 DESTDIR="$pkgdir/" install
+
+ # remove common files
+ rm -r "$pkgdir/usr/include"
+ rm -r "$pkgdir/usr/share"
+
+ # install license
+ install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_girara-gtk3() {
+ depends=('gtk3' 'girara-common')
+ provides=('girara')
+
+ cd "$srcdir/girara-$pkgver"
+
+ make clean
+ make GIRARA_GTK_VERSION=3
+
+ # install files
+ make GIRARA_GTK_VERSION=3 DESTDIR="$pkgdir/" install
+
+ # remove common files
+ rm -r "$pkgdir/usr/include"
+ rm -r "$pkgdir/usr/share"
+
+ # install license
+ install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community/gmime24/PKGBUILD b/community/gmime24/PKGBUILD
new file mode 100644
index 000000000..d72951ccf
--- /dev/null
+++ b/community/gmime24/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 67635 2012-03-13 14:57:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=gmime24
+pkgver=2.4.32
+pkgrel=1
+pkgdesc="Core mime parsing library"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://spruce.sourceforge.net/gmime/"
+depends=('glib2' 'zlib')
+makedepends=('pkgconfig')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/gmime-${pkgver}.tar.xz)
+md5sums=('46a52361d43769d20dbd87aa225bc3f9')
+
+build() {
+ # get rid of that .wapi errors in fakeroot
+ export MONO_SHARED_DIR="${srcdir}/weird"
+ mkdir -p "${MONO_SHARED_DIR}"
+
+ cd ${srcdir}/gmime-${pkgver}
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr \
+ --disable-mono \
+ --disable-static
+ make
+ make DESTDIR=${pkgdir} install
+
+ # These are gmime alternatives for the same shareutils tools
+ rm -rf ${pkgdir}/usr/bin/uuencode ${pkgdir}/usr/bin/uudecode ${pkgdir}/usr/share
+}
diff --git a/community/gtk2hs-buildtools/PKGBUILD b/community/gtk2hs-buildtools/PKGBUILD
index 2eec21229..5f9816df0 100644
--- a/community/gtk2hs-buildtools/PKGBUILD
+++ b/community/gtk2hs-buildtools/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 67044 2012-03-03 16:09:25Z tdziedzic $
+# $Id: PKGBUILD 67585 2012-03-13 12:44:00Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=gtk2hs-buildtools
-pkgver=0.12.1
-pkgrel=2
+pkgver=0.12.3
+pkgrel=1
pkgdesc="Tools to build the Gtk2Hs suite of User Interface libraries."
url="http://hackage.haskell.org/package/gtk2hs-buildtools"
license=('GPL2')
@@ -13,7 +13,7 @@ depends=('gmp')
options=('strip')
provides=('haskell-gtk2hs-buildtools')
source=(http://hackage.haskell.org/packages/archive/gtk2hs-buildtools/$pkgver/gtk2hs-buildtools-$pkgver.tar.gz)
-md5sums=('225cbf3736b5ac3053f8c797687c7554')
+md5sums=('18b6eefca1db8898aa9f790bfc9b5ad0')
build() {
cd ${srcdir}/gtk2hs-buildtools-$pkgver
diff --git a/community/haskell-cairo/PKGBUILD b/community/haskell-cairo/PKGBUILD
index 05b65a6ee..9af4c4cd4 100644
--- a/community/haskell-cairo/PKGBUILD
+++ b/community/haskell-cairo/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 67050 2012-03-03 16:09:51Z tdziedzic $
+# $Id: PKGBUILD 67618 2012-03-13 14:21:56Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=haskell-cairo
-pkgver=0.12.2
-pkgrel=2
+pkgver=0.12.3
+pkgrel=1
pkgdesc="Binding to the cairo library for Gtk2Hs."
url="http://hackage.haskell.org/package/cairo"
license=('LGPL2.1')
@@ -16,11 +16,10 @@ provides=('gtk2hs-cairo')
replaces=('gtk2hs-cairo')
install=gtk2hs-cairo.install
source=(http://hackage.haskell.org/packages/archive/cairo/$pkgver/cairo-$pkgver.tar.gz)
-md5sums=('b3583136fe84d25cd9d4f7bda3c3db0c')
+md5sums=('cdb322086f5b78a7611650b2b29826b3')
build() {
cd ${srcdir}/cairo-$pkgver
- sed -i 's#cToBool :: Num a => a -> Bool#cToBool :: (Eq a, Num a) => a -> Bool#' Graphics/Rendering/Cairo/Types.chs
runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
--prefix=/usr --docdir=/usr/share/doc/haskell-cairo \
--libsubdir=\$compiler/site-local/\$pkgid
diff --git a/community/haskell-glib/PKGBUILD b/community/haskell-glib/PKGBUILD
index 1f31860dc..0b74ceec2 100644
--- a/community/haskell-glib/PKGBUILD
+++ b/community/haskell-glib/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 67054 2012-03-03 16:10:24Z tdziedzic $
+# $Id: PKGBUILD 67605 2012-03-13 14:06:20Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=haskell-glib
-pkgver=0.12.2
-pkgrel=2
+pkgver=0.12.3
+pkgrel=1
pkgdesc="Binding to the GLIB library for Gtk2Hs."
url="http://hackage.haskell.org/package/glib"
license=('LGPL2.1')
@@ -16,11 +16,10 @@ provides=('gtk2hs-glib')
replaces=('gtk2hs-glib')
conflicts=('gtk2hs-glib')
source=(http://hackage.haskell.org/packages/archive/glib/$pkgver/glib-$pkgver.tar.gz)
-md5sums=('5d8a04be9a975fb70c6508f95aeb3265')
+md5sums=('ace7b5a3ae64dc10886c701e3a7684cb')
build() {
cd ${srcdir}/glib-$pkgver
- sed -i 's|cap=rts_evalIO|rts_evalIO|' System/Glib/hsgclosure.c
runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
--prefix=/usr --docdir=/usr/share/doc/haskell-glib \
--libsubdir=\$compiler/site-local/\$pkgid
diff --git a/community/haskell-gtk/PKGBUILD b/community/haskell-gtk/PKGBUILD
index 415881fe9..060c24cd4 100644
--- a/community/haskell-gtk/PKGBUILD
+++ b/community/haskell-gtk/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 67056 2012-03-03 16:10:32Z tdziedzic $
+# $Id: PKGBUILD 67620 2012-03-13 14:23:58Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=haskell-gtk
-pkgver=0.12.2
-pkgrel=2
+pkgver=0.12.3
+pkgrel=1
pkgdesc="Binding to the gtk library for Gtk2Hs."
url="http://hackage.haskell.org/package/gtk"
license=('LGPL2.1')
@@ -16,7 +16,7 @@ conflicts=('gtk2hs-gtk')
options=('strip')
install=gtk2hs-gtk.install
source=(http://hackage.haskell.org/packages/archive/gtk/$pkgver/gtk-$pkgver.tar.gz)
-md5sums=('a80d6f2ab90c673059270f2dd83c4686')
+md5sums=('65a65b5cc1e1db0fbf722779a7044ded')
build() {
cd ${srcdir}/gtk-${pkgver}
diff --git a/community/haskell-pango/PKGBUILD b/community/haskell-pango/PKGBUILD
index ff6d0017b..bf74c6d06 100644
--- a/community/haskell-pango/PKGBUILD
+++ b/community/haskell-pango/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 67062 2012-03-03 16:10:53Z tdziedzic $
+# $Id: PKGBUILD 67607 2012-03-13 14:08:52Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=haskell-pango
-pkgver=0.12.2
-pkgrel=2
+pkgver=0.12.3
+pkgrel=1
pkgdesc="Binding to the pango library for Gtk2Hs."
url="http://hackage.haskell.org/package/pango"
license=('LGPL2.1')
@@ -16,7 +16,7 @@ conflicts=('gtk2hs-pango')
options=('strip')
source=(http://hackage.haskell.org/packages/archive/pango/${pkgver}/pango-${pkgver}.tar.gz)
install=gtk2hs-pango.install
-md5sums=('301efd2d2348698ce8d586ee14c36e2b')
+md5sums=('1ef3132cb569703d5b1bc262c9d86fe3')
build() {
cd ${srcdir}/pango-${pkgver}
diff --git a/community/homebank/PKGBUILD b/community/homebank/PKGBUILD
index 34875c7c9..4a1c1f191 100644
--- a/community/homebank/PKGBUILD
+++ b/community/homebank/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 42119 2011-03-13 21:12:41Z jlichtblau $
+# $Id: PKGBUILD 67546 2012-03-13 11:59:17Z giovanni $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=homebank
pkgver=4.4
-pkgrel=1
+pkgrel=2
pkgdesc="Free, easy, personal accounting for everyone"
arch=('i686' 'x86_64')
url="http://homebank.free.fr/"
@@ -12,7 +12,6 @@ license=('GPL')
depends=('desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'libofx' 'librsvg' 'perlxml' 'shared-mime-info')
makedepends=('intltool')
install=$pkgname.install
-changelog=$pkgname.changelog
source=(http://homebank.free.fr/public/$pkgname-$pkgver.tar.gz)
sha256sums=('13b89373575e3ac229d2683aa7296778ad7cdae1a7a019c9124a1d5b23dce7d2')
diff --git a/community/hostapd/PKGBUILD b/community/hostapd/PKGBUILD
index 7e354a274..caa14c7c5 100644
--- a/community/hostapd/PKGBUILD
+++ b/community/hostapd/PKGBUILD
@@ -1,10 +1,9 @@
-# $Id: PKGBUILD 66310 2012-02-23 14:02:47Z allan $
+# $Id: PKGBUILD 67614 2012-03-13 14:20:23Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-_madwifiver=0.9.4.4133
pkgname=hostapd
pkgver=0.7.3
-pkgrel=7
+pkgrel=8
pkgdesc="daemon for wireless software access points"
arch=('i686' 'x86_64')
url="http://hostap.epitest.fi/hostapd/"
@@ -26,15 +25,13 @@ backup=('etc/hostapd/hostapd.conf'
'etc/hostapd/wired.conf')
install=hostapd.install
source=(http://hostap.epitest.fi/releases/$pkgname-$pkgver.tar.gz
- ftp://ftp.archlinux.org/other/madwifi/madwifi-${_madwifiver}.tar.bz2
hostap_allow-linking-with-libnl-3.2.patch
config
hostapd
hostapd.conf.d)
md5sums=('91a7c8d0f090b7104152d3455a84c112'
- 'ca3c3504d000e7b3d7063af46271c932'
'e904e62b12c5d64132dd9441e8b45dce'
- 'bfe5701bc93d5d091e6f1a93f1a32dd6'
+ '5d7ee10b04e33f22c37be56a4c33dddb'
'd570327c385f34a4af24d3a0d61cea19'
'f169534b0f59b341f6df1a21e0344511')
@@ -45,7 +42,6 @@ build() {
cd hostapd
cp "$srcdir/config" ./.config
- sed -i "s|@@madwifi@@|$srcdir/madwifi|" .config
sed -i 's#/etc/hostapd#/etc/hostapd/hostapd#' hostapd.conf
make
@@ -53,7 +49,7 @@ build() {
package() {
cd "$srcdir/$pkgname-$pkgver/hostapd"
-
+
install -D hostapd "$pkgdir/usr/bin/hostapd"
install hostapd_cli "$pkgdir/usr/bin/hostapd_cli"
@@ -61,7 +57,7 @@ package() {
install -m644 -t "$pkgdir/etc/hostapd" \
hostapd.{accept,conf,deny,eap_user,radius_clients,sim_db,vlan,wpa_psk} \
wired.conf
-
+
install -Dm644 hostapd.8 "$pkgdir/usr/share/man/man8/hostapd.8"
install -Dm644 hostapd_cli.1 "$pkgdir/usr/share/man/man1/hostapd_cli.1"
diff --git a/community/hostapd/config b/community/hostapd/config
index d77e77461..a11ebd587 100644
--- a/community/hostapd/config
+++ b/community/hostapd/config
@@ -15,10 +15,6 @@ CONFIG_DRIVER_HOSTAP=y
# Driver interface for wired authenticator
CONFIG_DRIVER_WIRED=y
-# Driver interface for madwifi driver
-CONFIG_DRIVER_MADWIFI=y
-CFLAGS += -I@@madwifi@@ # change to reflect local setup; directory for madwifi src
-
# Driver interface for Prism54 driver
CONFIG_DRIVER_PRISM54=y
diff --git a/community/hostapd/hostapd.install b/community/hostapd/hostapd.install
index 801187e71..d838c6a47 100644
--- a/community/hostapd/hostapd.install
+++ b/community/hostapd/hostapd.install
@@ -1,20 +1,7 @@
post_install() {
- echo "> Note: You will find some config examples in"
- echo "> /etc/hostapd. The default location of several"
- echo "> key configuration files for hostapd are in"
- echo "> /etc/hostapd as well. They are:"
- echo "> hostapd.conf --> primary configuration file"
- echo "> hostapd.allow --> MAC allow list"
- echo "> hostapd.deny --> MAC deny list"
- echo "> Also, note that there are some self-explanatory"
- echo "> examples in the directory. Feel free to change the mac"
- echo "> list location by defining it differently in your hostapd.conf"
- echo "> file. Please, note, however. The daemon start/stop"
- echo "> script assumes you have a working config file at"
- echo "> /etc/hostapd/hostapd.conf. One final thing to remember."
- echo "> You need to install madwifi if you want support for it."
+ echo "> More info: https://wiki.archlinux.org/index.php/Software_Access_Point"
}
post_upgrade() {
- post_install
+ post_install
}
diff --git a/community/intel-tbb/PKGBUILD b/community/intel-tbb/PKGBUILD
index b730e44b3..8c547be82 100644
--- a/community/intel-tbb/PKGBUILD
+++ b/community/intel-tbb/PKGBUILD
@@ -1,31 +1,31 @@
-# $Id: PKGBUILD 61487 2012-01-01 12:33:54Z andrea $
-# Maintainer:
+# $Id: PKGBUILD 67699 2012-03-14 01:27:34Z stephane $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Denis Martinez <deuns.martinez AT gmail.com>
pkgname=intel-tbb
-pkgver=4.0_20111130
+pkgver=4.0_20120201
pkgrel=1
-pkgdesc='An award-winning C++ runtime library that abstracts the low-level threading details necessary for optimal multi-core performance'
+pkgdesc='High level abstract threading library'
arch=('i686' 'x86_64')
url='http://www.threadingbuildingblocks.org/'
license=('GPL')
depends=('gcc-libs')
-source=("http://threadingbuildingblocks.org/uploads/77/180/4.0%20update%202/tbb40_20111130oss_src.tgz")
-md5sums=('1e6926b21e865e79772119cd44fc3ad8')
+source=("http://threadingbuildingblocks.org/uploads/77/182/4.0%20update%203/tbb40_20120201oss_src.tgz")
+md5sums=('4669e7d4adee018de7a7b8b972987218')
build() {
- cd tbb${pkgver/\./}oss
+ cd "${srcdir}"/tbb${pkgver/\./}oss
make
}
package() {
- cd tbb${pkgver/\./}oss
+ cd "${srcdir}"/tbb${pkgver/\./}oss
- install -d ${pkgdir}/usr/lib
- install -m755 build/linux_*/*.so* ${pkgdir}/usr/lib
+ install -d "${pkgdir}"/usr/lib
+ install -m755 build/linux_*/*.so* "${pkgdir}"/usr/lib
- install -d ${pkgdir}/usr/include
- cp -pr include/tbb ${pkgdir}/usr/include
+ install -d "${pkgdir}"/usr/include
+ cp -a include/tbb "${pkgdir}"/usr/include
}
diff --git a/community/kid3/PKGBUILD b/community/kid3/PKGBUILD
index 678b86096..2e267a527 100644
--- a/community/kid3/PKGBUILD
+++ b/community/kid3/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 58975 2011-11-20 18:17:53Z jlichtblau $
+# $Id: PKGBUILD 67670 2012-03-13 17:34:12Z lcarlier $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Alois Nespor <alois.nespor@gmail.com>
pkgname=kid3
pkgver=2.0.1
-pkgrel=1
+pkgrel=2
pkgdesc="An MP3, Ogg/Vorbis and FLAC tag editor for KDE"
arch=('i686' 'x86_64')
url="http://kid3.sourceforge.net/"
license=('GPL')
-depends=('id3lib' 'qt' 'tunepimp')
-makedepends=('automoc4' 'cmake' 'docbook-xml' 'docbook-xsl' 'kdelibs')
+depends=('id3lib' 'qt' 'tunepimp' 'kdelibs')
+makedepends=('automoc4' 'cmake' 'docbook-xml' 'docbook-xsl')
options=('!makeflags')
install=$pkgname.install
changelog=$pkgname.changelog
diff --git a/community/lal/PKGBUILD b/community/lal/PKGBUILD
index 6a2f6cf38..69cec8e11 100644
--- a/community/lal/PKGBUILD
+++ b/community/lal/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 11660 2010-02-15 16:43:23Z jlichtblau $
+# $Id: PKGBUILD 67550 2012-03-13 12:10:00Z giovanni $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Thayer Williams <thayer@archlinux.org>
pkgname=lal
pkgver=1.1
-pkgrel=1
+pkgrel=2
pkgdesc="A simple dockapp to display the date and/or time"
arch=('i686' 'x86_64')
url="http://projects.l3ib.org/lal/"
@@ -16,9 +16,13 @@ md5sums=('9fc87db08a5c74a7bbab4095e0868457')
build() {
cd ${srcdir}/$pkgname
- make || return 1
+ make
+}
- install -D -m755 ${srcdir}/$pkgname/$pkgname ${pkgdir}/usr/bin/$pkgname || return 1
+package() {
+ cd ${srcdir}/$pkgname
+
+ install -D -m755 ${srcdir}/$pkgname/$pkgname ${pkgdir}/usr/bin/$pkgname
install -D -m644 ${srcdir}/$pkgname/docs/$pkgname.1 \
- ${pkgdir}/usr/share/man/man1/$pkgname.1 || return 1
-}
+ ${pkgdir}/usr/share/man/man1/$pkgname.1
+}
diff --git a/community/launchy/PKGBUILD b/community/launchy/PKGBUILD
index 7cc63520e..d73c2fbbf 100644
--- a/community/launchy/PKGBUILD
+++ b/community/launchy/PKGBUILD
@@ -3,23 +3,30 @@
pkgname=launchy
pkgver=2.5
-pkgrel=1
+pkgrel=2
pkgdesc="Launchy indexes the programs in your start menu and can launch your documents, project files, folders, and bookmarks with just a few keystrokes!"
arch=('i686' 'x86_64')
url="http://www.launchy.net/"
license=('GPL')
depends=('qt' 'xdg-utils')
makedepends=('gcc' 'boost')
-source=("http://downloads.sourceforge.net/launchy/launchy-${pkgver}.tar.gz")
-sha256sums=('93ec471423b77973a2118eaec64c7a1c05ce37b5bff41760336ebd14fc819500')
+source=("http://downloads.sourceforge.net/launchy/launchy-${pkgver}.tar.gz"
+ fix-linking.patch)
+sha256sums=('93ec471423b77973a2118eaec64c7a1c05ce37b5bff41760336ebd14fc819500'
+ 'e1b9203ef5071d401ab6276a38270b651488c4cc481a60a98d2c17fb38114e7d')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- qmake -r Launchy.pro || return 1
- make || return 1
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # fix linking against libX11
+ patch -Np1 -i ../fix-linking.patch
+
+ qmake -r Launchy.pro
+ make
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make INSTALL_ROOT=${pkgdir} install
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make INSTALL_ROOT=${pkgdir} install
}
diff --git a/community/launchy/fix-linking.patch b/community/launchy/fix-linking.patch
new file mode 100644
index 000000000..fbdd3f2ae
--- /dev/null
+++ b/community/launchy/fix-linking.patch
@@ -0,0 +1,11 @@
+diff -Nru launchy-2.5/src/src.pro launchy-2.5a/src/src.pro
+--- launchy-2.5/src/src.pro 2010-03-13 18:29:11.000000000 +0000
++++ launchy-2.5a/src/src.pro 2012-03-13 12:00:35.249250229 +0000
+@@ -70,6 +70,7 @@
+ ../platforms/unix/platform_x11_hotkey.h \
+ platform_base_hotkey.h \
+ platform_base_hottrigger.h
++ LIBS += -lX11
+
+ PREFIX = /usr
+ DEFINES += SKINS_PATH=\\\"$$PREFIX/share/launchy/skins/\\\" \
diff --git a/community/libev/PKGBUILD b/community/libev/PKGBUILD
index 652d1d0e2..f9179c39e 100644
--- a/community/libev/PKGBUILD
+++ b/community/libev/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 46270 2011-05-04 12:13:34Z rvanharen $
+# $Id: PKGBUILD 67524 2012-03-13 10:32:39Z lcarlier $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Thomas Haider <t.haider@vcnc.org>
pkgname=libev
-pkgver=4.04
+pkgver=4.11
pkgrel=1
pkgdesc="A full-featured and high-performance event loop"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ license=('BSD')
depends=('glibc')
options=('!libtool')
source=(http://dist.schmorp.de/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-sha1sums=('7768c2bcce30dbf76672e51642a655479dd45772')
+sha1sums=('e7752a518742c0f8086a8005aa7efcc4dcf02ed9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/community/libgexiv2/PKGBUILD b/community/libgexiv2/PKGBUILD
index bd81279e0..a86efbf14 100644
--- a/community/libgexiv2/PKGBUILD
+++ b/community/libgexiv2/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 56343 2011-10-05 19:08:19Z andrea $
+# $Id: PKGBUILD 67538 2012-03-13 11:15:40Z lcarlier $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=libgexiv2
pkgver=0.3.1
-pkgrel=1
+pkgrel=2
pkgdesc="GObject-based wrapper around the Exiv2 library."
arch=('i686' 'x86_64')
url="http://trac.yorba.org/wiki/gexiv2"
@@ -15,12 +15,14 @@ sha1sums=('828894bb4bcb4625820b8c0c468417e9cd8c5c2f')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+
./configure --prefix=/usr
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
+
make DESTDIR="${pkgdir}" install
}
diff --git a/community/libgig/PKGBUILD b/community/libgig/PKGBUILD
index 9b9442753..49d7ed254 100644
--- a/community/libgig/PKGBUILD
+++ b/community/libgig/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 27577 2010-09-25 09:27:39Z schiv $
+# $Id: PKGBUILD 67536 2012-03-13 11:11:23Z lcarlier $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: svoufff <svoufff at gmail dot com>
# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
pkgname=libgig
pkgver=3.3.0
-pkgrel=1
+pkgrel=2
pkgdesc="C++ library for loading Gigasampler and DLS files"
arch=(i686 x86_64)
url="http://www.linuxsampler.org/libgig/"
diff --git a/community/libgringotts/PKGBUILD b/community/libgringotts/PKGBUILD
index 4dfc27e40..e8665a917 100644
--- a/community/libgringotts/PKGBUILD
+++ b/community/libgringotts/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 22411 2010-07-21 18:37:34Z jlichtblau $
+# $Id: PKGBUILD 67534 2012-03-13 11:05:54Z lcarlier $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
pkgname=libgringotts
pkgver=1.2.1
-pkgrel=7
+pkgrel=8
pkgdesc="Encryption backend for Gringotts."
arch=('i686' 'x86_64')
url="http://developer.berlios.de/projects/gringotts"
@@ -19,7 +19,11 @@ build() {
autoconf
./configure --prefix=/usr
- make || return 1
+ make
+}
+pckage() {
+ cd ${srcdir}/$pkgname-$pkgver
+
make DESTDIR=${pkgdir} install
rm -fr ${pkgdir}/usr/share || return 1
diff --git a/community/libzdb/PKGBUILD b/community/libzdb/PKGBUILD
index ef3dc2aac..71f6b12fd 100644
--- a/community/libzdb/PKGBUILD
+++ b/community/libzdb/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 62125 2012-01-16 09:28:05Z spupykin $
+# $Id: PKGBUILD 67637 2012-03-13 14:57:55Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=libzdb
-pkgver=2.10
+pkgver=2.10.1
pkgrel=1
pkgdesc="Zild Database Library"
arch=(i686 x86_64)
@@ -11,7 +11,7 @@ license=('GPL')
depends=('postgresql-libs' 'sqlite3' 'libmysqlclient')
options=(!libtool)
source=(http://www.tildeslash.com/libzdb/dist/libzdb-$pkgver.tar.gz)
-md5sums=('fdc04b4b7f33cdcdfc6b559ba9965825')
+md5sums=('f0f1d87241c5605af0bcc6407d134d69')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/lincity-ng/PKGBUILD b/community/lincity-ng/PKGBUILD
index 3efb1f767..5ebdf4d1a 100644
--- a/community/lincity-ng/PKGBUILD
+++ b/community/lincity-ng/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 17998 2010-05-29 05:58:37Z ebelanger $
+# $Id: PKGBUILD 67662 2012-03-13 16:28:17Z ebelanger $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: tranquility <trankas@gmail.com>
pkgname=lincity-ng
pkgver=2.0
-pkgrel=3
+pkgrel=4
pkgdesc="A City Simulation Game. It is a polished and improved version of the classic LinCity game"
arch=('i686' 'x86_64')
url="http://lincity-ng.berlios.de/wiki/index.php/Main_Page"
@@ -17,13 +17,15 @@ sha1sums=('2961a3f60f7481b33858d7d5ef7cf9c788d01077')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- jam || return 1
+
+ ./configure --prefix=/usr
+ jam
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
- jam -sprefix="${pkgdir}/usr" install || return 1
- install -D -m644 COPYING-data.txt "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-data.txt" || return 1
- install -D -m644 COPYING-fonts.txt "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-fonts.txt" || return 1
+
+ jam -sprefix="${pkgdir}/usr" install
+ install -D -m644 COPYING-data.txt "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-data.txt"
+ install -D -m644 COPYING-fonts.txt "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-fonts.txt"
}
diff --git a/community/linuxsampler/PKGBUILD b/community/linuxsampler/PKGBUILD
index 46560fbf9..44be22aac 100644
--- a/community/linuxsampler/PKGBUILD
+++ b/community/linuxsampler/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 27576 2010-09-25 09:19:02Z schiv $
+# $Id: PKGBUILD 67532 2012-03-13 11:02:12Z lcarlier $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: svoufff <svoufff at gmail dot com>
# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
pkgname=linuxsampler
pkgver=1.0.0
-pkgrel=1
+pkgrel=2
pkgdesc="Professional-grade audio sampler alternative to Gigasampler"
arch=(i686 x86_64)
url="http://www.linuxsampler.org/"
diff --git a/community/moreutils/PKGBUILD b/community/moreutils/PKGBUILD
index 3b6f9142c..f1fba79b9 100644
--- a/community/moreutils/PKGBUILD
+++ b/community/moreutils/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 60349 2011-12-11 20:19:24Z spupykin $
+# $Id: PKGBUILD 67622 2012-03-13 14:24:57Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
pkgname=moreutils
pkgver=0.45
-pkgrel=2
+pkgrel=3
pkgdesc="A growing collection of the unix tools that nobody thought to write thirty years ago"
arch=('i686' 'x86_64')
url="http://kitenet.net/~joey/code/moreutils.html"
@@ -22,5 +22,9 @@ build() {
make DOCBOOK2XMAN=docbook2man
make PREFIX=$pkgdir/usr install
chmod 0644 $pkgdir/usr/share/man/man1/*
+
mv $pkgdir/usr/share/man/man1/ts.1 $pkgdir/usr/share/man/man1/ts.1moreutils
+
+ mv $pkgdir/usr/share/man/man1/parallel.1 $pkgdir/usr/share/man/man1/parallel-moreutils.1
+ mv $pkgdir/usr/bin/parallel $pkgdir/usr/bin/parallel-moreutils
}
diff --git a/community/open-vm-tools-modules/PKGBUILD b/community/open-vm-tools-modules/PKGBUILD
index 9134e0841..1d63d33c5 100644
--- a/community/open-vm-tools-modules/PKGBUILD
+++ b/community/open-vm-tools-modules/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 62251 2012-01-18 19:54:06Z spupykin $
+# $Id: PKGBUILD 67665 2012-03-13 16:41:27Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Krzysztof Raczkowski <raczkow@gmail.com>
pkgname=open-vm-tools-modules
pkgver=2011.12.20
_pkgsubver=562307
-pkgrel=3
+pkgrel=7
pkgdesc="kernel modules for the open source implementation of VMware Tools"
arch=('i686' 'x86_64')
url="http://open-vm-tools.sourceforge.net/"
@@ -28,8 +28,7 @@ build() {
--without-x --with-kernel-release=$KERNEL_RELEASE
cd modules
-# echo '#define COMPAT_LINUX_VERSION_CHECK_LT(a, b, c) 1' >>linux/shared/compat_version.h
- make modules
+ make modules -j1
}
package() {
diff --git a/community/open-vm-tools-modules/open-vm-tools-modules.install b/community/open-vm-tools-modules/open-vm-tools-modules.install
index ba2f9ddc2..d2a8f1d62 100644
--- a/community/open-vm-tools-modules/open-vm-tools-modules.install
+++ b/community/open-vm-tools-modules/open-vm-tools-modules.install
@@ -1,5 +1,5 @@
post_install() {
- EXTRAMODULES='extramodules-3.1-ARCH'
+ EXTRAMODULES='extramodules-3.2-ARCH'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
echo ">>> Enabling vmxnet driver in /etc/modprobe.d/open-vm-tools-modules.conf"
echo ">>> (this will disable pcnet32 driver)"
@@ -10,12 +10,12 @@ post_install() {
}
post_upgrade() {
- EXTRAMODULES='extramodules-3.1-ARCH'
+ EXTRAMODULES='extramodules-3.2-ARCH'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
post_remove() {
- EXTRAMODULES='extramodules-3.1-ARCH'
+ EXTRAMODULES='extramodules-3.2-ARCH'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
echo ">>>"
echo ">>> Remember to un-blacklist pcnet32 driver"
diff --git a/community/osmo/PKGBUILD b/community/osmo/PKGBUILD
index 85cd6cf49..9f84f2a8a 100644
--- a/community/osmo/PKGBUILD
+++ b/community/osmo/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 41472 2011-03-06 22:23:29Z heftig $
+# $Id: PKGBUILD 67694 2012-03-14 00:29:40Z giovanni $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
# Contributor: Benzo <mb_benzo@yahoo.es>
pkgname=osmo
pkgver=0.2.10
-pkgrel=5
+pkgrel=6
pkgdesc="A handy personal organizer"
arch=('i686' 'x86_64')
url="http://clayo.org/osmo/"
@@ -14,8 +14,8 @@ depends=('gtk2>=2.12' 'gtkspell' 'hicolor-icon-theme' 'libical' 'libnotify' 'li
makedepends=('pkgconfig' 'libtar')
optdepends=('sox: to play sounds')
install=$pkgname.install
-source=(http://downloads.sourceforge.net/osmo-pim/$pkgname-$pkgver.tar.gz
- osmo-0.2.10-libnotify-0.7.patch)
+source=("http://downloads.sourceforge.net/osmo-pim/$pkgname-$pkgver.tar.gz"
+ 'osmo-0.2.10-libnotify-0.7.patch')
md5sums=('a774db748228efee96186158d553ade9'
'0b146a548f2d3208dc88e6501a8f3448')
diff --git a/community/perl-dbd-pg/PKGBUILD b/community/perl-dbd-pg/PKGBUILD
index 7e9df2677..aa23749a1 100644
--- a/community/perl-dbd-pg/PKGBUILD
+++ b/community/perl-dbd-pg/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 66028 2012-02-22 14:46:24Z spupykin $
+# $Id: PKGBUILD 67587 2012-03-13 12:46:53Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-dbd-pg
-pkgver=2.18.1
-pkgrel=2
+pkgver=2.19.2
+pkgrel=1
pkgdesc="Postgres Driver for DBI"
arch=('i686' 'x86_64')
url="http://search.cpan.org/dist/DBD-Pg"
@@ -12,21 +12,17 @@ license=('GPL' 'PerlArtistic')
depends=('perl-dbi>=1.52' 'postgresql-libs')
options=('!emptydirs')
source=("http://www.cpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-${pkgver}.tar.gz")
-md5sums=('1f4a837b3d79789ad6854443fce7a901')
+md5sums=('67c859593e40959b42b3ef23ce6b581e')
build() {
cd DBD-Pg-${pkgver}
-
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-
make
}
package() {
cd DBD-Pg-${pkgver}
-
make install DESTDIR=${pkgdir}
-
find ${pkgdir} -name '.packlist' -delete
find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/python-psycopg1/PKGBUILD b/community/python-psycopg1/PKGBUILD
index 99cafbacb..de92e5214 100755
--- a/community/python-psycopg1/PKGBUILD
+++ b/community/python-psycopg1/PKGBUILD
@@ -1,20 +1,21 @@
-# $Id: PKGBUILD 60201 2011-12-07 14:41:34Z arodseth $
+# $Id: PKGBUILD 67660 2012-03-13 16:23:29Z lcarlier $
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=python-psycopg1
pkgver=1.1.21
-pkgrel=5
+pkgrel=6
pkgdesc="A PostgreSQL database adapter for Python"
arch=('i686' 'x86_64')
url="http://initd.org/projects/psycopg1"
license=('GPL')
depends=('python-egenix-mx-base' 'postgresql')
-source=(http://initd.org/pub/software/psycopg/psycopg-$pkgver.tar.gz)
+source=(http://initd.org/psycopg/tarballs/PSYCOPG-1-1/psycopg-$pkgver.tar.gz)
md5sums=('a31f79f68d6d32898d6f24e11369a106')
sha1sums=('02d8a8b5dd682306117896c7c63a9a1b518997b6')
build() {
cd "$srcdir/psycopg-$pkgver"
+
./configure --prefix=/usr --with-python=/usr/bin/python2 \
--with-mxdatetime-includes=/usr/lib/python2.7/site-packages/mx/DateTime/mxDateTime
sed -e 's:\(echo " install -m 555 $$mod \)\($(PY_MOD_DIR)\)\("; \\\):\1${DESTDIR}\2/$$mod\3:' \
@@ -25,5 +26,6 @@ build() {
package() {
cd "$srcdir/psycopg-$pkgver"
+
make DESTDIR="$pkgdir" install
}
diff --git a/community/radvd/PKGBUILD b/community/radvd/PKGBUILD
index 6e6d9fd1f..f995de0ae 100644
--- a/community/radvd/PKGBUILD
+++ b/community/radvd/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 66970 2012-03-03 00:47:31Z seblu $
+# $Id: PKGBUILD 67688 2012-03-13 21:44:10Z seblu $
# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# Contributor: Kaiting Chen <kaitocracy@gmail.com>
# Contributor: Mark Smith <markzzzsmith@yahoo.com.au>
pkgname=radvd
pkgver=1.8.5
-pkgrel=1
+pkgrel=2
pkgdesc='IPv6 Router Advertisement Daemon'
url='http://www.litech.org/radvd/'
license=('custom')
@@ -17,9 +17,9 @@ source=("http://www.litech.org/radvd/dist/$pkgname-$pkgver.tar.gz"
"$pkgname.conf"
"$pkgname.service")
sha1sums=('344c145bd29938b7eefb0210cf92bf18df3e191d'
- '7b187db1f0ba2897cc07ea14233c079593b69ef0'
- 'd7755ac7e752452e5ac92d2bfd970db00525902d'
- 'd95dc4d650a086641d62bf42806669e0a407d1df')
+ '9acb452eede739ca6ce42c9470e8bf258a3dddf4'
+ '63ce41d790a0472e6b3b15928f6a71d1dbb7700d'
+ '9cb6b2eaaf445fe8d17dfc50fde15709d4de7d1d')
build() {
cd ${pkgname}-${pkgver}
diff --git a/community/radvd/radvd.conf b/community/radvd/radvd.conf
index 26cd410d1..47811d6cc 100644
--- a/community/radvd/radvd.conf
+++ b/community/radvd/radvd.conf
@@ -1,3 +1,7 @@
# vim:set ts=2 sw=2 ft=sh noet:
-DAEMON_OPTS='--logmethod syslog'
+# daemon pid file
+#PIDFILE='/run/radvd.pid'
+
+# daemon options. treated as an array.
+DAEMON_OPTS=('--logmethod=syslog')
diff --git a/community/radvd/radvd.rc b/community/radvd/radvd.rc
index b5dc6e27b..fdd9ee8ce 100644
--- a/community/radvd/radvd.rc
+++ b/community/radvd/radvd.rc
@@ -6,12 +6,15 @@
NAME='IPv6 Router Advertisement Daemon'
DAEMON=/usr/sbin/radvd
-PID=$(pidof -o %PPID $DAEMON)
+PIDFILE=${PIDFILE:-/run/${0##*/}.pid}
+DAEMON_OPTS+=("--pidfile=$PIDFILE")
+[[ -r "$PIDFILE" ]] && read PID < "$PIDFILE"
case "$1" in
start)
stat_busy "Starting $NAME daemon"
- [[ ! $PID ]] && $DAEMON $DAEMON_OPTS && add_daemon $NAME && stat_done && exit 0
+ [[ ! $PID ]] && $DAEMON "${DAEMON_OPTS[@]}" &&
+ add_daemon $NAME && stat_done && exit 0
stat_fail
;;
stop)
diff --git a/community/radvd/radvd.service b/community/radvd/radvd.service
index 47a5f7f67..f6f5ad67e 100644
--- a/community/radvd/radvd.service
+++ b/community/radvd/radvd.service
@@ -2,7 +2,7 @@
Description=IPv6 Router Advertisement Daemon
[Service]
-ExecStart=/usr/sbin/radvd --nodaemon --logmethod stderr
+ExecStart=/usr/sbin/radvd --nodaemon --logmethod=stderr
[Install]
WantedBy=multi-user.target
diff --git a/community/swftools/PKGBUILD b/community/swftools/PKGBUILD
index 061a58fb1..3532e6056 100644
--- a/community/swftools/PKGBUILD
+++ b/community/swftools/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 24938 2010-08-29 18:32:45Z jlichtblau $
+# $Id: PKGBUILD 67692 2012-03-14 00:02:45Z giovanni $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Vinay S Shastry <vinayshastry@gmail.com>
pkgname=swftools
pkgver=0.9.1
-pkgrel=1
+pkgrel=2
pkgdesc="A collection of SWF manipulation and creation utilities"
arch=('i686' 'x86_64')
url="http://www.swftools.org/"
diff --git a/community/sysstat/PKGBUILD b/community/sysstat/PKGBUILD
index cf6c4299d..da9ed099b 100644
--- a/community/sysstat/PKGBUILD
+++ b/community/sysstat/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 61857 2012-01-09 10:22:30Z spupykin $
+# $Id: PKGBUILD 67591 2012-03-13 12:49:15Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Martin Devera <devik@cdi.cz>
pkgname=sysstat
-pkgver=10.0.3
-pkgrel=2
+pkgver=10.0.4
+pkgrel=1
pkgdesc="a collection of performance monitoring tools (iostat,isag,mpstat,pidstat,sadf,sar)"
arch=('i686' 'x86_64')
url="http://pagesperso-orange.fr/sebastien.godard/"
@@ -17,7 +17,7 @@ backup=('etc/conf.d/sysstat'
'etc/conf.d/sysstat.ioconf')
source=(http://pagesperso-orange.fr/sebastien.godard/$pkgname-$pkgver.tar.gz
sysstat)
-md5sums=('0e1ed5200f31f69a3b90ff1e81c07745'
+md5sums=('c84fd7774080dae34f47257175a0b187'
'3ce41ebf7330aba01e70b38658afed1f')
build() {
diff --git a/community/tea/PKGBUILD b/community/tea/PKGBUILD
index af2105e9c..a14d27dc9 100644
--- a/community/tea/PKGBUILD
+++ b/community/tea/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 67323 2012-03-08 16:33:52Z spupykin $
+# $Id: PKGBUILD 67575 2012-03-13 12:37:07Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Roman Kyrylych <roman@archlinux.org>
@@ -6,7 +6,7 @@
# Contributor: Zsolt Varadi <sysop_xxl@fibermail.hu>
pkgname=tea
-pkgver=32.0.0
+pkgver=32.0.1
pkgrel=1
pkgdesc="A QT-based text editor for Linux and *BSD. With an ultimate small size TEA provides you hundreds of functions."
arch=('i686' 'x86_64')
@@ -16,7 +16,7 @@ depends=('qt' 'aspell' 'hunspell')
install=tea.install
source=(http://downloads.sourceforge.net/project/tea-editor/tea-editor/$pkgver/tea-$pkgver.tar.bz2
tea.desktop)
-md5sums=('42414e1e429d9dd20f4dcda1bedc1163'
+md5sums=('64c439a40743dffbf39b7b4a156d784c'
'377ace3363124f4c086de0babb820761')
build() {
diff --git a/community/tinc/PKGBUILD b/community/tinc/PKGBUILD
index b9d82940a..4581b2c20 100644
--- a/community/tinc/PKGBUILD
+++ b/community/tinc/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 60867 2011-12-19 16:25:32Z tredaelli $
+# $Id: PKGBUILD 67628 2012-03-13 14:39:35Z tredaelli $
# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
# Contributor: helios
# Contributor: Lothar Gesslein
pkgname=tinc
-pkgver=1.0.16
+pkgver=1.0.17
pkgrel=1
pkgdesc="VPN (Virtual Private Network) daemon"
arch=('i686' 'x86_64')
@@ -13,9 +13,10 @@ license=('GPL')
depends=('lzo2' 'openssl')
backup=(etc/conf.d/tincd.conf)
install=tinc.install
-source=("http://www.tinc-vpn.org/packages/tinc-$pkgver.tar.gz"
- "tincd.rc" "tincd.conf")
-md5sums=('f1c7ed94878725fb2cf4efb02bf160da'
+source=(http://www.tinc-vpn.org/packages/tinc-$pkgver.tar.gz{,.sig}
+ tincd.rc tincd.conf)
+md5sums=('cd9e94e472584f9fe96cd86b42345afe'
+ 'dc30876057f888cb40b9e442ec54247b'
'64bb53748d9051255f243003f0d511f5'
'7c0276d4812cc5d3cc18142562a3aa82')
diff --git a/community/windowlab/PKGBUILD b/community/windowlab/PKGBUILD
index 80237ed83..d126cc250 100644
--- a/community/windowlab/PKGBUILD
+++ b/community/windowlab/PKGBUILD
@@ -1,21 +1,23 @@
+# $Id: PKGBUILD 67590 2012-03-13 12:48:45Z giovanni $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Jeff Mickey <jeff@archlinux.org>
# Contributor: phrakture <aaronmgriffin -at- gmail.dot.com>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=windowlab
pkgver=1.40
-pkgrel=1
+pkgrel=2
pkgdesc="A small and simple window manager."
arch=('i686' 'x86_64')
url="http://www.nickgravgaard.com/windowlab"
license=('GPL')
-depends=('xorg-server' 'libxft')
-source=(http://www.nickgravgaard.com/windowlab/${pkgname}-${pkgver}.tar)
+depends=('xorg-server' 'libxft' 'libxext')
+source=("http://www.nickgravgaard.com/windowlab/${pkgname}-${pkgver}.tar")
md5sums=('346f8c187838a446b4cbb2326d035577')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- make PREFIX=/usr || return 1
+ make PREFIX=/usr
}
package() {
diff --git a/community/xpacman2/PKGBUILD b/community/xpacman2/PKGBUILD
index 93d4ad8ec..15ab053ba 100644
--- a/community/xpacman2/PKGBUILD
+++ b/community/xpacman2/PKGBUILD
@@ -1,29 +1,25 @@
-# $Id: PKGBUILD 17713 2010-05-24 20:46:58Z spupykin $
+# $Id: PKGBUILD 67641 2012-03-13 15:00:04Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=xpacman2
pkgver=1.002
-_xpkgver=1_002
-pkgrel=3
+pkgrel=4
pkgdesc="another X pacman game"
arch=('i686' 'x86_64')
url="ftp://ftp.nvg.unit.no/pub/pacman/"
license=('GPL')
depends=(libx11 ncurses gcc-libs)
makedepends=()
-source=(ftp://ftp.nvg.unit.no/pub/pacman/pacman-$_xpkgver.tar.gz \
+source=(ftp://ftp.nvg.unit.no/pub/pacman/pacman-${pkgver/./_}.tar.gz
build-fix.patch)
-md5sums=('afcbc268d1eff6ea3a834c7a5f715f77' '4faf33134a2a74f284059a2971833fa1')
-noextract=()
+md5sums=('afcbc268d1eff6ea3a834c7a5f715f77'
+ '4faf33134a2a74f284059a2971833fa1')
build() {
- cd $srcdir/pacman-$_xpkgver
-
+ cd $srcdir/pacman-${pkgver/./_}
patch -Np1 <../build-fix.patch
-
./configure --prefix=/usr
- make || return 1
- make DESTDIR=$pkgdir install || return 1
-
+ make
+ make DESTDIR=$pkgdir install
(cd $pkgdir/usr/bin/ && mv pacman xpacman2)
}
diff --git a/community/zathura/PKGBUILD b/community/zathura/PKGBUILD
index 6f7103183..48296a9d0 100644
--- a/community/zathura/PKGBUILD
+++ b/community/zathura/PKGBUILD
@@ -1,30 +1,28 @@
-# $Id: PKGBUILD 60106 2011-12-05 11:21:55Z spupykin $
+# $Id: PKGBUILD 67648 2012-03-13 15:18:47Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: ML <neldoreth>
pkgname=zathura
-pkgver=0.0.8.5
-pkgrel=4
+pkgver=0.1.1
+pkgrel=2
pkgdesc="a PDF viewer"
arch=('i686' 'x86_64')
url="http://pwmt.org/projects/zathura/"
license=('custom')
-depends=('poppler-glib' 'gtk2' 'cairo')
+depends=('girara-gtk3' 'cairo' 'sqlite3')
makedepends=('docutils')
install=zathura.install
-DLAGENTS=('http::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
- 'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u')
-source=(https://pwmt.org/download/zathura-$pkgver.tar.gz)
-md5sums=('52e0c3b3917c7feaecba98cff8435b90')
+source=(http://pwmt.org/projects/zathura/download/zathura-$pkgver.tar.gz)
+md5sums=('1379dfb1657b323da3b521ed251bb87a')
build() {
cd $srcdir/zathura-$pkgver
- make
+ make ZATHURA_GTK_VERSION=3
}
package() {
cd $srcdir/zathura-$pkgver
- make install DESTDIR=$pkgdir
+ make install DESTDIR=$pkgdir ZATHURA_GTK_VERSION=3
install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
mkdir -p $pkgdir/etc/bash_completion.d/
echo "complete -f -X '!*.[pf]df' zathura" >$pkgdir/etc/bash_completion.d/zathura
diff --git a/community/zathura/zathura.install b/community/zathura/zathura.install
index f450cf9b8..077d7a179 100644
--- a/community/zathura/zathura.install
+++ b/community/zathura/zathura.install
@@ -6,6 +6,7 @@ post_install() {
post_upgrade() {
post_install
+ echo ">> pdf/djvu/ps support is in plugins now. Search for additional zathura-plugin-* packages."
}
post_remove() {
diff --git a/core/grep/PKGBUILD b/core/grep/PKGBUILD
index 8c5f0f507..7cae44d2a 100644
--- a/core/grep/PKGBUILD
+++ b/core/grep/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 151831 2012-03-03 08:49:06Z allan $
+# $Id: PKGBUILD 153418 2012-03-13 08:24:31Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=grep
pkgver=2.11
-pkgrel=1
+pkgrel=2
pkgdesc="A string search utility"
arch=('i686' 'x86_64')
license=('GPL3')
@@ -13,12 +13,15 @@ groups=('base')
depends=('glibc' 'pcre' 'sh')
makedepends=('texinfo')
install=${pkgname}.install
-source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
+source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
+ grep-2.11-exclude-dir-crash.patch)
md5sums=('ad9c6dbdeab93e50d2bc380f10ed3643'
- 'e4fea5e355973c951f93f48bc86f92fa')
+ 'e4fea5e355973c951f93f48bc86f92fa'
+ 'e882644cf8c1a4e37da7ba8c0867e70b')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
+ patch -p1 -i $srcdir/grep-2.11-exclude-dir-crash.patch
./configure --prefix=/usr --without-included-regex
make
}
diff --git a/core/grep/grep-2.11-exclude-dir-crash.patch b/core/grep/grep-2.11-exclude-dir-crash.patch
new file mode 100644
index 000000000..6b1731768
--- /dev/null
+++ b/core/grep/grep-2.11-exclude-dir-crash.patch
@@ -0,0 +1,44 @@
+From 12c957f786b12a4dd116f9c40a715d671d17fa16 Mon Sep 17 00:00:00 2001
+From: Allan McRae <allan@archlinux.org>
+Date: Mon, 12 Mar 2012 09:28:01 +0100
+Subject: [PATCH] grep: fix segfault with -r --exclude-dir and no file operand
+
+* src/main.c (grepdir): Don't invoke excluded_file_name on NULL.
+* NEWS (Bug fixes): Mention it.
+---
+ NEWS | 5 +++++
+ src/main.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/NEWS b/NEWS
+index d0a63d5..d4d70f5 100644
+--- a/NEWS
++++ b/NEWS
+@@ -2,6 +2,11 @@ GNU grep NEWS -*- outline -*-
+
+ * Noteworthy changes in release ?.? (????-??-??) [?]
+
++** Bug fixes
++
++ grep no longer segfaults with -r --exclude-dir and no file operand.
++ I.e., ":|grep -r --exclude-dir=D PAT" would segfault.
++
+
+ * Noteworthy changes in release 2.11 (2012-03-02) [stable]
+
+diff --git a/src/main.c b/src/main.c
+index 2f6c761..f4f1235 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -1361,7 +1361,7 @@ grepdir (char const *dir, struct stats const *stats)
+ struct stats const *ancestor;
+ char *name_space;
+ int status = 1;
+- if (excluded_directory_patterns
++ if (dir && excluded_directory_patterns
+ && excluded_file_name (excluded_directory_patterns, dir))
+ return 1;
+
+--
+1.7.9.3
+
diff --git a/core/mpfr/PKGBUILD b/core/mpfr/PKGBUILD
index 7c342a21d..a0c359fbf 100644
--- a/core/mpfr/PKGBUILD
+++ b/core/mpfr/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 142421 2011-11-09 09:27:32Z allan $
+# $Id: PKGBUILD 153420 2012-03-13 08:24:35Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=mpfr
_pkgver=3.1.0
-_patchlevel=p3
+_patchlevel=p7
pkgver=${_pkgver}.${_patchlevel}
pkgrel=1
pkgdesc="Multiple-precision floating-point library"
@@ -18,7 +18,7 @@ source=(http://www.mpfr.org/mpfr-current/mpfr-${_pkgver}.tar.xz{,.asc}
mpfr-${_pkgver}.${_patchlevel}.patch)
md5sums=('6e495841bb026481567006cec0f821c3'
'293374ee4b01527f8f7889fdfa9016f8'
- 'd65858ccddbea968d6580124320fb6a0')
+ 'fb1bf603a2ad5e6ecc1903c3c53f5e13')
build() {
cd "${srcdir}/${pkgname}-${_pkgver}"
diff --git a/core/mpfr/mpfr-3.1.0.p7.patch b/core/mpfr/mpfr-3.1.0.p7.patch
new file mode 100644
index 000000000..f3de639bc
--- /dev/null
+++ b/core/mpfr/mpfr-3.1.0.p7.patch
@@ -0,0 +1,1236 @@
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2011-10-05 21:39:57.000000000 +0000
+@@ -0,0 +1 @@
++mpfr_unlikely
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-10-03 08:17:15.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2011-10-05 21:39:57.000000000 +0000
+@@ -1 +1 @@
+-3.1.0
++3.1.0-p1
+diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
+--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000
+@@ -988,10 +988,11 @@
+ ******************************************************/
+
+ /* Theses macros help the compiler to determine if a test is
+- * likely or unlikely. */
++ likely or unlikely. The !! is necessary in case x is larger
++ than a long. */
+ #if __MPFR_GNUC(3,0) || __MPFR_ICC(8,1,0)
+ # define MPFR_LIKELY(x) (__builtin_expect(!!(x),1))
+-# define MPFR_UNLIKELY(x) (__builtin_expect((x),0))
++# define MPFR_UNLIKELY(x) (__builtin_expect(!!(x),0))
+ #else
+ # define MPFR_LIKELY(x) (x)
+ # define MPFR_UNLIKELY(x) (x)
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0"
++#define MPFR_VERSION_STRING "3.1.0-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2011-10-05 21:39:57.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0";
++ return "3.1.0-p1";
+ }
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2011-10-14 10:43:32.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2011-10-14 10:43:32.000000000 +0000
+@@ -0,0 +1 @@
++lib-search-path
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2011-10-14 10:43:32.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p1
++3.1.0-p2
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p1"
++#define MPFR_VERSION_STRING "3.1.0-p2"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2011-10-14 10:43:32.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p1";
++ return "3.1.0-p2";
+ }
+diff -Naurd mpfr-3.1.0-a/tests/Makefile.am mpfr-3.1.0-b/tests/Makefile.am
+--- mpfr-3.1.0-a/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000
+@@ -65,8 +65,24 @@
+ TESTS = $(check_PROGRAMS)
+ TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
+
+-# Option to prevent libtool from generating wrapper scripts for the tests.
++# The -no-install option prevents libtool from generating wrapper scripts
++# for the tests.
+ # This is useful to easily run the test scripts under valgrind or gdb.
+ # See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
+ # http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
+-AM_LDFLAGS = -no-install
++#
++# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
++# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
++# library is already installed in the corresponding lib directory: its
++# purpose is to make sure that the local .libs comes first in the library
++# search path (otherwise the tests are linked against the old MPFR library
++# by the LINK command -- see the generated Makefile). See:
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html
++# and
++# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
++#
++AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs
+diff -Naurd mpfr-3.1.0-a/tests/Makefile.in mpfr-3.1.0-b/tests/Makefile.in
+--- mpfr-3.1.0-a/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000
++++ mpfr-3.1.0-b/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000
+@@ -1124,11 +1124,27 @@
+ TESTS = $(check_PROGRAMS)
+ TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
+
+-# Option to prevent libtool from generating wrapper scripts for the tests.
++# The -no-install option prevents libtool from generating wrapper scripts
++# for the tests.
+ # This is useful to easily run the test scripts under valgrind or gdb.
+ # See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
+ # http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
+-AM_LDFLAGS = -no-install
++#
++# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
++# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
++# library is already installed in the corresponding lib directory: its
++# purpose is to make sure that the local .libs comes first in the library
++# search path (otherwise the tests are linked against the old MPFR library
++# by the LINK command -- see the generated Makefile). See:
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html
++# and
++# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
++#
++AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs
+ all: all-am
+
+ .SUFFIXES:
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2011-11-03 15:15:11.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2011-11-03 15:15:11.000000000 +0000
+@@ -0,0 +1 @@
++vasprintf
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-10-14 10:43:32.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2011-11-03 15:15:11.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p2
++3.1.0-p3
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p2"
++#define MPFR_VERSION_STRING "3.1.0-p3"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/vasprintf.c mpfr-3.1.0-b/src/vasprintf.c
+--- mpfr-3.1.0-a/src/vasprintf.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/vasprintf.c 2011-11-03 15:15:11.000000000 +0000
+@@ -1178,7 +1178,7 @@
+ mpfr_exp_t exp;
+ char * str;
+ const int spec_g = (spec.spec == 'g' || spec.spec == 'G');
+- const int keep_trailing_zeros = spec_g && spec.alt;
++ const int keep_trailing_zeros = !spec_g || spec.alt;
+
+ /* WARNING: an empty precision field is forbidden (it means precision = 6
+ and it should have been changed to 6 before the function call) */
+@@ -1356,7 +1356,7 @@
+ else
+ /* 1 <= |p| */
+ {
+- size_t nsd; /* Number of significant digits */
++ size_t str_len;
+
+ /* Determine the position of the most significant decimal digit. */
+ exp = floor_log10 (p);
+@@ -1365,12 +1365,10 @@
+ /* P is too large to print all its integral part digits */
+ return -1;
+
+- np->ip_size = exp + 1;
+-
+- nsd = spec.prec + np->ip_size;
+ if (dec_info == NULL)
+- {
+- str = mpfr_get_str (NULL, &exp, 10, nsd, p, spec.rnd_mode);
++ { /* this case occurs with mpfr_printf ("%.0RUf", x) with x=9.5 */
++ str =
++ mpfr_get_str (NULL, &exp, 10, spec.prec+exp+1, p, spec.rnd_mode);
+ register_string (np->sl, str);
+ }
+ else
+@@ -1379,81 +1377,60 @@
+ str = dec_info->str;
+ }
+ np->ip_ptr = MPFR_IS_NEG (p) ? ++str : str; /* skip sign */
++ str_len = strlen (str);
++
++ /* integral part */
++ if (exp > str_len)
++ /* mpfr_get_str gives no trailing zero when p is rounded up to the next
++ power of 10 (p integer, so no fractional part) */
++ {
++ np->ip_trailing_zeros = exp - str_len;
++ np->ip_size = str_len;
++ }
++ else
++ np->ip_size = exp;
+
+ if (spec.group)
+ /* thousands separator in integral part */
+ np->thousands_sep = MPFR_THOUSANDS_SEPARATOR;
+
+- if (nsd == 0 || (spec_g && !spec.alt))
+- /* compute how much non-zero digits in integral and fractional
+- parts */
++ /* fractional part */
++ str += np->ip_size;
++ str_len -= np->ip_size;
++ if (!keep_trailing_zeros)
++ /* remove trailing zeros, if any */
+ {
+- size_t str_len;
+- str_len = strlen (str); /* note: the sign has been skipped */
+-
+- if (exp > str_len)
+- /* mpfr_get_str doesn't give the trailing zeros when p is a
+- multiple of 10 (p integer, so no fractional part) */
+- {
+- np->ip_trailing_zeros = exp - str_len;
+- np->ip_size = str_len;
+- if (spec.alt)
+- np->point = MPFR_DECIMAL_POINT;
+- }
+- else
+- /* str may contain some digits which are in fractional part */
++ char *ptr = str + str_len - 1; /* pointer to the last digit of
++ str */
++ while ((*ptr == '0') && (str_len != 0))
+ {
+- char *ptr;
+-
+- ptr = str + str_len - 1; /* points to the end of str */
+- str_len -= np->ip_size; /* number of digits in fractional
+- part */
+-
+- if (!keep_trailing_zeros)
+- /* remove trailing zeros, if any */
+- {
+- while ((*ptr == '0') && (str_len != 0))
+- {
+- --ptr;
+- --str_len;
+- }
+- }
+-
+- if (str_len > INT_MAX)
+- /* too many digits in fractional part */
+- return -1;
+-
+- if (str_len != 0)
+- /* some digits in fractional part */
+- {
+- np->point = MPFR_DECIMAL_POINT;
+- np->fp_ptr = str + np->ip_size;
+- np->fp_size = str_len;
+- }
++ --ptr;
++ --str_len;
+ }
+ }
+- else
+- /* spec.prec digits in fractional part */
++
++ if (str_len > 0)
++ /* some nonzero digits in fractional part */
+ {
+- if (np->ip_size == exp - 1)
+- /* the absolute value of the number has been rounded up to a power
+- of ten.
+- Insert an additional zero in integral part and put the rest of
+- them in fractional part. */
+- np->ip_trailing_zeros = 1;
++ if (str_len > INT_MAX)
++ /* too many digits in fractional part */
++ return -1;
+
+- if (spec.prec != 0)
+- {
+- MPFR_ASSERTD (np->ip_size + np->ip_trailing_zeros == exp);
+- MPFR_ASSERTD (np->ip_size + spec.prec == nsd);
++ np->point = MPFR_DECIMAL_POINT;
++ np->fp_ptr = str;
++ np->fp_size = str_len;
++ }
+
+- np->point = MPFR_DECIMAL_POINT;
+- np->fp_ptr = str + np->ip_size;
+- np->fp_size = spec.prec;
+- }
+- else if (spec.alt)
+- np->point = MPFR_DECIMAL_POINT;
++ if (keep_trailing_zeros && str_len < spec.prec)
++ /* add missing trailing zeros */
++ {
++ np->point = MPFR_DECIMAL_POINT;
++ np->fp_trailing_zeros = spec.prec - np->fp_size;
+ }
++
++ if (spec.alt)
++ /* add decimal point even if no digits follow it */
++ np->point = MPFR_DECIMAL_POINT;
+ }
+
+ return 0;
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-10-14 10:43:32.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2011-11-03 15:15:11.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p2";
++ return "3.1.0-p3";
+ }
+diff -Naurd mpfr-3.1.0-a/tests/tsprintf.c mpfr-3.1.0-b/tests/tsprintf.c
+--- mpfr-3.1.0-a/tests/tsprintf.c 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/tsprintf.c 2011-11-03 15:15:11.000000000 +0000
+@@ -475,6 +475,18 @@
+ check_sprintf ("-1.", "%- #0.1RG", x);
+
+ /* precision zero */
++ mpfr_set_d (x, 9.5, MPFR_RNDN);
++ check_sprintf ("9", "%.0RDf", x);
++ check_sprintf ("10", "%.0RUf", x);
++
++ mpfr_set_d (x, 19.5, MPFR_RNDN);
++ check_sprintf ("19", "%.0RDf", x);
++ check_sprintf ("20", "%.0RUf", x);
++
++ mpfr_set_d (x, 99.5, MPFR_RNDN);
++ check_sprintf ("99", "%.0RDf", x);
++ check_sprintf ("100", "%.0RUf", x);
++
+ mpfr_set_d (x, -9.5, MPFR_RNDN);
+ check_sprintf ("-10", "%.0RDf", x);
+ check_sprintf ("-10", "%.0RYf", x);
+@@ -1078,6 +1090,23 @@
+ mpfr_clear (x);
+ }
+
++static void
++bug20111102 (void)
++{
++ mpfr_t t;
++ char s[100];
++
++ mpfr_init2 (t, 84);
++ mpfr_set_str (t, "999.99999999999999999999", 10, MPFR_RNDN);
++ mpfr_sprintf (s, "%.20RNg", t);
++ if (strcmp (s, "1000") != 0)
++ {
++ printf ("Error in bug20111102, expected 1000, got %s\n", s);
++ exit (1);
++ }
++ mpfr_clear (t);
++}
++
+ /* In particular, the following test makes sure that the rounding
+ * for %Ra and %Rb is not done on the MPFR number itself (as it
+ * would overflow). Note: it has been reported on comp.std.c that
+@@ -1161,6 +1190,7 @@
+ locale = setlocale (LC_ALL, "C");
+ #endif
+
++ bug20111102 ();
+ native_types ();
+ hexadecimal ();
+ binary ();
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2011-11-28 12:22:52.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2011-11-28 12:22:52.000000000 +0000
+@@ -0,0 +1 @@
++gmp41compat
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-11-03 15:15:11.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2011-11-28 12:22:52.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p3
++3.1.0-p4
+diff -Naurd mpfr-3.1.0-a/doc/mpfr.info mpfr-3.1.0-b/doc/mpfr.info
+--- mpfr-3.1.0-a/doc/mpfr.info 2011-10-03 09:43:04.000000000 +0000
++++ mpfr-3.1.0-b/doc/mpfr.info 2011-11-28 12:22:52.000000000 +0000
+@@ -2994,11 +2994,12 @@
+
+ * `mpfr_urandom' and `mpfr_urandomb' changed in MPFR 3.1. Their
+ behavior no longer depends on the platform (assuming this is also
+- true for GMP's random generator). As a consequence, the returned
+- values can be different between MPFR 3.1 and previous MPFR
+- versions. Note: as the reproducibility of these functions was not
+- specified before MPFR 3.1, the MPFR 3.1 behavior is _not_ regarded
+- as backward incompatible with previous versions.
++ true for GMP's random generator, which is not the case between GMP
++ 4.1 and 4.2 if `gmp_randinit_default' is used). As a consequence,
++ the returned values can be different between MPFR 3.1 and previous
++ MPFR versions. Note: as the reproducibility of these functions
++ was not specified before MPFR 3.1, the MPFR 3.1 behavior is _not_
++ regarded as backward incompatible with previous versions.
+
+
+ 
+@@ -4239,13 +4240,13 @@
+ Node: Type and Macro Changes129308
+ Node: Added Functions132029
+ Node: Changed Functions134972
+-Node: Removed Functions139167
+-Node: Other Changes139579
+-Node: Contributors141108
+-Node: References143574
+-Node: GNU Free Documentation License145315
+-Node: Concept Index167758
+-Node: Function and Type Index173677
++Node: Removed Functions139253
++Node: Other Changes139665
++Node: Contributors141194
++Node: References143660
++Node: GNU Free Documentation License145401
++Node: Concept Index167844
++Node: Function and Type Index173763
+ 
+ End Tag Table
+
+diff -Naurd mpfr-3.1.0-a/doc/mpfr.texi mpfr-3.1.0-b/doc/mpfr.texi
+--- mpfr-3.1.0-a/doc/mpfr.texi 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/doc/mpfr.texi 2011-11-28 12:22:52.000000000 +0000
+@@ -3466,8 +3466,9 @@
+ a lack of specification.
+
+ @item @code{mpfr_urandom} and @code{mpfr_urandomb} changed in MPFR 3.1.
+-Their behavior no longer depends on the platform (assuming this is also
+-true for GMP's random generator). As a consequence, the returned values
++Their behavior no longer depends on the platform (assuming this is also true
++for GMP's random generator, which is not the case between GMP 4.1 and 4.2 if
++@code{gmp_randinit_default} is used). As a consequence, the returned values
+ can be different between MPFR 3.1 and previous MPFR versions.
+ Note: as the reproducibility of these functions was not specified
+ before MPFR 3.1, the MPFR 3.1 behavior is @emph{not} regarded as
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p3"
++#define MPFR_VERSION_STRING "3.1.0-p4"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-11-03 15:15:11.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2011-11-28 12:22:52.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p3";
++ return "3.1.0-p4";
+ }
+diff -Naurd mpfr-3.1.0-a/tests/trandom.c mpfr-3.1.0-b/tests/trandom.c
+--- mpfr-3.1.0-a/tests/trandom.c 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/trandom.c 2011-11-28 12:22:52.000000000 +0000
+@@ -114,21 +114,29 @@
+ mpfr_t x;
+ gmp_randstate_t s;
+
++#if __MPFR_GMP(4,2,0)
++# define C1 "0.895943"
++# define C2 "0.848824"
++#else
++# define C1 "0.479652"
++# define C2 "0.648529"
++#endif
++
+ gmp_randinit_default (s);
+ gmp_randseed_ui (s, 42);
+ mpfr_init2 (x, 17);
+ mpfr_urandomb (x, s);
+- if (mpfr_cmp_str1 (x, "0.895943") != 0)
++ if (mpfr_cmp_str1 (x, C1) != 0)
+ {
+- printf ("Error in bug20100914, expected 0.895943, got ");
++ printf ("Error in bug20100914, expected " C1 ", got ");
+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
+ }
+ mpfr_urandomb (x, s);
+- if (mpfr_cmp_str1 (x, "0.848824") != 0)
++ if (mpfr_cmp_str1 (x, C2) != 0)
+ {
+- printf ("Error in bug20100914, expected 0.848824, got ");
++ printf ("Error in bug20100914, expected " C2 ", got ");
+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
+diff -Naurd mpfr-3.1.0-a/tests/turandom.c mpfr-3.1.0-b/tests/turandom.c
+--- mpfr-3.1.0-a/tests/turandom.c 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/turandom.c 2011-11-28 12:22:52.000000000 +0000
+@@ -160,23 +160,29 @@
+ mpfr_t x;
+ gmp_randstate_t s;
+
++#if __MPFR_GMP(4,2,0)
++# define C1 "0.8488312"
++# define C2 "0.8156509"
++#else
++# define C1 "0.6485367"
++# define C2 "0.9362717"
++#endif
++
+ gmp_randinit_default (s);
+ gmp_randseed_ui (s, 42);
+ mpfr_init2 (x, 17);
+ mpfr_urandom (x, s, MPFR_RNDN);
+- /* the following values are obtained on a 32-bit computer, we should get
+- the same values on a 64-bit computer */
+- if (mpfr_cmp_str1 (x, "0.8488312") != 0)
++ if (mpfr_cmp_str1 (x, C1) != 0)
+ {
+- printf ("Error in bug20100914, expected 0.8488312, got ");
++ printf ("Error in bug20100914, expected " C1 ", got ");
+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
+ }
+ mpfr_urandom (x, s, MPFR_RNDN);
+- if (mpfr_cmp_str1 (x, "0.8156509") != 0)
++ if (mpfr_cmp_str1 (x, C2) != 0)
+ {
+- printf ("Error in bug20100914, expected 0.8156509, got ");
++ printf ("Error in bug20100914, expected " C2 ", got ");
+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2012-02-24 12:44:49.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2012-02-24 12:44:49.000000000 +0000
+@@ -0,0 +1 @@
++logging-freeze
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-11-28 12:22:52.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2012-02-24 12:44:49.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p4
++3.1.0-p5
+diff -Naurd mpfr-3.1.0-a/src/add_d.c mpfr-3.1.0-b/src/add_d.c
+--- mpfr-3.1.0-a/src/add_d.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/add_d.c 2012-02-24 12:44:49.000000000 +0000
+@@ -34,7 +34,7 @@
+ (("b[%Pu]=%.*Rg c=%.20g rnd=%d",
+ mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode),
+ ("a[%Pu]=%.*Rg inexact=%d",
+- mpfr_get_prec (a), mpfr_get_prec, a, inexact));
++ mpfr_get_prec (a), mpfr_log_prec, a, inexact));
+
+ MPFR_SAVE_EXPO_MARK (expo);
+
+diff -Naurd mpfr-3.1.0-a/src/add_ui.c mpfr-3.1.0-b/src/add_ui.c
+--- mpfr-3.1.0-a/src/add_ui.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/add_ui.c 2012-02-24 12:44:49.000000000 +0000
+@@ -29,7 +29,7 @@
+ MPFR_LOG_FUNC
+ (("x[%Pu]=%.*Rg u=%d rnd=%d",
+ mpfr_get_prec(x), mpfr_log_prec, x, u, rnd_mode),
+- ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_get_prec, y));
++ ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_log_prec, y));
+
+ if (MPFR_LIKELY(u != 0) ) /* if u=0, do nothing */
+ {
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p4"
++#define MPFR_VERSION_STRING "3.1.0-p5"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/mul_d.c mpfr-3.1.0-b/src/mul_d.c
+--- mpfr-3.1.0-a/src/mul_d.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/mul_d.c 2012-02-24 12:44:49.000000000 +0000
+@@ -34,7 +34,7 @@
+ (("b[%Pu]=%.*Rg c=%.20g rnd=%d",
+ mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode),
+ ("a[%Pu]=%.*Rg inexact=%d",
+- mpfr_get_prec (a), mpfr_get_prec, a, inexact));
++ mpfr_get_prec (a), mpfr_log_prec, a, inexact));
+
+ MPFR_SAVE_EXPO_MARK (expo);
+
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-11-28 12:22:52.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2012-02-24 12:44:49.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p4";
++ return "3.1.0-p5";
+ }
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2012-02-24 13:50:05.000000000 +0000
+@@ -0,0 +1 @@
++logging-varfmt
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2012-02-24 12:44:49.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2012-02-24 13:50:05.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p5
++3.1.0-p6
+diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
+--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000
+@@ -1592,7 +1592,7 @@
+ do \
+ if ((MPFR_LOG_INTERNAL_F & mpfr_log_type) && \
+ (mpfr_log_current <= mpfr_log_level)) \
+- LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rf\n", __func__, __LINE__, \
++ LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rg\n", __func__, __LINE__, \
+ #x, mpfr_get_prec (x), mpfr_log_prec, x); \
+ while (0)
+
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p5"
++#define MPFR_VERSION_STRING "3.1.0-p6"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2012-02-24 12:44:49.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2012-02-24 13:50:05.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p5";
++ return "3.1.0-p6";
+ }
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2012-03-08 15:17:03.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2012-03-08 15:17:03.000000000 +0000
+@@ -0,0 +1 @@
++large-prec
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2012-03-08 15:17:03.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p6
++3.1.0-p7
+diff -Naurd mpfr-3.1.0-a/src/add1.c mpfr-3.1.0-b/src/add1.c
+--- mpfr-3.1.0-a/src/add1.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/add1.c 2012-03-08 15:17:03.000000000 +0000
+@@ -44,12 +44,12 @@
+ bq = MPFR_PREC(b);
+ cq = MPFR_PREC(c);
+
+- an = (aq-1)/GMP_NUMB_BITS+1; /* number of limbs of a */
++ an = MPFR_PREC2LIMBS (aq); /* number of limbs of a */
+ aq2 = (mpfr_prec_t) an * GMP_NUMB_BITS;
+ sh = aq2 - aq; /* non-significant bits in low limb */
+
+- bn = (bq-1)/GMP_NUMB_BITS+1; /* number of limbs of b */
+- cn = (cq-1)/GMP_NUMB_BITS+1; /* number of limbs of c */
++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
+
+ ap = MPFR_MANT(a);
+ bp = MPFR_MANT(b);
+@@ -124,7 +124,7 @@
+ dif = aq2 - diff_exp;
+ /* dif is the number of bits of c which overlap with a' */
+
+- difn = (dif-1)/GMP_NUMB_BITS + 1;
++ difn = MPFR_PREC2LIMBS (dif);
+ /* only the highest difn limbs from c have to be considered */
+ if (MPFR_UNLIKELY(difn > cn))
+ {
+diff -Naurd mpfr-3.1.0-a/src/add1sp.c mpfr-3.1.0-b/src/add1sp.c
+--- mpfr-3.1.0-a/src/add1sp.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/add1sp.c 2012-03-08 15:17:03.000000000 +0000
+@@ -107,7 +107,7 @@
+
+ /* Read prec and num of limbs */
+ p = MPFR_PREC(b);
+- n = (p+GMP_NUMB_BITS-1)/GMP_NUMB_BITS;
++ n = MPFR_PREC2LIMBS (p);
+ MPFR_UNSIGNED_MINUS_MODULO(sh, p);
+ bx = MPFR_GET_EXP(b);
+ d = (mpfr_uexp_t) (bx - MPFR_GET_EXP(c));
+diff -Naurd mpfr-3.1.0-a/src/agm.c mpfr-3.1.0-b/src/agm.c
+--- mpfr-3.1.0-a/src/agm.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/agm.c 2012-03-08 15:17:03.000000000 +0000
+@@ -91,7 +91,7 @@
+ q = MPFR_PREC(r);
+ p = q + MPFR_INT_CEIL_LOG2(q) + 15;
+ MPFR_ASSERTD (p >= 7); /* see algorithms.tex */
+- s = (p - 1) / GMP_NUMB_BITS + 1;
++ s = MPFR_PREC2LIMBS (p);
+
+ /* b (op2) and a (op1) are the 2 operands but we want b >= a */
+ compare = mpfr_cmp (op1, op2);
+@@ -285,7 +285,7 @@
+
+ /* Next iteration */
+ MPFR_ZIV_NEXT (loop, p);
+- s = (p - 1) / GMP_NUMB_BITS + 1;
++ s = MPFR_PREC2LIMBS (p);
+ }
+ MPFR_ZIV_FREE (loop);
+
+diff -Naurd mpfr-3.1.0-a/src/eq.c mpfr-3.1.0-b/src/eq.c
+--- mpfr-3.1.0-a/src/eq.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/eq.c 2012-03-08 15:17:03.000000000 +0000
+@@ -56,8 +56,8 @@
+ if (uexp != vexp)
+ return 0; /* no bit agree */
+
+- usize = (MPFR_PREC(u) - 1) / GMP_NUMB_BITS + 1;
+- vsize = (MPFR_PREC(v) - 1) / GMP_NUMB_BITS + 1;
++ usize = MPFR_LIMB_SIZE (u);
++ vsize = MPFR_LIMB_SIZE (v);
+
+ if (vsize > usize) /* exchange u and v */
+ {
+diff -Naurd mpfr-3.1.0-a/src/exp.c mpfr-3.1.0-b/src/exp.c
+--- mpfr-3.1.0-a/src/exp.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/exp.c 2012-03-08 15:17:03.000000000 +0000
+@@ -133,7 +133,7 @@
+ mp_size_t yn;
+ int sh;
+
+- yn = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS;
++ yn = MPFR_LIMB_SIZE (y);
+ sh = (mpfr_prec_t) yn * GMP_NUMB_BITS - MPFR_PREC(y);
+ MPFR_MANT(y)[0] += MPFR_LIMB_ONE << sh;
+ inexact = 1;
+diff -Naurd mpfr-3.1.0-a/src/get_d.c mpfr-3.1.0-b/src/get_d.c
+--- mpfr-3.1.0-a/src/get_d.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/get_d.c 2012-03-08 15:17:03.000000000 +0000
+@@ -100,7 +100,7 @@
+ nbits += (1021 + e);
+ MPFR_ASSERTD (nbits >= 1);
+ }
+- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ np = MPFR_PREC2LIMBS (nbits);
+ MPFR_ASSERTD ( np <= MPFR_LIMBS_PER_DOUBLE );
+ carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative,
+ nbits, rnd_mode);
+diff -Naurd mpfr-3.1.0-a/src/get_flt.c mpfr-3.1.0-b/src/get_flt.c
+--- mpfr-3.1.0-a/src/get_flt.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/get_flt.c 2012-03-08 15:17:03.000000000 +0000
+@@ -92,7 +92,7 @@
+ nbits += (125 + e);
+ MPFR_ASSERTD (nbits >= 1);
+ }
+- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ np = MPFR_PREC2LIMBS (nbits);
+ MPFR_ASSERTD(np <= MPFR_LIMBS_PER_FLT);
+ carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative,
+ nbits, rnd_mode);
+diff -Naurd mpfr-3.1.0-a/src/get_str.c mpfr-3.1.0-b/src/get_str.c
+--- mpfr-3.1.0-a/src/get_str.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/get_str.c 2012-03-08 15:17:03.000000000 +0000
+@@ -2351,7 +2351,7 @@
+
+ /* the first digit will contain only r bits */
+ prec = (m - 1) * pow2 + r; /* total number of bits */
+- n = (prec - 1) / GMP_NUMB_BITS + 1;
++ n = MPFR_PREC2LIMBS (prec);
+
+ MPFR_TMP_MARK (marker);
+ x1 = MPFR_TMP_LIMBS_ALLOC (n + 1);
+@@ -2417,12 +2417,12 @@
+ exact = 1;
+
+ /* number of limbs */
+- n = 1 + (prec - 1) / GMP_NUMB_BITS;
++ n = MPFR_PREC2LIMBS (prec);
+
+ /* a will contain the approximation of the mantissa */
+ a = MPFR_TMP_LIMBS_ALLOC (n);
+
+- nx = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS;
++ nx = MPFR_LIMB_SIZE (x);
+
+ if ((mpfr_exp_t) m == g) /* final exponent is 0, no multiplication or
+ division to perform */
+diff -Naurd mpfr-3.1.0-a/src/init2.c mpfr-3.1.0-b/src/init2.c
+--- mpfr-3.1.0-a/src/init2.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/init2.c 2012-03-08 15:17:03.000000000 +0000
+@@ -51,7 +51,7 @@
+ which both have an odd mantissa */
+ MPFR_ASSERTN(p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX);
+
+- xsize = (mp_size_t) ((p - 1) / GMP_NUMB_BITS) + 1;
++ xsize = MPFR_PREC2LIMBS (p);
+ tmp = (mpfr_limb_ptr) (*__gmp_allocate_func)(MPFR_MALLOC_SIZE(xsize));
+
+ MPFR_PREC(x) = p; /* Set prec */
+diff -Naurd mpfr-3.1.0-a/src/lngamma.c mpfr-3.1.0-b/src/lngamma.c
+--- mpfr-3.1.0-a/src/lngamma.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/lngamma.c 2012-03-08 15:17:03.000000000 +0000
+@@ -67,7 +67,7 @@
+
+ /* Now, the unit bit is represented. */
+
+- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo;
++ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo;
+ /* number of represented fractional bits (including the trailing 0's) */
+
+ x0 = *(MPFR_MANT (x) + prec / GMP_NUMB_BITS);
+diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
+--- mpfr-3.1.0-a/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-03-08 15:17:03.000000000 +0000
+@@ -646,10 +646,15 @@
+ **************** mpfr_t properties *******************
+ ******************************************************/
+
++/* In the following macro, p is usually a mpfr_prec_t, but this macro
++ works with other integer types (without integer overflow). */
++#define MPFR_PREC2LIMBS(p) \
++ (MPFR_ASSERTD (p >= 1), ((p) - 1) / GMP_NUMB_BITS + 1)
++
+ #define MPFR_PREC(x) ((x)->_mpfr_prec)
+ #define MPFR_EXP(x) ((x)->_mpfr_exp)
+ #define MPFR_MANT(x) ((x)->_mpfr_d)
+-#define MPFR_LIMB_SIZE(x) ((MPFR_PREC((x))-1)/GMP_NUMB_BITS+1)
++#define MPFR_LIMB_SIZE(x) (MPFR_PREC2LIMBS (MPFR_PREC ((x))))
+
+
+ /******************************************************
+@@ -1213,8 +1218,8 @@
+ _destp = MPFR_MANT (dest); \
+ if (MPFR_UNLIKELY (_destprec >= _srcprec)) \
+ { \
+- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
+- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS - _srcs; \
++ _srcs = MPFR_PREC2LIMBS (_srcprec); \
++ _dests = MPFR_PREC2LIMBS (_destprec) - _srcs; \
+ MPN_COPY (_destp + _dests, srcp, _srcs); \
+ MPN_ZERO (_destp, _dests); \
+ inexact = 0; \
+@@ -1227,8 +1232,8 @@
+ mp_limb_t _rb, _sb, _ulp; \
+ \
+ /* Compute Position and shift */ \
+- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
+- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
++ _srcs = MPFR_PREC2LIMBS (_srcprec); \
++ _dests = MPFR_PREC2LIMBS (_destprec); \
+ MPFR_UNSIGNED_MINUS_MODULO (_sh, _destprec); \
+ _sp = (srcp) + _srcs - _dests; \
+ \
+@@ -1372,7 +1377,7 @@
+ if (MPFR_LIKELY (MPFR_PREC (dest) == MPFR_PREC (src))) \
+ { \
+ MPN_COPY (MPFR_MANT (dest), MPFR_MANT (src), \
+- (MPFR_PREC (src) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS); \
++ MPFR_LIMB_SIZE (src)); \
+ inexact = 0; \
+ } \
+ else \
+@@ -1682,7 +1687,7 @@
+ MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \
+ if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \
+ mpfr_abort_prec_max (); \
+- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \
++ _size = MPFR_PREC2LIMBS (_prec); \
+ if (MPFR_UNLIKELY (_size * (num) > MPFR_GROUP_STATIC_SIZE)) \
+ { \
+ (g).alloc = (num) * _size * sizeof (mp_limb_t); \
+@@ -1733,7 +1738,7 @@
+ MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \
+ if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \
+ mpfr_abort_prec_max (); \
+- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \
++ _size = MPFR_PREC2LIMBS (_prec); \
+ (g).alloc = (num) * _size * sizeof (mp_limb_t); \
+ if (MPFR_LIKELY (_oalloc == 0)) \
+ (g).mant = (mp_limb_t *) (*__gmp_allocate_func) ((g).alloc); \
+@@ -1886,7 +1891,7 @@
+ MPFR_NORETURN_ATTR;
+
+ __MPFR_DECLSPEC void mpfr_rand_raw _MPFR_PROTO((mpfr_limb_ptr, gmp_randstate_t,
+- unsigned long));
++ mpfr_prec_t));
+
+ __MPFR_DECLSPEC mpz_t* mpfr_bernoulli_internal _MPFR_PROTO((mpz_t*,
+ unsigned long));
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2012-03-08 15:17:03.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p6"
++#define MPFR_VERSION_STRING "3.1.0-p7"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/mul.c mpfr-3.1.0-b/src/mul.c
+--- mpfr-3.1.0-a/src/mul.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/mul.c 2012-03-08 15:17:03.000000000 +0000
+@@ -93,15 +93,15 @@
+
+ ax = MPFR_GET_EXP (b) + MPFR_GET_EXP (c);
+
+- bq = MPFR_PREC(b);
+- cq = MPFR_PREC(c);
++ bq = MPFR_PREC (b);
++ cq = MPFR_PREC (c);
+
+- MPFR_ASSERTD(bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */
++ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX);
+
+- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */
+- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */
++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
+ k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */
+- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ tn = MPFR_PREC2LIMBS (bq + cq);
+ /* <= k, thus no int overflow */
+ MPFR_ASSERTD(tn <= k);
+
+@@ -292,12 +292,12 @@
+ bq = MPFR_PREC (b);
+ cq = MPFR_PREC (c);
+
+- MPFR_ASSERTD (bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */
++ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX);
+
+- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */
+- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */
++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
+ k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */
+- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ tn = MPFR_PREC2LIMBS (bq + cq);
+ MPFR_ASSERTD (tn <= k); /* tn <= k, thus no int overflow */
+
+ /* Check for no size_t overflow*/
+diff -Naurd mpfr-3.1.0-a/src/pow.c mpfr-3.1.0-b/src/pow.c
+--- mpfr-3.1.0-a/src/pow.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/pow.c 2012-03-08 15:17:03.000000000 +0000
+@@ -136,7 +136,7 @@
+ (b) all the 'z' bits are zero
+ */
+
+- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo;
++ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo;
+ /* number of z+0 bits */
+
+ yn = prec / GMP_NUMB_BITS;
+diff -Naurd mpfr-3.1.0-a/src/print_raw.c mpfr-3.1.0-b/src/print_raw.c
+--- mpfr-3.1.0-a/src/print_raw.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/print_raw.c 2012-03-08 15:17:03.000000000 +0000
+@@ -84,7 +84,7 @@
+ int i;
+ mpfr_prec_t count = 0;
+ char c;
+- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1;
++ mp_size_t n = MPFR_PREC2LIMBS (r);
+
+ printf("%s ", str);
+ for(n-- ; n>=0 ; n--)
+@@ -109,7 +109,7 @@
+ int i;
+ mpfr_prec_t count = 0;
+ char c;
+- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1;
++ mp_size_t n = MPFR_PREC2LIMBS (r);
+
+ for(n-- ; n>=0 ; n--)
+ {
+diff -Naurd mpfr-3.1.0-a/src/round_prec.c mpfr-3.1.0-b/src/round_prec.c
+--- mpfr-3.1.0-a/src/round_prec.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/round_prec.c 2012-03-08 15:17:03.000000000 +0000
+@@ -55,12 +55,12 @@
+
+ MPFR_ASSERTN(prec >= MPFR_PREC_MIN && prec <= MPFR_PREC_MAX);
+
+- nw = 1 + (prec - 1) / GMP_NUMB_BITS; /* needed allocated limbs */
++ nw = MPFR_PREC2LIMBS (prec); /* needed allocated limbs */
+
+ /* check if x has enough allocated space for the significand */
+ /* Get the number of limbs from the precision.
+ (Compatible with all allocation methods) */
+- ow = (MPFR_PREC (x) + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ ow = MPFR_LIMB_SIZE (x);
+ if (nw > ow)
+ {
+ /* FIXME: Variable can't be created using custom allocation,
+diff -Naurd mpfr-3.1.0-a/src/round_raw_generic.c mpfr-3.1.0-b/src/round_raw_generic.c
+--- mpfr-3.1.0-a/src/round_raw_generic.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/round_raw_generic.c 2012-03-08 15:17:03.000000000 +0000
+@@ -80,7 +80,7 @@
+ (xprec <= yprec || MPFR_IS_LIKE_RNDZ (rnd_mode, neg)))
+ return 0;
+
+- xsize = (xprec-1)/GMP_NUMB_BITS + 1;
++ xsize = MPFR_PREC2LIMBS (xprec);
+ nw = yprec / GMP_NUMB_BITS;
+ rw = yprec & (GMP_NUMB_BITS - 1);
+
+diff -Naurd mpfr-3.1.0-a/src/set.c mpfr-3.1.0-b/src/set.c
+--- mpfr-3.1.0-a/src/set.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/set.c 2012-03-08 15:17:03.000000000 +0000
+@@ -48,8 +48,7 @@
+ /* Same precision and b is not singular:
+ * just copy the mantissa, and set the exponent and the sign
+ * The result is exact. */
+- MPN_COPY (MPFR_MANT (a), MPFR_MANT (b),
+- (MPFR_PREC (b) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS);
++ MPN_COPY (MPFR_MANT (a), MPFR_MANT (b), MPFR_LIMB_SIZE (b));
+ MPFR_RET (0);
+ }
+ else
+diff -Naurd mpfr-3.1.0-a/src/set_f.c mpfr-3.1.0-b/src/set_f.c
+--- mpfr-3.1.0-a/src/set_f.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/set_f.c 2012-03-08 15:17:03.000000000 +0000
+@@ -43,7 +43,7 @@
+ if (SIZ(x) * MPFR_FROM_SIGN_TO_INT(MPFR_SIGN(y)) < 0)
+ MPFR_CHANGE_SIGN (y);
+
+- sy = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS;
++ sy = MPFR_LIMB_SIZE (y);
+ my = MPFR_MANT(y);
+ mx = PTR(x);
+
+diff -Naurd mpfr-3.1.0-a/src/set_prec.c mpfr-3.1.0-b/src/set_prec.c
+--- mpfr-3.1.0-a/src/set_prec.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/set_prec.c 2012-03-08 15:17:03.000000000 +0000
+@@ -32,7 +32,7 @@
+ MPFR_ASSERTN (p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX);
+
+ /* Calculate the new number of limbs */
+- xsize = (p - 1) / GMP_NUMB_BITS + 1;
++ xsize = MPFR_PREC2LIMBS (p);
+
+ /* Realloc only if the new size is greater than the old */
+ xoldsize = MPFR_GET_ALLOC_SIZE (x);
+diff -Naurd mpfr-3.1.0-a/src/setmax.c mpfr-3.1.0-b/src/setmax.c
+--- mpfr-3.1.0-a/src/setmax.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/setmax.c 2012-03-08 15:17:03.000000000 +0000
+@@ -32,7 +32,7 @@
+ mp_limb_t *xp;
+
+ MPFR_SET_EXP (x, e);
+- xn = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS;
++ xn = MPFR_LIMB_SIZE (x);
+ sh = (mpfr_prec_t) xn * GMP_NUMB_BITS - MPFR_PREC(x);
+ xp = MPFR_MANT(x);
+ xp[0] = MP_LIMB_T_MAX << sh;
+diff -Naurd mpfr-3.1.0-a/src/sqr.c mpfr-3.1.0-b/src/sqr.c
+--- mpfr-3.1.0-a/src/sqr.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/sqr.c 2012-03-08 15:17:03.000000000 +0000
+@@ -56,11 +56,11 @@
+ ax = 2 * MPFR_GET_EXP (b);
+ bq = MPFR_PREC(b);
+
+- MPFR_ASSERTD (2 * bq > bq); /* PREC_MAX is /2 so no integer overflow */
++ MPFR_ASSERTN (2 * (mpfr_uprec_t) bq <= MPFR_PREC_MAX);
+
+- bn = MPFR_LIMB_SIZE(b); /* number of limbs of b */
+- tn = 1 + (2 * bq - 1) / GMP_NUMB_BITS; /* number of limbs of square,
+- 2*bn or 2*bn-1 */
++ bn = MPFR_LIMB_SIZE (b); /* number of limbs of b */
++ tn = MPFR_PREC2LIMBS (2 * bq); /* number of limbs of square,
++ 2*bn or 2*bn-1 */
+
+ if (MPFR_UNLIKELY(bn > MPFR_SQR_THRESHOLD))
+ return mpfr_mul (a, b, b, rnd_mode);
+diff -Naurd mpfr-3.1.0-a/src/stack_interface.c mpfr-3.1.0-b/src/stack_interface.c
+--- mpfr-3.1.0-a/src/stack_interface.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/stack_interface.c 2012-03-08 15:17:03.000000000 +0000
+@@ -26,7 +26,7 @@
+ size_t
+ mpfr_custom_get_size (mpfr_prec_t prec)
+ {
+- return (prec + GMP_NUMB_BITS -1) / GMP_NUMB_BITS * BYTES_PER_MP_LIMB;
++ return MPFR_PREC2LIMBS (prec) * BYTES_PER_MP_LIMB;
+ }
+
+ #undef mpfr_custom_init
+diff -Naurd mpfr-3.1.0-a/src/strtofr.c mpfr-3.1.0-b/src/strtofr.c
+--- mpfr-3.1.0-a/src/strtofr.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/strtofr.c 2012-03-08 15:17:03.000000000 +0000
+@@ -467,7 +467,7 @@
+ /* Set y to the value of the ~prec most significant bits of pstr->mant
+ (as long as we guarantee correct rounding, we don't need to get
+ exactly prec bits). */
+- ysize = (prec - 1) / GMP_NUMB_BITS + 1;
++ ysize = MPFR_PREC2LIMBS (prec);
+ /* prec bits corresponds to ysize limbs */
+ ysize_bits = ysize * GMP_NUMB_BITS;
+ /* and to ysize_bits >= prec > MPFR_PREC (x) bits */
+diff -Naurd mpfr-3.1.0-a/src/sub1sp.c mpfr-3.1.0-b/src/sub1sp.c
+--- mpfr-3.1.0-a/src/sub1sp.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/sub1sp.c 2012-03-08 15:17:03.000000000 +0000
+@@ -155,8 +155,8 @@
+ MPFR_ASSERTD(MPFR_IS_PURE_FP(c));
+
+ /* Read prec and num of limbs */
+- p = MPFR_PREC(b);
+- n = (p-1)/GMP_NUMB_BITS+1;
++ p = MPFR_PREC (b);
++ n = MPFR_PREC2LIMBS (p);
+
+ /* Fast cmp of |b| and |c|*/
+ bx = MPFR_GET_EXP (b);
+diff -Naurd mpfr-3.1.0-a/src/urandomb.c mpfr-3.1.0-b/src/urandomb.c
+--- mpfr-3.1.0-a/src/urandomb.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/urandomb.c 2012-03-08 15:17:03.000000000 +0000
+@@ -31,13 +31,20 @@
+ a sufficient number of limbs */
+ void
+ mpfr_rand_raw (mpfr_limb_ptr mp, gmp_randstate_t rstate,
+- unsigned long int nbits)
++ mpfr_prec_t nbits)
+ {
+ mpz_t z;
+
++ MPFR_ASSERTN (nbits >= 1);
+ /* To be sure to avoid the potential allocation of mpz_urandomb */
+- ALLOC(z) = SIZ(z) = ((nbits - 1) / GMP_NUMB_BITS) + 1;
++ ALLOC(z) = SIZ(z) = MPFR_PREC2LIMBS (nbits);
+ PTR(z) = mp;
++#if __MPFR_GMP(5,0,0)
++ /* Check for integer overflow (unless mp_bitcnt_t is signed,
++ but according to the GMP manual, this shouldn't happen).
++ Note: mp_bitcnt_t has been introduced in GMP 5.0.0. */
++ MPFR_ASSERTN ((mp_bitcnt_t) -1 < 0 || nbits <= (mp_bitcnt_t) -1);
++#endif
+ mpz_urandomb (z, rstate, nbits);
+ }
+
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2012-03-08 15:17:03.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p6";
++ return "3.1.0-p7";
+ }
+diff -Naurd mpfr-3.1.0-a/tests/tinits.c mpfr-3.1.0-b/tests/tinits.c
+--- mpfr-3.1.0-a/tests/tinits.c 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/tinits.c 2012-03-08 15:17:03.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* Test file for mpfr_inits, mpfr_inits2 and mpfr_clears.
++/* Test file for mpfr_init2, mpfr_inits, mpfr_inits2 and mpfr_clears.
+
+ Copyright 2003, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Contributed by the Arenaire and Caramel projects, INRIA.
+@@ -20,18 +20,43 @@
+ http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
+
++#include <stdlib.h>
++
+ #include "mpfr-test.h"
+
+ int
+ main (void)
+ {
+ mpfr_t a, b, c;
++ long large_prec;
+
+ tests_start_mpfr ();
++
+ mpfr_inits (a, b, c, (mpfr_ptr) 0);
+ mpfr_clears (a, b, c, (mpfr_ptr) 0);
+ mpfr_inits2 (200, a, b, c, (mpfr_ptr) 0);
+ mpfr_clears (a, b, c, (mpfr_ptr) 0);
++
++ /* test for precision 2^31-1, see
++ https://gforge.inria.fr/tracker/index.php?func=detail&aid=13918 */
++ large_prec = 2147483647;
++ if (getenv ("MPFR_CHECK_LARGEMEM") != NULL)
++ {
++ /* We assume that the precision won't be increased internally. */
++ if (large_prec > MPFR_PREC_MAX)
++ large_prec = MPFR_PREC_MAX;
++ mpfr_inits2 (large_prec, a, b, (mpfr_ptr) 0);
++ mpfr_set_ui (a, 17, MPFR_RNDN);
++ mpfr_set (b, a, MPFR_RNDN);
++ if (mpfr_get_ui (a, MPFR_RNDN) != 17)
++ {
++ printf ("Error in mpfr_init2 with precision 2^31-1\n");
++ exit (1);
++ }
++ mpfr_clears (a, b, (mpfr_ptr) 0);
++ }
++
+ tests_end_mpfr ();
++
+ return 0;
+ }
diff --git a/extra/bluefish/PKGBUILD b/extra/bluefish/PKGBUILD
index fcf9f4d25..2b9878027 100644
--- a/extra/bluefish/PKGBUILD
+++ b/extra/bluefish/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 145843 2012-01-02 20:31:09Z eric $
+# $Id: PKGBUILD 153431 2012-03-13 20:19:08Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=bluefish
-pkgver=2.2.1
+pkgver=2.2.2
pkgrel=1
pkgdesc="A powerful HTML editor for experienced web designers and programmers"
arch=('i686' 'x86_64')
@@ -14,8 +14,8 @@ optdepends=('gucharmap: for using the charmap plugin')
options=('!libtool')
install=bluefish.install
source=(http://www.bennewitz.com/bluefish/stable/source/bluefish-${pkgver}.tar.bz2{,.sig})
-sha1sums=('f7b2e9915e196c971c6bcca04d8d6b87efab1ae6'
- '89d5130d91999ff0319b709f0ed2cbcf7aa028d6')
+sha1sums=('2fca4e4fa67e6f2fda1335e1dc4e19ca318eb002'
+ 'a7f2b776d9bacff1e2fd6d70aa0e37c53e85f7a2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/imagemagick/PKGBUILD b/extra/imagemagick/PKGBUILD
index a521688bd..9a8d39550 100644
--- a/extra/imagemagick/PKGBUILD
+++ b/extra/imagemagick/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 149825 2012-02-11 09:11:58Z eric $
+# $Id: PKGBUILD 153440 2012-03-14 01:50:29Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgbase=imagemagick
pkgname=('imagemagick' 'imagemagick-doc')
-pkgver=6.7.5.3
+pkgver=6.7.6.0
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.imagemagick.org/"
license=('custom')
-depends=('perl' 'libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'libjpeg-turbo')
-makedepends=('ghostscript' 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper' 'libpng')
+makedepends=('libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'ghostscript' \
+ 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper')
source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
perlmagick.rpath.patch)
-sha1sums=('b6cee59cb380f38572ec40769c438901dcc7500e'
+sha1sums=('878c264d070c70debc514d7da9f4feb7728bfe9f'
'23405f80904b1de94ebd7bd6fe2a332471b8c283')
build() {
@@ -22,8 +22,7 @@ build() {
autoreconf
patch -p0 -i ../perlmagick.rpath.patch
- LIBS="$LIBS -L/usr/lib/perl5/core_perl/CORE -lperl" \
- ./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
+ ./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
--enable-openmp --with-wmf --with-openexr --with-xml --with-lcms2 --with-jp2 \
--with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
--with-perl --with-perl-options="INSTALLDIRS=vendor" \
@@ -39,6 +38,7 @@ check() {
package_imagemagick() {
pkgdesc="An image viewing/manipulation program"
+ depends=('perl' 'libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext')
optdepends=('ghostscript: for Ghostscript support'
'openexr: for OpenEXR support'
'libwmf: for WMF support'
@@ -53,13 +53,14 @@ package_imagemagick() {
'etc/ImageMagick/magic.xml'
'etc/ImageMagick/mime.xml'
'etc/ImageMagick/policy.xml'
+ 'etc/ImageMagick/quantization-table.xml'
'etc/ImageMagick/sRGB.icc'
'etc/ImageMagick/thresholds.xml'
'etc/ImageMagick/type.xml'
'etc/ImageMagick/type-dejavu.xml'
'etc/ImageMagick/type-ghostscript.xml'
'etc/ImageMagick/type-windows.xml')
- options=('!makeflags' '!docs' 'libtool')
+ options=('!docs' 'libtool' '!emptydirs')
cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
make DESTDIR="${pkgdir}" install
@@ -74,8 +75,6 @@ package_imagemagick() {
package_imagemagick-doc() {
pkgdesc="The ImageMagick documentation (utilities manuals and libraries API)"
- depends=()
- options=('!makeflags')
cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
make DESTDIR="${pkgdir}" install-data-html
diff --git a/extra/libtiff/PKGBUILD b/extra/libtiff/PKGBUILD
index 96058d1c0..b22c91572 100644
--- a/extra/libtiff/PKGBUILD
+++ b/extra/libtiff/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 148838 2012-02-05 11:52:24Z ibiru $
+# $Id: PKGBUILD 153433 2012-03-13 21:01:28Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=libtiff
-pkgver=4.0.0
+pkgver=4.0.1
pkgrel=1
pkgdesc="Library for manipulation of TIFF images"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ makedepends=('freeglut')
optdepends=('freeglut: for using tiffgt')
options=('!libtool')
source=(ftp://ftp.remotesensing.org/pub/libtiff/tiff-${pkgver}.tar.gz)
-sha1sums=('85d85520fea40fc9291995a60e3d40cf980b5522')
+sha1sums=('8baf382231c9051a1b3eb294581289aa21447171')
build() {
cd "${srcdir}/tiff-${pkgver}"
diff --git a/extra/rrdtool/PKGBUILD b/extra/rrdtool/PKGBUILD
index b2d49d466..7b6a0f13f 100644
--- a/extra/rrdtool/PKGBUILD
+++ b/extra/rrdtool/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 150933 2012-02-24 01:09:55Z tdziedzic $
+# $Id: PKGBUILD 153438 2012-03-13 23:17:57Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=rrdtool
-pkgver=1.4.5
-pkgrel=6
+pkgver=1.4.7
+pkgrel=1
pkgdesc="Data logging and graphing application"
arch=('i686' 'x86_64')
url="http://www.rrdtool.org"
@@ -16,13 +16,11 @@ optdepends=('tcl: to use corresponding binding' \
'lua: to use corresponding binding')
options=('!libtool' '!emptydirs' '!makeflags')
source=(http://oss.oetiker.ch/rrdtool/pub/rrdtool-${pkgver}.tar.gz)
-sha1sums=('56638e8aedd5d5522152e86746e382b75dc48c35')
+sha1sums=('faab7df7696b69f85d6f89dd9708d7cf0c9a273b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- sed -i 's|-lrrd|-lrrd -L/usr/lib/perl5/core_perl/CORE/ -lperl |' bindings/perl-shared/Makefile.PL
-
# fix FS#28521 make ruby install to vendor_ruby instead of site_ruby
sed -e 's/$(RUBY) extconf.rb/& --vendor/' -i bindings/Makefile.in
diff --git a/libre/linux-libre-api-headers/PKGBUILD b/libre/linux-libre-api-headers/PKGBUILD
index 49963eb05..a55354717 100644
--- a/libre/linux-libre-api-headers/PKGBUILD
+++ b/libre/linux-libre-api-headers/PKGBUILD
@@ -9,7 +9,7 @@ pkgver=3.1.6
_basever=3.1
pkgrel=2
pkgdesc="Kernel Libre headers sanitized for use in userspace"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/libc"
license=('GPL2')
provides=("linux-api-headers=${pkgver}" "kernel-headers=${pkgver}")
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index fb028fc2b..cbbaa63b0 100644
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -12,7 +12,7 @@ _basekernel=3.0
_sublevel=23
pkgver=${_basekernel}.${_sublevel}
_lxopkgver=${_basekernel}.22 # nearly always the same as pkgver
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install
index f4f5fd6ad..ab23b07a1 100644
--- a/libre/linux-libre-lts/linux-libre-lts.install
+++ b/libre/linux-libre-lts/linux-libre-lts.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-lts
-KERNEL_VERSION=3.0.23-2-LIBRE-LTS
+KERNEL_VERSION=3.0.23-3-LIBRE-LTS
post_install () {
# updating module dependencies
diff --git a/libre/thunderbird-libre/PKGBUILD b/libre/thunderbird-libre/PKGBUILD
index 8f51c47e3..d8e8b0db1 100644
--- a/libre/thunderbird-libre/PKGBUILD
+++ b/libre/thunderbird-libre/PKGBUILD
@@ -1,10 +1,12 @@
-# $Id: PKGBUILD 150412 2012-02-17 12:38:42Z ibiru $
+# $Id: PKGBUILD 153450 2012-03-14 16:21:51Z ibiru $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Anders Bostrom <anders.bostrom@home.se>
+# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+
pkgname=thunderbird-libre
-pkgver=10.0.2
+pkgver=11.0
pkgrel=1
pkgdesc="Standalone Mail/News reader"
arch=('i686' 'x86_64')
@@ -24,7 +26,7 @@ source=(ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/sourc
channel-prefs.js
vendor.js
libvpx.patch)
-md5sums=('624bef982d7ac610b1175737d9905150'
+md5sums=('1d7127a3282e62d95eb9b59d47291b70'
'ca98c2bf1017b33e19dae22fdcef2e73'
'af3e5b344d2edf1c7d61bb0a5a96de9a'
'aea906acf72c43dd82ead2fabcc1c6db'
diff --git a/testing/pcmciautils/PKGBUILD b/testing/pcmciautils/PKGBUILD
new file mode 100644
index 000000000..3016b5667
--- /dev/null
+++ b/testing/pcmciautils/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 153429 2012-03-13 20:10:33Z tomegun $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=pcmciautils
+pkgver=018
+pkgrel=2
+pkgdesc="Utilities for inserting and removing PCMCIA cards"
+arch=(i686 x86_64)
+url="http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html"
+license=('GPL')
+groups=('base')
+# sysfsutils will not be required in the next release
+depends=('udev' 'sysfsutils')
+conflicts=('pcmcia-cs')
+# source=(http://kernel.org/pub/linux/utils/kernel/pcmcia/${pkgname}-${pkgver}.tar.bz2) broken due to breakin
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz)
+options=(!makeflags)
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e 's,/usr/bin/install,/bin/install,g' Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('964c802994677a71b38ec56554aa229f')
diff --git a/testing/sudo/PKGBUILD b/testing/sudo/PKGBUILD
index 2f96abb2a..1eb0a1b55 100644
--- a/testing/sudo/PKGBUILD
+++ b/testing/sudo/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 153412 2012-03-13 01:20:15Z allan $
+# $Id: PKGBUILD 153416 2012-03-13 05:01:37Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=sudo
-_ver=1.8.4p3
+_ver=1.8.4p4
pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
pkgrel=1
pkgdesc="Give certain users the ability to run some commands as root"
@@ -15,8 +15,8 @@ backup=('etc/sudoers' 'etc/pam.d/sudo')
options=('!libtool' '!makeflags')
source=(ftp://ftp.sudo.ws/pub/sudo/$pkgname-$_ver.tar.gz{,.sig}
sudo.pam)
-md5sums=('a97af5e84192d30d8f2d5e9e03fcc618'
- 'dd92cdb4eb6cd61846a7a72f02277001'
+md5sums=('b9be6df7ecefedff2263052ed9fc5e93'
+ '24da0bf96506b81678726778aad9ea4c'
'4e7ad4ec8f2fe6a40e12bcb2c0b256e3')
build() {
diff --git a/testing/util-linux/PKGBUILD b/testing/util-linux/PKGBUILD
index c8d71e48e..2daf29ea4 100644
--- a/testing/util-linux/PKGBUILD
+++ b/testing/util-linux/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 151651 2012-02-29 16:49:07Z tomegun $
+# $Id: PKGBUILD 153424 2012-03-13 15:26:09Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=util-linux
pkgver=2.21
-pkgrel=4
+pkgrel=5
pkgdesc="Miscellaneous system utilities for Linux"
url="http://www.kernel.org/pub/linux/utils/util-linux/"
arch=('i686' 'x86_64')
@@ -15,12 +15,7 @@ provides=("util-linux-ng=${pkgver}")
license=('GPL2')
options=('!libtool')
source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/${pkgname}-${pkgver}.tar.xz
- libmount-canonicalize-all-paths-from-fs-tab.patch
- lib-canonicalize-always-remove-tailing-slash.patch
- libmount-canonicalize-targets-from-fstab-on-mount-a.patch
- mount-new-cleanup-mount-a-return-codes.patch
- libmount-use-mount.-type-s-for-NFS-only.patch
- libmount-allow-empty-source-for-mount-2-syscall.patch)
+ stable-fixes-2.21.patch)
optdepends=('perl: for chkdupexe support')
build() {
@@ -29,19 +24,13 @@ build() {
# hardware clock
sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h
- patch -p1 -i ../libmount-canonicalize-all-paths-from-fs-tab.patch
- patch -p1 -i ../lib-canonicalize-always-remove-tailing-slash.patch
- patch -p1 -i ../libmount-canonicalize-targets-from-fstab-on-mount-a.patch
- patch -p1 -i ../mount-new-cleanup-mount-a-return-codes.patch
- patch -p1 -i ../libmount-use-mount.-type-s-for-NFS-only.patch
- patch -p1 -i ../libmount-allow-empty-source-for-mount-2-syscall.patch
+ patch -p1 -i ../stable-fixes-2.21.patch
./configure --prefix=/usr \
--libdir=/usr/lib \
--enable-write \
--enable-raw \
- --disable-wall \
- --enable-new-mount
+ --disable-wall
make
}
@@ -59,9 +48,4 @@ package() {
rm -r usr/share/man/ru
}
md5sums=('208aa058f4117759d2939d1be7d662fc'
- 'c4011222a19b020d9b8465c3c7e443f6'
- '8c1bf7b10e22e2b835441e6ae2d804d6'
- '7b92423c588ed35229a9a166349c29a9'
- 'c483ab2d52609b5857d096b256a5075c'
- 'e31037773db7f3244b71db434f60e6f0'
- '2de5ae7916e79970e90bf06542e43d86')
+ '415b850a4efa9174cd9c34022949f177')
diff --git a/testing/util-linux/stable-fixes-2.21.patch b/testing/util-linux/stable-fixes-2.21.patch
new file mode 100644
index 000000000..3c6c32483
--- /dev/null
+++ b/testing/util-linux/stable-fixes-2.21.patch
@@ -0,0 +1,1516 @@
+diff --git a/configure.ac b/configure.ac
+index d3b298c..9da5b24 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -387,6 +387,8 @@ AC_CACHE_VAL([scanf_cv_alloc_modifier],
+ [scanf_cv_alloc_modifier=as],
+ [scanf_cv_alloc_modifier=no]
+ )
++ ,
++ [scanf_cv_alloc_modifier=no]
+ )
+ )
+
+@@ -833,6 +835,8 @@ AC_ARG_ENABLE([ddate],
+ )
+ UL_BUILD_INIT([ddate])
+ AM_CONDITIONAL(BUILD_DDATE, test "x$build_ddate" = xyes)
++ruman1dir='${mandir}/ru/man1'
++AC_SUBST([ruman1dir])
+
+
+ AC_ARG_ENABLE([agetty],
+diff --git a/fdisk/fdiskbsdlabel.h b/fdisk/fdiskbsdlabel.h
+index 9f9e091..e58e2ff 100644
+--- a/fdisk/fdiskbsdlabel.h
++++ b/fdisk/fdiskbsdlabel.h
+@@ -46,7 +46,7 @@
+
+ #define BSD_LINUX_BOOTDIR "/usr/ucb/mdec"
+
+-#if defined (i386) || defined (__sparc__) || defined (__arm__) || \
++#if defined (__i386__) || defined (__sparc__) || defined (__arm__) || \
+ defined (__mips__) || defined (__s390__) || defined (__sh__) || \
+ defined(__x86_64__) || defined (__avr32__) || defined(__cris__)
+ #define BSD_LABELSECTOR 1
+diff --git a/include/list.h b/include/list.h
+index 3ce46ca..d8c3bf0 100644
+--- a/include/list.h
++++ b/include/list.h
+@@ -166,6 +166,10 @@ _INLINE_ void list_splice(struct list_head *list, struct list_head *head)
+ #define list_entry(ptr, type, member) \
+ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
+
++
++#define list_first_entry(head, type, member) \
++ ((head) && (head)->next != (head) ? list_entry((head)->next, type, member) : NULL)
++
+ /**
+ * list_for_each - iterate over elements in a list
+ * @pos: the &struct list_head to use as a loop counter.
+diff --git a/lib/canonicalize.c b/lib/canonicalize.c
+index ab32c10..fd18af4 100644
+--- a/lib/canonicalize.c
++++ b/lib/canonicalize.c
+@@ -174,9 +174,16 @@ canonicalize_path(const char *path)
+ if (path == NULL)
+ return NULL;
+
+- if (!myrealpath(path, canonical, PATH_MAX+1))
+- return strdup(path);
+-
++ if (!myrealpath(path, canonical, PATH_MAX+1)) {
++ char *res = strdup(path);
++ if (res) {
++ p = strrchr(res, '/');
++ /* delete trailing slash */
++ if (p && p > res && *(p + 1) == '\0')
++ *p = '\0';
++ }
++ return res;
++ }
+
+ p = strrchr(canonical, '/');
+ if (p && strncmp(p, "/dm-", 4) == 0 && isdigit(*(p + 4))) {
+diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c
+index 763f75c..6bd69d3 100644
+--- a/libblkid/src/probe.c
++++ b/libblkid/src/probe.c
+@@ -388,6 +388,7 @@ void blkid_reset_probe(blkid_probe pr)
+ return;
+
+ blkid_probe_reset_vals(pr);
++ blkid_probe_set_wiper(pr, 0, 0);
+
+ pr->cur_chain = NULL;
+
+@@ -989,7 +990,7 @@ int blkid_do_wipe(blkid_probe pr, int dryrun)
+ len = sizeof(buf);
+
+ DBG(DEBUG_LOWPROBE, printf(
+- "wiping [offset=0x%jx, len=%zd, chain=%s, idx=%d, dryrun=%s]\n",
++ "do_wipe [offset=0x%jx, len=%zd, chain=%s, idx=%d, dryrun=%s]\n",
+ offset, len, chn->driver->name, chn->idx, dryrun ? "yes" : "not"));
+
+ l = lseek(fd, offset, SEEK_SET);
+@@ -1008,10 +1009,23 @@ int blkid_do_wipe(blkid_probe pr, int dryrun)
+ if (chn->idx >= 0) {
+ chn->idx--;
+ DBG(DEBUG_LOWPROBE,
+- printf("wipe: moving %s chain index to %d\n",
++ printf("do_wipe: moving %s chain index to %d\n",
+ chn->driver->name,
+ chn->idx));
+ }
++ if (chn->idx == -1) {
++ /* blkid_do_probe() goes to the next chain if the index
++ * of the current chain is -1, so we have to set the
++ * chain pointer to the previos chain.
++ */
++ size_t idx = chn->driver->id > 0 ?
++ chn->driver->id - 1 : 0;
++
++ if (idx > 0)
++ pr->cur_chain = &pr->chains[idx];
++ else if (idx == 0)
++ pr->cur_chain = NULL;
++ }
+ }
+ return 0;
+ }
+@@ -1579,8 +1593,9 @@ size_t blkid_rtrim_whitespace(unsigned char *str)
+ * for later resolution to conflicts between superblocks.
+ *
+ * For example we found valid LVM superblock, LVM wipes 8KiB at the begin of
+- * the device. If we found another signature (for example MBR) this wiped area
+- * then the signature has been added later and LVM superblock should be ignore.
++ * the device. If we found another signature (for example MBR) within the
++ * wiped area then the signature has been added later and LVM superblock
++ * should be ignore.
+ *
+ * Note that this heuristic is not 100% reliable, for example "pvcreate --zero
+ * n" allows to keep the begin of the device unmodified. It's probably better
+@@ -1588,6 +1603,16 @@ size_t blkid_rtrim_whitespace(unsigned char *str)
+ * than for conflicts between filesystem superblocks -- existence of unwanted
+ * partition table is very unusual, because PT is pretty visible (parsed and
+ * interpreted by kernel).
++ *
++ * Note that we usually expect only one signature on the device, it means that
++ * we have to remember only one wiped area from previously successfully
++ * detected signature.
++ *
++ * blkid_probe_set_wiper() -- defines wiped area (e.g. LVM)
++ * blkid_probe_use_wiper() -- try to use area (e.g. MBR)
++ *
++ * Note that there is not relation between _wiper and blkid_to_wipe().
++ *
+ */
+ void blkid_probe_set_wiper(blkid_probe pr, blkid_loff_t off, blkid_loff_t size)
+ {
+@@ -1638,12 +1663,17 @@ int blkid_probe_is_wiped(blkid_probe pr, struct blkid_chain **chn,
+ return 0;
+ }
+
++/*
++ * Try to use any area -- if the area has been previously wiped then the
++ * previous probing result should be ignored (reseted).
++ */
+ void blkid_probe_use_wiper(blkid_probe pr, blkid_loff_t off, blkid_loff_t size)
+ {
+ struct blkid_chain *chn = NULL;
+
+ if (blkid_probe_is_wiped(pr, &chn, off, size) && chn) {
+- DBG(DEBUG_LOWPROBE, printf("wiped area detected -- ignore previous results\n"));
++ DBG(DEBUG_LOWPROBE, printf("previously wiped area modified "
++ " -- ignore previous results\n"));
+ blkid_probe_set_wiper(pr, 0, 0);
+ blkid_probe_chain_reset_vals(pr, chn);
+ }
+diff --git a/libmount/src/context.c b/libmount/src/context.c
+index 1f30292..f97dd36 100644
+--- a/libmount/src/context.c
++++ b/libmount/src/context.c
+@@ -1165,6 +1165,10 @@ int mnt_context_prepare_srcpath(struct libmnt_context *cxt)
+
+ src = mnt_fs_get_source(cxt->fs);
+
++ if (!src && (cxt->mountflags & MS_PROPAGATION))
++ /* mount --make-{shared,private,...} */
++ return mnt_fs_set_source(cxt->fs, "none");
++
+ /* ignore filesystems without source or filesystems
+ * where the source is quasi-path (//foo/bar)
+ */
+@@ -1203,7 +1207,7 @@ int mnt_context_prepare_srcpath(struct libmnt_context *cxt)
+
+ if ((cxt->mountflags & (MS_BIND | MS_MOVE | MS_PROPAGATION)) ||
+ mnt_fs_is_pseudofs(cxt->fs)) {
+- DBG(CXT, mnt_debug_h(cxt, "PROPAGATION/pseudo FS source: %s", path));
++ DBG(CXT, mnt_debug_h(cxt, "BIND/MOVE/pseudo FS source: %s", path));
+ return rc;
+ }
+
+diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
+index 8cbc25b..c56ffd4 100644
+--- a/libmount/src/context_mount.c
++++ b/libmount/src/context_mount.c
+@@ -369,7 +369,12 @@ static int exec_helper(struct libmnt_context *cxt)
+ args[i++] = mnt_fs_get_srcpath(cxt->fs);/* 2 */
+ args[i++] = mnt_fs_get_target(cxt->fs); /* 3 */
+
+- if (mnt_context_is_sloppy(cxt))
++ /*
++ * TODO: remove the exception for "nfs", -s is documented
++ * for years should be usable everywhere.
++ */
++ if (mnt_context_is_sloppy(cxt) &&
++ type && startswith(type, "nfs"))
+ args[i++] = "-s"; /* 4 */
+ if (mnt_context_is_fake(cxt))
+ args[i++] = "-f"; /* 5 */
+@@ -446,9 +451,14 @@ static int do_mount(struct libmnt_context *cxt, const char *try_type)
+ src = mnt_fs_get_srcpath(cxt->fs);
+ target = mnt_fs_get_target(cxt->fs);
+
+- if (!src || !target)
++ if (!target)
+ return -EINVAL;
+-
++ if (!src) {
++ /* unnecessary, should be already resolved in
++ * mnt_context_prepare_srcpath(), but for sure... */
++ DBG(CXT, mnt_debug_h(cxt, "WARNING: source is NULL -- using \"none\"!"));
++ src = "none";
++ }
+ type = try_type ? : mnt_fs_get_fstype(cxt->fs);
+
+ if (!(flags & MS_MGC_MSK))
+diff --git a/libmount/src/fs.c b/libmount/src/fs.c
+index a28e66c..19650cb 100644
+--- a/libmount/src/fs.c
++++ b/libmount/src/fs.c
+@@ -304,11 +304,7 @@ int __mnt_fs_set_source_ptr(struct libmnt_fs *fs, char *source)
+
+ assert(fs);
+
+- if (source && !strcmp(source, "none")) {
+- free(source);
+- source = NULL;
+-
+- } else if (source && strchr(source, '=')) {
++ if (source && strchr(source, '=')) {
+ if (blkid_parse_tag_string(source, &t, &v) != 0)
+ return -1;
+ }
+@@ -341,6 +337,7 @@ int mnt_fs_set_source(struct libmnt_fs *fs, const char *source)
+
+ if (!fs)
+ return -EINVAL;
++
+ if (source) {
+ p = strdup(source);
+ if (!p)
+@@ -353,6 +350,41 @@ int mnt_fs_set_source(struct libmnt_fs *fs, const char *source)
+ return rc;
+ }
+
++/*
++ * Compares @fs source path with @path. The tailing slash is ignored.
++ * See also mnt_fs_match_source().
++ *
++ * Returns: 1 if @fs source path equal to @path, otherwise 0.
++ */
++int mnt_fs_streq_srcpath(struct libmnt_fs *fs, const char *path)
++{
++ const char *p;
++
++ if (!fs)
++ return 0;
++
++ p = mnt_fs_get_srcpath(fs);
++
++ if (!mnt_fs_is_pseudofs(fs))
++ return streq_except_trailing_slash(p, path);
++
++ if (!p && !path)
++ return 1;
++
++ return p && path && strcmp(p, path) == 0;
++}
++
++/*
++ * Compares @fs target path with @path. The tailing slash is ignored.
++ * See also mnt_fs_match_target().
++ *
++ * Returns: 1 if @fs target path equal to @path, otherwise 0.
++ */
++int mnt_fs_streq_target(struct libmnt_fs *fs, const char *path)
++{
++ return fs && streq_except_trailing_slash(mnt_fs_get_target(fs), path);
++}
++
+ /**
+ * mnt_fs_get_tag:
+ * @fs: fs
+@@ -1114,7 +1146,7 @@ int mnt_fs_match_target(struct libmnt_fs *fs, const char *target,
+ return 0;
+
+ /* 1) native paths */
+- rc = !strcmp(target, fs->target);
++ rc = mnt_fs_streq_target(fs, target);
+
+ if (!rc && cache) {
+ /* 2) - canonicalized and non-canonicalized */
+@@ -1146,10 +1178,6 @@ int mnt_fs_match_target(struct libmnt_fs *fs, const char *target,
+ * The 2nd, 3rd and 4th attempts are not performed when @cache is NULL. The
+ * 2nd and 3rd attempts are not performed if @fs->source is tag.
+ *
+- * Note that valid source path is NULL; the libmount uses NULL instead of
+- * "none". The "none" is used in /proc/{mounts,self/mountninfo} for pseudo
+- * filesystems.
+- *
+ * Returns: 1 if @fs source is equal to @source else 0.
+ */
+ int mnt_fs_match_source(struct libmnt_fs *fs, const char *source,
+@@ -1161,15 +1189,15 @@ int mnt_fs_match_source(struct libmnt_fs *fs, const char *source,
+ if (!fs)
+ return 0;
+
+- /* undefined source -- "none" in /proc */
+- if (source == NULL && fs->source == NULL)
++ /* 1) native paths... */
++ if (mnt_fs_streq_srcpath(fs, source) == 1)
+ return 1;
+
+- if (source == NULL || fs->source == NULL)
++ if (!source || !fs->source)
+ return 0;
+
+- /* 1) native paths/tags */
+- if (streq_except_trailing_slash(source, fs->source))
++ /* ... and tags */
++ if (fs->tagname && strcmp(source, fs->source) == 0)
+ return 1;
+
+ if (!cache)
+@@ -1183,7 +1211,7 @@ int mnt_fs_match_source(struct libmnt_fs *fs, const char *source,
+
+ /* 2) canonicalized and native */
+ src = mnt_fs_get_srcpath(fs);
+- if (src && streq_except_trailing_slash(cn, src))
++ if (src && mnt_fs_streq_srcpath(fs, cn))
+ return 1;
+
+ /* 3) canonicalized and canonicalized */
+diff --git a/libmount/src/mountP.h b/libmount/src/mountP.h
+index fa0edf5..a7b5c0d 100644
+--- a/libmount/src/mountP.h
++++ b/libmount/src/mountP.h
+@@ -367,6 +367,11 @@ extern struct libmnt_fs *mnt_copy_mtab_fs(const struct libmnt_fs *fs);
+ extern int __mnt_fs_set_source_ptr(struct libmnt_fs *fs, char *source);
+ extern int __mnt_fs_set_fstype_ptr(struct libmnt_fs *fs, char *fstype);
+
++/* exported in v2.22 */
++extern int mnt_fs_streq_srcpath(struct libmnt_fs *fs, const char *path);
++extern int mnt_fs_streq_target(struct libmnt_fs *fs, const char *path);
++
++
+ /* context.c */
+ extern int mnt_context_prepare_srcpath(struct libmnt_context *cxt);
+ extern int mnt_context_prepare_target(struct libmnt_context *cxt);
+diff --git a/libmount/src/tab.c b/libmount/src/tab.c
+index 37f47bd..f3ec573 100644
+--- a/libmount/src/tab.c
++++ b/libmount/src/tab.c
+@@ -286,6 +286,11 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+
+ id = mnt_fs_get_id(fs);
+
++ /* avoid infinite loop. This only happens in rare cases
++ * such as in early userspace when the rootfs is its own parent */
++ if (id == parent_id)
++ continue;
++
+ if ((!lastchld_id || id > lastchld_id) &&
+ (!*chld || id < chld_id)) {
+ *chld = fs;
+@@ -438,7 +443,7 @@ struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb, const char *pat
+ /* native @target */
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+- if (fs->target && strcmp(fs->target, path) == 0)
++ if (mnt_fs_streq_target(fs, path))
+ return fs;
+ }
+ if (!tb->cache || !(cn = mnt_resolve_path(path, tb->cache)))
+@@ -447,7 +452,7 @@ struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb, const char *pat
+ /* canonicalized paths in struct libmnt_table */
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+- if (fs->target && strcmp(fs->target, cn) == 0)
++ if (mnt_fs_streq_target(fs, cn))
+ return fs;
+ }
+
+@@ -456,12 +461,13 @@ struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb, const char *pat
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ char *p;
+
+- if (!fs->target || !mnt_fs_is_swaparea(fs) ||
++ if (!fs->target || mnt_fs_is_swaparea(fs) ||
+ (*fs->target == '/' && *(fs->target + 1) == '\0'))
+ continue;
+
+ p = mnt_resolve_path(fs->target, tb->cache);
+- if (strcmp(cn, p) == 0)
++ /* both canonicalized, strcmp() is fine here */
++ if (p && strcmp(cn, p) == 0)
+ return fs;
+ }
+ return NULL;
+@@ -480,9 +486,8 @@ struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb, const char *pat
+ * The 2nd, 3rd and 4th iterations are not performed when @tb cache is not
+ * set (see mnt_table_set_cache()).
+ *
+- * Note that valid source path is NULL; the libmount uses NULL instead of
+- * "none". The "none" is used in /proc/{mounts,self/mountninfo} for pseudo
+- * filesystems.
++ * Note that NULL is a valid source path; it will be replaced with "none". The
++ * "none" is used in /proc/{mounts,self/mountinfo} for pseudo filesystems.
+ *
+ * Returns: a tab entry or NULL.
+ */
+@@ -501,16 +506,10 @@ struct libmnt_fs *mnt_table_find_srcpath(struct libmnt_table *tb, const char *pa
+ /* native paths */
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+- const char *src = mnt_fs_get_source(fs);
+-
+- p = mnt_fs_get_srcpath(fs);
+-
+- if (path == NULL && src == NULL)
+- return fs; /* source is "none" */
+- if (path && p && streq_except_trailing_slash(p, path))
++ if (mnt_fs_streq_srcpath(fs, path))
+ return fs;
+- if (!p && src)
+- ntags++; /* mnt_fs_get_srcpath() returs nothing, it's TAG */
++ if (mnt_fs_get_tag(fs, NULL, NULL) == 0)
++ ntags++;
+ }
+
+ if (!path || !tb->cache || !(cn = mnt_resolve_path(path, tb->cache)))
+@@ -520,8 +519,7 @@ struct libmnt_fs *mnt_table_find_srcpath(struct libmnt_table *tb, const char *pa
+ if (ntags < mnt_table_get_nents(tb)) {
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+- p = mnt_fs_get_srcpath(fs);
+- if (p && streq_except_trailing_slash(p, cn))
++ if (mnt_fs_streq_srcpath(fs, cn))
+ return fs;
+ }
+ }
+@@ -552,7 +550,9 @@ struct libmnt_fs *mnt_table_find_srcpath(struct libmnt_table *tb, const char *pa
+ if (mnt_fs_get_tag(fs, &t, &v))
+ continue;
+ x = mnt_resolve_tag(t, v, tb->cache);
+- if (x && streq_except_trailing_slash(x, cn))
++
++ /* both canonicalized, strcmp() is fine here */
++ if (x && strcmp(x, cn) == 0)
+ return fs;
+ }
+ }
+@@ -567,7 +567,9 @@ struct libmnt_fs *mnt_table_find_srcpath(struct libmnt_table *tb, const char *pa
+ p = mnt_fs_get_srcpath(fs);
+ if (p)
+ p = mnt_resolve_path(p, tb->cache);
+- if (p && streq_except_trailing_slash(cn, p))
++
++ /* both canonicalized, strcmp() is fine here */
++ if (p && strcmp(p, cn) == 0)
+ return fs;
+ }
+ }
+@@ -702,16 +704,18 @@ struct libmnt_fs *mnt_table_find_pair(struct libmnt_table *tb, const char *sourc
+ }
+
+ /*
+- * @tb: /proc/self/mountinfo
+- * @fs: filesystem
+- * @mountflags: MS_BIND or 0
+- * @fsroot: fs-root that will be probably used in the mountinfo file
++ * tb: /proc/self/mountinfo
++ * fs: filesystem
++ * mountflags: MS_BIND or 0
++ * fsroot: fs-root that will be probably used in the mountinfo file
+ * for @fs after mount(2)
+ *
+ * For btrfs subvolumes this function returns NULL, but @fsroot properly set.
+ *
+ * Returns: entry from @tb that will be used as a source for @fs if the @fs is
+ * bindmount.
++ *
++ * Don't export to library API!
+ */
+ struct libmnt_fs *mnt_table_get_fs_root(struct libmnt_table *tb,
+ struct libmnt_fs *fs,
+@@ -814,6 +818,20 @@ err:
+ return NULL;
+ }
+
++static int is_mountinfo(struct libmnt_table *tb)
++{
++ struct libmnt_fs *fs;
++
++ if (!tb)
++ return 0;
++
++ fs = list_first_entry(&tb->ents, struct libmnt_fs, ents);
++ if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs))
++ return 1;
++
++ return 0;
++}
++
+ /**
+ * mnt_table_is_mounted:
+ * @tb: /proc/self/mountinfo file
+@@ -829,10 +847,9 @@ err:
+ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
+ {
+ char *root = NULL;
+- struct libmnt_fs *src_fs;
+- const char *src, *tgt;
+- char *xsrc = NULL;
+- int flags = 0, rc = 0;
++ const char *src = NULL;
++ char *xsrc = NULL, *tgt;
++ int rc = 0;
+
+ assert(tb);
+ assert(fstab_fs);
+@@ -840,39 +857,49 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
+ if (mnt_fs_is_swaparea(fstab_fs))
+ return 0;
+
+- if (mnt_fs_get_option(fstab_fs, "bind", NULL, NULL) == 0)
+- flags = MS_BIND;
++ if (is_mountinfo(tb)) {
++ /* @tb is mountinfo, so we can try to use fs-roots */
++ struct libmnt_fs *fs;
++ int flags = 0;
++
++ if (mnt_fs_get_option(fstab_fs, "bind", NULL, NULL) == 0)
++ flags = MS_BIND;
+
+- src_fs = mnt_table_get_fs_root(tb, fstab_fs, flags, &root);
+- if (src_fs)
+- src = mnt_fs_get_srcpath(src_fs);
++ fs = mnt_table_get_fs_root(tb, fstab_fs, flags, &root);
++ if (fs)
++ src = mnt_fs_get_srcpath(fs);
++ }
++
++ if (src)
++ src = xsrc = mnt_resolve_spec(src, tb->cache);
+ else if (mnt_fs_is_pseudofs(fstab_fs))
+ src = mnt_fs_get_source(fstab_fs);
+ else
+ src = xsrc = mnt_resolve_spec(mnt_fs_get_source(fstab_fs),
+ tb->cache);
+
+- tgt = mnt_fs_get_target(fstab_fs);
++ tgt = mnt_resolve_path(mnt_fs_get_target(fstab_fs), tb->cache);
+
+- if (tgt && src && root) {
++ if (tgt && src) {
+ struct libmnt_iter itr;
+ struct libmnt_fs *fs;
+
+ mnt_reset_iter(&itr, MNT_ITER_FORWARD);
+
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+- const char *s = mnt_fs_get_srcpath(fs),
+- *t = mnt_fs_get_target(fs),
+- *r = mnt_fs_get_root(fs);
+-
+- /*
+- * Note that kernel can add tailing slash to the
+- * network filesystem source paths.
+- */
+- if (t && s && r &&
+- strcmp(t, tgt) == 0 &&
+- streq_except_trailing_slash(s, src) &&
+- strcmp(r, root) == 0)
++
++ if (root) {
++ /* mountinfo: compare root, source and target */
++ const char *r = mnt_fs_get_root(fs);
++
++ if (r && strcmp(r, root) == 0 &&
++ mnt_fs_streq_srcpath(fs, src) &&
++ mnt_fs_streq_target(fs, tgt))
++ break;
++ }
++ /* mtab: compare source and target */
++ else if (mnt_fs_streq_srcpath(fs, src) &&
++ mnt_fs_streq_target(fs, tgt))
+ break;
+ }
+ if (fs)
+@@ -881,6 +908,8 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
+
+ if (xsrc && !tb->cache)
+ free(xsrc);
++ if (!tb->cache)
++ free(tgt);
+
+ free(root);
+ return rc;
+diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c
+index 0f618bb..28c8536 100644
+--- a/libmount/src/tab_parse.c
++++ b/libmount/src/tab_parse.c
+@@ -180,12 +180,7 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s)
+ unmangle_string(fs->vfs_optstr);
+ unmangle_string(fstype);
+ unmangle_string(src);
+-
+- if (!strcmp(fs->fs_optstr, "none")) {
+- free(fs->fs_optstr);
+- fs->fs_optstr = NULL;
+- } else
+- unmangle_string(fs->fs_optstr);
++ unmangle_string(fs->fs_optstr);
+
+ rc = __mnt_fs_set_fstype_ptr(fs, fstype);
+ if (!rc) {
+@@ -733,21 +728,14 @@ static struct libmnt_fs *mnt_table_merge_user_fs(struct libmnt_table *tb, struct
+ mnt_reset_iter(&itr, MNT_ITER_BACKWARD);
+
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+- const char *s = mnt_fs_get_srcpath(fs),
+- *t = mnt_fs_get_target(fs),
+- *r = mnt_fs_get_root(fs);
++ const char *r = mnt_fs_get_root(fs);
+
+ if (fs->flags & MNT_FS_MERGED)
+ continue;
+
+- /*
+- * Note that kernel can add tailing slash to the network
+- * filesystem source path
+- */
+- if (s && t && r &&
+- strcmp(t, target) == 0 &&
+- streq_except_trailing_slash(s, src) &&
+- strcmp(r, root) == 0)
++ if (r && strcmp(r, root) == 0
++ && mnt_fs_streq_target(fs, target)
++ && mnt_fs_streq_srcpath(fs, src))
+ break;
+ }
+
+diff --git a/libmount/src/utils.c b/libmount/src/utils.c
+index c7a1fd1..4d316d1 100644
+--- a/libmount/src/utils.c
++++ b/libmount/src/utils.c
+@@ -235,6 +235,7 @@ int mnt_fstype_is_pseudofs(const char *type)
+ strcmp(type, "binfmt_misc") == 0 ||
+ strcmp(type, "fuse.gvfs-fuse-daemon") == 0 ||
+ strcmp(type, "debugfs") == 0 ||
++ strcmp(type, "nfsd") == 0 ||
+ strcmp(type, "spufs") == 0)
+ return 1;
+ return 0;
+diff --git a/login-utils/login.c b/login-utils/login.c
+index 84d8b1b..4f448f8 100644
+--- a/login-utils/login.c
++++ b/login-utils/login.c
+@@ -128,6 +128,22 @@ static int timeout = LOGIN_TIMEOUT;
+ static int child_pid = 0;
+ static volatile int got_sig = 0;
+
++#ifdef LOGIN_CHOWN_VCS
++/* true if the filedescriptor fd is a console tty, very Linux specific */
++static int is_consoletty(int fd)
++{
++ struct stat stb;
++
++ if ((fstat(fd, &stb) >= 0)
++ && (major(stb.st_rdev) == TTY_MAJOR)
++ && (minor(stb.st_rdev) < 64)) {
++ return 1;
++ }
++ return 0;
++}
++#endif
++
++
+ /*
+ * Robert Ambrose writes:
+ * A couple of my users have a problem with login processes hanging around
+@@ -316,15 +332,15 @@ static void chown_tty(struct login_context *cxt)
+
+ #ifdef LOGIN_CHOWN_VCS
+ if (is_consoletty(0)) {
+- if (chown(cxt->vcs, uid, gid)) /* vcs */
+- chown_err(cxt->vcs, uid, gid);
+- if (chmod(cxt->vcs, cxt->tty_mode))
+- chmod_err(cxt->vcs, cxt->tty_mode);
+-
+- if (chown(cxt->vcsa, uid, gid)) /* vcsa */
+- chown_err(cxt->vcsa, uid, gid);
+- if (chmod(cxt->vcsa, cxt->tty_mode))
+- chmod_err(cxt->vcsa, cxt->tty_mode);
++ if (chown(cxt->vcsn, uid, gid)) /* vcs */
++ chown_err(cxt->vcsn, uid, gid);
++ if (chmod(cxt->vcsn, cxt->tty_mode))
++ chmod_err(cxt->vcsn, cxt->tty_mode);
++
++ if (chown(cxt->vcsan, uid, gid)) /* vcsa */
++ chown_err(cxt->vcsan, uid, gid);
++ if (chmod(cxt->vcsan, cxt->tty_mode))
++ chmod_err(cxt->vcsan, cxt->tty_mode);
+ }
+ #endif
+ }
+@@ -403,21 +419,6 @@ static void init_tty(struct login_context *cxt)
+ }
+
+
+-#ifdef LOGIN_CHOWN_VCS
+-/* true if the filedescriptor fd is a console tty, very Linux specific */
+-static int is_consoletty(int fd)
+-{
+- struct stat stb;
+-
+- if ((fstat(fd, &stb) >= 0)
+- && (major(stb.st_rdev) == TTY_MAJOR)
+- && (minor(stb.st_rdev) < 64)) {
+- return 1;
+- }
+- return 0;
+-}
+-#endif
+-
+ /*
+ * Log failed login attempts in _PATH_BTMP if that exists.
+ * Must be called only with username the name of an actual user.
+@@ -1145,13 +1146,10 @@ static void init_environ(struct login_context *cxt)
+ setenv("TERM", termenv, 1);
+
+ if (pwd->pw_uid)
+- setenv("PATH", getlogindefs_str("ENV_PATH", _PATH_DEFPATH), 1);
+- else {
+- const char *x = getlogindefs_str("ENV_ROOTPATH", NULL);
+- if (!x)
+- x = getlogindefs_str("ENV_SUPATH", _PATH_DEFPATH_ROOT);
+- setenv("PATH", x, 1);
+- }
++ logindefs_setenv("PATH", "ENV_PATH", _PATH_DEFPATH);
++
++ else if (logindefs_setenv("PATH", "ENV_ROOTPATH", NULL) != 0)
++ logindefs_setenv("PATH", "ENV_SUPATH", _PATH_DEFPATH_ROOT);
+
+ /* mailx will give a funny error msg if you forget this one */
+ len = snprintf(tmp, sizeof(tmp), "%s/%s", _PATH_MAILDIR, pwd->pw_name);
+diff --git a/login-utils/logindefs.c b/login-utils/logindefs.c
+index fe590e9..e9517ac 100644
+--- a/login-utils/logindefs.c
++++ b/login-utils/logindefs.c
+@@ -211,6 +211,43 @@ const char *getlogindefs_str(const char *name, const char *dflt)
+ return ptr->value;
+ }
+
++/*
++ * For compatibililty with shadow-utils we have tu support additional
++ * syntax for environment variables in login.defs(5) file. The standard
++ * syntax is:
++ *
++ * ENV_FOO data
++ *
++ * but shadow-utils supports also
++ *
++ * ENV_FOO FOO=data
++ *
++ * the FOO= prefix has to be remove before we call setenv().
++ */
++int logindefs_setenv(const char *name, const char *conf, const char *dflt)
++{
++ const char *val = getlogindefs_str(conf, dflt);
++ const char *p;
++
++ if (!val)
++ return -1;
++
++ p = strchr(val, '=');
++ if (p) {
++ size_t sz = strlen(name);
++
++ if (strncmp(val, name, sz) == 0 && *(p + 1)) {
++ val = p + 1;
++ if (*val == '"')
++ val++;
++ if (!*val)
++ val = dflt;
++ }
++ }
++
++ return val ? setenv(name, val, 1) : -1;
++}
++
+ #ifdef TEST_PROGRAM
+ int main(int argc, char *argv[])
+ {
+diff --git a/login-utils/logindefs.h b/login-utils/logindefs.h
+index 37d19e1..163869d 100644
+--- a/login-utils/logindefs.h
++++ b/login-utils/logindefs.h
+@@ -5,5 +5,6 @@ extern int getlogindefs_bool(const char *name, int dflt);
+ extern long getlogindefs_num(const char *name, long dflt);
+ extern const char *getlogindefs_str(const char *name, const char *dflt);
+ extern void free_getlogindefs_data(void);
++extern int logindefs_setenv(const char *name, const char *conf, const char *dflt);
+
+ #endif /* UTIL_LINUX_LOGINDEFS_H */
+diff --git a/man/ru/Makefile.am b/man/ru/Makefile.am
+index 799feca..281ec23 100644
+--- a/man/ru/Makefile.am
++++ b/man/ru/Makefile.am
+@@ -1,9 +1,6 @@
+ include $(top_srcdir)/config/include-Makefile.am
+
+-mandir = @mandir@/ru
+-
+-dist_man_MANS =
+-
+ if BUILD_DDATE
+-dist_man_MANS += ddate.1
++ruman1_DATA = ddate.1
++EXTRA_DIST = $(ruman1_DATA)
+ endif
+diff --git a/misc-utils/lsblk.8 b/misc-utils/lsblk.8
+index 028b19f..286d54b 100644
+--- a/misc-utils/lsblk.8
++++ b/misc-utils/lsblk.8
+@@ -59,7 +59,7 @@ Use key="value" output format.
+ Use the raw output format.
+ .IP "\fB\-t, \-\-topology\fP"
+ Output info about block device topology.
+-This option is equivalent to "-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED".
++This option is equivalent to "-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE".
+ .SH NOTES
+ For the partitions are some information (e.g. queue attributes) inherited from
+ parental device.
+diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
+index 8468b3f..54bf360 100644
+--- a/misc-utils/lsblk.c
++++ b/misc-utils/lsblk.c
+@@ -478,9 +478,14 @@ static void set_tt_data(struct blkdev_cxt *cxt, int col, int id, struct tt_line
+ switch(id) {
+ case COL_NAME:
+ if (cxt->dm_name) {
+- snprintf(buf, sizeof(buf), "%s (%s)",
++ if ((lsblk->tt->flags & TT_FL_RAW) ||
++ (lsblk->tt->flags & TT_FL_EXPORT))
++ tt_line_set_data(ln, col, xstrdup(cxt->dm_name));
++ else {
++ snprintf(buf, sizeof(buf), "%s (%s)",
+ cxt->dm_name, cxt->name);
+- tt_line_set_data(ln, col, xstrdup(buf));
++ tt_line_set_data(ln, col, xstrdup(buf));
++ }
+ break;
+ }
+ case COL_KNAME:
+diff --git a/mount/fstab.5 b/mount/fstab.5
+index b0cd763..c618947 100644
+--- a/mount/fstab.5
++++ b/mount/fstab.5
+@@ -167,7 +167,7 @@ support filesystem
+ The subtype is defined by '.subtype' suffix. For
+ example 'fuse.sshfs'. It's recommended to use subtype notation rather than add
+ any prefix to the first fstab field (for example 'sshfs#example.com' is
+-depreacated).
++deprecated).
+ .RE
+
+ .B The fourth field
+diff --git a/sys-utils/losetup.8 b/sys-utils/losetup.8
+index a68836e..f50b072 100644
+--- a/sys-utils/losetup.8
++++ b/sys-utils/losetup.8
+@@ -80,6 +80,8 @@ for non-root users.
+ force loop driver to reread size of the file associated with the specified loop device
+ .IP "\fB\-d, \-\-detach\fP \fIloopdev\fP..."
+ detach the file or device associated with the specified loop device(s)
++.IP "\fB\-D, \-\-detach-all\fP"
++detach all associated loop devices
+ .IP "\fB\-e, \-E, \-\-encryption \fIencryption_type\fP"
+ enable data encryption with specified name or number
+ .IP "\fB\-f, \-\-find\fP"
+diff --git a/sys-utils/losetup.c b/sys-utils/losetup.c
+index 16ace6f..9f03151 100644
+--- a/sys-utils/losetup.c
++++ b/sys-utils/losetup.c
+@@ -362,7 +362,7 @@ int main(int argc, char **argv)
+ if (flags & LOOPDEV_FL_OFFSET)
+ loopcxt_set_offset(&lc, offset);
+ if (flags & LOOPDEV_FL_SIZELIMIT)
+- loopcxt_set_offset(&lc, sizelimit);
++ loopcxt_set_sizelimit(&lc, sizelimit);
+ if (lo_flags)
+ loopcxt_set_flags(&lc, lo_flags);
+ if ((res = loopcxt_set_backing_file(&lc, file))) {
+diff --git a/sys-utils/mount.8 b/sys-utils/mount.8
+index 78e7a41..44d4402 100644
+--- a/sys-utils/mount.8
++++ b/sys-utils/mount.8
+@@ -2760,6 +2760,10 @@ mount failure
+ .TP
+ .BR 64
+ some mount succeeded
++.RE
++
++The command mount -a returns 0 (all success), 32 (all failed) or 64 (some
++failed, some success).
+
+ .SH NOTES
+ The syntax of external mount helpers is:
+diff --git a/sys-utils/mount.c b/sys-utils/mount.c
+index 15510e0..12ec372 100644
+--- a/sys-utils/mount.c
++++ b/sys-utils/mount.c
+@@ -182,6 +182,8 @@ static int mount_all(struct libmnt_context *cxt)
+ struct libmnt_fs *fs;
+ int mntrc, ignored, rc = MOUNT_EX_SUCCESS;
+
++ int nsucc = 0, nerrs = 0;
++
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr) {
+ warn(_("failed to initialize libmount iterator"));
+@@ -197,31 +199,40 @@ static int mount_all(struct libmnt_context *cxt)
+ printf(ignored == 1 ? _("%-25s: ignored\n") :
+ _("%-25s: already mounted\n"),
+ tgt);
+-
+ } else if (mnt_context_is_fork(cxt)) {
+ if (mnt_context_is_verbose(cxt))
+ printf("%-25s: mount successfully forked\n", tgt);
+ } else {
+- rc |= mk_exit_code(cxt, mntrc);
++ mk_exit_code(cxt, mntrc); /* to print warnings */
+
+ if (mnt_context_get_status(cxt)) {
+- rc |= MOUNT_EX_SOMEOK;
++ nsucc++;
+
+ if (mnt_context_is_verbose(cxt))
+ printf("%-25s: successfully mounted\n", tgt);
+- }
++ } else
++ nerrs++;
+ }
+ }
+
+ if (mnt_context_is_parent(cxt)) {
+ /* wait for mount --fork children */
+- int nerrs = 0, nchildren = 0;
++ int nchildren = 0;
++
++ nerrs = 0, nsucc = 0;
+
+ rc = mnt_context_wait_for_children(cxt, &nchildren, &nerrs);
+ if (!rc && nchildren)
+- rc = nchildren == nerrs ? MOUNT_EX_FAIL : MOUNT_EX_SOMEOK;
++ nsucc = nchildren - nerrs;
+ }
+
++ if (nerrs == 0)
++ rc = MOUNT_EX_SUCCESS; /* all success */
++ else if (nsucc == 0)
++ rc = MOUNT_EX_FAIL; /* all failed */
++ else
++ rc = MOUNT_EX_SOMEOK; /* some success, some failed */
++
+ mnt_free_iter(itr);
+ return rc;
+ }
+@@ -290,6 +301,25 @@ static void selinux_warning(struct libmnt_context *cxt, const char *tgt)
+ # define selinux_warning(_x, _y)
+ #endif
+
++/* temporary in mount(8) for v2.21.x releases, in v2.22 will be in libmount
++ */
++static int mnt_fs_streq_srcpath(struct libmnt_fs *fs, const char *path)
++{
++ const char *p;
++
++ if (!fs)
++ return 0;
++
++ p = mnt_fs_get_srcpath(fs);
++
++ if (!mnt_fs_is_pseudofs(fs))
++ return streq_except_trailing_slash(p, path);
++
++ if (!p && !path)
++ return 1;
++
++ return p && path && strcmp(p, path) == 0;
++}
+
+ /*
+ * rc = 0 success
+@@ -336,7 +366,11 @@ try_readonly:
+ return MOUNT_EX_USAGE;
+ }
+
+- if (src == NULL || tgt == NULL) {
++ /*
++ * TODO: add mnt_context_fstab_applied() to check if we found
++ * target/source in the file.
++ */
++ if (!tgt) {
+ if (mflags & MS_REMOUNT)
+ warnx(_("%s not mounted"), src ? src : tgt);
+ else
+@@ -408,7 +442,7 @@ try_readonly:
+ const char *s = mnt_fs_get_srcpath(fs),
+ *t = mnt_fs_get_target(fs);
+
+- if (t && s && streq_except_trailing_slash(s, src))
++ if (t && s && mnt_fs_streq_srcpath(fs, src))
+ fprintf(stderr, _(
+ " %s is already mounted on %s\n"), s, t);
+ }
+@@ -697,7 +731,7 @@ int main(int argc, char **argv)
+ longopts, NULL)) != -1) {
+
+ /* only few options are allowed for non-root users */
+- if (mnt_context_is_restricted(cxt) && !strchr("hlLUVvpr", c))
++ if (mnt_context_is_restricted(cxt) && !strchr("hlLUVvpri", c))
+ exit_non_root(option_to_longopt(c, longopts));
+
+ switch(c) {
+diff --git a/sys-utils/mountpoint.c b/sys-utils/mountpoint.c
+index 5cc833d..d0a0069 100644
+--- a/sys-utils/mountpoint.c
++++ b/sys-utils/mountpoint.c
+@@ -40,12 +40,12 @@
+
+ static int quiet;
+
+-static dev_t dir_to_device(const char *spec)
++static int dir_to_device(const char *spec, dev_t *dev)
+ {
+ struct libmnt_table *tb = mnt_new_table_from_file("/proc/self/mountinfo");
+ struct libmnt_fs *fs;
+ struct libmnt_cache *cache;
+- dev_t res = 0;
++ int rc = -1;
+
+ if (!tb) {
+ /*
+@@ -57,7 +57,7 @@ static dev_t dir_to_device(const char *spec)
+ int len;
+
+ if (stat(spec, &st) != 0)
+- return 0;
++ return -1;
+
+ cn = mnt_resolve_path(spec, NULL); /* canonicalize */
+
+@@ -65,15 +65,17 @@ static dev_t dir_to_device(const char *spec)
+ free(cn);
+
+ if (len < 0 || (size_t) len + 1 > sizeof(buf))
+- return 0;
++ return -1;
+ if (stat(buf, &pst) !=0)
+- return 0;
++ return -1;
+
+ if ((st.st_dev != pst.st_dev) ||
+- (st.st_dev == pst.st_dev && st.st_ino == pst.st_ino))
+- return st.st_dev;
++ (st.st_dev == pst.st_dev && st.st_ino == pst.st_ino)) {
++ *dev = st.st_dev;
++ return 0;
++ }
+
+- return 0;
++ return -1;
+ }
+
+ /* to canonicalize all necessary paths */
+@@ -81,12 +83,14 @@ static dev_t dir_to_device(const char *spec)
+ mnt_table_set_cache(tb, cache);
+
+ fs = mnt_table_find_target(tb, spec, MNT_ITER_BACKWARD);
+- if (fs && mnt_fs_get_target(fs))
+- res = mnt_fs_get_devno(fs);
++ if (fs && mnt_fs_get_target(fs)) {
++ *dev = mnt_fs_get_devno(fs);
++ rc = 0;
++ }
+
+ mnt_free_table(tb);
+ mnt_free_cache(cache);
+- return res;
++ return rc;
+ }
+
+ static int print_devno(const char *devname, struct stat *st)
+@@ -185,8 +189,8 @@ int main(int argc, char **argv)
+ errx(EXIT_FAILURE, _("%s: not a directory"), spec);
+ return EXIT_FAILURE;
+ }
+- src = dir_to_device(spec);
+- if (!src) {
++
++ if ( dir_to_device(spec, &src)) {
+ if (!quiet)
+ printf(_("%s is not a mountpoint\n"), spec);
+ return EXIT_FAILURE;
+diff --git a/term-utils/script.c b/term-utils/script.c
+index 58f9790..0d891b8 100644
+--- a/term-utils/script.c
++++ b/term-utils/script.c
+@@ -437,6 +437,16 @@ doshell(void) {
+ else
+ shname = shell;
+
++ /*
++ * When invoked from within /etc/csh.login, script spawns a csh shell
++ * that spawns programs that cannot be killed with a SIGTERM. This is
++ * because csh has a documented behaviour wherein it disables all
++ * signals when processing the /etc/csh.* files.
++ *
++ * Let's restore the default behavior.
++ */
++ signal(SIGTERM, SIG_DFL);
++
+ if (cflg)
+ execl(shell, shname, "-c", cflg, NULL);
+ else
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index fd62519..2c72318 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -7,5 +7,5 @@ EXTRA_DIST = expected \
+ functions.sh \
+ run.sh
+
+-distclean-local:
++clean-local:
+ rm -rf output diff
+diff --git a/tests/expected/libmount/tabfiles-find-target2 b/tests/expected/libmount/tabfiles-find-target2
+new file mode 100644
+index 0000000..8a6c57b
+--- /dev/null
++++ b/tests/expected/libmount/tabfiles-find-target2
+@@ -0,0 +1,5 @@
++------ fs:
++source: /dev/foo
++target: /any/foo/
++fstype: auto
++optstr: defaults
+diff --git a/tests/expected/libmount/tabfiles-find-target3 b/tests/expected/libmount/tabfiles-find-target3
+new file mode 100644
+index 0000000..8a6c57b
+--- /dev/null
++++ b/tests/expected/libmount/tabfiles-find-target3
+@@ -0,0 +1,5 @@
++------ fs:
++source: /dev/foo
++target: /any/foo/
++fstype: auto
++optstr: defaults
+diff --git a/tests/expected/libmount/tabfiles-parse-fstab b/tests/expected/libmount/tabfiles-parse-fstab
+index 14bdfb4..d661526 100644
+--- a/tests/expected/libmount/tabfiles-parse-fstab
++++ b/tests/expected/libmount/tabfiles-parse-fstab
+@@ -58,3 +58,8 @@ target: /mnt/gogogo
+ fstype: cifs
+ optstr: user=SRGROUP/baby,noauto
+ user-optstr: user=SRGROUP/baby,noauto
++------ fs:
++source: /dev/foo
++target: /any/foo/
++fstype: auto
++optstr: defaults
+diff --git a/tests/expected/libmount/tabfiles-parse-mountinfo b/tests/expected/libmount/tabfiles-parse-mountinfo
+index 95182dd..4470801 100644
+--- a/tests/expected/libmount/tabfiles-parse-mountinfo
++++ b/tests/expected/libmount/tabfiles-parse-mountinfo
+@@ -296,7 +296,7 @@ id: 41
+ parent: 20
+ devno: 253:0
+ ------ fs:
+-source: (null)
++source: none
+ target: /proc/sys/fs/binfmt_misc
+ fstype: binfmt_misc
+ optstr: rw,relatime
+diff --git a/tests/expected/libmount/tabfiles-parse-mtab b/tests/expected/libmount/tabfiles-parse-mtab
+index d7171ea..ffd0c13 100644
+--- a/tests/expected/libmount/tabfiles-parse-mtab
++++ b/tests/expected/libmount/tabfiles-parse-mtab
+@@ -42,7 +42,7 @@ fstype: ext4
+ optstr: rw,noatime
+ VFS-optstr: rw,noatime
+ ------ fs:
+-source: (null)
++source: none
+ target: /proc/sys/fs/binfmt_misc
+ fstype: binfmt_misc
+ optstr: rw
+diff --git a/tests/expected/libmount/update-utab-mount b/tests/expected/libmount/update-utab-mount
+index 1784e00..58a0179 100644
+--- a/tests/expected/libmount/update-utab-mount
++++ b/tests/expected/libmount/update-utab-mount
+@@ -1,3 +1,3 @@
+ SRC=/dev/sdb1 TARGET=/mnt/bar ROOT=/ OPTS=user
+ SRC=/dev/sda2 TARGET=/mnt/xyz ROOT=/ OPTS=loop=/dev/loop0,uhelper=hal
+-TARGET=/proc ROOT=/ OPTS=user
++SRC=none TARGET=/proc ROOT=/ OPTS=user
+diff --git a/tests/expected/libmount/update-utab-move b/tests/expected/libmount/update-utab-move
+index 12917cc..6008140 100644
+--- a/tests/expected/libmount/update-utab-move
++++ b/tests/expected/libmount/update-utab-move
+@@ -1,3 +1,3 @@
+ SRC=/dev/sdb1 TARGET=/mnt/newbar ROOT=/ OPTS=user
+ SRC=/dev/sda2 TARGET=/mnt/newxyz ROOT=/ OPTS=loop=/dev/loop0,uhelper=hal
+-TARGET=/proc ROOT=/ OPTS=user
++SRC=none TARGET=/proc ROOT=/ OPTS=user
+diff --git a/tests/expected/libmount/update-utab-remount b/tests/expected/libmount/update-utab-remount
+index 737e2a3..8e344b3 100644
+--- a/tests/expected/libmount/update-utab-remount
++++ b/tests/expected/libmount/update-utab-remount
+@@ -1,3 +1,3 @@
+ SRC=/dev/sdb1 TARGET=/mnt/newbar ROOT=/ OPTS=user
+ SRC=/dev/sda2 TARGET=/mnt/newxyz ROOT=/ OPTS=user
+-TARGET=/proc ROOT=/ OPTS=user
++SRC=none TARGET=/proc ROOT=/ OPTS=user
+diff --git a/tests/expected/mount/fstab-none b/tests/expected/mount/fstab-none
+new file mode 100644
+index 0000000..3582111
+--- /dev/null
++++ b/tests/expected/mount/fstab-none
+@@ -0,0 +1 @@
++Success
+diff --git a/tests/expected/mount/shared-subtree b/tests/expected/mount/shared-subtree
+new file mode 100644
+index 0000000..3582111
+--- /dev/null
++++ b/tests/expected/mount/shared-subtree
+@@ -0,0 +1 @@
++Success
+diff --git a/tests/expected/mount/shared-subtree-make-private b/tests/expected/mount/shared-subtree-make-private
+new file mode 100644
+index 0000000..39cdd0d
+--- /dev/null
++++ b/tests/expected/mount/shared-subtree-make-private
+@@ -0,0 +1 @@
++-
+diff --git a/tests/expected/mount/shared-subtree-make-shared b/tests/expected/mount/shared-subtree-make-shared
+new file mode 100644
+index 0000000..8a205e8
+--- /dev/null
++++ b/tests/expected/mount/shared-subtree-make-shared
+@@ -0,0 +1 @@
++shared
+diff --git a/tests/expected/mount/shared-subtree-make-unbindable b/tests/expected/mount/shared-subtree-make-unbindable
+new file mode 100644
+index 0000000..376cfac
+--- /dev/null
++++ b/tests/expected/mount/shared-subtree-make-unbindable
+@@ -0,0 +1 @@
++unbindable
+diff --git a/tests/functions.sh b/tests/functions.sh
+index 85b1621..6556e4e 100644
+--- a/tests/functions.sh
++++ b/tests/functions.sh
+@@ -93,6 +93,8 @@ function ts_init_core_subtest_env {
+ TS_MOUNTPOINT="$TS_OUTDIR/${TS_TESTNAME}-${TS_SUBNAME}-mnt"
+
+ rm -f $TS_OUTPUT $TS_VGDUMP
++ [ -d "$TS_OUTDIR" ] || mkdir -p "$TS_OUTDIR"
++
+ touch $TS_OUTPUT
+ [ -n "$TS_VALGRIND_CMD" ] && touch $TS_VGDUMP
+ }
+@@ -127,8 +129,6 @@ function ts_init_env {
+
+ BLKID_FILE="$TS_OUTDIR/${TS_TESTNAME}.blkidtab"
+
+- [ -d "$TS_OUTDIR" ] || mkdir -p "$TS_OUTDIR"
+- [ -d "$TS_DIFFDIR" ] || mkdir -p "$TS_DIFFDIR"
+
+ declare -a TS_SUID_PROGS
+ declare -a TS_SUID_USER
+@@ -141,6 +141,8 @@ function ts_init_env {
+ export BLKID_FILE
+
+ rm -f $TS_OUTPUT $TS_VGDUMP
++ [ -d "$TS_OUTDIR" ] || mkdir -p "$TS_OUTDIR"
++
+ touch $TS_OUTPUT
+ [ -n "$TS_VALGRIND_CMD" ] && touch $TS_VGDUMP
+
+@@ -219,8 +221,15 @@ function ts_gen_diff {
+ local res=0
+
+ if [ -s "$TS_OUTPUT" ]; then
++
++ [ -d "$TS_DIFFDIR" ] || mkdir -p "$TS_DIFFDIR"
+ diff -u $TS_EXPECTED $TS_OUTPUT > $TS_DIFF
+- [ -s $TS_DIFF ] && res=1
++
++ if [ -s $TS_DIFF ]; then
++ res=1
++ else
++ rm -f $TS_DIFF;
++ fi
+ else
+ res=1
+ fi
+diff --git a/tests/ts/build-sys/config b/tests/ts/build-sys/config
+index 7ede38c..e2c2b00 100755
+--- a/tests/ts/build-sys/config
++++ b/tests/ts/build-sys/config
+@@ -52,9 +52,18 @@ for conf in $config_gen_dir/config-gen.d/*.conf; do
+ esac
+ fi
+ done
++
++ # clean the tree, but exclude tests/{diff,output} dirs
++ #
++ [ -d tests/diff ] && mv tests/diff tests/diff.save
++ [ -d tests/output ] && mv tests/output tests/output.save
++
+ make -j clean &> /dev/null
+- cd $olddir
+
++ [ -d tests/diff.save ] && mv tests/diff.save tests/diff
++ [ -d tests/output.save ] && mv tests/output.save tests/output
++
++ cd $olddir
+ ts_finalize_subtest
+ done
+
+diff --git a/tests/ts/libmount/context-utab b/tests/ts/libmount/context-utab
+index aa49806..4c1d117 100755
+--- a/tests/ts/libmount/context-utab
++++ b/tests/ts/libmount/context-utab
+@@ -67,6 +67,8 @@ grep -q $DEVICE /proc/mounts || \
+ echo "(by device) cannot find $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>&1
+ ts_finalize_subtest
+
++sleep 1
++
+ ts_init_subtest "umount-by-devname"
+ ts_valgrind $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>&1
+ grep -q $DEVICE /proc/mounts &&
+@@ -81,6 +83,8 @@ grep -q $DEVICE $LIBMOUNT_UTAB || \
+ echo "(by label) cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
+ ts_finalize_subtest
+
++sleep 1
++
+ ts_init_subtest "umount"
+ ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
+ grep -q $DEVICE $LIBMOUNT_UTAB && \
+@@ -94,6 +98,8 @@ if [ -x "/sbin/mkfs.btrfs" ]; then
+ /sbin/btrfsctl -S sub $MOUNTPOINT &> /dev/null
+ umount $MOUNTPOINT &> /dev/null
+
++ sleep 1
++
+ ts_init_subtest "mount-uhelper-subvol"
+ mkdir -p $MOUNTPOINT &> /dev/null
+ ts_valgrind $TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
+@@ -105,6 +111,8 @@ if [ -x "/sbin/mkfs.btrfs" ]; then
+ $TS_CMD_FINDMNT --mtab $MOUNTPOINT -o OPTIONS -n >> $TS_OUTPUT 2>&1
+ ts_log "---"
+
++ sleep 1
++
+ ts_init_subtest "umount-subvol"
+ ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
+ grep -q $DEVICE $LIBMOUNT_UTAB && \
+diff --git a/tests/ts/libmount/files/fstab b/tests/ts/libmount/files/fstab
+index 2503065..a8f73bc 100644
+--- a/tests/ts/libmount/files/fstab
++++ b/tests/ts/libmount/files/fstab
+@@ -10,3 +10,5 @@ proc /proc proc defaults 0 0
+
+ foo.com:/mnt/share /mnt/remote nfs noauto
+ //bar.com/gogogo /mnt/gogogo cifs user=SRGROUP/baby,noauto
++
++/dev/foo /any/foo/ auto defaults 0 0
+diff --git a/tests/ts/libmount/tabfiles b/tests/ts/libmount/tabfiles
+index 7f4913e..671c649 100755
+--- a/tests/ts/libmount/tabfiles
++++ b/tests/ts/libmount/tabfiles
+@@ -47,6 +47,16 @@ ts_valgrind $TESTPROG --find-forward "$TS_SELF/files/fstab" target /home/foo &>
+ sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ ts_finalize_subtest
+
++ts_init_subtest "find-target2"
++ts_valgrind $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo &> $TS_OUTPUT
++sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
++ts_finalize_subtest
++
++ts_init_subtest "find-target3"
++ts_valgrind $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo/ &> $TS_OUTPUT
++sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
++ts_finalize_subtest
++
+ ts_init_subtest "find-pair"
+ ts_valgrind $TESTPROG --find-pair "$TS_SELF/files/mtab" /dev/mapper/kzak-home /home/kzak &> $TS_OUTPUT
+ sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+diff --git a/tests/ts/mount/fstab-none b/tests/ts/mount/fstab-none
+new file mode 100755
+index 0000000..62a89ca
+--- /dev/null
++++ b/tests/ts/mount/fstab-none
+@@ -0,0 +1,30 @@
++#!/bin/bash
++
++TS_TOPDIR="$(dirname $0)/../.."
++TS_DESC="none"
++
++. $TS_TOPDIR/functions.sh
++ts_init "$*"
++ts_skip_nonroot
++
++set -o pipefail
++
++ts_fstab_add "none" "$TS_MOUNTPOINT" "tmpfs" "rw,nosuid,nodev,relatime"
++
++mkdir -p $TS_MOUNTPOINT
++
++$TS_CMD_MOUNT $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
++
++$TS_CMD_FINDMNT --target "$TS_MOUNTPOINT" &> /dev/null
++[ $? -eq 0 ] || ts_die "Not found target (mount failed?)"
++
++$TS_CMD_FINDMNT --source "none" --target "$TS_MOUNTPOINT" &> /dev/null
++[ $? -eq 0 ] || ts_die "Not found source and target"
++
++$TS_CMD_UMOUNT $TS_MOUNTPOINT || ts_die "Cannot umount $TS_MOUNTPOINT"
++
++ts_fstab_clean
++
++ts_log "Success"
++ts_finalize
++
+diff --git a/tests/ts/mount/shared-subtree b/tests/ts/mount/shared-subtree
+new file mode 100755
+index 0000000..a0a76c5
+--- /dev/null
++++ b/tests/ts/mount/shared-subtree
+@@ -0,0 +1,58 @@
++#!/bin/bash
++
++TS_TOPDIR="$(dirname $0)/../.."
++TS_DESC="shared-subtree"
++
++. $TS_TOPDIR/functions.sh
++ts_init "$*"
++ts_skip_nonroot
++
++function get_attr()
++{
++ # It's usually stupid idea to use 'grep | awk',
++ # but use paths in awk /regex/ is too tricky...
++ #
++ # TODO; improve libmount and findmnt to return the
++ # shared-subtree flags
++ #
++ echo $(grep "$1" /proc/self/mountinfo | \
++ awk '{print $7}' | \
++ awk -F ':' '{ print $1 }')
++}
++
++[ -d $TS_MOUNTPOINT ] || mkdir -p $TS_MOUNTPOINT
++
++# bind
++$TS_CMD_MOUNT --bind $TS_MOUNTPOINT $TS_MOUNTPOINT
++
++# check the bind
++$TS_CMD_FINDMNT --kernel --target $TS_MOUNTPOINT &> /dev/null
++[ "$?" == "0" ] || ts_die "Cannot find binded $TS_MOUNTPOINT in /proc/self/mountinfo"
++
++# use the same mounpoint for all sub-tests
++MOUNTPOINT="$TS_MOUNTPOINT"
++
++
++ts_init_subtest "make-shared"
++$TS_CMD_MOUNT --make-shared $MOUNTPOINT >> $TS_OUTPUT 2>&1
++echo "$(get_attr $MOUNTPOINT)" >> $TS_OUTPUT
++ts_finalize_subtest
++
++ts_init_subtest "make-private"
++$TS_CMD_MOUNT --make-private $MOUNTPOINT >> $TS_OUTPUT 2>&1
++echo "$(get_attr $MOUNTPOINT)" >> $TS_OUTPUT
++ts_finalize_subtest
++
++ts_init_subtest "make-unbindable"
++$TS_CMD_MOUNT --make-unbindable $MOUNTPOINT >> $TS_OUTPUT 2>&1
++echo "$(get_attr $MOUNTPOINT)" >> $TS_OUTPUT
++ts_finalize_subtest
++
++
++# clean up
++$TS_CMD_UMOUNT $TS_MOUNTPOINT
++rmdir $TS_MOUNTPOINT
++
++ts_log "Success"
++ts_finalize
++