summaryrefslogtreecommitdiff
blob: 123c32187726b57aa2ef3e976f3bc5848d8bd85f (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-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-power/hibernate-script/hibernate-script-1.09.ebuild,v 1.1 2005/06/27 16:23:54 brix Exp $

inherit eutils

# The following works with both pre-releases and releases
MY_P=${PN}-${PV/_/-}
S=${WORKDIR}/${MY_P}

DESCRIPTION="Hibernate script supporting multiple suspend methods"

HOMEPAGE="http://www.suspend2.net"
SRC_URI="http://www.suspend2.net/downloads/all/${MY_P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"

IUSE="logrotate"

DEPEND="sys-apps/sed"
RDEPEND="logrotate? ( app-admin/logrotate )"

src_unpack() {
	unpack ${A}

	cd ${S}
	epatch ${FILESDIR}/${P}-gentoo.patch

	# use /sys/power/state instead of swsusp2
	sed -i \
		-e "s:^\(UseSuspend2\):# \1:" \
		-e "s:^\(Reboot\):# \1:" \
		-e "s:^\(EnableEscape\):# \1:" \
		-e "s:^\(DefaultConsoleLevel\):# \1:" \
		-e "s:^\(Compressor\):# \1:" \
		-e "s:^\(Encryptor\):# \1:" \
		-e "s:^# \(UseSysfsPowerState\) mem:\1 disk:" \
		-e "s:^# \(PowerdownMethod shutdown\):\1:" \
		${S}/hibernate.conf

	# remove obsolete swsusp2_15 scriptlet
	rm -f ${S}/scriptlets.d/swsusp2_15
}

src_install() {
	BASE_DIR=${D} PREFIX=/usr MAN_DIR=${D}/usr/share/man \
		${S}/install.sh

	# hibernate-ram will default to using ram.conf
	dosym /usr/sbin/hibernate /usr/sbin/hibernate-ram

	newinitd ${S}/init.d/hibernate-cleanup.sh hibernate-cleanup

	# other ebuilds can install scriplets to this dir
	keepdir /etc/hibernate/scriptlets.d/

	dodoc CHANGELOG README SCRIPTLET-API TODO

	if use logrotate; then
		insinto /etc/logrotate.d
		newins logrotate.d-hibernate-script hibernate-script
	fi
}

pkg_postinst() {
	einfo
	einfo "If you use Software Suspend 2 you should run"
	einfo "  rc-update add hibernate-cleanup boot"
	einfo "to invalidate suspend images on a clean boot. See"
	einfo "/usr/share/doc/${PF}/README.gz for further details."
	einfo
}