Summary: The basic tools for setting up networking.
Summary(ja): ネットワークをセットアップするための基本的なツール
Name: net-tools
Version: 1.60
Release: 17%{?_dist_release}
License: GPL
Group: System Environment/Base

Source0: http://www.tazenda.demon.co.uk/phil/net-tools/net-tools-%{version}.tar.bz2
Source1: net-tools-%{version}-config.h
Source2: net-tools-%{version}-config.make
Source3: ether-wake.c
Source4: ether-wake.8
Source5: mii-diag.c
Source6: mii-diag.8
Source7: iptunnel.8
Source8: ipmaddr.8

Patch1: net-tools-1.57-bug22040.patch
Patch2: net-tools-1.60-miiioctl.patch
Patch3: net-tools-1.60-manydevs.patch
Patch4: net-tools-1.60-virtualname.patch
Patch5: net-tools-1.60-cycle.patch
Patch6: net-tools-1.60-nameif.patch
Patch7: net-tools-1.60-ipx.patch
Patch8: net-tools-1.60-inet6-lookup.patch
Patch9: net-tools-1.60-man.patch
Patch10: net-tools-1.60-gcc33.patch
Patch11: net-tools-1.60-trailingblank.patch
Patch12: net-tools-1.60-interface.patch
Patch14: net-tools-1.60-gcc34.patch
Patch15: net-tools-1.60-overflow.patch
Patch19: net-tools-1.60-siunits.patch
Patch20: net-tools-1.60-trunc.patch
Patch21: net-tools-1.60-return.patch
Patch22: net-tools-1.60-parse.patch
Patch23: net-tools-1.60-netmask.patch
Patch24: net-tools-1.60-ulong.patch
Patch25: net-tools-1.60-bcast.patch
Patch26: net-tools-1.60-mii-tool-obsolete.patch
Patch27: net-tools-1.60-netstat_ulong.patch
Patch28: net-tools-1.60-note.patch
Patch29: net-tools-1.60-num-ports.patch
Patch30: net-tools-1.60-duplicate-tcp.patch
Patch31: net-tools-1.60-statalias.patch
Patch32: net-tools-1.60-isofix.patch
Patch34: net-tools-1.60-ifconfig_ib.patch
Patch35: net-tools-1.60-de.patch
Patch37: net-tools-1.60-pie.patch
Patch38: net-tools-1.60-ifaceopt.patch
Patch39: net-tools-1.60-trim_iface.patch
Patch40: net-tools-1.60-stdo.patch
Patch41: net-tools-1.60-statistics.patch
Patch42: net-tools-1.60-ifconfig.patch
Patch43: net-tools-1.60-arp_overflow.patch
Patch44: net-tools-1.60-hostname_man.patch
Patch45: net-tools-1.60-interface_stack.patch
Patch46: net-tools-1.60-selinux.patch
Patch47: net-tools-1.60-netstat_stop_trim.patch
Patch48: net-tools-1.60-netstat_inode.patch
Patch49: net-tools-1.60-fgets.patch
Patch50: net-tools-1.60-ifconfig_man.patch
Patch51: net-tools-1.60-x25-proc.patch
Patch52: net-tools-1.60-sctp.patch
Patch53: net-tools-1.60-arp_man.patch
Patch54: net-tools-1.60-ifconfig-long-iface-crasher.patch
Patch55: net-tools-1.60-netdevice.patch
Patch56: net-tools-1.60-skip.patch
Patch57: net-tools-1.60-netstat-I-fix.patch
Patch58: net-tools-1.60-nameif_strncpy.patch
Patch59: net-tools-1.60-arp-unaligned-access.patch
Patch60: net-tools-1.60-sctp-quiet.patch
Patch61: net-tools-1.60-remove_node.patch
Patch62: net-tools-1.60-netstat-interfaces-crash.patch
Patch64: net-tools-1.60-ec_hw_null.patch
Patch65: net-tools-1.60-statistics_buffer.patch
Patch66: net-tools-1.60-sctp-addrs.patch
Patch67: net-tools-1.60-i-option.patch
Patch68: net-tools-1.60-a-option.patch
Patch69: net-tools-1.60-clear-flag.patch
Patch70: net-tools-1.60-metric-tunnel-man.patch
Patch71: net-tools-1.60-netstat-probe.patch

