summaryrefslogtreecommitdiff
blob: b6e09ab696625283af0aacd5773454cd447d22a8 (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
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/epoch/epoch-1.0.ebuild,v 1.2 2014/06/03 07:14:41 tomwij Exp $

EAPI="5"

inherit eutils linux-info

MY_PV="${PV/rc/RC}"
MY_P="${PN}-${MY_PV}"

DESCRIPTION="An init system, a /sbin/init replacement; designed for simplicity"
HOMEPAGE="http://universe2.us/epoch.html"
SRC_URI="https://github.com/Subsentient/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"

LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64"

S="${WORKDIR}/${MY_P}"

pkg_pretend() {
	local CONFIG_CHECK="~PROC_FS"

	[[ ${MERGE_TYPE} != buildonly ]] && check_extra_config
}

src_prepare() {
	epatch "${FILESDIR}"/${PN}-1.0-fix-CFLAGS.patch
}

src_compile() {
	NEED_EMPTY_CFLAGS=1 sh ./buildepoch.sh || die "Cannot build epoch."
}

newepochins() {
	local type="$1"

	cd ${type} || die "Cannot change directory."
	for file in * ; do
		if [[ "${file}" != "epoch" ]] ; then
			new${type} ${file} epoch-${file}
		fi
	done
	cd .. || die "Cannot change directory."
}

src_install() {
	cd built || die "Cannot change directory."

	dosbin sbin/epoch

	# For now, rename to epoch-* until we can blend in with a standard approach.
	newepochins bin
	newepochins sbin

	insinto /etc/epoch/
	newins "${FILESDIR}"/${PN}-1.0_rc1-epoch.conf epoch.conf
}

pkg_postinst() {
	elog "Make sure to provide /run and /tmp tmpfs mounts using /etc/fstab."
	elog ""
	elog "An example epoch configuration is provided at /etc/epoch/epoch.conf"
	elog "which starts a minimal needed to use Gentoo."
	elog ""
	elog "To use epoch, add this kernel parameter: init=/usr/sbin/epoch-init"
	elog ""
	elog "Additional information about epoch is available at"
	elog "${HOMEPAGE} and configuration documentation at"
	elog "http://universe2.us/epochconfig.html which is useful reading material."
	elog ""
	elog "Its author Subsentient can be contacted at #epoch on irc.freenode.net."
}