Skip to contentSkip to conversation

package/libtirpc: bump to version 0.3.2

PATCH New Jörg Krause 2 participants 10 messages Jul 23, 2015 – Jul 24, 2015

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/3 package/libtirpc: bump to version 0.3.2

Bump version, update hash and update patch.

---
Changes v1 -> v2:
- None

---
 ...sable-parts-of-TIRPC-requiring-NIS-support.patch | 21 +++++++++++++--------
 package/libtirpc/libtirpc.hash                      |  4 ++--
 package/libtirpc/libtirpc.mk                        |  2 +-
 3 files changed, 16 insertions(+), 11 deletions(-)
package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch +13 -8
index 2835ee1..12771f3 100644
@@ -1,28 +1,33 @@
-From 9ab72f908af734b5a940fb459394072cfa9fc3a8 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <[email protected]>
-Date: Sat, 23 Jun 2012 21:57:39 +0200
-Subject: [PATCH] Disable parts of TIRPC requiring NIS support
+From fc53290b7f2be918856883cd174cf18f06a085cf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <[email protected]>
+Date: Mon, 20 Jul 2015 20:30:11 +0200
+Subject: [PATCH 1/1] Disable parts of TIRPC requiring NIS support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
 Signed-off-by: Thomas Petazzoni <[email protected]>
 [yann.morin.1998 at free.fr: update for 0.3.1]
 Signed-off-by: "Yann E. MORIN" <[email protected]>
+[joerg.krause at embedded.rocks: update for 0.3.2]
+Signed-off-by: J?rg Krause <[email protected]>
 ---
  src/Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/Makefile.am b/src/Makefile.am
-index 75bd4bf..7428e92 100644
+index 6cc567a..cf8a8ca 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -52,7 +52,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
+@@ -51,7 +51,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
          rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
          rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \
          svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
--        auth_time.c debug.c
+-        auth_time.c auth_des.c authdes_prot.c debug.c
 +        debug.c
  
  ## XDR
  libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
 -- 
-1.9.1
+2.4.6
 
package/libtirpc/libtirpc.hash +2 -2
index 0a1cc98..f171870 100644
@@ -1,4 +1,4 @@
 # From sourceforge's info on download page:
-sha1   0e0ef9123cf28cd0940148fabd23952476a8fcd6  libtirpc-0.3.1.tar.bz2
+sha1   af9b74d0c4d1499a7b1a43e396e5b7d62180ea65  libtirpc-0.3.2.tar.bz2
 # Locally computed
-sha256 a8838fe180deb8a6f6e491ee665325a28dee4100ec6b1f0b86d611dbfe3a2bb8  libtirpc-0.3.1.tar.bz2
+sha256 2008a379f37f2c5d5a87a568b06707422cc3e4f5da305f7fb71f3f4c6d473ffc  libtirpc-0.3.2.tar.bz2
package/libtirpc/libtirpc.mk +1 -1
index 494650c..8f49356 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LIBTIRPC_VERSION = 0.3.1
+LIBTIRPC_VERSION = 0.3.2
 LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2
 LIBTIRPC_SITE = http://downloads.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION)
 LIBTIRPC_LICENSE = BSD-3c
Signature · 1 line
2.4.6
#1 lore raw

PATCH v2 2/3 package/libtirpc: fix musl build

The fix includes:
1) Defining rpcent for non-Glibc's
2) Using a local queue implementation

1) Defining rpcent for non-Glibc's
musl does not define rpcent. Since musl does not provide a __MUSL__ macro we add a check for non-Glibc's to the existing uClibc patch.

2) Using a local queue implementation
musl does not provide sys/queue.h. We borrow a compatible queue implementation from the NetBSD project.

Fixes:
http://autobuild.buildroot.net/results/f93/f93f0be26b5a25b953ea7f909037c1f45a83f686/
http://autobuild.buildroot.net/results/c53/c537a76d17012821ed5a6f4170f759efd4d269b0/
http://autobuild.buildroot.net/results/e3c/e3c5be7dca753f7494e8680894f516a8cdc89843/
http://autobuild.buildroot.net/results/2bb/2bb2e314f23b5ba48bb6e0c4fc7e52032fa5d76b/

and many more.

---
Changes v1 -> v2:
- None

---
 ...able-parts-of-TIRPC-requiring-NIS-support.patch |   2 +-
 ...pport-and-musl-does-not-install-rpcent.h.patch} |   6 +-
 package/libtirpc/0006-Use-local-bsdqueue.h.patch   | 903 +++++++++++++++++++++
 3 files changed, 908 insertions(+), 3 deletions(-)
 rename package/libtirpc/{0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch => 0002-uClibc-without-RPC-support-and-musl-does-not-install-rpcent.h.patch} (78%)
 create mode 100644 package/libtirpc/0006-Use-local-bsdqueue.h.patch
