diff options
author | Khem Raj <raj.khem@gmail.com> | 2013-01-06 00:06:28 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2013-01-08 09:31:44 -0800 |
commit | 5d56edf7a7dc53f92e954fbf92238409c1e183e8 (patch) | |
tree | f12fa3dfb2d530026f44fa13e9133f4321c7d789 /meta-networking/recipes-support | |
parent | 4c735f36f64476320c130ffe14a5c831f65b9c42 (diff) | |
download | meta-openembedded-5d56edf7a7dc53f92e954fbf92238409c1e183e8.tar.gz |
nis: Import recipes from OE classic
Update to latest versions while at it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-networking/recipes-support')
6 files changed, 214 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/nis/files/libdl.patch b/meta-networking/recipes-support/nis/files/libdl.patch new file mode 100644 index 000000000..605af319f --- /dev/null +++ b/meta-networking/recipes-support/nis/files/libdl.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | --- pwdutils-2.6/configure.in.orig 2005-04-19 20:22:36.603052192 -0700 | ||
2 | +++ pwdutils-2.6/configure.in 2005-04-19 21:09:45.308023672 -0700 | ||
3 | @@ -178,6 +178,9 @@ | ||
4 | AC_CHECK_LIB(ldap, main, LDAP_LIBS="-lldap $LDAP_LIBS" found_ldap_lib=yes,,$LDAP_LIBS) | ||
5 | fi | ||
6 | |||
7 | + dnl this always needs dl | ||
8 | + AC_CHECK_LIB(dl, dlopen, LDAP_LIBS="$LDAP_LIBS -ldl") | ||
9 | + | ||
10 | if test -z "$found_ldap_lib" -a \( $with_ldap_lib = auto -o $with_ldap_lib = netscape5 \); then | ||
11 | AC_CHECK_LIB(ldap50, main, LDAP_LIBS="-lldap50 -lssldap50 -lssl3 -lnss3 -lnspr4 -lprldap50 -lplc4 -lplds4" found_ldap_lib=yes need_pthread=true,, -lpthread) | ||
12 | fi | ||
diff --git a/meta-networking/recipes-support/nis/files/no-selinux.patch b/meta-networking/recipes-support/nis/files/no-selinux.patch new file mode 100644 index 000000000..71da3e393 --- /dev/null +++ b/meta-networking/recipes-support/nis/files/no-selinux.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | --- pwdutils-2.6/lib/copy_xattr.c.orig 2005-04-16 17:15:52.916660880 -0700 | ||
2 | +++ pwdutils-2.6/lib/copy_xattr.c 2005-04-16 17:18:10.345768480 -0700 | ||
3 | @@ -127,8 +127,11 @@ | ||
4 | |||
5 | if (lsetxattr (to, name, value, size, 0) != 0) | ||
6 | { | ||
7 | - if (strcmp (name, "security.selinux") == 0 && | ||
8 | - is_selinux_enabled() == 0) | ||
9 | + if (strcmp (name, "security.selinux") == 0 | ||
10 | +#if defined(WITH_SELINUX) | ||
11 | + && is_selinux_enabled() == 0 | ||
12 | +#endif | ||
13 | + ) | ||
14 | fprintf (stderr, | ||
15 | _("SELinux not enabled, ignore attribute %s for `%s'.\n"), | ||
16 | name, to); | ||
diff --git a/meta-networking/recipes-support/nis/files/ypbind-yocto.init b/meta-networking/recipes-support/nis/files/ypbind-yocto.init new file mode 100644 index 000000000..5f50a530e --- /dev/null +++ b/meta-networking/recipes-support/nis/files/ypbind-yocto.init | |||
@@ -0,0 +1,99 @@ | |||
1 | #! /bin/sh | ||
2 | # Copyright (c) 2004 Author: Thorsten Kukuk <kukuk@suse.de> | ||
3 | # | ||
4 | # /etc/init.d/ypbind | ||
5 | # | ||
6 | # and symbolic its link | ||
7 | # | ||
8 | # /usr/sbin/rcypbind | ||
9 | # | ||
10 | # System startup script for the ypbind daemon | ||
11 | # | ||
12 | ### BEGIN INIT INFO | ||
13 | # Provides: ypbind | ||
14 | # Required-Start: $remote_fs $portmap | ||
15 | # Should-Start: ypserv slpd | ||
16 | # Required-Stop: portmap | ||
17 | # Default-Start: 3 5 | ||
18 | # Default-Stop: 0 1 2 6 | ||
19 | # Short-Description: Start ypbind (necessary for a NIS client) | ||
20 | # Description: ypbind finds the server for NIS domains and maintains | ||
21 | # the NIS binding information. | ||
22 | ### END INIT INFO | ||
23 | |||
24 | YPBIND_BIN=/usr/sbin/ypbind | ||
25 | pidfile=/var/run/ypbind.pid | ||
26 | |||
27 | [ -f /etc/default/ypbind ] && . /etc/default/ypbind | ||
28 | |||
29 | case "$1" in | ||
30 | start) | ||
31 | echo -n "Starting ypbind" | ||
32 | ## If the domainname is not set, skip starting of ypbind | ||
33 | ## and return with "program not configured" | ||
34 | /bin/ypdomainname &> /dev/null | ||
35 | if [ $? -ne 0 -o -z "`/bin/ypdomainname 2>/dev/null`" ]; then | ||
36 | if [ -f /etc/defaultdomain ]; then | ||
37 | XDOMAINNAME=`cat /etc/defaultdomain` | ||
38 | /bin/ypdomainname "$XDOMAINNAME" | ||
39 | fi | ||
40 | /bin/ypdomainname &> /dev/null | ||
41 | if [ $? -ne 0 -o -z "`/bin/ypdomainname 2>/dev/null`" ]; then | ||
42 | # Tell the user this has skipped | ||
43 | echo -n " . . . . . . . . . . No domainname set" | ||
44 | # service is not configured | ||
45 | exit 1 | ||
46 | fi | ||
47 | fi | ||
48 | |||
49 | ## If we don't have a /etc/yp.conf file, skip starting of | ||
50 | ## ypbind and return with "program not configured" | ||
51 | ## if you add the -broadcast Option later, comment this out. | ||
52 | if [ ! -f /etc/yp.conf -a "$YPBIND_BROADCAST" != "yes" ] ; then | ||
53 | # Tell the user this has skipped | ||
54 | echo -n " . . . . . . . . . . ${attn}/etc/yp.conf not found${norm}" | ||
55 | # service is not configured | ||
56 | exit 1 | ||
57 | fi | ||
58 | |||
59 | # evaluate the OPTIONS for ypbind-mt | ||
60 | OPTIONS="" | ||
61 | test "$YPBIND_LOCAL_ONLY" = "yes" && OPTIONS="-local-only $OPTIONS" | ||
62 | test "$YPBIND_BROADCAST" = "yes" && OPTIONS="-broadcast $OPTIONS" | ||
63 | test "$YPBIND_BROKEN_SERVER" = "yes" && OPTIONS="-broken-server $OPTIONS" | ||
64 | |||
65 | start-stop-daemon --start --quiet --pidfile $pidfile --exec $YPBIND_BIN -- $YPBIND_OPTIONS $OPTIONS | ||
66 | if [ $? -eq 0 ]; then | ||
67 | notfound=1 | ||
68 | for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do | ||
69 | ypwhich &>/dev/null && { notfound=0 ; break; }; | ||
70 | echo -n " ." | ||
71 | sleep 1; | ||
72 | done | ||
73 | if [ $notfound -eq 1 ]; then | ||
74 | echo -n " ${warn}No NIS server found${norm}"; | ||
75 | fi | ||
76 | else | ||
77 | exit 1 | ||
78 | fi | ||
79 | ;; | ||
80 | stop) | ||
81 | echo -n "Shutting down ypbind" | ||
82 | start-stop-daemon --stop --quiet --pidfile $pidfile | ||
83 | # Remove static data, else glibc will continue to use NIS | ||
84 | rm -f /var/yp/binding/* /var/run/ypbind.pid | ||
85 | ;; | ||
86 | restart) | ||
87 | $0 stop | ||
88 | sleep 1 | ||
89 | $0 start | ||
90 | ;; | ||
91 | reload | force-reload) | ||
92 | echo -n "Reload service ypbind" | ||
93 | start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile | ||
94 | ;; | ||
95 | *) | ||
96 | echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" | ||
97 | exit 1 | ||
98 | ;; | ||
99 | esac | ||
diff --git a/meta-networking/recipes-support/nis/nis.inc b/meta-networking/recipes-support/nis/nis.inc new file mode 100644 index 000000000..f9f5bd1b4 --- /dev/null +++ b/meta-networking/recipes-support/nis/nis.inc | |||
@@ -0,0 +1,31 @@ | |||
1 | # This include file contains global definitions for the | ||
2 | # various NIS packages. | ||
3 | # | ||
4 | # These packages will only function correctly with glibc - | ||
5 | # the rpcsvc functionality is not present in uclibc | ||
6 | DESCRIPTION = "NIS Server and Tools" | ||
7 | HOMEPAGE = "http://www.linux-nis.org/nis/" | ||
8 | SECTION = "console/network" | ||
9 | LICENSE = "GPL-2.0" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
11 | |||
12 | inherit autotools gettext | ||
13 | |||
14 | # install is broken because src/Makefile heroically adds '-s' | ||
15 | # to the install flags - passing -s to the build /usr/bin/install! | ||
16 | # install-strip gets it right but installs ypbind -m <default>, | ||
17 | # not -m 555. In an OE build this is not, so far as I can see, | ||
18 | # a security problem (and this fix to the build problem is *much* | ||
19 | # easier and more maintainable.) | ||
20 | do_install() { | ||
21 | oe_runmake 'DESTDIR=${D}' install-strip | ||
22 | } | ||
23 | |||
24 | # An attempt to build on uclibc will fail, causing annoyance, | ||
25 | # so force the package to be skipped here (this will cause a | ||
26 | # 'nothing provides' error) | ||
27 | python () { | ||
28 | os = bb.data.getVar("TARGET_OS", d, 1) | ||
29 | if os == "linux-uclibc": | ||
30 | raise bb.parse.SkipPackage("NIS functionality requires rpcsvc/yp.h, uClibC does not provide this") | ||
31 | } | ||
diff --git a/meta-networking/recipes-support/nis/yp-tools_2.12.bb b/meta-networking/recipes-support/nis/yp-tools_2.12.bb new file mode 100644 index 000000000..18a52fcd2 --- /dev/null +++ b/meta-networking/recipes-support/nis/yp-tools_2.12.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | # This package builds tools to manage NIS | ||
2 | # The source package is utils/net/NIS/yp-tools | ||
3 | # | ||
4 | PR = "r0" | ||
5 | DESCRIPTION="\ | ||
6 | Network Information Service tools. \ | ||
7 | This package contains ypcat, ypmatch, ypset, \ | ||
8 | ypwhich, yppasswd, domainname, nisdomainname \ | ||
9 | and ypdomainname." | ||
10 | |||
11 | require nis.inc | ||
12 | SRC_URI = "http://www.linux-nis.org/download/yp-tools/${P}.tar.bz2" | ||
13 | |||
14 | SRC_URI[md5sum] = "ce1e06d86caa285fa8cd76fdf103f51e" | ||
15 | SRC_URI[sha256sum] = "6ae8321666eea7837da343eea90ea30273fb74943ad111d5a4befd2afb252063" | ||
16 | |||
17 | CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true" | ||
diff --git a/meta-networking/recipes-support/nis/ypbind-mt_1.36.bb b/meta-networking/recipes-support/nis/ypbind-mt_1.36.bb new file mode 100644 index 000000000..96ef19b42 --- /dev/null +++ b/meta-networking/recipes-support/nis/ypbind-mt_1.36.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | # This package builds the NIS ypbind daemon | ||
2 | # The source package is utils/net/NIS/ypbind-mt | ||
3 | # | ||
4 | PR = "r0" | ||
5 | DESCRIPTION="\ | ||
6 | Multithreaded NIS bind service (ypbind-mt). \ | ||
7 | ypbind-mt is a complete new implementation of a NIS \ | ||
8 | binding daemon for Linux. It has the following \ | ||
9 | features. Supports ypbind protocol V1 and V2. \ | ||
10 | Uses threads for better response. Supports multiple \ | ||
11 | domain bindings. Supports /var/yp/binding/* file \ | ||
12 | for Linux libc 4/5 and glibc 2.x. Supports a list \ | ||
13 | of known secure NIS server (/etc/yp.conf) Binds to \ | ||
14 | the server which answered as first." | ||
15 | HOMEPAGE="http://www.linux-nis.org/nis/ypbind-mt/index.html" | ||
16 | |||
17 | require nis.inc | ||
18 | |||
19 | SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${P}.tar.bz2" | ||
20 | SRC_URI[md5sum] = "135834db97d78ff6d79fdee2810b4056" | ||
21 | |||
22 | LIC_FILES_CHKSUM = "file://COPYING;md5=082c9a0886c7c3db1bc862b5b62ffe08" | ||
23 | SRC_URI[sha256sum] = "0eff76c1849f4b38ea1a60280d8397c4240369c641fe5402ce57edf1a90958c7" | ||
24 | |||
25 | # ypbind-mt now provides all the functionality of ypbind | ||
26 | # and is used in place of it. | ||
27 | PROVIDES += "ypbind" | ||
28 | |||
29 | CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true" | ||
30 | SRC_URI += "file://ypbind-yocto.init" | ||
31 | |||
32 | do_install_append () { | ||
33 | install -d ${D}${sysconfdir}/init.d | ||
34 | install -d ${D}${sysconfdir}/rcS.d | ||
35 | |||
36 | install -m 0755 ${WORKDIR}/ypbind-yocto.init ${D}${sysconfdir}/init.d/ypbind | ||
37 | |||
38 | ln -s ../init.d/ypbind ${D}${sysconfdir}/rcS.d/S44ypbind | ||
39 | } | ||