# scanf format length fix (non-exploitable)
Patch72: net-tools-1.60-scanf-format.patch

# netstat - avoid name resolution for listening or established sockets (-l) by return fast
Patch73: net-tools-1.60-avoid-name-resolution.patch

# netstat - --continuous should flush stdout
Patch74: net-tools-1.60-continous-flush-stdout.patch

# fix some errors so net-tools can be build with DEBUG defined
Patch75: net-tools-1.60-debug-fix.patch

# let the user know that ifconfig can correctly show only first 8 bytes of Infiniband hw address
Patch76: net-tools-1.60-ib-warning.patch

# notes in man pages, saying that these tools are obsolete
Patch77: net-tools-1.60-man-obsolete.patch

# Bug 322901  Sens negating error in man page translation (arp)
Patch78: net-tools-1.60-man-RHEL-bugs.patch

# handle raw "IP" masqinfo
Patch79: net-tools-1.60-masqinfo-raw-ip.patch

# touch up build system to respect normal toolchain env vars rather than requiring people to set random custom ones
# add missing dependency on version.h to libdir target to fix parallel build failures
# convert -idirafter to -I
Patch80: net-tools-1.60-makefile-berlios.patch

# slattach: use fchown() rather than chown() to avoid race between creation and permission changing
Patch81: net-tools-1.60-slattach-fchown.patch

# Bug 531702: make "hostname -s" display host name cut at the first dot (no matter if the host name resolves or not)
Patch82: net-tools-1.60-hostname-short.patch

# use <linux/mii.h> instead of "mii.h" and fix Bug #491358
Patch83: net-tools-1.60-mii-refactor.patch

# Bug 567272: ifconfig interface:0 del <IP> will remove the Aliased IP on IA64
Patch84: net-tools-1.60-IA64.patch

# interface: fix IPv6 parsing of interfaces with large indexes (> 255)
Patch85: net-tools-1.60-large-indexes.patch

# netstat -s (statistics.c) now uses unsigned long long (instead of int) to handle 64 bit integers (Bug #580054)
Patch86: net-tools-1.60-statistics-doubleword.patch

# fix memory leak in netstat when run with -c option (Bug #634539)
Patch88: net-tools-1.60-netstat-leak.patch

# Don't rely on eth0 being default network device name.
# Since RHEL-6.1 network devices can have arbitrary names (#682368)
Patch89: net-tools-1.60-arbitrary-device-names.patch

# plipconfig man page and usage output fixes (#694766)
Patch90: net-tools-1.60-plipconfig.patch

# Add -A,--all-fqdns and -I,--all-ip-addresses options to hostname (#705110)
Patch91: net-tools-1.60-allnames.patch

# patch netstat to separate basename of -p only if it is absolute
# path (in order to make argv[0]="sshd pty/0" display as sshd, and not as /0).
# (#725348)
Patch92: net-tools-1.60-netstat-p-basename.patch

# Commit: 	https://sourceforge.net/p/net-tools/code/ci/e5f1be133570075e10dec3cbd3e379d2d1cb6f99/
# BZ:		https://bugzilla.redhat.com/show_bug.cgi?id=1177980
# Fixed in:	1.60
Patch93: net-tools-1.60-ifconfig-EiB.patch

# BZ:		https://bugzilla.redhat.com/show_bug.cgi?id=803880
#Fixed in:	1.60
Patch94: net-tools-inet-rresolve.patch

# BZ:		https://bugzilla.redhat.com/show_bug.cgi?id=979318
#Fixed in:	1.60
Patch95: net-tools-1.60-netstat-inet6-manpage.patch

#BZ:		https://bugzilla.redhat.com/show_bug.cgi?id=1159286
Patch96:	net-tools-1.60-hostname-aaaa.patch

