summaryrefslogtreecommitdiff
path: root/recipes/nis
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/nis')
-rw-r--r--recipes/nis/files/libdl.patch12
-rw-r--r--recipes/nis/files/no-selinux.patch16
-rw-r--r--recipes/nis/nis-all.bb13
-rw-r--r--recipes/nis/nis.inc34
-rw-r--r--recipes/nis/pwdutils_2.6.bb41
-rw-r--r--recipes/nis/yp-tools_2.9.bb11
-rw-r--r--recipes/nis/ypbind-mt_1.18.bb23
-rw-r--r--recipes/nis/ypbind-mt_1.19.bb21
-rw-r--r--recipes/nis/ypserv_2.17.bb14
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"