Skip to contentSkip to conversation

package/inetutils: new package

PATCH New Yann E. MORIN 2 participants 3 messages Jan 10, 2016 – Jan 19, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/inetutils: new package

From: Karoly Kasza <[email protected]>

GNU Inetutils is a collection of common network programs.

Clients included:
dnsdomainname, ftp, hostname, ifconfig, logger, ping, ping6, rcp, rexec, rlogin, rsh, talk, telnet, tftp, traceroute, whois

Servers included:
ftpd, inetd, rexecd, rlogind, rshd, syslogd, talkd, telnetd, tftpd, uucpd

[yann.morin.1998 at free.fr:
- rebase
- update version
- use ifeq-endif for all tools
- ifconfig needs its special post-install hook
- use $(foreach) to move/delete programs
- only move programs if not using merged /usr
- don't check before moving/deleting
- chmod +x moved programs
- remove IPv6 dependency
- no 'default y'
- add homepage
]

---
Changes v1 -> v2:
- rebase and all the changes in the commit log

---
Note: this patch won't be applicable using pwclient, as it contains a ^L character which makes the python xml stack barf like a student during a spring break.

---
 package/Config.in                             |   1 +
 package/inetutils/0001-PATH_PROCNET_DEV.patch |  20 +++
 package/inetutils/Config.in                   | 162 ++++++++++++++++++++++
 package/inetutils/inetutils.hash              |   2 +
 package/inetutils/inetutils.mk                | 185 ++++++++++++++++++++++++++
 5 files changed, 370 insertions(+)
 create mode 100644 package/inetutils/0001-PATH_PROCNET_DEV.patch
 create mode 100644 package/inetutils/Config.in
 create mode 100644 package/inetutils/inetutils.hash
 create mode 100644 package/inetutils/inetutils.mk
package/Config.in +1 -0
index 442021f..8aac66f 100644
@@ -1341,6 +1341,7 @@ endif
 	source "package/igh-ethercat/Config.in"
 	source "package/igmpproxy/Config.in"
 	source "package/inadyn/Config.in"
+	source "package/inetutils/Config.in"
 	source "package/iodine/Config.in"
 	source "package/iperf/Config.in"
 	source "package/iperf3/Config.in"
package/inetutils/0001-PATH_PROCNET_DEV.patch new file +20 -0
new file mode 100644
index 0000000..e987253
@@ -0,0 +1,20 @@
+Fix missing #define
+
+Original patch from:
+http://repository.timesys.com/buildsources/i/inetutils/inetutils-1.9.1/inetutils-1.9.1-PATH_PROCNET_DEV.patch
+
+Signed-off-by: Karoly Kasza <[email protected]>
+
+--- inetutils-1.9.2.orig/ifconfig/system/linux.c	2014-11-01 18:18:20.279765742 +0100
++++ inetutils-1.9.2/ifconfig/system/linux.c	2014-11-01 18:18:28.000000000 +0100
+@@ -50,6 +50,10 @@
+ #include "../ifconfig.h"
+ 
+ 
++#ifndef PATH_PROCNET_DEV
++  #define PATH_PROCNET_DEV "/proc/net/dev"
++#endif
++
+ /* ARPHRD stuff.  */
+ 
+ static void
package/inetutils/Config.in new file +162 -0

162 lines not on this page · raw message

package/inetutils/inetutils.hash new file +2 -0
new file mode 100644
index 0000000..75b094d
@@ -0,0 +1,2 @@
+# locally computed
+sha256	849d96f136effdef69548a940e3e0ec0624fc0c81265296987986a0dd36ded37	inetutils-1.9.4.tar.xz
package/inetutils/inetutils.mk new file +185 -0

185 lines not on this page · raw message

Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 package/inetutils: new package

Quoted 28 lines · Yann E. MORIN

From: Karoly Kasza <[email protected]>

GNU Inetutils is a collection of common network programs.

Clients included:
dnsdomainname, ftp, hostname, ifconfig, logger, ping, ping6, rcp, rexec, rlogin, rsh, talk, telnet, tftp, traceroute, whois

Servers included:
ftpd, inetd, rexecd, rlogind, rshd, syslogd, talkd, telnetd, tftpd, uucpd

