summaryrefslogtreecommitdiff
blob: df59a8a4db36fe0a236e0d31a483291521b04a39 (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
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit systemd udev

DESCRIPTION="Gentoo Network Interface Management Scripts"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Netifrc"

if [[ ${PV} == 9999 ]]; then
	EGIT_REPO_URI="
		https://anongit.gentoo.org/git/proj/netifrc.git
		https://github.com/gentoo/${PN}
	"
	inherit git-r3
else
	SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi

LICENSE="BSD-2 GPL-2"
SLOT="0"
IUSE="+dhcp"

RDEPEND="
	sys-apps/gentoo-functions
	|| (
		>=sys-apps/openrc-0.15
		sys-apps/openrc-navi
	)
	dhcp? (
		|| (
			net-misc/dhcpcd
			net-misc/dhcp[client]
			sys-apps/busybox
		)
	)
"
BDEPEND="
	kernel_linux? ( virtual/pkgconfig )
"

src_prepare() {
	if [[ ${PV} == 9999 ]] ; then
		local ver="git-${EGIT_VERSION:0:6}"
		sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die
		einfo "Producing ChangeLog from Git history"
		GIT_DIR="${S}/.git" git log >"${S}"/ChangeLog
	fi

	default
}

src_compile() {
	MAKE_ARGS=(
		PREFIX="${EPREFIX}"
		UPREFIX="${EPREFIX}/usr"
		UDEVDIR="${EPREFIX}$(get_udevdir)"
		LIBEXECDIR="${EPREFIX}/lib/${PN}"
		PF="${PF}"
	)

	emake "${MAKE_ARGS[@]}" all
}

src_install() {
	emake "${MAKE_ARGS[@]}" DESTDIR="${D}" install
	dodoc README CREDITS FEATURE-REMOVAL-SCHEDULE STYLE TODO

	# Install the service file
	local LIBEXECDIR="${EPREFIX}/lib/${PN}"
	sed "s:@LIBEXECDIR@:${LIBEXECDIR}:" "${S}/systemd/net_at.service.in" > "${T}/net_at.service" || die
	systemd_newunit "${T}/net_at.service" 'net@.service'

	local UNIT_DIR="$(systemd_get_systemunitdir)"
	UNIT_DIR="${UNIT_DIR#"${EPREFIX}"}"
	dosym net@.service "${UNIT_DIR}/net@lo.service"
}

pkg_postinst() {
	udev_reload

	if [[ ! -e "${EROOT}"/etc/conf.d/net && -z ${REPLACING_VERSIONS} ]]; then
		elog "The network configuration scripts will use dhcp by"
		elog "default to set up your interfaces."
		elog "If you need to set up something more complete, see"
		elog "${EROOT}/usr/share/doc/${P}/README"
	fi
}

pkg_postrm() {
	udev_reload
}