# # spec file for package rpcbind # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: rpcbind Version: 0.2.1_git1b0fdf5 Release: 0 Summary: Transport independent RPC portmapper License: BSD-4-Clause Group: Productivity/Networking/System Url: http://git.infradead.org/users/steved/rpcbind.git Source: %{name}-%{version}.tar.bz2 Source2: sysconfig.rpcbind Source3: rpcbind.xml Source4: pmap_set.c BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: libtirpc-devel BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: tcpd-devel PreReq: %fillup_prereq Patch0: 0001-Silence-a-warning-about-setgroups-being-implicitly-d.patch Patch1: 0002-Remove-obsolete-function-in6_fillscopeid.patch Patch2: 0003-configure-fix-the-case-when-with-rpcuser-is-not-give.patch Patch3: 0004-In-init_transport-move-creation-of-COTS-sockets-clos.patch Patch4: 0005-The-use-of-AI_NUMERICHOST-in-init_transport-is-broke.patch Patch5: 0006-First-part-of-init_transport-refactoring.patch Patch6: 0007-init_transport-move-the-registration-code-into-a-sep.patch Patch7: 0008-Fix-the-behavior-when-specifying-the-h-option.patch Patch8: 0009-Clean-up-the-way-we-handle-the-h-option-in-init_tran.patch Patch9: 0010-Support-systemd-activation.patch Patch10: 0011-socket-activation-Fix-rpcbind.service-to-use-separat.patch Patch11: 0012-When-using-systemd-redirect-syslog-calls-to-the-syst.patch Patch12: 0013-When-using-systemd-activation-make-rpcbind-notify-sy.patch Patch13: 0014-Notify-systemd-unconditionally.patch Patch14: 0015-Pull-the-sysconfig-file-into-rpcbind.service-and-use.patch Patch15: 0016-configure-check-for-nss.h.patch Patch16: 0018-rpcinfo-ip_ping-clean-up-client-ping-create-destroy.patch Patch17: 0019-rpcinfo-introduce-new-helper-function-ip_getclient.patch Patch18: 0020-rpcinfo-make-t-u-options-support-IPv6-addresses-too.patch Patch19: 0021-rpcinfo-remove-obsolete-function-clnt_com_create.patch Patch20: 0022-Make-rpcinfo-p-support-IPv6-addresses-too.patch Patch21: 0023-rpcinfo-remove-obsolete-function-get_inet_address.patch %define statefile /var/lib/portmap.state BuildRequires: pkgconfig(systemd) %{?systemd_requires} Provides: portmap %description Rpcbind is a replacement for portmap. Whereas portmap supports only UDP and TCP transports over INET (IPv4), rpcbind can be configured to work on various transports supported by the TI-RPC. This includes TCP and UDP over IPv6. Moreover, rpcbind provides additional functions in regards to portmap. Authors: -------- Gilles Quillard Vincent ROQUETA %prep %setup -q cp %{SOURCE4} . %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %build autoreconf -fiv export CFLAGS="$RPM_OPT_FLAGS -fpie" export LDFLAGS="-pie -Wl,-z,relro,-z,now" %configure \ --bindir=/sbin \ --enable-libwrap \ --enable-warmstarts \ --enable-debug \ --with-statedir=%{_localstatedir}/lib/rpcbind \ --with-rpcuser=rpc %{__make} %{?jobs:-j%jobs} %{__cc} -pie -fpie -fwhole-program -Wl,-z,relro,-z,now %{optflags} pmap_set.c -o pmap_set %install make install DESTDIR=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%_localstatedir/lib/rpcbind # fillup template mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates install -m 644 %{SOURCE2} $RPM_BUILD_ROOT/var/adm/fillup-templates/ mkdir -p $RPM_BUILD_ROOT%_datadir/omc/svcinfo.d install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%_datadir/omc/svcinfo.d/ # install -m 755 pmap_set $RPM_BUILD_ROOT/sbin/pmap_set2 %clean rm -rf $RPM_BUILD_ROOT %pre %service_add_pre %{name}.service %{name}.socket # Add "rpc" user getent passwd rpc >/dev/null || useradd -r -g nogroup -d /var/lib/emptry -s /sbin/nologin -c "user for rpcbind" rpc exit 0 %preun %service_del_preun %{name}.service %{name}.socket %post %{fillup_only -n rpcbind} %service_add_post %{name}.service %{name}.socket %postun %service_del_postun %{name}.service %{name}.socket %files %defattr(-,root,root) %doc AUTHORS ChangeLog COPYING NEWS README /sbin/pmap_set2 /sbin/rpcbind /sbin/rpcinfo %{_mandir}/*/* %{_localstatedir}/lib/rpcbind /var/adm/fillup-templates/sysconfig.rpcbind %{_datadir}/omc/svcinfo.d/rpcbind.xml %{_unitdir}/%{name}.service %{_unitdir}/%{name}.socket %changelog