[yann.morin.1998 at free.fr:
- rebase
- update version
- use ifeq-endif for all tools
- ifconfig needs its special post-install hook
- use $(foreach) to move/delete programs
- only move programs if not using merged /usr
- don't check before moving/deleting
- chmod +x moved programs
- remove IPv6 dependency
- no 'default y'
- add homepage
]

Quoted 8 lines

---
Changes v1 -> v2:
- rebase and all the changes in the commit log

---
Note: this patch won't be applicable using pwclient, as it contains a ^L character which makes the python xml stack barf like a student during a spring break.

:-) I'll snip that away then.

[snip]

package/inetutils/Config.in line 3

Quoted 9 lines
package/inetutils/Config.in new file +3 -0
new file mode 100644
index 0000000..8e0658b
@@ -0,0 +1,162 @@
+menuconfig BR2_PACKAGE_INETUTILS
+	bool "inetutils"
+	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS

It's not a policy I'm fond of, but we currently have all of these in
package/Config.in.

That said, I don't think it should depend on show others because some of the
tools don't exist in busybox (at least rshd, maybe others). And I don't like the show others anyway, so I prefer to leave it out as much as possible :-)

Quoted 7 lines
package/inetutils/Config.in new file +7 -0
+	depends on BR2_USE_WCHAR
+	help
+	  GNU Inetutils is a collection of common network programs.
+
+	  Clients included:
+	  dnsdomainname, ftp, hostname, ifconfig, logger, ping, ping6, rcp,
+	  rexec, rlogin, rsh, talk, telnet, tftp, traceroute, whois

package/inetutils/Config.in line 20

Quoted 10 lines
package/inetutils/Config.in new file +10 -0
+
+	  Servers included:
+	  ftpd, inetd, rexecd, rlogind, rshd, syslogd, talkd, telnetd, tftpd,
+	  uucpd
+
+	  https://www.gnu.org/software/inetutils/
+
+if BR2_PACKAGE_INETUTILS
+
+comment "Clients"

Not sure if it's really worthwhile to make all of these selectable. If you want
it small, use busybox, no? But now that it's there, why not.

[snip]

Quoted 6 lines
package/inetutils/inetutils.mk new file +0 -0
new file mode 100644
index 0000000..05a8be1

package/inetutils/inetutils.mk line 10

Quoted 10 lines
package/inetutils/inetutils.mk new file +10 -0
@@ -0,0 +1,185 @@
+################################################################################
+#
+# inetutils
+#
+################################################################################
+
+INETUTILS_VERSION = 1.9.4
+INETUTILS_SITE = $(BR2_GNU_MIRROR)/inetutils
+INETUTILS_SOURCE = inetutils-$(INETUTILS_VERSION).tar.xz
+INETUTILS_LICENSE = GPLv3

GPLv3+ actually.

Quoted 5 lines
package/inetutils/inetutils.mk new file +5 -0
+INETUTILS_LICENSE_FILES = COPYING
+
+# libexecdir is defined to have the daemons installed in /usr/sbin instead of /usr/libexec
+INETUTILS_CONF_OPTS = --libexecdir=/usr/sbin
+

[snip]

package/inetutils/inetutils.mk line 70

Quoted 4 lines
package/inetutils/inetutils.mk new file +4 -0
+ifeq ($(BR2_PACKAGE_INETUTILS_PING),y)
+INETUTILS_CONF_OPTS += --enable-ping
+INETUTILS_USR_BINS_MOVE += ping
+INETUTILS_PERMISSIONS += /bin/ping f 4755 0 0 - - - - -$(sep)

