summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2013-03-16 21:11:52 +0000
committerIgor Pashev <pashev.igor@gmail.com>2013-03-16 21:11:52 +0000
commite397b5f8a52514e3228532b023edf0062b9dda21 (patch)
treeb9c1438adfd2fb2fd63add245330176d0b6df482
parent0c03bbd6a0afab5c10112000ff176ec3115aabd4 (diff)
downloadillumos-packaging-e397b5f8a52514e3228532b023edf0062b9dda21.tar.gz
illumos net tools: arp & ifconfig
-rw-r--r--illumos-net-tools/debian/README.source10
-rw-r--r--illumos-net-tools/debian/changelog5
-rw-r--r--illumos-net-tools/debian/compat1
-rw-r--r--illumos-net-tools/debian/control21
-rw-r--r--illumos-net-tools/debian/copyright27
-rw-r--r--illumos-net-tools/debian/illumos-net-tools.install3
-rw-r--r--illumos-net-tools/debian/illumos-net-tools.manpages2
-rw-r--r--illumos-net-tools/debian/patches/arp-include-sys_sockio.h.patch12
-rw-r--r--illumos-net-tools/debian/patches/ifconfig-disable-ipmp.patch75
-rw-r--r--illumos-net-tools/debian/patches/ifconfig-no-libxnet.patch13
-rw-r--r--illumos-net-tools/debian/patches/ifconfig-pointers.patch13
-rw-r--r--illumos-net-tools/debian/patches/series4
-rwxr-xr-xillumos-net-tools/debian/rules98
-rw-r--r--illumos-net-tools/debian/source/format1
14 files changed, 285 insertions, 0 deletions
diff --git a/illumos-net-tools/debian/README.source b/illumos-net-tools/debian/README.source
new file mode 100644
index 0000000..9988910
--- /dev/null
+++ b/illumos-net-tools/debian/README.source
@@ -0,0 +1,10 @@
+Real sources are in the package illumos-source-X.Y,
+where X and Y are numbers. Exact values of X and Y
+are set in Build-Depends field of debian/control as
+well as in the version string in debian/changelog,
+in a form of X.Y-1.
+
+To add a patch you need first to unpack files from
+illumos-source-X.Y using ./debian/rules unpack
+and, desirably, ./debian/rules patch
+
diff --git a/illumos-net-tools/debian/changelog b/illumos-net-tools/debian/changelog
new file mode 100644
index 0000000..51cf16f
--- /dev/null
+++ b/illumos-net-tools/debian/changelog
@@ -0,0 +1,5 @@
+illumos-net-tools (2.10-1) UNRELEASED; urgency=low
+
+ * Initial release.
+
+ -- Igor Pashev <pashev.igor@gmail.com> Sat, 16 Mar 2013 21:11:26 +0000
diff --git a/illumos-net-tools/debian/compat b/illumos-net-tools/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/illumos-net-tools/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/illumos-net-tools/debian/control b/illumos-net-tools/debian/control
new file mode 100644
index 0000000..609fd34
--- /dev/null
+++ b/illumos-net-tools/debian/control
@@ -0,0 +1,21 @@
+Source: illumos-net-tools
+Section: admin
+Priority: required
+Maintainer: Igor Pashev <pashev.igor@gmail.com>
+Build-Depends:
+ dh-illumos,
+ illumos-source-2.10,
+ quilt,
+Standards-Version: 3.9.3
+Homepage: https://www.illumos.org
+
+Package: illumos-net-tools
+Priority: important
+Section: admin
+Architecture: illumos-any
+Recommends: ipadm, dladm, routeadm
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: illumos networking tools
+ This package provides the illumos tools needed to manage networking on illumos.
+ Some of these tools are legacy, e. g. ifconfig is supersede by ipadm.
+
diff --git a/illumos-net-tools/debian/copyright b/illumos-net-tools/debian/copyright
new file mode 100644
index 0000000..92d3a40
--- /dev/null
+++ b/illumos-net-tools/debian/copyright
@@ -0,0 +1,27 @@
+Files: debian/*
+Copyright: 2012, Igor Pashev <pashev.igor@gmail.com>
+License: WTFPL-2
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ Version 2, December 2004
+ .
+ Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+ .
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+ .
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+ .
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
+
+
+Files: *
+License: CDDL
+ Note that sources are not in this package but in the package
+ illumos-source-X.Y. Those sources are covered by Common Development
+ and Distribution License (CDDL).
+ .
+ On Dyson system, the full text of the CDDL license
+ can be found in the file `/usr/share/common-licenses/CDDL-1.0'.
+
diff --git a/illumos-net-tools/debian/illumos-net-tools.install b/illumos-net-tools/debian/illumos-net-tools.install
new file mode 100644
index 0000000..9a1de1f
--- /dev/null
+++ b/illumos-net-tools/debian/illumos-net-tools.install
@@ -0,0 +1,3 @@
+usr/sbin/arp
+sbin/ifconfig
+usr/sbin/ifconfig
diff --git a/illumos-net-tools/debian/illumos-net-tools.manpages b/illumos-net-tools/debian/illumos-net-tools.manpages
new file mode 100644
index 0000000..33a249f
--- /dev/null
+++ b/illumos-net-tools/debian/illumos-net-tools.manpages
@@ -0,0 +1,2 @@
+usr/src/man/man1m/ifconfig.1m
+usr/src/man/man1m/arp.1m
diff --git a/illumos-net-tools/debian/patches/arp-include-sys_sockio.h.patch b/illumos-net-tools/debian/patches/arp-include-sys_sockio.h.patch
new file mode 100644
index 0000000..745eb9d
--- /dev/null
+++ b/illumos-net-tools/debian/patches/arp-include-sys_sockio.h.patch
@@ -0,0 +1,12 @@
+Index: illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/arp.c
+===================================================================
+--- illumos-net-tools.orig/usr/src/cmd/cmd-inet/usr.sbin/arp.c 2012-10-08 00:25:23.000000000 +0000
++++ illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/arp.c 2013-03-16 14:33:18.229912016 +0000
+@@ -51,6 +51,7 @@
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <sys/ioctl.h>
++#include <sys/sockio.h>
+ #include <errno.h>
+ #include <netdb.h>
+ #include <net/if.h>
diff --git a/illumos-net-tools/debian/patches/ifconfig-disable-ipmp.patch b/illumos-net-tools/debian/patches/ifconfig-disable-ipmp.patch
new file mode 100644
index 0000000..2818993
--- /dev/null
+++ b/illumos-net-tools/debian/patches/ifconfig-disable-ipmp.patch
@@ -0,0 +1,75 @@
+Description: disable IP multipath in ifconfig
+ libipmp is full of shit, it is not ready for 64-bit,
+ it sends raw structures over sockets, etc., etc.
+Index: illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/defs.h
+===================================================================
+--- illumos-net-tools.orig/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/defs.h 2012-10-08 00:25:23.000000000 +0000
++++ illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/defs.h 2013-03-16 20:35:42.989210909 +0000
+@@ -52,8 +52,11 @@
+ #include <arpa/inet.h>
+ #include <assert.h>
+
++#ifdef IPMP
+ #include <ipmp_mpathd.h>
+ #include <ipmp_admin.h>
++#endif
++
+ #include <libinetutil.h>
+ #include <alloca.h>
+
+Index: illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/ifconfig.c
+===================================================================
+--- illumos-net-tools.orig/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/ifconfig.c 2012-10-08 00:25:23.000000000 +0000
++++ illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/ifconfig.c 2013-03-16 20:37:57.339953802 +0000
+@@ -3693,6 +3693,7 @@
+ static int
+ create_ipmp(const char *grname, int af, const char *ifname, boolean_t implicit)
+ {
++#ifdef IFCONFIG_IPMP
+ static int ipmp_daemon_started;
+ uint32_t flags = IPADM_OPT_IPMP|IPADM_OPT_ACTIVE;
+ ipadm_status_t istatus;
+@@ -3747,6 +3748,9 @@
+ start_ipmp_daemon();
+
+ return (0);
++#else
++ return (-1);
++#endif
+ }
+
+ /*
+@@ -3755,6 +3759,7 @@
+ static void
+ start_ipmp_daemon(void)
+ {
++#ifdef IFCONFIG_IPMP
+ int retval;
+ ipmp_handle_t ipmp_handle;
+
+@@ -3797,6 +3802,7 @@
+ default:
+ break;
+ }
++#endif
+ }
+
+ /*
+Index: illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/Makefile
+===================================================================
+--- illumos-net-tools.orig/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/Makefile 2012-10-08 00:25:23.000000000 +0000
++++ illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/Makefile 2013-03-16 20:44:54.586442147 +0000
+@@ -39,7 +39,12 @@
+ CPPFLAGS += -I$(CMDINETCOMMONDIR) -I$(SRC)/common/net/dhcp
+ CERRWARN += -_gcc=-Wno-uninitialized
+ CERRWARN += -_gcc=-Wno-parentheses
+-LDLIBS += -ldhcpagent -ldlpi -linetutil -lipmp -ldladm -lipadm
++LDLIBS += -ldhcpagent -ldlpi -linetutil -ldladm -lipadm
++
++# For IP multipath:
++# CPPFLAGS += -DIFCONFIG_IPMP
++# LDFLAGS += -lipmp
++
+ LINTFLAGS += -m
+
+ ROOTUSRSBINLINKS = $(PROG:%=$(ROOTUSRSBIN)/%)
diff --git a/illumos-net-tools/debian/patches/ifconfig-no-libxnet.patch b/illumos-net-tools/debian/patches/ifconfig-no-libxnet.patch
new file mode 100644
index 0000000..a1e1a80
--- /dev/null
+++ b/illumos-net-tools/debian/patches/ifconfig-no-libxnet.patch
@@ -0,0 +1,13 @@
+Index: illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/Makefile
+===================================================================
+--- illumos-net-tools.orig/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/Makefile 2013-03-16 20:44:54.586442147 +0000
++++ illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/Makefile 2013-03-16 20:57:50.019151170 +0000
+@@ -54,7 +54,7 @@
+ # be accessed by -lxnet. In addition -lsocket and -lnsl are used to
+ # capture new not-yet-standard interfaces. Someday -lxnet alone should be
+ # enough when IPv6 inspired new interfaces are part of standards.
+-LDLIBS += -lxnet -lsocket -lnsl
++LDLIBS += -lsocket -lnsl
+
+ # these #defines are required to use UNIX 98 interfaces
+ _D_UNIX98_EXTN= -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
diff --git a/illumos-net-tools/debian/patches/ifconfig-pointers.patch b/illumos-net-tools/debian/patches/ifconfig-pointers.patch
new file mode 100644
index 0000000..62b2013
--- /dev/null
+++ b/illumos-net-tools/debian/patches/ifconfig-pointers.patch
@@ -0,0 +1,13 @@
+Index: illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/revarp.c
+===================================================================
+--- illumos-net-tools.orig/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/revarp.c 2012-10-08 00:25:23.000000000 +0000
++++ illumos-net-tools/usr/src/cmd/cmd-inet/usr.sbin/ifconfig/revarp.c 2013-03-16 20:50:52.204215409 +0000
+@@ -328,7 +328,7 @@
+ void
+ dlpi_print_address(const char *linkname)
+ {
+- uint_t physaddrlen = DLPI_PHYSADDR_MAX;
++ size_t physaddrlen = DLPI_PHYSADDR_MAX;
+ uchar_t physaddr[DLPI_PHYSADDR_MAX];
+ char *str;
+ int retv;
diff --git a/illumos-net-tools/debian/patches/series b/illumos-net-tools/debian/patches/series
new file mode 100644
index 0000000..de3ca56
--- /dev/null
+++ b/illumos-net-tools/debian/patches/series
@@ -0,0 +1,4 @@
+arp-include-sys_sockio.h.patch
+ifconfig-disable-ipmp.patch
+ifconfig-pointers.patch
+ifconfig-no-libxnet.patch
diff --git a/illumos-net-tools/debian/rules b/illumos-net-tools/debian/rules
new file mode 100755
index 0000000..3347127
--- /dev/null
+++ b/illumos-net-tools/debian/rules
@@ -0,0 +1,98 @@
+#!/usr/bin/make -f
+
+include /usr/share/dpkg/buildflags.mk
+
+export DH_VERBOSE = 1
+
+# We've patched it, so i386 is suitable for any arch:
+cmd := \
+ cmd-inet/usr.sbin/ifconfig
+
+man := \
+ usr/src/man/man1m/arp.1m \
+ usr/src/man/man1m/ifconfig.1m \
+
+
+unpack: unpack-stamp
+unpack-stamp:
+ dh_testdir
+ dh_illumos_gate --build \
+ usr/src/cmd/cmd-inet \
+ $(man) \
+ usr/src/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
+
+
+ # Buggy and unused:
+ echo > usr/src/Makefile.msg.targ
+
+ # Use GNU ld:
+ sed -i '/LD_ALTEXEC/d' usr/env.sh
+ echo 'BDIRECT=' >> usr/src/cmd/Makefile.cmd
+ echo 'MAPFILE.NES=' >> usr/src/cmd/Makefile.cmd
+ echo 'MAPFILE.PGA=' >> usr/src/cmd/Makefile.cmd
+ echo 'MAPFILE.NED=' >> usr/src/cmd/Makefile.cmd
+
+ # Disable ISA dirs:
+ echo 'ROOTUSRSBIN32=$$(ROOTUSRSBIN)' >> usr/src/cmd/Makefile.cmd
+ echo 'ROOTBIN32=$$(ROOTBIN)' >> usr/src/cmd/Makefile.cmd
+ touch $@
+
+patch: patch-stamp
+patch-stamp: unpack-stamp
+ dh_testdir
+ [ ! -f debian/patches/series ] || QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2
+ touch $@
+
+unpatch:
+ dh_testdir
+ [ ! -f debian/patches/series ] || QUILT_PATCHES=debian/patches quilt pop -a -f || test $$? = 2
+ rm -f patch-stamp
+
+dirs-stamp: unpack-stamp
+ . usr/env.sh; mkdir -p \
+ debian/tmp/sbin \
+ debian/tmp/usr/sbin
+ touch $@
+
+install: install-stamp
+
+install-stamp: build-stamp
+ install -m 755 -t debian/tmp/usr/sbin/ arp
+ touch $@
+
+build build-arch build-indep: build-stamp
+
+build-stamp: dirs-stamp patch-stamp
+ $(CC) $(CFLAGS) $(LDFLAGS) -lsocket -lnsl ./usr/src/cmd/cmd-inet/usr.sbin/arp.c -o arp
+ dh_illumos_make --native $(cmd:%=usr/src/cmd/%)
+ touch $@
+
+binary binary-arch binary-indep: binary-stamp
+binary-stamp: install-stamp
+ dh_testdir
+ dh_testroot
+ dh_installdirs
+ dh_install
+ dh_strip
+ dh_installman
+ dh_installdocs
+ dh_installexamples
+ dh_installchangelogs
+ dh_bash-completion
+ dh_link
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_strip
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+ touch $@
+
+clean: unpatch
+ dh_testdir
+ dh_testroot
+ dh_clean arp
+ rm -rf usr .pc
+
diff --git a/illumos-net-tools/debian/source/format b/illumos-net-tools/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/illumos-net-tools/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)