From 023d8875952e152a802007aebe44abb39d5ddf12 Mon Sep 17 00:00:00 2001 From: Gerben Jan Dijkman Date: Sun, 13 Aug 2023 01:51:23 +0200 Subject: [PATCH] Added --- www-apps/postfixadmin/Manifest | 1 + .../postfixadmin/files/postinstall-en-2.3.txt | 47 ++++++++ .../postfixadmin/postfixadmin-3.3.13.ebuild | 104 ++++++++++++++++++ 3 files changed, 152 insertions(+) create mode 100644 www-apps/postfixadmin/Manifest create mode 100644 www-apps/postfixadmin/files/postinstall-en-2.3.txt create mode 100644 www-apps/postfixadmin/postfixadmin-3.3.13.ebuild diff --git a/www-apps/postfixadmin/Manifest b/www-apps/postfixadmin/Manifest new file mode 100644 index 0000000..a49430a --- /dev/null +++ b/www-apps/postfixadmin/Manifest @@ -0,0 +1 @@ +DIST postfixadmin-3.3.13.tar.gz 1865708 BLAKE2B 0b5160e9996fa3b3580ee4f7dde128d6c4335c9929600158bb4e431f337b3a5ff6fe92cf8657102698b051b10c47ef134eb0a9d13d6675a3c701988bf4cefcb1 SHA512 bf7daaa089ee3adc4b557f1a7d0509d78979ef688fb725bab795f5c9d81e8774296245fde0cb184db51e9185cad381682c3ecc0bfadf852388b499a0a95cca64 diff --git a/www-apps/postfixadmin/files/postinstall-en-2.3.txt b/www-apps/postfixadmin/files/postinstall-en-2.3.txt new file mode 100644 index 0000000..d6411ac --- /dev/null +++ b/www-apps/postfixadmin/files/postinstall-en-2.3.txt @@ -0,0 +1,47 @@ +First Time Installation +======================= +PostfixAdmin can use either MySQL or PostgreSQL. It is up to you, or your +database administrator, to provide a database and a user with full access to +the database for use by PostfixAdmin. + +If you are unfamiliar with MySQL or PostgreSQL, we have some good starting +guides: + + * http://www.gentoo.org/doc/en/mysql-howto.xml + * https://wiki.gentoo.org/wiki/PostgreSQL + +Once the database and user have been allocated, you will need to provide the +details of this database and the associated user within the configuration file: + + ${MY_INSTALLDIR}/config.inc.php + +In the same configuration file, check for other settings that are relevant to +your setup. Once you're finished with your changes, make sure you set: + + $CONF['configured'] = true; + +To use Virtual Vacation, please read VIRTUAL_VACATION_INSTALL. + +Finally you should be able to complete the installation of postfixadmin by +pointing your browser at: + + http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/setup.php + +Postfix Admin contains 3 views of administration: + 1. Site Admin view, located at http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/admin/. + 2. Domain Admin view, located at http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/. + 3. User Admin View, located at http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/users/. + +In order to do the initial configuration you have to go to the Site Admin view. + +Upgrading +========= +When updating from older version of PostfixAdmin, make sure you backup your +database before you run the update script on your database. + + * mysqldump -a -u root -p > /tmp/postfixadmin-backup.sql + * pg_dump -U postgres -d postgres -C -f pa-db-backup.sql postfixadmin_db + +For update from version 1.5.x of PostfixAdmin: + 1. Please read the DOCUMENTS/UPGRADE.TXT + 2. Run: http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/setup.php diff --git a/www-apps/postfixadmin/postfixadmin-3.3.13.ebuild b/www-apps/postfixadmin/postfixadmin-3.3.13.ebuild new file mode 100644 index 0000000..7f87a88 --- /dev/null +++ b/www-apps/postfixadmin/postfixadmin-3.3.13.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit webapp + +DESCRIPTION="Web Based Management tool for Postfix style virtual domains and users" +HOMEPAGE="http://postfixadmin.sourceforge.net" +SRC_URI="https://github.com/postfixadmin/postfixadmin/archive/${P}.tar.gz" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~ppc ~x86 ~arm ~arm64" +IUSE="+mysql postgres +vacation" +REQUIRED_USE="|| ( mysql postgres )" + +DEPEND=" + dev-lang/php:*[unicode,imap,postgres?] + vacation? ( + acct-group/vacation + acct-user/vacation + dev-perl/DBI + dev-perl/Email-Sender + dev-perl/Email-Valid + dev-perl/Log-Dispatch + dev-perl/Log-Log4perl + dev-perl/MIME-Charset + dev-perl/MIME-EncWords + mysql? ( dev-perl/DBD-mysql ) + postgres? ( dev-perl/DBD-Pg ) + ) +" + +RDEPEND=" + ${DEPEND} + virtual/httpd-php + mysql? ( || ( dev-lang/php[mysqli] dev-lang/php[mysql] ) ) +" + +need_httpd_cgi + +pkg_setup() { + webapp_pkg_setup +} + +src_install() { + webapp_src_preinst + + if use vacation; then + insinto /var/spool/vacation + newins VIRTUAL_VACATION/vacation.pl vacation.pl-${SLOT} + fperms 755 /var/spool/vacation/vacation.pl-${SLOT} + dodoc VIRTUAL_VACATION/FILTER_README + newdoc VIRTUAL_VACATION/INSTALL.md VIRTUAL_VACATION_INSTALL.md + rm -r VIRTUAL_VACATION/{vacation.pl,INSTALL.md,tests,FILTER_README} || die + fi + + dodoc -r ADDITIONS + + local docs="DOCUMENTS/*.txt INSTALL.TXT CHANGELOG.TXT" + dodoc ${docs} + + rm -rf ${docs} DOCUMENTS/ GPL-LICENSE.TXT LICENSE.TXT debian/ tests/ ADDITIONS/ + + insinto "${MY_HTDOCSDIR}" + doins -r . + + webapp_configfile "${MY_HTDOCSDIR}"/config.inc.php + + webapp_postinst_txt en "${FILESDIR}"/postinstall-en-2.3.txt + webapp_src_install +} + +pkg_postinst() { + webapp_pkg_postinst + + einfo "Please note that if upgrading from version prior to 3.3.0," + einfo "existing setup_password will no longer work and you will" + einfo "need to generate new one. See instructions in setup.php." + + if use vacation; then + # portage does not update owners of directories (feature :) + chown vacation:vacation "${ROOT}"/var/spool/vacation/ + einfo + einfo "/var/spool/vacation/vacation.pl symlink was updated to:" + einfo "/var/spool/vacation/vacation.pl-${SLOT}" + ln -sf "${ROOT}"/var/spool/vacation/vacation.pl{-${SLOT},} || die + fi +} + +pkg_postrm() { + # Make sure we don't leave broken vacation.pl symlink + find -L "${ROOT}"/var/spool/vacation/ -type l -delete + local shopt_save=$(shopt -p nullglob) + shopt -s nullglob + local vacation=( "${ROOT}"/var/spool/vacation/vacation.pl-* ) + ${shopt_save} + if [[ ! -e "${ROOT}"/var/spool/vacation/vacation.pl && -n ${vacation[@]} ]]; then + ln -s "${vacation[-1]}" "${ROOT}"/var/spool/vacation/vacation.pl || die + ewarn "/var/spool/vacation/vacation.pl was updated to point on most" + ewarn "recent verion, but please, do your own checks" + fi +}