Blob Blame History Raw
Name: orangefs
Version: 2.9.7
Release: 6%{?dist}
Summary: Parallel network file system client
# 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/
# LGPLv2 src/common/dotconf/dotconf.c
# LGPLv2+ remainder
License: LGPLv2+ and LGPLv2 and BSD and MIT and zlib
BuildRequires:  gcc
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
BuildRequires: texlive latex2html ghostscript-tools-dvipdf

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. \
This package provides the pvfs2-client-core which is required to use \
the kernel module.


%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/

mv doc/man/pvfs2.conf.5 doc/man/orangefs.conf.5


export LDFLAGS="%{optflags} -Wl,--as-needed"
%ifarch armv7hl
%configure --enable-external-lmdb --enable-shared --disable-static \
    --enable-fuse --disable-usrint --with-db-backend=lmdb
%configure --enable-external-lmdb --enable-shared --disable-static \
   --enable-fuse --disable-usrint --with-db-backend=lmdb --with-openib=/usr
make docs

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}


%config(noreplace) %{_sysconfdir}/pvfs2tab
%dir %{_docdir}/orangefs
%license %{_docdir}/orangefs/COPYING
%dir %{_docdir}/orangefs/coding
%dir %{_docdir}/orangefs/design
%dir %{_docdir}/orangefs/random


%package devel

Summary: Parallel network file system development libraries

Requires: %{name}%{?_isa} = %{version}-%{release}

%description devel

This package contains the headers and libraries necessary for client

%files devel

%package server

Summary: Parallel network file system server

Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: perl(Math::BigInt)

%description server

This package contains the server.

%files server
%dir %{_sysconfdir}/orangefs
%config(noreplace) %{_sysconfdir}/orangefs/orangefs.conf
%dir %{_sharedstatedir}/orangefs

%package fuse

Summary: Parallel network file system FUSE client

Requires: %{name}%{?_isa} = %{version}-%{release}

%description fuse

This package contains the FUSE client.

%files fuse

* Thu Jul 25 2019 Fedora Release Engineering <> - 2.9.7-6
- Rebuilt for

* Fri Feb 01 2019 Fedora Release Engineering <> - 2.9.7-5
- Rebuilt for

* Fri Jul 13 2018 Fedora Release Engineering <> - 2.9.7-4
- Rebuilt for

* Mon Apr  9 2018 Martin Brandenburg <> - 2.9.7-3
- Disable usrint on all architectures as it appears broken with latest glibc.
- Add ghostscript-tools-dvipdf dependency.

* Thu Feb 08 2018 Fedora Release Engineering <> - 2.9.7-2
- Rebuilt for

* Thu Nov 30 2017 Martin Brandenburg <> - 2.9.7-1
- Update to 2.9.7.

* Fri Oct 27 2017 Martin Brandenburg <> - 2.9.6-0.8.20171023svn
- Need -n orangefs-svn-13093 in percent-autosetup.

* Fri Oct 27 2017 Martin Brandenburg <> - 2.9.6-0.7.20171023svn
- Prettier description.
- Move pvfs2tab to main package.
- Update to SVN revision 13093.

* Tue Oct 17 2017 Martin Brandenburg <> - 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 <> - 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 <> - 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 <> - 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 <> - 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 <> - 2.9.6-0.1.20170904svn
- Initial Packaging