Skip to contentSkip to conversation

libtirpc: respin patches

PATCH In review Bernhard Reutner-Fischer 3 participants 20 messages Mar 16, 2015 – Mar 18, 2015

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/3 libtirpc: respin patches

Due to libc-dependant conditional patching (which should be completely forbidden -- fix it properly instead) the last PV bump forgot to adjust patches so they failed to apply.

Fix this by redoing the patches. These patches were submitted for upstream master, add backported patches for the current tarball.

---
 ...0001-configure.ac-Allow-for-disabling-NIS.patch |  169 ++++++++++++++++
 ...configure.ac-Allow-for-disabling-auth-DES.patch |  203 ++++++++++++++++++++
 .../libtirpc/0003-debug.h-Include-stdarg.patch     |   20 ++
 .../libtirpc/libtirpc/remove-des-uclibc.patch      |   38 ----
 meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb   |    6 +-
 5 files changed, 397 insertions(+), 39 deletions(-)
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0002-configure.ac-Allow-for-disabling-auth-DES.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0003-debug.h-Include-stdarg.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch
meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch new file +169 -0
new file mode 100644
index 0000000..5b2aa3d
@@ -0,0 +1,169 @@
+From b562294d35d8a87af2bcdbc32c15cc973e50ed4e Mon Sep 17 00:00:00 2001
+From: Bernhard Reutner-Fischer <[email protected]>
+Date: Sun, 1 Mar 2015 12:18:05 +0100
+Subject: [PATCH 1/2] configure.ac: Allow for disabling NIS
+To: [email protected]
+Cc: Steve Dickson <[email protected]>
+
+Yellow Pages might not be available, provide a config knob to disable
+it.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Bernhard Reutner-Fischer <[email protected]>
+---
+ configure.ac    | 16 ++++++++++++++++
+ src/Makefile.am |  6 +++++-
+ src/auth_des.c  | 18 +++++++++++++++++-
+ src/auth_time.c |  3 ++-
+ 4 files changed, 40 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 10d17ea..d006ac9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,6 +32,22 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netine
+ AC_CHECK_LIB([pthread], [pthread_create])
+ AC_CHECK_LIB([nsl], [yp_get_default_domain])
+ 
++AC_ARG_ENABLE([nis],
++	[AC_HELP_STRING([--disable-nis],
++		[Disable Yellow Pages (NIS) support @<:@default=no@:>@])],
++	[],[enable_nis=yes])
++if test "x$enable_nis" != xno; then
++	AC_CHECK_HEADERS([rpcsvc/nis.h])
++	if test "x$ac_cv_header_rpcsvc_nis_h" != xyes; then
++		AC_WARN([NIS enabled but no rpcsvc/nis.h header found])
++		AC_WARN([Turning off NIS / YP support])
++		enable_nis="no"
++	fi
++fi
++if test "x$enable_nis" != xno; then
++	AC_DEFINE([YP], [1], [Define to 1 if NIS is available])
++fi
++AM_CONDITIONAL([YP], [test "x$enable_nis" != xno])
+ 
+ AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile])
+ AC_OUTPUT(libtirpc.pc)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index de57c8f..7861057 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
+         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 auth_des.c authdes_prot.c debug.c
++        auth_des.c authdes_prot.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
+@@ -63,6 +63,10 @@ if GSS
+     libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS)
+ endif
+ 
++if YP
++    libtirpc_la_SOURCES += auth_time.c
++endif
++
+ ## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
+ ## libtirpc_a_SOURCES += netname.c netnamer.c rpcdname.c \
+ ## libtirpc_a_SOURCES += rtime.c \
+diff --git a/src/auth_des.c b/src/auth_des.c
+index cff777c..be9d364 100644
+--- a/src/auth_des.c
++++ b/src/auth_des.c
+@@ -48,7 +48,9 @@
+ #include <rpc/xdr.h>
+ #include <sys/socket.h>
+ #undef NIS
++#ifdef HAVE_RPCSVC_NIS_H
+ #include <rpcsvc/nis.h>
++#endif
+ 
+ #if defined(LIBC_SCCS) && !defined(lint)
+ #endif
+@@ -68,8 +70,13 @@ extern bool_t xdr_authdes_cred( XDR *, struct authdes_cred *);
+ extern bool_t xdr_authdes_verf( XDR *, struct authdes_verf *);
+ extern int key_encryptsession_pk();
+ 
++#ifdef YP
+ extern bool_t __rpc_get_time_offset(struct timeval *, nis_server *, char *,
+ 	char **, char **);
++#else
++# define __rpc_get_time_offset(__a,__b,__c,__d, __e) (1) /* always valid */
++# define nis_server char
++#endif
+ 
+ /* 
+  * DES authenticator operations vector
+@@ -103,7 +110,9 @@ struct ad_private {
+ 	u_char ad_pkey[1024];		/* Server's actual public key */
+ 	char *ad_netid;			/* Timehost netid */
+ 	char *ad_uaddr;			/* Timehost uaddr */
++#ifdef YP
+ 	nis_server *ad_nis_srvr;	/* NIS+ server struct */
++#endif
+ };
+ 
+ AUTH *authdes_pk_seccreate(const char *, netobj *, u_int, const char *,
+@@ -148,7 +157,8 @@ authdes_seccreate(const char *servername, const u_int win,
+  */
+ AUTH *
+ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+-	const char *timehost, const des_block *ckey, nis_server *srvr)
++	const char *timehost, const des_block *ckey, nis_server *srvr
++	)
+ {
+ 	AUTH *auth;
+ 	struct ad_private *ad;
+@@ -171,7 +181,9 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+ 	ad->ad_timehost = NULL;
+ 	ad->ad_netid = NULL;
+ 	ad->ad_uaddr = NULL;
++#ifdef YP
+ 	ad->ad_nis_srvr = NULL;
++#endif
+ 	ad->ad_timediff.tv_sec = 0;
+ 	ad->ad_timediff.tv_usec = 0;
+ 	memcpy(ad->ad_pkey, pkey->n_bytes, pkey->n_len);
+@@ -194,9 +206,11 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+ 		}
+ 		memcpy(ad->ad_timehost, timehost, strlen(timehost) + 1);
+ 		ad->ad_dosync = TRUE;
++#ifdef YP
+ 	} else if (srvr != NULL) {
+ 		ad->ad_nis_srvr = srvr;	/* transient */
+ 		ad->ad_dosync = TRUE;
++#endif
+ 	} else {
+ 		ad->ad_dosync = FALSE;
+ 	}
+@@ -224,7 +238,9 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+ 	if (!authdes_refresh(auth, NULL)) {
+ 		goto failed;
+ 	}
++#ifdef YP
+ 	ad->ad_nis_srvr = NULL; /* not needed any longer */
++#endif
+ 	auth_get(auth);		/* Reference for caller */
+ 	return (auth);
+ 
+diff --git a/src/auth_time.c b/src/auth_time.c
+index 7cfbb7e..111de90 100644
+--- a/src/auth_time.c
++++ b/src/auth_time.c
+@@ -43,8 +43,9 @@
+ //#include <clnt_soc.h>
+ #include <sys/select.h>
+ #undef NIS
++#ifdef HAVE_RPCSVC_NIS_H
+ #include <rpcsvc/nis.h>
+-
++#endif
+ 
+ #ifdef TESTING
+ #define	msg(x)	printf("ERROR: %s\n", x)
+-- 
+2.1.4
+
meta/recipes-extended/libtirpc/libtirpc/0002-configure.ac-Allow-for-disabling-auth-DES.patch new file +203 -0

