+#
# Conditional build:
%bcond_without dist_kernel # allow non-distribution kernel
%bcond_without kernel # don't build kernel modules
-%bcond_without up # don't build UP module
-%bcond_without smp # don't build SMP module
%bcond_without userspace # don't build userspace programs
%bcond_with verbose # verbose build (V=1)
+%bcond_without vserver # kernel build without vserver & grsecurity
%if %{without kernel}
%undefine with_dist_kernel
%endif
-%define _rel 0.1
-Summary: Aufs - Another Unionfs
+%define _cvsdate 20070528
+%define _rel 0.%{_cvsdate}.1
+Summary: aufs - Another Unionfs
+Summary(pl.UTF-8): aufs (Another Unionfs) - inny unionfs
Name: aufs
Version: 0
Release: %{_rel}
License: GPL v2
Group: Base/Kernel
-Source0: %{name}-20070220.tar.bz2
-# Source0-md5: 81bc264f83a3cdd579e0bffcbf5f0d74
+Source0: %{name}-%{_cvsdate}.tar.bz2
+# Source0-md5: 38736bd2d7b329d8ee99f8f4b6f03aa1
+Patch0: %{name}-vserver.patch
URL: http://aufs.sourceforge.net/
%if %{with kernel}
-%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.14}
-BuildRequires: rpmbuild(macros) >= 1.330
+%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
+BuildRequires: rpmbuild(macros) >= 1.379
%endif
+BuildRequires: sed >= 4.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Unionfs, I recommend you to try and know it before using aufs. Some
terminology in aufs follows Unionfs's.
+%description -l pl.UTF-8
+Początkowo aufs był całkowicie przeprojektowanym i od nowa
+zaimplementowanym unionfs-em. Po wielu oryginalnych pomysłach,
+podejściach, poprawkach i implementacjach stał sie całkowicie innym
+niż unionfs zachowując podstawowe możliwości. unionfs jest rozwijany
+przez profesora Ereza Zadoka w Stony Brook University i jego zespół.
+Nie znający unionfs-a powinni spróbować go i poznać przed używaniem
+aufs-a. Część terminologii wywodzi się z unionfs-a.
+
%package -n kernel%{_alt_kernel}-fs-aufs
Summary: Linux driver for aufs
Summary(pl.UTF-8): Sterownik dla Linuksa do aufs
Group: Base/Kernel
Requires(post,postun): /sbin/depmod
%if %{with dist_kernel}
-%requires_releq_kernel_up
-Requires(postun): %releq_kernel_up
+%requires_releq_kernel
+Requires(postun): %releq_kernel
%endif
%description -n kernel%{_alt_kernel}-fs-aufs
Ten pakiet zawiera moduł jądra Linuksa.
-%package -n kernel%{_alt_kernel}-smp-fs-aufs
-Summary: Linux SMP driver for aufs
-Summary(pl.UTF-8): Sterownik dla Linuksa SMP do aufs
-Release: %{_rel}@%{_kernel_ver_str}
-Group: Base/Kernel
-Requires(post,postun): /sbin/depmod
-%if %{with dist_kernel}
-%requires_releq_kernel_smp
-Requires(postun): %releq_kernel_smp
-%endif
-
-%description -n kernel%{_alt_kernel}-smp-fs-aufs
-This is driver for aufs for Linux.
-
-This package contains Linux SMP module.
-
-%description -n kernel%{_alt_kernel}-smp-fs-aufs -l pl.UTF-8
-Sterownik dla Linuksa do aufs.
-
-Ten pakiet zawiera moduł jądra Linuksa SMP.
-
%prep
%setup -qn %{name}
+%if %{with vserver}
+%patch0 -p1
+%endif
+
+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
%build
%if %{with kernel}
-%build_kernel_modules -m aufs
+%build_kernel_modules -C fs/aufs -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 \
+ %{?debug:-DCONFIG_AUFS_DEBUG} \
+ %{?with_vserver:-DVSERVER} \
+ "
+%endif
+
+%if %{with userspace}
+%{__make} -C util \
+ CC="%{__cc}" \
+ CFLAGS="%{rpmcflags} -DCONFIG_AUFS_BRANCH_MAX_127"
%endif
%install
rm -rf $RPM_BUILD_ROOT
+%if %{with userspace}
+install -d $RPM_BUILD_ROOT{%{_mandir}/man5,%{_sbindir}}
+install util/{mount.aufs,umount.aufs,auplink,aulchown} $RPM_BUILD_ROOT%{_sbindir}
+install util/aufs.5 $RPM_BUILD_ROOT%{_mandir}/man5/
+%endif
+
%if %{with kernel}
-%install_kernel_modules -m aufs -d fs
+%install_kernel_modules -m fs/aufs/aufs -d kernel/fs/aufs
%endif
%clean
%postun -n kernel%{_alt_kernel}-fs-aufs
%depmod %{_kernel_ver}
-%post -n kernel%{_alt_kernel}-smp-fs-aufs
-%depmod %{_kernel_ver}smp
-
-%postun -n kernel%{_alt_kernel}-smp-fs-aufs
-%depmod %{_kernel_ver}smp
-
%if %{with kernel}
-%if %{with up} || %{without dist_kernel}
%files -n kernel%{_alt_kernel}-fs-aufs
%defattr(644,root,root,755)
-/lib/modules/%{_kernel_ver}/fs/*.ko*
-%endif
-
-%if %{with smp} && %{with dist_kernel}
-%files -n kernel%{_alt_kernel}-smp-fs-aufs
-%defattr(644,root,root,755)
-/lib/modules/%{_kernel_ver}smp/fs/*.ko*
-%endif
+%dir /lib/modules/%{_kernel_ver}/kernel/fs/aufs
+/lib/modules/%{_kernel_ver}/kernel/fs/aufs/*.ko*
%endif
%if %{with userspace}
%files
%defattr(644,root,root,755)
%doc README History
+%attr(755,root,root) %{_sbindir}/*
+%{_mandir}/man5/*
%endif