summaryrefslogtreecommitdiff
path: root/recipes/iputils/iputils_20071127.bb
blob: 9235a65c52574065388ce1b5d26a28b3ea6afb16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
SECTION = "console/network"
DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
tracepath, tracepath6, ping, ping6 and arping."
SECTION = "console/network"
LICENSE ="BSD"

#Need more testing
DEFAULT_PREFERENCE = "-1"

SRC_URI = "http://ftp.de.debian.org/debian/pool/main/i/iputils/iputils_${PV}.orig.tar.gz \
           file://debian/fix-dead-host-ping-stats.diff;patch=1 \
           file://debian/add-icmp-return-codes.diff;patch=1 \
           file://debian/use_gethostbyname2.diff;patch=1 \
           file://debian/fix-cmsghdr-offset-bug.diff;patch=1 \
           file://debian/cleanup-docbook-formatting.diff;patch=1 \
           file://debian/targets.diff;patch=1 \
           file://debian/fix-tracepath-docs.diff;patch=1 \
           file://debian/fix-arping-timeouts.diff;patch=1 \
"

S = "${WORKDIR}/iputils_20071127.orig"

PACKAGES += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6"

ALLOW_EMPTY_${PN} = "1"
RDEPENDS_{PN} += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6"

FILES_${PN}		= ""
FILES_${PN}-ping	= "${base_bindir}/ping.${PN}"
FILES_${PN}-ping6	= "${base_bindir}/ping6.${PN}"
FILES_${PN}-arping	= "${bindir}/arping"
FILES_${PN}-tracepath	= "${bindir}/tracepath"
FILES_${PN}-tracepath6	= "${bindir}/tracepath6"
FILES_${PN}-traceroute6	= "${bindir}/traceroute6"
FILES_${PN}-doc		= "${mandir}/man8"

do_compile () {
	oe_runmake 'CC=${CC}' \
		   KERNEL_INCLUDE="${STAGING_INCDIR}" \
		   LIBC_INCLUDE="${STAGING_INCDIR}"
}

do_install () {
	install -m 0755 -d ${D}${base_bindir} ${D}${bindir} ${D}${mandir}/man8
	# SUID root programs
	install -m 4555 ping ${D}${base_bindir}/ping.${PN}
	install -m 4555 ping6 ${D}${base_bindir}/ping6.${PN}
	install -m 4555 traceroute6 ${D}${bindir}/
	# Other programgs
	for i in arping tracepath tracepath6; do
	  install -m 0755 $i ${D}${bindir}/
	done
	# Manual pages for things we build packages for
	for i in tracepath.8 traceroute6.8 ping.8 arping.8; do
	  install -m 0644 doc/$i ${D}${mandir}/man8/
	done
}

# Busybox also provides ping and ping6, so use update-alternatives
# Also fixup SUID bit for applications that need it
pkg_postinst_${PN}-ping () {
	chmod 4555 ${base_bindir}/ping.${PN}
	update-alternatives --install ${base_bindir}/ping ping ping.${PN} 100
}
pkg_prerm_${PN}-ping () {
	update-alternatives --remove ping ping.${PN}
}

pkg_postinst_${PN}-ping6 () {
	chmod 4555 ${base_bindir}/ping6.${PN}
	update-alternatives --install ${base_bindir}/ping6 ping6 ping6.${PN} 100
}
pkg_prerm_${PN}-ping6 () {
	update-alternatives --remove ping6 ping6.${PN}
}

pkg_postinst_${PN}-traceroute6 () {
	chmod 4555 ${bindir}/traceroute6
}