Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] nfs-utils: update to 2.7.1
@ 2024-09-02 16:52 slymattz
  2024-09-02 17:12 ` [PR PATCH] [Updated] " slymattz
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: slymattz @ 2024-09-02 16:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1307 bytes --]

There is a new pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

./configure complained about the lack of libxml2 so I added libxml2-devel to makedepends

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc



A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 2895 bytes --]

From bf07f8add356c6d0942c8965f71ad1acce440025 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH] nfs-utils: update to 2.7.1

---
 srcpkgs/nfs-utils/patches/musl-unistd.patch | 20 +++++++++-----------
 srcpkgs/nfs-utils/template                  |  7 ++++---
 2 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
index 8a481f8d02f652..e9c09f3388a0af 100644
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ b/srcpkgs/nfs-utils/patches/musl-unistd.patch
@@ -1,22 +1,20 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
+--- a/support/reexport/fsidd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/support/reexport/fsidd.c	2024-09-02 15:33:54.918890827 +0200
 @@ -7,6 +7,7 @@
  #include <dlfcn.h>
  #endif
  #include <event2/event.h>
 +#include <unistd.h>
+ #include <sys/un.h>
+ #include <unistd.h>
  
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
+--- a/support/reexport/reexport.c	2024-08-20 14:30:33.000000000 +0200
++++ b/support/reexport/reexport.c	2024-09-02 15:34:09.766167846 +0200
+@@ -9,6 +9,7 @@
  #include <sys/vfs.h>
+ #include <unistd.h>
  #include <errno.h>
 +#include <unistd.h>
+ #include <stddef.h>
  
  #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..e56809e9f76393 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,6 +1,6 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
@@ -13,13 +13,14 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
@ 2024-09-02 17:12 ` slymattz
  2024-09-05 13:29 ` slymattz
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-02 17:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1312 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

./configure complained about the lack of libxml2 so I added libxml2-devel to makedepends

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc



A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 2557 bytes --]

From 9a2e9e469b5eeae1ef66c37b461b1fe13546b83a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH] nfs-utils: update to 2.7.1

---
 srcpkgs/nfs-utils/patches/musl-unistd.patch | 22 ---------------------
 srcpkgs/nfs-utils/template                  |  7 ++++---
 2 files changed, 4 insertions(+), 25 deletions(-)
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..e56809e9f76393 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,6 +1,6 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
@@ -13,13 +13,14 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
  2024-09-02 17:12 ` [PR PATCH] [Updated] " slymattz
@ 2024-09-05 13:29 ` slymattz
  2024-09-07 14:48 ` slymattz
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-05 13:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

./configure complained about the lack of libxml2 so I added libxml2-devel to makedepends

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc

musl is currently broken. I haven't found a patch that would address this issue yet.


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 4389 bytes --]

From 9a2e9e469b5eeae1ef66c37b461b1fe13546b83a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 srcpkgs/nfs-utils/patches/musl-unistd.patch | 22 ---------------------
 srcpkgs/nfs-utils/template                  |  7 ++++---
 2 files changed, 4 insertions(+), 25 deletions(-)
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..e56809e9f76393 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,6 +1,6 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
@@ -13,13 +13,14 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"

From 5e906008f6138f54399477bcbba53368a06410fc Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From 3112242ae694cd749b1245c8a298d19d2121f064 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
  2024-09-02 17:12 ` [PR PATCH] [Updated] " slymattz
  2024-09-05 13:29 ` slymattz
@ 2024-09-07 14:48 ` slymattz
  2024-09-07 16:08 ` slymattz
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-07 14:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

./configure complained about the lack of libxml2 so I added libxml2-devel to makedepends

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc

musl is currently broken. I haven't found a patch that would address this issue yet.


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 4999 bytes --]

From d956c428ab703176d1bec83af6f62395b11e876b Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 srcpkgs/nfs-utils/patches/musl-unistd.patch | 22 ---------------------
 srcpkgs/nfs-utils/template                  | 17 +++++++++++++---
 2 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..e3d8d626286812 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,6 +1,6 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
@@ -13,13 +13,14 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"
@@ -34,6 +35,16 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
 fi
 
+post_patch() {
+	# https://patchwork.kernel.org/project/linux-nfs/patch/1407306306-29796-5-git-send-email-ncopa@alpinelinux.org/
+	vsed -i \
+		-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/include/junction.h
+	vsed -i \
+		-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/locations.c
+	vsed -i \
+		-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/path.c
+}
+
 pre_configure() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)

From 4eace40ac676204763b80a00951d52d4978d6787 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From 2ffab494e08352cea5f1bde9a2d5a73297c631a9 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (2 preceding siblings ...)
  2024-09-07 14:48 ` slymattz
@ 2024-09-07 16:08 ` slymattz
  2024-09-07 16:45 ` slymattz
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-07 16:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

./configure complained about the lack of libxml2 so I added libxml2-devel to makedepends

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc

musl is currently broken. I haven't found a patch that would address this issue yet.


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 12642 bytes --]

From 25aa333ccebb14f369e3870df44930223c7c86ac Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 ...sl-change_format_specifier_in_stderr.patch | 194 ++++++++++++++++++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 srcpkgs/nfs-utils/template                    |  17 +-
 3 files changed, 208 insertions(+), 25 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
new file mode 100644
index 00000000000000..520a087d83e7c0
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
@@ -0,0 +1,194 @@
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-07 17:45:50.846082081 +0200
+@@ -170,8 +170,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%p): lifetime_rec=%s acceptor=%.*s\n",
++			(void*)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +197,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%p): Failed to write downcall!\n", (void*)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +210,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%p): uid %d err %d\n", (void*)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +372,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%p): creating %s client for server %s\n",
++		(void*)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +416,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%p): creating context with server %s\n",
++		(void*)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +553,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +602,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +943,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%p): created thread id 0x%p\n",
++		(void*)tid, (void*)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1008,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%p): '%s' (%s)\n", __func__, (void*)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-07 17:57:36.008484150 +0200
+@@ -535,8 +535,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%p cancelled successfully\n",
++						(void*)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +552,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%p timed out\n",
++							(void*)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%p running for %lld seconds\n",
++								(void*)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +580,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%p returned %d (%s)!\n",
++					(void*)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-07 18:01:47.391261843 +0200
+@@ -426,8 +426,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%p): Credentials in CC '%s' are good until %s",
++			 __func__, (void*)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +527,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%p): principal '%s' ccache:'%s'\n",
++		__func__, (void*)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +667,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%p): getaddrinfo(%s) failed: %s\n",
++			 __func__, (void*)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +677,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%p): inhost '%s' different than outhost '%s'\n",
++			 __func__, (void*)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1021,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%p): Success getting keytab entry for '%s'\n", (void*)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..e3d8d626286812 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,6 +1,6 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
@@ -13,13 +13,14 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"
@@ -34,6 +35,16 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
 fi
 
+post_patch() {
+	# https://patchwork.kernel.org/project/linux-nfs/patch/1407306306-29796-5-git-send-email-ncopa@alpinelinux.org/
+	vsed -i \
+		-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/include/junction.h
+	vsed -i \
+		-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/locations.c
+	vsed -i \
+		-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/path.c
+}
+
 pre_configure() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)

From b4060621026001d2add73d80b577293606afc0dd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From e8a38b50e2417ce4db1ddcd3811f1d8bda462055 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (3 preceding siblings ...)
  2024-09-07 16:08 ` slymattz
@ 2024-09-07 16:45 ` slymattz
  2024-09-07 17:10 ` slymattz
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-07 16:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

./configure complained about the lack of libxml2 so I added libxml2-devel to makedepends

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc

musl is currently broken. I haven't found a patch that would address this issue yet.


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 12367 bytes --]

