diff --git a/SOURCES/orangefs-client.service b/SOURCES/orangefs-client.service new file mode 100644 index 0000000..76ddae1 --- /dev/null +++ b/SOURCES/orangefs-client.service @@ -0,0 +1,10 @@ +[Unit] +Description=OrangeFS Parallel File System Client +After=network.target + +[Service] +Type=simple +ExecStart=/usr/sbin/pvfs2-client-core --logtype=syslog + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/orangefs-genconfig.patch b/SOURCES/orangefs-genconfig.patch new file mode 100644 index 0000000..dd226da --- /dev/null +++ b/SOURCES/orangefs-genconfig.patch @@ -0,0 +1,265 @@ +diff -ur /home/fedora/packaging-work/orangefs/orangefs-2.9.6/Makefile.in ./Makefile.in +--- /home/fedora/packaging-work/orangefs/orangefs-2.9.6/Makefile.in 2017-08-28 16:49:41.769131000 +0000 ++++ ./Makefile.in 2017-09-15 17:02:45.526366949 +0000 +@@ -1393,7 +1393,7 @@ + src/server/simple.conf: src/apps/admin/pvfs2-genconfig + $(Q) " GENCONFIG $@" + $(E)$(srcdir)/src/apps/admin/pvfs2-genconfig --protocol tcp --port 3334 \ +- --ioservers localhost --metaservers localhost --logfile $(prefix)/log/pvfs2-server.log \ ++ --ioservers localhost --metaservers localhost \ + --storage $(prefix)/storage/data --metadata $(prefix)/storage/meta \ + --logging "server,network,storage,flow" --quiet src/server/simple.conf + +@@ -1404,7 +1404,7 @@ + examples/fs.conf: src/apps/admin/pvfs2-genconfig + $(Q) " GENCONFIG $@" + $(E)$(srcdir)/src/apps/admin/pvfs2-genconfig --protocol tcp --port 3334 \ +- --ioservers localhost --metaservers localhost --logfile $(prefix)/log/pvfs2-server.log \ ++ --ioservers localhost --metaservers localhost \ + --storage $(prefix)/storage/data --metadata $(prefix)/storage/meta \ + --quiet examples/fs.conf + endif +diff -ur /home/fedora/packaging-work/orangefs/orangefs-2.9.6/src/apps/admin/pvfs2-genconfig ./src/apps/admin/pvfs2-genconfig +--- /home/fedora/packaging-work/orangefs/orangefs-2.9.6/src/apps/admin/pvfs2-genconfig 2017-08-15 16:14:22.880025000 +0000 ++++ ./src/apps/admin/pvfs2-genconfig 2017-09-15 16:15:38.642709285 +0000 +@@ -28,7 +28,6 @@ + my $opt_portal = ''; + my $opt_ioservers = ''; + my $opt_metaservers = ''; +-my $opt_logfile = ''; + my $opt_storage = ''; + my $opt_metadata = ''; + my $opt_trovesync = '1'; +@@ -67,9 +66,8 @@ + + my %all_endpoints = (); + +-my $default_storage = undef; +-my $default_meta_storage = undef; +-my $default_logfile = undef; ++my $default_storage = "/var/lib/orangefs/data"; ++my $default_meta_storage = "/var/lib/orangefs/meta"; + + my $bmi_module = undef; + +@@ -389,7 +387,7 @@ + + sub emit_defaults + { +- my ($target, $num_unexp, $bmi_module, $logfile, ++ my ($target, $num_unexp, $bmi_module, + $logging, $tracing, $logstamp, $server_job_timeout, $client_job_timeout) = @_; + + print $target "\n"; +@@ -419,10 +417,7 @@ + print $target "\tMetadataStorageSpace " . $default_meta_storage . "\n\n"; + } + +- if(defined($default_logfile)) +- { +- print $target "\tLogFile " . $default_logfile . "\n"; +- } ++ print $target "\tLogType syslog\n"; + + if($opt_tcpbindspecific) + { +@@ -664,7 +659,6 @@ + print $target "\tServer $alias\n"; + print $target "\tDataStorageSpace $endpoint->{STORAGE}\n"; + print $target "\tMetadataStorageSpace $endpoint->{METASTORAGE}\n"; +- print $target "\tLogFile $endpoint->{LOGFILE}\n"; + + if ($opt_server_dbmaxsize) + { +@@ -680,12 +674,11 @@ + + sub emit_server_conf + { +- my($target, $node, $storage, $metastorage, $logfile) = @_; ++ my($target, $node, $storage, $metastorage) = @_; + + print $target "DataStorageSpace $storage\n"; + print $target "MetadataStorageSpace $metastorage\n"; + print $target "HostID \"" . get_bmi_endpoint($node) . "\"\n"; +- print $target "LogFile $logfile\n"; + } + + sub emit_fs_key +@@ -835,7 +828,6 @@ + ('none','usec', or 'datetime' are valid) + --storage path to OrangeFS storage (data) directory. + --metadata path to OrangeFS metadata directory. +- --logfile file to place server logging. + --dbmaxsize LMDB specific; size of storage_attributes and collections databases. + If not specified, default is 512MB. + --server-dbmaxsize LMDB specific; size of storage_attributes and collections databases +@@ -1159,33 +1151,21 @@ + return $client_job_timeout; + } + +-sub get_logfile +-{ +- my $logfile = "/var/log/orangefs-server.log"; +- if ($opt_logfile) { +- $logfile = $opt_logfile; +- } elsif (!$opt_quiet) { +- print $OUT "Choose a file for each server to write log messages to.\n"; +- $logfile = prompt_word("Enter log file location [Default is $logfile]: ","$logfile"); +- } +- return $logfile; +-} +- + sub get_storage + { +- my $storage = "${fs_path}/storage/data"; ++ my $storage = $default_storage; + if ($opt_storage) { + $storage = $opt_storage; + } elsif (!$opt_quiet) { + print $OUT "Choose a directory for each server to store data in.\n"; +- $storage = prompt_word("Enter directory name: [Default is ${fs_path}/storage/data]: ","${fs_path}/storage/data"); ++ $storage = prompt_word("Enter directory name: [Default is ${default_storage}]: ","${default_storage}"); + } + return $storage; + } + + sub get_meta_storage + { +- my $metastorage = "${fs_path}/storage/meta"; ++ my $metastorage = $default_meta_storage; + if ($opt_metadata) { + $metastorage = $opt_metadata; + } elsif ($opt_storage) { +@@ -1193,7 +1173,7 @@ + $metastorage = $opt_storage; + } elsif (!$opt_quiet) { + print $OUT "Choose a directory for each server to store metadata in.\n"; +- $metastorage = prompt_word("Enter directory name: [Default is ${fs_path}/storage/meta]: ","${fs_path}/storage/meta"); ++ $metastorage = prompt_word("Enter directory name: [Default is ${default_meta_storage}]: ","${default_meta_storage}"); + } + return $metastorage; + } +@@ -1303,7 +1283,6 @@ + my $portmap = shift; + my $storage = shift; + my $metastorage = shift; +- my $logfile = shift; + my $ioline = ''; + if ($opt_ioservers) { + $ioline = $opt_ioservers; +@@ -1332,8 +1311,7 @@ + HOSTNAME => $io_host, + PORTMAP => $portmap, + STORAGE => $storage, +- METASTORAGE => $metastorage, +- LOGFILE => $logfile}; ++ METASTORAGE => $metastorage}; + } + } + } +@@ -1343,7 +1321,6 @@ + my $portmap = shift; + my $storage = shift; + my $metastorage = shift; +- my $logfile = shift; + my $metaline = ''; + my @meta_hosts; + if ($opt_metaservers) { +@@ -1389,8 +1366,7 @@ + HOSTNAME => $meta_host, + PORTMAP => $portmap, + STORAGE => $storage, +- METASTORAGE => $metastorage, +- LOGFILE => $logfile}; ++ METASTORAGE => $metastorage}; + } + } + } +@@ -1488,8 +1464,7 @@ + HOSTNAME => $hostname, + PORTMAP => \%port, + STORAGE => $stor, +- METASTORAGE => $mstor, +- LOGFILE => $logf}; ++ METASTORAGE => $mstor}; + } + else + { +@@ -1584,8 +1559,7 @@ + HOSTNAME => $hostname, + PORTMAP => $portmap, + STORAGE => $stor, +- METASTORAGE => $mstor, +- LOGFILE => $logf}; ++ METASTORAGE => $mstor}; + } + } + else +@@ -1606,8 +1580,7 @@ + HOSTNAME => $hostname, + PORTMAP => $portmap, + STORAGE => $stor, +- METASTORAGE => $mstor, +- LOGFILE => $logf}; ++ METASTORAGE => $mstor}; + } + } + +@@ -1645,8 +1618,7 @@ + HOSTNAME => $hostname, + PORTMAP => $portmap, + STORAGE => $stor, +- METASTORAGE => $mstor, +- LOGFILE => $logf}; ++ METASTORAGE => $mstor}; + } + } + } +@@ -1938,7 +1910,6 @@ + 'portal=i' => \$opt_portal, + 'ioservers=s' => \$opt_ioservers, + 'metaservers=s' => \$opt_metaservers, +- 'logfile=s' => \$opt_logfile, + 'dbmaxsize=i' => \$opt_default_dbmaxsize, + 'logging=s' => \$opt_logging, + 'tracing' => \$opt_tracing, +@@ -2089,10 +2060,9 @@ + + $default_storage = get_storage(); + $default_meta_storage = get_meta_storage(); +- $default_logfile = get_logfile(); + +- get_ionames($portmap, $default_storage, $default_logfile); +- get_metanames($portmap, $default_meta_storage, $default_logfile); ++ get_ionames($portmap, $default_storage); ++ get_metanames($portmap, $default_meta_storage); + } + + # find out if any of the storage or logfile entries in the endpoints +@@ -2118,17 +2088,6 @@ + set_default_value(METASTORAGE, $default_meta_storage); + } + +-if(needs_default_value(LOGFILE)) +-{ +- if(!defined($default_logfile)) +- { +- $default_logfile = get_logfile(); +- } +- +- set_default_value(LOGFILE, $default_logfile); +- set_default_value(LOGFILE, $default_logfile); +-} +- + my $count = scalar(keys %all_endpoints); + my $io_count = scalar(get_aliases($IO_ENDPOINT)); + my $meta_count = scalar(get_aliases($META_ENDPOINT)); +@@ -2214,7 +2173,7 @@ + } + + emit_defaults($output_target, $num_unexp_reqs, +- $bmi_module, $default_logfile, $logging, $tracing, ++ $bmi_module, $logging, $tracing, + $logstamp, $server_job_timeout, $client_job_timeout); + + emit_aliases($output_target); diff --git a/SOURCES/orangefs-lmdb.patch b/SOURCES/orangefs-lmdb.patch new file mode 100644 index 0000000..3cfd865 --- /dev/null +++ b/SOURCES/orangefs-lmdb.patch @@ -0,0 +1,19 @@ +diff -Naur orangefs-2.9.6/configure.ac orangefs-2.9.6-patch/configure.ac +--- orangefs-2.9.6/configure.ac 2017-08-28 19:51:02.633385000 +0000 ++++ orangefs-2.9.6-patch/configure.ac 2017-09-27 20:27:14.606000000 +0000 +@@ -1890,7 +1890,6 @@ + src/apps/admin/module.mk + src/apps/admin/pvfs2-config + src/apps/devel/module.mk +-src/apps/devel/lmdb/module.mk + src/apps/karma/module.mk + src/apps/vis/module.mk + src/apps/fuse/module.mk +@@ -1914,7 +1913,6 @@ + src/common/security/module.mk + src/common/hash/module.mk + src/common/token-utils/module.mk +-src/common/lmdb/module.mk + src/io/bmi/module.mk + src/io/bmi/bmi_tcp/module.mk + src/io/bmi/bmi_gm/module.mk diff --git a/SOURCES/orangefs-no-start-stop.patch b/SOURCES/orangefs-no-start-stop.patch new file mode 100644 index 0000000..f8d8e5c --- /dev/null +++ b/SOURCES/orangefs-no-start-stop.patch @@ -0,0 +1,12 @@ +diff -Naur orangefs-2.9.6/Makefile.in orangefs-2.9.6-patch/Makefile.in +--- orangefs-2.9.6/Makefile.in 2017-10-02 19:13:02.032536000 +0000 ++++ orangefs-2.9.6-patch/Makefile.in 2017-10-09 15:10:47.033497486 +0000 +@@ -1512,8 +1512,6 @@ + done + + install -d $(sbindir) +- install -m 755 $(srcdir)/src/apps/admin/pvfs2-start-all $(sbindir) +- install -m 755 $(srcdir)/src/apps/admin/pvfs2-stop-all $(sbindir) + + ifdef BUILD_JNI + install -m 644 $(OFS_JNI_JAR) $(libdir) diff --git a/SOURCES/orangefs-server.service b/SOURCES/orangefs-server.service new file mode 100644 index 0000000..7d6049c --- /dev/null +++ b/SOURCES/orangefs-server.service @@ -0,0 +1,10 @@ +[Unit] +Description=OrangeFS Parallel File System Server +After=network.target + +[Service] +Type=simple +ExecStart=/usr/sbin/pvfs2-server -d /etc/orangefs/orangefs.conf + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/orangefs.conf b/SOURCES/orangefs.conf new file mode 100644 index 0000000..04bc54d --- /dev/null +++ b/SOURCES/orangefs.conf @@ -0,0 +1,58 @@ +# It is necessary, at least, to set the hostnames if localhost is not +# appropriate and to create the storage space with the -f option to +# pvfs2-server. It is advised to change ID to a random 32-bit positive +# integer to reduce the change of conflicts between filesystems. It may +# be desirable to run pvfs2-genconfig to generate a configration file +# interactively. + + + UnexpectedRequests 50 + EventLogging none + EnableTracing no + LogStamp datetime + BMIModules bmi_tcp + FlowModules flowproto_multiqueue + PerfUpdateInterval 1000 + ServerJobBMITimeoutSecs 30 + ServerJobFlowTimeoutSecs 30 + ClientJobBMITimeoutSecs 300 + ClientJobFlowTimeoutSecs 300 + ClientRetryLimit 5 + ClientRetryDelayMilliSecs 2000 + PrecreateBatchSize 0,1024,1024,1024,32,1024,0 + PrecreateLowThreshold 0,256,256,256,16,256,0 + + DataStorageSpace /var/lib/orangefs/data + MetadataStorageSpace /var/lib/orangefs/meta + + LogType syslog + + + TurnOffTimeouts yes + + + + + Alias localhost tcp://localhost:3334 + + + + Name orangefs + ID 1 + RootHandle 1048576 + FileStuffing yes + DistrDirServersInitial 1 + DistrDirServersMax 1 + DistrDirSplitSize 100 + + Range localhost 3-4611686018427387904 + + + Range localhost 4611686018427387905-9223372036854775806 + + + TroveSyncMeta yes + TroveSyncData no + TroveMethod alt-aio + + diff --git a/SOURCES/pvfs2tab b/SOURCES/pvfs2tab new file mode 100644 index 0000000..a727840 --- /dev/null +++ b/SOURCES/pvfs2tab @@ -0,0 +1 @@ +#tcp://localhost:3334/orangefs /pvfsmnt pvfs2 diff --git a/SPECS/orangefs.spec b/SPECS/orangefs.spec new file mode 100644 index 0000000..e3f7c68 --- /dev/null +++ b/SPECS/orangefs.spec @@ -0,0 +1,373 @@ +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 - 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