diff options
Diffstat (limited to 'recipes/nis')
-rw-r--r-- | recipes/nis/files/libdl.patch | 12 | ||||
-rw-r--r-- | recipes/nis/files/no-selinux.patch | 16 | ||||
-rw-r--r-- | recipes/nis/nis-all.bb | 13 | ||||
-rw-r--r-- | recipes/nis/nis.inc | 34 | ||||
-rw-r--r-- | recipes/nis/pwdutils_2.6.bb | 41 | ||||
-rw-r--r-- | recipes/nis/yp-tools_2.9.bb | 11 | ||||
-rw-r--r-- | recipes/nis/ypbind-mt_1.18.bb | 23 | ||||
-rw-r--r-- | recipes/nis/ypbind-mt_1.19.bb | 21 | ||||
-rw-r--r-- | recipes/nis/ypserv_2.17.bb | 14 |
9 files changed, 185 insertions, 0 deletions
diff --git a/recipes/nis/files/libdl.patch b/recipes/nis/files/libdl.patch new file mode 100644 index 0000000000..605af319f9 --- /dev/null +++ b/recipes/nis/files/libdl.patch @@ -0,0 +1,12 @@ +--- pwdutils-2.6/configure.in.orig 2005-04-19 20:22:36.603052192 -0700 ++++ pwdutils-2.6/configure.in 2005-04-19 21:09:45.308023672 -0700 +@@ -178,6 +178,9 @@ + AC_CHECK_LIB(ldap, main, LDAP_LIBS="-lldap $LDAP_LIBS" found_ldap_lib=yes,,$LDAP_LIBS) + fi + ++ dnl this always needs dl ++ AC_CHECK_LIB(dl, dlopen, LDAP_LIBS="$LDAP_LIBS -ldl") ++ + if test -z "$found_ldap_lib" -a \( $with_ldap_lib = auto -o $with_ldap_lib = netscape5 \); then + AC_CHECK_LIB(ldap50, main, LDAP_LIBS="-lldap50 -lssldap50 -lssl3 -lnss3 -lnspr4 -lprldap50 -lplc4 -lplds4" found_ldap_lib=yes need_pthread=true,, -lpthread) + fi diff --git a/recipes/nis/files/no-selinux.patch b/recipes/nis/files/no-selinux.patch new file mode 100644 index 0000000000..71da3e3931 --- /dev/null +++ b/recipes/nis/files/no-selinux.patch @@ -0,0 +1,16 @@ +--- pwdutils-2.6/lib/copy_xattr.c.orig 2005-04-16 17:15:52.916660880 -0700 ++++ pwdutils-2.6/lib/copy_xattr.c 2005-04-16 17:18:10.345768480 -0700 +@@ -127,8 +127,11 @@ + + if (lsetxattr (to, name, value, size, 0) != 0) + { +- if (strcmp (name, "security.selinux") == 0 && +- is_selinux_enabled() == 0) ++ if (strcmp (name, "security.selinux") == 0 ++#if defined(WITH_SELINUX) ++ && is_selinux_enabled() == 0 ++#endif ++ ) + fprintf (stderr, + _("SELinux not enabled, ignore attribute %s for `%s'.\n"), + name, to); diff --git a/recipes/nis/nis-all.bb b/recipes/nis/nis-all.bb new file mode 100644 index 0000000000..181a06cd2e --- /dev/null +++ b/recipes/nis/nis-all.bb @@ -0,0 +1,13 @@ +# This meta package is a convenience to build all of the +# NIS packages. +# + +DESCRIPTION="NIS services" +HOMEPAGE="http://www.linux-nis.org/nis/" +SECTION = "console/network" +PRIORITY = "optional" +LICENSE = "GPLv2" + +INHIBIT_DEFAULT_DEPS = "1" + +DEPENDS = "yp-tools ypbind ypserv pwdutils" diff --git a/recipes/nis/nis.inc b/recipes/nis/nis.inc new file mode 100644 index 0000000000..90f7ff50a0 --- /dev/null +++ b/recipes/nis/nis.inc @@ -0,0 +1,34 @@ +# This include file contains global definitions for the +# various NIS packages. +# +# These packages will only function correctly with glibc - +# the rpcsvc functionality is not present in uclibc +DESCRIPTION ?= "NIS Server and Tools" +HOMEPAGE ?= "http://www.linux-nis.org/nis/" +SECTION ?= "console/network" +PRIORITY ?= "optional" +LICENSE ?= "GPLv2" + +# Override these *after* the include file if necessary! +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/net/NIS/${P}.tar.bz2" + +inherit autotools gettext + +# install is broken because src/Makefile heroically adds '-s' +# to the install flags - passing -s to the build /usr/bin/install! +# install-strip gets it right but installs ypbind -m <default>, +# not -m 555. In an OE build this is not, so far as I can see, +# a security problem (and this fix to the build problem is *much* +# easier and more maintainable.) +do_install() { + oe_runmake 'DESTDIR=${D}' install-strip +} + +# An attempt to build on uclibc will fail, causing annoyance, +# so force the package to be skipped here (this will cause a +# 'nothing provides' error) +python () { + os = bb.data.getVar("TARGET_OS", d, 1) + if os == "linux-uclibc": + raise bb.parse.SkipPackage("NIS functionality requires rpcsvc/yp.h, uClibC does not provide this") +} diff --git a/recipes/nis/pwdutils_2.6.bb b/recipes/nis/pwdutils_2.6.bb new file mode 100644 index 0000000000..0e01e7e104 --- /dev/null +++ b/recipes/nis/pwdutils_2.6.bb @@ -0,0 +1,41 @@ +# This package builds tools to manage NIS passwords +# The source package is utils/net/NIS/pwdutils +# The package requires -lpam +# +PR = "r1" +DESCRIPTION="\ +NIS PAM password management tools. \ +This is a collection of utilities to manage the passwd \ +information stored in local files, NIS, NIS+ or LDAP \ +and can replace the shadow suite completely." +HOMEPAGE="http://lists.suse.com/archive/pwdutils/" + +require nis.inc + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/net/NIS/OLD/${PN}/${P}.tar.bz2" + +# an selinux API is used even if no selinux is detected by +# configure. +SRC_URI += " file://no-selinux.patch;patch=1" +SRC_URI += " file://libdl.patch;patch=1" + +DEPENDS += " libpam openldap openssl" + +# -Werror is set within the pwdutils configure.in! +# You might prefer to use -Wno-error rather than the +# following long list. +# +# #if undefined happens in bits/string2.h and probably +# elsewhere (since it is a standard safe C programming +# practice - safer than #ifdef!) +TARGET_CFLAGS += " -Wno-undef" +# bits/socket.h has a macro which casts 'up' (increasing +# the alignment requirement) but it is in a macro which +# does the alignment correctly, so the following warning +# needs to be non-error'ed. I just turn it off... +TARGET_CFLAGS += " -Wno-cast-align" +# openssl contains large numbers of declarations wherein +# f() is used instead of f(void), so: +TARGET_CFLAGS += " -Wno-strict-prototypes" +# openssl uses error as a local variable, so: +TARGET_CFLAGS += " -Wno-shadow" diff --git a/recipes/nis/yp-tools_2.9.bb b/recipes/nis/yp-tools_2.9.bb new file mode 100644 index 0000000000..ddf7ed2c8d --- /dev/null +++ b/recipes/nis/yp-tools_2.9.bb @@ -0,0 +1,11 @@ +# This package builds tools to manage NIS +# The source package is utils/net/NIS/yp-tools +# +PR = "r0" +DESCRIPTION="\ +Network Information Service tools. \ +This package contains ypcat, ypmatch, ypset, \ +ypwhich, yppasswd, domainname, nisdomainname \ +and ypdomainname." + +require nis.inc diff --git a/recipes/nis/ypbind-mt_1.18.bb b/recipes/nis/ypbind-mt_1.18.bb new file mode 100644 index 0000000000..be37fb9c28 --- /dev/null +++ b/recipes/nis/ypbind-mt_1.18.bb @@ -0,0 +1,23 @@ +# This package builds the NIS ypbind daemon +# The source package is utils/net/NIS/ypbind-mt +# +PR = "r0" +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" + +require nis.inc + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/net/NIS/OLD/${PN}/${P}.tar.bz2" + +# ypbind-mt now provides all the functionality of ypbind +# and is used in place of it. +PROVIDES += "ypbind" diff --git a/recipes/nis/ypbind-mt_1.19.bb b/recipes/nis/ypbind-mt_1.19.bb new file mode 100644 index 0000000000..aee0864937 --- /dev/null +++ b/recipes/nis/ypbind-mt_1.19.bb @@ -0,0 +1,21 @@ +# This package builds the NIS ypbind daemon +# The source package is utils/net/NIS/ypbind-mt +# +PR = "r0" +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" + +require nis.inc + +# ypbind-mt now provides all the functionality of ypbind +# and is used in place of it. +PROVIDES += "ypbind" diff --git a/recipes/nis/ypserv_2.17.bb b/recipes/nis/ypserv_2.17.bb new file mode 100644 index 0000000000..07d8aee5bb --- /dev/null +++ b/recipes/nis/ypserv_2.17.bb @@ -0,0 +1,14 @@ +# This package builds the NIS server +# The source package is utils/net/NIS/ypserv +# +PR = "r0" +DESCRIPTION="NIS version 2 server for Linux." +HOMEPAGE="http://www.linux-nis.org/nis/ypserv/index.html" + +require nis.inc + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/net/NIS/OLD/${PN}/${P}.tar.bz2" + +# ypserv needs a database package, gdbm is currently the +# only candidate +DEPENDS += " gdbm" |