203 lines not on this page · raw message

meta/recipes-extended/libtirpc/libtirpc/0003-debug.h-Include-stdarg.patch new file +20 -0
new file mode 100644
index 0000000..d29c1fb
@@ -0,0 +1,20 @@
+Subject: [PATCH] debug.h: add missing include
+
+Upstream-Status: Pending
+
+In file included from src/clnt_bcast.c:67:0:
+src/debug.h:39:47: error: unknown type name 'va_list'
+ vlibtirpc_log_dbg(int level, const char *fmt, va_list args)
+
+
+diff -rdup libtirpc-0.2.5.oorig/src/debug.h libtirpc-0.2.5/src/debug.h
+--- libtirpc-0.2.5.oorig/src/debug.h	2014-08-08 18:24:34.000000000 +0200
++++ libtirpc-0.2.5/src/debug.h	2015-03-11 20:55:29.141397172 +0100
+@@ -21,6 +21,7 @@
+ 
+ #ifndef _DEBUG_H
+ #define _DEBUG_H
++#include <stdarg.h>
+ #include <syslog.h>
+ 
+ extern int libtirpc_debug_level;
meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch deleted +0 -38
deleted file mode 100644
index d003348..0000000
@@ -1,38 +0,0 @@
-uclibc does not provide des functionality unlike eglibc so lets disable ssl support
-
-Upstream-Status: Inappropriate [uclibc specific]
-Signed-off-by: Khem Raj <[email protected]>
-
-Index: libtirpc-0.2.3/src/rpc_soc.c
-===================================================================
---- libtirpc-0.2.3.orig/src/rpc_soc.c	2013-03-10 16:00:51.355282153 -0700
-+++ libtirpc-0.2.3/src/rpc_soc.c	2013-03-10 16:00:51.703282148 -0700
-@@ -520,6 +520,7 @@
- 	    (resultproc_t) rpc_wrap_bcast, "udp");
- }
- 
-+#if 0
- /*
-  * Create the client des authentication object. Obsoleted by
-  * authdes_seccreate().
-@@ -551,6 +552,7 @@
- 	dummy = authdes_seccreate(servername, window, NULL, ckey);
- 	return (dummy);
- }
-+#endif
- 
- /*
-  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()
-Index: libtirpc-0.2.3/src/Makefile.am
-===================================================================
---- libtirpc-0.2.3.orig/src/Makefile.am	2013-03-10 16:00:51.355282153 -0700
-+++ libtirpc-0.2.3/src/Makefile.am	2013-03-10 16:00:51.703282148 -0700
-@@ -50,7 +50,7 @@
-         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 auth_des.c authdes_prot.c
-+        auth_time.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
meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb +5 -1
index 3edf002..fc880c4 100644
@@ -10,12 +10,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
 DEPENDS += "xz-native"
 PROVIDES = "virtual/librpc"
 
+PR = "r1"
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \
            ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \
            file://libtirpc-0.2.1-fortify.patch \
+           file://0001-configure.ac-Allow-for-disabling-NIS.patch \
+           file://0002-configure.ac-Allow-for-disabling-auth-DES.patch \
+           file://0003-debug.h-Include-stdarg.patch \
           "
 
-SRC_URI_append_libc-uclibc = " file://remove-des-uclibc.patch"
+EXTRA_OECONF_append_libc-uclibc = " --disable-nis --disable-authdes"
 
 SRC_URI[libtirpc.md5sum] = "8cd41a5ef5a9b50d0fb6abb98af15368"
 SRC_URI[libtirpc.sha256sum] = "62f9de7c2c8686c568757730e1fef66502a0e00d6cacf33546d0267984e002db"
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v2 2/3 rpcbind: respin patches

Due to libc-dependant conditional patching (which should be completely forbidden -- fix it properly instead) the last PV bump forgot to adjust patches so they failed to apply.

Fix this by redoing the patches. These patches were submitted for upstream master, add backported patches for the current tarball.

---
 ...001-configure.ac-Check-for-rpcsvc-mount.h.patch |   64 ++++++++++++++++++++
 .../rpcbind/rpcbind/0001-uclibc-nss.patch          |   30 ---------
 .../rpcbind/0002-uclibc-rpcsvc-defines.patch       |   60 ------------------
 meta/recipes-extended/rpcbind/rpcbind_0.2.2.bb     |    8 +--
 4 files changed, 66 insertions(+), 96 deletions(-)
 create mode 100644 meta/recipes-extended/rpcbind/rpcbind/0001-configure.ac-Check-for-rpcsvc-mount.h.patch
 delete mode 100644 meta/recipes-extended/rpcbind/rpcbind/0001-uclibc-nss.patch
 delete mode 100644 meta/recipes-extended/rpcbind/rpcbind/0002-uclibc-rpcsvc-defines.patch
meta/recipes-extended/rpcbind/rpcbind/0001-configure.ac-Check-for-rpcsvc-mount.h.patch new file +64 -0
new file mode 100644
index 0000000..cd3137f
@@ -0,0 +1,64 @@
+From 8c5e97b9ff5699a5eafad6c4348bbb0b84ec30e0 Mon Sep 17 00:00:00 2001
+From: Bernhard Reutner-Fischer <[email protected]>
+Date: Tue, 3 Mar 2015 01:59:50 +0100
+Subject: [PATCH,rpcbind 2/4] configure.ac: Check for rpcsvc/mount.h
+To: Steve Dickson <[email protected]>
+Cc: [email protected]
+
+The function check_callit() attempts to reference a number of defines
+from files that might not be available for everything but glibc.
+
+For simplicity assume that if there is no rpcsvc/mount.h all the other
+includes do not exist either.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Bernhard Reutner-Fischer <[email protected]>
+---
+ configure.ac   |  2 +-
+ src/security.c | 17 +++++++++++++++++
+ 2 files changed, 18 insertions(+), 1 deletion(-)
+
+diff -rdup rpcbind-0.2.2.orig/configure.ac rpcbind-0.2.2/configure.ac
+--- rpcbind-0.2.2.orig/configure.ac	2014-11-25 21:34:48.000000000 +0100
++++ rpcbind-0.2.2/configure.ac	2015-03-12 10:47:12.613608115 +0100
+@@ -55,4 +55,6 @@ AS_IF([test x$enable_libwrap = xyes], [
+ 
+ AC_SEARCH_LIBS([pthread_create], [pthread])
+ 
++AC_CHECK_HEADERS([nss.h rpcsvc/mount.h])
++
+ AC_OUTPUT([Makefile])
+diff -rdup rpcbind-0.2.2.orig/src/security.c rpcbind-0.2.2/src/security.c
+--- rpcbind-0.2.2.orig/src/security.c	2014-11-25 21:34:48.000000000 +0100
++++ rpcbind-0.2.2/src/security.c	2015-03-12 10:45:40.580434845 +0100
+@@ -20,12 +20,29 @@
+ /*
+  * XXX for special case checks in check_callit.
+  */
++#ifdef HAVE_RPCSVC_MOUNT_H
+ #include <rpcsvc/mount.h>
+ #include <rpcsvc/rquota.h>
+ #include <rpcsvc/nfs_prot.h>
+ #include <rpcsvc/yp.h>
+ #include <rpcsvc/ypclnt.h>
+ #include <rpcsvc/yppasswd.h>
++#else
++# define MOUNTPROC_MNT	1
++# define MOUNTPROC_UMNT	3
++# define NFS_PROGRAM	100003
++# define YPPROG		100004
++# define MOUNTPROG	100005
++# define YPBINDPROG	100007
++# define YPPASSWDPROG	100009
++# define RQUOTAPROG	100011
++
++# define YPBINDPROC_SETDOM	2
++# define YPPROC_MATCH	3
++# define YPPROC_FIRST	4
++# define YPPROC_NEXT	5
++# define YPPROC_ALL	8
++#endif
+ 
+ #include "rpcbind.h"
+ 
meta/recipes-extended/rpcbind/rpcbind/0001-uclibc-nss.patch deleted +0 -30
deleted file mode 100644
index afa55f3..0000000
@@ -1,30 +0,0 @@
-Upstream-Status: Pending
-
-From b8f0d7b7318ba344c25785d6f5cf3f8de98012d4 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <[email protected]>
-Date: Tue, 2 Feb 2010 09:36:03 +0000
-Subject: [PATCH 1/2] uclibc-nss
-
----
- src/rpcbind.c |    4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/src/rpcbind.c b/src/rpcbind.c
-index 525ffba..1fe1a60 100644
---- a/src/rpcbind.c
-+++ b/src/rpcbind.c
-@@ -67,7 +67,11 @@
- #include <pwd.h>
- #include <string.h>
- #include <errno.h>
-+#if defined(__UCLIBC__)
-+#define __nss_configure_lookup(x,y)
-+#else
- #include <nss.h>
-+#endif
- #include "config.h"
- #include "rpcbind.h"
- 
--- 
-1.6.6.1
-
meta/recipes-extended/rpcbind/rpcbind/0002-uclibc-rpcsvc-defines.patch deleted +0 -60

