diff options
-rw-r--r-- | abs/core-testing/squashfs-tools/PKGBUILD | 21 | ||||
-rw-r--r-- | abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch | 23 |
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); + |