Пакет lustre: Specfile

%def_enable utils
%def_enable liblustre
%def_disable tests
%def_enable doc
%def_disable cray_xt3
%def_disable bgl
%def_disable uoss
%def_disable posix_osd
%def_enable server
%def_enable client
%def_disable libcfs_cdebug
%def_disable libcfs_trace
%def_disable libcfs_assert
%def_enable affinity
%def_enable backoff
%def_disable panic_dumplog
%def_enable pinger
%def_enable checksum
%def_enable liblustre_recovery
%def_enable quota
%def_disable health_write
%def_enable lru_resize
%def_enable adaptive_timeouts
%def_enable liblustre_acl
%def_enable readline
%def_disable efence
%def_enable libwrap
%def_enable libpthread
%def_enable sysio_init
%def_enable urandom
%def_enable usocklnd
%def_disable mindf
%def_enable fail_alloc
%def_enable snmp
#----------------------------------------------------------------------
%define subst_enable_to() %{expand:%%{?_enable_%{1}:--enable-%{2}}} %{expand:%%{?_disable_%{1}:--disable-%{2}}}

Name: lustre
Version: 1.8.4
Release: alt6

Summary: Lustre File System
License: GPLv2
Group: Networking/Other
Url: http://clusterfs.com/

Source: %name-%version.tar

BuildRequires(pre): rpm-build-kernel
BuildRequires: libe2fs-devel perl-devel zlib-devel
%{?_enable_readline:BuildRequires: libncurses-devel libreadline-devel}
%{?_enable_efence:BuildRequires: libefence-devel}
%{?_enable_snmp:BuildRequires: libnet-snmp-devel libnl-devel libsensors3-devel}

%description
Userspace tools and files for the Lustre file system.

%package snmp
Summary: Lustre SNMP MIB and plugin 
Group: System/Servers
Requires: %name = %version-%release
Requires: net-snmp-mibs

%description snmp
Lustre SNMP MIB and plugin

%package -n liblustre-devel
Summary: Files for development with Lustre libs
Group: Development/C
Provides: liblustre-devel-static = %version-%release

%description -n liblustre-devel
Files for development with Lustre libs.


%package -n kernel-source-%name
Summary: Lustre sources for kernel development
Group: Development/Kernel
BuildArch: noarch

%description -n kernel-source-%name
Lustre sources for kernel development.


%if_enabled tests
%package tests
Summary: Lustre testing framework
Group: Development/Kernel
Requires: %name = %version

%description tests
This package contains a set of test binaries and scripts that are
intended to be used by the Lustre testing framework.
%endif


%prep
%setup

%build
%configure \
    --disable-modules \
    %{subst_enable utils} \
    %{subst_enable liblustre} \
    %{subst_enable tests} \
    %{subst_enable doc} \
    %{subst_enable_to cray_xt3 cray-xt3} \
    %{subst_enable bgl} \
    %{subst_enable uoss} \
    %{subst_enable_to posix_osd posix-osd} \
    %{subst_enable server} \
    %{subst_enable client} \
    %{subst_enable libcfs_cdebug libcfs-cdebug} \
    %{subst_enable libcfs_trace libcfs-trace} \
    %{subst_enable libcfs_assert libcfs-assert} \
    %{subst_enable affinity} \
    %{subst_enable backoff} \
    %{subst_enable panic_dumplog} \
    %{subst_enable pinger} \
    %{subst_enable checksum} \
    %{subst_enable liblustre_recovery liblustre-recovery} \
    %{subst_enable quota} \
    %{subst_enable health_write health-write} \
    %{subst_enable lru_resize lru-resize} \
    %{subst_enable adaptive_timeouts adaptive-timeouts} \
    %{subst_enable_to tests liblustre-tests} \
    %{subst_enable liblustre_acl liblustre-acl} \
    %{subst_enable_to tests mpitests} \
    %{subst_enable readline} \
    %{subst_enable efence} \
    %{subst_enable libwrap} \
    %{subst_enable libpthread} \
    %{subst_enable sysio_init sysio-init} \
    %{subst_enable urandom} \
    %{subst_enable usocklnd} \
    %{subst_enable mindf} \
    %{subst_enable fail_alloc fail-alloc} \
    %{subst_enable snmp}
%make_build distdir=kernel-source-%name-%version distdir all
bzip2 --best --keep --force {lnet,%name}/ChangeLog