AFAICS (didn't test), this should be sufficient and the chmod +x shouldn't be
needed, no? All the executables that don't require suid are installed correctly I think.

Quoted 1 line

+endif

[snip]

package/inetutils/inetutils.mk line 169

Quoted 7 lines
package/inetutils/inetutils.mk new file +7 -0
+ifneq ($(BR2_ROOTFS_MERGED_USR),y)
+
+# Move binaries to proper path (possibly overwriting other utility versions)
+define INETUTILS_MOVE_PROPER_PATH
+	$(foreach fname,$(INETUTILS_USR_BINS_MOVE),\
+		mv -f $(TARGET_DIR)/usr/bin/$(fname) $(TARGET_DIR)/bin/$(fname)$(sep)\
+		chmod +x $(TARGET_DIR)/bin/$(fname)$(sep))

If the chmod is needed:

- the .mk file should have a comment about it;

- it should be done for the merged usr case as well.

package/inetutils/inetutils.mk line 181

Quoted 12 lines
package/inetutils/inetutils.mk new file +12 -0
+	$(foreach fname,$(INETUTILS_USR_SBINS_MOVE),\
+		mv -f $(TARGET_DIR)/usr/sbin/$(fname) $(TARGET_DIR)/sbin/$(fname)$(sep)\
+		chmod +x $(TARGET_DIR)/sbin/$(fname)$(sep))
+endef
+INETUTILS_POST_INSTALL_TARGET_HOOKS += INETUTILS_MOVE_PROPER_PATH
+
+endif # Merged /usr
+
+# Remove iputils and rshd-redone utilities to avoid multiply installed tools
+define INETUTILS_REMOVE_REDUNDANT_TOOLS
+	$(foreach fname,$(INETUTILS_DEL_OTHER),\
+		rm -f $(TARGET_DIR)/usr/sbin/in.$(fname)$(sep))

IMHO it would have been better to add in.foo in _DEL_OTHER rather than adding
it here.

Also, instead of a loop, I think this is better:

	rm -f $(addprefix $(TARGET_DIR)/usr/sbin/,$(INETUTILS_DEL_OTHER))

(note that rm -f with no files is allowed).

Regards,
Arnout

Quoted 5 lines
package/inetutils/inetutils.mk new file +4 -0
+endef
+INETUTILS_POST_INSTALL_TARGET_HOOKS += INETUTILS_REMOVE_REDUNDANT_TOOLS
+
+$(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#2 lore raw

PATCH 1/1 package/inetutils: new package

Karoly, All,

On 2016-01-10 16:58 +0100, Arnout Vandecappelle spake thusly:

Quoted 13 lines · Yann E. MORIN
Quoted 12 lines

From: Karoly Kasza <[email protected]>

GNU Inetutils is a collection of common network programs.

Clients included:
dnsdomainname, ftp, hostname, ifconfig, logger, ping, ping6, rcp, rexec, rlogin, rsh, talk, telnet, tftp, traceroute, whois

Servers included:
ftpd, inetd, rexecd, rlogind, rshd, syslogd, talkd, telnetd, tftpd, uucpd

Quoted 15 lines
Quoted 14 lines

[yann.morin.1998 at free.fr:
- rebase
- update version
- use ifeq-endif for all tools
- ifconfig needs its special post-install hook
- use $(foreach) to move/delete programs
- only move programs if not using merged /usr
- don't check before moving/deleting
- chmod +x moved programs
- remove IPv6 dependency
- no 'default y'
- add homepage
]

Quoted 1 line

Karoly, I've done an extensive rework of that patch to fix stuff. I'm not interested in it too much, so if you'r setill interested by it, would you care to get it again and address the comments made by Arnout?

Anyway, I've marked this patch as "Changes Requested" in our Patchwork, so it won't be listed any more on the list of pending patches unless you respin it.

Thanks!

Regards,
Yann E. MORIN.

Quoted 142 lines
Quoted 8 lines

---
Changes v1 -> v2:
- rebase and all the changes in the commit log

---
Note: this patch won't be applicable using pwclient, as it contains a ^L character which makes the python xml stack barf like a student during a spring break.

:-) I'll snip that away then.

[snip]

package/inetutils/Config.in line 3

Quoted 9 lines
package/inetutils/Config.in new file +3 -0
new file mode 100644
index 0000000..8e0658b
@@ -0,0 +1,162 @@
+menuconfig BR2_PACKAGE_INETUTILS
+	bool "inetutils"
+	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS

It's not a policy I'm fond of, but we currently have all of these in
package/Config.in.

That said, I don't think it should depend on show others because some of the
tools don't exist in busybox (at least rshd, maybe others). And I don't like the show others anyway, so I prefer to leave it out as much as possible :-)

Quoted 7 lines
package/inetutils/Config.in new file +7 -0
+	depends on BR2_USE_WCHAR
+	help
+	  GNU Inetutils is a collection of common network programs.
+
+	  Clients included:
+	  dnsdomainname, ftp, hostname, ifconfig, logger, ping, ping6, rcp,
+	  rexec, rlogin, rsh, talk, telnet, tftp, traceroute, whois

package/inetutils/Config.in line 20

