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 %define subver 20080527
16 %define prel 0.%{subver}.%{rel}
19 Summary: aufs - Another Unionfs
20 Summary(pl.UTF-8): aufs (Another Unionfs) - inny unionfs
26 Source0: %{name}-%{subver}.tar.bz2
27 # Source0-md5: aeb6880930a8abcb60947e96b310d3df
28 Patch0: %{name}-vserver.patch
29 Patch1: %{name}-disable-security_inode_permission.patch
30 Patch2: %{name}-fixes.patch
31 Patch3: %{name}-spin_lock.patch
32 URL: http://aufs.sourceforge.net/
34 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.25.2}
35 BuildRequires: rpmbuild(macros) >= 1.379
37 BuildRequires: sed >= 4.0
38 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 In the early days, aufs was entirely re-designed and re-implemented
42 Unionfs. After many original ideas, approaches, improvements and
43 implementations, it becomes totally different from Unionfs while
44 keeping the basic features. Unionfs is being developed by Professor
45 Erez Zadok at Stony Brook University and his team. If you don't know
46 Unionfs, I recommend you to try and know it before using aufs. Some
47 terminology in aufs follows Unionfs's.
49 %description -l pl.UTF-8
50 Początkowo aufs był całkowicie przeprojektowanym i od nowa
51 zaimplementowanym unionfs-em. Po wielu oryginalnych pomysłach,
52 podejściach, poprawkach i implementacjach stał sie całkowicie innym
53 niż unionfs zachowując podstawowe możliwości. unionfs jest rozwijany
54 przez profesora Ereza Zadoka w Stony Brook University i jego zespół.
55 Nie znający unionfs-a powinni spróbować go i poznać przed używaniem
56 aufs-a. Część terminologii wywodzi się z unionfs-a.
58 %package -n kernel%{_alt_kernel}-fs-aufs
59 Summary: Linux driver for aufs
60 Summary(pl.UTF-8): Sterownik dla Linuksa do aufs
61 Release: %{prel}@%{_kernel_ver_str}
63 Requires(post,postun): /sbin/depmod
64 %if %{with dist_kernel}
65 %requires_releq_kernel
66 Requires(postun): %releq_kernel
69 %description -n kernel%{_alt_kernel}-fs-aufs
70 This is driver for aufs for Linux.
72 This package contains Linux module.
74 %description -n kernel%{_alt_kernel}-fs-aufs -l pl.UTF-8
75 Sterownik dla Linuksa do aufs.
77 Ten pakiet zawiera moduł jądra Linuksa.
86 # we should make it better
89 %{!?debug:s/$(CONFIG_AUFS_DEBUG.*)/n/};
90 s/$(CONFIG_AUFS_HINOTIFY)/n/;
91 s/$(CONFIG_AUFS_EXPORT)/y/;
92 s/$(CONFIG_AUFS_SYSAUFS)/n/
94 cp -a include/linux fs/aufs25
98 if [ -f %{_kernelsrcdir}/include/linux/vs_base.h ]; then
102 export CONFIG_AUFS_BR_XFS=y
103 %build_kernel_modules -C fs/aufs25 -m aufs \
105 -DCONFIG_AUFS_BRANCH_MAX_127 \
106 -DCONFIG_AUFS_BRANCH_MAX_CHAR \
107 -DCONFIG_AUFS_FAKE_DM \
108 -DCONFIG_AUFS_MODULE \
109 -UCONFIG_AUFS_KSIZE_PATCH \
111 %{?debug:-DCONFIG_AUFS_DEBUG} \
115 %if %{with userspace}
118 CFLAGS="%{rpmcflags} -DCONFIG_AUFS_BRANCH_MAX_127"
122 rm -rf $RPM_BUILD_ROOT
124 %if %{with userspace}
125 install -d $RPM_BUILD_ROOT{%{_mandir}/man5,%{_sbindir}}
126 install util/{mount.aufs,umount.aufs,auplink,aulchown} $RPM_BUILD_ROOT%{_sbindir}
127 install util/aufs.5 $RPM_BUILD_ROOT%{_mandir}/man5/
131 %install_kernel_modules -m fs/aufs25/aufs -d kernel/fs/aufs
135 rm -rf $RPM_BUILD_ROOT
137 %post -n kernel%{_alt_kernel}-fs-aufs
138 %depmod %{_kernel_ver}
140 %postun -n kernel%{_alt_kernel}-fs-aufs
141 %depmod %{_kernel_ver}
144 %files -n kernel%{_alt_kernel}-fs-aufs
145 %defattr(644,root,root,755)
146 %dir /lib/modules/%{_kernel_ver}/kernel/fs/aufs
147 /lib/modules/%{_kernel_ver}/kernel/fs/aufs/*.ko*
150 %if %{with userspace}
152 %defattr(644,root,root,755)
154 %attr(755,root,root) %{_sbindir}/*