60 lines not on this page · raw message

meta/recipes-extended/rpcbind/rpcbind_0.2.2.bb +2 -6
index fd4b2b5..7414d89 100644
@@ -10,19 +10,15 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \
                     file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
 
+PR = "r1"
 SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
            file://init.d \
-           ${UCLIBCPATCHES} \
+           file://0001-configure.ac-Check-for-rpcsvc-mount.h.patch \
            file://rpcbind.conf \
            file://rpcbind.socket \
            file://rpcbind.service \
           "
 
-UCLIBCPATCHES_libc-uclibc = "file://0001-uclibc-nss.patch \
-                             file://0002-uclibc-rpcsvc-defines.patch \
-                            "
-UCLIBCPATCHES ?= ""
-
 SRC_URI[md5sum] = "8acf839bfef2364a05fbd6be5f8edf9a"
 SRC_URI[sha256sum] = "13dbc8c796dbe0ce8df873007bea0490c8460b56202d918c9eb6fa0358a08f29"
 
Signature · 1 line
1.7.10.4
#2 lore raw

Re: [PATCH 2/3] rpcbind: respin patches

Quoted 7 lines · Bernhard Reutner-Fischer

Due to libc-dependant conditional patching (which should be completely forbidden -- fix it properly instead) the last PV bump forgot to adjust patches so they failed to apply.