Quoted 10 lines
package/inetutils/Config.in new file +10 -0
+
+	  Servers included:
+	  ftpd, inetd, rexecd, rlogind, rshd, syslogd, talkd, telnetd, tftpd,
+	  uucpd
+
+	  https://www.gnu.org/software/inetutils/
+
+if BR2_PACKAGE_INETUTILS
+
+comment "Clients"

Not sure if it's really worthwhile to make all of these selectable. If you want
it small, use busybox, no? But now that it's there, why not.

[snip]

Quoted 6 lines
package/inetutils/inetutils.mk new file +0 -0
new file mode 100644
index 0000000..05a8be1

package/inetutils/inetutils.mk line 10

Quoted 10 lines
package/inetutils/inetutils.mk new file +10 -0
@@ -0,0 +1,185 @@
+################################################################################
+#
+# inetutils
+#
+################################################################################
+
+INETUTILS_VERSION = 1.9.4
+INETUTILS_SITE = $(BR2_GNU_MIRROR)/inetutils
+INETUTILS_SOURCE = inetutils-$(INETUTILS_VERSION).tar.xz
+INETUTILS_LICENSE = GPLv3

GPLv3+ actually.

Quoted 5 lines
package/inetutils/inetutils.mk new file +5 -0
+INETUTILS_LICENSE_FILES = COPYING
+
+# libexecdir is defined to have the daemons installed in /usr/sbin instead of /usr/libexec
+INETUTILS_CONF_OPTS = --libexecdir=/usr/sbin
+

[snip]

package/inetutils/inetutils.mk line 70

Quoted 4 lines
package/inetutils/inetutils.mk new file +4 -0
+ifeq ($(BR2_PACKAGE_INETUTILS_PING),y)
+INETUTILS_CONF_OPTS += --enable-ping
+INETUTILS_USR_BINS_MOVE += ping
+INETUTILS_PERMISSIONS += /bin/ping f 4755 0 0 - - - - -$(sep)

AFAICS (didn't test), this should be sufficient and the chmod +x shouldn't be
needed, no? All the executables that don't require suid are installed correctly I think.

Quoted 1 line

+endif

[snip]

package/inetutils/inetutils.mk line 169

Quoted 7 lines
package/inetutils/inetutils.mk new file +7 -0
+ifneq ($(BR2_ROOTFS_MERGED_USR),y)
+
+# Move binaries to proper path (possibly overwriting other utility versions)
+define INETUTILS_MOVE_PROPER_PATH
+	$(foreach fname,$(INETUTILS_USR_BINS_MOVE),\
+		mv -f $(TARGET_DIR)/usr/bin/$(fname) $(TARGET_DIR)/bin/$(fname)$(sep)\
+		chmod +x $(TARGET_DIR)/bin/$(fname)$(sep))

If the chmod is needed:

- the .mk file should have a comment about it;

- it should be done for the merged usr case as well.

package/inetutils/inetutils.mk line 181

Quoted 12 lines
package/inetutils/inetutils.mk new file +12 -0
+	$(foreach fname,$(INETUTILS_USR_SBINS_MOVE),\
+		mv -f $(TARGET_DIR)/usr/sbin/$(fname) $(TARGET_DIR)/sbin/$(fname)$(sep)\
+		chmod +x $(TARGET_DIR)/sbin/$(fname)$(sep))
+endef
+INETUTILS_POST_INSTALL_TARGET_HOOKS += INETUTILS_MOVE_PROPER_PATH
+
+endif # Merged /usr
+
+# Remove iputils and rshd-redone utilities to avoid multiply installed tools
+define INETUTILS_REMOVE_REDUNDANT_TOOLS
+	$(foreach fname,$(INETUTILS_DEL_OTHER),\
+		rm -f $(TARGET_DIR)/usr/sbin/in.$(fname)$(sep))

IMHO it would have been better to add in.foo in _DEL_OTHER rather than adding
it here.

Also, instead of a loop, I think this is better:

	rm -f $(addprefix $(TARGET_DIR)/usr/sbin/,$(INETUTILS_DEL_OTHER))

(note that rm -f with no files is allowed).

Regards,
Arnout

Quoted 5 lines
package/inetutils/inetutils.mk new file +4 -0
+endef
+INETUTILS_POST_INSTALL_TARGET_HOOKS += INETUTILS_REMOVE_REDUNDANT_TOOLS
+
+$(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'