From: Joe MacDonald <Joe_MacDonald@mentor.com>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: openembedded-devel@lists.openembedded.org,
openembedded-commits@lists.openembedded.org
Subject: Re: [oe-commits] Joe MacDonald : nis: integrate latest stable yp-tools and ypbind
Date: Thu, 5 Mar 2015 10:14:31 -0500 [thread overview]
Message-ID: <20150305151431.GC26456@mentor.com> (raw)
In-Reply-To: <20150305142913.GU2337@jama>
[-- Attachment #1: Type: text/plain, Size: 12272 bytes --]
[Re: [oe-commits] Joe MacDonald : nis: integrate latest stable yp-tools and ypbind] On 15.03.05 (Thu 15:29) Martin Jansa wrote:
> On Wed, Mar 04, 2015 at 01:51:32PM +0000, git@git.openembedded.org wrote:
> > Module: meta-openembedded.git
> > Branch: master
> > Commit: e00832bc4dbeacb5eb09864674b6ba7a04fc8622
> > URL: http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=e00832bc4dbeacb5eb09864674b6ba7a04fc8622
> >
> > Author: Joe MacDonald <joe_macdonald@mentor.com>
> > Date: Mon Mar 2 00:23:43 2015 -0500
> >
> > nis: integrate latest stable yp-tools and ypbind
> >
> > Update to the latest stable NIS tools. The yp-tools libraries and headers
> > conflict with the RPC headers provided by glibc, so install them to a
> > different location. Systems that intend to build using the NIS-provided
> > versions will need to specify the alternate location, but that is covered
> > by pkg-config, so it should only be necessary to point pkg-config at the
> > alternate .pc file.
> >
> > The older stable versions are suitable for IPv4-only setups, so keep them
> > around in case those are required for some systems.
>
> This seems to break yp-tools build for qemuarm:
> yp-tools/3.3-r0/yp-tools-3.3/lib/do_ypcall.c:461:27: error: cast
> increases required alignment of target type [-Werror=cast-align]
>
> http://errors.yoctoproject.org/Errors/Details/9221/
I blacklisted the updated yp-tools and ypbind-mt. The error makes it
obvious this is an intentional failure, so it's just a matter of
figuring out what the correct change will be. Shouldn't be too hairy,
but this should cause the least pain for everyone.
-J.
>
> >
> > Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >
> > ---
> >
> > ...rovide-an-in-place-version-of-mapv4v6addr.patch | 110 +++++++++++++++++++++
> > .../recipes-support/nis/yp-tools_3.3.bb | 46 +++++++++
> > .../recipes-support/nis/ypbind-mt_2.2.bb | 51 ++++++++++
> > 3 files changed, 207 insertions(+)
> >
> > diff --git a/meta-networking/recipes-support/nis/yp-tools/yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch b/meta-networking/recipes-support/nis/yp-tools/yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch
> > new file mode 100644
> > index 0000000..9ef569f
> > --- /dev/null
> > +++ b/meta-networking/recipes-support/nis/yp-tools/yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch
> > @@ -0,0 +1,110 @@
> > +From a1ef10d63b0ea34c788d5432e94c72b00ae55e04 Mon Sep 17 00:00:00 2001
> > +From: Joe MacDonald <joe_macdonald@mentor.com>
> > +Date: Fri, 27 Feb 2015 12:04:10 -0500
> > +Subject: [PATCH] ipv4/ipv6: Provide an in-place version of mapv4v6addr.h
> > +
> > +mapv4v6addr.h isn't always available, depending on your build, but
> > +nis-hosts.c only needs it for a single, inline function. So drop a copy
> > +here rather than playing games with the include path that would
> > +potentially lead to cross-compilation issues.
> > +
> > +Upstream-status: Inappropriate [embedded specific]
> > +
> > +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
> > +---
> > + nss_nis6/mapv4v6addr.h | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++
> > + nss_nis6/nis-hosts.c | 2 +-
> > + 2 files changed, 70 insertions(+), 1 deletion(-)
> > + create mode 100644 nss_nis6/mapv4v6addr.h
> > +
> > +diff --git a/nss_nis6/mapv4v6addr.h b/nss_nis6/mapv4v6addr.h
> > +new file mode 100644
> > +index 0000000..7f85f7d
> > +--- /dev/null
> > ++++ b/nss_nis6/mapv4v6addr.h
> > +@@ -0,0 +1,69 @@
> > ++/*
> > ++ * ++Copyright++ 1985, 1988, 1993
> > ++ * -
> > ++ * Copyright (c) 1985, 1988, 1993
> > ++ * The Regents of the University of California. All rights reserved.
> > ++ *
> > ++ * Redistribution and use in source and binary forms, with or without
> > ++ * modification, are permitted provided that the following conditions
> > ++ * are met:
> > ++ * 1. Redistributions of source code must retain the above copyright
> > ++ * notice, this list of conditions and the following disclaimer.
> > ++ * 2. Redistributions in binary form must reproduce the above copyright
> > ++ * notice, this list of conditions and the following disclaimer in the
> > ++ * documentation and/or other materials provided with the distribution.
> > ++ * 4. Neither the name of the University nor the names of its contributors
> > ++ * may be used to endorse or promote products derived from this software
> > ++ * without specific prior written permission.
> > ++ *
> > ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
> > ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> > ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> > ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
> > ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> > ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> > ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> > ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> > ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> > ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> > ++ * SUCH DAMAGE.
> > ++ * -
> > ++ * Portions Copyright (c) 1993 by Digital Equipment Corporation.
> > ++ *
> > ++ * Permission to use, copy, modify, and distribute this software for any
> > ++ * purpose with or without fee is hereby granted, provided that the above
> > ++ * copyright notice and this permission notice appear in all copies, and that
> > ++ * the name of Digital Equipment Corporation not be used in advertising or
> > ++ * publicity pertaining to distribution of the document or software without
> > ++ * specific, written prior permission.
> > ++ *
> > ++ * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
> > ++ * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
> > ++ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
> > ++ * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
> > ++ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
> > ++ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
> > ++ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
> > ++ * SOFTWARE.
> > ++ * -
> > ++ * --Copyright--
> > ++ */
> > ++
> > ++#include <string.h>
> > ++#include <arpa/nameser.h>
> > ++
> > ++static void
> > ++map_v4v6_address (const char *src, char *dst)
> > ++{
> > ++ u_char *p = (u_char *) dst;
> > ++ int i;
> > ++
> > ++ /* Move the IPv4 part to the right position. */
> > ++ memcpy (dst + 12, src, INADDRSZ);
> > ++
> > ++ /* Mark this ipv6 addr as a mapped ipv4. */
> > ++ for (i = 0; i < 10; i++)
> > ++ *p++ = 0x00;
> > ++ *p++ = 0xff;
> > ++ *p = 0xff;
> > ++}
> > +diff --git a/nss_nis6/nis-hosts.c b/nss_nis6/nis-hosts.c
> > +index af99c74..96d8fa1 100644
> > +--- a/nss_nis6/nis-hosts.c
> > ++++ b/nss_nis6/nis-hosts.c
> > +@@ -36,7 +36,7 @@
> > + #include "nss-nis6.h"
> > +
> > + /* Get implementation for some internal functions. */
> > +-#include <resolv/mapv4v6addr.h>
> > ++#include "mapv4v6addr.h"
> > +
> > + #define ENTNAME hostent
> > + #define DATABASE "hosts"
> > +--
> > +1.9.1
> > +
> > diff --git a/meta-networking/recipes-support/nis/yp-tools_3.3.bb b/meta-networking/recipes-support/nis/yp-tools_3.3.bb
> > new file mode 100644
> > index 0000000..75ad989
> > --- /dev/null
> > +++ b/meta-networking/recipes-support/nis/yp-tools_3.3.bb
> > @@ -0,0 +1,46 @@
> > +# This package builds tools to manage NIS
> > +# The source package is utils/net/NIS/yp-tools
> > +#
> > +require nis.inc
> > +
> > +SUMMARY = "NIS client programs"
> > +DESCRIPTION = " \
> > +Network Information Service tools. \
> > +This package contains ypcat, ypmatch, ypset, \
> > +ypwhich, yppasswd, domainname, nisdomainname \
> > +and ypdomainname. \
> > +"
> > +
> > +SRC_URI = "http://www.linux-nis.org/download/yp-tools/${BP}.tar.bz2 \
> > + file://domainname.service \
> > + file://yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch \
> > +"
> > +SRC_URI[md5sum] = "acebeecc11a73fb8097503670344834c"
> > +SRC_URI[sha256sum] = "812be817df3d4c25813552be336c6c6ad5aedaf65611b81af3ad9f98fb3c2e50"
> > +
> > +DEPENDS = "libtirpc"
> > +
> > +inherit autotools systemd
> > +SYSTEMD_SERVICE_${PN} = "domainname.service"
> > +
> > +RPROVIDES_${PN} += "${PN}-systemd"
> > +RREPLACES_${PN} += "${PN}-systemd"
> > +RCONFLICTS_${PN} += "${PN}-systemd"
> > +
> > +CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true"
> > +
> > +EXTRA_OECONF = " \
> > + --disable-rpath \
> > + --libdir=${libdir}/yp-nis/ \
> > + --includedir=${includedir}/yp-nis/ \
> > + "
> > +
> > +FILES_${PN} += " ${libdir}/yp-nis/*.so.*.* ${libdir}/yp-nis/pkgconfig/"
> > +FILES_${PN}-dbg += " ${libdir}/yp-nis/.debug"
> > +FILES_${PN}-dev += " ${libdir}/yp-nis/*.so ${libdir}/yp-nis/*.so.[12] ${libdir}/yp-nis/*.la"
> > +FILES_${PN}-staticdev += " ${libdir}/yp-nis/*.a"
> > +
> > +do_install_append() {
> > + install -d ${D}${systemd_unitdir}/system
> > + install -m 0644 ${WORKDIR}/domainname.service ${D}${systemd_unitdir}/system
> > +}
> > diff --git a/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb b/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
> > new file mode 100644
> > index 0000000..b960757
> > --- /dev/null
> > +++ b/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
> > @@ -0,0 +1,51 @@
> > +# This package builds the NIS ypbind daemon
> > +# The source package is utils/net/NIS/ypbind-mt
> > +#
> > +require nis.inc
> > +
> > +DESCRIPTION = " \
> > +Multithreaded NIS bind service (ypbind-mt). \
> > +ypbind-mt is a complete new implementation of a NIS \
> > +binding daemon for Linux. It has the following \
> > +features. Supports ypbind protocol V1 and V2. \
> > +Uses threads for better response. Supports multiple \
> > +domain bindings. Supports /var/yp/binding/* file \
> > +for Linux libc 4/5 and glibc 2.x. Supports a list \
> > +of known secure NIS server (/etc/yp.conf) Binds to \
> > +the server which answered as first. \
> > +"
> > +HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html"
> > +DEPENDS = "yp-tools"
> > +PROVIDES += "ypbind"
> > +
> > +SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \
> > + file://ypbind-yocto.init \
> > + file://ypbind.service \
> > +"
> > +SRC_URI[md5sum] = "54e2040d8266ae7d302d081ca310c8a8"
> > +SRC_URI[sha256sum] = "dc2f7d97c94dcab0acfdcd115cd8b464eb8c427e4bb0fe68404ae7465f517cd3"
> > +
> > +inherit systemd update-rc.d
> > +
> > +SYSTEMD_SERVICE_${PN} = "ypbind.service"
> > +INITSCRIPT_NAME = "ypbind"
> > +INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ."
> > +
> > +CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true"
> > +
> > +EXTRA_OECONF = "PKG_CONFIG_PATH='${STAGING_LIBDIR}/yp-nis/pkgconfig/'"
> > +
> > +do_install_append () {
> > + install -d ${D}${sysconfdir}/init.d
> > + install -d ${D}${sysconfdir}/rcS.d
> > +
> > + install -m 0755 ${WORKDIR}/ypbind-yocto.init ${D}${sysconfdir}/init.d/ypbind
> > +
> > + install -d ${D}${systemd_unitdir}/system
> > + install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system
> > +}
> > +
> > +
> > +RPROVIDES_${PN} += "${PN}-systemd"
> > +RREPLACES_${PN} += "${PN}-systemd"
> > +RCONFLICTS_${PN} += "${PN}-systemd"
> >
> > --
> > _______________________________________________
> > Openembedded-commits mailing list
> > Openembedded-commits@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-commits
>
--
-Joe MacDonald.
:wq
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 501 bytes --]
prev parent reply other threads:[~2015-03-05 15:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20150304135132.54A3D5017B@opal.openembedded.org>
2015-03-05 14:29 ` [oe-commits] Joe MacDonald : nis: integrate latest stable yp-tools and ypbind Martin Jansa
2015-03-05 15:14 ` Joe MacDonald [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150305151431.GC26456@mentor.com \
--to=joe_macdonald@mentor.com \
--cc=martin.jansa@gmail.com \
--cc=openembedded-commits@lists.openembedded.org \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.