- Add fixes for big-endian machines

This commit is contained in:
Dan Horák 2010-09-06 15:47:39 +02:00
parent d8831d3ea7
commit 88bb463407
2 changed files with 55 additions and 1 deletions

48
squashfs-swap-fixes.patch Normal file
View File

@ -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

View File

@ -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@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.