1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-26 00:55:14 +00:00
freebsd-ports/security/krb5/Makefile
Cy Schubert f52aaf28df Implement OPTIONS menu.
Implement options that will allow the user to:

	- rename ftp and ftpd to kftp and kftpd
	- rename telnet and telnetd to ktelnet and ktelnetd
	- rename rlogin to krlogin
	- rename rsh to krsh
	- rename rcp to krcp

This avoids shadowing by or being shadowed by, depending on one's PATH,
system utilities of the same name.
2008-05-14 23:06:13 +00:00

197 lines
5.9 KiB
Makefile

# Ports collection Makefile for: MIT Kerberos V
# Date created: 6/5/1998
# Whom: nectar@FreeBSD.org
#
# $FreeBSD$
#
PORTNAME= krb5
PORTVERSION= 1.6.3
PORTREVISION= 5
CATEGORIES= security
MASTER_SITES= http://web.mit.edu/kerberos/dist/krb5/${PORTVERSION:C/^[0-9]*\.[0-9]*/&X/:C/X\.[0-9]*$//:C/X//}/
PATCH_SITES= http://web.mit.edu/kerberos/advisories/
DISTNAME= ${PORTNAME}-${PORTVERSION}-signed
EXTRACT_SUFX= .tar
PATCHFILES= 2008-001-patch.txt
PATCH_DIST_STRIP= -p1
MAINTAINER= cy@FreeBSD.org
COMMENT= An authentication system developed at MIT, successor to Kerberos IV
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4
CONFLICTS= krb4-[0-9]* heimdal-[0-9]* srp-[0-9]*
LATEST_LINK= ${PORTNAME}
KERBEROSV_URL= http://web.mit.edu/kerberos/
USE_OPENSSL= yes
WITH_OPENSSL_PORT= yes
USE_GMAKE= yes
USE_PERL5_BUILD= yes
USE_LDCONFIG= yes
USE_AUTOTOOLS= libtool:15
CONFIGURE_ARGS?= --enable-shared
# CONFIGURE_ARGS+= --disable-thread-support
CONFIGURE_ENV= INSTALL="${INSTALL}" YACC=/usr/bin/yacc \
CFLAGS="${CFLAGS}"
MAKE_ARGS= INSTALL="${INSTALL}"
OPTIONS= KRB5_RENAME_FTP "Rename ftp to kftp" off \
KRB5_RENAME_TELNET "Rename telnet to ktelnet" off \
KRB5_RENAME_RLOGIN "Rename rlogin to krlogin" off \
KRB5_RENAME_RSH "Rename rsh to krsh" off \
KRB5_RENAME_RCP "Rename rcp to krcp" off \
KRB5_KRB4_COMPAT "Build and install krb4 compatibility" off \
KRB5_DOC "Build and install krb5 documentation" on
.include <bsd.port.pre.mk>
.if defined(WITH_KRB5_DOC)
BUILD_DEPENDS+= texi2dvi:${PORTSDIR}/print/texinfo \
dvips:${PORTSDIR}/print/dvipsk-tetex
INFO= krb425 krb5-admin krb5-install krb5-user
.endif
.if !defined(WITH_KRB5_KRB4_COMPAT)
CONFIGURE_ARGS+= --without-krb4
PLIST_SUB+= KRB4="@comment "
.else
PLIST_SUB+= KRB4=""
.endif
.if defined(KRB5_HOME)
PREFIX= ${KRB5_HOME}
.endif
MAN1= krb5-send-pr.1 krb5-config.1 kpasswd.1 klist.1 \
kinit.1 kdestroy.1 ksu.1 sclient.1 rsh.1 rcp.1 \
rlogin.1 ftp.1 telnet.1 kerberos.1 kvno.1 compile_et.1
MAN5= kdc.conf.5 krb5.conf.5 .k5login.5
MAN8= krb5kdc.8 kadmin.8 kadmin.local.8 kdb5_util.8 \
ktutil.8 kadmind.8 kprop.8 kpropd.8 sserver.8 \
kshd.8 klogind.8 login.krb5.8 ftpd.8 telnetd.8 \
k5srvutil.8
.if defined(WITH_KRB5_KRB4_COMPAT)
MAN8+= krb524d.8
.endif
.if defined(WITH_KRB5_RENAME_FTP)
MAN1:= ${MAN1:C/ftp/kftp/}
MAN8:= ${MAN8:C/ftp/kftp/}
PROGRAM_TRANSFORM_NAME+= s/^ftp/kftp/;
PLIST_SUB+= FTP_PROG="kftp"
.else
PLIST_SUB+= FTP_PROG="ftp"
.endif
.if defined(WITH_KRB5_RENAME_TELNET)
MAN1:= ${MAN1:C/telnet/ktelnet/}
MAN8:= ${MAN8:C/telnet/ktelnet/}
PROGRAM_TRANSFORM_NAME+= s/^telnet/ktelnet/;
PLIST_SUB+= TELNET_PROG="ktelnet"
.else
PLIST_SUB+= TELNET_PROG="telnet"
.endif
.if defined(WITH_KRB5_RENAME_RLOGIN)
MAN1:= ${MAN1:C/rlogin/krlogin/}
PROGRAM_TRANSFORM_NAME+= s/^rlogin/krlogin/;
PLIST_SUB+= RLOGIN_PROG="krlogin"
.else
PLIST_SUB+= RLOGIN_PROG="rlogin"
.endif
.if defined(WITH_KRB5_RENAME_RSH)
MAN1:= ${MAN1:C/rsh/krsh/}
PROGRAM_TRANSFORM_NAME+= s/^rsh/krsh/;
PLIST_SUB+= RSH_PROG="krsh"
.else
PLIST_SUB+= RSH_PROG="rsh"
.endif
.if defined(WITH_KRB5_RENAME_RCP)
MAN1:= ${MAN1:C/rcp/krcp/}
PROGRAM_TRANSFORM_NAME+= s/^rcp/krcp/;
PLIST_SUB+= RCP_PROG="krcp"
.else
PLIST_SUB+= RCP_PROG="rcp"
.endif
.if defined(WITH_KRB5_KRB4_COMPAT)
MAN1+= krb524init.1 v4rcp.1
.endif
.if defined(PROGRAM_TRANSFORM_NAME) && ${PROGRAM_TRANSFORM_NAME} != ""
CONFIGURE_ARGS+= --program-transform-name="${PROGRAM_TRANSFORM_NAME}"
.endif
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/src
WANT_HTML?= YES
HTML_DOC_DIR= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/doc
HTML_DOCS= ftp.html kdestroy.html kinit.html klist.html \
kpasswd.html krb425.html krb5-admin.html \
krb5-install.html krb5-user.html ksu.html \
rcp.html rlogin.html rsh.html telnet.html
CONFIGURE_ARGS+= CPPFLAGS="-I${OPENSSLINC} -L${OPENSSLLIB}"
post-extract:
@${TAR} -C ${WRKDIR} -xzf ${WRKDIR}/${PORTNAME}-${PORTVERSION}.tar.gz
@${RM} ${WRKDIR}/${PORTNAME}-${PORTVERSION}.tar.gz ${WRKDIR}/${PORTNAME}-${PORTVERSION}.tar.gz.asc
.if !defined(EXTRACT_PRESERVE_OWNERSHIP)
@if [ `id -u` = 0 ]; then \
${CHMOD} -R ug-s,go-w ${WRKDIR}/${PORTNAME}-${PORTVERSION}; \
${CHOWN} -R 0:0 ${WRKDIR}/${PORTNAME}-${PORTVERSION}; \
fi
.endif
post-patch:
@${REINPLACE_CMD} -e '1s,^#!\/usr\/athena/bin/perl,#!${PERL5},' \
${WRKSRC}/../doc/man2html
pre-build:
.if !defined(KRB5_KRB4_COMPAT)
@${ECHO} "------------------------------------------------------"
@${ECHO} "Set KRB5_KRB4_COMPAT=NO if you do not want to build "
@${ECHO} "the KerberosIV compatibility libraries. "
@${ECHO} "------------------------------------------------------"
.endif
post-build:
.if defined(KRB5_DOC) && ${KRB5_DOC} == "YES"
@cd ${WRKSRC}/../doc && \
${MAKE} all
.endif
post-install:
@${MKDIR} ${PREFIX}/share/doc/krb5
# html documentation
.if defined(KRB5_DOC) && ${KRB5_DOC} == "YES" && defined(WANT_HTML) && ${WANT_HTML} == "YES"
for html in ${HTML_DOC_DIR}/*.html; do \
${INSTALL_MAN} $${html} ${PREFIX}/share/doc/krb5; \
${ECHO_CMD} share/doc/krb5/`${BASENAME} $${html}` >> ${TMPPLIST}; \
done
.endif
${ECHO_CMD} @dirrm share/doc/krb5 >> ${TMPPLIST}
# handle info files
.if defined(KRB5_DOC) && ${KRB5_DOC} == "YES"
.for info in ${INFO}
${INSTALL_MAN} ${WRKSRC}/../doc/${info}.info ${PREFIX}/info/${info}.info
.endfor
.endif
@${SED} "s%\${PREFIX}%${PREFIX}%" ${FILESDIR}/README.FreeBSD > ${PREFIX}/share/doc/krb5/README.FreeBSD
@${CHMOD} 444 ${PREFIX}/share/doc/krb5/README.FreeBSD
@${ECHO} "------------------------------------------------------"
@${ECHO} "This port of MIT Kerberos 5 includes remote login "
@${ECHO} "daemons (telnetd and klogind). These daemons default "
@${ECHO} "to using the system login program (/usr/bin/login). "
@${ECHO} "Please see the file "
@${ECHO} "${PREFIX}/share/doc/krb5/README.FreeBSD"
@${ECHO} "for more information. "
@${ECHO} "------------------------------------------------------"
.include <bsd.port.post.mk>