ports/78944: htdig depends on a very specific apache

Chuck Swiger cswiger at mac.com
Fri Mar 18 07:08:43 PST 2005


Florian Hars wrote:
> Doug Barton wrote:
>> It actually doesn't depend on a specific apache, it depends on
>> the value of ${APACHE_PORT}, which on the ports building
>> cluster is (has to be) a specific value. 
> 
> I tried to install the package, and it did indeed require this and
> only this version of apache, although it doesn't even need any
> apache at all.

The precompiled package of this port has a dependency on a specific version of 
Apache.  That's the way precompiled software generally works, although some 
software is well-enough written to dynamicly check for and include optional 
dependencies at runtime.

> This is a serious design error of the ports/packages system.

Listing an optional dependency as being required was the choice of the port's 
maintainer.  I don't know whether it is the right choice-- that depends on 
whether htdig+Apache results in a better or more useable version than htdig 
compiled alone, but perhaps Florian would be happier with:

--- ports/textproc/htdig/Makefile~   Fri Mar 18 09:45:08 2005
+++ ports/textproc/htdig/Makefile    Fri Mar 18 10:05:20 2005
@@ -17,11 +17,14 @@
  MAINTAINER=    DougB at FreeBSD.org
  COMMENT=       A www indexing and searching system

+.if defined(APACHE_PORT)
  RUN_DEPENDS=   ${LOCALBASE}/sbin/httpd:${PORTSDIR}/${APACHE_PORT}
+.endif

  USE_LIBTOOL_VER=15

  GNU_CONFIGURE= yes
+.if defined(APACHE_PORT)
  CONFIGURE_ARGS=        --with-config-dir=${PREFIX}/etc/htdig \
                 --with-default-config-file=${PREFIX}/etc/htdig/htdig.conf \
                 --with-common-dir=${PREFIX}/share/htdig/common \
@@ -32,6 +35,14 @@
                 --with-image-url-prefix=/icons/htdig \
                 --with-ssl \
                 --with-apache=${LOCALBASE}/sbin
+.else
+CONFIGURE_ARGS=        --with-config-dir=${PREFIX}/etc/htdig \
+               --with-default-config-file=${PREFIX}/etc/htdig/htdig.conf \
+               --with-common-dir=${PREFIX}/share/htdig/common \
+               --with-database-dir=${PREFIX}/share/htdig/database \
+               --with-image-url-prefix=/icons/htdig \
+               --with-ssl
+.endif

  MAN1=          htdig.1 htdig-pdfparser.1 htdump.1 htfuzzy.1 htload.1 \
                 htmerge.1 htnotify.1 htpurge.1 htsearch.1 htstat.1 rundig.1

I haven't tested this to any real extent, but htdig at least compiles without 
the dependency on Apache if that is what you want.  Of course, you'll have to 
deal with integrating htdig with whatever other webserver you want to use 
yourself, rather than having the port do so by default.

Seriously, it's not very useful to complain that a precompiled package 
generated by someone else isn't perfectly suitable to your needs: the tools 
are all there and you are welcome to customize things differently if you prefer.

-- 
-Chuck



More information about the freebsd-ports mailing list