Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=88d6209631dfede0d4d33d7a36ab0208d170fac2

commit 88d6209631dfede0d4d33d7a36ab0208d170fac2
Author: Miklos Vajna <[EMAIL PROTECTED]>
Date:   Tue Aug 19 16:35:25 2008 +0200

hfsplus-1.0.4-1-i686
- new package (support hfs+ volumes)

diff --git a/source/base/hfsplus/FrugalBuild b/source/base/hfsplus/FrugalBuild
new file mode 100644
index 0000000..a505647
--- /dev/null
+++ b/source/base/hfsplus/FrugalBuild
@@ -0,0 +1,26 @@
+# Compiling Time: 0.18 SBU
+# Maintainer: Miklos Vajna <[EMAIL PROTECTED]>
+
+pkgname=hfsplus
+pkgver=1.0.4
+pkgrel=1
+pkgdesc="HFS+ Filesystem Access Utilities."
+url="http://penguinppc.org/historical/hfsplus/";
+depends=('glibc')
+groups=('base')
+archs=('i686')
+Fpkgversep="_"
+up2date="Flastarchive $url .src.tar.bz2"
+source=($url/hfsplus_$pkgver.src.tar.bz2 \
+       hfsplus-1.0.4-{gcc4,glob,errno}.patch)
+sha1sums=('dfaea9a7e09133377a028dd7a0b6135b43e5d0fd' \
+          '779734cf26a9938de9bd9aee565e9bfd44102cf4' \
+          'c19cb1486658c7ea4f2508f85a2889e18dc7e471' \
+          '6d71276991eea42a2932be31181d47af1ac8cc63')
+
+build()
+{
+       Fcd $pkgname-$pkgver
+       Fautoreconf
+       Fbuild
+}
diff --git a/source/base/hfsplus/hfsplus-1.0.4-errno.patch 
b/source/base/hfsplus/hfsplus-1.0.4-errno.patch
new file mode 100644
index 0000000..c9caeb4
--- /dev/null
+++ b/source/base/hfsplus/hfsplus-1.0.4-errno.patch
@@ -0,0 +1,19 @@
+diff -ruN hfsplus.orig/src/hpmkdir.c hfsplus-1.0.4/src/hpmkdir.c
+--- hfsplus.orig/src/hpmkdir.c 2003-03-30 20:09:59.000000000 +0200
++++ hfsplus-1.0.4/src/hpmkdir.c        2003-03-30 20:11:15.000000000 +0200
+@@ -46,8 +46,9 @@
+ # include <string.h>
+ # include <time.h>
+ # include <ctype.h>
+-# include <errno.h>
+ */
++# include <errno.h>
++
+ # include <stdio.h>
+ # include <stdlib.h>
+
+@@ -164,3 +165,4 @@
+     hfsputil_perrorp(argv0);
+     return -1;
+ }
++
diff --git a/source/base/hfsplus/hfsplus-1.0.4-gcc4.patch 
b/source/base/hfsplus/hfsplus-1.0.4-gcc4.patch
new file mode 100644
index 0000000..0472444
--- /dev/null
+++ b/source/base/hfsplus/hfsplus-1.0.4-gcc4.patch
@@ -0,0 +1,132 @@
+--- hfsplus-1.0.4/libhfsp/src/btree.c~ 2002-03-05 19:50:28.000000000 +0000
++++ hfsplus-1.0.4/libhfsp/src/btree.c  2005-04-30 12:48:48.000000000 +0100
+@@ -393,7 +393,7 @@ static int btree_init(btree* bt, volume*
+       {
+           p = volume_readfromfork(vol, nodebuf, fork, 0, bt->blkpernode,
+                HFSP_EXTENT_DATA, bt->cnid);
+-          ((char*) p) += HEADER_RESERVEDOFFSET; // skip header
++          p += HEADER_RESERVEDOFFSET; // skip header
+       }
+
+       bt->alloc_bits = malloc(alloc_size);
+--- hfsplus-1.0.4/libhfsp/src/swab.h~  2002-03-05 19:50:29.000000000 +0000
++++ hfsplus-1.0.4/libhfsp/src/swab.h   2005-04-30 12:48:05.000000000 +0100
+@@ -36,28 +36,28 @@
+
+ #define bswabU16(val) bswap_16(val)
+
+-#define bswabU16_inc(ptr) bswap_16(*((UInt16*) (ptr))++)
+-#define bswabU32_inc(ptr) bswap_32(*((UInt32*) (ptr))++)
+-#define bswabU64_inc(ptr) bswap_64(*((UInt64*) (ptr))++)
+-
+-#define bstoreU16_inc(ptr, val) (*((UInt16*) (ptr))++) = bswap_16(val)
+-#define bstoreU32_inc(ptr, val) (*((UInt32*) (ptr))++) = bswap_32(val)
+-#define bstoreU64_inc(ptr, val) (*((UInt64*) (ptr))++) = bswap_64(val)
++#define bswabU16_inc(ptr) bswap_16(*(*((UInt16**) (void *)(&ptr)))++)
++#define bswabU32_inc(ptr) bswap_32(*(*((UInt32**) (void *)(&ptr)))++)
++#define bswabU64_inc(ptr) bswap_64(*(*((UInt64**) (void *)(&ptr)))++)
++
++#define bstoreU16_inc(ptr, val) (*(*((UInt16**) (void *)(&ptr)))++) = 
bswap_16(val)
++#define bstoreU32_inc(ptr, val) (*(*((UInt32**) (void *)(&ptr)))++) = 
bswap_32(val)
++#define bstoreU64_inc(ptr, val) (*(*((UInt64**) (void *)(&ptr)))++) = 
bswap_64(val)
+
+ #else // BYTE_ORDER == BIG_ENDIAN
+
+ #define bswabU16(val) val
+
+-#define bswabU16_inc(ptr) (*((UInt16*) (ptr))++)
+-#define bswabU32_inc(ptr) (*((UInt32*) (ptr))++)
+-#define bswabU64_inc(ptr) (*((UInt64*) (ptr))++)
+-
+-#define bstoreU16_inc(ptr, val) (*((UInt16*) (ptr))++) = val
+-#define bstoreU32_inc(ptr, val) (*((UInt32*) (ptr))++) = val
+-#define bstoreU64_inc(ptr, val) (*((UInt64*) (ptr))++) = val
++#define bswabU16_inc(ptr) (*(*((UInt16**) (void *)(&ptr)))++)
++#define bswabU32_inc(ptr) (*(*((UInt32**) (void *)(&ptr)))++)
++#define bswabU64_inc(ptr) (*(*((UInt64**) (void *)(&ptr)))++)
++
++#define bstoreU16_inc(ptr, val) (*(*((UInt16**) (void *)(&ptr)))++) = val
++#define bstoreU32_inc(ptr, val) (*(*((UInt32**) (void *)(&ptr)))++) = val
++#define bstoreU64_inc(ptr, val) (*(*((UInt64**) (void *)(&ptr)))++) = val
+
+ #endif
+
+ /* for the sake of compleetness and readability */
+-#define bswabU8_inc(ptr)      (*((UInt8*) (ptr))++)
+-#define bstoreU8_inc(ptr,val) (*((UInt8*) (ptr))++) = val
++#define bswabU8_inc(ptr)      (*(*((UInt8**) (void *)(&ptr)))++)
++#define bstoreU8_inc(ptr,val) (*(*((UInt8**) (void *)(&ptr)))++) = val
+--- hfsplus-1.0.4/libhfsp/src/btreecheck.c~    2002-03-05 19:50:29.000000000 
+0000
++++ hfsplus-1.0.4/libhfsp/src/btreecheck.c     2005-04-30 12:49:22.000000000 
+0100
+@@ -264,7 +264,7 @@ static int fscheck_btree_init(btree* bt,
+       {
+           p = volume_readfromfork(vol, nodebuf, fork, 0, bt->blkpernode,
+                HFSP_EXTENT_DATA, bt->cnid);
+-          ((char*) p) += HEADER_RESERVEDOFFSET; // skip header
++          p += HEADER_RESERVEDOFFSET; // skip header
+       }
+
+       bt->alloc_bits = malloc(alloc_size);
+--- hfsplus-1.0.4/libhfsp/src/fscheck.c~       2002-03-25 15:48:37.000000000 
+0000
++++ hfsplus-1.0.4/libhfsp/src/fscheck.c        2005-04-30 12:50:26.000000000 
+0100
+@@ -230,7 +230,7 @@ static int fscheck_volume_readbuf(volume
+     vh->write_count   = bswabU32_inc(p);
+     vh->encodings_bmp = bswabU64_inc(p);
+     memcpy(vh->finder_info, p, 32);
+-    ((char*) p) += 32; // So finderinfo must be swapped later, ***
++    p += 32; // So finderinfo must be swapped later, ***
+     p = volume_readfork(p, &vh->alloc_file );
+     p = volume_readfork(p, &vh->ext_file   );
+     p = volume_readfork(p, &vh->cat_file   );
+@@ -277,12 +277,12 @@ static int fscheck_read_wrapper(volume *
+           printf("Volume is wrapped in HFS volume "
+                  " (use hfsck to check this)\n");
+
+-      ((char*) p) += 0x12;            /* skip unneded HFS vol fields */
++      p += 0x12;              /* skip unneded HFS vol fields */
+       drAlBlkSiz = bswabU32_inc(p);   /* offset 0x14 */
+-      ((char*) p) += 0x4;             /* skip unneded HFS vol fields */
++      p += 0x4;               /* skip unneded HFS vol fields */
+       drAlBlSt    = bswabU16_inc(p);  /* offset 0x1C */
+
+-      ((char*) p) += 0x5E;            /* skip unneded HFS vol fields */
++      p += 0x5E;              /* skip unneded HFS vol fields */
+       signature = bswabU16_inc(p);    /* offset 0x7C, drEmbedSigWord */
+       if (signature != HFSP_VOLHEAD_SIG)
+           HFSP_ERROR(-1, "This looks like a normal HFS volume");
+--- hfsplus-1.0.4/libhfsp/src/volume.c~        2002-03-26 18:00:29.000000000 
+0000
++++ hfsplus-1.0.4/libhfsp/src/volume.c 2005-04-30 12:51:41.000000000 +0100
+@@ -345,7 +345,7 @@ static int volume_readbuf(hfsp_vh* vh, v
+     vh->write_count   = bswabU32_inc(p);
+     vh->encodings_bmp = bswabU64_inc(p);
+     memcpy(vh->finder_info, p, 32);
+-    ((char*) p) += 32; // finderinfo is not used by now
++    p += 32; // finderinfo is not used by now
+     p = volume_readfork(p, &vh->alloc_file );
+     p = volume_readfork(p, &vh->ext_file   );
+     p = volume_readfork(p, &vh->cat_file   );
+@@ -381,7 +381,7 @@ static int volume_writebuf(hfsp_vh* vh,
+     bstoreU32_inc(p, vh->write_count  );
+     bstoreU64_inc(p, vh->encodings_bmp        );
+     memcpy(p, vh->finder_info, 32);
+-    ((char*) p) += 32; // finderinfo is not used by now
++    p += 32; // finderinfo is not used by now
+     p = volume_writefork(p, &vh->alloc_file );
+     p = volume_writefork(p, &vh->ext_file   );
+     p = volume_writefork(p, &vh->cat_file   );
+@@ -417,12 +417,12 @@ static int volume_read_wrapper(volume *
+
+       UInt16  embeds, embedl;         /* Start/lenght of embedded area in 
blocks */
+
+-      ((char*) p) += 0x12;            /* skip unneeded HFS vol fields */
++      p += 0x12;              /* skip unneeded HFS vol fields */
+       drAlBlkSiz = bswabU32_inc(p);   /* offset 0x14 */
+-      ((char*) p) += 0x4;             /* skip unneeded HFS vol fields */
++      p += 0x4;               /* skip unneeded HFS vol fields */
+       drAlBlSt    = bswabU16_inc(p);  /* offset 0x1C */
+
+-      ((char*) p) += 0x5E;            /* skip unneeded HFS vol fields */
++      p += 0x5E;              /* skip unneeded HFS vol fields */
+       signature = bswabU16_inc(p);    /* offset 0x7C, drEmbedSigWord */
+       if (signature != HFSP_VOLHEAD_SIG)
+           HFSP_ERROR(-1, "This looks like a normal HFS volume");
diff --git a/source/base/hfsplus/hfsplus-1.0.4-glob.patch 
b/source/base/hfsplus/hfsplus-1.0.4-glob.patch
new file mode 100644
index 0000000..cd92d0a
--- /dev/null
+++ b/source/base/hfsplus/hfsplus-1.0.4-glob.patch
@@ -0,0 +1,12 @@
+--- src/glob.c.orig    2002-10-09 08:02:31.000000000 -0500
++++ src/glob.c 2002-10-09 08:02:46.000000000 -0500
+@@ -48,7 +48,7 @@
+
+       switch (*pat)
+       {
+-          case NULL:  // pattern at end
++          case '\0':  // pattern at end
+               return (!*str); // String at end ?
+
+           case '*':  // match all
+
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to