summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core-testing/squashfs-tools/PKGBUILD21
-rw-r--r--abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch23
2 files changed, 34 insertions, 10 deletions
diff --git a/abs/core-testing/squashfs-tools/PKGBUILD b/abs/core-testing/squashfs-tools/PKGBUILD
index dd17001..fb99564 100644
--- a/abs/core-testing/squashfs-tools/PKGBUILD
+++ b/abs/core-testing/squashfs-tools/PKGBUILD
@@ -1,24 +1,25 @@
-# $Id: PKGBUILD 3162 2008-06-20 23:18:11Z simo $
+# $Id: PKGBUILD 70339 2010-02-26 03:50:39Z dgriffiths $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Original TU: Jeff Mickey <j@codemac.net>
# Contributor: ciccio.a
pkgname=squashfs-tools
-pkgver=3.3
-_realver=3.3
-pkgrel=1
+pkgver=4.0
+pkgrel=3
pkgdesc="Tools for squashfs, a highly compressed read-only filesystem for Linux."
url="http://squashfs.sourceforge.net"
-license="GPL"
+license=("GPL")
arch=('i686' 'x86_64')
depends=('zlib' 'glibc')
-source=(http://easynews.dl.sourceforge.net/sourceforge/squashfs/squashfs$_realver.tar.gz)
-md5sums=('62d3ff7c067a5aa82f57711b3a4ab86a')
+source=(http://downloads.sourceforge.net/sourceforge/squashfs/squashfs${pkgver}.tar.gz mksquashfs-fix-race.patch)
build()
{
- cd $startdir/src/squashfs$_realver/$pkgname
+ cd ${srcdir}/squashfs${pkgver}/${pkgname}
+ patch < ${srcdir}/mksquashfs-fix-race.patch || return 1
make || return 1
- mkdir -p $startdir/pkg/sbin
- cp -a mksquashfs unsquashfs $startdir/pkg/sbin
+ install -Dm755 mksquashfs ${pkgdir}/sbin/mksquashfs || return 1
+ install -m755 unsquashfs ${pkgdir}/sbin/unsquashfs || return 1
}
+md5sums=('a3c23391da4ebab0ac4a75021ddabf96'
+ '116b8a285ff8d61d59c48eb80c0ff564')
diff --git a/abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch b/abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch
new file mode 100644
index 0000000..e483c93
--- /dev/null
+++ b/abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch
@@ -0,0 +1,23 @@
+--- squashfs-tools/mksquashfs.c 2009-04-05 18:22:48.000000000 -0300
++++ squashfs-tools/mksquashfs.c 2010-02-10 17:04:29.303757175 -0300
+@@ -1733,9 +1733,7 @@
+ entry->buffer->block = bytes;
+ bytes += compressed_size;
+ fragments_outstanding --;
+- pthread_mutex_unlock(&fragment_mutex);
+ queue_put(to_writer, entry->buffer);
+- pthread_mutex_lock(&fragment_mutex);
+ TRACE("fragment_locked writing fragment %d, compressed size %d"
+ "\n", entry->fragment, compressed_size);
+ free(entry);
+@@ -2426,8 +2424,8 @@
+ write_buffer->block = bytes;
+ bytes += compressed_size;
+ fragments_outstanding --;
+- pthread_mutex_unlock(&fragment_mutex);
+ queue_put(to_writer, write_buffer);
++ pthread_mutex_unlock(&fragment_mutex);
+ TRACE("Writing fragment %lld, uncompressed size %d, "
+ "compressed size %d\n", file_buffer->block,
+ file_buffer->size, compressed_size);
+