%define pre_release %nil #% define pre_release -rc1 Name: fedfs-utils Version: 0.7.2 Release: 1%{?dist} Summary: Utilities for mounting and managing FedFS Group: System Environment/Daemons License: GPLv2 URL: http://oss.oracle.com/projects/%{name}/ BuildRequires: libidn-devel libattr-devel libcap-devel openldap-devel sqlite-devel libtirpc-devel libuuid-devel Source0: http://oss.oracle.com/projects/%{name}/dist/files/%{name}-%{version}%{pre_release}.tar.gz Patch1: fedfs-utils-0.7.2-contrib.patch %description RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals. A file system referral is like a symbolic link to another file system share, but it is not visible to applications. It behaves like an automounted directory where a new file system mount is done when an application first accesses that directory. The arguments of the mount operation are controlled by information returned by the file server. Today, file system referral mechanisms exist in several network file system protocols. FedFS provides its namespace features by leveraging referral mechanisms already built in to network file system protocols. Thus no change to file system protocols or clients is required. Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 3530. FedFS may support other network file system protocols in the future. %prep %setup -q -n %{name}-%{version}%{pre_release} %patch1 -p1 %build %configure --prefix=/usr make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} mkdir -p %{buildroot}%{_sharedstatedir}/fedfs mkdir -p %{buildroot}%{_unitdir} install -m 644 contrib/systemd/rpcfedfsd.service %{buildroot}%{_unitdir} %package common Summary: Common files for FedFS Group: System Environment/Daemons BuildArch: noarch %description common This package contains files common to all of the fedfs packages. RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals. A file system referral is like a symbolic link to another file system share, but it is not visible to applications. It behaves like an automounted directory where a new file system mount is done when an application first accesses that directory. The arguments of the mount operation are controlled by information returned by the file server. Today, file system referral mechanisms exist in several network file system protocols. FedFS provides its namespace features by leveraging referral mechanisms already built in to network file system protocols. Thus no change to file system protocols or clients is required. Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 3530. FedFS may support other network file system protocols in the future. %files common %doc %{_mandir}/man7/fedfs.7.* %package client Summary: Utilities for mounting FedFS domains Group: System Environment/Daemons Requires: %{name}-common %description client This package contains the tools needed to mount a FedFS domain and act as a client. RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals. A file system referral is like a symbolic link to another file system share, but it is not visible to applications. It behaves like an automounted directory where a new file system mount is done when an application first accesses that directory. The arguments of the mount operation are controlled by information returned by the file server. Today, file system referral mechanisms exist in several network file system protocols. FedFS provides its namespace features by leveraging referral mechanisms already built in to network file system protocols. Thus no change to file system protocols or clients is required. Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 3530. FedFS may support other network file system protocols in the future. %files client /sbin/mount.fedfs %{_sbindir}/fedfs-map-nfs4 %{_mandir}/man8/mount.fedfs.8.* %{_mandir}/man8/fedfs-map-nfs4.8.* %package nsdbparams Summary: FedFS nsdbparams utility Group: System Environment/Daemons Requires: %{name}-common %description nsdbparams This package contains the nsdbparams utility, which is needed by both the fedfs-server and fedfs-admin packages. RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals. A file system referral is like a symbolic link to another file system share, but it is not visible to applications. It behaves like an automounted directory where a new file system mount is done when an application first accesses that directory. The arguments of the mount operation are controlled by information returned by the file server. Today, file system referral mechanisms exist in several network file system protocols. FedFS provides its namespace features by leveraging referral mechanisms already built in to network file system protocols. Thus no change to file system protocols or clients is required. Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 3530. FedFS may support other network file system protocols in the future. %files nsdbparams %{_sbindir}/nsdbparams %{_mandir}/man8/nsdbparams.8.* %package server Summary: Utilities for serving FedFS domains Group: System Environment/Daemons Requires: %{name}-nsdbparams %{name}-common %description server This package contains the tools needed to act as a FedFS server. RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals. A file system referral is like a symbolic link to another file system share, but it is not visible to applications. It behaves like an automounted directory where a new file system mount is done when an application first accesses that directory. The arguments of the mount operation are controlled by information returned by the file server. Today, file system referral mechanisms exist in several network file system protocols. FedFS provides its namespace features by leveraging referral mechanisms already built in to network file system protocols. Thus no change to file system protocols or clients is required. Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 3530. FedFS may support other network file system protocols in the future. %pre server getent group fedfs >/dev/null || groupadd -r fedfs getent passwd fedfs >/dev/null || \ useradd -r -g fedfs -d %{_sharedstatedir}/fedfs -s /sbin/nologin \ -c "FedFS Server User" fedfs exit 0 %files server %dir %{_sharedstatedir}/fedfs %{_sbindir}/resolve-junction %{_sbindir}/rpc.fedfsd %{_mandir}/man8/rpc.fedfsd.8.* %{_unitdir}/rpcfedfsd.service %package admin Summary: Utilities for administering FedFS domains Group: System Environment/Daemons Requires: %{name}-nsdbparams %{name}-common %description admin This package contains the tools needed to manage a FedFS domain. RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals. A file system referral is like a symbolic link to another file system share, but it is not visible to applications. It behaves like an automounted directory where a new file system mount is done when an application first accesses that directory. The arguments of the mount operation are controlled by information returned by the file server. Today, file system referral mechanisms exist in several network file system protocols. FedFS provides its namespace features by leveraging referral mechanisms already built in to network file system protocols. Thus no change to file system protocols or clients is required. Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 3530. FedFS may support other network file system protocols in the future. %files admin %{_sbindir}/fedfs-create-junction %{_sbindir}/fedfs-create-replication %{_sbindir}/fedfs-delete-junction %{_sbindir}/fedfs-delete-replication %{_sbindir}/fedfs-get-limited-nsdb-params %{_sbindir}/fedfs-get-nsdb-params %{_sbindir}/fedfs-lookup-junction %{_sbindir}/fedfs-lookup-replication %{_sbindir}/fedfs-null %{_sbindir}/fedfs-set-nsdb-params %{_sbindir}/nsdb-* %{_mandir}/man8/fedfs-create-junction.8.* %{_mandir}/man8/fedfs-create-replication.8.* %{_mandir}/man8/fedfs-delete-junction.8.* %{_mandir}/man8/fedfs-delete-replication.8.* %{_mandir}/man8/fedfs-get-limited-nsdb-params.8.* %{_mandir}/man8/fedfs-get-nsdb-params.8.* %{_mandir}/man8/fedfs-lookup-junction.8.* %{_mandir}/man8/fedfs-lookup-replication.8.* %{_mandir}/man8/fedfs-null.8.* %{_mandir}/man8/fedfs-set-nsdb-params.8.* %{_mandir}/man8/fedfs-set-nsdb-params.8.* %{_mandir}/man8/nsdb-* %changelog * Fri Nov 04 2011 Jeff Layton 0.7.2-1 - update to 0.7.2 release - add systemd service file for rpc.fedfsd * Fri Sep 09 2011 Jeff Layton 0.7.0-2 - incorporate review feedback by Volker Fröhlich * Tue Sep 06 2011 Jeff Layton 0.7.0-1 - Initial package build