diff options
Diffstat (limited to 'app-admin/portki/portki-0.11.0.ebuild')
-rw-r--r-- | app-admin/portki/portki-0.11.0.ebuild | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/app-admin/portki/portki-0.11.0.ebuild b/app-admin/portki/portki-0.11.0.ebuild new file mode 100644 index 0000000..12cf3fb --- /dev/null +++ b/app-admin/portki/portki-0.11.0.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="Portage synchronization tool for managing group of gentoo servers." +HOMEPAGE="http://dev.gentoo.org/~radek/portki/" +SRC_URI="${HOMEPAGE}/files/${P}.tar.gz" +LICENSE="GPL2" + +SLOT="0" +IUSE="" + +RESTRICT="primaryuri" + +KEYWORDS="x86" + +DEPEND=">=app-shells/bash-3.0 + app-admin/tmpwatch" + +RDEPEND=" + >=sys-apps/portage-2.1 + >=app-shells/bash-3.0 + app-admin/tmpwatch + >=app-portage/genlop-0.30 + >=app-portage/eix-0.7.4 + app-portage/gentoolkit" + +S=${WORKDIR} + +src_install() { + + # this directories are installed with normal perms + dodir /etc/conf.d + dodir /etc/config-archive + + dodir /usr/bin + dodir /usr/lib/${PN} + + insinto /usr/lib/${PN} + exeinto /usr/lib/${PN} + + doins ${PN}.conf + doexe ${PN}.cron + doins ${PN}.stage.* + doins TODO.txt + + doins dispatch-conf-digest.patch + doins dispatch-conf.conf.recommended + + doins make.conf.recommended + + cp /usr/lib/portage/bin/dispatch-conf . + patch dispatch-conf dispatch-conf-digest.patch || die "Can't patch original dispatch-conf" + newexe dispatch-conf ${PN}.dispatch-conf + + doexe ${PN}.sh + dosym ${D}/usr/lib/${PN}/${PN}.sh /usr/bin/${PN} + + # now restricted perms perms + diropts -m2751 + dodir /var/state/${PN} + + exeopts -m750 + insopts -m640 + + dodir /var/state/${PN}/last + keepdir /var/state/${PN}/last + + diropts -m2750 + dodir /var/state/${PN}/put + keepdir /var/state/${PN}/put + dodir /var/state/${PN}/tmp + keepdir /var/state/${PN}/tmp + dodir /var/state/${PN}/update + keepdir /var/state/${PN}/update + + insinto /var/state/${PN} + doins cmd.local.example + + insinto /var/state/${PN}/update + newins cmd.remote.example cmd.remote + + dodir /var/log/${PN} + + # configuration inject + grep -B4000 '#################################################################' ${D}/usr/lib/${PN}/${PN}.conf >> ${D}/etc/conf.d/${PN} +} + +pkg_postinst() { + + # chown to portage group have to be in postinst + chown root:portage -R ${ROOT}/usr/lib/${PN} + chown root:portage -R ${ROOT}/var/state/${PN} + chown root:portage -R ${ROOT}/var/log/${PN} + + # ugly hack to overcome permissions of already existing dir + chmod 2751 /usr/lib/${PN} /var/state/${PN} /var/state/${PN}/last + + # now we erase only files not modified in last 30 days + tmpreaper --mtime 30d /var/state/${PN}/last /var/state/${PN}/tmp >/dev/null 2>/dev/null + + # also this is removed, to allow execution on next run + rm -f /var/state/${PN}/last/portki.last.cmdr 2> /dev/null + + einfo "" + einfo "Main configuration file is located: /usr/lib/${PN}/${PN}.conf" + einfo "But please modify ONLY your local version at: /etc/conf.d/${PN}" + einfo "" + einfo "You can use 'ebuild portki.ebuild config' command (shown below at ++) to:" + einfo ".. append portki defaults to /etc/make.conf" + einfo ".. append portki configuration to /etc/dispatch-conf.conf" + einfo ".. install cron runner at /etc/cron.hourly/portki.cron" + einfo "" + einfo "++ ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config" + einfo "" +} + +pkg_config() { + + cp -f /usr/lib/${PN}/${PN}.cron /etc/cron.hourly/ + einfo "Installed cron runner at: /etc/cron.hourly/${PN}.cron" + + cat /usr/lib/${PN}/dispatch-conf.conf.recommended >> /etc/dispatch-conf.conf + ewarn "Modified dispatch config file: /etc/dispatch-conf.conf -> INSPECT IT!" + + cat /usr/lib/${PN}/make.conf.recommended >> /etc/make.conf + ewarn "Modified make.conf file at /etc/make.conf -> INSPECT IT!" + +} |