blob: 9122efe95c6e6b0ff3903313f12d16c11339abce (
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs multilib-minimal
MY_PV=$(ver_cut 1-2)
DEB_PV=$(ver_cut 3)
MY_P="${PN//-/_}_${MY_PV}"
DESCRIPTION="TCP Wrappers"
HOMEPAGE="http://ftp.porcupine.org/pub/security"
SRC_URI="
http://ftp.porcupine.org/pub/security/${MY_P}.tar.gz
mirror://debian/pool/main/t/${PN}/${PN}_${MY_PV}.q-${DEB_PV}.debian.tar.xz
https://dev.gentoo.org/~soap/distfiles/${P}-patches.tar.xz
"
S="${WORKDIR}/${MY_P}"
LICENSE="tcp_wrappers_license"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="ipv6 netgroups selinux"
DEPEND="
netgroups? ( net-libs/libnsl:= )
"
RDEPEND="
${DEPEND}
selinux? ( sec-policy/selinux-tcpd )
"
PATCHES=( "${WORKDIR}"/gentoo-patches/ )
src_prepare() {
# Apply Debian patchset except for the series file which just lists
# the patches
eapply $(sed -e 's:^:../debian/patches/:' ../debian/patches/series || die)
default
multilib_copy_sources
}
temake() {
# Broken with lld-17 (bug #919689)
append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
append-cppflags "-DHAVE_WEAKSYMS -DHAVE_STRERROR -DSYS_ERRLIST_DEFINED"
if use ipv6; then
append-cppflags "-DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len"
fi
local myemakeargs=(
REAL_DAEMON_DIR="${EPREFIX}/usr/sbin"
TLI= VSYSLOG= PARANOID= BUGS=
AUTH="-DALWAYS_RFC931"
AUX_OBJ="weak_symbols.o"
DOT="-DAPPEND_DOT"
HOSTNAME="-DALWAYS_HOSTNAME"
NETGROUP=$(usev netgroups -DNETGROUPS)
STYLE="-DPROCESS_OPTIONS"
LIBS=$(usev netgroups -lnsl)
LIB="" # disable static-libs
AR="$(tc-getAR)" ARFLAGS=rc
CC="$(tc-getCC)"
RANLIB="$(tc-getRANLIB)"
COPTS="${CFLAGS} ${CPPFLAGS}"
LDFLAGS="${LDFLAGS}"
"$@"
)
emake "${myemakeargs[@]}"
}
multilib_src_configure() {
tc-export AR RANLIB
temake config-check
}
multilib_src_compile() {
# https://bugs.gentoo.org/728348
unset STRINGS
temake all
}
multilib_src_install() {
into /usr
dolib.so shared/libwrap.so*
insinto /usr/include
doins tcpd.h
if multilib_is_native_abi; then
dosbin tcpd tcpdchk tcpdmatch safe_finger try-from
fi
}
multilib_src_install_all() {
doman *.[358]
dosym hosts_access.5 /usr/share/man/man5/hosts.allow.5
dosym hosts_access.5 /usr/share/man/man5/hosts.deny.5
insinto /etc
newins "${FILESDIR}"/hosts.allow.example hosts.allow
dodoc BLURB CHANGES DISCLAIMER README*
}
pkg_preinst() {
# don't clobber people with our default example config
[[ -e ${EROOT}/etc/hosts.allow ]] && cp -pP "${EROOT}"/etc/hosts.allow "${ED}"/etc/hosts.allow
}
|