diff -urN garnome-2.10.0.1/freedesktop/hal/checksums garnome-2.10.1/freedesktop/hal/checksums
--- garnome-2.10.0.1/freedesktop/hal/checksums	2005-03-10 11:42:59.000000000 +1100
+++ garnome-2.10.1/freedesktop/hal/checksums	2005-04-05 22:22:52.000000000 +1000
@@ -1 +1,2 @@
 3386817a6811cce803bcfa8a20b05c51  download/hal-0.4.7.tar.gz
+11e596f1216cca1e319dd646423150d3  download/gar-base.diff
diff -urN garnome-2.10.0.1/freedesktop/hal/files/gar-base.diff garnome-2.10.1/freedesktop/hal/files/gar-base.diff
--- garnome-2.10.0.1/freedesktop/hal/files/gar-base.diff	1970-01-01 10:00:00.000000000 +1000
+++ garnome-2.10.1/freedesktop/hal/files/gar-base.diff	2005-04-05 18:06:58.000000000 +1000
@@ -0,0 +1,163 @@
+diff -p -u -r hal-0.5.3.orig/configure hal-0.5.3/configure
+--- hal-0.5.3.orig/configure	2005-08-06 12:00:22.000000000 -0700
++++ hal-0.5.3/configure	2005-08-06 11:58:57.000000000 -0700
+@@ -23551,144 +23551,6 @@ fi
+ echo "$as_me:$LINENO: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ 
+-# Check for BLKGETSIZE64
+-echo "$as_me:$LINENO: checking for pgoff_t" >&5
+-echo $ECHO_N "checking for pgoff_t... $ECHO_C" >&6
+-if test "${ac_cv_type_pgoff_t+set}" = set; then
+-  echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-  cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h.  */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h.  */
+-/usr/include/sys/types.h
+-
+-int
+-main ()
+-{
+-if ((pgoff_t *) 0)
+-  return 0;
+-if (sizeof (pgoff_t))
+-  return 0;
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+-  (eval $ac_compile) 2>conftest.er1
+-  ac_status=$?
+-  grep -v '^ *+' conftest.er1 >conftest.err
+-  rm -f conftest.er1
+-  cat conftest.err >&5
+-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+-  (exit $ac_status); } &&
+-	 { ac_try='test -z "$ac_c_werror_flag"
+-			 || test ! -s conftest.err'
+-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+-  (eval $ac_try) 2>&5
+-  ac_status=$?
+-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+-  (exit $ac_status); }; } &&
+-	 { ac_try='test -s conftest.$ac_objext'
+-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+-  (eval $ac_try) 2>&5
+-  ac_status=$?
+-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+-  (exit $ac_status); }; }; then
+-  ac_cv_type_pgoff_t=yes
+-else
+-  echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-ac_cv_type_pgoff_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_pgoff_t" >&5
+-echo "${ECHO_T}$ac_cv_type_pgoff_t" >&6
+-if test $ac_cv_type_pgoff_t = yes; then
+-  :
+-else
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define pgoff_t unsigned long
+-_ACEOF
+-
+-fi
+-
+-echo "$as_me:$LINENO: checking for BLKGETSIZE64" >&5
+-echo $ECHO_N "checking for BLKGETSIZE64... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h.  */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h.  */
+-#include <sys/types.h>
+-#include <linux/ioctl.h>
+-#include <linux/fs.h>
+-int
+-main ()
+-{
+-int main(int argc, char *argv[])
+-{
+-	int fd = 0;
+-	unsigned long long int n;
+-	ioctl (fd, BLKGETSIZE64, &n);
+-	return 0;
+-}
+-
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+-  (eval $ac_compile) 2>conftest.er1
+-  ac_status=$?
+-  grep -v '^ *+' conftest.er1 >conftest.err
+-  rm -f conftest.er1
+-  cat conftest.err >&5
+-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+-  (exit $ac_status); } &&
+-	 { ac_try='test -z "$ac_c_werror_flag"
+-			 || test ! -s conftest.err'
+-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+-  (eval $ac_try) 2>&5
+-  ac_status=$?
+-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+-  (exit $ac_status); }; } &&
+-	 { ac_try='test -s conftest.$ac_objext'
+-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+-  (eval $ac_try) 2>&5
+-  ac_status=$?
+-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+-  (exit $ac_status); }; }; then
+-  have_size64=yes
+-else
+-  echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-have_size64=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $have_size64" >&5
+-echo "${ECHO_T}$have_size64" >&6
+-if test x$have_size64 = xno; then
+-  case "$host" in
+-        *-*-linux*)
+-	     { { echo "$as_me:$LINENO: error: BLKGETSIZE64 is not defined" >&5
+-echo "$as_me: error: BLKGETSIZE64 is not defined" >&2;}
+-   { (exit 1); exit 1; }; }
+-		;;
+-        *)
+-		;;
+-  esac
+-fi
+-
+ # DocBook Documentation
+ 
+ # Extract the first word of "docbook2html", so it can be a program name with args.
+diff -p -u -r hal-0.5.3.orig/hald/linux2/probing/probe-volume.c hal-0.5.3/hald/linux2/probing/probe-volume.c
+--- hal-0.5.3.orig/hald/linux2/probing/probe-volume.c	2005-08-06 12:00:22.000000000 -0700
++++ hal-0.5.3/hald/linux2/probing/probe-volume.c	2005-08-06 12:01:34.000000000 -0700
+@@ -55,6 +55,11 @@
+ 
+ #include "shared.h"
+ 
++/* "GARNOME hack -- the test for BLKGETSIZE64 is broken on SuSE, Slackware
++ *  and probably other platforms too, so it's hardcoded here -- pd" -- rs
++ */
++#define BLKGETSIZE64 _IOR(0x12,114,sizeof(uint64_t)) /* return device size in bytes (u64 *arg) */
++
+ void 
+ volume_id_log (const char *format, ...)
+ {
diff -urN garnome-2.10.0.1/freedesktop/hal/Makefile garnome-2.10.1/freedesktop/hal/Makefile
--- garnome-2.10.0.1/freedesktop/hal/Makefile	2005-03-10 11:42:59.000000000 +1100
+++ garnome-2.10.1/freedesktop/hal/Makefile	2005-04-05 22:22:42.000000000 +1000
@@ -2,6 +2,7 @@
 GARVERSION = 0.5.3
 CATEGORIES = freedesktop
 DISTFILES = $(GARNAME)-$(GARVERSION).tar.gz
+PATCHFILES = gar-base.diff
 
 MASTER_SITES = http://freedesktop.org/~david/dist/
 