package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch +1 -1
index 12771f3..71d4420 100644
@@ -1,4 +1,4 @@
-From fc53290b7f2be918856883cd174cf18f06a085cf Mon Sep 17 00:00:00 2001
+From 583ad557faf86c5532e16dafff19bfdcc349752d Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?J=C3=B6rg=20Krause?= <[email protected]>
 Date: Mon, 20 Jul 2015 20:30:11 +0200
 Subject: [PATCH 1/1] Disable parts of TIRPC requiring NIS support
package/libtirpc/0002-uClibc-without-RPC-support-and-musl-does-not-install-rpcent.h.patch renamed from package/libtirpc/0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch +4 -2
similarity index 78%
rename from package/libtirpc/0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
rename to package/libtirpc/0002-uClibc-without-RPC-support-and-musl-does-not-install-rpcent.h.patch
index 44b5f99..643a57e 100644
@@ -1,11 +1,13 @@
 From 7aa1fe6a0f9280571117c30c03c2cc521cd86ec3 Mon Sep 17 00:00:00 2001
 From: Thomas Petazzoni <[email protected]>
 Date: Sat, 23 Jun 2012 21:58:07 +0200
-Subject: [PATCH] uClibc without RPC support does not install rpcent.h
+Subject: [PATCH] uClibc without RPC support and musl does not install rpcent.h
 
 Signed-off-by: Thomas Petazzoni <[email protected]>
 [yann.morin.1998 at free.fr: update for 0.3.1]
 Signed-off-by: "Yann E. MORIN" <[email protected]>
+[joerg.krause at embedded.rocks: musl fix]
+Signed-off-by: J?rg Krause <[email protected]>
 ---
  tirpc/rpc/rpcent.h | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)
@@ -22,7 +24,7 @@ index 147f909..4a58180 100644
 -#if !defined(__GLIBC__)
 +/* These are defined in /usr/include/rpc/netdb.h, unless we are using
 +   the C library without RPC support. */
-+#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_RPC__)
++#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_RPC__) || !defined(__GLIBC__)
  struct rpcent {
  	char	*r_name;	/* name of server for this rpc program */
  	char	**r_aliases;	/* alias list */
package/libtirpc/0006-Use-local-bsdqueue.h.patch new file +903 -0

903 lines not on this page · raw message

Signature · 1 line
2.4.6
#2 lore raw

PATCH v2 3/3 package/libtirpc: Do not build unsupported API files

In reply to Jörg Krause

Version 0.3.2 re-enables some APIs for backward compatibility with glibc's SunRPC:
- key_prot
- netname
- rtime

Unfortunalty, this breaks building libtirpc with uClibc and musl:
getpublickey.c:41:28: fatal error: rpcsvc/yp_prot.h: No such file or directory

We disable those API files as at least yp_prot.h is also NIS related to support building libtirpc with these two libc's.

---
Changes v1 -> v2:
- fixup 0007-Do-not-build-unsupported-API-files.patch into existing 0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch as yp_prot.h is NIS related (suggested by Thomas Petazzoni)

---
 ...Disable-parts-of-TIRPC-requiring-NIS-support.patch | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)
package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch +15 -4
index 71d4420..ea30fb2 100644
@@ -1,4 +1,4 @@
-From 583ad557faf86c5532e16dafff19bfdcc349752d Mon Sep 17 00:00:00 2001
+From cb2f393afdb444bf97a7327991f8f5a2c2f64082 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?J=C3=B6rg=20Krause?= <[email protected]>
 Date: Mon, 20 Jul 2015 20:30:11 +0200
 Subject: [PATCH 1/1] Disable parts of TIRPC requiring NIS support
@@ -12,11 +12,11 @@ Signed-off-by: "Yann E. MORIN" <[email protected]>
 [joerg.krause at embedded.rocks: update for 0.3.2]
 Signed-off-by: J?rg Krause <[email protected]>
 ---
- src/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ src/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/src/Makefile.am b/src/Makefile.am
-index 6cc567a..cf8a8ca 100644
+index 6cc567a..2b26a29 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
 @@ -51,7 +51,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
@@ -28,6 +28,17 @@ index 6cc567a..cf8a8ca 100644
  
  ## XDR
  libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
+@@ -68,8 +68,8 @@ if GSS
+     libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS)
+ endif
+ 
+-libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
+-libtirpc_la_SOURCES += netname.c netnamer.c rtime.c
++#libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
++#libtirpc_la_SOURCES += netname.c netnamer.c rtime.c
+ 
+ CLEANFILES	       = cscope.* *~
+ DISTCLEANFILES	       = Makefile.in
 -- 
 2.4.6
 
Signature · 1 line
2.4.6
#3 lore raw

PATCH v2 1/3 package/libtirpc: bump to version 0.3.2

In reply to Jörg Krause

Dear J?rg Krause,

Quoted 11 lines · J?rg Krause

Bump version, update hash and update patch.

---
Changes v1 -> v2:
- None

---
 ...sable-parts-of-TIRPC-requiring-NIS-support.patch | 21 +++++++++++++--------
 package/libtirpc/libtirpc.hash                      |  4 ++--
 package/libtirpc/libtirpc.mk                        |  2 +-
 3 files changed, 16 insertions(+), 11 deletions(-)