# upstream 45d573: iptunnel: drop netinet/ip.h include
Patch99:	net-tools-1.60-iphdr.patch

# source/patch for Vine
Source100: net-tools-1.60-ja.po
Patch100: net-tools-1.54-japo.patch

BuildRoot: %{_tmppath}/%{name}-root
Vendor: Project Vine
Distribution: Vine Linux

%description
The net-tools package contains the basic tools needed for setting up
networking:  ethers, route and others.

%description -l ja
net-tools パッケージはネットワークをセットアップする基本的なツールを
含んでいます: イーサーネット, ルーティングやその他

%prep
%setup -q
%patch1 -p1 -b .bug22040
%patch2 -p1 -b .miiioctl
%patch3 -p0 -b .manydevs
%patch4 -p1 -b .virtualname
%patch5 -p1 -b .cycle
%patch6 -p1 -b .nameif
%patch7 -p1 -b .ipx
%patch8 -p1 -b .inet6-lookup
%patch9 -p1 -b .man
%patch10 -p1 -b .gcc33 %{?_rawbuild}
%patch11 -p1 -b .trailingblank
%patch12 -p1 -b .interface
%patch14 -p1 -b .gcc34 %{?_rawbuild}
%patch15 -p1 -b .overflow
%patch19 -p1 -b .siunits
%patch20 -p1 -b .trunc
%patch21 -p1 -b .return
%patch22 -p1 -b .parse
%patch23 -p1 -b .netmask
%patch24 -p1 -b .ulong
%patch25 -p1 -b .bcast
%patch26 -p1 -b .obsolete
%patch27 -p1 -b .netstat_ulong
%patch28 -p1 -b .note
%patch29 -p1 -b .num-ports
%patch30 -p1 -b .dup-tcp
%patch31 -p1 -b .statalias
%patch32 -p1 -b .isofix
%patch34 -p1 -b .ifconfig_ib
%patch35 -p1 
%patch37 -p1 -b .pie
%patch38 -p1 -b .ifaceopt
%patch39 -p1 -b .trim-iface
%patch40 -p1 -b .stdo
%patch41 -p1 -b .statistics
%patch42 -p1 -b .iface_drop
%patch43 -p1 -b .overflow
%patch44 -p1 -b .hostname_man
%patch45 -p0 -b .stack
%patch46 -p1 -b .selinux
%patch47 -p1 -b .trim
%patch48 -p1 -b .inode
%patch49 -p1 -b .fgets
%patch50 -p1 -b .inet_addr
%patch51 -p1 -b .x25
%patch52 -p1 -b .sctp
%patch53 -p1
%patch54 -p1 -b .long_iface
%patch55 -p1 -b .netdevice %{?_rawbuild}
%patch56 -p1 -b .skip
%patch57 -p1
%patch58 -p1 -b .strncpy
%patch59 -p1 -b .arp-un-access
%patch60 -p1 -b .quiet
%patch61 -p1
%patch62 -p1 -b .iface-crash
%patch64 -p1 %{?_rawbuild}
%patch65 -p1 -b .buffer
%patch66 -p1 -b .sctp-addrs
%patch67 -p1 -b .i-option
%patch68 -p1 -b .a-option
%patch69 -p1 -b .clear-flag
%patch70 -p1 -b .metric-tunnel-man
%patch71 -p1 -b .probe
%patch72 -p1 -b .scanf-format
%patch73 -p1 -b .avoid-name-resolution
%patch74 -p1 -b .continous-flush-stdout
%patch75 -p1 -b .debug-fix
%patch76 -p1 -b .ib-warning
%patch77 -p1 -b .man-obsolete
%patch78 -p1 -b .man-RHEL-bugs
%patch79 -p1 -b .masqinfo-raw-ip
%patch80 -p1 -b .makefile-berlios
%patch81 -p1 -b .slattach-fchown
%patch82 -p1 -b .hostname-short
%patch83 -p1 -b .mii-refactor
%patch84 -p1 -b .IA64
%patch85 -p1 -b .large-indexes
%patch86 -p1 -b .doubleword
%patch88 -p1 -b .netstat-leak
%patch89 -p1 -b .arbitrary-device-names
%patch90 -p1 -b .plipconfig
%patch91 -p1 -b .allnames
%patch92 -p1 -b .p-basename
%patch93 -p1 -b .ifconfig-EiB
%patch94 -p1 -b .inet-rresolve
%patch95 -p1 -b .netstat-inet6-manpage
%patch96 -p1 -b .net-tools-1.60-hostname-aaaa

