summaryrefslogtreecommitdiffstats
path: root/security/krb5-17/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'security/krb5-17/Makefile')
-rw-r--r--security/krb5-17/Makefile170
1 files changed, 49 insertions, 121 deletions
diff --git a/security/krb5-17/Makefile b/security/krb5-17/Makefile
index c493c76..3c37aafc 100644
--- a/security/krb5-17/Makefile
+++ b/security/krb5-17/Makefile
@@ -6,40 +6,21 @@
# $FreeBSD$
#
-DISTNAME= krb5-1.0.6
+DISTNAME= krb5-1.1
CATEGORIES= security
-MASTER_SITES= # empty here. See below for real setting.
-DISTFILES= krb5-1.0.6.src.tar.gz \
- krb5-1.0.6.doc.tar.gz \
- krb5-1.0.6.crypto.tar.gz
+MASTER_SITES= # manual download
+EXTRACT_SUFX= .tar
MAINTAINER= nectar@FreeBSD.org
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4
-DIST_SUBDIR= krb5
-
-# Deal with "secret" subdirectory on the canonical MASTER_SITE.
-# If USA_RESIDENT=YES then:
-# we fetch from the canonical MASTER_SITE in the USA,
-# and deal with a "secret" subdirectory whose name
-# we obtain by using an awk script to search a README file.
-# If USA_RESIDENT=NO then:
-# we fetch from a MASTER_SITE outside the USA,
-# and we don't need to deal with any "secret" subdirectory,
-# so we use an empty awk script.
-README_KRB5= README.KRB5-1.0.6
-.if defined(USA_RESIDENT) && ${USA_RESIDENT} == "YES"
-MASTER_SITES= ftp://athena-dist.mit.edu/pub/kerberos/
-AWK_SCRIPT= '(/1\) Change into the directory/) { if (match($$0, "dist/[0-9]+")) print substr($$0, RSTART, RLENGTH) }'
-.else
-MASTER_SITES= ftp://ftp.internat.freebsd.org/pub/FreeBSD/distfiles/
-AWK_SCRIPT= ''
-.endif
-
+KERBEROSV_URL= http://web.mit.edu/network/kerberos-form.html
USE_GMAKE= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS?= --enable-shared --with-ccopts="${CFLAGS}"
+CONFIGURE_ENV= INSTALL="${INSTALL}"
+MAKE_ARGS= INSTALL="${INSTALL}"
KRB5_KRB4_COMPAT?= YES
.if !defined(KRB5_KRB4_COMPAT) || ${KRB5_KRB4_COMPAT} == "NO"
@@ -57,47 +38,15 @@ INFO_FILES= krb425.info krb5-admin.info krb5-admin.info-1 \
krb5-admin.info-2 krb5-admin.info-3 krb5-install.info \
krb5-install.info-1 krb5-install.info-2 krb5-user.info
-pre-fetch:
-.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
-.if defined(USA_RESIDENT) && ${USA_RESIDENT} == "YES"
- @${ECHO}
- @${ECHO} ">> If you are a US resident, understand that this software"
- @${ECHO} " may be export restricted."
-.elif defined(USA_RESIDENT) && ${USA_RESIDENT} == "NO"
- @${ECHO}
- @${ECHO} ">> If you are not a US resident, then you cannot obtain"
- @${ECHO} " Kerberos V source from a server within the United"
- @${ECHO} " States. If automatic fetching of the sources from"
- @${ECHO} " a server outside the US fails then you will have to"
- @${ECHO} " find the sources elsewhere yourself, and put them"
- @${ECHO} " in ${_DISTDIR}."
-.else
- @${ECHO}
- @${ECHO} ">> You must set the variable USA_RESIDENT to YES if you are"
- @${ECHO} " a United States resident, otherwise NO."
- @${ECHO} " If you are a US resident, understand that this software"
- @${ECHO} " may be export restricted."
- @${ECHO} " If you are not a US resident, then you cannot obtain"
- @${ECHO} " Kerberos V source from a server within the United"
- @${ECHO} " States."
- @${FALSE}
-.endif
-
MAN1= krb5-send-pr.1 kpasswd.1 v5passwd.1 klist.1 kinit.1 \
kdestroy.1 ksu.1 sclient.1 rsh.1 rcp.1 rlogin.1 \
- v4rcp.1 ftp.1 telnet.1 kerberos.1
+ v4rcp.1 ftp.1 telnet.1 kerberos.1 kvno.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
WRKSRC= ${WRKDIR}/${DISTNAME}/src
-RECONF_COOKIE= ${WRKDIR}/.reconf_done
WANT_HTML?= YES
HTML_DOC_DIR= ${WRKDIR}/${DISTNAME}/doc
@@ -105,70 +54,56 @@ HTML_DOCS= admin.html install_foot.html user-guide.html \
admin_foot.html install_toc.html user-guide_foot.html \
admin_toc.html krb425.html user-guide_toc.html \
install.html krb425_toc.html
-SETUID_EXE= bin/ksu bin/v4rcp
-
-SUPERUSER?= root
-
-.include <bsd.port.pre.mk>
do-fetch:
- @${MKDIR} ${_DISTDIR}
- @(cd ${_DISTDIR}; \
- if [ ! -f ${README_KRB5} ]; then \
- for site in ${MASTER_SITES}; do \
- ${ECHO_MSG} ">> Attempting to fetch ${README_KRB5} from $${site}."; \
- if ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}/${README_KRB5} \
- ${FETCH_AFTER_ARGS}; then \
- break; \
- fi \
- done; fi; ${DO_NADA})
- @(if [ ! -f ${_DISTDIR}/${README_KRB5} ]; then \
- ${ECHO_MSG} ">> Couldn't fetch it - please try to retrieve"; \
- ${ECHO_MSG} ">> this port manually into ${_DISTDIR} and try"; \
- ${ECHO_MSG} ">> again."; \
- ${FALSE}; \
- fi)
- @${MKDIR} ${_DISTDIR}
- @(cd ${_DISTDIR}; \
- secret=`${AWK} ${AWK_SCRIPT} < ${_DISTDIR}/${README_KRB5}`; \
- for file in ${DISTFILES}; do \
- if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \
- if [ -h $$file -o -h `${BASENAME} $$file` ]; then \
- ${ECHO_MSG} ">> ${_DISTDIR}/$$file is a broken symlink."; \
- ${ECHO_MSG} ">> Perhaps a filesystem (most likely a CD) isn't mounted?"; \
- ${ECHO_MSG} ">> Please correct this problem and try again."; \
- exit 1; \
- fi ; \
- ${ECHO_MSG} ">> $$file doesn't seem to exist on this system."; \
- for site in ${MASTER_SITES}; do \
- ${ECHO_MSG} ">> Attempting to fetch from $${site}/$${secret}."; \
- if ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}/$${secret}/$${file} ${FETCH_AFTER_ARGS}; then \
- continue 2; \
- fi \
- done; \
- ${ECHO_MSG} ">> Couldn't fetch it - please try to retrieve this";\
- ${ECHO_MSG} ">> port manually into ${_DISTDIR} and try again."; \
- exit 1; \
- fi \
- done)
-
-pre-configure: ${RECONF_COOKIE}
-
-${RECONF_COOKIE}:
- ${SETENV} PORTOBJFORMAT="${PORTOBJFORMAT}" \
- ${SH} -c 'cd ${WRKSRC}/util/autoconf && ./configure && ${GMAKE} && cd ${WRKSRC} && ./util/reconf --force'
- ${TOUCH} ${RECONF_COOKIE}
+ @if [ ! -f ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ]; then \
+ ${ECHO} ""; \
+ ${ECHO} ">> Kerberos V contains encryption software and is"; \
+ ${ECHO} " export restricted. If you are not a USA resident,";\
+ ${ECHO} " then you cannot obtain the Kerberos V sources from";\
+ ${ECHO} " within the United States."; \
+ ${ECHO} ""; \
+ ${ECHO} ">> The Kerberos V sources must be fetched manually."; \
+ ${ECHO} " Please visit ${KERBEROSV_URL}"; \
+ ${ECHO} " to download ${DISTNAME}${EXTRACT_SUFX} and place"; \
+ ${ECHO} " it in ${DISTDIR}. Then run make again."; \
+ ${FALSE}; \
+ fi
+
+# the distfile is actually a tar of three compressed tars and their
+# signatures
+do-extract:
+ @${RM} -rf ${WRKDIR}
+ @${MKDIR} ${WRKDIR}
+ @(cd ${WRKDIR} && ${TAR} -xf ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})
+ @for f in crypto doc src; do \
+ cd ${WRKDIR} && \
+ ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${DISTNAME}.$$f.tar.gz \
+ ${EXTRACT_AFTER_ARGS} && \
+ ${RM} ${DISTNAME}.$$f.tar.gz ${DISTNAME}.$$f.tar.gz.asc; \
+ done
+.if !defined(EXTRACT_PRESERVE_OWNERSHIP)
+ @if [ `id -u` = 0 ]; then \
+ ${CHMOD} -R ug-s ${WRKDIR}; \
+ ${CHOWN} -R 0:0 ${WRKDIR}; \
+ fi
+.endif
+
+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:
@(cd ${WRKSRC}/../doc && \
${MAKE} ${INFO_FILES})
+.include <bsd.port.pre.mk>
+
post-install:
-# XXX Not sure why tmac.doc is installed here -- I don't think
-# we need it. I should patch the distribution to not install
-# it, I think.
- @${RM} -f ${PREFIX}/man/man1/tmac.doc
-# shared libs
${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib
# html documentation
.if defined(WANT_HTML) && ${WANT_HTML} == "YES"
@@ -177,10 +112,6 @@ post-install:
${INSTALL_MAN} ${HTML_DOC_DIR}/${html} ${PREFIX}/share/doc/krb5
.endfor
.endif
-# fixup setuid executables
-.for setuid in ${SETUID_EXE}
- ${CHOWN} ${SUPERUSER} ${PREFIX}/${setuid}
-.endfor
# handle info files
.for info in ${INFO_FILES}
${INSTALL_MAN} ${WRKSRC}/../doc/${info} ${PREFIX}/info/${info}
@@ -197,6 +128,3 @@ post-install:
.endif
.include <bsd.port.post.mk>
-
-# XXX deal with these patches:
-# patch-aw
OpenPOWER on IntegriCloud