summaryrefslogtreecommitdiff
path: root/extra/dosfstools
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2013-01-12 13:04:54 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2013-01-12 13:04:54 +0100
commit24633b6f6af8dc77ca77224448d226d8e99c9ce1 (patch)
tree0e862445be6a105957104f94f7e4f2668e1fdbba /extra/dosfstools
parentd28ed89b1e41f7e71045a5c2e898aa3b369eda47 (diff)
parent8c2563c3c13cb7a279544f6926cbdd2eb902cc9a (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/cdemu-daemon/PKGBUILD community/chmsee/PKGBUILD community/fceux/PKGBUILD community/ginac/PKGBUILD community/gstreamermm/PKGBUILD community/gtksourceviewmm/PKGBUILD community/lgi/PKGBUILD community/libmirage/PKGBUILD core/gawk/PKGBUILD core/gettext/PKGBUILD extra/enca/PKGBUILD extra/gnutls/PKGBUILD extra/hdf5/PKGBUILD extra/kdebase/PKGBUILD extra/libass/PKGBUILD extra/libdiscid/PKGBUILD extra/libxcomposite/PKGBUILD extra/libxdamage/PKGBUILD extra/maxima/PKGBUILD extra/nx/PKGBUILD extra/opencv/PKGBUILD extra/pidgin/PKGBUILD extra/redland/PKGBUILD extra/sharutils/PKGBUILD extra/soundtouch/PKGBUILD extra/sqlite/PKGBUILD extra/twisted/PKGBUILD libre/dpkg/PKGBUILD
Diffstat (limited to 'extra/dosfstools')
-rw-r--r--extra/dosfstools/PKGBUILD12
-rw-r--r--extra/dosfstools/dosfstools-3.0.12-fix-alloc-rootdir-entry.patch25
2 files changed, 33 insertions, 4 deletions
diff --git a/extra/dosfstools/PKGBUILD b/extra/dosfstools/PKGBUILD
index 6f6e13dbd..af3708914 100644
--- a/extra/dosfstools/PKGBUILD
+++ b/extra/dosfstools/PKGBUILD
@@ -1,20 +1,23 @@
-# $Id: PKGBUILD 173425 2012-12-19 14:56:38Z tpowa $
+# $Id: PKGBUILD 174137 2013-01-02 14:44:16Z tpowa $
# Maintainer: dorphell <dorphell@archlinux.org>
# Committer: Judd Vinet <jvinet@zeroflux.org>
pkgname=dosfstools
pkgver=3.0.13
-pkgrel=1
+pkgrel=2
pkgdesc="DOS filesystem utilities"
arch=(i686 x86_64 'mips64el')
depends=('glibc')
#source=(http://www.daniel-baumann.ch/software/dosfstools/$pkgname-$pkgver.tar.xz)
# using debian source, main page is down since quite some time
-source=(http://ftp.de.debian.org/debian/pool/main/d/dosfstools/dosfstools_3.0.13.orig.tar.xz)
+source=(http://ftp.de.debian.org/debian/pool/main/d/dosfstools/dosfstools_3.0.13.orig.tar.xz
+ dosfstools-3.0.12-fix-alloc-rootdir-entry.patch)
url="http://www.daniel-baumann.ch/software/dosfstools/"
license=('GPL2')
build() {
cd $srcdir/$pkgname-$pkgver
+ # fix https://bugs.archlinux.org/task/33248
+ patch -Np1 -i ${srcdir}/dosfstools-3.0.12-fix-alloc-rootdir-entry.patch
make
}
@@ -22,4 +25,5 @@ package () {
cd $srcdir/$pkgname-$pkgver
make PREFIX=$pkgdir MANDIR=$pkgdir/usr/share/man DOCDIR=$pkgdir/usr/share/doc install
}
-md5sums=('c1d851e3fc065a935c7cf919545d239f')
+md5sums=('c1d851e3fc065a935c7cf919545d239f'
+ 'c2be6f2cd1d47297b2d6a8ba237e04eb')
diff --git a/extra/dosfstools/dosfstools-3.0.12-fix-alloc-rootdir-entry.patch b/extra/dosfstools/dosfstools-3.0.12-fix-alloc-rootdir-entry.patch
new file mode 100644
index 000000000..44e6e86b5
--- /dev/null
+++ b/extra/dosfstools/dosfstools-3.0.12-fix-alloc-rootdir-entry.patch
@@ -0,0 +1,25 @@
+--- dosfstools-3.0.12/src/check.c.old 2010-01-23 10:13:17.000000000 +0100
++++ dosfstools-3.0.12/src/check.c 2011-01-31 17:43:31.462674941 +0100
+@@ -174,7 +174,10 @@
+ offset = fs->root_start + next_free * sizeof(DIR_ENT);
+ memset(de, 0, sizeof(DIR_ENT));
+ while (1) {
+- sprintf((char *)de->name, pattern, curr_num);
++ char expanded[12];
++ sprintf(expanded, pattern, curr_num);
++ memcpy(de->name, expanded, 8);
++ memcpy(de->ext, expanded + 8, 3);
+ for (scan = 0; scan < fs->root_entries; scan++)
+ if (scan != next_free &&
+ !strncmp((const char *)root[scan].name,
+--- dosfstools-3.0.12/src/fat.c
++++ dosfstools-3.0.12/src/fat.c
+@@ -474,7 +474,7 @@ void reclaim_file(DOS_FS * fs)
+ DIR_ENT de;
+ loff_t offset;
+ files++;
+- offset = alloc_rootdir_entry(fs, &de, "FSCK%04d");
++ offset = alloc_rootdir_entry(fs, &de, "FSCK%04dREC");
+ de.start = CT_LE_W(i & 0xffff);
+ if (fs->fat_bits == 32)
+ de.starthi = CT_LE_W(i >> 16);