Fix this by redoing the patches. These patches were submitted for upstream master, add backported patches for the current tarball.

The autobuilder is failing on this recipe (
http://errors.yoctoproject.org/Errors/Details/9409/):

/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-skeleton/build/build/tmp/sysroots/qemux86-64/usr/lib/../lib/libtirpc.so:
undefined reference to `_yp_check'

Ross

#3 lore raw

Re: [PATCH 2/3] rpcbind: respin patches

Quoted 12 lines · Ross
Quoted 7 lines · Bernhard Reutner-Fischer

Due to libc-dependant conditional patching (which should be completely forbidden -- fix it properly instead) the last PV bump forgot to adjust patches so they failed to apply.

Fix this by redoing the patches. These patches were submitted for upstream master, add backported patches for the current tarball.

Quoted 5 lines

The autobuilder is failing on this recipe
(http://errors.yoctoproject.org/Errors/Details/9409/):

/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-skeleton/build/build/tmp/sysroots/qemux86-64/usr/lib/../lib/libtirpc.so:
undefined reference to `_yp_check'

yes. I suggest you disable NIS / YP support for glibc too. Alternatively you most likely want upstream to sed -i -e "s/_yp_check/__yp_check/g" src/getrpcent.c

This IMO is a pre-existing bug in the upstream libtirpc that i deliberately did not fix since i don't do YP anymore nowadays.

thanks,

#4 lore raw

PATCH v2 3/3 packagegroup zeroconf: nss-mdns is libc dependant

In reply to Bernhard Reutner-Fischer

glibc provides NSS, other libc do not, so only add libnss-mdns to the zeroconf package group for glibc.
This fixes the build of core-image-sato for e.g. uClibc

---
 meta/recipes-core/packagegroups/packagegroup-base.bb |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-core/packagegroups/packagegroup-base.bb +3 -1
index 369b63e..262d65f 100644
@@ -347,8 +347,10 @@ RRECOMMENDS_packagegroup-base-nfs = "\
 
 SUMMARY_packagegroup-base-zeroconf = "Zeroconf support"
 RDEPENDS_packagegroup-base-zeroconf = "\
-    libnss-mdns \
     avahi-daemon"
+RDEPENDS_packagegroup-base-zeroconf_append_libc-glibc = "\
+    libnss-mdns \
+    "
 
 SUMMARY_packagegroup-base-ipv6 = "IPv6 support"
 RDEPENDS_packagegroup-base-ipv6 = "\
Signature · 1 line
1.7.10.4
#6 lore raw
Quoted 8 lines · Ross
Quoted 2 lines · Bernhard Reutner-Fischer

+PR = "r1"

No need to bump PR, remove this line please.

yea, i'm not changing anything from installed binaries perspective, right?

#7 lore raw
Quoted 3 lines · Bernhard Reutner-Fischer

yea, i'm not changing anything from installed binaries perspective, right?

Even if you were we haven't needed explicit PR bumps for quite a while now. The PR service will automatically increase the PR if required.

Ross

#8 lore raw
Quoted 9 lines · Ross
Quoted 3 lines · Bernhard Reutner-Fischer

yea, i'm not changing anything from installed binaries perspective, right?

Even if you were we haven't needed explicit PR bumps for quite a while now. The PR service will automatically increase the PR if required.

k, thanks!

#9 lore raw

(obviously remove the PR bumps from the entire series, thanks)

Quoted 16 lines · Bernhard Reutner-Fischer
Quoted 2 lines · Ross

On 16 March 2015 at 13:49, Bernhard Reutner-Fischer <

[email protected]>

Quoted 3 lines
Quoted 2 lines · wrote:

yea, i'm not changing anything from installed binaries perspective,

right?

Quoted 3 lines
Quoted 1 line

Even if you were we haven't needed explicit PR bumps for quite a while

now.

Quoted 1 line

The PR service will automatically increase the PR if required.

k, thanks!

#10 lore raw

v2 cover misc uClibc-related tweaks

Changes from v2:
- drop PR bumps

The following changes since commit fb29441216435b9bae47ca9cd42db5a6b1fe77d8:

oeqa/parselogs: Skip hda opcode errors (2015-03-12 12:49:22 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib aldot/fixes
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=aldot/fixes

Bernhard Reutner-Fischer (3):
libtirpc: respin patches
rpcbind: respin patches
packagegroup zeroconf: nss-mdns is libc dependant

 .../packagegroups/packagegroup-base.bb             |   4 +-
 ...0001-configure.ac-Allow-for-disabling-NIS.patch | 169 +++++++++++++++++
 ...configure.ac-Allow-for-disabling-auth-DES.patch | 203 +++++++++++++++++++++
 .../libtirpc/0003-debug.h-Include-stdarg.patch     |  20 ++
 .../libtirpc/libtirpc/remove-des-uclibc.patch      |  38 ----
 meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb   |   5 +-
 ...001-configure.ac-Check-for-rpcsvc-mount.h.patch |  64 +++++++
 .../rpcbind/rpcbind/0001-uclibc-nss.patch          |  30 ---
 .../rpcbind/0002-uclibc-rpcsvc-defines.patch       |  60 ------
 meta/recipes-extended/rpcbind/rpcbind_0.2.2.bb     |   7 +-
 10 files changed, 464 insertions(+), 136 deletions(-)
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0002-configure.ac-Allow-for-disabling-auth-DES.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0003-debug.h-Include-stdarg.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch
 create mode 100644 meta/recipes-extended/rpcbind/rpcbind/0001-configure.ac-Check-for-rpcsvc-mount.h.patch
 delete mode 100644 meta/recipes-extended/rpcbind/rpcbind/0001-uclibc-nss.patch
 delete mode 100644 meta/recipes-extended/rpcbind/rpcbind/0002-uclibc-rpcsvc-defines.patch
Signature · 1 line
2.1.4
#11 lore raw

PATCH v2 1/3 libtirpc: respin patches

Due to libc-dependant conditional patching (which should be completely forbidden -- fix it properly instead) the last PV bump forgot to adjust patches so they failed to apply.

Fix this by redoing the patches. These patches were submitted for upstream master, add backported patches for the current tarball.

---
 ...0001-configure.ac-Allow-for-disabling-NIS.patch | 169 +++++++++++++++++
 ...configure.ac-Allow-for-disabling-auth-DES.patch | 203 +++++++++++++++++++++
 .../libtirpc/0003-debug.h-Include-stdarg.patch     |  20 ++
 .../libtirpc/libtirpc/remove-des-uclibc.patch      |  38 ----
 meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb   |   5 +-
 5 files changed, 396 insertions(+), 39 deletions(-)
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0002-configure.ac-Allow-for-disabling-auth-DES.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0003-debug.h-Include-stdarg.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch
meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch new file +169 -0
new file mode 100644
index 0000000..5b2aa3d
@@ -0,0 +1,169 @@
+From b562294d35d8a87af2bcdbc32c15cc973e50ed4e Mon Sep 17 00:00:00 2001
+From: Bernhard Reutner-Fischer <[email protected]>
+Date: Sun, 1 Mar 2015 12:18:05 +0100
+Subject: [PATCH 1/2] configure.ac: Allow for disabling NIS
+To: [email protected]
+Cc: Steve Dickson <[email protected]>
+
+Yellow Pages might not be available, provide a config knob to disable
+it.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Bernhard Reutner-Fischer <[email protected]>
+---
+ configure.ac    | 16 ++++++++++++++++
+ src/Makefile.am |  6 +++++-
+ src/auth_des.c  | 18 +++++++++++++++++-
+ src/auth_time.c |  3 ++-
+ 4 files changed, 40 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 10d17ea..d006ac9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,6 +32,22 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netine
+ AC_CHECK_LIB([pthread], [pthread_create])
+ AC_CHECK_LIB([nsl], [yp_get_default_domain])
+ 
++AC_ARG_ENABLE([nis],
++	[AC_HELP_STRING([--disable-nis],
++		[Disable Yellow Pages (NIS) support @<:@default=no@:>@])],
++	[],[enable_nis=yes])
++if test "x$enable_nis" != xno; then
++	AC_CHECK_HEADERS([rpcsvc/nis.h])
++	if test "x$ac_cv_header_rpcsvc_nis_h" != xyes; then
++		AC_WARN([NIS enabled but no rpcsvc/nis.h header found])
++		AC_WARN([Turning off NIS / YP support])
++		enable_nis="no"
++	fi
++fi
++if test "x$enable_nis" != xno; then
++	AC_DEFINE([YP], [1], [Define to 1 if NIS is available])
++fi
++AM_CONDITIONAL([YP], [test "x$enable_nis" != xno])
+ 
+ AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile])
+ AC_OUTPUT(libtirpc.pc)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index de57c8f..7861057 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
+         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 auth_des.c authdes_prot.c debug.c
++        auth_des.c authdes_prot.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
+@@ -63,6 +63,10 @@ if GSS
+     libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS)
+ endif
+ 
++if YP
++    libtirpc_la_SOURCES += auth_time.c
++endif
++
+ ## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
+ ## libtirpc_a_SOURCES += netname.c netnamer.c rpcdname.c \
+ ## libtirpc_a_SOURCES += rtime.c \
+diff --git a/src/auth_des.c b/src/auth_des.c
+index cff777c..be9d364 100644
+--- a/src/auth_des.c
++++ b/src/auth_des.c
+@@ -48,7 +48,9 @@
+ #include <rpc/xdr.h>
+ #include <sys/socket.h>
+ #undef NIS
++#ifdef HAVE_RPCSVC_NIS_H
+ #include <rpcsvc/nis.h>
++#endif
+ 
+ #if defined(LIBC_SCCS) && !defined(lint)
+ #endif
+@@ -68,8 +70,13 @@ extern bool_t xdr_authdes_cred( XDR *, struct authdes_cred *);
+ extern bool_t xdr_authdes_verf( XDR *, struct authdes_verf *);
+ extern int key_encryptsession_pk();
+ 
++#ifdef YP
+ extern bool_t __rpc_get_time_offset(struct timeval *, nis_server *, char *,
+ 	char **, char **);
++#else
++# define __rpc_get_time_offset(__a,__b,__c,__d, __e) (1) /* always valid */
++# define nis_server char
++#endif
+ 
+ /* 
+  * DES authenticator operations vector
+@@ -103,7 +110,9 @@ struct ad_private {
+ 	u_char ad_pkey[1024];		/* Server's actual public key */
+ 	char *ad_netid;			/* Timehost netid */
+ 	char *ad_uaddr;			/* Timehost uaddr */
++#ifdef YP
+ 	nis_server *ad_nis_srvr;	/* NIS+ server struct */
++#endif
+ };
+ 
+ AUTH *authdes_pk_seccreate(const char *, netobj *, u_int, const char *,
+@@ -148,7 +157,8 @@ authdes_seccreate(const char *servername, const u_int win,
+  */
+ AUTH *
+ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+-	const char *timehost, const des_block *ckey, nis_server *srvr)
++	const char *timehost, const des_block *ckey, nis_server *srvr
++	)
+ {
+ 	AUTH *auth;
+ 	struct ad_private *ad;
+@@ -171,7 +181,9 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+ 	ad->ad_timehost = NULL;
+ 	ad->ad_netid = NULL;
+ 	ad->ad_uaddr = NULL;
++#ifdef YP
+ 	ad->ad_nis_srvr = NULL;
++#endif
+ 	ad->ad_timediff.tv_sec = 0;
+ 	ad->ad_timediff.tv_usec = 0;
+ 	memcpy(ad->ad_pkey, pkey->n_bytes, pkey->n_len);
+@@ -194,9 +206,11 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+ 		}
+ 		memcpy(ad->ad_timehost, timehost, strlen(timehost) + 1);
+ 		ad->ad_dosync = TRUE;
++#ifdef YP
+ 	} else if (srvr != NULL) {
+ 		ad->ad_nis_srvr = srvr;	/* transient */
+ 		ad->ad_dosync = TRUE;
++#endif
+ 	} else {
+ 		ad->ad_dosync = FALSE;
+ 	}
+@@ -224,7 +238,9 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+ 	if (!authdes_refresh(auth, NULL)) {
+ 		goto failed;
+ 	}
++#ifdef YP
+ 	ad->ad_nis_srvr = NULL; /* not needed any longer */
++#endif
+ 	auth_get(auth);		/* Reference for caller */
+ 	return (auth);
+ 
+diff --git a/src/auth_time.c b/src/auth_time.c
+index 7cfbb7e..111de90 100644
+--- a/src/auth_time.c
++++ b/src/auth_time.c
+@@ -43,8 +43,9 @@
+ //#include <clnt_soc.h>
+ #include <sys/select.h>
+ #undef NIS
++#ifdef HAVE_RPCSVC_NIS_H
+ #include <rpcsvc/nis.h>
+-
++#endif
+ 
+ #ifdef TESTING
+ #define	msg(x)	printf("ERROR: %s\n", x)
+-- 
+2.1.4
+
meta/recipes-extended/libtirpc/libtirpc/0002-configure.ac-Allow-for-disabling-auth-DES.patch new file +203 -0