From 7470c1125332a8dad714d4a40f8b04f7bc5b70bb Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 ...sl-change_format_specifier_in_stderr.patch | 194 ++++++++++++++++++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 srcpkgs/nfs-utils/template                    |   9 +-
 3 files changed, 199 insertions(+), 26 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
new file mode 100644
index 00000000000000..520a087d83e7c0
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
@@ -0,0 +1,194 @@
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-07 17:45:50.846082081 +0200
+@@ -170,8 +170,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%p): lifetime_rec=%s acceptor=%.*s\n",
++			(void*)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +197,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%p): Failed to write downcall!\n", (void*)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +210,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%p): uid %d err %d\n", (void*)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +372,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%p): creating %s client for server %s\n",
++		(void*)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +416,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%p): creating context with server %s\n",
++		(void*)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +553,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +602,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +943,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%p): created thread id 0x%p\n",
++		(void*)tid, (void*)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1008,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%p): '%s' (%s)\n", __func__, (void*)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-07 17:57:36.008484150 +0200
+@@ -535,8 +535,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%p cancelled successfully\n",
++						(void*)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +552,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%p timed out\n",
++							(void*)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%p running for %lld seconds\n",
++								(void*)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +580,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%p returned %d (%s)!\n",
++					(void*)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-07 18:01:47.391261843 +0200
+@@ -426,8 +426,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%p): Credentials in CC '%s' are good until %s",
++			 __func__, (void*)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +527,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%p): principal '%s' ccache:'%s'\n",
++		__func__, (void*)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +667,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%p): getaddrinfo(%s) failed: %s\n",
++			 __func__, (void*)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +677,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%p): inhost '%s' different than outhost '%s'\n",
++			 __func__, (void*)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1021,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%p): Success getting keytab entry for '%s'\n", (void*)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..b00a5c81ef535d 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,25 +1,26 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
  --with-statedir=/var/lib/nfs --enable-libmount-mount --enable-svcgss
  --enable-uuid --enable-ipv6 --without-tcp-wrappers
  --with-tirpcinclude=$XBPS_CROSS_BASE/usr/include/tirpc
- --with-krb5=$XBPS_CROSS_BASE --disable-static"
+ --with-krb5=$XBPS_CROSS_BASE --disable-static --disable-junction"
 short_desc="Network File System utilities"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"

From defaec25bc6391339fb8434a9dbf1fb4cdab308c Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From 53ccaf573a0eb8cab48d1dc00852953c2310377b Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (4 preceding siblings ...)
  2024-09-07 16:45 ` slymattz
@ 2024-09-07 17:10 ` slymattz
  2024-09-07 17:17 ` slymattz
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-07 17:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

./configure complained about the lack of libxml2 so I added libxml2-devel to makedepends

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc

musl is currently broken. I haven't found a patch that would address this issue yet.


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 12904 bytes --]

From 658c7bba4040e8b7a25e4fb21bfd522dc98860e1 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 ...sl-change_format_specifier_in_stderr.patch | 194 ++++++++++++++++++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 srcpkgs/nfs-utils/patches/series              |   2 +
 srcpkgs/nfs-utils/template                    |  16 +-
 4 files changed, 209 insertions(+), 25 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch
 create mode 100644 srcpkgs/nfs-utils/patches/series

diff --git a/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
new file mode 100644
index 00000000000000..520a087d83e7c0
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
@@ -0,0 +1,194 @@
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-07 17:45:50.846082081 +0200
+@@ -170,8 +170,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%p): lifetime_rec=%s acceptor=%.*s\n",
++			(void*)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +197,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%p): Failed to write downcall!\n", (void*)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +210,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%p): uid %d err %d\n", (void*)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +372,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%p): creating %s client for server %s\n",
++		(void*)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +416,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%p): creating context with server %s\n",
++		(void*)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +553,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +602,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +943,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%p): created thread id 0x%p\n",
++		(void*)tid, (void*)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1008,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%p): '%s' (%s)\n", __func__, (void*)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-07 17:57:36.008484150 +0200
+@@ -535,8 +535,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%p cancelled successfully\n",
++						(void*)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +552,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%p timed out\n",
++							(void*)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%p running for %lld seconds\n",
++								(void*)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +580,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%p returned %d (%s)!\n",
++					(void*)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-07 18:01:47.391261843 +0200
+@@ -426,8 +426,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%p): Credentials in CC '%s' are good until %s",
++			 __func__, (void*)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +527,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%p): principal '%s' ccache:'%s'\n",
++		__func__, (void*)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +667,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%p): getaddrinfo(%s) failed: %s\n",
++			 __func__, (void*)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +677,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%p): inhost '%s' different than outhost '%s'\n",
++			 __func__, (void*)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1021,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%p): Success getting keytab entry for '%s'\n", (void*)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/patches/series b/srcpkgs/nfs-utils/patches/series
new file mode 100644
index 00000000000000..92beb190a57951
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/series
@@ -0,0 +1,2 @@
+musl-getservbyport.patch
+musl-svcgssd-sysconf.patch
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..6fa183a62bb97b 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,6 +1,6 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
@@ -13,13 +13,14 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"
@@ -32,8 +33,17 @@ make_dirs="
 
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
+	configure_args=+" --disable-junction" # currently broken on musl; version 2.7.1 started to enable junction by default
 fi
 
+post_patch() {
+	case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+		patch -Np1 -i "$PATCHESDIR/musl-change_format_specifier_in_stderr.patch" # this patch breaks glibc compilation
+		;;
+	esac
+}
+
 pre_configure() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)

From 575d99f2776a2c69bb7a4ab8a1d3c6d1259f2445 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From 3776891cb6a025f0965f4fcb38e153ac35dc4657 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (5 preceding siblings ...)
  2024-09-07 17:10 ` slymattz
@ 2024-09-07 17:17 ` slymattz
  2024-09-07 19:05 ` slymattz
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-07 17:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

./configure complained about the lack of libxml2 so I added libxml2-devel to makedepends

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc

musl is currently broken. I haven't found a patch that would address this issue yet.


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 12299 bytes --]

From 904331e0cab7d887e080202cfa930d494b6f7b56 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 ...sl-change_format_specifier_in_stderr.patch | 194 ++++++++++++++++++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 srcpkgs/nfs-utils/template                    |   8 +-
 3 files changed, 199 insertions(+), 25 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
