blob: 360b10a04d1425922d47d24fa21c18672f02143b [file] [log] [blame]
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/webmin-1.500.ebuild,v 1.1 2009/12/09 14:51:49 patrick Exp $
inherit eutils pam
DESCRIPTION="Webmin, a web-based system administration interface"
HOMEPAGE="http://www.webmin.com/"
SRC_URI="minimal? ( mirror://sourceforge/webadmin/${P}-minimal.tar.gz )
!minimal? ( mirror://sourceforge/webadmin/${P}.tar.gz )"
LICENSE="BSD"
SLOT="0"
# ~mips removed because of broken deps. Bug #86085
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="apache2 mysql pam postgres ssl minimal"
DEPEND="dev-lang/perl"
RDEPEND="${DEPEND}
ssl? ( dev-perl/Net-SSLeay )
mysql? ( dev-perl/DBD-mysql )
postgres? ( dev-perl/DBD-Pg )
pam? ( dev-perl/Authen-PAM )
dev-perl/XML-Generator
virtual/logger"
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${PN}-1.170-setup-nocheck.patch
}
src_install() {
# Bug #97212
addpredict /var/lib/rpm
# Bug #249904
addpredict /dev/mapper/control
addpredict /etc/lvm/cache
# Bug #194305
addpredict /var/spool/cron/crontabs
# Bug 267996
addpredict /lib/modules/$(uname -r)/kernel/net
rm -f mount/freebsd-mounts*
rm -f mount/netbsd-mounts*
rm -f mount/openbsd-mounts*
rm -f mount/macos-mounts*
(find . -name '*.cgi' ; find . -name '*.pl') | perl perlpath.pl /usr/bin/perl -
dodir /usr/libexec/webmin
dodir /var
cp -rp * "${D}"/usr/libexec/webmin
# in webmin-minimal openslp is not present
if [ ! -f "${D}/usr/libexec/webmin/openslp/config-gentoo-linux" ] ; then
cp "${D}"/usr/libexec/webmin/openslp/config \
"${D}"/usr/libexec/webmin/openslp/config-gentoo-linux
fi
newinitd "${FILESDIR}"/init.d.webmin webmin
newpamd "${FILESDIR}"/webmin-pam webmin
echo gentoo > "${D}"/usr/libexec/webmin/install-type
# Fix ownership
chown -R root:0 "${D}"
dodir /etc/webmin
dodir /var/log/webmin
config_dir="${D}"/etc/webmin
var_dir="${D}"/var/log/webmin
perl=/usr/bin/perl
autoos=1
port=10000
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 atboot nostart nochown autothird nouninstall noperlpath tempdir
"${D}"/usr/libexec/webmin/setup.sh > "${T}"/webmin-setup.out 2>&1 || die "Failed to create initial webmin configuration."
# Fixup the config files to use their real locations
sed -i -e "s:^pidfile=.*$:pidfile=/var/run/webmin.pid:" "${D}"/etc/webmin/miniserv.conf
find "${D}"/etc/webmin -type f | xargs sed -i -e "s:${D}:/:g"
# Cleanup from the config script
rm -rf "${D}"/var/log/webmin
keepdir /var/log/webmin/
# Get rid of this crap...
rm -rf "${D}"/usr/libexec/webmin/acl/Authen-SolarisRBAC-0.1
rm -f "${D}"/usr/libexec/webmin/acl/Authen-SolarisRBAC-0.1.tar.gz
}
pkg_postinst() {
local crypt=$(grep "^root:" "${ROOT}"/etc/shadow | cut -f 2 -d :)
crypt=${crypt//\\/\\\\}
crypt=${crypt//\//\\\/}
sed -i -e "s/root:XXX/root:${crypt}/" "${ROOT}/etc/webmin/miniserv.users"
einfo "To make webmin start at boot time, run: 'rc-update add webmin default'."
use ssl && einfo "Point your web browser to https://localhost:10000 to use webmin."
use ssl || einfo "Point your web browser to http://localhost:10000 to use webmin."
einfo "NOTE: virtual-server has been removed from this ebuild."
elog "To create a login account for webmin named \"admin\", execute the "
elog "following command:"
elog "/usr/libexec/webmin/changepass.pl /etc/webmin admin <new_password>"
}