X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=aufs.spec;h=a36438889bab3261d5aacc1e5cb15f5e3a056e8e;hb=096c8924c688e560b303ef547f2d4b994911c4ed;hp=4c2ee7432e1aaa48e172dc902fa802004086d2ff;hpb=518cfd385cf088d454e2a84f6e1449a5c732e00a;p=packages%2Faufs.git diff --git a/aufs.spec b/aufs.spec index 4c2ee74..a364388 100644 --- 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) @@ -10,19 +12,33 @@ %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