203 lines not on this page · raw message

meta/recipes-extended/libtirpc/libtirpc/0003-debug.h-Include-stdarg.patch new file +20 -0
new file mode 100644
index 0000000..d29c1fb
@@ -0,0 +1,20 @@
+Subject: [PATCH] debug.h: add missing include
+
+Upstream-Status: Pending
+
+In file included from src/clnt_bcast.c:67:0:
+src/debug.h:39:47: error: unknown type name 'va_list'
+ vlibtirpc_log_dbg(int level, const char *fmt, va_list args)
+
+
+diff -rdup libtirpc-0.2.5.oorig/src/debug.h libtirpc-0.2.5/src/debug.h
+--- libtirpc-0.2.5.oorig/src/debug.h	2014-08-08 18:24:34.000000000 +0200
++++ libtirpc-0.2.5/src/debug.h	2015-03-11 20:55:29.141397172 +0100
+@@ -21,6 +21,7 @@
+ 
+ #ifndef _DEBUG_H
+ #define _DEBUG_H
++#include <stdarg.h>
+ #include <syslog.h>
+ 
+ extern int libtirpc_debug_level;
meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch deleted +0 -38
deleted file mode 100644
index d003348..0000000
@@ -1,38 +0,0 @@
-uclibc does not provide des functionality unlike eglibc so lets disable ssl support
-
-Upstream-Status: Inappropriate [uclibc specific]
-Signed-off-by: Khem Raj <[email protected]>
-
-Index: libtirpc-0.2.3/src/rpc_soc.c
-===================================================================
---- libtirpc-0.2.3.orig/src/rpc_soc.c	2013-03-10 16:00:51.355282153 -0700
-+++ libtirpc-0.2.3/src/rpc_soc.c	2013-03-10 16:00:51.703282148 -0700
-@@ -520,6 +520,7 @@
- 	    (resultproc_t) rpc_wrap_bcast, "udp");
- }
- 
-+#if 0
- /*
-  * Create the client des authentication object. Obsoleted by
-  * authdes_seccreate().
-@@ -551,6 +552,7 @@
- 	dummy = authdes_seccreate(servername, window, NULL, ckey);
- 	return (dummy);
- }
-+#endif
- 
- /*
-  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()
-Index: libtirpc-0.2.3/src/Makefile.am
-===================================================================
---- libtirpc-0.2.3.orig/src/Makefile.am	2013-03-10 16:00:51.355282153 -0700
-+++ libtirpc-0.2.3/src/Makefile.am	2013-03-10 16:00:51.703282148 -0700
-@@ -50,7 +50,7 @@
-         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 auth_des.c authdes_prot.c
-+        auth_time.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
meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb +4 -1
index 3edf002..2fd45f0 100644
@@ -13,9 +13,12 @@ PROVIDES = "virtual/librpc"
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \
            ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \
            file://libtirpc-0.2.1-fortify.patch \
+           file://0001-configure.ac-Allow-for-disabling-NIS.patch \
+           file://0002-configure.ac-Allow-for-disabling-auth-DES.patch \
+           file://0003-debug.h-Include-stdarg.patch \
           "
 
-SRC_URI_append_libc-uclibc = " file://remove-des-uclibc.patch"
+EXTRA_OECONF_append_libc-uclibc = " --disable-nis --disable-authdes"
 
 SRC_URI[libtirpc.md5sum] = "8cd41a5ef5a9b50d0fb6abb98af15368"
 SRC_URI[libtirpc.sha256sum] = "62f9de7c2c8686c568757730e1fef66502a0e00d6cacf33546d0267984e002db"
Signature · 1 line
2.1.4
#12 lore raw

PATCH v2 2/3 rpcbind: respin patches

In reply to Bernhard Reutner-Fischer

Due to libc-dependant conditional patching (which should be completely forbidden -- fix it properly instead) the last PV bump forgot to adjust patches so they failed to apply.

Fix this by redoing the patches. These patches were submitted for upstream master, add backported patches for the current tarball.

v2: Remove PR bump

---
 ...001-configure.ac-Check-for-rpcsvc-mount.h.patch | 64 ++++++++++++++++++++++
 .../rpcbind/rpcbind/0001-uclibc-nss.patch          | 30 ----------
 .../rpcbind/0002-uclibc-rpcsvc-defines.patch       | 60 --------------------
 meta/recipes-extended/rpcbind/rpcbind_0.2.2.bb     |  7 +--
 4 files changed, 65 insertions(+), 96 deletions(-)
 create mode 100644 meta/recipes-extended/rpcbind/rpcbind/0001-configure.ac-Check-for-rpcsvc-mount.h.patch
 delete mode 100644 meta/recipes-extended/rpcbind/rpcbind/0001-uclibc-nss.patch
 delete mode 100644 meta/recipes-extended/rpcbind/rpcbind/0002-uclibc-rpcsvc-defines.patch
meta/recipes-extended/rpcbind/rpcbind/0001-configure.ac-Check-for-rpcsvc-mount.h.patch new file +64 -0
new file mode 100644
index 0000000..cd3137f
@@ -0,0 +1,64 @@
+From 8c5e97b9ff5699a5eafad6c4348bbb0b84ec30e0 Mon Sep 17 00:00:00 2001
+From: Bernhard Reutner-Fischer <[email protected]>
+Date: Tue, 3 Mar 2015 01:59:50 +0100
+Subject: [PATCH,rpcbind 2/4] configure.ac: Check for rpcsvc/mount.h
+To: Steve Dickson <[email protected]>
+Cc: [email protected]
+
+The function check_callit() attempts to reference a number of defines
+from files that might not be available for everything but glibc.
+
+For simplicity assume that if there is no rpcsvc/mount.h all the other
+includes do not exist either.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Bernhard Reutner-Fischer <[email protected]>
+---
+ configure.ac   |  2 +-
+ src/security.c | 17 +++++++++++++++++
+ 2 files changed, 18 insertions(+), 1 deletion(-)
+
+diff -rdup rpcbind-0.2.2.orig/configure.ac rpcbind-0.2.2/configure.ac
+--- rpcbind-0.2.2.orig/configure.ac	2014-11-25 21:34:48.000000000 +0100
++++ rpcbind-0.2.2/configure.ac	2015-03-12 10:47:12.613608115 +0100
+@@ -55,4 +55,6 @@ AS_IF([test x$enable_libwrap = xyes], [
+ 
+ AC_SEARCH_LIBS([pthread_create], [pthread])
+ 
++AC_CHECK_HEADERS([nss.h rpcsvc/mount.h])
++
+ AC_OUTPUT([Makefile])
+diff -rdup rpcbind-0.2.2.orig/src/security.c rpcbind-0.2.2/src/security.c
+--- rpcbind-0.2.2.orig/src/security.c	2014-11-25 21:34:48.000000000 +0100
++++ rpcbind-0.2.2/src/security.c	2015-03-12 10:45:40.580434845 +0100
+@@ -20,12 +20,29 @@
+ /*
+  * XXX for special case checks in check_callit.
+  */
++#ifdef HAVE_RPCSVC_MOUNT_H
+ #include <rpcsvc/mount.h>
+ #include <rpcsvc/rquota.h>
+ #include <rpcsvc/nfs_prot.h>
+ #include <rpcsvc/yp.h>
+ #include <rpcsvc/ypclnt.h>
+ #include <rpcsvc/yppasswd.h>
++#else
++# define MOUNTPROC_MNT	1
++# define MOUNTPROC_UMNT	3
++# define NFS_PROGRAM	100003
++# define YPPROG		100004
++# define MOUNTPROG	100005
++# define YPBINDPROG	100007
++# define YPPASSWDPROG	100009
++# define RQUOTAPROG	100011
++
++# define YPBINDPROC_SETDOM	2
++# define YPPROC_MATCH	3
++# define YPPROC_FIRST	4
++# define YPPROC_NEXT	5
++# define YPPROC_ALL	8
++#endif
+ 
+ #include "rpcbind.h"
+ 
meta/recipes-extended/rpcbind/rpcbind/0001-uclibc-nss.patch deleted +0 -30
deleted file mode 100644
index afa55f3..0000000
@@ -1,30 +0,0 @@
-Upstream-Status: Pending
-
-From b8f0d7b7318ba344c25785d6f5cf3f8de98012d4 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <[email protected]>
-Date: Tue, 2 Feb 2010 09:36:03 +0000
-Subject: [PATCH 1/2] uclibc-nss
-
----
- src/rpcbind.c |    4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/src/rpcbind.c b/src/rpcbind.c
-index 525ffba..1fe1a60 100644
---- a/src/rpcbind.c
-+++ b/src/rpcbind.c
-@@ -67,7 +67,11 @@
- #include <pwd.h>
- #include <string.h>
- #include <errno.h>
-+#if defined(__UCLIBC__)
-+#define __nss_configure_lookup(x,y)
-+#else
- #include <nss.h>
-+#endif
- #include "config.h"
- #include "rpcbind.h"
- 
--- 
-1.6.6.1
-
meta/recipes-extended/rpcbind/rpcbind/0002-uclibc-rpcsvc-defines.patch deleted +0 -60