%patch99 -p1 -b .iphdr

cp %SOURCE1 ./config.h
cp %SOURCE2 ./config.make
cp %SOURCE3 .
cp %SOURCE4 ./man/en_US
cp %SOURCE5 .
cp %SOURCE6 ./man/en_US
cp %SOURCE7 ./man/en_US
cp %SOURCE8 ./man/en_US

%patch100 -p1 -b .nls
cp %SOURCE100 po/ja.po

iconv -f iso-8859-1 -t utf-8 -o arp.tmp man/fr_FR/arp.8 && mv arp.tmp man/fr_FR/arp.8
iconv -f iso-8859-1 -t utf-8 -o ethers.tmp man/fr_FR/ethers.5 && mv ethers.tmp man/fr_FR/ethers.5
iconv -f iso-8859-1 -t utf-8 -o hostname.tmp man/fr_FR/hostname.1 && mv hostname.tmp man/fr_FR/hostname.1
iconv -f iso-8859-1 -t utf-8 -o ifconfig.tmp man/fr_FR/ifconfig.8 && mv ifconfig.tmp man/fr_FR/ifconfig.8
iconv -f iso-8859-1 -t utf-8 -o netstat.tmp man/fr_FR/netstat.8 && mv netstat.tmp man/fr_FR/netstat.8
iconv -f iso-8859-1 -t utf-8 -o plipconfig.tmp man/fr_FR/plipconfig.8 && mv plipconfig.tmp man/fr_FR/plipconfig.8
iconv -f iso-8859-1 -t utf-8 -o rarp.tmp man/fr_FR/rarp.8 && mv rarp.tmp man/fr_FR/rarp.8
iconv -f iso-8859-1 -t utf-8 -o route.tmp man/fr_FR/route.8 && mv route.tmp man/fr_FR/route.8
iconv -f iso-8859-1 -t utf-8 -o slattach.tmp man/fr_FR/slattach.8 && mv slattach.tmp man/fr_FR/slattach.8
#portugal
iconv -f iso-8859-1 -t utf-8 -o arp.tmp man/pt_BR/arp.8 && mv arp.tmp man/pt_BR/arp.8
iconv -f iso-8859-1 -t utf-8 -o hostname.tmp man/pt_BR/hostname.1 && mv hostname.tmp man/pt_BR/hostname.1
iconv -f iso-8859-1 -t utf-8 -o ifconfig.tmp man/pt_BR/ifconfig.8 && mv ifconfig.tmp man/pt_BR/ifconfig.8
iconv -f iso-8859-1 -t utf-8 -o netstat.tmp man/pt_BR/netstat.8 && mv netstat.tmp man/pt_BR/netstat.8
iconv -f iso-8859-1 -t utf-8 -o rarp.tmp man/pt_BR/rarp.8 && mv rarp.tmp man/pt_BR/rarp.8
iconv -f iso-8859-1 -t utf-8 -o route.tmp man/pt_BR/route.8 && mv route.tmp man/pt_BR/route.8
#german
iconv -f iso-8859-1 -t utf-8 -o arp.tmp man/de_DE/arp.8 && mv arp.tmp man/de_DE/arp.8
iconv -f iso-8859-1 -t utf-8 -o ethers.tmp man/de_DE/ethers.5 && mv ethers.tmp man/de_DE/ethers.5
iconv -f iso-8859-1 -t utf-8 -o hostname.tmp man/de_DE/hostname.1 && mv hostname.tmp man/de_DE/hostname.1
iconv -f iso-8859-1 -t utf-8 -o ifconfig.tmp man/de_DE/ifconfig.8 && mv ifconfig.tmp man/de_DE/ifconfig.8
iconv -f iso-8859-1 -t utf-8 -o netstat.tmp man/de_DE/netstat.8 && mv netstat.tmp man/de_DE/netstat.8
iconv -f iso-8859-1 -t utf-8 -o plipconfig.tmp man/de_DE/plipconfig.8 && mv plipconfig.tmp man/de_DE/plipconfig.8
iconv -f iso-8859-1 -t utf-8 -o rarp.tmp man/de_DE/rarp.8 && mv rarp.tmp man/de_DE/rarp.8
iconv -f iso-8859-1 -t utf-8 -o route.tmp man/de_DE/route.8 && mv route.tmp man/de_DE/route.8
iconv -f iso-8859-1 -t utf-8 -o slattach.tmp man/de_DE/slattach.8 && mv slattach.tmp man/de_DE/slattach.8

