[squashfs-tools] - Add fixes for big-endian machines

Dan Horák sharkcz at fedoraproject.org
Mon Sep 6 13:47:37 UTC 2010


commit 88bb46340741bcfdfd2700d2c87193402bf65675
Author: Dan Horák <dan at danny.cz>
Date:   Mon Sep 6 15:47:39 2010 +0200

    - Add fixes for big-endian machines

 squashfs-swap-fixes.patch |   48 +++++++++++++++++++++++++++++++++++++++++++++
 squashfs-tools.spec       |    8 ++++++-
 2 files changed, 55 insertions(+), 1 deletions(-)
---
diff --git a/squashfs-swap-fixes.patch b/squashfs-swap-fixes.patch
new file mode 100644
index 0000000..7e87e19
--- /dev/null
+++ b/squashfs-swap-fixes.patch
@@ -0,0 +1,48 @@
+diff -up squashfs-tools/squashfs_swap.h.orig squashfs-tools/squashfs_swap.h
+--- squashfs-tools/squashfs_swap.h.orig	2010-09-06 14:35:56.259431382 +0200
++++ squashfs-tools/squashfs_swap.h	2010-09-06 14:41:40.341931345 +0200
+@@ -217,23 +217,23 @@ extern void inswap_le64_num(long long *,
+ }
+ 
+ #define _SQUASHFS_SWAP_XATTR_VAL(s, d, SWAP_FUNC) {\
+-	SWAP_FUNC(32, vsize, squashfs_xattr_val);\
++	SWAP_FUNC(32, s, d, vsize, squashfs_xattr_val);\
+ }
+ 
+ #define _SQUASHFS_SWAP_XATTR_VAL_OOL(s, d, SWAP_FUNC) {\
+-	SWAP_FUNC(32, vsize, squashfs_xattr_val_ool);\
+-	SWAP_FUNC(64, xattr, squashfs_xattr_val_ool);\
++	SWAP_FUNC(32, s, d, vsize, squashfs_xattr_val_ool);\
++	SWAP_FUNC(64, s, d, xattr, squashfs_xattr_val_ool);\
+ }
+ 
+ #define _SQUASHFS_SWAP_XATTR_ID(s, d, SWAP_FUNC) {\
+-	_SWAP_FUNC(64, xattr, squashfs_xattr_id);\
+-	_SWAP_FUNC(32, count, squashfs_xattr_id);\
+-	_SWAP_FUNC(32, size, squashfs_xattr_id);\
++	SWAP_FUNC(64, s, d, xattr, squashfs_xattr_id);\
++	SWAP_FUNC(32, s, d, count, squashfs_xattr_id);\
++	SWAP_FUNC(32, s, d, size, squashfs_xattr_id);\
+ }
+ 
+ #define _SQUASHFS_SWAP_XATTR_TABLE(s, d, SWAP_FUNC) {\
+-	_SWAP_FUNC(64, xattr_table_start, squashfs_xattr_table);\
+-	_SWAP_FUNC(32, xattr_ids, squashfs_xattr_table);\
++	SWAP_FUNC(64, s, d, xattr_table_start, squashfs_xattr_table);\
++	SWAP_FUNC(32, s, d, xattr_ids, squashfs_xattr_table);\
+ }
+ 
+ #define SQUASHFS_SWAP_SUPER_BLOCK(s, d)	\
+diff -up squashfs-tools/xattr.h.orig squashfs-tools/xattr.h
+--- squashfs-tools/xattr.h.orig	2010-09-06 15:24:48.391931905 +0200
++++ squashfs-tools/xattr.h	2010-09-06 15:23:24.769431618 +0200
+@@ -22,6 +22,9 @@
+  * xattr.h
+  */
+ 
++typedef struct squashfs_xattr_entry squashfs_xattr_entry;
++typedef struct squashfs_xattr_val squashfs_xattr_val;
++
+ #define XATTR_VALUE_OOL		SQUASHFS_XATTR_VALUE_OOL
+ #define XATTR_PREFIX_MASK	SQUASHFS_XATTR_PREFIX_MASK
+ 
diff --git a/squashfs-tools.spec b/squashfs-tools.spec
index 88b2bb2..d7338da 100644
--- a/squashfs-tools.spec
+++ b/squashfs-tools.spec
@@ -1,7 +1,7 @@
 Summary: Utility for the creation of squashfs filesystems
 Name: squashfs-tools
 Version: 4.1
-Release: 0.4.20100827%{?dist}
+Release: 0.5.20100827%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 URL: http://squashfs.sf.net
@@ -9,6 +9,8 @@ URL: http://squashfs.sf.net
 Source0: squashfs-4.1.tar.bz2
 Patch0: squashfs-cflags.patch
 Patch1: squashfs-xz.patch
+# https://sourceforge.net/tracker/?func=detail&aid=3060400&group_id=63835&atid=505343
+Patch2: squashfs-swap-fixes.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: zlib-devel
 BuildRequires: xz-devel
@@ -22,6 +24,7 @@ contains the utilities for manipulating squashfs filesystems.
 %setup -q -n squashfs
 %patch0 -p0
 %patch1 -p0
+%patch2 -p0
 
 %build
 pushd squashfs-tools
@@ -43,6 +46,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_sbindir}/unsquashfs
 
 %changelog
+* Mon Sep 6 2010 Dan Horák <dan[at]danny.cz> - 4.1-0.5.20100827
+- Add fixes for big-endian machines
+
 * Sat Aug 28 2010 Bruno Wolff III <bruno at wolff.to> - 4.1-0.4.20100827
 - Rebase to latest upstream.
 - The main reason is to pick up a fix for large xattr similar to the large inode fix. This doesn't need to get backported as 4.0 doesn't have xattr support.


More information about the scm-commits mailing list