Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Mar 2000 20:07:30 -0600
From:      "Scot W. Hetzel" <hetzels@westbend.net>
To:        "Matthew N. Dodd" <winter@jurai.net>
Cc:        <freebsd-ports@FreeBSD.ORG>
Subject:   Re: mod_php4 and other questions.
Message-ID:  <00de01bf857e$662a87a0$8dfee0d1@westbend.net>
References:  <Pine.BSF.4.21.0003031516480.690-100000@sasami.jurai.net>

next in thread | previous in thread | raw e-mail | index | archive | help
From: "Matthew N. Dodd" <winter@jurai.net>
> I've got another Apache related question now...
>
> What prevents us from always building Apache with EAPI?  This would allow
> us to split out mod_ssl from the apache port...
>
Nothing preventing us from adding the EAPI to the Apache port.  I am
currently working on such a scheme, but I now need to find the time to
upgrade it to the latest Apache & mod_ssl versions.

Basically, the main Apache ports (Apache13, Apache13-SSL, Apache13+IPV6)
will identify them selves to the ports when building and installing the
packages with a new option to apachectl.  This option would return a value
that the module ports can use to identify which Apache port is installed.

apachectl apport

It would return:

        APACHE
        APACHE6
        APACHESSL

Old apache installations would return the apachectl usage information.

Each module port would have the following in their make files:

Makefile:

PKGNAME=mod_module-${VERSION}

CONFLICTS= apache_fp-* apache-<1.3.12 apache+ipv6-<1.3.12 \
                      apache+mod_ssl-* apache+php-* apache+ssl-<1.3.12

.if exists(${PREFIX}/sbin/apachectl)
APACHE=`${PREFIX}/sbin/apachectl apport`
.else
APACHE="APACHE"
.endif

.if ${APACHE} == "APACHE"
PKGNAME=mod_module-${VERSION}
BUILD_DEPENDS=${PREFIX}/sbin/apachectl:${PORTSDIR}/www/apache13
RUN_DEPENDS=${PREFIX}/sbin/apachectl:${PORTSDIR}/www/apache13
CONFLICTS+=mod_module+apssl-* mod_module+ipv6-*
.elif ${APACHE} == "APACHE6"
PKGNAME=mod_module+ipv6-${VERSION}
BUILD_DEPENDS=${PREFIX}/sbin/apachectl:${PORTSDIR}/www/apache13+ipv6
RUN_DEPENDS=${PREFIX}/sbin/apachectl:${PORTSDIR}/www/apache13+ipv6
CONFLICTS+=mod_module+apssl-* mod_module-*
.elif ${APACHE} == "APACHESSL"
#NOTE: mod_ssl port would display a error message instead of allowing the
build to proceed.
PKGNAME=mod_module+apssl-${VERSION}
BUILD_DEPENDS=${PREFIX}/sbin/apachectl:${PORTSDIR}/www/apache13-ssl
RUN_DEPENDS=${PREFIX}/sbin/apachectl:${PORTSDIR}/www/apache13-ssl
CONFLICTS+=mod_module-* mod_module+ipv6-*
.else
pre-fetch:
    @${ECHO} "This module is not compatible with your current installation
of Apache"
    @${FALSE}
.endif

BUILD_DEPENDS+=<additional build dependences>
RUN_DEPENDS+=<additional run dependences>

PKGINSTALL=${WRKDIR}/INSTALL

# This is temporary until we get package conflict checking
# working in the package install tools
pre-install:
        cat ${PKGDIR}/INSTALL | ${SED} -e 's;@APACHE@;${APACHE};' >
${PKGINSTALL}

-------------------------------
INSTALL:

PKGNAME = $1
PKG_PREFIX=${PKG_PREFIX:-/usr/local}

# This is temporary until we get package conflict checking
# working in the package install tools
check_pkg_conflicts ()
{
    if [ -f ${PKG_PREFIX}/sbin/apachectl ] ; then
        APACHE=`${PKG_PREFIX}/sbin/apachectl apport`
    else
        echo "No apache server installed"
        exit 1
    fi

    # The mod_ssl port would have this additional check.
    if "x${APACHE}" == "xAPACHESSL" ; then
        echo "Apache-SSL already contains support for Secure SSL
connections"
        exit 1
    fi

    # All module ports would have this check.
    if "x${APACHE}" != "x@APACHE@" ; then
        echo "$PKGNAME is not compatible with this version of Apache"
        exit 1
    fi
}

case $2 in
    PRE-INSTALL)
        check_pkg_conflicts
        ;;
    POST-INSTALL)
        ;;

-------------------------------

Currently, the CONFLICTS variable is not used.  But if PR 13649 & 13650 get
committed,
this variable will allow the port to define which versions of existing ports
this port is incompatible with.

NOTE: The patches in PR 13649/13650 needs to be updated for the current
pkg_install tools.

Scot



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00de01bf857e$662a87a0$8dfee0d1>