diff options
author | root <root@rshg054.dnsready.net> | 2012-03-15 00:01:19 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-03-15 00:01:19 +0000 |
commit | 14635ca5380a480450a66c3fcc29992d29a2bd8e (patch) | |
tree | a2f8e712c9e15b829397666c06d1cdd1a877d8a6 | |
parent | 01a0c4bc740842efa3bf1a7e1d6c8be5656e4e2a (diff) |
Thu Mar 15 00:01:19 UTC 2012
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 ++ |