From patchwork Wed Jun 13 06:49:39 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Keguang Zhang X-Patchwork-Id: 164551 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id AACF7B6FCB for ; Wed, 13 Jun 2012 16:50:14 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 0EC4D31A73; Wed, 13 Jun 2012 06:50:13 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 377quUB18Td3; Wed, 13 Jun 2012 06:50:10 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id A116C31A49; Wed, 13 Jun 2012 06:50:10 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id DB2258F753 for ; Wed, 13 Jun 2012 06:50:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id AC00B8A32E for ; Wed, 13 Jun 2012 06:50:08 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tD02Jd3-gACk for ; Wed, 13 Jun 2012 06:50:04 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pz0-f53.google.com (mail-pz0-f53.google.com [209.85.210.53]) by whitealder.osuosl.org (Postfix) with ESMTPS id 45B858BCDA for ; Wed, 13 Jun 2012 06:50:04 +0000 (UTC) Received: by dadg9 with SMTP id g9so631841dad.40 for ; Tue, 12 Jun 2012 23:50:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=eKVv0Ue1uERqpH50NWS/XNH+sOetcortaQIwEh9f6gQ=; b=s+uMcqolfyCgg2TdS/VIuTpqidR+0zJv0H3ar0xpHlyZCsjAG/kuw+poaLKJYCiMDN kZp9mGHAzGnHOTCsdr1bHa5Q8zUWuZl+cPdQRXHWdbiqKpFS8byBHMBR2K9G9yLXXC66 oJBSTPxcr9dZumbm3UcYYLQSA62q12mdQhnNDMPjisjDmSeM77V57wm+fJP7nc8gIuBq NBWPTZKOGf0EvROV8z01WieagZYhBuZwoQWp46xaYrqZNKVxtayt+6JpH/1JS2MpSVgS +CKgY33KlndAG2bAKgCcPzw9Xi3+iVzew4i+3NzHHI+RdA9oEApTLhS6sn+EYbM6qbHm gLqg== Received: by 10.68.220.231 with SMTP id pz7mr48474024pbc.110.1339570203631; Tue, 12 Jun 2012 23:50:03 -0700 (PDT) Received: from kelvin-Work.chd.intersil.com ([182.148.112.76]) by mx.google.com with ESMTPS id vp4sm4724963pbc.61.2012.06.12.23.49.58 (version=SSLv3 cipher=OTHER); Tue, 12 Jun 2012 23:50:02 -0700 (PDT) From: Kelvin Cheung To: buildroot@busybox.net Date: Wed, 13 Jun 2012 14:49:39 +0800 Message-Id: <1339570179-29586-1-git-send-email-keguang.zhang@gmail.com> X-Mailer: git-send-email 1.7.1 Subject: [Buildroot] [PATCH v3] busybox: install S41inetd and inetd.conf if inetd is enabled in busybox. X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Install S41inetd and inetd.conf if inetd is enabled in busybox. Add telnetd to /etc/inetd.conf when inetd and telnetd are enabled. Provide examples for /etc/inetd.conf when ftpd and tftpd are enabled. Signed-off-by: Kelvin Cheung --- Changes for v3: Create a pidfile for inetd (asked by Arnout and Peter). For ftp and tftp service, provide examples instead of configurations. Changes for v2: Update ftpd and tftpd configuration in inetd.conf --- package/busybox/S41inetd | 30 ++++++++++++++++++++++++++++++ package/busybox/busybox.mk | 32 ++++++++++++++++++++++++++++++++ package/busybox/inetd.conf | 3 +++ 3 files changed, 65 insertions(+), 0 deletions(-) create mode 100644 package/busybox/S41inetd create mode 100644 package/busybox/inetd.conf diff --git a/package/busybox/S41inetd b/package/busybox/S41inetd new file mode 100644 index 0000000..0f54e50 --- /dev/null +++ b/package/busybox/S41inetd @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Starts the inetd daemon. +# + +NAME=inetd +DAEMON=/usr/sbin/$NAME +PIDFILE=/var/run/$NAME.pid + +case "$1" in + start) + echo -n "Starting $NAME: " + start-stop-daemon -S -q -m -p $PIDFILE -b -x $DAEMON -- -f && echo "OK" || echo "Failed" + ;; + stop) + echo -n "Stopping $NAME: " + start-stop-daemon -K -q -p $PIDFILE && echo "OK" || echo "Failed" + rm -f $PIDFILE + ;; + restart|reload) + $0 stop + $0 start + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? + diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 1d988f8..7d9420c 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -155,6 +155,36 @@ define BUSYBOX_INSTALL_WATCHDOG_SCRIPT endef endif +define BUSYBOX_INSTALL_INETD_SCRIPT + if grep -q CONFIG_INETD=y $(@D)/.config; then \ + [ -f $(TARGET_DIR)/etc/init.d/S41inetd ] || \ + $(INSTALL) -m 0755 -D package/busybox/S41inetd \ + $(TARGET_DIR)/etc/init.d/S41inetd; \ + else rm -f $(TARGET_DIR)/etc/init.d/S41inetd; fi +endef +define BUSYBOX_INSTALL_INETD_CONF + if grep -q CONFIG_INETD=y $(@D)/.config; then \ + [ -f $(TARGET_DIR)/etc/inetd.conf ] || \ + install -D -m 0644 package/busybox/inetd.conf \ + $(TARGET_DIR)/etc/inetd.conf; \ + if grep -q CONFIG_TELNETD=y $(@D)/.config; then \ + if ! grep -q '^telnet' $(TARGET_DIR)/etc/inetd.conf; then \ + echo -e "telnet\tstream\ttcp\tnowait\troot\ttelnetd\ttelnetd -i" >> $(TARGET_DIR)/etc/inetd.conf; \ + fi; \ + else $(SED) '/^telnet/d' $(TARGET_DIR)/etc/inetd.conf; fi; \ + if grep -q CONFIG_FTPD=y $(@D)/.config; then \ + if ! grep -q '^ftp' $(TARGET_DIR)/etc/inetd.conf; then \ + echo -e "#ftp\tstream\ttcp\tnowait\troot\tftpd\tftpd -w /files/to/serve" >> $(TARGET_DIR)/etc/inetd.conf; \ + fi; \ + else $(SED) '/^ftp/d' $(TARGET_DIR)/etc/inetd.conf; fi; \ + if grep -q CONFIG_TFTPD=y $(@D)/.config; then \ + if ! grep -q '^tftp' $(TARGET_DIR)/etc/inetd.conf; then \ + echo -e "#tftp\tdgram\tudp\tnowait\troot\ttftpd\ttftpd -l -c /files/to/serve" >> $(TARGET_DIR)/etc/inetd.conf; \ + fi; \ + else $(SED) '/^tftp/d' $(TARGET_DIR)/etc/inetd.conf; fi \ + else rm -f $(TARGET_DIR)/etc/inetd.conf; fi +endef + # We do this here to avoid busting a modified .config in configure BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG @@ -187,6 +217,8 @@ define BUSYBOX_INSTALL_TARGET_CMDS $(BUSYBOX_INSTALL_MDEV_CONF) $(BUSYBOX_INSTALL_LOGGING_SCRIPT) $(BUSYBOX_INSTALL_WATCHDOG_SCRIPT) + $(BUSYBOX_INSTALL_INETD_SCRIPT) + $(BUSYBOX_INSTALL_INETD_CONF) endef define BUSYBOX_UNINSTALL_TARGET_CMDS diff --git a/package/busybox/inetd.conf b/package/busybox/inetd.conf new file mode 100644 index 0000000..82cfa15 --- /dev/null +++ b/package/busybox/inetd.conf @@ -0,0 +1,3 @@ +# +# +