summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-ftp/glftpd/glftpd-1.28.ebuild')
-rw-r--r--net-ftp/glftpd/glftpd-1.28.ebuild99
1 files changed, 99 insertions, 0 deletions
diff --git a/net-ftp/glftpd/glftpd-1.28.ebuild b/net-ftp/glftpd/glftpd-1.28.ebuild
new file mode 100644
index 000000000000..56b1648023ec
--- /dev/null
+++ b/net-ftp/glftpd/glftpd-1.28.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-ftp/glftpd/glftpd-1.28.ebuild,v 1.1 2003/01/12 18:31:31 vapier Exp $
+
+MY_P=${P/-/-LNX_}
+DESCRIPTION="a HIGHLY configurable ftp server"
+HOMEPAGE="http://www.glftpd.com/"
+SRC_URI="http://www.glftpd.com/files/${MY_P}.tgz"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="~x86"
+
+DEPEND=""
+RDEPEND="sys-apps/xinetd"
+
+S=${WORKDIR}/${MY_P}
+GLROOT="${D}/opt/glftpd/"
+[ -z "${GLFTPD_PORT}" ] && GLFTPD_PORT=21
+
+pkg_setup() {
+ [ -d /proc/sysvipc/ ] || die "You need System V IPC support in your kernel"
+}
+
+src_compile() {
+ [ "( use tcpd )" ] && USETCPD=y || USETCPD=n
+ [ -z "${JAIL}" ] && JAIL=y || JAIL=n
+ WHICHNETD=x
+
+ cp ${S}/installgl.sh ${S}/installgl.sh.old
+ sed -e "s:read usetcpd:usetcpd=${USETCPD}:" \
+ -e "s:read jaildir:jaildir=${GLROOT}:" \
+ -e "s:read jail:jail=y:" \
+ -e "s:read reply:echo OMG; exit 1:" \
+ -e "s:read useprivgroup:useprivgroup=n:" \
+ -e "s:read glroot:break:" \
+ -e "s:read port:port=${GLFTPD_PORT}:" \
+ -e "s:read whichnetd:whichnetd=x:" \
+ -e "s:killall -USR2 xinetd:0:" \
+ -e "s:/etc/xinetd.d/glftpd:${D}/etc/xinetd.d/glftpd:" \
+ -e "s:> /etc/services.new:>/dev/null:" \
+ -e "s:mv -f /etc/services.new:dumbvar=:" \
+ -e "s:| crontab -:>/dev/null:" \
+ ${S}/installgl.sh.old > ${S}/installgl.sh
+}
+
+src_install() {
+ dodir /etc/xinetd.d
+
+ ${S}/installgl.sh
+
+ #fix the glftpd.conf file
+ cp ${GLROOT}/glftpd.conf ${GLROOT}/glftpd.conf.old
+ sed -e "s:${GLROOT}:/opt/glftpd/:" \
+ ${GLROOT}/glftpd.conf.old > ${GLROOT}/glftpd.conf
+ rm ${GLROOT}/glftpd.conf.old
+
+ mv ${GLROOT}/glftpd.conf ${D}/etc/
+ ln -s /etc/glftpd.conf ${GLROOT}/glftpd.conf
+
+ # xinetd.d entry (use our custom one :])
+ insinto /etc/xinetd.d
+ newins ${FILESDIR}/glftpd.xinetd.d glftpd
+
+ # env entry to protect our ftp passwd/group files
+ insinto /etc/env.d
+ newins ${FILESDIR}/glftpd.env.d 99glftpd
+
+ # chmod the glftpd dir so that user files will work
+ chmod 711 ${D}/opt/glftpd
+}
+
+pkg_postinst() {
+ echo
+ einfo "Read the documentation in /opt/glftpd/docs/"
+ einfo "After you setup your conf file, edit the xinetd"
+ einfo "entry in /etc/xinetd.d/glftpd to enable, then"
+ einfo "start xinetd: /etc/init.d/xinetd start"
+ echo
+ einfo "To add glftpd to your services file and to"
+ einfo "create a cronjob for auto generating statistics,"
+ einfo "just run this command after you install:"
+ echo
+ einfo "ebuild /var/db/pkg/${CATEGORY}/${P}/${P}.ebuild config"
+ echo
+}
+
+pkg_config() {
+ einfo "Updating /etc/services"
+ { grep -v ^glftpd /etc/services;
+ echo "glftpd ${GLFTPD_PORT}/tcp"
+ } > /etc/services.new
+ mv -f /etc/services.new /etc/services
+
+ einfo "Updating crontab"
+ { crontab -l | grep -v "bin/reset"
+ echo "0 0 * * * $jaildir$glroot/bin/reset $confpath"
+ } | crontab - > /dev/null
+}