%build
make
gcc $RPM_OPT_FLAGS -o ether-wake ether-wake.c
gcc $RPM_OPT_FLAGS -o mii-diag mii-diag.c

%install
rm -rf $RPM_BUILD_ROOT

make BASEDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install

install -m 755 ether-wake %{buildroot}/sbin
install -m 755 mii-diag %{buildroot}/sbin

rm %{buildroot}/sbin/rarp
rm %{buildroot}%{_mandir}/man8/rarp.8*
rm %{buildroot}%{_mandir}/de*/man8/rarp.8*
rm %{buildroot}%{_mandir}/fr*/man8/rarp.8*
rm %{buildroot}%{_mandir}/pt*/man8/rarp.8*

mkdir -p %{buildroot}%{_sysconfdir}
touch %{buildroot}%{_sysconfdir}/ethers
echo "# see man ethers for syntax" > %{buildroot}%{_sysconfdir}/ethers

%find_lang %{name}

%clean
rm -rf $RPM_BUILD_ROOT

%files -f %{name}.lang
%defattr(-,root,root)
/bin/*
/sbin/*
%{_mandir}/man[158]/*
%lang(de_DE)	%{_mandir}/de_DE/man[158]/*
%lang(fr_FR)	%{_mandir}/fr_FR/man[158]/*
%lang(pt_BR)	%{_mandir}/pt_BR/man[158]/*
%config(noreplace) %{_sysconfdir}/ethers

%changelog
* Thu Nov 29 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.60-17
- replace all patches from CentOS 6 (included previous patches).
- added Patch99 to build with new kernel-headers.

* Mon Jul 21 2014 Daisuke SUZUKI <daisuke@vinelinux.org> 1.60-16
- update config.{h,make}
  - CONFIG_HWSTRIP=0, CONFIG_HWTR=0

* Sat Aug 11 2012 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.60-15vl6
- add patch22, 65 to fix <BTS:1329>

* Wed Apr 13 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 1.60-14
- rebuild for Vine 6

* Wed Sep 10 2008 Shu KONNO <owa@bg.wakwak.com> 1.60-13vl5
- applied new versioning policy, spec in utf-8
- added net-tools-1.60-label.patch

* Fri Aug 18 2006 KAZUKI SHIMURA <kazuki@ma.ccnw.ne.jp> 1.60-12vl2
- add patches to build with current environment
  - x25_sr.patch (patch9)
  - gcc33.patch (patch10)
  - update ether-wake.c (source3)

* Sat May 31 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.60-12vl1
- update and replaced ja.po 
- sync with RedHat Rawhide 1.60-12

  - Fri Feb 07 2003 Phil Knirsch <pknirsch@redhat.com>
  - Fixed -s parameter.
  - Fix /proc statistics for -nic operation.
  - Fixed -i operation in general.

  - Tue Dec 17 2002 Phil Knirsch <pknirsch@redhat.com> 1.60-9
  - Copyright -> License.

  - Tue Aug 06 2002 Phil Knirsch <pknirsch@redhat.com> 
  - Added patch from Norm for a corrected output.

  - Fri Apr 12 2002 Jeremy Katz <katzj@redhat.com>
  - fix nstrcmp() to be correct in the case where there are many devices 
    of the same type, eg, "eth10" > "eth1"  (#61436)

  - Tue Jul 31 2001 Bill Nottingham <notting@redhat.com>
  - do *not* use SIOCDEVPRIVATE for MII ioctls

  - Fri Jun  1 2001 Preston Brown <pbrown@redhat.com>
  - include wake-on-lan wakeup utility, ether-wake by Donald Becker

* Sat May 12 2001 <sagami@vinelinux.org>
- 1.60-4vl1: follow up with RH 1.60-1

* Tue May 23 2000 Yasuyuki Furukawa <furukawa@vinelinux.org>
- sync with RH 6.2

* Tue Mar  7 2000 Jeff Johnson <jbj@redhat.com>
- rebuild for sparc baud rates > 38400.

* Wed Feb 02 2000 Cristian Gafton <gafton@redhat.com>
- fix description

* Fri Jan 14 2000 Jeff Johnson <jbj@redhat.com>
- fix "netstat -ci" (#6904).
- document more netstat options (#7429).

* Thu Jan 13 2000 Jeff Johnson <jbj@redhat.com>
- update to 1.54.
- enable "everything but DECnet" including IPv6.

* Mon Oct 11 1999 Norihito Ohmori <ohmori@flatout.org>
- ported from net-tools-1.51 with Japanese catalog
  by Yasuyuki Furukawa

* Sun Aug 29 1999 Jeff Johnson <jbj@redhat.com>
- update to 1.53.

* Wed Jul 28 1999 Jeff Johnson <jbj@redhat.com>
- plug "netstat -c" fd leak (#3620).

* Thu Jun 17 1999 Jeff Johnson <jbj@redhat.com>
- plug potential buffer overruns.

* Sat Jun 12 1999 John Hardin <jhardin@wolfenet.com>
- patch to recognize ESP and GRE protocols for VPN masquerade

* Fri Apr 23 1999 Jeff Johnson <jbj@redhat.com>
- update to 1.52.

* Thu Mar 25 1999 Jeff Johnson <jbj@redhat.com>
- update interface statistics continuously (#1323)

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 2)

* Fri Mar 19 1999 Jeff Johnson <jbj@redhat.com>
- update to 1.51.
- strip binaries.

* Tue Feb  2 1999 Jeff Johnson <jbj@redhat.com>
- update to 1.50.
- added slattach/plipconfig/ipmaddr/iptunnel commands.
- enabled translated man pages.

* Tue Dec 15 1998 Jakub Jelinek <jj@ultra.linux.cz>
- update to 1.49.

* Sat Dec  5 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.48.

* Thu Nov 12 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.47.

* Wed Sep  2 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.46

* Thu Jul  9 1998 Jeff Johnson <jbj@redhat.com>
- build root
- include ethers.5

* Thu Jun 11 1998 Aron Griffis <agriffis@coat.com>
- upgraded to 1.45
- patched hostname.c to initialize buffer
- patched ax25.c to use kernel headers

* Fri May 01 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Fri Feb 27 1998 Jason Spangler <jasons@usemail.com>
- added config patch

* Fri Feb 27 1998 Jason Spangler <jasons@usemail.com>
- changed to net-tools 1.432
- removed old glibc 2.1 patch
 
* Wed Oct 22 1997 Erik Troan <ewt@redhat.com>
- added extra patches for glibc 2.1

* Tue Oct 21 1997 Erik Troan <ewt@redhat.com>
- included complete set of network protocols (some were removed for
  initial glibc work)

* Wed Sep 03 1997 Erik Troan <ewt@redhat.com>
- updated glibc patch for glibc 2.0.5

* Thu Jun 19 1997 Erik Troan <ewt@redhat.com>
- built against glibc
- updated to 1.33
