diff options
Diffstat (limited to 'security/krb5-17/Makefile')
-rw-r--r-- | security/krb5-17/Makefile | 170 |
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 |