pkgsrc/net/freeradius2/Makefile
adam 75e1bfa9ae Changes 2.1.7:
* Full support for CoA and Disconnect packets as per RFC 3576 and RFC 5176.
  Both receiving and proxying packets is supported.
* Added "src_ipaddr" configuration to "home_server". See proxy.conf for details.
* radsniff now accepts -I, to read from a filename instead of a device.
* radsniff also prints matching requests and any responses to those requests
  when '-r' is used.
* Added example of attr_filter for Access-Challenge packets
* Added support for udpfromto in DHCP code
* radmin can now selectively mark modules alive/dead. See "set module state".
* Added customizable messages on login success/fail.
* Document "chase_referrals" and "rebind" in raddb/modules/ldap
* Preliminary implementation of DHCP relay.
* Made thread pool section optional. If it doesn't exist, the server will run
  single-threaded.
* More...
2009-10-11 09:18:25 +00:00

166 lines
6.2 KiB
Makefile

# $NetBSD: Makefile,v 1.8 2009/10/11 09:18:25 adam Exp $
DISTNAME= freeradius-server-${RADVER}
PKGNAME= ${DISTNAME:S/-server//}
CATEGORIES= net
MASTER_SITES= ftp://ftp.freeradius.org/pub/freeradius/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.freeradius.org/
COMMENT= Free RADIUS server implementation
.include "../../mk/bsd.prefs.mk"
PKG_DESTDIR_SUPPORT= user-destdir
CONFLICTS+= radiusd-cistron-[0-9]*
CONFLICTS+= freeradius<2.0
USE_TOOLS+= gmake perl:run
USE_LIBTOOL= YES
USE_OLD_DES_API= YES
MAKE_JOBS_SAFE= NO
BUILD_DEFS= VARBASE
FILES_SUBST+= RADIUS_USER=${RADIUS_USER}
FILES_SUBST+= RADIUS_GROUP=${RADIUS_GROUP}
PLIST_SUBST+= RADVER=${RADVER}
MESSAGE_SRC+= ${WRKDIR}/.MESSAGE_SRC
MESSAGE_SUBST+= CHOWN=${CHOWN:Q} CHMOD=${CHMOD:Q} VARBASE=${VARBASE}
MESSAGE_SUBST+= RADIUS_USER=${RADIUS_USER} XARGS=${XARGS:Q}
MESSAGE_SUBST+= RADIUS_GROUP=${RADIUS_GROUP} FIND=${FIND:Q}
PKG_SYSCONFSUBDIR= raddb
RCD_SCRIPTS= radiusd
RADIUS_USER?= radius
RADIUS_GROUP?= radius
PKG_GROUPS= ${RADIUS_USER}
PKG_USERS= ${RADIUS_USER}:${RADIUS_GROUP}
PKG_GROUPS_VARS+= RADIUS_GROUP
PKG_USERS_VARS+= RADIUS_USER
OWN_DIRS_PERMS+= ${VARBASE}/run/radiusd \
${RADIUS_USER} ${RADIUS_GROUP} 0750
OWN_DIRS_PERMS+= ${VARBASE}/log/radiusd \
${RADIUS_USER} ${RADIUS_GROUP} 0750
OWN_DIRS_PERMS+= ${VARBASE}/log/radiusd/radacct \
${RADIUS_USER} ${RADIUS_GROUP} 0750
RADVER= 2.1.7
EGDIR= ${PREFIX}/share/examples/freeradius
BUILDLINK_API_DEPENDS.openssl+= openssl>=0.9.7
GNU_CONFIGURE= YES
CONFIGURE_ARGS+= --localstatedir=${VARBASE}
CONFIGURE_ARGS+= --quiet
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASEDIR}
CONFIGURE_ARGS+= --with-logdir=${VARBASE}/log/radiusd
CONFIGURE_ARGS+= --with-ltdl-lib=${PREFIX}/lib
CONFIGURE_ARGS+= --with-ltdl-include=${PREFIX}/include
CONFIGURE_ARGS+= --without-rlm_smb
CONFIGURE_ARGS+= --without-rlm_sql_oracle
CONFIGURE_ARGS+= --without-rlm_sql_unixodbc
REPLACE_PERL= scripts/radsqlrelay
SUBST_CLASSES= make
SUBST_STAGE.make= post-patch
SUBST_FILES.make= src/modules/rlm_sql/drivers/rlm_sql_postgresql/Makefile.in
SUBST_SED.make+= -e "s|RLM_SQL_LIBS =|RLM_SQL_LIBS = \
-L${PREFIX}/lib|g"
SUBST_MESSAGE.make= Fixing Makefiles.
SUBST_CLASSES+= config
SUBST_STAGE.config= post-patch
SUBST_FILES.config= raddb/radiusd.conf.in
SUBST_SED.config= -e "s|@@RADIUS_USER@@|${RADIUS_USER}|g"
SUBST_SED.config+= -e "s|@@RADIUS_GROUP@@|${RADIUS_GROUP}|g"
SUBST_MESSAGE.config= Fixing configuration files.
.include "options.mk"
EGFILES=acct_users attrs attrs.access_reject attrs.accounting_response \
attrs.pre-proxy certs/README certs/bootstrap certs/ca.cnf \
certs/client.cnf certs/demoCA/cacert.pem certs/server.cnf \
certs/xpextensions clients.conf dictionary eap.conf experimental.conf \
hints huntgroups ldap.attrmap modules/acct_unique modules/always \
modules/attr_filter modules/attr_rewrite modules/chap modules/checkval \
modules/counter modules/detail modules/detail.example.com \
modules/detail.log modules/digest modules/echo modules/etc_group \
modules/exec modules/expiration modules/expr modules/files \
modules/inner-eap modules/ippool modules/krb5 modules/ldap \
modules/linelog modules/logintime modules/mac2ip modules/mac2vlan \
modules/mschap modules/otp modules/pam modules/pap modules/passwd \
modules/perl modules/policy modules/preprocess modules/radutmp \
modules/realm modules/smbpasswd modules/smsotp modules/sql_log \
modules/sqlcounter_expire_on_login modules/sradutmp modules/unix \
modules/wimax policy.conf policy.txt preproxy_users proxy.conf \
radiusd.conf sites-available/README sites-available/buffered-sql \
sites-available/control-socket \
sites-available/copy-acct-to-home-server \
sites-available/decoupled-accounting sites-available/default \
sites-available/dhcp sites-available/dynamic-clients \
sites-available/example sites-available/inner-tunnel \
sites-available/originate-coa sites-available/proxy-inner-tunnel \
sites-available/robust-proxy-accounting sites-available/status \
sites-available/virtual.example.com sites-available/vmps sql.conf \
sql/mssql/dialup.conf sql/mssql/schema.sql sql/mysql/admin.sql \
sql/mysql/counter.conf sql/mysql/dialup.conf sql/mysql/ippool.conf \
sql/mysql/ippool.sql sql/mysql/nas.sql sql/mysql/schema.sql \
sql/mysql/wimax.conf sql/mysql/wimax.sql sql/oracle/dialup.conf \
sql/oracle/ippool.conf sql/oracle/ippool.sql sql/oracle/msqlippool.txt \
sql/oracle/nas.sql sql/oracle/schema.sql sql/postgresql/admin.sql \
sql/postgresql/cisco_h323_db_schema.sql sql/postgresql/counter.conf \
sql/postgresql/dialup.conf sql/postgresql/ippool.conf \
sql/postgresql/ippool.sql sql/postgresql/nas.sql \
sql/postgresql/schema.sql \
sql/postgresql/update_radacct_group_trigger.sql \
sql/postgresql/voip-postpaid.conf sqlippool.conf templates.conf users
EGDIRS= certs certs/demoCA modules sql sql/mssql sql/mysql sql/oracle \
sql/postgresql sites-available
.for f in ${EGFILES}
CONF_FILES_PERMS+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f} \
${RADIUS_USER} ${RADIUS_GROUP} 0640
.endfor
.include "../../mk/pthread.buildlink3.mk"
.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} == "none"
CONFIGURE_ARGS+= --without-threads
.endif
.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} == "pth"
.include "../../devel/pthread-sem/buildlink3.mk"
SUBST_SED.make+= -e 's|@ldap_ldflags@|@ldap_ldflags@ \
${PTHREAD_LDFLAGS:M*:Q} ${PTHREAD_LIBS:M*:Q} -lsemaphore|g'
.endif
.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} == "native"
SUBST_SED.make+= -e 's|@ldap_ldflags@|@ldap_ldflags@ \
${PTHREAD_LDFLAGS:M*:Q} ${PTHREAD_LIBS:M*:Q}|g'
.endif
post-build:
${CP} ${PKGDIR}/MESSAGE ${WRKDIR}/.MESSAGE_SRC
.if !empty(PKG_OPTIONS:Mpam)
${CP} ${PKGDIR}/MESSAGE.pam ${WRKDIR}/.MESSAGE_SRC.pam
.endif
post-install:
${INSTALL_DATA_DIR} ${EGDIR}
.for d in ${EGDIRS}
${INSTALL_DATA_DIR} ${EGDIR}/${d}
${MKDIR} ${PKG_SYSCONFDIR}/${d}
.endfor
.for f in ${EGFILES}
${INSTALL_DATA} ${WRKSRC}/raddb/${f} ${EGDIR}/${f}
.endfor
${INSTALL_DATA} ${WRKSRC}/src/modules/rlm_perl/example.pl ${EGDIR}
${CHOWN} ${RADIUS_USER}:${RADIUS_GROUP} ${PKG_SYSCONFDIR}/certs
${CHOWN} ${RADIUS_USER}:${RADIUS_GROUP} ${PKG_SYSCONFDIR}/certs/demoCA
${CHMOD} 0750 ${PKG_SYSCONFDIR}/certs
${CHMOD} 0750 ${PKG_SYSCONFDIR}/certs/demoCA
.include "../../devel/libltdl/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"