3 # - define CONFIG_ option directly
6 %bcond_without dist_kernel # allow non-distribution kernel
7 %bcond_without kernel # don't build kernel modules
8 %bcond_without userspace # don't build userspace programs
9 %bcond_with verbose # verbose build (V=1)
12 %undefine with_dist_kernel
15 %if "%{_alt_kernel}" != "%{nil}"
16 %undefine with_userspace
19 %define subver 20090315
20 %define prel 0.%{subver}.%{rel}
24 Summary: aufs - Another Unionfs
25 Summary(pl.UTF-8): aufs (Another Unionfs) - inny unionfs
26 Name: %{pname}%{_alt_kernel}
31 Source0: %{pname}-%{subver}.tar.bz2
32 # Source0-md5: f2cb8c2dcf40ed076b1fcdcb1e91412e
33 Patch0: %{pname}-vserver.patch
34 #Patch1: %{pname}-disable-security_inode_permission.patch
35 Patch2: %{pname}-fixes.patch
36 #Patch3: %{pname}-spin_lock.patch
37 Patch4: %{pname}-apparmor.patch
38 Patch5: %{pname}-br-xfs-fix.patch
39 Patch6: %{pname}-vfsub.c.patch
40 URL: http://aufs.sourceforge.net/
42 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.25.2}
43 BuildRequires: rpmbuild(macros) >= 1.379
45 BuildRequires: sed >= 4.0
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 In the early days, aufs was entirely re-designed and re-implemented
50 Unionfs. After many original ideas, approaches, improvements and
51 implementations, it becomes totally different from Unionfs while
52 keeping the basic features. Unionfs is being developed by Professor
53 Erez Zadok at Stony Brook University and his team. If you don't know
54 Unionfs, I recommend you to try and know it before using aufs. Some
55 terminology in aufs follows Unionfs's.
57 %description -l pl.UTF-8
58 Początkowo aufs był całkowicie przeprojektowanym i od nowa
59 zaimplementowanym unionfs-em. Po wielu oryginalnych pomysłach,
60 podejściach, poprawkach i implementacjach stał sie całkowicie innym
61 niż unionfs zachowując podstawowe możliwości. unionfs jest rozwijany
62 przez profesora Ereza Zadoka w Stony Brook University i jego zespół.
63 Nie znający unionfs-a powinni spróbować go i poznać przed używaniem
64 aufs-a. Część terminologii wywodzi się z unionfs-a.
66 %package -n kernel%{_alt_kernel}-fs-aufs
67 Summary: Linux driver for aufs
68 Summary(pl.UTF-8): Sterownik dla Linuksa do aufs
69 Release: %{prel}@%{_kernel_ver_str}
71 Requires(post,postun): /sbin/depmod
72 %if %{with dist_kernel}
73 %requires_releq_kernel
74 Requires(postun): %releq_kernel
77 %description -n kernel%{_alt_kernel}-fs-aufs
78 This is driver for aufs for Linux.
80 This package contains Linux module.
82 %description -n kernel%{_alt_kernel}-fs-aufs -l pl.UTF-8
83 Sterownik dla Linuksa do aufs.
85 Ten pakiet zawiera moduł jądra Linuksa.
93 %if "%{_kernel_ver}" < "2.6.30"
94 if [ -d %{_kernelsrcdir}/security/apparmor ]; then
99 if [ -d %{_kernelsrcdir}/fs/unionfs ]; then
101 %if "%{_kernel_ver}" >= "2.6.30"
107 cp -a include/linux fs/aufs25
111 if [ -f %{_kernelsrcdir}/include/linux/vs_base.h &&
112 ! -d %{_kernelsrcdir}/security/apparmor ]; then
113 isvserver="-DVSERVER"
115 %ifarch %{x8664} ia64 ppc64 sparc64
116 ino_t64="-DCONFIG_AUFS_INO_T_64"
120 export CONFIG_AUFS_BR_XFS=y
121 %build_kernel_modules -C fs/aufs25 -m aufs \
123 -DCONFIG_AUFS_BRANCH_MAX_127 \
124 -DCONFIG_AUFS_BRANCH_MAX_CHAR \
125 -DCONFIG_AUFS_FAKE_DM \
126 -DCONFIG_AUFS_MODULE \
127 -UCONFIG_AUFS_KSIZE_PATCH \
129 %if "%{_alt_kernel}" != "vanilla"
130 -DCONFIG_AUFS_UNIONFS23_PATCH \
131 -DCONFIG_AUFS_UNIONFS22_PATCH \
132 -DCONFIG_AUFS_SPLICE_PATCH \
134 %{?debug:-DCONFIG_AUFS_DEBUG} \
139 %if %{with userspace}
142 CFLAGS="%{rpmcflags} -DCONFIG_AUFS_BRANCH_MAX_127"
146 rm -rf $RPM_BUILD_ROOT
148 %if %{with userspace}
149 install -d $RPM_BUILD_ROOT{%{_mandir}/man5,%{_sbindir}}
150 install util/{mount.aufs,umount.aufs,auplink,aulchown} $RPM_BUILD_ROOT%{_sbindir}
151 install util/aufs.5 $RPM_BUILD_ROOT%{_mandir}/man5/
155 %install_kernel_modules -m fs/aufs25/aufs -d kernel/fs/aufs
159 rm -rf $RPM_BUILD_ROOT
161 %post -n kernel%{_alt_kernel}-fs-aufs
162 %depmod %{_kernel_ver}
164 %postun -n kernel%{_alt_kernel}-fs-aufs
165 %depmod %{_kernel_ver}
168 %files -n kernel%{_alt_kernel}-fs-aufs
169 %defattr(644,root,root,755)
170 %dir /lib/modules/%{_kernel_ver}/kernel/fs/aufs
171 /lib/modules/%{_kernel_ver}/kernel/fs/aufs/*.ko*
174 %if %{with userspace}
176 %defattr(644,root,root,755)
177 %doc README.aufs1 README.aufs2 History
178 %attr(755,root,root) %{_sbindir}/*