You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
373 lines
11 KiB
373 lines
11 KiB
Name: orangefs |
|
Version: 2.9.7 |
|
Release: 1%{?dist} |
|
Summary: Parallel network file system client |
|
URL: http://www.orangefs.org/ |
|
# BSD (2 clause) maint/config/ssl.m4 |
|
# BSD (3 clause) src/client/usrint/fts.c |
|
# BSD (3 clause) src/client/usrint/fts.h |
|
# MIT maint/config/install-sh |
|
# zlib src/common/misc/md5.c |
|
# zlib src/common/misc/md5.h |
|
# LGPLv2 src/apps/admin/pvfs2-config.in |
|
# LGPLv2 src/common/dotconf/dotconf.c |
|
# LGPLv2+ remainder |
|
License: LGPLv2+ and LGPLv2 and BSD and MIT and zlib |
|
BuildRequires: automake |
|
BuildRequires: bison flex libattr-devel openssl-devel |
|
BuildRequires: perl(Math::BigInt) perl(Getopt::Long) |
|
BuildRequires: systemd |
|
BuildRequires: libselinux-devel |
|
BuildRequires: lmdb-devel fuse-devel |
|
%ifnarch armv7hl |
|
BuildRequires: libibverbs-devel |
|
%endif |
|
BuildRequires: texlive latex2html |
|
|
|
Source0: https://s3.amazonaws.com/download.orangefs.org/current/source/orangefs-%version.tar.gz |
|
Source1: orangefs-server.service |
|
Source2: orangefs-client.service |
|
Source3: orangefs.conf |
|
Source4: pvfs2tab |
|
# Change the configuration generator to default to options and paths |
|
# appropriate to Fedora. This causes genconfig to enable syslog logging |
|
# and to use /var/lib/orangefs for the storage paths. |
|
Patch0: orangefs-genconfig.patch |
|
# Remove bundled LMDB, so it cannot be built. |
|
Patch1: orangefs-lmdb.patch |
|
# These are scripts which connect to several machines and start or stop |
|
# the server. They would require editing and don't work with systemd, |
|
# so this removes them. |
|
Patch2: orangefs-no-start-stop.patch |
|
|
|
%global _hardened_build 1 |
|
|
|
%global desc OrangeFS (formerly PVFS2) is a high-performance parallel \ |
|
network file system designed for use on high performance computing \ |
|
systems. It provides very high performance access to disk storage for \ |
|
parallel applications. It is accessible through a variety of \ |
|
interfaces, including the native OrangeFS library, the kernel, FUSE, \ |
|
and MPI-IO. |
|
|
|
%description |
|
%desc |
|
|
|
%prep |
|
%autosetup -N -n orangefs-%version |
|
%patch0 -p1 |
|
%patch1 -p1 |
|
%patch2 -p1 |
|
|
|
rm -r src/apps/devel/lmdb |
|
rm -r src/common/lmdb |
|
|
|
rm src/client/webpack/ltmain.sh |
|
|
|
mv doc/man/pvfs2.conf.5 doc/man/orangefs.conf.5 |
|
|
|
./prepare |
|
|
|
%build |
|
export LDFLAGS="%{optflags} -Wl,--as-needed" |
|
%ifarch armv7hl |
|
%configure --enable-external-lmdb --enable-shared --disable-static \ |
|
--enable-fuse --with-db-backend=lmdb |
|
%else |
|
%ifarch aarch64 |
|
%configure --enable-external-lmdb --enable-shared --disable-static \ |
|
--enable-fuse --disable-usrint --with-db-backend=lmdb \ |
|
--with-openib=/usr |
|
%else |
|
%configure --enable-external-lmdb --enable-shared --disable-static \ |
|
--enable-fuse --with-db-backend=lmdb --with-openib=/usr |
|
%endif |
|
%endif |
|
%make_build |
|
make docs |
|
|
|
%install |
|
%make_install |
|
mkdir -p %{buildroot}%{_docdir}/orangefs |
|
install -p -m 644 doc/*.pdf %{buildroot}%{_docdir}/orangefs |
|
mkdir -p %{buildroot}%{_docdir}/orangefs/coding |
|
install -p -m 644 doc/coding/*.pdf %{buildroot}%{_docdir}/orangefs/coding |
|
mkdir -p %{buildroot}%{_docdir}/orangefs/design |
|
install -p -m 644 doc/design/*.pdf %{buildroot}%{_docdir}/orangefs/design |
|
mkdir -p %{buildroot}%{_docdir}/orangefs/random |
|
install -p -m 644 doc/random/*.pdf %{buildroot}%{_docdir}/orangefs/random |
|
install -p -m 644 COPYING %{buildroot}%{_docdir}/orangefs |
|
mkdir -p %{buildroot}%{_unitdir} |
|
install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir} |
|
install -p -m 644 %{SOURCE2} %{buildroot}%{_unitdir} |
|
mkdir -p %{buildroot}%{_sharedstatedir}/orangefs |
|
mkdir -p %{buildroot}%{_sysconfdir}/orangefs |
|
install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/orangefs |
|
install -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir} |
|
|
|
%ifnarch aarch64 |
|
chmod 644 %{buildroot}%{_libdir}/liborangefsposix.so.%version |
|
%endif |
|
|
|
%files |
|
|
|
%config(noreplace) %{_sysconfdir}/pvfs2tab |
|
%ifnarch aarch64 |
|
%{_bindir}/getmattr |
|
%{_bindir}/ofs_cp |
|
%{_bindir}/ofs_graphite_driver |
|
%{_bindir}/ofs_rm |
|
%{_bindir}/ofs_setdirhint |
|
%endif |
|
%{_bindir}/pvfs2-check-server |
|
%{_bindir}/pvfs2-chmod |
|
%{_bindir}/pvfs2-chown |
|
%{_bindir}/pvfs2-cp |
|
%{_bindir}/pvfs2-drop-caches |
|
%{_bindir}/pvfs2-fs-dump |
|
%{_bindir}/pvfs2-fsck |
|
%{_bindir}/pvfs2-get-uid |
|
%{_bindir}/pvfs2-getmattr |
|
%{_bindir}/pvfs2-ln |
|
%{_bindir}/pvfs2-ls |
|
%{_bindir}/pvfs2-lsplus |
|
%{_bindir}/pvfs2-mkdir |
|
%{_bindir}/pvfs2-perf-mon-example |
|
%{_bindir}/pvfs2-perf-mon-snmp |
|
%{_bindir}/pvfs2-perror |
|
%{_bindir}/pvfs2-ping |
|
%{_bindir}/pvfs2-remove-object |
|
%ifnarch aarch64 |
|
%{_bindir}/pvfs2-rm |
|
%endif |
|
%{_bindir}/pvfs2-set-debugmask |
|
%{_bindir}/pvfs2-set-eventmask |
|
%{_bindir}/pvfs2-set-mode |
|
%{_bindir}/pvfs2-set-perf-history |
|
%{_bindir}/pvfs2-set-perf-interval |
|
%{_bindir}/pvfs2-set-sync |
|
%{_bindir}/pvfs2-set-turn-off-timeouts |
|
%{_bindir}/pvfs2-setmattr |
|
%{_bindir}/pvfs2-stat |
|
%{_bindir}/pvfs2-statfs |
|
%{_bindir}/pvfs2-touch |
|
%{_bindir}/pvfs2-validate |
|
%{_bindir}/pvfs2-viewdist |
|
%{_bindir}/pvfs2-write |
|
%{_bindir}/pvfs2-xattr |
|
%ifnarch aarch64 |
|
%{_bindir}/setmattr |
|
%endif |
|
%{_sbindir}/pvfs2-client |
|
%{_sbindir}/pvfs2-client-core |
|
%{_unitdir}/orangefs-client.service |
|
%ifnarch aarch64 |
|
%{_libdir}/libofs.so.2 |
|
%{_libdir}/libofs.so.%version |
|
%{_libdir}/liborangefs.so.2 |
|
%{_libdir}/liborangefs.so.%version |
|
%{_libdir}/liborangefsposix.so.2 |
|
%{_libdir}/liborangefsposix.so.%version |
|
%endif |
|
%{_libdir}/libpvfs2.so.2 |
|
%{_libdir}/libpvfs2.so.%version |
|
%dir %{_docdir}/orangefs |
|
%license %{_docdir}/orangefs/COPYING |
|
%{_docdir}/orangefs/pvfs2-guide.pdf |
|
%dir %{_docdir}/orangefs/coding |
|
%{_docdir}/orangefs/coding/developer-guidelines.pdf |
|
%dir %{_docdir}/orangefs/design |
|
%{_docdir}/orangefs/design/bmi-design.pdf |
|
%{_docdir}/orangefs/design/concepts.pdf |
|
%{_docdir}/orangefs/design/distributions.pdf |
|
%{_docdir}/orangefs/design/flow-design.pdf |
|
%{_docdir}/orangefs/design/fs-semantics.pdf |
|
%{_docdir}/orangefs/design/handle-allocator.pdf |
|
%{_docdir}/orangefs/design/pvfs2-client.pdf |
|
%{_docdir}/orangefs/design/pvfs2-trove-usage.pdf |
|
%{_docdir}/orangefs/design/trove-dbpf.pdf |
|
%{_docdir}/orangefs/design/request-design.pdf |
|
%{_docdir}/orangefs/design/storage-interface.pdf |
|
%{_docdir}/orangefs/pvfs2-ha.pdf |
|
%{_docdir}/orangefs/pvfs2-ha-heartbeat-v2.pdf |
|
%{_docdir}/orangefs/pvfs2-faq.pdf |
|
%{_docdir}/orangefs/pvfs2-quickstart.pdf |
|
%{_docdir}/orangefs/pvfs2-status.pdf |
|
%{_docdir}/orangefs/pvfs2-tuning.pdf |
|
%dir %{_docdir}/orangefs/random |
|
%{_docdir}/orangefs/random/SystemInterfaceTesting.pdf |
|
%{_mandir}/man1/getmattr.1.gz |
|
%{_mandir}/man1/pvfs2-client-core.1.gz |
|
%{_mandir}/man1/pvfs2-client.1.gz |
|
%{_mandir}/man1/pvfs2-cp.1.gz |
|
%{_mandir}/man1/pvfs2-check-server.1.gz |
|
%{_mandir}/man1/pvfs2-chmod.1.gz |
|
%{_mandir}/man1/pvfs2-chown.1.gz |
|
%{_mandir}/man1/pvfs2-drop-caches.1.gz |
|
%{_mandir}/man1/pvfs2-fs-dump.1.gz |
|
%{_mandir}/man1/pvfs2-fsck.1.gz |
|
%{_mandir}/man1/pvfs2-get-uid.1.gz |
|
%{_mandir}/man1/pvfs2-getmattr.1.gz |
|
%{_mandir}/man1/pvfs2-ln.1.gz |
|
%{_mandir}/man1/pvfs2-ls.1.gz |
|
%{_mandir}/man1/pvfs2-lsplus.1.gz |
|
%{_mandir}/man1/pvfs2-mkdir.1.gz |
|
%{_mandir}/man1/pvfs2-perf-mon-example.1.gz |
|
%{_mandir}/man1/pvfs2-perf-mon-snmp.1.gz |
|
%{_mandir}/man1/pvfs2-perror.1.gz |
|
%{_mandir}/man1/pvfs2-ping.1.gz |
|
%{_mandir}/man1/pvfs2-remove-object.1.gz |
|
%{_mandir}/man1/pvfs2-rm.1.gz |
|
%{_mandir}/man1/pvfs2-set-debugmask.1.gz |
|
%{_mandir}/man1/pvfs2-set-eventmask.1.gz |
|
%{_mandir}/man1/pvfs2-set-mode.1.gz |
|
%{_mandir}/man1/pvfs2-set-perf-history.1.gz |
|
%{_mandir}/man1/pvfs2-set-perf-interval.1.gz |
|
%{_mandir}/man1/pvfs2-set-sync.1.gz |
|
%{_mandir}/man1/pvfs2-set-turn-off-timeouts.1.gz |
|
%{_mandir}/man1/pvfs2-setmattr.1.gz |
|
%{_mandir}/man1/pvfs2-stat.1.gz |
|
%{_mandir}/man1/pvfs2-statfs.1.gz |
|
%{_mandir}/man1/pvfs2-touch.1.gz |
|
%{_mandir}/man1/pvfs2-validate.1.gz |
|
%{_mandir}/man1/pvfs2-viewdist.1.gz |
|
%{_mandir}/man1/pvfs2-write.1.gz |
|
%{_mandir}/man1/pvfs2-xattr.1.gz |
|
%{_mandir}/man1/pvfs2.1.gz |
|
%{_mandir}/man1/setmattr.1.gz |
|
%{_mandir}/man5/pvfs2tab.5.gz |
|
|
|
%post -p /sbin/ldconfig |
|
%postun -p /sbin/ldconfig |
|
|
|
%package devel |
|
|
|
Summary: Parallel network file system development libraries |
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release} |
|
|
|
%description devel |
|
%desc |
|
|
|
This package contains the headers and libraries necessary for client |
|
development. |
|
|
|
%files devel |
|
%{_bindir}/pvfs2-config |
|
%{_includedir}/orange.h |
|
%{_includedir}/pvfs2-compat.h |
|
%{_includedir}/pvfs2-debug.h |
|
%{_includedir}/pvfs2-encode-stubs.h |
|
%{_includedir}/pvfs2-hint.h |
|
%{_includedir}/pvfs2-mgmt.h |
|
%{_includedir}/pvfs2-mirror.h |
|
%{_includedir}/pvfs2-request.h |
|
%{_includedir}/pvfs2-sysint.h |
|
%{_includedir}/pvfs2-types.h |
|
%{_includedir}/pvfs2-usrint.h |
|
%{_includedir}/pvfs2-util.h |
|
%{_includedir}/pvfs2.h |
|
%ifnarch aarch64 |
|
%{_libdir}/libofs.so |
|
%{_libdir}/liborangefs.so |
|
%{_libdir}/liborangefsposix.so |
|
%endif |
|
%{_libdir}/libpvfs2.so |
|
|
|
%package server |
|
|
|
Summary: Parallel network file system server |
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release} |
|
Requires: perl(Math::BigInt) |
|
|
|
%description server |
|
%desc |
|
|
|
This package contains the server. |
|
|
|
%files server |
|
%dir %{_sysconfdir}/orangefs |
|
%config(noreplace) %{_sysconfdir}/orangefs/orangefs.conf |
|
%{_bindir}/pvfs2-genconfig |
|
%{_bindir}/pvfs2-mkspace |
|
%{_bindir}/pvfs2-showcoll |
|
%{_sbindir}/pvfs2-server |
|
%{_unitdir}/orangefs-server.service |
|
%{_mandir}/man1/pvfs2-genconfig.1.gz |
|
%{_mandir}/man1/pvfs2-mkspace.1.gz |
|
%{_mandir}/man1/pvfs2-server.1.gz |
|
%{_mandir}/man1/pvfs2-showcoll.1.gz |
|
%{_mandir}/man5/orangefs.conf.5.gz |
|
%dir %{_sharedstatedir}/orangefs |
|
|
|
%package fuse |
|
|
|
Summary: Parallel network file system FUSE client |
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release} |
|
|
|
%description fuse |
|
%desc |
|
|
|
This package contains the FUSE client. |
|
|
|
%files fuse |
|
%{_bindir}/pvfs2fuse |
|
|
|
%changelog |
|
* Thu Nov 30 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.7-1 |
|
- Update to 2.9.7. |
|
|
|
* Fri Oct 27 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.6-0.8.20171023svn |
|
- Need -n orangefs-svn-13093 in percent-autosetup. |
|
|
|
* Fri Oct 27 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.6-0.7.20171023svn |
|
- Prettier description. |
|
- Move pvfs2tab to main package. |
|
- Update to SVN revision 13093. |
|
|
|
* Tue Oct 17 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.6-0.6.20171011svn |
|
- Add missing changelog entry. |
|
- Add license to main package. |
|
- Require main package by all subpackages. |
|
- Own directores for package. |
|
- Do not make linker script executable. |
|
- Preserve timestamps of installed files. |
|
- Remove commented out percent-post section. |
|
- Expand description. |
|
- Add patch descriptions. |
|
|
|
* Wed Oct 11 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.6-0.5.20171011svn |
|
- Fix mistakes caught by rpmlint in changelog. |
|
- Set noreplace on configuration files. |
|
- Remove unnecessary provides. |
|
- Make -devel require base package. |
|
- Do not link against unused libraries. |
|
- Add documentation. |
|
|
|
* Wed Oct 11 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.6-0.4.20171004svn |
|
- Disable Karma GUI tool. |
|
- Enable aarch64 without usrint. |
|
- Do not package pvfs2-start-all and pvfs2-stop-all scripts. |
|
|
|
* Mon Oct 2 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.6-0.3.20171002svn |
|
- Remove upstream LMDB so it cannot be built. |
|
- Do not use -example for example configurations. |
|
- Patch genconfig to prompt for config path with default if not specified. |
|
- Stop the client from forking. |
|
- Rename pvfs2.conf man page to orangefs.conf. |
|
- Comment default pvfs2tab so it cannot be used. |
|
- Run pvfs2-client-core from systemd instead of pvfs2-client. |
|
- Move to upstream SVN revision 13065. |
|
- Remove Dave Love's orangefs-soname.patch since it is upstream. |
|
|
|
* Thu Sep 21 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.6-0.2.20170904svn |
|
- Remove percent-doc from manpages. |
|
- Remove static libraries. |
|
- Change license line to switch MIT for NTP and merge LGPLv2 variants. |
|
- Add orangefs-soname.patch. |
|
- Most genconfig.patch to orangefs-genconfig.patch. |
|
- Use -example for example configurations. |
|
|
|
* Fri Sep 15 2017 Martin Brandenburg <martin@martinbrandenburg.com> - 2.9.6-0.1.20170904svn |
|
- Initial Packaging
|
|
|