summaryrefslogtreecommitdiff
blob: 11159f05af1f2b183602721ec3bd25966063ffa7 (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-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/usermin/usermin-1.100-r1.ebuild,v 1.5 2005/03/03 15:00:36 ciaranm Exp $

IUSE="ssl"

inherit eutils

DESCRIPTION="a web-based user administration interface"
HOMEPAGE="http://www.webmin.com/index6.html"
SRC_URI="mirror://sourceforge/webadmin/${P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 hppa ~ppc ~ppc64 ~sparc ~x86"

RDEPEND="dev-lang/perl
	sys-process/lsof
	>=sys-apps/sed-4
	dev-perl/Authen-PAM
	ssl? ( dev-perl/Net-SSLeay )"

src_unpack() {
	unpack ${A}

	cd ${S}

	# Point to the correct mysql location
	sed -i "s:/usr/local/mysql:/usr:g" mysql/config

	# Bug #46273... missing config for gentoo
	cp quota/generic-linux-lib.pl quota/gentoo-linux-lib.p

	epatch ${FILESDIR}/${PN}-1.080-safestop.patch
	epatch ${FILESDIR}/${PN}-1.100-setup-nocheck.patch
}

src_install() {
	# Change /usr/local/bin/perl references
	find . -type f | xargs sed -i 's:^#!.*/usr/local/bin/perl:#!/usr/bin/perl:'

	dodir /usr/libexec/usermin
	cp -a * ${D}/usr/libexec/usermin

	exeinto /etc/init.d
	newexe ${FILESDIR}/init.d.usermin usermin

	insinto /etc/pam.d
	newins ${FILESDIR}/${PN}.pam ${PN}

	# Fix ownership
	chown -R root:root ${D}

	dodir /etc/usermin
	dodir /var/log/usermin

	config_dir=${D}/etc/usermin
	var_dir=${D}/var/log/usermin
	perl=${ROOT}/usr/bin/perl
	autoos=1
	port=20000
	login=root
	crypt="XXX"
	host=`hostname`
	use ssl && ssl=1 || ssl=0
	atboot=0
	nostart=1
	nochown=1
	autothird=1
	nouninstall=1
	noperlpath=1
	tempdir="${T}"
	export config_dir var_dir perl autoos port login crypt host ssl nochown autothird nouninstall nostart noperlpath tempdir
	${D}/usr/libexec/usermin/setup.sh > ${T}/usermin-setup.out 2>&1 || die "Failed to create initial usermin configuration."

	# Fixup the config files to use their real locations
	sed -i 's:^pidfile=.*$:pidfile=${ROOT}/var/run/usermin.pid:' ${D}/etc/usermin/miniserv.conf
	find ${D}/etc/usermin -type f -exec sed -i "s:${D}:${ROOT}:g" {} \;

	# Cleanup from the config script
	rm -rf ${D}/var/log/usermin
	keepdir /var/log/usermin/
}

pkg_postinst() {
	local crypt=$(grep "^root:" ${ROOT}/etc/shadow | cut -f 2 -d :)
	dosed "s/root:XXX/root:${crypt}/" /etc/usermin/miniserv.users
	einfo "To make usermin start at boot time, run: 'rc-update add usermin default'."
	einfo "Point your web browser to http://localhost:20000 to use usermin."
}

pkg_prerm() {
	${ROOT}/etc/init.d/usermin stop >& /dev/null
}