Date: Thursday, February 25, 2010 @ 22:04:37 Author: dgriffiths Revision: 70328
FS#18277 Added: squashfs-tools/trunk/mksquashfs-fix-race.patch Modified: squashfs-tools/trunk/PKGBUILD ---------------------------+ PKGBUILD | 14 ++++++++------ mksquashfs-fix-race.patch | 26 ++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-02-26 02:53:01 UTC (rev 70327) +++ PKGBUILD 2010-02-26 03:04:37 UTC (rev 70328) @@ -5,19 +5,21 @@ pkgname=squashfs-tools pkgver=4.0 -pkgrel=1 +pkgrel=2 pkgdesc="Tools for squashfs, a highly compressed read-only filesystem for Linux." url="http://squashfs.sourceforge.net" license=("GPL") arch=('i686' 'x86_64') depends=('zlib' 'glibc') -source=(http://downloads.sourceforge.net/sourceforge/squashfs/squashfs$pkgver.tar.gz) +source=(http://downloads.sourceforge.net/sourceforge/squashfs/squashfs${pkgver}.tar.gz mksquashfs-fix-race.patch) build() { - cd $startdir/src/squashfs$pkgver/$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') +md5sums=('a3c23391da4ebab0ac4a75021ddabf96' + '39644a122e5a2cd44817ea6d24d0c8a0') Added: mksquashfs-fix-race.patch =================================================================== --- mksquashfs-fix-race.patch (rev 0) +++ mksquashfs-fix-race.patch 2010-02-26 03:04:37 UTC (rev 70328) @@ -0,0 +1,26 @@ +--- squashfs-tools/trunk/mksquashfs-fix-race.patch (revision 0) ++++ squashfs-tools/trunk/mksquashfs-fix-race.patch (revision 0) +@@ -0,0 +1,22 @@ ++--- 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); +