#
+# TODO:
+# - define CONFIG_ option directly
+#
# Conditional build:
%bcond_without dist_kernel # allow non-distribution kernel
%bcond_without kernel # don't build kernel modules
%undefine with_dist_kernel
%endif
-%define subver 20080509
+%if "%{_alt_kernel}" != "%{nil}"
+%undefine with_userspace
+%endif
+
+%define subver 20090315
%define prel 0.%{subver}.%{rel}
+%define pname aufs
%define rel 1
Summary: aufs - Another Unionfs
Summary(pl.UTF-8): aufs (Another Unionfs) - inny unionfs
-Name: aufs
+Name: %{pname}%{_alt_kernel}
Version: 0
Release: %{prel}
License: GPL v2
Group: Base/Kernel
-Source0: %{name}-%{subver}.tar.bz2
-# Source0-md5: fc14326444c0c9fb74e204152b6aae3a
-Patch0: %{name}-vserver.patch
+Source0: %{pname}-%{subver}.tar.bz2
+# Source0-md5: f2cb8c2dcf40ed076b1fcdcb1e91412e
+Patch0: %{pname}-vserver.patch
+#Patch1: %{pname}-disable-security_inode_permission.patch
+Patch2: %{pname}-fixes.patch
+#Patch3: %{pname}-spin_lock.patch
+Patch4: %{pname}-apparmor.patch
+Patch5: %{pname}-br-xfs-fix.patch
+Patch6: %{pname}-vfsub.c.patch
URL: http://aufs.sourceforge.net/
%if %{with kernel}
%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.25.2}
Ten pakiet zawiera moduł jądra Linuksa.
%prep
-%setup -qn %{name}
+%setup -qn %{pname}
%patch0 -p1
+#%patch1 -p1
+%patch2 -p1
+#%patch3 -p1
+if [ -d %{_kernelsrcdir}/security/apparmor ]; then
+%patch4 -p1
+fi
+%patch5 -p1
+if [ -d %{_kernelsrcdir}/fs/unionfs ]; then
+%patch6 -p0
+fi
-sed '
- s/$(CONFIG_AUFS)/m/;
- %{!?debug:s/$(CONFIG_AUFS_DEBUG.*)/n/};
- s/$(CONFIG_AUFS_HINOTIFY)/n/;
- s/$(CONFIG_AUFS_EXPORT)/y/;
- s/$(CONFIG_AUFS_SYSAUFS)/n/
-' -i fs/aufs/Makefile
-cp -a include/linux fs/aufs
+cp -a include/linux fs/aufs25
%build
%if %{with kernel}
-if [ -f %{_kernelsrcdir}/include/linux/vs_base.h ]; then
+if [ -f %{_kernelsrcdir}/include/linux/vs_base.h &&
+ ! -d %{_kernelsrcdir}/security/apparmor ]; then
isvserver="-DVSERVER"
fi
-%build_kernel_modules -C fs/aufs -m aufs \
- EXTRA_CFLAGS=" \
+%ifarch %{x8664} ia64 ppc64 sparc64
+ ino_t64="-DCONFIG_AUFS_INO_T_64"
+%endif
+
+export CONFIG_AUFS=m
+export CONFIG_AUFS_BR_XFS=y
+%build_kernel_modules -C fs/aufs25 -m aufs \
+ EXTRA_CFLAGS+=" \
-DCONFIG_AUFS_BRANCH_MAX_127 \
-DCONFIG_AUFS_BRANCH_MAX_CHAR \
-DCONFIG_AUFS_FAKE_DM \
-DCONFIG_AUFS_MODULE \
-UCONFIG_AUFS_KSIZE_PATCH \
-UCONFIG_AUFS_DLGT \
+%if "%{_alt_kernel}" != "vanilla"
+ -DCONFIG_AUFS_UNIONFS23_PATCH \
+ -DCONFIG_AUFS_UNIONFS22_PATCH \
+ -DCONFIG_AUFS_SPLICE_PATCH \
+%endif
%{?debug:-DCONFIG_AUFS_DEBUG} \
- $isvserver"
+ $isvserver \
+ $ino_t64"
%endif
%if %{with userspace}
%endif
%if %{with kernel}
-%install_kernel_modules -m fs/aufs/aufs -d kernel/fs/aufs
+%install_kernel_modules -m fs/aufs25/aufs -d kernel/fs/aufs
%endif
%clean
%if %{with userspace}
%files
%defattr(644,root,root,755)
-%doc README History
+%doc README.aufs1 README.aufs2 History
%attr(755,root,root) %{_sbindir}/*
%{_mandir}/man5/*
%endif