new file mode 100644
index 00000000000000..520a087d83e7c0
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
@@ -0,0 +1,194 @@
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-07 17:45:50.846082081 +0200
+@@ -170,8 +170,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%p): lifetime_rec=%s acceptor=%.*s\n",
++			(void*)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +197,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%p): Failed to write downcall!\n", (void*)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +210,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%p): uid %d err %d\n", (void*)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +372,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%p): creating %s client for server %s\n",
++		(void*)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +416,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%p): creating context with server %s\n",
++		(void*)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +553,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +602,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +943,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%p): created thread id 0x%p\n",
++		(void*)tid, (void*)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1008,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%p): '%s' (%s)\n", __func__, (void*)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-07 17:57:36.008484150 +0200
+@@ -535,8 +535,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%p cancelled successfully\n",
++						(void*)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +552,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%p timed out\n",
++							(void*)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%p running for %lld seconds\n",
++								(void*)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +580,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%p returned %d (%s)!\n",
++					(void*)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-07 18:01:47.391261843 +0200
+@@ -426,8 +426,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%p): Credentials in CC '%s' are good until %s",
++			 __func__, (void*)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +527,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%p): principal '%s' ccache:'%s'\n",
++		__func__, (void*)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +667,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%p): getaddrinfo(%s) failed: %s\n",
++			 __func__, (void*)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +677,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%p): inhost '%s' different than outhost '%s'\n",
++			 __func__, (void*)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1021,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%p): Success getting keytab entry for '%s'\n", (void*)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..daf1d1a2a94b28 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,6 +1,6 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
@@ -13,13 +13,14 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"
@@ -32,6 +33,7 @@ make_dirs="
 
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
+	configure_args=+" --disable-junction" # currently broken on musl; version 2.7.1 started to enable junction by default
 fi
 
 pre_configure() {

From 076ed51cf3b679bdaf7e3a9f3c9e9bdf5ad62536 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From a5ed7b361df14d3a28ee8a5ed2313ac78f27a614 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (6 preceding siblings ...)
  2024-09-07 17:17 ` slymattz
@ 2024-09-07 19:05 ` slymattz
  2024-09-07 19:21 ` slymattz
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-07 19:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1218 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 14005 bytes --]

From 5bdeaa4192c2d4da51eb7c199a09022bba5f4c2d Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 ...sl-change_format_specifier_in_stderr.patch | 194 ++++++++++++++++++
 .../nfs-utils/patches/musl-fix_junction.patch |  17 ++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 srcpkgs/nfs-utils/template                    |  18 +-
 4 files changed, 225 insertions(+), 26 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
 create mode 100644 srcpkgs/nfs-utils/patches/musl-fix_junction.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
new file mode 100644
index 00000000000000..520a087d83e7c0
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
@@ -0,0 +1,194 @@
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-07 17:45:50.846082081 +0200
+@@ -170,8 +170,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%p): lifetime_rec=%s acceptor=%.*s\n",
++			(void*)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +197,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%p): Failed to write downcall!\n", (void*)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +210,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%p): uid %d err %d\n", (void*)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +372,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%p): creating %s client for server %s\n",
++		(void*)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +416,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%p): creating context with server %s\n",
++		(void*)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +553,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +602,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +943,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%p): created thread id 0x%p\n",
++		(void*)tid, (void*)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1008,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%p): '%s' (%s)\n", __func__, (void*)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-07 17:57:36.008484150 +0200
+@@ -535,8 +535,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%p cancelled successfully\n",
++						(void*)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +552,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%p timed out\n",
++							(void*)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%p running for %lld seconds\n",
++								(void*)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +580,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%p returned %d (%s)!\n",
++					(void*)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-07 18:01:47.391261843 +0200
+@@ -426,8 +426,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%p): Credentials in CC '%s' are good until %s",
++			 __func__, (void*)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +527,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%p): principal '%s' ccache:'%s'\n",
++		__func__, (void*)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +667,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%p): getaddrinfo(%s) failed: %s\n",
++			 __func__, (void*)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +677,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%p): inhost '%s' different than outhost '%s'\n",
++			 __func__, (void*)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1021,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%p): Success getting keytab entry for '%s'\n", (void*)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-fix_junction.patch b/srcpkgs/nfs-utils/patches/musl-fix_junction.patch
new file mode 100644
index 00000000000000..017bd8a57fa4aa
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-fix_junction.patch
@@ -0,0 +1,17 @@
+--- a/support/include/junction.h	2024-08-20 14:30:33.000000000 +0200
++++ b/support/include/junction.h	2024-09-07 20:48:12.495487492 +0200
+@@ -28,6 +28,14 @@
+ 
+ #include <stdint.h>
+ 
++#ifndef ALLPERMS
++#define ALLPERMS (S_IRUSR | S_IWUSR | S_IXUSR | \
++S_IRGRP | S_IWGRP | S_IXGRP | \
++S_IROTH | S_IWOTH | S_IXOTH)
++#endif
++
++#include <limits.h>
++
+ /*
+  * The libjunction APIs use the status codes from the FedFS ADMIN
+  * protocol, which includes non-errno codes like FEDFS_ERR_NOTJUNCT.
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..617eff60a60f59 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,25 +1,26 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
  --with-statedir=/var/lib/nfs --enable-libmount-mount --enable-svcgss
  --enable-uuid --enable-ipv6 --without-tcp-wrappers
  --with-tirpcinclude=$XBPS_CROSS_BASE/usr/include/tirpc
- --with-krb5=$XBPS_CROSS_BASE --disable-static"
+ --with-krb5=$XBPS_CROSS_BASE --disable-static --enable-junction"
 short_desc="Network File System utilities"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"
@@ -38,6 +39,15 @@ pre_configure() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)
 		vsed -i -e 's/__res_querydomain/res_querydomain/g' configure*
+		# https://patchwork.kernel.org/project/linux-nfs/patch/1407306306-29796-5-git-send-email-ncopa@alpinelinux.org/
+		vsed -i \
+			-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/include/junction.h
+		vsed -i \
+			-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/locations.c
+		vsed -i \
+			-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/path.c
+		vsed -i \
+			-e 's|strchrnul|strchr|g' support/junction/path.c # although musl defines strchrnul in string.h, it does so after #ifdef _GNU_SOURCE (musl v. 1.1.24)
 		;;
 	esac
 }

From 9e71835f4f1abbac5b192b20bde90d90bdef0950 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From 9bdaa2f17afb12d7b3048dc1d9274c8646337a25 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (7 preceding siblings ...)
  2024-09-07 19:05 ` slymattz
@ 2024-09-07 19:21 ` slymattz
  2024-09-07 19:37 ` slymattz
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-07 19:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1218 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 14079 bytes --]

From c0efec75869a5c85d6a3acb7cd6c7a8aae205652 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 ...sl-change_format_specifier_in_stderr.patch | 194 ++++++++++++++++++
 .../nfs-utils/patches/musl-fix_junction.patch |  19 ++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 srcpkgs/nfs-utils/template                    |  18 +-
 4 files changed, 227 insertions(+), 26 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
 create mode 100644 srcpkgs/nfs-utils/patches/musl-fix_junction.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
new file mode 100644
index 00000000000000..520a087d83e7c0
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
@@ -0,0 +1,194 @@
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-07 17:45:50.846082081 +0200
+@@ -170,8 +170,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%p): lifetime_rec=%s acceptor=%.*s\n",
++			(void*)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +197,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%p): Failed to write downcall!\n", (void*)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +210,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%p): uid %d err %d\n", (void*)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +372,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%p): creating %s client for server %s\n",
++		(void*)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +416,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%p): creating context with server %s\n",
++		(void*)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +553,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +602,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +943,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%p): created thread id 0x%p\n",
++		(void*)tid, (void*)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1008,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%p): '%s' (%s)\n", __func__, (void*)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-07 17:57:36.008484150 +0200
+@@ -535,8 +535,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%p cancelled successfully\n",
++						(void*)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +552,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%p timed out\n",
++							(void*)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%p running for %lld seconds\n",
++								(void*)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +580,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%p returned %d (%s)!\n",
++					(void*)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-07 18:01:47.391261843 +0200
+@@ -426,8 +426,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%p): Credentials in CC '%s' are good until %s",
++			 __func__, (void*)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +527,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%p): principal '%s' ccache:'%s'\n",
++		__func__, (void*)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +667,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%p): getaddrinfo(%s) failed: %s\n",
++			 __func__, (void*)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +677,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%p): inhost '%s' different than outhost '%s'\n",
++			 __func__, (void*)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1021,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%p): Success getting keytab entry for '%s'\n", (void*)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-fix_junction.patch b/srcpkgs/nfs-utils/patches/musl-fix_junction.patch
new file mode 100644
index 00000000000000..542d2892497106
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-fix_junction.patch
@@ -0,0 +1,19 @@
+--- a/support/include/junction.h	2024-08-20 14:30:33.000000000 +0200
++++ b/support/include/junction.h	2024-09-07 21:17:16.646442917 +0200
+@@ -29,6 +29,16 @@
+ #include <stdint.h>
+ 
+ /*
++ * This is needed for musl libc. The ALLPERMS and ACCESSPERMS
++ * defines are not specified in POSIX.
++ */
++#ifndef ALLPERMS
++#   define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++
++#include <limits.h>
++
++/*
+  * The libjunction APIs use the status codes from the FedFS ADMIN
+  * protocol, which includes non-errno codes like FEDFS_ERR_NOTJUNCT.
+  */
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..617eff60a60f59 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,25 +1,26 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
  --with-statedir=/var/lib/nfs --enable-libmount-mount --enable-svcgss
  --enable-uuid --enable-ipv6 --without-tcp-wrappers
  --with-tirpcinclude=$XBPS_CROSS_BASE/usr/include/tirpc