%install
%make_install DESTDIR=%buildroot install
rm -f %buildroot{%_datadir/%name/*.patch,%_bindir/config.sh}
mv %buildroot%_includedir/{linux,%name/}
cp -a ldiskfs/ldiskfs/ldiskfs kernel-source-%name-%version/ldiskfs/ldiskfs
install -d -m 0755 %buildroot%kernel_src
tar -cj kernel-source-%name-%version > %buildroot%kernel_src/kernel-source-%name-%version.tar.bz2
install -d -m 0755 %buildroot%_docdir/%name-%version/{lnet,%name}
install -m 0755 lnet/ChangeLog.* %buildroot%_docdir/%name-%version/lnet/
install -m 0755 %name/{BUGS,ChangeLog.*} %buildroot%_docdir/%name-%version/%name/
install -m 0755 README %buildroot%_docdir/%name-%version/

%if_enabled snmp
mkdir -p %buildroot%_datadir/snmp/mibs
mv %buildroot%_datadir/lustre/snmp/mibs/* %buildroot%_datadir/snmp/mibs/
rm -rf %buildroot%_datadir/lustre/snmp
%endif

%files
%_docdir/%name-%version
/sbin/*
%_sbindir/*
%_bindir/*
%dir %_libdir/lustre
%_datadir/%name
%_man1dir/*
%_man7dir/*
%_man8dir/*


%files -n liblustre-devel
%_includedir/*
%_libdir/*.a
%_man3dir/*

%if_enabled snmp
%files snmp
%_libdir/lustre/snmp
%_datadir/snmp/mibs/Lustre-MIB.txt
%endif

%files -n kernel-source-%name
%kernel_src/*


%if_enabled tests
%files tests
%endif

%changelog
* Sat Jun 02 2012 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.8.4-alt6
- Fixed build with new e2fsprogs

* Thu May 05 2011 Sergey Bolshakov <sbolshakov@altlinux.ru> 1.8.4-alt5
- fixed build witn net-snmp, again

* Mon Mar 21 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.8.4-alt4
- Rebuilt for debuginfo

* Mon Dec 06 2010 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.8.4-alt3
- Rebuilt with net-snmp 5.6

* Tue Oct 05 2010 Sergey Bolshakov <sbolshakov@altlinux.ru> 1.8.4-alt2
- fix kernel compatibility issue for v2.6.32

* Fri Oct  1 2010 Sergey Bolshakov <sbolshakov@altlinux.ru> 1.8.4-alt1
- 1.8.4

* Mon Apr 26 2010 Sergey Bolshakov <sbolshakov@altlinux.ru> 1.8.1.1-alt3
- workaround glibc detected overflow in `lfs getstripe'
- fix segfault in loadgen

* Thu Mar 18 2010 Sergey Bolshakov <sbolshakov@altlinux.ru> 1.8.1.1-alt2
- build snmp module

* Thu Nov 19 2009 Sergey Bolshakov <sbolshakov@altlinux.ru> 1.8.1.1-alt1
- 1.8.1.1

* Tue Jul 14 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.8.0.1-alt1.2
- Fixed "always overflow destination buffer"

* Sun Jul 05 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.8.0.1-alt1.1
- Build for Sisyphus

* Fri Jun 26 2009 Led <led@altlinux.ru> 1.8.0.1-alt1
- 1.8.0.1

* Mon Jun 22 2009 Led <led@altlinux.ru> 1.8.0-alt2
- fixes in kernel part

* Fri Jun 19 2009 Led <led@altlinux.ru> 1.8.0-alt1
- 1.8.0
- updated BuildRequires

* Fri Jun 19 2009 Led <led@altlinux.ru> 1.6.7.2-alt1
- 1.6.7.2

* Sun Apr 19 2009 Led <led@altlinux.ru> 1.6.7.1-alt1
- 1.6.7.1

* Mon Nov 10 2008 Led <led@altlinux.ru> 1.6.6-alt2
- removed %_bindir/config.sh

* Tue Nov 04 2008 Led <led@altlinux.ru> 1.6.6-alt1
- 1.6.6

* Tue Oct 14 2008 Led <led@altlinux.ru> 1.6.5.1-alt2
- remove default '-g' compile key

* Tue Oct 14 2008 Led <led@altlinux.ru> 1.6.5.1-alt1
- initial build