60 lines not on this page · raw message

meta/recipes-extended/rpcbind/rpcbind_0.2.2.bb +1 -6
index fd4b2b5..85bad6d 100644
@@ -12,17 +12,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
            file://init.d \
-           ${UCLIBCPATCHES} \
+           file://0001-configure.ac-Check-for-rpcsvc-mount.h.patch \
            file://rpcbind.conf \
            file://rpcbind.socket \
            file://rpcbind.service \
           "
 
-UCLIBCPATCHES_libc-uclibc = "file://0001-uclibc-nss.patch \
-                             file://0002-uclibc-rpcsvc-defines.patch \
-                            "
-UCLIBCPATCHES ?= ""
-
 SRC_URI[md5sum] = "8acf839bfef2364a05fbd6be5f8edf9a"
 SRC_URI[sha256sum] = "13dbc8c796dbe0ce8df873007bea0490c8460b56202d918c9eb6fa0358a08f29"
 
Signature · 1 line
2.1.4
#13 lore raw

PATCH v2 3/3 packagegroup zeroconf: nss-mdns is libc dependant

In reply to Bernhard Reutner-Fischer

glibc provides NSS, other libc do not, so only add libnss-mdns to the zeroconf package group for glibc.
This fixes the build of core-image-sato for e.g. uClibc