- --with-krb5=$XBPS_CROSS_BASE --disable-static"
+ --with-krb5=$XBPS_CROSS_BASE --disable-static --enable-junction"
 short_desc="Network File System utilities"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"
@@ -38,6 +39,15 @@ pre_configure() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)
 		vsed -i -e 's/__res_querydomain/res_querydomain/g' configure*
+		# https://patchwork.kernel.org/project/linux-nfs/patch/1407306306-29796-5-git-send-email-ncopa@alpinelinux.org/
+		vsed -i \
+			-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/include/junction.h
+		vsed -i \
+			-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/locations.c
+		vsed -i \
+			-e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/path.c
+		vsed -i \
+			-e 's|strchrnul|strchr|g' support/junction/path.c # although musl defines strchrnul in string.h, it does so after #ifdef _GNU_SOURCE (musl v. 1.1.24)
 		;;
 	esac
 }

From 3a76c878a72eaf5a1708767628b209ffbdb6ef79 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From 6be24f74c514b43c109d19078ab648b6df33c882 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (8 preceding siblings ...)
  2024-09-07 19:21 ` slymattz
@ 2024-09-07 19:37 ` slymattz
  2024-09-08 11:35 ` [PR PATCH] [Updated] nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5 slymattz
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-07 19:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1218 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**
Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 14063 bytes --]

From 48e5bea05bae36393a9ef5a977d2102142efe6af Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 ...sl-change_format_specifier_in_stderr.patch | 194 ++++++++++++++++++
 .../nfs-utils/patches/musl-fix_junction.patch |  19 ++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 srcpkgs/nfs-utils/template                    |  14 +-
 4 files changed, 223 insertions(+), 26 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
 create mode 100644 srcpkgs/nfs-utils/patches/musl-fix_junction.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
new file mode 100644
index 00000000000000..520a087d83e7c0
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-change_format_specifier_in_stderr.patch
@@ -0,0 +1,194 @@
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-07 17:45:50.846082081 +0200
+@@ -170,8 +170,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%p): lifetime_rec=%s acceptor=%.*s\n",
++			(void*)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +197,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%p): Failed to write downcall!\n", (void*)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +210,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%p): uid %d err %d\n", (void*)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +372,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%p): creating %s client for server %s\n",
++		(void*)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +416,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%p): creating context with server %s\n",
++		(void*)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +553,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +602,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%p): uid %d tgtname %s\n",
++		(void*)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +943,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%p): created thread id 0x%p\n",
++		(void*)tid, (void*)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1008,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%p): '%s' (%s)\n", __func__, (void*)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-07 17:57:36.008484150 +0200
+@@ -535,8 +535,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%p cancelled successfully\n",
++						(void*)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +552,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%p timed out\n",
++							(void*)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%p running for %lld seconds\n",
++								(void*)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +580,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%p returned %d (%s)!\n",
++					(void*)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-07 18:01:47.391261843 +0200
+@@ -426,8 +426,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%p): Credentials in CC '%s' are good until %s",
++			 __func__, (void*)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +527,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%p): principal '%s' ccache:'%s'\n",
++		__func__, (void*)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +667,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%p): getaddrinfo(%s) failed: %s\n",
++			 __func__, (void*)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +677,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%p): inhost '%s' different than outhost '%s'\n",
++			 __func__, (void*)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1021,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%p): Success getting keytab entry for '%s'\n", (void*)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-fix_junction.patch b/srcpkgs/nfs-utils/patches/musl-fix_junction.patch
new file mode 100644
index 00000000000000..542d2892497106
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-fix_junction.patch
@@ -0,0 +1,19 @@
+--- a/support/include/junction.h	2024-08-20 14:30:33.000000000 +0200
++++ b/support/include/junction.h	2024-09-07 21:17:16.646442917 +0200
+@@ -29,6 +29,16 @@
+ #include <stdint.h>
+ 
+ /*
++ * This is needed for musl libc. The ALLPERMS and ACCESSPERMS
++ * defines are not specified in POSIX.
++ */
++#ifndef ALLPERMS
++#   define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++
++#include <limits.h>
++
++/*
+  * The libjunction APIs use the status codes from the FedFS ADMIN
+  * protocol, which includes non-errno codes like FEDFS_ERR_NOTJUNCT.
+  */
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..6a1485970bdc26 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,25 +1,26 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
  --with-statedir=/var/lib/nfs --enable-libmount-mount --enable-svcgss
  --enable-uuid --enable-ipv6 --without-tcp-wrappers
  --with-tirpcinclude=$XBPS_CROSS_BASE/usr/include/tirpc
- --with-krb5=$XBPS_CROSS_BASE --disable-static"
+ --with-krb5=$XBPS_CROSS_BASE --disable-static --enable-junction"
 short_desc="Network File System utilities"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"
@@ -32,12 +33,17 @@ make_dirs="
 
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
+	CFLAGS="-D_GNU_SOURCE" # we need strchrnul() defined in string.h
 fi
 
 pre_configure() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)
 		vsed -i -e 's/__res_querydomain/res_querydomain/g' configure*
+		# https://patchwork.kernel.org/project/linux-nfs/patch/1407306306-29796-5-git-send-email-ncopa@alpinelinux.org/
+		vsed -i -e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/include/junction.h
+		vsed -i -e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/locations.c
+		vsed -i -e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/path.c
 		;;
 	esac
 }

From 7a89aa36e31dac56664619c914f3bfdf6575260a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From ae92a9ec176c18dd2e6c31ed0f1e5e72b2e6ddba Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (9 preceding siblings ...)
  2024-09-07 19:37 ` slymattz
@ 2024-09-08 11:35 ` slymattz
  2024-09-08 11:59 ` slymattz
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-08 11:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1359 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**
- [x] on the client side, it seems to be working like it's supposed to.
- [x] on the server side, so far so good.

Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 14740 bytes --]

From 09c785fc9acc8136cd7c50ae3e884fb6388afed8 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 .../nfs-utils/patches/musl-fix_junction.patch |  19 ++
 .../patches/musl-fix_long_unsigned_int.patch  | 218 ++++++++++++++++++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 srcpkgs/nfs-utils/template                    |  14 +-
 4 files changed, 247 insertions(+), 26 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-fix_junction.patch
 create mode 100644 srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-fix_junction.patch b/srcpkgs/nfs-utils/patches/musl-fix_junction.patch
