[oe] [meta-networking][PATCH] netkit-rsh: add new package
akuster
akuster at mvista.com
Sun Dec 14 17:39:25 UTC 2014
ignore this one. miss fire on send.
On 12/14/2014 08:54 AM, Armin Kuster wrote:
> 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"
>
More information about the Openembedded-devel
mailing list