ports/137664: [PATCH] www/lighttpd adds mod_geoip (shar)
Piotr Florczyk
p.florczyk at adminworkshop.pl
Tue Aug 11 11:40:02 UTC 2009
>Number: 137664
>Category: ports
>Synopsis: [PATCH] www/lighttpd adds mod_geoip (shar)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Aug 11 11:40:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Piotr Florczyk
>Release: FreeBSD 7.2-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD wenus.adminworkshop.pl 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Tue Jun 2 20:00:14 CEST 2009 root at wenus.adminworkshop.pl:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
mod_geoip is not part of main lighttpd source tree. It doesn't work under FreeBSD amd64 without simple patch.
I have modified Makefile so it now can fetch mod_geoip (conditionaly) and added 2 patches (for src/Makefile.am and src/mod_geoip.c).
I didn't fix pkg-plist (sorry).
Files that should be added to pkg-plist conditionaly:
lib/lighttpd/mod_geoip.a
lib/lighttpd/mod_geoip.la
lib/lighttpd/mod_geoip.so
Tested on amd64.
>How-To-Repeat:
>Fix:
Run diff against original port and extracted shar to see what has been modified.
--- lighttpd.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# lighttpd/
# lighttpd/files
# lighttpd/files/lighttpd.sh.in
# lighttpd/files/opt-patch-src:mod_geoip.c
# lighttpd/files/opt-patch-src:Makefile.am
# lighttpd/Makefile
# lighttpd/distinfo
# lighttpd/pkg-descr
# lighttpd/pkg-plist
#
echo c - lighttpd/
mkdir -p lighttpd/ > /dev/null 2>&1
echo c - lighttpd/files
mkdir -p lighttpd/files > /dev/null 2>&1
echo x - lighttpd/files/lighttpd.sh.in
sed 's/^X//' >lighttpd/files/lighttpd.sh.in << 'd018db8c4effa4759c0fbcbcdecae2c1'
X#!/bin/sh
X#
X# $FreeBSD: ports/www/lighttpd/files/lighttpd.sh.in,v 1.5 2008/09/07 14:48:53 mnag Exp $
X#
X# PROVIDE: lighttpd
X# REQUIRE: %%REQUIRE%%
X# KEYWORD: shutdown
X#
X# Add the following lines to /etc/rc.conf to enable lighttpd:
X#
X# lighttpd_enable (bool): Set it to "YES" to enable lighttpd
X# Default is "NO".
X# lighttpd_conf (path): Set full path to config file.
X# Default is "%%PREFIX%%/etc/lighttpd.conf".
X# lighttpd_pidfile (path): Set full path to pid file.
X# Default is "/var/run/lighttpd.pid".
X#
X
X. %%RC_SUBR%%
X
Xname="lighttpd"
Xrcvar=`set_rcvar`
X
Xload_rc_config $name
X
X: ${lighttpd_enable="NO"}
X: ${lighttpd_conf="%%PREFIX%%/etc/lighttpd.conf"}
X: ${lighttpd_pidfile="/var/run/${name}.pid"}
X
Xcommand=%%PREFIX%%/sbin/lighttpd
Xcommand_args="-f ${lighttpd_conf}"
Xpidfile=${lighttpd_pidfile}
Xrequired_files=${lighttpd_conf}
Xstop_postcmd=stop_postcmd
Xrestart_precmd="checkconfig"
Xreload_precmd=reload_precmd
Xreload_postcmd=reload_postcmd
Xsig_reload="-INT"
Xcheck_cmd="checkconfig"
Xextra_commands="reload check"
X
Xcheckconfig()
X{
X echo "Performing sanity check on ${name} configuration:"
X eval "${command} ${command_args} -t"
X}
X
Xstop_postcmd()
X{
X rm -f ${pidfile}
X}
X
Xreload_precmd()
X{
X echo "Stoping ${name} and start gracefully."
X}
X
Xreload_postcmd()
X{
X rm -f ${pidfile}
X run_rc_command start
X}
X
Xrun_rc_command "$1"
d018db8c4effa4759c0fbcbcdecae2c1
echo x - lighttpd/files/opt-patch-src:mod_geoip.c
sed 's/^X//' >lighttpd/files/opt-patch-src:mod_geoip.c << '5bbc2866e3e8632f60e8f4222322da09'
X--- src/mod_geoip.c-orig 2009-08-10 19:19:18.000000000 +0000
X+++ src/mod_geoip.c 2009-08-10 19:21:20.000000000 +0000
X@@ -225,7 +225,7 @@
X data_string *ds;
X const char *returnedCountry;
X
X- remote_ip = inet_ntop_cache_get_ip(srv, &(con->dst_addr));
X+ remote_ip = con->dst_addr_buf->ptr;
X
X if (p->conf.gi->databaseType == GEOIP_COUNTRY_EDITION) {
X /* get the country code 2 chars */
5bbc2866e3e8632f60e8f4222322da09
echo x - lighttpd/files/opt-patch-src:Makefile.am
sed 's/^X//' >lighttpd/files/opt-patch-src:Makefile.am << 'f4821845d5cfe9bb1c677c02a5806634'
X--- src/Makefile.am 2009-08-10 12:05:55.000000000 +0000
X+++ src/Makefile.am 2009-08-10 12:06:36.000000000 +0000
X@@ -264,6 +264,10 @@
X mod_accesslog_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
X mod_accesslog_la_LIBADD = $(common_libadd)
X
X+lib_LTLIBRARIES += mod_geoip.la
X+mod_geoip_la_SOURCES = mod_geoip.c
X+mod_geoip_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
X+mod_geoip_la_LIBADD = $(common_libadd) -lGeoIP
X
X hdr = server.h buffer.h network.h log.h keyvalue.h \
X response.h request.h fastcgi.h chunk.h \
f4821845d5cfe9bb1c677c02a5806634
echo x - lighttpd/Makefile
sed 's/^X//' >lighttpd/Makefile << '4355f6684b54846925e0e9501af875dd'
X# New ports collection makefile for: lighttpd
X# Date created: 20 May 2004
X# Whom: k at 123.org
X#
X# $FreeBSD: ports/www/lighttpd/Makefile,v 1.74 2009/08/02 19:36:01 mezz Exp $
X#
X
XPORTNAME= lighttpd
XPORTVERSION= 1.4.23
XCATEGORIES= www
XMASTER_SITES= http://www.lighttpd.net/download/ \
X http://mirrors.cat.pdx.edu/lighttpd/ \
X http://redmine.lighttpd.net/attachments/download/716/:geoip
XDISTFILES= ${DISTNAME}${EXTRACT_SUFX}
XEXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
X
XMAINTAINER= mnag at FreeBSD.org
XCOMMENT= A secure, fast, compliant, and very flexible Web Server
X
XLIB_DEPENDS= pcre.0:${PORTSDIR}/devel/pcre
X
XDIST_SUBDIR= ${PORTNAME}
X
XUSE_BZIP2= yes
XUSE_AUTOTOOLS= aclocal:110 autoconf:262 autoheader:262 automake:110 libtool:22
XACLOCAL_ARGS= --force
XGNU_CONFIGURE= yes
XUSE_GNOME= lthack pkgconfig
XUSE_RC_SUBR= lighttpd.sh
XCONFIGURE_ARGS= --libdir=${PREFIX}/lib/lighttpd
X
XCFLAGS+= -I${LOCALBASE}/include
XLDFLAGS+= -L${LOCALBASE}/lib
X
XMAN8= lighttpd.8
X
XOPTIONS= BZIP2 "Enable Bzip2 support" off \
X CML "Enable Cache Meta Language support" off \
X FAM "Enable fam/gamin support" off \
X GDBM "Enable gdbm storage support" off \
X IPV6 "Enable IPV6 support" on \
X MAGNET "Enable magnet support" off \
X MEMCACHE "Enable memory caching support" off \
X MYSQL "Enable MYSQL support" off \
X OPENLDAP "Enable LDAP support" off \
X OPENSSL "Enable SSL support" on \
X SPAWNFCGI "Enable spawn-fcgi utility" on \
X VALGRIND "Enable valgrind support" off \
X WEBDAV "Enable WebDAV support" off\
X GEOIP "Enable GeoIP support (UNOFFICIAL)" off
X
X.include <bsd.port.pre.mk>
X
X# Default REQUIRE to rc.d script
X_REQUIRE= DAEMON
X
X.if !defined(WITHOUT_OPENSSL)
X.include "${PORTSDIR}/Mk/bsd.openssl.mk"
XCONFIGURE_ARGS+= --with-openssl \
X --with-openssl-includes=${OPENSSLINC} \
X --with-openssl-libs=${OPENSSLLIB}
X.endif
X
X.if defined(WITH_BZIP2)
XCONFIGURE_ARGS+= --with-bzip2
X.endif
X
X.if defined(WITH_CML)
XUSE_LUA= yes
XCONFIGURE_ARGS+= --with-lua
XCONFIGURE_ENV+= LUA_CFLAGS="-I${LUA_INCDIR}" LUA_LIBS="-L${LUA_LIBDIR} -llua"
X.endif
X
X.if defined(WITH_FAM)
XUSE_FAM= yes
XCONFIGURE_ARGS+= --with-fam
XCONFIGURE_ENV+= FAM_CFLAGS="-I${LOCALBASE}/include" FAM_LIBS="-L${LOCALBASE}/lib"
X.endif
X
X.if defined(WITH_GDBM)
XLIB_DEPENDS+= gdbm:${PORTSDIR}/databases/gdbm
XCONFIGURE_ARGS+= --with-gdbm
X.endif
X
X.if defined(WITHOUT_IPV6)
XCONFIGURE_ARGS+= --disable-ipv6
X.endif
X
X.if defined(WITH_MAGNET)
XUSE_LUA= 5.1+
XCONFIGURE_ARGS+= --with-lua
XCONFIGURE_ENV+= LUA_CFLAGS="-I${LUA_INCDIR}" LUA_LIBS="-L${LUA_LIBDIR} -llua"
X.endif
X
X.if defined(WITH_MEMCACHE)
XLIB_DEPENDS+= memcache.4:${PORTSDIR}/databases/libmemcache
XCONFIGURE_ARGS+= --with-memcache
X.endif
X
X.if defined(WITH_MYSQL)
XUSE_MYSQL= yes
XCONFIGURE_ARGS+= --with-mysql
X_REQUIRE+= mysql
X.endif
X
X.if defined(WITH_OPENLDAP)
XUSE_OPENLDAP= yes
XCONFIGURE_ARGS+= --with-ldap
X_REQUIRE+= slapd
X.endif
X
X.if defined(WITH_SPAWNFCGI)
XRUN_DEPENDS+= spawn-fcgi:${PORTSDIR}/www/spawn-fcgi
X.endif
X
X.if defined(WITH_VALGRIND)
XBUILD_DEPENDS+= valgrind:${PORTSDIR}/devel/valgrind
XRUN_DEPENDS+= valgrind:${PORTSDIR}/devel/valgrind
XCONFIGURE_ARGS+= --with-valgrind
X.endif
X
X.if defined(WITH_WEBDAV)
XUSE_GNOME+= libxml2
XLIB_DEPENDS+= uuid.1:${PORTSDIR}/misc/e2fsprogs-libuuid \
X sqlite3.8:${PORTSDIR}/databases/sqlite3
XCONFIGURE_ARGS+= --with-webdav-props --with-webdav-locks
X.endif
X
X.if defined(WITH_GEOIP)
XCONFIGURE_ARGS+= --enable-maintainer-mode
XAUTOMAKE_ARGS+= -a
XDISTFILES+= mod_geoip_for_1.4.c:geoip
XBUILD_DEPENDS+= GeoIP>=1.4.4:${PORTSDIR}/net/GeoIP
XRUN_DEPENDS+= GeoIP>=1.4.4:${PORTSDIR}/net/GeoIP
XEXTRA_PATCHES+= ${FILESDIR}/opt-patch-src:Makefile.am ${FILESDIR}/opt-patch-src:mod_geoip.c
X.endif
X
XSUB_LIST+= REQUIRE="${_REQUIRE}"
X
Xpre-patch:
X.if defined(WITH_GEOIP)
X @${CP} ${DISTDIR}/${DIST_SUBDIR}/mod_geoip_for_1.4.c ${WRKSRC}/src/mod_geoip.c
X.endif
X
Xpost-patch:
X @${REINPLACE_CMD} -e 's|-std=gnu99||' ${WRKSRC}/configure ${WRKSRC}/configure.ac
X @${REINPLACE_CMD} -E -e 's|(server.document-root.*=).*|\1 "${PREFIX}/www/data/"|' \
X -e 's|(server.errorlog.*=).*|\1 "/var/log/lighttpd.error.log"|' \
X -e 's|# server.event-handler|server.event-handler|' \
X -e 's|(accesslog.filename.*=).*|\1 "/var/log/lighttpd.access.log"|' \
X -e 's|#server.pid-file|server.pid-file|' \
X -e 's|#server.username.*|server.username = "www"|' \
X -e 's|#server.groupname.*|server.groupname = "www"|' \
X -e 's|/usr/local/bin/php|${PREFIX}/bin/php-cgi|' \
X ${WRKSRC}/doc/lighttpd.conf
X.if !defined(WITHOUT_IPV6)
X @${ECHO} "" >> ${WRKSRC}/doc/lighttpd.conf
X @${ECHO} "# Enable IPV6 and IPV4 together" >> ${WRKSRC}/doc/lighttpd.conf
X @${ECHO} "server.use-ipv6 = \"enable\"" >> ${WRKSRC}/doc/lighttpd.conf
X @${ECHO} "\$$SERVER[\"socket\"] == \"0.0.0.0:80\" { }" >> ${WRKSRC}/doc/lighttpd.conf
X.endif
X
Xpost-install:
X @${INSTALL_DATA} ${WRKSRC}/doc/lighttpd.conf ${PREFIX}/etc/lighttpd.conf.sample
X.if !exists(${PREFIX}/etc/lighttpd.conf)
X @${INSTALL_DATA} ${WRKSRC}/doc/lighttpd.conf ${PREFIX}/etc/lighttpd.conf
X.endif
X @${LIBTOOL} --finish ${PREFIX}/lib
X
X.include <bsd.port.post.mk>
4355f6684b54846925e0e9501af875dd
echo x - lighttpd/distinfo
sed 's/^X//' >lighttpd/distinfo << '6bc339735d3209ac5ad86388bdea1627'
XMD5 (lighttpd/lighttpd-1.4.23.tar.bz2) = 0ab6bb7b17bf0f515ce7dce68e5e215a
XSHA256 (lighttpd/lighttpd-1.4.23.tar.bz2) = 72896e6677b12aee2371c12e6d3f8299cfbdb2f89ad4b519a96b3ba80852a5fa
XSIZE (lighttpd/lighttpd-1.4.23.tar.bz2) = 641621
XMD5 (lighttpd/mod_geoip_for_1.4.c) = a60d4091280b95296c2e5e1a7a8c22d4
XSHA256 (lighttpd/mod_geoip_for_1.4.c) = 0847f26150bc205819666016ecd7085fad51261992f5ed566455d8e997c84c40
XSIZE (lighttpd/mod_geoip_for_1.4.c) = 14193
6bc339735d3209ac5ad86388bdea1627
echo x - lighttpd/pkg-descr
sed 's/^X//' >lighttpd/pkg-descr << '33c1b4db5571578e5a90787b6255dad3'
Xlighttpd a secure, fast, compliant and very flexible web-server which
Xhas been optimized for high-performance environments. It has a very
Xlow memory footprint compared to other webservers and takes care of
Xcpu-load. Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression,
XURL-Rewriting and many more) make lighttpd the perfect webserver-software
Xfor every server that is suffering load problems.
X
XWWW: http://www.lighttpd.net/
33c1b4db5571578e5a90787b6255dad3
echo x - lighttpd/pkg-plist
sed 's/^X//' >lighttpd/pkg-plist << 'bd5a57b2005018213f7ff314a01cab41'
X at comment $FreeBSD: ports/www/lighttpd/pkg-plist,v 1.17 2009/04/25 04:17:03 mnag Exp $
X at unexec if cmp -s %D/etc/lighttpd.conf %D/etc/lighttpd.conf.sample; then rm -f %D/etc/lighttpd.conf; fi
Xetc/lighttpd.conf.sample
X at exec [ -f %B/lighttpd.conf ] || cp %B/%f %B/lighttpd.conf
Xlib/lighttpd/mod_access.a
Xlib/lighttpd/mod_access.la
Xlib/lighttpd/mod_access.so
Xlib/lighttpd/mod_accesslog.a
Xlib/lighttpd/mod_accesslog.la
Xlib/lighttpd/mod_accesslog.so
Xlib/lighttpd/mod_alias.a
Xlib/lighttpd/mod_alias.la
Xlib/lighttpd/mod_alias.so
Xlib/lighttpd/mod_auth.a
Xlib/lighttpd/mod_auth.la
Xlib/lighttpd/mod_auth.so
Xlib/lighttpd/mod_cgi.a
Xlib/lighttpd/mod_cgi.la
Xlib/lighttpd/mod_cgi.so
Xlib/lighttpd/mod_cml.a
Xlib/lighttpd/mod_cml.la
Xlib/lighttpd/mod_cml.so
Xlib/lighttpd/mod_compress.a
Xlib/lighttpd/mod_compress.la
Xlib/lighttpd/mod_compress.so
Xlib/lighttpd/mod_dirlisting.a
Xlib/lighttpd/mod_dirlisting.la
Xlib/lighttpd/mod_dirlisting.so
Xlib/lighttpd/mod_evasive.a
Xlib/lighttpd/mod_evasive.la
Xlib/lighttpd/mod_evasive.so
Xlib/lighttpd/mod_evhost.a
Xlib/lighttpd/mod_evhost.la
Xlib/lighttpd/mod_evhost.so
Xlib/lighttpd/mod_expire.a
Xlib/lighttpd/mod_expire.la
Xlib/lighttpd/mod_expire.so
Xlib/lighttpd/mod_extforward.a
Xlib/lighttpd/mod_extforward.la
Xlib/lighttpd/mod_extforward.so
Xlib/lighttpd/mod_fastcgi.a
Xlib/lighttpd/mod_fastcgi.la
Xlib/lighttpd/mod_fastcgi.so
Xlib/lighttpd/mod_flv_streaming.a
Xlib/lighttpd/mod_flv_streaming.la
Xlib/lighttpd/mod_flv_streaming.so
Xlib/lighttpd/mod_indexfile.a
Xlib/lighttpd/mod_indexfile.la
Xlib/lighttpd/mod_indexfile.so
Xlib/lighttpd/mod_magnet.a
Xlib/lighttpd/mod_magnet.la
Xlib/lighttpd/mod_magnet.so
Xlib/lighttpd/mod_mysql_vhost.a
Xlib/lighttpd/mod_mysql_vhost.la
Xlib/lighttpd/mod_mysql_vhost.so
Xlib/lighttpd/mod_proxy.a
Xlib/lighttpd/mod_proxy.la
Xlib/lighttpd/mod_proxy.so
Xlib/lighttpd/mod_redirect.a
Xlib/lighttpd/mod_redirect.la
Xlib/lighttpd/mod_redirect.so
Xlib/lighttpd/mod_rewrite.a
Xlib/lighttpd/mod_rewrite.la
Xlib/lighttpd/mod_rewrite.so
Xlib/lighttpd/mod_rrdtool.a
Xlib/lighttpd/mod_rrdtool.la
Xlib/lighttpd/mod_rrdtool.so
Xlib/lighttpd/mod_scgi.a
Xlib/lighttpd/mod_scgi.la
Xlib/lighttpd/mod_scgi.so
Xlib/lighttpd/mod_secdownload.a
Xlib/lighttpd/mod_secdownload.la
Xlib/lighttpd/mod_secdownload.so
Xlib/lighttpd/mod_setenv.a
Xlib/lighttpd/mod_setenv.la
Xlib/lighttpd/mod_setenv.so
Xlib/lighttpd/mod_simple_vhost.a
Xlib/lighttpd/mod_simple_vhost.la
Xlib/lighttpd/mod_simple_vhost.so
Xlib/lighttpd/mod_ssi.a
Xlib/lighttpd/mod_ssi.la
Xlib/lighttpd/mod_ssi.so
Xlib/lighttpd/mod_staticfile.a
Xlib/lighttpd/mod_staticfile.la
Xlib/lighttpd/mod_staticfile.so
Xlib/lighttpd/mod_status.a
Xlib/lighttpd/mod_status.la
Xlib/lighttpd/mod_status.so
Xlib/lighttpd/mod_trigger_b4_dl.a
Xlib/lighttpd/mod_trigger_b4_dl.la
Xlib/lighttpd/mod_trigger_b4_dl.so
Xlib/lighttpd/mod_userdir.a
Xlib/lighttpd/mod_userdir.la
Xlib/lighttpd/mod_userdir.so
Xlib/lighttpd/mod_usertrack.a
Xlib/lighttpd/mod_usertrack.la
Xlib/lighttpd/mod_usertrack.so
Xlib/lighttpd/mod_webdav.a
Xlib/lighttpd/mod_webdav.la
Xlib/lighttpd/mod_webdav.so
Xsbin/lighttpd
Xsbin/lighttpd-angel
X at dirrm lib/lighttpd
bd5a57b2005018213f7ff314a01cab41
exit
--- lighttpd.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list