Ditch the sysvinit stuff
[profile/ivi/iputils.git] / packaging / iputils.spec
1 Summary: Network monitoring tools including ping
2 Name: iputils
3 Version: 20101006
4 Release: 14%{?dist}
5 License: BSD
6 URL: http://www.skbuff.net/iputils
7 Group: System Environment/Daemons
8
9 Source0: %{name}-s%{version}.tar.bz2
10 Source1: ifenslave.tar.gz
11 Source3: rdisc.initd
12 Source4: rdisc.service
13 Source5: rdisc.sysconfig
14
15 Patch0: iputils-20020927-rh.patch
16 Patch1: iputils-20020124-countermeasures.patch
17 Patch2: iputils-20020927-addrcache.patch
18 Patch3: iputils-20020927-ping-subint.patch
19 Patch4: iputils-ping_cleanup.patch
20 Patch5: iputils-ifenslave.patch
21 Patch6: iputils-20070202-idn.patch
22 Patch7: iputils-20070202-traffic_class.patch
23 Patch8: iputils-20070202-ia64_align.patch
24 Patch9: iputils-20071127-warnings.patch
25 Patch10: iputils-20071127-corr_type.patch
26 Patch11: iputils-20071127-infiniband.patch
27 Patch12: iputils-20100418-convtoint.patch
28 Patch13: iputils-20100418-flowlabel.patch
29 Patch14: iputils-20101006-drop_caps.patch
30 Patch15: iputils-20101006-unused.patch
31 Patch16: iputils-20101006-man.patch
32 Patch17: iputils-20101006-eth.patch
33 Patch18: iputils-20101006-rr.patch
34
35 BuildRequires: docbook-utils perl-SGMLSpm
36 BuildRequires: eglibc-headers
37 BuildRequires: libidn-devel
38 BuildRequires: openssl-devel
39 BuildRequires: libcap-devel
40
41
42 %description
43 The iputils package contains basic utilities for monitoring a network,
44 including ping. The ping command sends a series of ICMP protocol
45 ECHO_REQUEST packets to a specified network host to discover whether
46 the target machine is alive and receiving network traffic.
47
48 %prep
49 %setup -q -a 1 -n %{name}-s%{version}
50
51 %patch0 -p1 -b .rh
52 %patch1 -p1 -b .countermeasures
53 %patch2 -p1 -b .addrcache
54 %patch3 -p1 -b .ping-subint
55 %patch4 -p1 -b .cleanup
56 %patch5 -p1 -b .addr
57 %patch6 -p1 -b .idn
58 %patch7 -p1 -b .traffic_class
59 %patch8 -p1 -b .ia64_align
60 %patch9 -p1 -b .warnings
61 %patch10 -p1 -b .corr_type
62 %patch11 -p1 -b .infiniband
63 %patch12 -p1 -b .convtoint
64 %patch13 -p1 -b .flowlabel
65 %patch14 -p1 -b .drop_caps
66 %patch15 -p1 -b .unused
67 %patch16 -p1 -b .man
68 %patch17 -p1 -b .eth
69 %patch18 -p1 -b .rr
70
71 %build
72 %ifarch s390 s390x
73   export CFLAGS="-fPIE"
74 %else
75   export CFLAGS="-fpie"
76 %endif
77 export LDFLAGS="-pie"
78
79 make %{?_smp_mflags} arping clockdiff ping ping6 rdisc tracepath tracepath6
80 gcc -Wall $RPM_OPT_FLAGS ifenslave.c -o ifenslave
81 make -C doc man
82
83 %install
84 rm -rf ${RPM_BUILD_ROOT}
85
86 mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
87 mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
88 mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
89 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
90
91 install -c clockdiff            ${RPM_BUILD_ROOT}%{_sbindir}/
92 install -cp arping              ${RPM_BUILD_ROOT}%{_sbindir}/
93 install -cp ping                ${RPM_BUILD_ROOT}%{_bindir}/
94 install -cp ifenslave           ${RPM_BUILD_ROOT}%{_sbindir}/
95 install -cp rdisc               ${RPM_BUILD_ROOT}%{_sbindir}/
96 install -cp ping6               ${RPM_BUILD_ROOT}%{_bindir}/
97 install -cp tracepath           ${RPM_BUILD_ROOT}%{_bindir}/
98 install -cp tracepath6          ${RPM_BUILD_ROOT}%{_bindir}/
99
100 mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
101 ln -sf ../bin/ping6 ${RPM_BUILD_ROOT}%{_sbindir}
102 ln -sf ../bin/tracepath ${RPM_BUILD_ROOT}%{_sbindir}
103 ln -sf ../bin/tracepath6 ${RPM_BUILD_ROOT}%{_sbindir}
104
105 mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
106 install -cp doc/clockdiff.8     ${RPM_BUILD_ROOT}%{_mandir}/man8/
107 install -cp doc/arping.8        ${RPM_BUILD_ROOT}%{_mandir}/man8/
108 install -cp doc/ping.8          ${RPM_BUILD_ROOT}%{_mandir}/man8/
109 install -cp doc/rdisc.8         ${RPM_BUILD_ROOT}%{_mandir}/man8/
110 install -cp doc/tracepath.8     ${RPM_BUILD_ROOT}%{_mandir}/man8/
111 install -cp ifenslave.8         ${RPM_BUILD_ROOT}%{_mandir}/man8/
112 ln -s ping.8.gz ${RPM_BUILD_ROOT}%{_mandir}/man8/ping6.8.gz
113 ln -s tracepath.8.gz ${RPM_BUILD_ROOT}%{_mandir}/man8/tracepath6.8.gz
114
115 install -dp ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d
116 #install -m 755 -p %SOURCE3 ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d/rdisc
117 install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/rdisc
118 install -m 644 %SOURCE4 ${RPM_BUILD_ROOT}/%{_unitdir}
119
120 iconv -f ISO88591 -t UTF8 RELNOTES -o RELNOTES.tmp
121 touch -r RELNOTES RELNOTES.tmp
122 mv -f RELNOTES.tmp RELNOTES
123
124 %post
125 %{_bindir}/systemctl daemon-reload >/dev/null 2>&1 || :
126
127 %preun
128 if [ $1 = 0 ]; then
129         /bin/systemctl disable rdisc.service > /dev/null 2>&1 || :
130         /bin/systemctl stop rdisc.service > /dev/null 2>&1 || :
131 fi 
132
133 %postun
134 %{_bindir}/systemctl daemon-reload >/dev/null 2>&1 || :
135
136 if [ "$1" -ge "1" ]; then
137         /bin/systemctl try-restart rdisc.service >/dev/null 2>&1 || :
138 fi
139
140
141 %clean
142 rm -rf ${RPM_BUILD_ROOT}
143
144 %files
145 %defattr(-,root,root,-)
146 %doc RELNOTES README.bonding
147 /%{_unitdir}/rdisc.service
148 %{_sbindir}/clockdiff
149 %{_sbindir}/arping
150 %attr(0755,root,root) %caps(cap_net_raw=ep) %{_bindir}/ping
151 %{_sbindir}/ifenslave
152 %{_sbindir}/rdisc
153 %attr(0755,root,root) %caps(cap_net_raw=ep) %{_bindir}/ping6
154 %{_bindir}/tracepath
155 %{_bindir}/tracepath6
156 %{_sbindir}/ping6
157 %{_sbindir}/tracepath
158 %{_sbindir}/tracepath6
159 %attr(644,root,root) %{_mandir}/man8/*
160 %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/sysconfig/rdisc
161