[oe] [meta-networking][PATCH] netkit-rsh: add new package
Armin Kuster
akuster808 at gmail.com
Sun Dec 14 16:54:34 UTC 2014
V2: added PAM config option
fixed link bug
moved files to PN location
fixed BSD license
Signed-off-by: Armin Kuster <akuster808 at gmail.com>
---
.../netkit-rsh/netkit-rsh/no_pam_build_fix.patch | 32 ++++++++++++++++++
.../netkit-rsh/netkit-rsh/rexec.xinetd.netkit | 20 ++++++++++++
.../netkit-rsh/netkit-rsh/rlogin.xinetd.netkit | 23 +++++++++++++
.../rsh-redone_link_order_file.patch | 15 ++++++++-
.../netkit-rsh/netkit-rsh/rsh.xinetd.netkit | 21 ++++++++++++
.../recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb | 38 +++++++++++++---------
6 files changed, 132 insertions(+), 17 deletions(-)
create mode 100644 meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch
create mode 100644 meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit
create mode 100644 meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit
rename meta-networking/recipes-netkit/netkit-rsh/{files => netkit-rsh}/rsh-redone_link_order_file.patch (81%)
create mode 100644 meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch
new file mode 100644
index 0000000..3200a2d
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch
@@ -0,0 +1,32 @@
+Index: netkit-rsh-0.17/rshd/rshd.c
+===================================================================
+--- netkit-rsh-0.17.orig/rshd/rshd.c
++++ netkit-rsh-0.17/rshd/rshd.c
+@@ -110,9 +110,11 @@ extern char **environ;
+ static void error(const char *fmt, ...);
+ static void doit(struct sockaddr *fromp, socklen_t fromlen);
+ static char *getstr(char *, size_t, const char *);
++#ifdef USE_PAM
+ static int err_conv(
+ int, const struct pam_message **, struct pam_response **, void *
+ );
++#endif /* USE_PAM */
+
+ extern int _check_rhosts_file;
+
+@@ -256,6 +258,7 @@ static void stderr_parent(int sock, int
+ }
+
+
++#ifdef USE_PAM
+ static int err_conv(
+ int num_msg, const struct pam_message **msg,
+ struct pam_response **resp, void *appdata_ptr
+@@ -266,6 +269,7 @@ static int err_conv(
+ (void) appdata_ptr;
+ return PAM_CONV_ERR;
+ }
++#endif
+
+ static struct passwd *doauth(const char *remuser,
+ const char *hostname,
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit
new file mode 100644
index 0000000..80aed36
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit
@@ -0,0 +1,20 @@
+# default: off
+# description:
+# Rexecd is the server for the rexec program. The server provides remote
+# execution facilities with authentication based on user names and
+# passwords.
+#
+service exec
+{
+ socket_type = stream
+ protocol = tcp
+ flags = NAMEINARGS
+ wait = no
+ user = root
+ group = root
+ log_on_success += USERID
+ log_on_failure += USERID
+ server = /usr/bin/tcpd
+ server_args = /usr/sbin/in.rexecd
+ disable = yes
+}
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit
new file mode 100644
index 0000000..00dbf93
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit
@@ -0,0 +1,23 @@
+# default: off
+# description:
+# Rlogind is a server for the rlogin program. The server provides remote
+# execution with authentication based on privileged port numbers from trusted
+# host
+#
+service login
+{
+ socket_type = stream
+ protocol = tcp
+ flags = NAMEINARGS
+ wait = no
+ user = root
+ group = root
+ log_on_success += USERID
+ log_on_failure += USERID
+ server = /usr/bin/tcpd
+ server_args = /usr/sbin/in.rlogind -a
+ disable = yes
+}
+
+
+
diff --git a/meta-networking/recipes-netkit/netkit-rsh/files/rsh-redone_link_order_file.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch
similarity index 81%
rename from meta-networking/recipes-netkit/netkit-rsh/files/rsh-redone_link_order_file.patch
rename to meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch
index bded510..c12ee9b 100644
--- a/meta-networking/recipes-netkit/netkit-rsh/files/rsh-redone_link_order_file.patch
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch
@@ -45,7 +45,7 @@ Index: netkit-rsh-0.17/rlogin/Makefile
$(PROG): $(OBJS)
- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
-+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
install: $(PROG)
install -o root -m$(SUIDMODE) $(PROG) $(INSTALLROOT)$(BINDIR)
@@ -62,3 +62,16 @@ Index: netkit-rsh-0.17/rlogind/Makefile
rlogind.o: pathnames.h logwtmp.h rlogind.h ../version.h
logwtmp.o: logwtmp.h
+Index: netkit-rsh-0.17/rexecd/Makefile
+===================================================================
+--- netkit-rsh-0.17.orig/rexecd/Makefile
++++ netkit-rsh-0.17/rexecd/Makefile
+@@ -24,7 +24,7 @@ endif
+ CFLAGS += -DRESTRICT_FTP=1
+
+ rexecd: rexecd.o
+- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
+
+ install: rexecd
+ install -m$(DAEMONMODE) rexecd $(INSTALLROOT)$(SBINDIR)/in.rexecd
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit
new file mode 100644
index 0000000..ad59b62
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit
@@ -0,0 +1,21 @@
+# default: off
+# description:
+# The rshd server is a server for the rcmd(3) routine and,
+# consequently, for the rsh(1) program. The server provides
+# remote execution facilities with authentication based on
+# privileged port numbers from trusted hosts.
+#
+service shell
+{
+ socket_type = stream
+ protocol = tcp
+ flags = NAMEINARGS
+ wait = no
+ user = root
+ group = root
+ log_on_success += USERID
+ log_on_failure += USERID
+ server = /usr/bin/tcpd
+ server_args = /usr/sbin/in.rshd -aL
+ disable = yes
+}
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
index 9866b3f..8b42fa7 100644
--- a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
@@ -1,14 +1,15 @@
DESCRIPTION = "netkit-rsh includes the rsh daemon and client."
SECTION = "networking"
HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
-LICENSE = "BSD"
-DEPENDS = "xinetd libpam libgcrypt"
+LICENSE = "BSD-4-Clause"
+DEPENDS = "xinetd libgcrypt"
LIC_FILES_CHKSUM = "file://rsh/rsh.c;beginline=2;endline=3;md5=25737e9d21d9df251dd26b7dcbd8ee29"
SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}.orig.tar.gz;name=archive \
${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}-15.diff.gz;name=patch15 \
file://rsh-redone_link_order_file.patch \
+ file://no_pam_build_fix.patch \
file://rexec.xinetd.netkit \
file://rlogin.xinetd.netkit \
file://rsh.xinetd.netkit \
@@ -19,16 +20,22 @@ SRC_URI[archive.sha256sum] = "edcac7fa18015f0bc04e573f3f54ae3b638d71335df1ad7dae
SRC_URI[patch15.md5sum] = "655efc0d541b03ca5de0ae506c805ea3"
SRC_URI[patch15.sha256sum] = "2bc071c438e8b0ed42a0bd2db2d8b681b27a1e9b1798694d9874733293bc2aa9"
-inherit distro_features_check
+inherit pkgconfig
CFLAGS += " -D_GNU_SOURCE -Wno-deprecated-declarations"
-LDFLAGS += " -lutil"
+LDFLAGS += " -L${STAGING_LIBDIR} -lutil -lcrypt"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam", "", d)}"
+PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam"
do_configure () {
./configure --prefix=${prefix}
- echo "USE_PAM=1" > MCONFIG
- echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
- echo "INSTALLROOT=${D}" >> MCONFIG
+ echo "INSTALLROOT=${D}" > MCONFIG
+
+ if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
+ echo "USE_PAM=1" >> MCONFIG
+ fi
# didn't want to patch these next changes
sed -i 's/netkit-//' ${S}/rsh/pathnames.h
@@ -40,7 +47,6 @@ do_install () {
install -d ${D}${sbindir}
install -d ${D}${mandir}/man1
install -d ${D}${mandir}/man8
- install -d ${D}${sysconfdir}/pam.d
install -d ${D}${sysconfdir}/xinetd.d
oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
@@ -49,11 +55,13 @@ do_install () {
'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
'MANDIR=${mandir}' install
- install -m 0644 debian/hosts.equiv ${D}/${sysconfdir}
- install -m 0644 debian/pam.d/rexec ${D}/${sysconfdir}/pam.d
- install -m 0644 debian/pam.d/rlogin ${D}/${sysconfdir}/pam.d
- install -m 0644 debian/pam.d/rsh ${D}/${sysconfdir}/pam.d
-
+ if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
+ install -d ${D}${sysconfdir}/pam.d
+ install -m 0644 debian/hosts.equiv ${D}/${sysconfdir}
+ install -m 0644 debian/pam.d/rexec ${D}/${sysconfdir}/pam.d
+ install -m 0644 debian/pam.d/rlogin ${D}/${sysconfdir}/pam.d
+ install -m 0644 debian/pam.d/rsh ${D}/${sysconfdir}/pam.d
+ fi
cp ${WORKDIR}/rexec.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rexec
cp ${WORKDIR}/rlogin.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rlogin
cp ${WORKDIR}/rsh.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rsh
@@ -80,6 +88,4 @@ ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind"
RCONFLICTS_${PN}-client += "inetutils-rshd"
RPROVIDES_${PN}-rshd = "rshd"
-RDEPENDS_${PN} = "libpam xinetd"
-
-REQUIRED_DISTRO_FEATURES ?= "pam"
+RDEPENDS_${PN} = "xinetd"
--
1.9.1
More information about the Openembedded-devel
mailing list