new file mode 100644
index 00000000000000..542d2892497106
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-fix_junction.patch
@@ -0,0 +1,19 @@
+--- a/support/include/junction.h	2024-08-20 14:30:33.000000000 +0200
++++ b/support/include/junction.h	2024-09-07 21:17:16.646442917 +0200
+@@ -29,6 +29,16 @@
+ #include <stdint.h>
+ 
+ /*
++ * This is needed for musl libc. The ALLPERMS and ACCESSPERMS
++ * defines are not specified in POSIX.
++ */
++#ifndef ALLPERMS
++#   define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++
++#include <limits.h>
++
++/*
+  * The libjunction APIs use the status codes from the FedFS ADMIN
+  * protocol, which includes non-errno codes like FEDFS_ERR_NOTJUNCT.
+  */
diff --git a/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch b/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
new file mode 100644
index 00000000000000..4105a552383844
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
@@ -0,0 +1,218 @@
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-08 13:01:06.098924979 +0200
+@@ -65,6 +65,7 @@
+ #include <dirent.h>
+ #include <netdb.h>
+ #include <event2/event.h>
++#include <inttypes.h>
+ 
+ #include "gssd.h"
+ #include "err_util.h"
+@@ -535,8 +536,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%" PRIxPTR "cancelled successfully\n",
++						(uintptr_t)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +553,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%" PRIxPTR "timed out\n",
++							(uintptr_t)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%" PRIxPTR "running for %lld seconds\n",
++								(uintptr_t)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +581,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%" PRIxPTR "returned %d (%s)!\n",
++					(uintptr_t)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-08 13:19:02.841249423 +0200
+@@ -73,6 +73,7 @@
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ #include <rpc/rpcsec_gss.h>
+ #endif
++#include <inttypes.h>
+ 
+ #include "gssd.h"
+ #include "err_util.h"
+@@ -170,8 +171,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%" PRIxPTR "): lifetime_rec=%s acceptor=%.*s\n",
++			(uintptr_t)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +198,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%" PRIxPTR "): Failed to write downcall!\n", (uintptr_t)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +211,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%" PRIxPTR "): uid %d err %d\n", (uintptr_t)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +373,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%" PRIxPTR "): creating %s client for server %s\n",
++		(uintptr_t)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +417,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%" PRIxPTR "): creating context with server %s\n",
++		(uintptr_t)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +554,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%" PRIxPTR "): uid %d tgtname %s\n",
++		(uintptr_t)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +603,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%" PRIxPTR "): uid %d tgtname %s\n",
++		(uintptr_t)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +944,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%" PRIxPTR "): created thread id 0x%" PRIxPTR "\n",
++		(uintptr_t)tid, (uintptr_t)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1009,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%" PRIxPTR "): '%s' (%s)\n", __func__, (uintptr_t)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-08 13:25:58.884113095 +0200
+@@ -123,6 +123,7 @@
+ 
+ #include <sys/types.h>
+ #include <fcntl.h>
++#include <inttypes.h>
+ 
+ #include "nfslib.h"
+ #include "gssd.h"
+@@ -426,8 +427,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%" PRIxPTR "): Credentials in CC '%s' are good until %s",
++			 __func__, (uintptr_t)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +528,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%" PRIxPTR "): principal '%s' ccache:'%s'\n",
++		__func__, (uintptr_t)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +668,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%" PRIxPTR "): getaddrinfo(%s) failed: %s\n",
++			 __func__, (uintptr_t)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +678,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%" PRIxPTR "): inhost '%s' different than outhost '%s'\n",
++			 __func__, (uintptr_t)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1022,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%" PRIxPTR "): Success getting keytab entry for '%s'\n", (uintptr_t)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..6a1485970bdc26 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,25 +1,26 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
  --with-statedir=/var/lib/nfs --enable-libmount-mount --enable-svcgss
  --enable-uuid --enable-ipv6 --without-tcp-wrappers
  --with-tirpcinclude=$XBPS_CROSS_BASE/usr/include/tirpc
- --with-krb5=$XBPS_CROSS_BASE --disable-static"
+ --with-krb5=$XBPS_CROSS_BASE --disable-static --enable-junction"
 short_desc="Network File System utilities"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"
@@ -32,12 +33,17 @@ make_dirs="
 
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
+	CFLAGS="-D_GNU_SOURCE" # we need strchrnul() defined in string.h
 fi
 
 pre_configure() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)
 		vsed -i -e 's/__res_querydomain/res_querydomain/g' configure*
+		# https://patchwork.kernel.org/project/linux-nfs/patch/1407306306-29796-5-git-send-email-ncopa@alpinelinux.org/
+		vsed -i -e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/include/junction.h
+		vsed -i -e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/locations.c
+		vsed -i -e 's|__attribute_malloc__|__attribute__((__malloc__))|g' support/junction/path.c
 		;;
 	esac
 }

From 87497bceb2f0c35868e1fab0c631a7b35ba78be5 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From 495ada9284efd69551369378c063b3a7f364ee68 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (10 preceding siblings ...)
  2024-09-08 11:35 ` [PR PATCH] [Updated] nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5 slymattz
@ 2024-09-08 11:59 ` slymattz
  2024-09-08 18:17 ` slymattz
  2024-09-26 17:59 ` [PR PATCH] [Closed]: " classabbyamp
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-08 11:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1359 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**
- [x] on the client side, it seems to be working like it's supposed to.
- [x] on the server side, so far so good.

Installed, rebooted, mounts fine, unmounts fine. Will do some more extensive testing as I use nfs daily. 

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 14496 bytes --]

From 26689d8595bbdef3fe5775d8ab0d16a2ddf6a83b Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 .../patches/musl-fix_long_unsigned_int.patch  | 218 ++++++++++++++++++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 ...s-utils-2.7.1-define_macros_for_musl.patch |  38 +++
 srcpkgs/nfs-utils/template                    |   9 +-
 4 files changed, 261 insertions(+), 26 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch
 create mode 100644 srcpkgs/nfs-utils/patches/nfs-utils-2.7.1-define_macros_for_musl.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch b/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