---
 meta/recipes-core/packagegroups/packagegroup-base.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-core/packagegroups/packagegroup-base.bb +3 -1
index 369b63e..262d65f 100644
@@ -347,8 +347,10 @@ RRECOMMENDS_packagegroup-base-nfs = "\
 
 SUMMARY_packagegroup-base-zeroconf = "Zeroconf support"
 RDEPENDS_packagegroup-base-zeroconf = "\
-    libnss-mdns \
     avahi-daemon"
+RDEPENDS_packagegroup-base-zeroconf_append_libc-glibc = "\
+    libnss-mdns \
+    "
 
 SUMMARY_packagegroup-base-ipv6 = "IPv6 support"
 RDEPENDS_packagegroup-base-ipv6 = "\
Signature · 1 line
2.1.4
#14 lore raw
In reply to Bernhard Reutner-Fischer
Quoted 6 lines · Bernhard Reutner-Fischer

Due to libc-dependant conditional patching (which should be completely forbidden -- fix it properly instead) the last PV bump forgot to adjust patches so they failed to apply.

Patches are fine in this series, however I just want to set the expectations right here. While having that libc-independent goal is fine. Sometimes we just can not do it, since uclibc or musl
does not have all the features that glibc has and an app might also be using it.
making glibc users not have those features is unfair
given that we have a strong mechanism of overrides in OE, it should be used to this advantage.

