]> git.pld-linux.org Git - packages/aufs.git/blobdiff - aufs.spec
- added apparmor support (apparmor.patch)
[packages/aufs.git] / aufs.spec
index 4c2ee7432e1aaa48e172dc902fa802004086d2ff..a36438889bab3261d5aacc1e5cb15f5e3a056e8e 100644 (file)
--- a/aufs.spec
+++ b/aufs.spec
@@ -1,8 +1,10 @@
+#
+# TODO:
+# - define CONFIG_ option directly
+#
 # 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)
 
 %undefine      with_dist_kernel
 %endif
 
-%define                _rel    0.1
-Summary:       Aufs - Another Unionfs
-Name:          aufs
+%if "%{_alt_kernel}" != "%{nil}"
+%undefine      with_userspace
+%endif
+
+%define                subver          20081030
+%define                prel            0.%{subver}.%{rel}
+
+%define                pname           aufs
+%define                rel             0.1
+Summary:       aufs - Another Unionfs
+Summary(pl.UTF-8):     aufs (Another Unionfs) - inny unionfs
+Name:          %{pname}%{_alt_kernel}
 Version:       0
-Release:       %{_rel}
+Release:       %{prel}
 License:       GPL v2
 Group:         Base/Kernel
-Source0:       %{name}-20070220.tar.bz2
-# Source0-md5: 81bc264f83a3cdd579e0bffcbf5f0d74
+Source0:       %{pname}-%{subver}.tar.bz2
+# Source0-md5: 13ea25a28c5a3ed4480c1bd7f26655df
+Patch0:                %{pname}-vserver.patch
+#Patch1:               %{pname}-disable-security_inode_permission.patch
+Patch2:                %{pname}-fixes.patch
+#Patch3:               %{pname}-spin_lock.patch
+Patch4:                %{pname}-apparmor.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.25.2}
+BuildRequires: rpmbuild(macros) >= 1.379
 %endif
 BuildRequires: sed >= 4.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -36,15 +52,24 @@ Erez Zadok at Stony Brook University and his team. If you don't know
 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
-Release:       %{_rel}@%{_kernel_ver_str}
+Release:       %{prel}@%{_kernel_ver_str}
 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
@@ -57,43 +82,60 @@ Sterownik dla Linuksa do 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}
-sed 's/$(CONFIG_AUFS)/m/; %{!?debug:s/$(CONFIG_AUFS_DEBUG.*)/n/}; s/$(CONFIG_AUFS_HINOTIFY)/n/' -i fs/aufs/Makefile
-cp -a include/linux fs/aufs
+%setup -qn %{pname}
+%patch0 -p1
+#%patch1 -p1
+%patch2 -p1
+#%patch3 -p1
+if [ -d %{_kernelsrcdir}/security/apparmor ]; then
+%patch4 -p1
+fi
+
+cp -a include/linux fs/aufs25
 
 %build
 %if %{with kernel}
-%build_kernel_modules -C fs/aufs -m aufs \
-       EXTRA_CFLAGS="-DCONFIG_AUFS_BRANCH_MAX_CHAR -DCONFIG_AUFS_FAKE_DM -DCONFIG_AUFS_MODULE -UCONFIG_AUFS_KSIZE_PATCH %{?debug:-DCONFIG_AUFS_DEBUG}"
+if [ -f %{_kernelsrcdir}/include/linux/vs_base.h &&
+     ! -d %{_kernelsrcdir}/security/apparmor ]; then
+       isvserver="-DVSERVER"
+fi
+%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 \
+               %{?debug:-DCONFIG_AUFS_DEBUG} \
+               $isvserver \
+               $ino_t64"
+%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 fs/aufs/aufs -d fs
+%install_kernel_modules -m fs/aufs25/aufs -d kernel/fs/aufs
 %endif
 
 %clean
@@ -105,28 +147,17 @@ rm -rf $RPM_BUILD_ROOT
 %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
This page took 0.080656 seconds and 4 git commands to generate.