new file mode 100644
index 00000000000000..4105a552383844
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
@@ -0,0 +1,218 @@
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-08 13:01:06.098924979 +0200
+@@ -65,6 +65,7 @@
+ #include <dirent.h>
+ #include <netdb.h>
+ #include <event2/event.h>
++#include <inttypes.h>
+ 
+ #include "gssd.h"
+ #include "err_util.h"
+@@ -535,8 +536,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%" PRIxPTR "cancelled successfully\n",
++						(uintptr_t)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +553,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%" PRIxPTR "timed out\n",
++							(uintptr_t)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%" PRIxPTR "running for %lld seconds\n",
++								(uintptr_t)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +581,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%" PRIxPTR "returned %d (%s)!\n",
++					(uintptr_t)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-08 13:19:02.841249423 +0200
+@@ -73,6 +73,7 @@
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ #include <rpc/rpcsec_gss.h>
+ #endif
++#include <inttypes.h>
+ 
+ #include "gssd.h"
+ #include "err_util.h"
+@@ -170,8 +171,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%" PRIxPTR "): lifetime_rec=%s acceptor=%.*s\n",
++			(uintptr_t)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +198,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%" PRIxPTR "): Failed to write downcall!\n", (uintptr_t)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +211,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%" PRIxPTR "): uid %d err %d\n", (uintptr_t)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +373,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%" PRIxPTR "): creating %s client for server %s\n",
++		(uintptr_t)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +417,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%" PRIxPTR "): creating context with server %s\n",
++		(uintptr_t)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +554,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%" PRIxPTR "): uid %d tgtname %s\n",
++		(uintptr_t)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +603,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%" PRIxPTR "): uid %d tgtname %s\n",
++		(uintptr_t)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +944,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%" PRIxPTR "): created thread id 0x%" PRIxPTR "\n",
++		(uintptr_t)tid, (uintptr_t)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1009,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%" PRIxPTR "): '%s' (%s)\n", __func__, (uintptr_t)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-08 13:25:58.884113095 +0200
+@@ -123,6 +123,7 @@
+ 
+ #include <sys/types.h>
+ #include <fcntl.h>
++#include <inttypes.h>
+ 
+ #include "nfslib.h"
+ #include "gssd.h"
+@@ -426,8 +427,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%" PRIxPTR "): Credentials in CC '%s' are good until %s",
++			 __func__, (uintptr_t)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +528,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%" PRIxPTR "): principal '%s' ccache:'%s'\n",
++		__func__, (uintptr_t)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +668,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%" PRIxPTR "): getaddrinfo(%s) failed: %s\n",
++			 __func__, (uintptr_t)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +678,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%" PRIxPTR "): inhost '%s' different than outhost '%s'\n",
++			 __func__, (uintptr_t)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1022,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%" PRIxPTR "): Success getting keytab entry for '%s'\n", (uintptr_t)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/patches/nfs-utils-2.7.1-define_macros_for_musl.patch b/srcpkgs/nfs-utils/patches/nfs-utils-2.7.1-define_macros_for_musl.patch
new file mode 100644
index 00000000000000..df4c2db84341de
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/nfs-utils-2.7.1-define_macros_for_musl.patch
@@ -0,0 +1,38 @@
+diff --git a/support/junction/path.c b/support/junction/path.c
+index 13a14386..dd0f59a0 100644
+--- a/support/junction/path.c
++++ b/support/junction/path.c
+@@ -23,6 +23,12 @@
+  *	http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
+  */
+ 
++/* For musl */
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE
++#endif
++#include <limits.h>
++
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ 
+diff --git a/support/include/junction.h b/support/include/junction.h
+index 7257d80b..d127dd55 100644
+--- a/support/include/junction.h
++++ b/support/include/junction.h
+@@ -26,6 +26,16 @@ 
+ #ifndef _NFS_JUNCTION_H_
+ #define _NFS_JUNCTION_H_
+ 
++/* For musl, refered to glibc's sys/cdefs.h */
++#ifndef __attribute_malloc__
++#define __attribute_malloc__ __attribute__((__malloc__))
++#endif
++
++/* For musl, refered to glibc's sys/stat.h */
++#ifndef ALLPERMS
++#define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ #include <stdint.h>
+ 
+ /*
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..60da30200b697b 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,25 +1,26 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
  --with-statedir=/var/lib/nfs --enable-libmount-mount --enable-svcgss
  --enable-uuid --enable-ipv6 --without-tcp-wrappers
  --with-tirpcinclude=$XBPS_CROSS_BASE/usr/include/tirpc
- --with-krb5=$XBPS_CROSS_BASE --disable-static"
+ --with-krb5=$XBPS_CROSS_BASE --disable-static --enable-junction"
 short_desc="Network File System utilities"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"

From f9460d7c512f0e69ace0b8878eb13bfc259064bd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From 7393b8c216dc971ed03fccef794075b392e79f31 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (11 preceding siblings ...)
  2024-09-08 11:59 ` slymattz
@ 2024-09-08 18:17 ` slymattz
  2024-09-26 17:59 ` [PR PATCH] [Closed]: " classabbyamp
  13 siblings, 0 replies; 15+ messages in thread
From: slymattz @ 2024-09-08 18:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2543 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nfs-utils
https://github.com/void-linux/void-packages/pull/52088

nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**
- [x] on the client side, it seems to be working like it's supposed to.
- [x] on the server side, so far so good.

#### Patching for musl
- https://patchwork.kernel.org/project/linux-nfs/patch/20240908114312.3883312-1-liezhi.yang@windriver.com/
- https://patchwork.kernel.org/project/linux-nfs/patch/20240908114312.3883312-2-liezhi.yang@windriver.com/
- https://github.com/void-linux/void-packages/pull/52088/files#diff-8291722eb2093660c79b98a9b3e4999305bb35a7ac923b5d6bb6d71250142f26 

The rationale behind using _inttypes.h_ and _PRIxPTR_ is better portability: https://stackoverflow.com/questions/9053658/correct-format-specifier-to-print-pointer-or-address

Without the mentioned patch, compilation on musl errors out things like this:
```
gssd.c: In function 'scan_active_thread_list':
gssd.c:538:70: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'pthread_t' {aka 'struct __pthread *'} [-Werror=format=]
  538 |                                 printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
      |                                                                    ~~^
      |                                                                      |
      |                                                                      long unsigned int
  539 |                                                 info->tid);
 
```


<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc


A patch file from https://github.com/void-linux/void-packages/pull/52088.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nfs-utils-52088.patch --]
[-- Type: text/x-diff, Size: 14500 bytes --]

From bb636cdb1b274f44d92b1cb2fdf0dff6079f97aa Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 2 Sep 2024 15:44:43 +0200
Subject: [PATCH 1/3] nfs-utils: update to 2.7.1

---
 .../patches/musl-fix_long_unsigned_int.patch  | 218 ++++++++++++++++++
 srcpkgs/nfs-utils/patches/musl-unistd.patch   |  22 --
 ...s-utils-2.7.1-define_macros_for_musl.patch |  38 +++
 srcpkgs/nfs-utils/template                    |   9 +-
 4 files changed, 261 insertions(+), 26 deletions(-)
 create mode 100644 srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
 delete mode 100644 srcpkgs/nfs-utils/patches/musl-unistd.patch
 create mode 100644 srcpkgs/nfs-utils/patches/nfs-utils-2.7.1-define_macros_for_musl.patch

diff --git a/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch b/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
new file mode 100644
index 00000000000000..28dc1da9a34368
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/musl-fix_long_unsigned_int.patch
@@ -0,0 +1,218 @@
+--- a/utils/gssd/gssd.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd.c	2024-09-08 13:01:06.098924979 +0200
+@@ -65,6 +65,7 @@
+ #include <dirent.h>
+ #include <netdb.h>
+ #include <event2/event.h>
++#include <inttypes.h>
+ 
+ #include "gssd.h"
+ #include "err_util.h"
+@@ -535,8 +536,8 @@
+ 			 * upcall_thread_info from the list and free it.
+ 			 */
+ 			if (tret == PTHREAD_CANCELED)
+-				printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
+-						info->tid);
++				printerr(2, "watchdog: thread id 0x%" PRIxPTR " cancelled successfully\n",
++						(uintptr_t)info->tid);
+ 			saveprev = info->list.tqe_prev;
+ 			TAILQ_REMOVE(&active_thread_list, info, list);
+ 			free(info);
+@@ -552,15 +553,15 @@
+ 			 */
+ 			if (now.tv_sec >= info->timeout.tv_sec) {
+ 				if (cancel_timed_out_upcalls && !(info->flags & UPCALL_THREAD_CANCELED)) {
+-					printerr(0, "watchdog: thread id 0x%lx timed out\n",
+-							info->tid);
++					printerr(0, "watchdog: thread id 0x%" PRIxPTR " timed out\n",
++							(uintptr_t)info->tid);
+ 					pthread_cancel(info->tid);
+ 					info->flags |= (UPCALL_THREAD_CANCELED|UPCALL_THREAD_WARNED);
+ 					do_error_downcall(info->fd, info->uid, -ETIMEDOUT);
+ 				} else {
+ 					if (!(info->flags & UPCALL_THREAD_WARNED)) {
+-						printerr(0, "watchdog: thread id 0x%lx running for %lld seconds\n",
+-								info->tid,
++						printerr(0, "watchdog: thread id 0x%" PRIxPTR " running for %lld seconds\n",
++								(uintptr_t)info->tid,
+ 								(long long int)(now.tv_sec - info->timeout.tv_sec + upcall_timeout));
+ 						info->flags |= UPCALL_THREAD_WARNED;
+ 					}
+@@ -580,8 +581,8 @@
+ 			break;
+ 		default:
+ 			/* EDEADLK, EINVAL, and ESRCH... none of which should happen! */
+-			printerr(0, "watchdog: attempt to join thread id 0x%lx returned %d (%s)!\n",
+-					info->tid, err, strerror(err));
++			printerr(0, "watchdog: attempt to join thread id 0x%" PRIxPTR " returned %d (%s)!\n",
++					(uintptr_t)info->tid, err, strerror(err));
+ 			break;
+ 		}
+ 	}
+--- a/utils/gssd/gssd_proc.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/gssd_proc.c	2024-09-08 13:19:02.841249423 +0200
+@@ -73,6 +73,7 @@
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ #include <rpc/rpcsec_gss.h>
+ #endif
++#include <inttypes.h>
+ 
+ #include "gssd.h"
+ #include "err_util.h"
+@@ -170,8 +171,8 @@
+ 	pthread_t tid = pthread_self();
+ 
+ 	if (get_verbosity() > 1)
+-		printerr(2, "do_downcall(0x%lx): lifetime_rec=%s acceptor=%.*s\n",
+-			tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
++		printerr(2, "do_downcall(0x%" PRIxPTR "): lifetime_rec=%s acceptor=%.*s\n",
++			(uintptr_t)tid, sec2time(lifetime_rec), (int)acceptor->length, (char *)acceptor->value);
+ 	buf_size = sizeof(uid) + sizeof(timeout) + sizeof(pd->pd_seq_win) +
+ 		sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
+ 		sizeof(context_token->length) + context_token->length +
+@@ -197,7 +198,7 @@
+ 	return;
+ out_err:
+ 	free(buf);
+-	printerr(1, "do_downcall(0x%lx): Failed to write downcall!\n", tid);
++	printerr(1, "do_downcall(0x%" PRIxPTR "): Failed to write downcall!\n", (uintptr_t)tid);
+ 	return;
+ }
+ 
+@@ -210,7 +211,7 @@
+ 	int	zero = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "do_error_downcall(0x%lx): uid %d err %d\n", tid, uid, err);
++	printerr(2, "do_error_downcall(0x%" PRIxPTR "): uid %d err %d\n", (uintptr_t)tid, uid, err);
+ 
+ 	if (WRITE_BYTES(&p, end, uid)) goto out_err;
+ 	if (WRITE_BYTES(&p, end, timeout)) goto out_err;
+@@ -372,8 +373,8 @@
+ 
+ 	/* create an rpc connection to the nfs server */
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating %s client for server %s\n", 
+-		tid, clp->protocol, clp->servername);
++	printerr(3, "create_auth_rpc_client(0x%" PRIxPTR "): creating %s client for server %s\n",
++		(uintptr_t)tid, clp->protocol, clp->servername);
+ 
+ 	protocol = IPPROTO_TCP;
+ 	if ((strcmp(clp->protocol, "udp")) == 0)
+@@ -416,8 +417,8 @@
+ 	if (!tgtname)
+ 		tgtname = clp->servicename;
+ 
+-	printerr(3, "create_auth_rpc_client(0x%lx): creating context with server %s\n", 
+-		tid, tgtname);
++	printerr(3, "create_auth_rpc_client(0x%" PRIxPTR "): creating context with server %s\n",
++		(uintptr_t)tid, tgtname);
+ #ifdef HAVE_TIRPC_GSS_SECCREATE
+ 	memset(&req, 0, sizeof(req));
+ 	req.my_cred = sec.cred;
+@@ -553,8 +554,8 @@
+ 	int		err, resp = -1;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_not_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_not_machine_creds(0x%" PRIxPTR "): uid %d tgtname %s\n",
++		(uintptr_t)tid, uid, tgtname);
+ 
+ 	*chg_err = change_identity(uid);
+ 	if (*chg_err) {
+@@ -602,8 +603,8 @@
+ 	int	success = 0;
+ 	pthread_t tid = pthread_self();
+ 
+-	printerr(2, "krb5_use_machine_creds(0x%lx): uid %d tgtname %s\n", 
+-		tid, uid, tgtname);
++	printerr(2, "krb5_use_machine_creds(0x%" PRIxPTR "): uid %d tgtname %s\n",
++		(uintptr_t)tid, uid, tgtname);
+ 
+ 	do {
+ 		gssd_refresh_krb5_machine_credential(clp->servername,
+@@ -943,8 +944,8 @@
+ 		free(tinfo);
+ 		return ret;
+ 	}
+-	printerr(2, "start_upcall_thread(0x%lx): created thread id 0x%lx\n", 
+-		tid, th);
++	printerr(2, "start_upcall_thread(0x%" PRIxPTR "): created thread id 0x%" PRIxPTR "\n",
++		(uintptr_t)tid, (uintptr_t)th);
+ 
+ 	tinfo->tid = th;
+ 	pthread_mutex_lock(&active_thread_list_lock);
+@@ -1008,7 +1009,7 @@
+ 	}
+ 	lbuf[lbuflen-1] = 0;
+ 
+-	printerr(2, "\n%s(0x%lx): '%s' (%s)\n", __func__, tid,
++	printerr(2, "\n%s(0x%" PRIxPTR "): '%s' (%s)\n", __func__, (uintptr_t)tid,
+ 		 lbuf, clp->relpath);
+ 
+ 	for (p = strtok(lbuf, " "); p; p = strtok(NULL, " ")) {
+--- a/utils/gssd/krb5_util.c	2024-08-20 14:30:33.000000000 +0200
++++ b/utils/gssd/krb5_util.c	2024-09-08 13:25:58.884113095 +0200
+@@ -123,6 +123,7 @@
+ 
+ #include <sys/types.h>
+ #include <fcntl.h>
++#include <inttypes.h>
+ 
+ #include "nfslib.h"
+ #include "gssd.h"
+@@ -426,8 +427,8 @@
+ 	now += 300;
+ 	pthread_mutex_lock(&ple_lock);
+ 	if (ple->ccname && ple->endtime > now && !nocache && !force_renew) {
+-		printerr(3, "%s(0x%lx): Credentials in CC '%s' are good until %s",
+-			 __func__, tid, ple->ccname, ctime((time_t *)&ple->endtime));
++		printerr(3, "%s(0x%" PRIxPTR "): Credentials in CC '%s' are good until %s",
++			 __func__, (uintptr_t)tid, ple->ccname, ctime((time_t *)&ple->endtime));
+ 		code = 0;
+ 		pthread_mutex_unlock(&ple_lock);
+ 		goto out;
+@@ -527,8 +528,8 @@
+ 	}
+ 
+ 	code = 0;
+-	printerr(2, "%s(0x%lx): principal '%s' ccache:'%s'\n", 
+-		__func__, tid, pname, cc_name);
++	printerr(2, "%s(0x%" PRIxPTR "): principal '%s' ccache:'%s'\n",
++		__func__, (uintptr_t)tid, pname, cc_name);
+   out:
+ #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS
+ 	if (init_opts)
+@@ -667,8 +668,8 @@
+ 	/* Get full target hostname */
+ 	retval = getaddrinfo(inhost, NULL, &hints, &addrs);
+ 	if (retval) {
+-		printerr(1, "%s(0x%lx): getaddrinfo(%s) failed: %s\n",
+-			 __func__, tid, inhost, gai_strerror(retval));
++		printerr(1, "%s(0x%" PRIxPTR "): getaddrinfo(%s) failed: %s\n",
++			 __func__, (uintptr_t)tid, inhost, gai_strerror(retval));
+ 		goto out;
+ 	}
+ 	strncpy(outhost, addrs->ai_canonname, outhostlen);
+@@ -677,8 +678,8 @@
+ 	    *c = tolower(*c);
+ 
+ 	if (get_verbosity() && strcmp(inhost, outhost))
+-		printerr(1, "%s(0x%0lx): inhost '%s' different than outhost '%s'\n", 
+-			 __func__, tid, inhost, outhost);
++		printerr(1, "%s(0x%" PRIxPTR "): inhost '%s' different than outhost '%s'\n",
++			 __func__, (uintptr_t)tid, inhost, outhost);
+ 
+ 	retval = 0;
+ out:
+@@ -1021,7 +1022,7 @@
+ 					tried_upper = 1;
+ 				}
+ 			} else {
+-				printerr(2, "find_keytab_entry(0x%lx): Success getting keytab entry for '%s'\n",tid, spn);
++				printerr(2, "find_keytab_entry(0x%" PRIxPTR "): Success getting keytab entry for '%s'\n", (uintptr_t)tid, spn);
+ 				retval = 0;
+ 				goto out;
+ 			}
diff --git a/srcpkgs/nfs-utils/patches/musl-unistd.patch b/srcpkgs/nfs-utils/patches/musl-unistd.patch
deleted file mode 100644
index 8a481f8d02f652..00000000000000
--- a/srcpkgs/nfs-utils/patches/musl-unistd.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/support/reexport/fsidd.c b/support/reexport/fsidd.c
---- a/support/reexport/fsidd.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/fsidd.c	2023-11-21 09:12:36.536375957 -0500
-@@ -7,6 +7,7 @@
- #include <dlfcn.h>
- #endif
- #include <event2/event.h>
-+#include <unistd.h>
- 
- #include "conffile.h"
- #include "reexport_backend.h"
-diff -ur a/support/reexport/reexport.c b/support/reexport/reexport.c
---- a/support/reexport/reexport.c	2023-11-21 09:11:42.660255810 -0500
-+++ b/support/reexport/reexport.c	2023-11-21 09:12:13.654324929 -0500
-@@ -8,6 +8,7 @@
- #include <sys/types.h>
- #include <sys/vfs.h>
- #include <errno.h>
-+#include <unistd.h>
- 
- #include "nfsd_path.h"
- #include "conffile.h"
diff --git a/srcpkgs/nfs-utils/patches/nfs-utils-2.7.1-define_macros_for_musl.patch b/srcpkgs/nfs-utils/patches/nfs-utils-2.7.1-define_macros_for_musl.patch
new file mode 100644
index 00000000000000..df4c2db84341de
--- /dev/null
+++ b/srcpkgs/nfs-utils/patches/nfs-utils-2.7.1-define_macros_for_musl.patch
@@ -0,0 +1,38 @@
+diff --git a/support/junction/path.c b/support/junction/path.c
+index 13a14386..dd0f59a0 100644
+--- a/support/junction/path.c
++++ b/support/junction/path.c
+@@ -23,6 +23,12 @@
+  *	http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
+  */
+ 
++/* For musl */
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE
++#endif
++#include <limits.h>
++
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ 
+diff --git a/support/include/junction.h b/support/include/junction.h
+index 7257d80b..d127dd55 100644
+--- a/support/include/junction.h
++++ b/support/include/junction.h
+@@ -26,6 +26,16 @@ 
+ #ifndef _NFS_JUNCTION_H_
+ #define _NFS_JUNCTION_H_
+ 
++/* For musl, refered to glibc's sys/cdefs.h */
++#ifndef __attribute_malloc__
++#define __attribute_malloc__ __attribute__((__malloc__))
++#endif
++
++/* For musl, refered to glibc's sys/stat.h */
++#ifndef ALLPERMS
++#define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ #include <stdint.h>
+ 
+ /*
diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 63e80252cd86b2..60da30200b697b 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,25 +1,26 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
-version=2.6.4
+version=2.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
  --with-statedir=/var/lib/nfs --enable-libmount-mount --enable-svcgss
  --enable-uuid --enable-ipv6 --without-tcp-wrappers
  --with-tirpcinclude=$XBPS_CROSS_BASE/usr/include/tirpc
- --with-krb5=$XBPS_CROSS_BASE --disable-static"
+ --with-krb5=$XBPS_CROSS_BASE --disable-static --enable-junction"
 short_desc="Network File System utilities"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.linux-nfs.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d
+checksum=885c948a84a58bca4148f459588f9a7369dbb40dcc466f04e455c6b10fd0aa48
 replaces="rpcgen>=0"
 
 hostmakedepends="pkg-config libtirpc-devel rpcsvc-proto mit-krb5-devel"
 makedepends="libblkid-devel libmount-devel libtirpc-devel
  keyutils-devel libevent-devel mit-krb5-devel
- device-mapper-devel libcap-devel sqlite-devel"
+ device-mapper-devel libcap-devel sqlite-devel
+ libxml2-devel"
 depends="rpcbind"
 python_version=3
 conf_files="/etc/exports"

From a7daa10a71a5e0855599ddaab50714b7fb4e25d9 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:24:44 +0200
Subject: [PATCH 2/3] libtirpc: update to 1.3.5

---
 srcpkgs/libtirpc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template
index 401fc6743a1cec..88e331d0623942 100644
--- a/srcpkgs/libtirpc/template
+++ b/srcpkgs/libtirpc/template
@@ -1,6 +1,6 @@
 # Template file for 'libtirpc'
 pkgname=libtirpc
-version=1.3.4
+version=1.3.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config mit-krb5-devel"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://sourceforge.net/projects/libtirpc/"
 changelog="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=shortlog"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
+checksum=9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat" ;;

From ebcc242b18d09186045716fe4616a4af56ef7428 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Thu, 5 Sep 2024 15:29:14 +0200
Subject: [PATCH 3/3] rpcbind: revbump for libtirpc

---
 srcpkgs/rpcbind/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rpcbind/template b/srcpkgs/rpcbind/template
index 2e41562c0c710d..d2b173fef18829 100644
--- a/srcpkgs/rpcbind/template
+++ b/srcpkgs/rpcbind/template
@@ -1,7 +1,7 @@
 # Template file for 'rpcbind'
 pkgname=rpcbind
 version=1.2.7
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-warmstarts --with-statedir=/run --with-rpcuser=rpc
  --with-systemdsystemunitdir=no"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Closed]: nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5
  2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
                   ` (12 preceding siblings ...)
  2024-09-08 18:17 ` slymattz
@ 2024-09-26 17:59 ` classabbyamp
  13 siblings, 0 replies; 15+ messages in thread
From: classabbyamp @ 2024-09-26 17:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2478 bytes --]

There's a closed pull request on the void-packages repository

nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5
https://github.com/void-linux/void-packages/pull/52088

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**
- [x] on the client side, it seems to be working like it's supposed to.
- [x] on the server side, so far so good.

EDIT (Sep 15): I've been using nfs-utils for about a week now and have had 0 issues so far.

#### Patching for musl
- https://patchwork.kernel.org/project/linux-nfs/patch/20240908114312.3883312-1-liezhi.yang@windriver.com/
- https://patchwork.kernel.org/project/linux-nfs/patch/20240908114312.3883312-2-liezhi.yang@windriver.com/
- https://github.com/void-linux/void-packages/pull/52088/files#diff-8291722eb2093660c79b98a9b3e4999305bb35a7ac923b5d6bb6d71250142f26 

The rationale behind using _inttypes.h_ and _PRIxPTR_ is better portability: https://stackoverflow.com/questions/9053658/correct-format-specifier-to-print-pointer-or-address

Without the mentioned patch, compilation on musl errors out things like this:
```
gssd.c: In function 'scan_active_thread_list':
gssd.c:538:70: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'pthread_t' {aka 'struct __pthread *'} [-Werror=format=]
  538 |                                 printerr(2, "watchdog: thread id 0x%lx cancelled successfully\n",
      |                                                                    ~~^
      |                                                                      |
      |                                                                      long unsigned int
  539 |                                                 info->tid);
 
```


<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-09-26 17:59 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-02 16:52 [PR PATCH] nfs-utils: update to 2.7.1 slymattz
2024-09-02 17:12 ` [PR PATCH] [Updated] " slymattz
2024-09-05 13:29 ` slymattz
2024-09-07 14:48 ` slymattz
2024-09-07 16:08 ` slymattz
2024-09-07 16:45 ` slymattz
2024-09-07 17:10 ` slymattz
2024-09-07 17:17 ` slymattz
2024-09-07 19:05 ` slymattz
2024-09-07 19:21 ` slymattz
2024-09-07 19:37 ` slymattz
2024-09-08 11:35 ` [PR PATCH] [Updated] nfs-utils: update to 2.7.1, libtirpc: update to 1.3.5 slymattz
2024-09-08 11:59 ` slymattz
2024-09-08 18:17 ` slymattz
2024-09-26 17:59 ` [PR PATCH] [Closed]: " classabbyamp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).