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