xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Security tool that is a wrapper for TCP daemons"
2*4882a593SmuzhiyunHOMEPAGE = "http://www.softpanorama.org/Net/Network_security/TCP_wrappers/"
3*4882a593SmuzhiyunDESCRIPTION = "Tools for monitoring and filtering incoming requests for tcp \
4*4882a593Smuzhiyun               services."
5*4882a593SmuzhiyunSECTION = "console/network"
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunLICENSE = "BSD-1-Clause"
8*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
9*4882a593SmuzhiyunPR ="r10"
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunDEPENDS += "libnsl2"
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunPACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
14*4882a593SmuzhiyunFILES:libwrap = "${base_libdir}/lib*${SOLIBS}"
15*4882a593SmuzhiyunFILES:libwrap-doc = "${mandir}/man3 ${mandir}/man5"
16*4882a593SmuzhiyunFILES:libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
17*4882a593SmuzhiyunFILES:libwrap-staticdev = "${libdir}/lib*.a"
18*4882a593SmuzhiyunFILES:${PN} = "${sbindir}"
19*4882a593SmuzhiyunFILES:${PN}-doc = "${mandir}/man8"
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunSRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
22*4882a593Smuzhiyun           file://00_man_quoting.diff \
23*4882a593Smuzhiyun           file://01_man_portability.patch \
24*4882a593Smuzhiyun           file://05_wildcard_matching.patch \
25*4882a593Smuzhiyun           file://06_fix_gethostbyname.patch \
26*4882a593Smuzhiyun           file://10_usagi-ipv6.patch \
27*4882a593Smuzhiyun           file://11_tcpd_blacklist.patch \
28*4882a593Smuzhiyun           file://11_usagi_fix.patch \
29*4882a593Smuzhiyun           file://12_makefile_config.patch \
30*4882a593Smuzhiyun           file://13_shlib_weaksym.patch \
31*4882a593Smuzhiyun           file://14_cidr_support.patch \
32*4882a593Smuzhiyun           file://15_match_clarify.patch \
33*4882a593Smuzhiyun           file://expand_remote_port.patch \
34*4882a593Smuzhiyun           file://have_strerror.patch \
35*4882a593Smuzhiyun           file://man_fromhost.patch \
36*4882a593Smuzhiyun           file://restore_sigalarm.patch \
37*4882a593Smuzhiyun           file://rfc931.diff \
38*4882a593Smuzhiyun           file://safe_finger.patch \
39*4882a593Smuzhiyun           file://sig_fix.patch \
40*4882a593Smuzhiyun           file://siglongjmp.patch \
41*4882a593Smuzhiyun           file://socklen_t.patch \
42*4882a593Smuzhiyun           file://tcpdchk_libwrapped.patch \
43*4882a593Smuzhiyun           file://ldflags.patch \
44*4882a593Smuzhiyun           file://rename_strings_variable.patch \
45*4882a593Smuzhiyun           file://try-from.8 \
46*4882a593Smuzhiyun           file://safe_finger.8 \
47*4882a593Smuzhiyun           file://makefile-fix-parallel.patch \
48*4882a593Smuzhiyun           file://musl-decls.patch \
49*4882a593Smuzhiyun           file://0001-Fix-build-with-clang.patch \
50*4882a593Smuzhiyun           file://fix_warnings.patch \
51*4882a593Smuzhiyun           file://fix_warnings2.patch \
52*4882a593Smuzhiyun           file://0001-Remove-fgets-extern-declaration.patch \
53*4882a593Smuzhiyun           file://0001-Fix-implicit-function-declaration-warnings.patch \
54*4882a593Smuzhiyun           "
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunSRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
57*4882a593SmuzhiyunSRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d"
58*4882a593Smuzhiyun
59*4882a593SmuzhiyunS = "${WORKDIR}/tcp_wrappers_${PV}"
60*4882a593Smuzhiyun
61*4882a593SmuzhiyunEXTRA_OEMAKE = "'CC=${CC}' \
62*4882a593Smuzhiyun                'AR=${AR}' \
63*4882a593Smuzhiyun                'RANLIB=${RANLIB}' \
64*4882a593Smuzhiyun                'REAL_DAEMON_DIR=${sbindir}' \
65*4882a593Smuzhiyun                'STYLE=-DPROCESS_OPTIONS' \
66*4882a593Smuzhiyun                'FACILITY=LOG_DAEMON' \
67*4882a593Smuzhiyun                'SEVERITY=LOG_INFO' \
68*4882a593Smuzhiyun                'BUGS=' \
69*4882a593Smuzhiyun                'VSYSLOG=' \
70*4882a593Smuzhiyun                'RFC931_TIMEOUT=10' \
71*4882a593Smuzhiyun                'ACCESS=-DHOSTS_ACCESS' \
72*4882a593Smuzhiyun                'KILL_OPT=-DKILL_IP_OPTIONS' \
73*4882a593Smuzhiyun                'UMASK=-DDAEMON_UMASK=022' \
74*4882a593Smuzhiyun                'NETGROUP=${EXTRA_OEMAKE_NETGROUP}' \
75*4882a593Smuzhiyun                'ARFLAGS=rv' \
76*4882a593Smuzhiyun                'AUX_OBJ=weak_symbols.o' \
77*4882a593Smuzhiyun                'TLI=' \
78*4882a593Smuzhiyun                'COPTS=' \
79*4882a593Smuzhiyun                'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'"
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunEXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN"
82*4882a593SmuzhiyunEXTRA_OEMAKE_NETGROUP:libc-musl = "-DUSE_GETDOMAIN"
83*4882a593Smuzhiyun
84*4882a593SmuzhiyunEXTRA_OEMAKE:append:libc-musl = " 'LIBS='"
85*4882a593Smuzhiyun
86*4882a593Smuzhiyundo_compile () {
87*4882a593Smuzhiyun	oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \
88*4882a593Smuzhiyun		   all
89*4882a593Smuzhiyun}
90*4882a593Smuzhiyun
91*4882a593SmuzhiyunBINS = "safe_finger tcpd tcpdchk try-from tcpdmatch"
92*4882a593SmuzhiyunMANS3 = "hosts_access"
93*4882a593SmuzhiyunMANS5 = "hosts_options"
94*4882a593SmuzhiyunMANS8 = "tcpd tcpdchk tcpdmatch"
95*4882a593Smuzhiyundo_install () {
96*4882a593Smuzhiyun	oe_libinstall -a libwrap ${D}${libdir}
97*4882a593Smuzhiyun	oe_libinstall -C shared -so libwrap ${D}${base_libdir}
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun	if [ "${libdir}" != "${base_libdir}" ] ; then
100*4882a593Smuzhiyun		rel_lib_prefix=`echo ${libdir} | sed 's,\(^/\|\)[^/][^/]*,..,g'`
101*4882a593Smuzhiyun		libname=`readlink ${D}${base_libdir}/libwrap.so | xargs basename`
102*4882a593Smuzhiyun		ln -s ${rel_lib_prefix}${base_libdir}/${libname} ${D}${libdir}/libwrap.so
103*4882a593Smuzhiyun		rm -f ${D}${base_libdir}/libwrap.so
104*4882a593Smuzhiyun	fi
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun	install -d ${D}${sbindir}
107*4882a593Smuzhiyun	for b in ${BINS}; do
108*4882a593Smuzhiyun		install -m 0755 $b ${D}${sbindir}/ || exit 1
109*4882a593Smuzhiyun	done
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun	install -d ${D}${mandir}/man3
112*4882a593Smuzhiyun	for m in ${MANS3}; do
113*4882a593Smuzhiyun		install -m 0644 $m.3 ${D}${mandir}/man3/ || exit 1
114*4882a593Smuzhiyun	done
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun	install -d ${D}${mandir}/man5
117*4882a593Smuzhiyun	for m in ${MANS5}; do
118*4882a593Smuzhiyun		install -m 0644 $m.5 ${D}${mandir}/man5/ || exit 1
119*4882a593Smuzhiyun	done
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun	install -d ${D}${mandir}/man8
122*4882a593Smuzhiyun	for m in ${MANS8}; do
123*4882a593Smuzhiyun		install -m 0644 $m.8 ${D}${mandir}/man8/ || exit 1
124*4882a593Smuzhiyun	done
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun	install -m 0644 ${WORKDIR}/try-from.8 ${D}${mandir}/man8/
127*4882a593Smuzhiyun	install -m 0644 ${WORKDIR}/safe_finger.8 ${D}${mandir}/man8/
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun	install -d ${D}${includedir}
130*4882a593Smuzhiyun	install -m 0644 tcpd.h ${D}${includedir}/
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun	install -d ${D}${sysconfdir}
133*4882a593Smuzhiyun	touch ${D}${sysconfdir}/hosts.allow
134*4882a593Smuzhiyun	touch ${D}${sysconfdir}/hosts.deny
135*4882a593Smuzhiyun}
136*4882a593Smuzhiyun
137*4882a593SmuzhiyunFILES:${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny"
138