#15 lore raw
Quoted 9 lines · Khem Raj

Patches are fine in this series, however I just want to set the expectations right here. While having that libc-independent goal is fine. Sometimes we just can not do it, since uclibc or musl
does not have all the features that glibc has and an app might also be using it.
making glibc users not have those features is unfair
given that we have a strong mechanism of overrides in OE, it should be used to this advantage.

But these patches, which add configure options to enable/disable the relevant functionality and have been sent upstream - represent the ideal case as once they're merged won't cost us any effort in the future.

Ross

#16 lore raw
Quoted 13 lines · Ross

On 16 March 2015 at 18:24, Khem Raj <[email protected] <mailto:[email protected]>> wrote:
Patches are fine in this series, however I just want to set the expectations right here. While having that libc-independent goal is fine. Sometimes we just can not do it, since uclibc or musl
does not have all the features that glibc has and an app might also be using it.
making glibc users not have those features is unfair
given that we have a strong mechanism of overrides in OE, it should be used to this advantage.

But these patches, which add configure options to enable/disable the relevant functionality and have been sent upstream - represent the ideal case as once they're merged won't cost us any effort in the future.

yes, you might have read the first line in my reply.

Quoted 1 line

Ross

#17 lore raw
In reply to Burton, Ross
Quoted 13 lines · Ross
Quoted 9 lines · Khem Raj

Patches are fine in this series, however I just want to set the expectations right here. While having that libc-independent goal is fine. Sometimes we just can not do it, since uclibc or musl
does not have all the features that glibc has and an app might also be using it.
making glibc users not have those features is unfair
given that we have a strong mechanism of overrides in OE, it should be used to this advantage.

Quoted 3 lines

But these patches, which add configure options to enable/disable the relevant functionality and have been sent upstream - represent the ideal case as once they're merged won't cost us any effort in the future.

I just disable NIS / YP for uClibc and leave glibc (or any other libc for that matter) to do what they previously did.
libtirpc is an excellent example for this unchanged behaviour:

src/getrpcent.c: if (!__yp_nomap && _yp_check(&d->domain)) {

and i did not change that since first, i don't care and second, maybe glibc-users do fun stuff to let _yp_check resolv to the proper __yp_check, i don't know nor really care ATM.

I think uClibc-users do not expect to have NIS support, we never implemented Yellow Pages support since that is usually way out of scope for those setups.

Maybe i misread your comment, though, Khem?
Or do you refer to a glitch i introduced? If so, what did i botch? :)

thanks,

#18 lore raw
Quoted 31 lines · Bernhard Reutner-Fischer
Quoted 13 lines · Ross
Quoted 9 lines · Khem Raj

Patches are fine in this series, however I just want to set the expectations right here. While having that libc-independent goal is fine. Sometimes we just can not do it, since uclibc or musl
does not have all the features that glibc has and an app might also be using it.
making glibc users not have those features is unfair
given that we have a strong mechanism of overrides in OE, it should be used to this advantage.

Quoted 3 lines

But these patches, which add configure options to enable/disable the relevant functionality and have been sent upstream - represent the ideal case as once they're merged won't cost us any effort in the future.

I just disable NIS / YP for uClibc and leave glibc (or any other libc for that matter) to do what they previously did.
libtirpc is an excellent example for this unchanged behaviour:

src/getrpcent.c: if (!__yp_nomap && _yp_check(&d->domain)) {

and i did not change that since first, i don't care and second, maybe glibc-users do fun stuff to let _yp_check resolv to the proper __yp_check, i don't know nor really care ATM.

Quoted 6 lines

I think uClibc-users do not expect to have NIS support, we never implemented Yellow Pages support since that is usually way out of scope for those setups.

Maybe i misread your comment, though, Khem?
Or do you refer to a glitch i introduced? If so, what did i botch? :)

patches are fine. I was merely pointing on the sweeping statement regarding patches should be always libc-independent.

Quoted 2 lines

thanks,

#19 lore raw
Quoted 1 line · Khem Raj

patches are fine. I was merely pointing on the sweeping statement regarding patches should be always libc-independent.

yep.
IMO patches should always be applied and not depend on a certain architecture nor a certain libc or the like,
There may be a very, very few legit exceptions to this rule but from my experience conditional patching usually papers over low-quality patches.

cheers,