All three applied. In the last patch, I'm not too happy with the removed lines being commented instead of just being removed, but OK.

Our stack of patches on libtirpc is still huge though :-/

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#4 lore raw

PATCH v2 1/3 package/libtirpc: bump to version 0.3.2

In reply to Jörg Krause

Dear J?rg Krause,

Quoted 3 lines · J?rg Krause

Bump version, update hash and update patch.

This patch series is causing a number of build failures, such as:

http://autobuild.buildroot.org/results/33f/33f1849c6d1441d8565835872281e33a980aba6f/build-end.log

/home/peko/autobuild/instance-2/output/host/usr/bfin-buildroot-linux-uclibc/sysroot/usr/lib/libtirpc.so: undefined reference to `_authdes_seccreate'

Can you have a look?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH v2 1/3 package/libtirpc: bump to version 0.3.2

Quoted 9 lines · Thomas Petazzoni

Dear J?rg Krause,

Quoted 3 lines · J?rg Krause

Bump version, update hash and update patch.

This patch series is causing a number of build failures, such as:

Quoted 8 lines

http://autobuild.buildroot.org/results/33f/33f1849c6d1441d856583587
2281e33a980aba6f/build-end.log

/home/peko/autobuild/instance-2/output/host/usr/bfin-buildroot-linux -uclibc/sysroot/usr/lib/libtirpc.so: undefined reference to `_authdes_seccreate'

Can you have a look?

Sure. The problem is that with version 0.3.0 it was possible to disable auth DES optionally [1]. This was reverted in version 0.3.2 for backward compatibility with older glibc's. With commit 060b63865c58c716dc94c5987ab19b90899aa340 authdes_create() is defined by default in rpc_soc.c, which in return calls the undefined authdes_seccreate().

My suggestion would be to remove authdes_create() in rpc_soc.c.

Best regards
J?rg Krause

[1] Add configure option to disable DES authentication
http://www.spinics.net/lists/linux-nfs/msg48357.html

#6 lore raw

PATCH v2 1/3 package/libtirpc: bump to version 0.3.2

Dear J?rg Krause,

Quoted 8 lines · J?rg Krause

Sure. The problem is that with version 0.3.0 it was possible to disable auth DES optionally [1]. This was reverted in version 0.3.2 for backward compatibility with older glibc's. With commit 060b63865c58c716dc94c5987ab19b90899aa340 authdes_create() is defined by default in rpc_soc.c, which in return calls the undefined authdes_seccreate().

My suggestion would be to remove authdes_create() in rpc_soc.c.

Where would authdes_seccreate() be normally implemented? For sure the libtirpc developers didn't simply call an undefined function, no?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#7 lore raw

PATCH v2 1/3 package/libtirpc: bump to version 0.3.2

Quoted 13 lines · Thomas Petazzoni

Dear J?rg Krause,

Quoted 9 lines · J?rg Krause

Sure. The problem is that with version 0.3.0 it was possible to disable
auth DES optionally [1]. This was reverted in version 0.3.2 for backward compatibility with older glibc's. With commit 060b63865c58c716dc94c5987ab19b90899aa340 authdes_create() is defined by
default in rpc_soc.c, which in return calls the undefined authdes_seccreate().

Quoted 4 lines
Quoted 1 line

My suggestion would be to remove authdes_create() in rpc_soc.c.

Where would authdes_seccreate() be normally implemented? For sure the libtirpc developers didn't simply call an undefined function, no?

It's implemented in auth_des.c which we removed from building with patch #1.

gentoo has a patch removing authdes_create(), too [1].

[1]
https://gitweb.gentoo.org/proj/hardened-dev.git/diff/net
-libs/libtirpc/files/0007-no-des.patch?id=74727efe

Best regards
J?rg Krause

#8 lore raw

PATCH v2 1/3 package/libtirpc: bump to version 0.3.2

Dear J?rg Krause,

Quoted 8 lines · J?rg Krause

It's implemented in auth_des.c which we removed from building with patch #1.

gentoo has a patch removing authdes_create(), too [1].

[1]
https://gitweb.gentoo.org/proj/hardened-dev.git/diff/net
-libs/libtirpc/files/0007-no-des.patch?id=74727efe

Ok, so I guess you will submit a patch to fix this issue?

Thakns!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#9 lore raw

PATCH v2 1/3 package/libtirpc: bump to version 0.3.2

Quoted 7 lines · Thomas Petazzoni

Dear J?rg Krause,

Quoted 3 lines · J?rg Krause

It's implemented in auth_des.c which we removed from building with patch #1.

Quoted 7 lines
Quoted 5 lines

gentoo has a patch removing authdes_create(), too [1].

[1]
https://gitweb.gentoo.org/proj/hardened-dev.git/diff/net
-libs/libtirpc/files/0007-no-des.patch?id=74727efe

Ok, so I guess you will submit a patch to fix this issue?

Right, I'll prepare a patch which disables auth DES.

Best regards
J?rg Krause