diff --git a/.gitignore b/.gitignore index f5d986e..0cd980a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ x86_64 Makefile -/rpcbind-1.2.6.tar.bz2 -rpcbind-1.2.6/ +rpcbind-1.2.7/ +/rpcbind-1.2.7.tar.bz2 diff --git a/rpcbind-0.2.3-systemd-envfile.patch b/rpcbind-0.2.3-systemd-envfile.patch deleted file mode 100644 index 60da4c6..0000000 --- a/rpcbind-0.2.3-systemd-envfile.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up rpcbind-1.2.6/systemd/rpcbind.service.in.orig rpcbind-1.2.6/systemd/rpcbind.service.in ---- rpcbind-1.2.6/systemd/rpcbind.service.in.orig 2022-07-12 16:18:16.272919592 -0400 -+++ rpcbind-1.2.6/systemd/rpcbind.service.in 2022-07-12 16:19:14.153189756 -0400 -@@ -12,6 +12,7 @@ Wants=rpcbind.target - [Service] - Type=notify - # distro can provide a drop-in adding EnvironmentFile=-/??? if needed. -+EnvironmentFile=/etc/sysconfig/rpcbind - ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS @warmstarts_opt@ -f - - [Install] diff --git a/rpcbind-0.2.3-systemd-tmpfiles.patch b/rpcbind-0.2.3-systemd-tmpfiles.patch index f574fdf..20f57b1 100644 --- a/rpcbind-0.2.3-systemd-tmpfiles.patch +++ b/rpcbind-0.2.3-systemd-tmpfiles.patch @@ -1,7 +1,7 @@ -diff -up rpcbind-1.2.6/configure.ac.orig rpcbind-1.2.6/configure.ac ---- rpcbind-1.2.6/configure.ac.orig 2022-07-12 16:21:09.682728993 -0400 -+++ rpcbind-1.2.6/configure.ac 2022-07-12 16:21:41.137875815 -0400 -@@ -62,6 +62,17 @@ AC_ARG_WITH([systemdsystemunitdir], +diff -up rpcbind-1.2.7/configure.ac.orig rpcbind-1.2.7/configure.ac +--- rpcbind-1.2.7/configure.ac.orig 2024-07-25 11:55:23.000000000 -0400 ++++ rpcbind-1.2.7/configure.ac 2024-07-25 16:55:38.334208493 -0400 +@@ -73,6 +73,17 @@ AC_ARG_WITH([systemdsystemunitdir], fi AM_CONDITIONAL(SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) @@ -19,9 +19,9 @@ diff -up rpcbind-1.2.6/configure.ac.orig rpcbind-1.2.6/configure.ac AS_IF([test x$enable_libwrap = xyes], [ AC_CHECK_LIB([wrap], [hosts_access], , AC_MSG_ERROR([libwrap support requested but unable to find libwrap])) -diff -up rpcbind-1.2.6/Makefile.am.orig rpcbind-1.2.6/Makefile.am ---- rpcbind-1.2.6/Makefile.am.orig 2021-05-10 13:10:19.000000000 -0400 -+++ rpcbind-1.2.6/Makefile.am 2022-07-12 16:21:41.137875815 -0400 +diff -up rpcbind-1.2.7/Makefile.am.orig rpcbind-1.2.7/Makefile.am +--- rpcbind-1.2.7/Makefile.am.orig 2024-07-25 11:55:23.000000000 -0400 ++++ rpcbind-1.2.7/Makefile.am 2024-07-25 16:55:38.335208500 -0400 @@ -59,6 +59,9 @@ rpcbind_LDADD += $(SYSTEMD_LIBS) systemdsystemunit_DATA = \ systemd/rpcbind.service \ @@ -32,9 +32,9 @@ diff -up rpcbind-1.2.6/Makefile.am.orig rpcbind-1.2.6/Makefile.am endif rpcinfo_SOURCES = src/rpcinfo.c -diff -up rpcbind-1.2.6/systemd/rpcbind.conf.orig rpcbind-1.2.6/systemd/rpcbind.conf ---- rpcbind-1.2.6/systemd/rpcbind.conf.orig 2022-07-12 16:21:41.137875815 -0400 -+++ rpcbind-1.2.6/systemd/rpcbind.conf 2022-07-12 16:21:41.137875815 -0400 +diff -up rpcbind-1.2.7/systemd/rpcbind.conf.orig rpcbind-1.2.7/systemd/rpcbind.conf +--- rpcbind-1.2.7/systemd/rpcbind.conf.orig 2024-07-25 16:55:38.335208500 -0400 ++++ rpcbind-1.2.7/systemd/rpcbind.conf 2024-07-25 16:55:38.335208500 -0400 @@ -0,0 +1,2 @@ +#Type Path Mode UID GID Age Argument +D /run/rpcbind 0700 rpc rpc - - diff --git a/rpcbind-0.2.4-runstatdir.patch b/rpcbind-0.2.4-runstatdir.patch deleted file mode 100644 index 462cf39..0000000 --- a/rpcbind-0.2.4-runstatdir.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -up rpcbind-1.2.6/configure.ac.orig rpcbind-1.2.6/configure.ac ---- rpcbind-1.2.6/configure.ac.orig 2022-07-12 16:23:15.409315832 -0400 -+++ rpcbind-1.2.6/configure.ac 2022-07-12 16:23:33.242399069 -0400 -@@ -32,8 +32,8 @@ AC_ARG_ENABLE([rmtcalls], - AM_CONDITIONAL(RMTCALLS, test x$enable_rmtcalls = xyes) - - AC_ARG_WITH([statedir], -- AS_HELP_STRING([--with-statedir=ARG], [use ARG as state dir @<:@default=/var/run/rpcbind@:>@]) -- ,, [with_statedir=/var/run/rpcbind]) -+ AS_HELP_STRING([--with-statedir=ARG], [use ARG as state dir @<:@default=/run/rpcbind@:>@]) -+ ,, [with_statedir=/run/rpcbind]) - AC_SUBST([statedir], [$with_statedir]) - - AC_ARG_WITH([rpcuser], -diff -up rpcbind-1.2.6/configure.orig rpcbind-1.2.6/configure ---- rpcbind-1.2.6/configure.orig 2021-05-10 13:13:18.000000000 -0400 -+++ rpcbind-1.2.6/configure 2022-07-12 16:23:33.244399078 -0400 -@@ -1391,7 +1391,7 @@ Optional Features: - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) -- --with-statedir=ARG use ARG as state dir [default=/var/run/rpcbind] -+ --with-statedir=ARG use ARG as state dir [default=/run/rpcbind] - - --with-rpcuser=ARG use ARG for RPC [default=root] - -@@ -3901,7 +3901,7 @@ fi - if test "${with_statedir+set}" = set; then : - withval=$with_statedir; - else -- with_statedir=/var/run/rpcbind -+ with_statedir=/run/rpcbind - fi - - statedir=$with_statedir -diff -up rpcbind-1.2.6/man/rpcbind-fr.8.orig rpcbind-1.2.6/man/rpcbind-fr.8 ---- rpcbind-1.2.6/man/rpcbind-fr.8.orig 2021-05-10 13:10:19.000000000 -0400 -+++ rpcbind-1.2.6/man/rpcbind-fr.8 2022-07-12 16:23:33.244399078 -0400 -@@ -138,8 +138,8 @@ est redémarré. - .Xr rpcbind 3 , - .Xr rpcinfo 8 - .Sh FILES --.Bl -tag -width /var/run/rpcbind.sock -compact --.It Pa /var/run/rpcbind.sock -+.Bl -tag -width /run/rpcbind.sock -compact -+.It Pa /run/rpcbind.sock - .Sh TRADUCTION - Aurelien CHARBON (Sept 2003) - .El -diff -up rpcbind-1.2.6/src/rpcbind.c.orig rpcbind-1.2.6/src/rpcbind.c ---- rpcbind-1.2.6/src/rpcbind.c.orig 2022-07-12 16:23:15.407315823 -0400 -+++ rpcbind-1.2.6/src/rpcbind.c 2022-07-12 16:23:33.244399078 -0400 -@@ -105,7 +105,7 @@ char *nss_modules = "files"; - /* who to suid to if -s is given */ - #define RUN_AS "daemon" - --#define RPCBINDDLOCK "/var/run/rpcbind.lock" -+#define RPCBINDDLOCK RPCBIND_STATEDIR "/rpcbind.lock" - - int runasdaemon = 0; - int insecure = 0; diff --git a/rpcbind-0.2.4-systemd-service.patch b/rpcbind-0.2.4-systemd-service.patch deleted file mode 100644 index 0350020..0000000 --- a/rpcbind-0.2.4-systemd-service.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up rpcbind-0.2.4/systemd/rpcbind.service.in.orig rpcbind-0.2.4/systemd/rpcbind.service.in ---- rpcbind-0.2.4/systemd/rpcbind.service.in.orig 2017-12-16 15:46:12.896270101 -0500 -+++ rpcbind-0.2.4/systemd/rpcbind.service.in 2017-12-16 15:46:43.672027210 -0500 -@@ -7,7 +7,8 @@ RequiresMountsFor=@statedir@ - # Make sure we use the IP addresses listed for - # rpcbind.socket, no matter how this unit is started. - Requires=rpcbind.socket --Wants=rpcbind.target -+Wants=rpcbind.target systemd-tmpfiles-setup.service -+After=systemd-tmpfiles-setup.service - - [Service] - Type=notify diff --git a/rpcbind-1.2.7-rc3.patch b/rpcbind-1.2.7-rc3.patch new file mode 100644 index 0000000..3e11c03 --- /dev/null +++ b/rpcbind-1.2.7-rc3.patch @@ -0,0 +1,177 @@ +diff --git a/configure.ac b/configure.ac +index c0ef896..573e4fd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,6 +20,12 @@ AM_CONDITIONAL(LIBSETDEBUG, test x$lib_setdebug = xyes) + AC_ARG_ENABLE([warmstarts], + AS_HELP_STRING([--enable-warmstarts], [Enables Warm Starts @<:@default=no@:>@])) + AM_CONDITIONAL(WARMSTART, test x$enable_warmstarts = xyes) ++AS_IF([test x$enable_warmstarts = xyes], [ ++ warmstarts_opt=-w ++], [ ++ warmstarts_opt= ++]) ++AC_SUBST([warmstarts_opt], [$warmstarts_opt]) + + AC_ARG_ENABLE([rmtcalls], + AS_HELP_STRING([--enable-rmtcalls], [Enables Remote Calls @<:@default=no@:>@])) +@@ -44,6 +50,17 @@ AC_SUBST([nss_modules], [$with_nss_modules]) + + PKG_CHECK_MODULES([TIRPC], [libtirpc]) + ++CPPFLAGS=$TIRPC_CFLAGS ++AC_MSG_CHECKING([for abstract socket support in libtirpc]) ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ ++#include ++],[ ++char *path = _PATH_RPCBINDSOCK_ABSTRACT; ++])], [have_abstract=yes], [have_abstract=no]) ++CPPFLAGS= ++AC_MSG_RESULT([$have_abstract]) ++AM_CONDITIONAL(ABSTRACT, [ test "x$have_abstract" = "xyes" ]) ++ + PKG_PROG_PKG_CONFIG + AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), +@@ -70,4 +87,4 @@ AC_CHECK_HEADERS([nss.h]) + AC_SUBST([_sbindir]) + AC_CONFIG_COMMANDS_PRE([eval eval _sbindir=$sbindir]) + +-AC_OUTPUT([Makefile systemd/rpcbind.service]) ++AC_OUTPUT([Makefile systemd/rpcbind.service systemd/rpcbind.socket]) +diff --git a/src/rpcbind.c b/src/rpcbind.c +index 25d8a90..ecebe97 100644 +--- a/src/rpcbind.c ++++ b/src/rpcbind.c +@@ -552,8 +552,10 @@ init_transport(struct netconfig *nconf) + syslog(LOG_ERR, "cannot bind %s on %s: %m", + (hosts[nhostsbak] == NULL) ? "*" : + hosts[nhostsbak], nconf->nc_netid); +- if (res != NULL) ++ if (res != NULL) { + freeaddrinfo(res); ++ res = NULL; ++ } + continue; + } else + checkbind++; +diff --git a/src/rpcinfo.c b/src/rpcinfo.c +index 0e14f78..006057a 100644 +--- a/src/rpcinfo.c ++++ b/src/rpcinfo.c +@@ -311,29 +311,17 @@ main (int argc, char **argv) + return (0); + } + ++/* Evaluate to actual length of the `sockaddr_un' structure, whether ++ * abstract or not. ++ */ ++#include ++#define SUN_LEN_A(ptr) (offsetof(struct sockaddr_un, sun_path) \ ++ + 1 + strlen((ptr)->sun_path + 1)) ++ + static CLIENT * + local_rpcb (rpcprog_t prog, rpcvers_t vers) + { +-#if 0 +- void *localhandle; +- struct netconfig *nconf; + CLIENT *clnt; +- +- localhandle = setnetconfig(); +- while ((nconf = getnetconfig(localhandle)) != NULL) { +- if (nconf->nc_protofmly != NULL && +- strcmp(nconf->nc_protofmly, NC_LOOPBACK) == 0) +- break; +- } +- if (nconf == NULL) { +- warnx("getnetconfig: %s", nc_sperror()); +- return (NULL); +- } +- +- clnt = clnt_tp_create (/* "localhost"*/ NULL, prog, vers, nconf); +- endnetconfig(localhandle); +- return clnt; +-#else + struct netbuf nbuf; + struct sockaddr_un sun; + int sock; +@@ -344,13 +332,26 @@ local_rpcb (rpcprog_t prog, rpcvers_t vers) + return NULL; + + sun.sun_family = AF_LOCAL; ++ ++#ifdef _PATH_RPCBINDSOCK_ABSTRACT ++ memcpy(sun.sun_path, _PATH_RPCBINDSOCK_ABSTRACT, ++ sizeof(_PATH_RPCBINDSOCK_ABSTRACT)); ++ nbuf.len = SUN_LEN_A (&sun); ++ nbuf.maxlen = sizeof (struct sockaddr_un); ++ nbuf.buf = &sun; ++ ++ clnt = clnt_vc_create (sock, &nbuf, prog, vers, 0, 0); ++ if (clnt) ++ return clnt; ++#endif ++ + strcpy (sun.sun_path, _PATH_RPCBINDSOCK); + nbuf.len = SUN_LEN (&sun); + nbuf.maxlen = sizeof (struct sockaddr_un); + nbuf.buf = &sun; + +- return clnt_vc_create (sock, &nbuf, prog, vers, 0, 0); +-#endif ++ clnt = clnt_vc_create (sock, &nbuf, prog, vers, 0, 0); ++ return clnt; + } + + #ifdef PORTMAP +diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in +index 7b1c74b..c892ca8 100644 +--- a/systemd/rpcbind.service.in ++++ b/systemd/rpcbind.service.in +@@ -12,7 +12,7 @@ Wants=rpcbind.target + [Service] + Type=notify + # distro can provide a drop-in adding EnvironmentFile=-/??? if needed. +-ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS -w -f ++ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS @warmstarts_opt@ -f + + [Install] + WantedBy=multi-user.target +diff --git a/systemd/rpcbind.socket b/systemd/rpcbind.socket +index 3b1a936..685341c 100644 +--- a/systemd/rpcbind.socket ++++ b/systemd/rpcbind.socket +@@ -6,6 +6,7 @@ Before=rpcbind.target + + [Socket] + ListenStream=/run/rpcbind.sock ++#ListenStream=@/run/rpcbind.sock + + # RPC netconfig can't handle ipv6/ipv4 dual sockets + BindIPv6Only=ipv6-only +diff --git a/systemd/rpcbind.socket.in b/systemd/rpcbind.socket.in +new file mode 100644 +index 0000000..5dd09a1 +--- /dev/null ++++ b/systemd/rpcbind.socket.in +@@ -0,0 +1,19 @@ ++[Unit] ++Description=RPCbind Server Activation Socket ++DefaultDependencies=no ++Wants=rpcbind.target ++Before=rpcbind.target ++ ++[Socket] ++ListenStream=/run/rpcbind.sock ++@ABSTRACT_TRUE@ListenStream=@/run/rpcbind.sock ++ ++# RPC netconfig can't handle ipv6/ipv4 dual sockets ++BindIPv6Only=ipv6-only ++ListenStream=0.0.0.0:111 ++ListenDatagram=0.0.0.0:111 ++ListenStream=[::]:111 ++ListenDatagram=[::]:111 ++ ++[Install] ++WantedBy=sockets.target diff --git a/rpcbind-1.2.8-rc1.patch b/rpcbind-1.2.8-rc1.patch new file mode 100644 index 0000000..c22b471 --- /dev/null +++ b/rpcbind-1.2.8-rc1.patch @@ -0,0 +1,63 @@ +diff --git a/man/rpcbind.8 b/man/rpcbind.8 +index fbf0ace..cdcdcfd 100644 +--- a/man/rpcbind.8 ++++ b/man/rpcbind.8 +@@ -150,6 +150,14 @@ starts up. The state file is created when + .Nm + terminates. + .El ++.Sh FILES ++The ++.Nm ++utility tries to load configuration file in following order: ++.Bd -literal ++.Pa /etc/rpcbind.conf ++.Pa /etc/default/rpcbind ++.Pa /etc/sysconfig/rpcbind + .Sh NOTES + All RPC servers must be restarted if + .Nm +diff --git a/src/rpcbind.c b/src/rpcbind.c +index ecebe97..9887b82 100644 +--- a/src/rpcbind.c ++++ b/src/rpcbind.c +@@ -105,7 +105,7 @@ char *nss_modules = "files"; + /* who to suid to if -s is given */ + #define RUN_AS "daemon" + +-#define RPCBINDDLOCK "/var/run/rpcbind.lock" ++#define RPCBINDDLOCK "/run/rpcbind.lock" + + int runasdaemon = 0; + int insecure = 0; +diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in +index c892ca8..771b944 100644 +--- a/systemd/rpcbind.service.in ++++ b/systemd/rpcbind.service.in +@@ -7,11 +7,25 @@ RequiresMountsFor=@statedir@ + # Make sure we use the IP addresses listed for + # rpcbind.socket, no matter how this unit is started. + Requires=rpcbind.socket +-Wants=rpcbind.target ++Wants=rpcbind.target systemd-tmpfiles-setup.service ++After=systemd-tmpfiles-setup.service + + [Service] ++ProtectSystem=full ++ProtectHome=true ++PrivateDevices=true ++ProtectHostname=true ++ProtectClock=true ++ProtectKernelTunables=true ++ProtectKernelModules=true ++ProtectKernelLogs=true ++ProtectControlGroups=true ++RestrictRealtime=true + Type=notify + # distro can provide a drop-in adding EnvironmentFile=-/??? if needed. ++EnvironmentFile=-/etc/rpcbind.conf ++EnvironmentFile=-/etc/default/rpcbind ++EnvironmentFile=-/etc/sysconfig/rpcbind + ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS @warmstarts_opt@ -f + + [Install] diff --git a/rpcbind.spec b/rpcbind.spec index 7f240b4..8f19b38 100644 --- a/rpcbind.spec +++ b/rpcbind.spec @@ -3,8 +3,8 @@ %global rpcbind_state_dir %{_rundir}/rpcbind Name: rpcbind -Version: 1.2.6 -Release: 4.rc2%{?dist}.1 +Version: 1.2.7 +Release: 1.rc1%{?dist} Summary: Universal Addresses to RPC Program Number Mapper License: BSD URL: http://nfsv4.bullopensource.org @@ -13,6 +13,7 @@ Source0: http://downloads.sourceforge.net/rpcbind/%{name}-%{version}.tar. Source1: %{name}.sysconfig Requires: glibc-common setup +Requires: libtirpc >= 1.3.5 Conflicts: man-pages < 2.43-12 BuildRequires: make BuildRequires: automake, autoconf, libtool, systemd, systemd-devel @@ -22,13 +23,10 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd coreutils -Patch001: rpcbind-1.2.7-rc2.patch +Patch001: rpcbind-1.2.8-rc1.patch -Patch100: rpcbind-0.2.3-systemd-envfile.patch -Patch101: rpcbind-0.2.3-systemd-tmpfiles.patch -Patch102: rpcbind-0.2.4-runstatdir.patch -Patch103: rpcbind-0.2.4-systemd-service.patch -Patch104: rpcbind-0.2.4-systemd-rundir.patch +Patch100: rpcbind-0.2.3-systemd-tmpfiles.patch +Patch101: rpcbind-0.2.4-systemd-rundir.patch Provides: portmap = %{version}-%{release} Obsoletes: portmap <= 4.0-65.3 @@ -39,15 +37,7 @@ universal addresses. It must be running on the host to be able to make RPC calls on a server on that machine. %prep -%setup -q - -%patch001 -p1 - -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 +%autosetup -p1 %build autoreconf -fisv @@ -124,6 +114,18 @@ fi %attr(0700, %{rpcbind_user_group}, %{rpcbind_user_group}) %dir %{rpcbind_state_dir} %changelog +* Mon Sep 9 2024 Steve Dickson 1.2.8-rc1 +- Updated to latest upstream RC release: rpcbind-1_2_8-rc1 + +* Tue Aug 13 2024 Steve Dickson 1.2.7-1 +- Added Requirement for libtirpc (bz 2304327) + +* Thu Jul 25 2024 Steve Dickson 1.2.7-0 +- Updated to latest upstream release: rpcbind-1_2_7 + +* Mon Mar 18 2024 Steve Dickson 1.2.6-4.rc3 +- Updated to latest upstream RC release: rpcbind-1_2_7-rc3 + * Fri Jul 21 2023 Fedora Release Engineering - 1.2.6-4.rc2.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 638c1b1..81a9c45 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rpcbind-1.2.6.tar.bz2) = fb89c61be4c533fe2e6057749d97079a2d1c9fac0d35d6be1a159a0edbf86092b3fc121f19fa920e75aac5ecdd3f59f5978e6401d5cad16cd438c977736206a7 +SHA512 (rpcbind-1.2.7.tar.bz2) = ca1517bdab86221d13c645042cc31b25b4d2b574d63ebaa20da4f5392b611cf58811f267214293e953f504d364e5daaa5875eab7aa68a04b89e68fd5508e3926