]> code.ossystems Code Review - openembedded-core.git/commitdiff
net-tools: add new recipe (1.60-23)
authorKevin Tian <kevin.tian@intel.com>
Mon, 16 Aug 2010 07:40:50 +0000 (15:40 +0800)
committerRichard Purdie <rpurdie@linux.intel.com>
Thu, 19 Aug 2010 12:11:25 +0000 (13:11 +0100)
Borrow from OpenEmbedded with below difference:
  - use Debian as the SRC_URI
  - instead of copying all Debian locally, handle it in recipe automatically
    which eases our maintenance effort in the future
  - enable gettext

It's said the net-tools is deprecated by iproute2. However not all utilities
are replaced yet, such as hostname, domainname, netstat, slattach, ...

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
meta-lsb/packages/net-tools/net-tools-1.60-23/net-tools-config.h [new file with mode: 0644]
meta-lsb/packages/net-tools/net-tools-1.60-23/net-tools-config.make [new file with mode: 0644]
meta-lsb/packages/net-tools/net-tools_1.60-23.bb [new file with mode: 0644]

diff --git a/meta-lsb/packages/net-tools/net-tools-1.60-23/net-tools-config.h b/meta-lsb/packages/net-tools/net-tools-1.60-23/net-tools-config.h
new file mode 100644 (file)
index 0000000..92c527a
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+* config.h     Automatically generated configuration includefile
+*
+* NET-TOOLS    A collection of programs that form the base set of the
+*              NET-3 Networking Distribution for the LINUX operating
+*              system.
+*
+*              DO  NOT  EDIT  DIRECTLY
+*
+*/
+
+/* 
+ * 
+ * Internationalization
+ * 
+ * The net-tools package has currently been translated to French,
+ * German and Brazilian Portugese.  Other translations are, of
+ * course, welcome.  Answer `n' here if you have no support for
+ * internationalization on your system.
+ * 
+ */
+#define I18N 1
+
+/* 
+ * 
+ * Protocol Families.
+ * 
+ */
+#define HAVE_AFUNIX 1
+#define HAVE_AFINET 1
+#define HAVE_AFINET6 1
+#define HAVE_AFIPX 0
+#define HAVE_AFATALK 0
+#define HAVE_AFAX25 0
+#define HAVE_AFNETROM 1
+#define HAVE_AFROSE 0
+#define HAVE_AFX25 0
+#define HAVE_AFECONET 0
+#define HAVE_AFDECnet 0
+#define HAVE_AFASH 0
+
+/* 
+ * 
+ * Device Hardware types.
+ * 
+ */
+#define HAVE_HWETHER 1
+#define HAVE_HWARC 1
+#define HAVE_HWSLIP 1
+#define HAVE_HWPPP 1
+#define HAVE_HWTUNNEL 1
+#define HAVE_HWSTRIP 1
+#define HAVE_HWTR 1
+#define HAVE_HWAX25 0
+#define HAVE_HWROSE 0
+#define HAVE_HWNETROM 1
+#define HAVE_HWX25 0
+#define HAVE_HWFR 1
+#define HAVE_HWSIT 0
+#define HAVE_HWFDDI 0
+#define HAVE_HWHIPPI 0
+#define HAVE_HWASH 0
+#define HAVE_HWHDLCLAPB 0
+#define HAVE_HWIRDA 1
+#define HAVE_HWEC 0
+#define HAVE_HWIB 0
+
+/* 
+ * 
+ * Other Features.
+ * 
+ */
+#define HAVE_FW_MASQUERADE 1
+#define HAVE_IP_TOOLS 1
+#define HAVE_MII 1
diff --git a/meta-lsb/packages/net-tools/net-tools-1.60-23/net-tools-config.make b/meta-lsb/packages/net-tools/net-tools-1.60-23/net-tools-config.make
new file mode 100644 (file)
index 0000000..ec516f2
--- /dev/null
@@ -0,0 +1,36 @@
+I18N=1
+HAVE_AFUNIX=1
+HAVE_AFINET=1
+HAVE_AFINET6=1
+# HAVE_AFIPX=0
+# HAVE_AFATALK=0
+# HAVE_AFAX25=0
+HAVE_AFNETROM=1
+# HAVE_AFROSE=0
+# HAVE_AFX25=0
+# HAVE_AFECONET=0
+# HAVE_AFDECnet=0
+# HAVE_AFASH=0
+HAVE_HWETHER=1
+HAVE_HWARC=1
+HAVE_HWSLIP=1
+HAVE_HWPPP=1
+HAVE_HWTUNNEL=1
+HAVE_HWSTRIP=1
+HAVE_HWTR=1
+# HAVE_HWAX25=0
+# HAVE_HWROSE=0
+HAVE_HWNETROM=1
+# HAVE_HWX25=0
+HAVE_HWFR=1
+# HAVE_HWSIT=0
+# HAVE_HWFDDI=0
+# HAVE_HWHIPPI=0
+# HAVE_HWASH=0
+# HAVE_HWHDLCLAPB=0
+HAVE_HWIRDA=1
+# HAVE_HWEC=0
+# HAVE_HWIB=0
+HAVE_FW_MASQUERADE=1
+HAVE_IP_TOOLS=1
+HAVE_MII=1
diff --git a/meta-lsb/packages/net-tools/net-tools_1.60-23.bb b/meta-lsb/packages/net-tools/net-tools_1.60-23.bb
new file mode 100644 (file)
index 0000000..031169c
--- /dev/null
@@ -0,0 +1,77 @@
+SUMMARY="A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system"
+HOMEPAGE = "http://net-tools.berlios.de/"
+BUGTRACKER = "http://bugs.debian.org/net-tools"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
+                    file://ifconfig.c;startline=11;endline=15;md5=da4c7bb79a5d0798faa99ef869721f4a"
+PR = "r0"
+
+SRC_URI = "ftp://ftp.debian.org/debian/pool/main/n/net-tools/net-tools_1.60.orig.tar.gz \
+           ftp://ftp.debian.org/debian/pool/main/n/net-tools/${PN}_${PV}.diff.gz;apply=no \
+           file://net-tools-config.h \
+           file://net-tools-config.make" 
+
+S = "${WORKDIR}/net-tools-1.60"
+
+inherit gettext
+
+# The Makefile is lame, no parallel build
+PARALLEL_MAKE = ""
+
+# Unlike other Debian packages, net-tools *.diff.gz contains another series of
+# patches maintained by quilt. So manually apply them before applying other local
+# patches. Also remove all temp files before leaving, because do_patch() will pop 
+# up all previously applied patches in the start
+nettools_do_patch() {
+       cd ${S}
+       patch -p1 < ${WORKDIR}/${PN}_${PV}.diff
+       QUILT_PATCHES=${S}/debian/patches quilt push -a
+       rm -rf ${S}/patches ${S}/.pc
+}
+
+# We invoke base do_patch at end, to incorporate any local patch
+python do_patch() {
+       bb.build.exec_func('nettools_do_patch', d)
+       bb.build.exec_func('patch_do_patch', d)
+}
+
+do_configure() {
+       # net-tools has its own config mechanism requiring "make config"
+       # we pre-generate desired options and copy to source directory instead
+       cp ${WORKDIR}/net-tools-config.h    ${S}/config.h
+       cp ${WORKDIR}/net-tools-config.make ${S}/config.make
+}
+
+do_compile() {
+       # net-tools use COPTS/LOPTS to allow adding custom options
+       export COPTS="$CFLAGS"
+       export LOPTS="$LDFLAGS"
+       unset CFLAGS
+       unset LDFLAGS
+
+       oe_runmake
+}
+
+do_install() {
+       oe_runmake 'BASEDIR=${D}' install
+
+       for app in ${D}/${base_sbindir}/* ${D}/${base_bindir}/*; do
+               mv $app $app.${PN}
+       done
+}
+
+pkg_postinst_${PN} () {
+       for app in arp ifconfig ipmaddr iptunnel mii-tool nameif plipconfig rarp route slattach ; do
+               update-alternatives --install ${base_sbindir}/$app $app $app.${PN} 100
+       done
+
+       for app in dnsdomainname domainname hostname netstat nisdomainname ypdomainname ; do
+               update-alternatives --install ${base_bindir}/$app $app $app.${PN} 100
+       done
+}
+
+pkg_prerm_${PN} () {
+       for app in arp ifconfig ipmaddr iptunnel mii-tool nameif plipconfig rarp route slattach dnsdomainname domainname hostname netstat nisdomainname ypdomainname ; do
+               update-alternatives --remove $app $app.${PN}
+       done
+}