From 3ac192cc25f9a6865566ced1c5a8372dbad665f3 Mon Sep 17 00:00:00 2001 From: Cecil Hugh Watson Date: Tue, 13 Jan 2009 21:57:48 -0800 Subject: For those that want to bond multiple NICs. Webmin! Who doesn't love Webmin. --- abs/extra-testing/ifenslave/PKGBUILD | 20 +++ abs/extra-testing/ifenslave/bonding.conf.d | 12 ++ abs/extra-testing/perl-net-ssleay/PKGBUILD | 33 ++++ abs/extra-testing/webmin/PKGBUILD | 213 +++++++++++++++++++++++++ abs/extra-testing/webmin/webmin-config.tar.bz2 | Bin 0 -> 3021 bytes abs/extra-testing/webmin/webmin-pacman.tar.bz2 | Bin 0 -> 924 bytes abs/extra-testing/webmin/webmin.install | 39 +++++ abs/extra-testing/webmin/webmin.rc | 44 +++++ 8 files changed, 361 insertions(+) create mode 100644 abs/extra-testing/ifenslave/PKGBUILD create mode 100644 abs/extra-testing/ifenslave/bonding.conf.d create mode 100644 abs/extra-testing/perl-net-ssleay/PKGBUILD create mode 100644 abs/extra-testing/webmin/PKGBUILD create mode 100644 abs/extra-testing/webmin/webmin-config.tar.bz2 create mode 100644 abs/extra-testing/webmin/webmin-pacman.tar.bz2 create mode 100644 abs/extra-testing/webmin/webmin.install create mode 100644 abs/extra-testing/webmin/webmin.rc diff --git a/abs/extra-testing/ifenslave/PKGBUILD b/abs/extra-testing/ifenslave/PKGBUILD new file mode 100644 index 0000000..8a75170 --- /dev/null +++ b/abs/extra-testing/ifenslave/PKGBUILD @@ -0,0 +1,20 @@ +# $Id: PKGBUILD 12836 2008-09-21 14:41:26Z dan $ +# Maintainer: Judd Vinet +pkgname=ifenslave +pkgver=1.1.0 +pkgrel=4 +pkgdesc="Utility for bonding ethernet interfaces" +license=('GPL2') +arch=(i686 x86_64) +url="http://www.linuxfoundation.org/en/Net:Bonding" +depends=('glibc') +source=(ftp://ftp.archlinux.org/other/ifenslave/ifenslave.c bonding.conf.d) +md5sums=('b0d8e4c97094155747cc9238f762c7aa' + '397fccbf574d5082c7a3c8d3793dc000') + +build() { + cd $startdir/src + gcc $CFLAGS -I/usr/src/linux/include ifenslave.c -o ifenslave || return 1 + install -D -m755 ifenslave $startdir/pkg/sbin/ifenslave + install -D -m644 bonding.conf.d $startdir/pkg/etc/conf.d/bonding +} diff --git a/abs/extra-testing/ifenslave/bonding.conf.d b/abs/extra-testing/ifenslave/bonding.conf.d new file mode 100644 index 0000000..3092c5e --- /dev/null +++ b/abs/extra-testing/ifenslave/bonding.conf.d @@ -0,0 +1,12 @@ +# +# Settings for ethernet bonding +# +# For each bond interface declared in INTERFACES (in rc.conf), declare +# a bond_${IF} variable that contains the real ethernet interfaces that +# should be bonded to the bond interface with the ifenslave utility. +# Then list the bond interface name in the BOND_INTERFACES array. +# + +#bond_bond0="eth0 eth1" +#BOND_INTERFACES=(bond0) + diff --git a/abs/extra-testing/perl-net-ssleay/PKGBUILD b/abs/extra-testing/perl-net-ssleay/PKGBUILD new file mode 100644 index 0000000..d2ead9d --- /dev/null +++ b/abs/extra-testing/perl-net-ssleay/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $ +# Maintainer: eric +# Contributor: Manolis Tzanidakis + +pkgname=perl-net-ssleay +_realname=Net_SSLeay.pm +pkgver=1.30 +pkgrel=2 +pkgdesc="Perl extension for using OpenSSL" +arch=(i686 x86_64) +license=('custom:BSD') +url="http://search.cpan.org/dist/${_realname}/" +depends=('perl>=5.10.0' 'openssl') +options=(!emptydirs) +replaces=('net-ssleay') +provides=('net-ssleay') +source=(http://www.cpan.org/authors/id/F/FL/FLORA/${_realname}-${pkgver}.tar.gz) +md5sums=('b0cd6c1681bbc0695d81be5cd852d1d0') + +build() { + cd ${startdir}/src/${_realname}-${pkgver} + # install module in vendor directories. + PERL_MM_USE_DEFAULT=1 perl Makefile.PL -- INSTALLDIRS=vendor || return 1 + make || return 1 + make install DESTDIR=${startdir}/pkg || return 1 + + # remove perllocal.pod and .packlist + find ${startdir}/pkg -name perllocal.pod -delete + find ${startdir}/pkg -name .packlist -delete + + install -D -m644 README ${startdir}/pkg/usr/share/licenses/${pkgname}/README +} +# vim: ts=2 sw=2 et ft=sh diff --git a/abs/extra-testing/webmin/PKGBUILD b/abs/extra-testing/webmin/PKGBUILD new file mode 100644 index 0000000..f7fc020 --- /dev/null +++ b/abs/extra-testing/webmin/PKGBUILD @@ -0,0 +1,213 @@ +# $Id: PKGBUILD 18672 2008-11-08 15:27:08Z tpowa $ +# Maintainer: Tobias Powalowski +pkgname=webmin +pkgver=1.441 +pkgrel=1 +pkgdesc="a web-based interface for system administration" +arch=(i686 x86_64) +license=('custom:webmin') +url="http://www.webmin.com/" +depends=('perl') +makedepends=('perl-net-ssleay') +backup=('etc/webmin/miniserv.conf' 'etc/webmin/miniserv.users' 'etc/webmin/config' 'etc/webmin/webmin.cats' \ +'etc/webmin/pacman/config' \ +'etc/webmin/at/config' \ +'etc/webmin/acl/config' \ +'etc/webmin/lvm/config' \ +'etc/webmin/net/config' \ +'etc/webmin/nis/config' \ +'etc/webmin/pam/config' \ +'etc/webmin/cron/config' \ +'etc/webmin/file/config' \ +'etc/webmin/grub/config' \ +'etc/webmin/init/config' \ +'etc/webmin/ipfw/config' \ +'etc/webmin/lilo/config' \ +'etc/webmin/proc/config' \ +'etc/webmin/raid/config' \ +'etc/webmin/spam/config' \ +'etc/webmin/sshd/config' \ +'etc/webmin/time/config' \ +'etc/webmin/cluster-passwd/config' \ +'etc/webmin/software/config' \ +'etc/webmin/webminlog/config' \ +'etc/webmin/cluster-webmin/config' \ +'etc/webmin/bind8/config' \ +'etc/webmin/dhcpd/config' \ +'etc/webmin/fdisk/config' \ +'etc/webmin/mount/config' \ +'etc/webmin/mysql/config' \ +'etc/webmin/quota/config' \ +'etc/webmin/samba/config' \ +'etc/webmin/shell/config' \ +'etc/webmin/squid/config' \ +'etc/webmin/adsl-client/config' \ +'etc/webmin/servers/config' \ +'etc/webmin/cluster-shell/config' \ +'etc/webmin/bandwidth/config' \ +'etc/webmin/ppp-client/config' \ +'etc/webmin/lpadmin/config' \ +'etc/webmin/apache/config' \ +'etc/webmin/firewall/config' \ +'etc/webmin/stunnel/config' \ +'etc/webmin/burner/config' \ +'etc/webmin/exports/config' \ +'etc/webmin/backup-config/config' \ +'etc/webmin/custom/config' \ +'etc/webmin/htaccess-htpasswd/config' \ +'etc/webmin/logrotate/config' \ +'etc/webmin/format/config' \ +'etc/webmin/fsdump/config' \ +'etc/webmin/passwd/config' \ +'etc/webmin/cluster-useradmin/config' \ +'etc/webmin/cluster-software/config' \ +'etc/webmin/cluster-copy/config' \ +'etc/webmin/cluster-cron/config' \ +'etc/webmin/telnet/config' \ +'etc/webmin/status/config' \ +'etc/webmin/syslog/config' \ +'etc/webmin/updown/config' \ +'etc/webmin/usermin/config' \ +'etc/webmin/webmin/config' \ +'etc/webmin/xinetd/config' \ +'etc/webmin/openslp/config' \ +'etc/webmin/procmail/config' \ +'etc/webmin/fetchmail/config' \ +'etc/webmin/postgresql/config' \ +'etc/webmin/useradmin/config' \ +'etc/webmin/mailboxes/config' \ +'etc/webmin/inittab/config' \ +'etc/webmin/change-user/config' \ +'etc/webmin/postfix/config' \ +'etc/webmin/proftpd/config' \ +'etc/webmin/pserver/config' \ +'etc/webmin/dnsadmin/config' ) +install=webmin.install +source=(http://downloads.sourceforge.net/sourceforge/webadmin/$pkgname-$pkgver.tar.gz + ftp://ftp.archlinux.org/other/webmin/webmin-config.tar.bz2 + ftp://ftp.archlinux.org/other/webmin/webmin-pacman.tar.bz2 + webmin.rc) + +build() { + # NOTE: USE --asroot build option to avoid fakeroot error! + cd $startdir/src/$pkgname-$pkgver + # add patches from webmin.com + #for i in ../*.wbm + #do tar xvf $i + #done + #for i in ../*.wbt + #do tar xvf $i + #done + # delete stuff that's not needed + rm -f mount/freebsd-mounts* + rm -f mount/openbsd-mounts* + rm -f mount/macos-mounts* + + # remove modules we do not support + rm -rf {bacula-backup,ldap-useradmin,mon,sentry,frox,jabber,majordomo,qmail,sendmail,sarg,wuftpd,webalizer,inetd,ipsec,pap,pptp-client,pptp-server,shorewall,smart-status,vgetty,heartbeat,cfengine,cpan,sgiexports,hpuxexports,qmailadmin,bsdexports,dfsadmin} + + #remove config files from other distros + rm -f $(find . ! -name 'config-generic-linux' ! -name 'config-\*-linux' ! -name 'config-lib.pl' -name 'config-*') + + # remove caldera theme + rm -rf caldera + + # remove init-scripts from other distros + rm webmin-gentoo-init + rm webmin-init + rm webmin-caldera-init + rm webmin-daemon + + # remove update stuff to avoid problems with updating webmin,modules and themes without pacman + rm -f webmin/{update.cgi,update.pl,update_sched.cgi,upgrade.cgi,edit_upgrade.cgi,install_mod.cgi,delete_mod.cgi,install_theme.cgi} + rm -f usermin/{upgrade.cgi,update.cgi,update.pl,edit_upgrade.cgi,install_mod.cgi,delete_mod.cgi,install_theme.cgi} + + # remove modules add because we don't want files installed without pacman control + rm -f webmin/{install_mod.cgi,delete_mod.cgi} + + # setting perl path + (find . -name '*.cgi' ; find . -name '*.pl') | perl perlpath.pl /usr/bin/perl - + + # create dirs + mkdir -p $startdir/pkg/opt/webmin + mkdir -p $startdir/pkg/var/log/webmin + mkdir -p $startdir/pkg/etc/webmin + + # install pam stuff + install -D -m 644 webmin-pam $startdir/pkg/etc/pam.d/webmin + + # remove other distros and add only Archlinux don't change next line else it will not work! + rm os_list.txt + echo 'Archlinux Any version generic-linux * -d "/etc/pacman.d"' >> os_list.txt + + # Add rc.conf support to boot and shutdown menu and lock editing of this module + cd init/ + sed -i -e 's:^local_down=.*:local_down=Archlinux RC.CONF,3,None:g' $(find . ! -name 'config.info.pl' -name 'config.info*') + sed -i -e 's:^local_script=.*:local_script=Archlinux RC.LOCAL,3,None:g' $(find . ! -name 'config.info.pl' -name 'config.info*') + sed -i -e 's:^index_downscript=.*:index_downscript=Archlinux RC.CONF:g' lang/* + sed -i -e 's:^index_script=.*:index_script=Archlinux RC.LOCAL:g' lang/* + sed -i -e 's:^noconfig=0:noconfig=1:g' defaultacl + + # Add pacman menu + cd $startdir/src/$pkgname-$pkgver + cp -rf custom/ pacman + cp -rf mscstyle3/custom mscstyle3/pacman + sed -i -e 's:^noconfig=0:noconfig=1:g' -e 's:^edit=1:edit=0:g' pacman/defaultacl + sed -i -e '/desc/d' -e '/longdesc/d' pacman/module.info + sed -i -e 's:^name=Custom:name=Pacman:g' pacman/module.info + echo 'category=system' >> pacman/module.info + echo 'desc=Pacman' >> pacman/module.info + sed -i -e 's:^index_title=.*:index_title=Pacman:g' pacman/lang/* + + # copy stuff to right dirs + cd $startdir/src/$pkgname-$pkgver + cp -rp * $startdir/pkg/opt/webmin + cd $startdir/src/webmin-config + cp -rfp * $startdir/pkg/opt/webmin + + # define parameters for setup.sh + config_dir=$startdir/pkg/etc/webmin + var_dir=$startdir/pkg/var/log/webmin + perl=/usr/bin/perl + autoos=1 + port=10000 + login=root + crypt="XXX" + ssl=1 + atboot=0 + nostart=1 + nochown=1 + autothird=1 + nouninstall=1 + noperlpath=1 + atbootyn=n + tempdir=$startdir/pkg/tmp + export config_dir var_dir perl autoos port tempdir login crypt ssl nochown autothird nouninstall nostart noperlpath atbootyn + + # Fix setup.sh + sed -i -e 's:read atbootyn::g' -e 's:exit 13::g' $startdir/pkg/opt/webmin/setup.sh + $startdir/pkg/opt/webmin/setup.sh + + # Fixup the config files to use their real locations + sed -i 's:^pidfile=.*$:pidfile=/var/run/webmin.pid:' $startdir/pkg/etc/webmin/miniserv.conf + find $startdir/pkg/etc/webmin -type f -exec sed -i "s:$startdir/pkg::g" {} \; + + # make it only accessible by localhost + echo 'allow=127.0.0.1' >> $startdir/pkg/etc/webmin/miniserv.conf + + # install pacman menu + cd $startdir/src/webmin-pacman/config + cp -rfp * $startdir/pkg/etc/webmin/pacman + + #install rc file + install -D -m 755 $startdir/src/webmin.rc $startdir/pkg/etc/rc.d/webmin + + # delete temp dir + rm -r $startdir/pkg/tmp + # install license + install -m 644 -D $startdir/src/$pkgname-$pkgver/LICENCE $startdir/pkg/usr/share/licenses/webmin/LICENCE +} +md5sums=('b841af1b1a9f78795814ce8211e6ad81' + 'da6bea412a5be8cf82a813078fec5847' + '4cf1139093ea59044be42a4f173fb8aa' + '0673e51af0e81418b4a6c1e205f7e5cd') diff --git a/abs/extra-testing/webmin/webmin-config.tar.bz2 b/abs/extra-testing/webmin/webmin-config.tar.bz2 new file mode 100644 index 0000000..a51b43d Binary files /dev/null and b/abs/extra-testing/webmin/webmin-config.tar.bz2 differ diff --git a/abs/extra-testing/webmin/webmin-pacman.tar.bz2 b/abs/extra-testing/webmin/webmin-pacman.tar.bz2 new file mode 100644 index 0000000..548acc2 Binary files /dev/null and b/abs/extra-testing/webmin/webmin-pacman.tar.bz2 differ diff --git a/abs/extra-testing/webmin/webmin.install b/abs/extra-testing/webmin/webmin.install new file mode 100644 index 0000000..ce5da6c --- /dev/null +++ b/abs/extra-testing/webmin/webmin.install @@ -0,0 +1,39 @@ +# arg 1: the new package version +post_install() { + local crypt=$(grep "^root:" ${ROOT}/etc/shadow | cut -f 2 -d :) + crypt=${crypt//\\/\\\\} + crypt=${crypt//\//\\\/} + sed -i "s/root:XXX/root:${crypt}/" /etc/webmin/miniserv.users + +cat << EOF +Note: +==> It is not allowed to install 3rd party modules, or delete existing modules. +==> Please write your own PKGBUILDS for 3rd party modules and additional themes. +Setup: +==> To make webmin start at boot time, add webmin to rc.conf daemons +==> Point your web browser to http://localhost:10000 to use webmin. +==> The access is restricted to localhost, if you want to connect from other locations +==> change /etc/webmin/miniserv.conf to something like that: allow=127.0.0.1 +==> If you want to have ssl encryption please install 'perl-net-ssleay' additional. +EOF +# fix man module + cd /opt/webmin/man + for i in $(find . -name '*.gz'); do + gzip -df $i + done +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} + +pre_remove() { + # uninstall unzipped files + rm -r /opt/webmin/man +} + +op=$1 +shift +$op $* diff --git a/abs/extra-testing/webmin/webmin.rc b/abs/extra-testing/webmin/webmin.rc new file mode 100644 index 0000000..ee83fbe --- /dev/null +++ b/abs/extra-testing/webmin/webmin.rc @@ -0,0 +1,44 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +start=/etc/webmin/start +stop=/etc/webmin/stop +lockfile=/var/lock/webmin + +case "$1" in +'start') + stat_busy "Starting Webmin daemon" + $start >/dev/null 2>&1 /dev/null 2>&1 + stat_done + else + stat_fail +fi +;; + +'stop') + stat_busy "Stopping Webmin daemon" + $stop >/dev/null 2>&1