diff options
Diffstat (limited to 'mail-mta/citadel/citadel-9999.ebuild')
-rw-r--r-- | mail-mta/citadel/citadel-9999.ebuild | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/mail-mta/citadel/citadel-9999.ebuild b/mail-mta/citadel/citadel-9999.ebuild deleted file mode 100644 index d131f21..0000000 --- a/mail-mta/citadel/citadel-9999.ebuild +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/xz-utils/xz-utils-9999.ebuild,v 1.6 2010/06/19 00:36:37 abcd Exp $ - -EAPI="2" - -EGIT_REPO_URI="git://git.citadel.org/appl/gitroot/citadel.git" -inherit eutils git multilib autotools - -DESCRIPTION="Git master version of the whole citadel suit" -HOMEPAGE="http://citadel.org" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="ldap pam pic postfix ssl threads" - -RDEPEND="!mail-mta/ssmtp - >=dev-libs/libcitadel-9999 - net-mail/mailbase - ldap? ( >=net-nds/openldap-2.0.27 ) - pam? ( sys-libs/pam ) - postfix? ( mail-mta/postfix ) - ssl? ( >=dev-libs/openssl-0.9.6 ) - !postfix? ( !virtual/mta ) - !net-mail/mailwrapper" -# removed mailwrapper stuff entirely and made sure it isn't left on system -DEPEND="${RDEPEND} - >=sys-devel/autoconf-2.52 - >=sys-devel/libtool-1.4" -PROVIDE="!postfix? ( virtual/mta ) - virtual/mda - virtual/imapd" - -MESSAGEBASE="/var/lib/citadel" - -pkg_setup() { - #Homedir needs to be the same as --with-datadir - einfo "Adding Citadel User/Group" - enewgroup citadel - enewuser citadel -1 -1 ${MESSAGEBASE} citadel,mail -} - -src_prepare() { - # this is an ugly workaround to point S to the proper dir. - # doing so before src_unpack leads to circular path definition and is not helping - S="${WORKDIR}/${P}/${PN}" - cd "$S" || die "changing into proper source dir failed" - - echo ... running mk_svn_revision.sh ... - ./scripts/mk_svn_revision.sh || die "mk_svn_revision.sh failed" - echo ... running mk_module_init.sh ... - ./scripts/mk_module_init.sh || die "mk_module_init.sh failed" - - eautoreconf || die "eautoreconf failed" -} - -src_configure() { - econf \ - --with-rundir=/var/run/citadel \ - --with-datadir=/var/lib/citadel \ - --with-spooldir=/var/spool/citadel \ - --with-autosysconfdir=/var/lib/citadel/data \ - --with-staticdatadir=/etc/citadel \ - --with-sysconfdir=/etc/citadel \ - --with-ssldir=/etc/ssl/citadel \ - --with-helpdir=/usr/share/citadel-server \ - --with-docdir=/usr/share/doc/${PF} \ - --with-utility-bindir=/usr/$(get_libdir)/citadel \ - $(use_enable pic pie) \ - $(use_with pam) \ - $(use_with ssl openssl) \ - $(use_with ldap) \ - --with-db -} - -src_install() { - if use pam ; then - dodir /etc/pam.d || die "Creating /etc/pam.d failed in sandbox" - fi - - emake DESTDIR="${D}" install-new || die "make install failed" - - # Protect ${MESSAGEBASE} - echo CONFIG_PROTECT="${MESSAGEBASE}" > "${T}"/10citadel - doenvd "${T}"/10citadel || die "Config-protecting failed" - - # Keep emerge from removing empty directories when updating - keepdir "${MESSAGEBASE}"/data - keepdir /var/spool/citadel/network/{systems,spoolout,spoolin} - keepdir /var/run/citadel/network/{systems,spoolout,spoolin} - keepdir /etc/citadel/messages - - #Fix some permissions and sendmail stuff - fowners citadel:citadel /etc/citadel /var/lib/citadel || die "Changing owner failed" - fowners root:citadel /usr/sbin/citmail || die "Changing owner failed" - rm "${D}"/usr/sbin/sendmail || die "Removing sendmail bin failed" - if ! use postfix ; then - dosym /usr/sbin/citmail /usr/sbin/sendmail || die "Linking sendmail to citmail failed" - dosym /usr/sbin/citmail /usr/$(get_libdir)/sendmail || die "Compatibility sendmail link failed" - fi - - if use ldap ; then - insinto /etc/openldap/schema - doins openldap/citadel.schema || die "Inserting LDAP schema failed" - doins openldap/rfc2739.schema || die "Inserting LDAP schema failed" - fi - - newinitd "${FILESDIR}"/citadel.init citadel || die "Inserting initscript failed" - newconfd "${FILESDIR}"/citadel.confd citadel || die "Inserting conf for initscript failed" -} - -pkg_postinst() { - #removing a file Citadel complains about in the logs while running - rm /var/lib/citadel/data/.keep_mail-mta_citadel-0 || die "Removing keepdir dummie failed" - - einfo "The administration tools have been placed in /usr/$(get_libdir)/citadel" - einfo - einfo "There are two possible options to get Citadel running, if this is" - einfo "a new install:" - einfo - einfo "1. The no-nonse fullspeed approach with most stuff done for you:" - einfo "# emerge --config =${CATEGORY}/${PF}" - einfo - einfo "2. Manually configuring it with its setup routine:" - einfo "You should make yourself familiar with Citadels setup:" - einfo "http://www.citadel.org/doku.php/documentation:cmdman:setup" - einfo "You probalby do not want to let setup chose the mode of starting" - einfo - einfo "The second approach is only recommended to experienced users!!!" - einfo - einfo "The service will automatically start after you configured it." - einfo "Initscript is /etc/init.d/citadel. Also look into /etc/conf.d" - einfo - einfo "The following clients are available:" - einfo "a) the citadel console client was installed with this ebuild" - einfo "b) www-servers/webcit provides a web-based gui" -} - -pkg_config() { - #we have to stop the server if it is accidently running - [ -f /var/run/citadel/citadel.socket ] && \ - die "Citadel seems to be running, please stop it while configuring!" - - #Citadel's setup uses a few enviromental variables to control it. - # Mandatory for non-interactive setup! - export CITADEL_INSTALLER="yes" - - # Citadel location. - export CITADEL="/var/run/citadel/" - - if use ldap ; then - export SLAPD_Binary="/usr/$(get_libdir)/openldap/slapd" - export LDAP_CONFIG="/etc/openldap/sldap.conf" - fi - - # Don't create any inittab/initscript/xinet stuff entry. - # We'll provide our own init script - export CREATE_INITTAB_ENTRY="no" - export CREATE_XINETD_ENTRY="no" - export NO_INIT_SCRIPTS="yes" - export ACT_AS_MTA="no" #just prohibits setup to mess with init scripts - - einfo "On which ip should the server listen?" - einfo "Press enter to default to 0.0.0.0 and listen on all interfaces." - read -rp " >" ipadress ; echo - if [ -z "$ipadress" ] ; then - export IP_ADDR="0.0.0.0" - else - export IP_ADDR="$ipadress" - fi - - # The main admin name for citadel can be chosen at random - einfo "Insert a name for your citadel admin account:" - read -rp " >" sysadminname ; echo - export SYSADMIN_NAME="$sysadminname" - - local pwd1="misch" - local pwd2="masch" - - until [[ "x$pwd1" = "x$pwd2" ]] ; do - einfo "Insert a password for the citadel admin user" - einfo "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - ewarn "Passwords are not the same" - fi - done - export SYSADMIN_PW="$pwd2" - - #Now we will create the config using defaults and enviromental variables. - /usr/$(get_libdir)/citadel/setup -q - unset SYSADMIN_PW - - #Verify the /etc/services entry was made - if [ -f /etc/services ] && ! grep -q '^citadel' /etc/services ; then - echo "citadel 504/tcp # citadel" >> /etc/services - fi - - einfo "Be sure to read the documentation in /usr/share/doc/${PF}" - einfo - einfo "The server should now be up and running, enjoy!" - einfo "Citadel will listen on its default port 504" - if use postfix ; then - einfo - einfo "Citadel listens on port 25 by default, even with postfix useflag!" - einfo "Right now this can only be disabled in WebCit or with the cli client." - einfo "There is no elegant way to disable that atm, will be fixed upstream." - einfo "Sorry for this inconvenience!" - fi -} |