[Packages] utils/reiserfsprogs: Fix compilation
authorOliver Ertl <oliver@ertl-net.net>
Thu, 28 Feb 2008 17:29:33 +0000 (17:29 +0000)
committerOliver Ertl <oliver@ertl-net.net>
Thu, 28 Feb 2008 17:29:33 +0000 (17:29 +0000)
SVN-Revision: 10535

utils/reiserfsprogs/Makefile
utils/reiserfsprogs/patches/001-header-fix.patch [new file with mode: 0644]

index c5972dbc900c93a53decb58d6f788bd9c2a91836..7debd14fa1b54d1472a92b144f319006a7501a66 100644 (file)
@@ -1,5 +1,5 @@
-# 
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -16,8 +16,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.namesys.com/pub/reiserfsprogs
 PKG_MD5SUM:=b42cf15f6651c3ceff5cb84996c0d539
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_FIXUP = libtool
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -30,12 +29,10 @@ define Package/reiserfsprogs
 endef
 
 define Package/reiserfsprogs/description
-       This package contains utilities to create, check, resize, and debug 
-       ReiserFS filesystems.
+       This package contains utilities to create, check,
+       resize, and debug ReiserFS filesystems.
 endef
 
-#use Build/Configure/Default
-
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                DESTDIR="$(PKG_INSTALL_DIR)" \
@@ -44,11 +41,7 @@ endef
 
 define Package/reiserfsprogs/install
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/debugreiserfs $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mkreiserfs $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/reiserfsck $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/reiserfstune $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/resize_reiserfs $(1)/usr/sbin/
+       $(INSTALL_BIN) $(foreach bin,debugreiserfs mkreiserfs reiserfsck reiserfstune resize_reiserfs,$(PKG_INSTALL_DIR)/usr/sbin/$(bin)) $(1)/usr/sbin/
        ln -sf mkreiserfs $(1)/usr/sbin/mkfs.reiserfs
        ln -sf reiserfsck $(1)/usr/sbin/fsck.reiserfs
 endef
diff --git a/utils/reiserfsprogs/patches/001-header-fix.patch b/utils/reiserfsprogs/patches/001-header-fix.patch
new file mode 100644 (file)
index 0000000..09fdff9
--- /dev/null
@@ -0,0 +1,34 @@
+Index: reiserfsprogs-3.6.19/include/reiserfs_fs.h
+===================================================================
+--- reiserfsprogs-3.6.19.orig/include/reiserfs_fs.h    2008-02-28 18:10:11.000000000 +0100
++++ reiserfsprogs-3.6.19/include/reiserfs_fs.h 2008-02-28 18:11:35.000000000 +0100
+@@ -38,15 +38,21 @@
+ # define extern_inline
+ #endif
+-#include <asm/unaligned.h>
++#define get_unaligned(ptr)                  \
++({                                             \
++      struct __attribute__((packed)) {        \
++      typeof(*(ptr)) __v;             \
++      }  *__p = (void *)(ptr);                \
++      __p->__v;                               \
++})
+-#ifndef get_unaligned
+-#if defined(__ppc__) || defined(ppc) || defined(__ppc) || \
+-    defined(__PPC) || defined(powerpc) || defined(__powerpc__)
+-#     define get_unaligned(ptr)       (*(ptr))
+-#     define put_unaligned(val,ptr)   ((void)(*(ptr) = (val)))
+-#endif
+-#endif
++#define put_unaligned(val, ptr)             \
++do {                                           \
++      struct __attribute__((packed)) {        \
++      typeof(*(ptr)) __v;             \
++      }  *__p = (void *)(ptr);                \
++      __p->__v = (val);                       \
++} while(0)
+ #define get_leXX(xx,p,field)  (le##xx##_to_cpu ((p)->field))
+ #define set_leXX(xx,p,field,val) do { (p)->field = cpu_to_le##xx(val); } while (0)