aboutsummaryrefslogtreecommitdiffstats
path: root/security/krb5/Makefile
blob: a69707a0f5a61c9f9a991ddc144497871c4f49f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Ports collection Makefile for:    MIT Kerberos V
# Date created:             6/5/1998
# Whom:                 nectar@FreeBSD.org
#
# $FreeBSD$
#

PORTNAME=       krb5
PORTVERSION=        1.9.2
PORTREVISION=       1
CATEGORIES=     security
MASTER_SITES=       http://web.mit.edu/kerberos/dist/${PORTNAME}/${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=     2011-007-patch.txt

MAINTAINER=     cy@FreeBSD.org
COMMENT=        An authentication system developed at MIT, successor to Kerberos IV

BUILD_DEPENDS=      gm4:${PORTSDIR}/devel/m4

CONFLICTS=      heimdal-[0-9]* srp-[0-9]*

LATEST_LINK=        ${PORTNAME}-19
KERBEROSV_URL=      http://web.mit.edu/kerberos/
USE_OPENSSL=        yes
USE_GMAKE=      yes
USE_PERL5_BUILD=    yes
USE_LDCONFIG=       yes
USE_AUTOTOOLS=      libtool
CONFIGURE_ARGS?=    --enable-shared
CONFIGURE_ENV=      INSTALL="${INSTALL}" YACC="${YACC}"
MAKE_ARGS=      INSTALL="${INSTALL}"
PATCH_DIST_STRIP=   -p2

LICENSE=        MIT

OPTIONS=        KRB5_DOC "Build and install krb5 documentation" on \
            WANT_HTML "Want HTML documentation too" on \
            DNS_FOR_REALM "enable DNS lookups of Kerberos realm names" off

.if defined(KRB5_HOME)
PREFIX=         ${KRB5_HOME}
CFLAGS+=        -rpath=${KRB5_HOME}/lib
LDFLAGS+=       -rpath=${KRB5_HOME}/lib
.endif

.include <bsd.port.pre.mk>
.if defined(WITH_DNS_FOR_REALM)
CONFIGURE_ARGS+=    --enable-dns-for-realm
.endif

.if defined(WITH_KRB5_DOC)
BUILD_DEPENDS+=     texi2dvi:${PORTSDIR}/print/texinfo \
            dvips:${PORTSDIR}/print/dvipsk-tetex
INFO=           krb5-admin krb5-install krb5-user
.endif

MAN1=           k5srvutil.1 kadmin.1 krb5-send-pr.1 krb5-config.1 \
            kpasswd.1 klist.1 kinit.1 kdestroy.1 ksu.1 ktutil.1 \
            sclient.1 kerberos.1 kvno.1 compile_et.1
MAN5=           kdc.conf.5 krb5.conf.5 .k5login.5
MAN8=           krb5kdc.8 kadmin.local.8 kdb5_util.8 kadmind.8 \
            kprop.8 kpropd.8 kproplog.8 sserver.8

.if defined(PROGRAM_TRANSFORM_NAME) && ${PROGRAM_TRANSFORM_NAME} != ""
CONFIGURE_ARGS+=    --program-transform-name="${PROGRAM_TRANSFORM_NAME}"
.endif

WRKSRC=         ${WRKDIR}/${PORTNAME}-${PORTVERSION}/src

HTML_DOC_DIR=       ${WRKDIR}/${PORTNAME}-${PORTVERSION}/doc
HTML_DOCS=      ftp.html kdestroy.html kinit.html klist.html \
            kpasswd.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

post-build:
.if defined(WITH_KRB5_DOC)
    @cd ${WRKSRC}/../doc && \
    ${MAKE} all
.endif

post-install:
    @${MKDIR} ${PREFIX}/share/doc/krb5
# html documentation
.if defined(WITH_KRB5_DOC) && defined(WITH_WANT_HTML)
    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(WITH_KRB5_DOC)
.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>