Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/crypto/external/bsd/heimdal Fix up Heimdal so that it can be...



details:   https://anonhg.NetBSD.org/src/rev/017eba3be543
branches:  trunk
changeset: 765411:017eba3be543
user:      he <he%NetBSD.org@localhost>
date:      Wed May 25 19:21:16 2011 +0000

description:
Fix up Heimdal so that it can be built statically, allowing the
sun2 port to proceed beyond trying and failing to build Heimdal.
This is done by:

1) Stop pretending that libipc is a separate library, and instead
   build it as part of libkrb5.  The version map for libkrb5 needed
   to be updated to expose the required symbols from libipc.

2) The lexer in libhx509 needs to use its own prefix, so that the
   resulting library can be statically linked with a lexer which
   uses the default prefix.  This was hidden because libhx509's
   version map file (which is only used for the shared libs) hid
   away the lexer symbols.  Some defines needed tweaking as well
   to restore buildability.

3) Excplicitly mention all the required libraries in LDADD+= and
   make sure DPADD is set to correspond.  This allows static linking;
   earlier this relied on shared library dependencies to have all the
   libs pulled in.  In the process, convert to single-line LDADD+=
   and DPADD+= settings.  Use Makefile.inc for the common libraries
   to the extent possible.

Successfully built from scratch for i386 and sun2 several times,
and for lots of other ports as well.

Discussed with elric@ and christos@.

diffstat:

 crypto/external/bsd/heimdal/bin/Makefile.inc                 |  10 +++++++++-
 crypto/external/bsd/heimdal/bin/gsstool/Makefile             |  10 +++++++---
 crypto/external/bsd/heimdal/bin/hxtool/Makefile              |  10 +++++++---
 crypto/external/bsd/heimdal/bin/kcc/Makefile                 |   8 +++++---
 crypto/external/bsd/heimdal/bin/kdestroy/Makefile            |   6 +++---
 crypto/external/bsd/heimdal/bin/kgetcred/Makefile            |   6 +++---
 crypto/external/bsd/heimdal/bin/kinit/Makefile               |   6 +++---
 crypto/external/bsd/heimdal/bin/kpasswd/Makefile             |   6 +++---
 crypto/external/bsd/heimdal/bin/string2key/Makefile          |   5 +----
 crypto/external/bsd/heimdal/bin/verify_krb5_conf/Makefile    |   7 +------
 crypto/external/bsd/heimdal/dist/lib/hx509/sel.h             |  10 +++++++---
 crypto/external/bsd/heimdal/dist/lib/krb5/version-script.map |   9 +++++++++
 crypto/external/bsd/heimdal/lib/Makefile                     |   3 +--
 crypto/external/bsd/heimdal/lib/libhdb/Makefile              |   4 +---
 crypto/external/bsd/heimdal/lib/libhx509/Makefile            |   4 +++-
 crypto/external/bsd/heimdal/lib/libkrb5/Makefile             |   8 +++++---
 crypto/external/bsd/heimdal/libexec/Makefile.inc             |  12 +++++++++++-
 crypto/external/bsd/heimdal/libexec/digest-service/Makefile  |   8 +++-----
 crypto/external/bsd/heimdal/libexec/hpropd/Makefile          |  10 +++-------
 crypto/external/bsd/heimdal/libexec/ipropd-master/Makefile   |  10 +++-------
 crypto/external/bsd/heimdal/libexec/ipropd-slave/Makefile    |  10 +++-------
 crypto/external/bsd/heimdal/libexec/kadmind/Makefile         |  10 +++-------
 crypto/external/bsd/heimdal/libexec/kpasswdd/Makefile        |  12 +++---------
 crypto/external/bsd/heimdal/sbin/Makefile.inc                |  10 +++++++++-
 crypto/external/bsd/heimdal/sbin/hprop/Makefile              |   8 +++-----
 crypto/external/bsd/heimdal/sbin/iprop-log/Makefile          |  12 +++++-------
 crypto/external/bsd/heimdal/sbin/kadmin/Makefile             |  10 +++++-----
 crypto/external/bsd/heimdal/sbin/kcm/Makefile                |   8 +++-----
 crypto/external/bsd/heimdal/sbin/kdc/Makefile                |  10 +++-------
 crypto/external/bsd/heimdal/sbin/kdigest/Makefile            |   9 +++------
 crypto/external/bsd/heimdal/sbin/kimpersonate/Makefile       |   8 +++-----
 crypto/external/bsd/heimdal/sbin/kstash/Makefile             |   6 +++---
 crypto/external/bsd/heimdal/sbin/ktutil/Makefile             |   8 +++-----
 33 files changed, 137 insertions(+), 136 deletions(-)

diffs (truncated from 718 to 300 lines):

diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/Makefile.inc
--- a/crypto/external/bsd/heimdal/bin/Makefile.inc      Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/Makefile.inc      Wed May 25 19:21:16 2011 +0000
@@ -1,3 +1,11 @@
-# $NetBSD: Makefile.inc,v 1.1 2011/04/13 19:16:44 elric Exp $
+# $NetBSD: Makefile.inc,v 1.2 2011/05/25 19:21:16 he Exp $
 
 BINDIR=/usr/bin
+
+LDADD+= -lkrb5 -lhx509 -lasn1 -lroken -lcom_err -lwind
+LDADD+= -lheimbase ${LIBVERS}
+LDADD+= -lcrypto -lcrypt
+
+DPADD+= ${LIBKRB5} ${LIBHX509} ${LIBASN1} ${LIBROKEN} ${LIBCOM_ERR} ${LIBWIND}
+DPADD+= ${LIBHEIMBASE} ${LIBVERS}
+DPADD+= ${LIBCRYPTO} ${LIBCRYPT}
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/gsstool/Makefile
--- a/crypto/external/bsd/heimdal/bin/gsstool/Makefile  Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/gsstool/Makefile  Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:44 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:16 he Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -13,8 +13,12 @@
 
 MAN=
 
-LDADD+=        -lgssapi -lsl ${LIBVERS}
-DPADD+=        ${LIBGSSAPI} ${LIBSL} ${LIBVERS}
+LDADD+= -lgssapi -lheimntlm
+LDADD+= -lsl ${LIBVERS} 
+LDADD+= -ledit -lterminfo
+DPADD+= ${LIBGSSAPI} ${LIBHEIMNTLM}
+DPADD+= ${LIBSL}
+DPADD+= ${LIBEDIT} ${LIBTERMINFO}
 
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/hxtool/Makefile
--- a/crypto/external/bsd/heimdal/bin/hxtool/Makefile   Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/hxtool/Makefile   Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:45 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:16 he Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -13,8 +13,12 @@
 
 MAN=
 
-LDADD+=        -lgssapi -lsl ${LIBVERS}
-DPADD+=        ${LIBGSSAPI} ${LIBSL} ${LIBVERS}
+LDADD+= -lgssapi
+LDADD+= -lsl
+LDADD+= -ledit -lterminfo
+DPADD+= ${LIBGSSAPI}
+DPADD+= ${LIBSL}
+DPADD+= ${LIBEDIT} ${LIBTERMINFO}
 
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/kcc/Makefile
--- a/crypto/external/bsd/heimdal/bin/kcc/Makefile      Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/kcc/Makefile      Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:45 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:16 he Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -21,8 +21,10 @@
 
 CPPFLAGS+= -I${DESTDIR}/usr/include/krb5
 
-LDADD+=        -lkrb5 -lkafs -lsl -lheimbase ${LIBVERS}
-DPADD+=        ${LIBKRB5} ${LIBKAFS} ${LIBSL} ${LIBVERS}
+LDADD+= -lkafs -lsl
+LDADD+= -ledit -lterminfo
+DPADD+= ${LIBKAFS} ${LIBSL}
+DPADD+= ${LIBEDIT} ${LIBTERMINFO}
 
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/kdestroy/Makefile
--- a/crypto/external/bsd/heimdal/bin/kdestroy/Makefile Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/kdestroy/Makefile Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:45 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:16 he Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -10,8 +10,8 @@
 PROG= kdestroy
 SRCS= kdestroy.c
 
-LDADD+=        -lkrb5 -lkafs -lsl -lheimbase -lheimntlm ${LIBVERS}
-DPADD+=        ${LIBKRB5} ${LIBKAFS} ${LIBSL} ${LIBVERS}
+LDADD+= -lkafs -lsl -lheimntlm
+DPADD+= ${LIBKAFS} ${LIBSL} ${LIBHEIMNTLM}
 
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/kgetcred/Makefile
--- a/crypto/external/bsd/heimdal/bin/kgetcred/Makefile Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/kgetcred/Makefile Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:45 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:16 he Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -10,8 +10,8 @@
 PROG= kgetcred
 SRCS= kgetcred.c
 
-LDADD+=        -lkrb5 -lkafs -lsl -lheimbase -lheimntlm ${LIBVERS}
-DPADD+=        ${LIBKRB5} ${LIBKAFS} ${LIBSL} ${LIBVERS}
+LDADD+= -lkafs -lsl -lheimntlm
+DPADD+= ${LIBKAFS} ${LIBSL} ${LIBHEIMNTLM}
 
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/kinit/Makefile
--- a/crypto/external/bsd/heimdal/bin/kinit/Makefile    Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/kinit/Makefile    Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:45 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:17 he Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -12,8 +12,8 @@
 
 CPPFLAGS+= -I${HEIMDIST}/lib/ntlm
 
-LDADD+=        -lkrb5 -lkafs -lsl -lheimbase -lheimntlm ${LIBVERS}
-DPADD+=        ${LIBKRB5} ${LIBKAFS} ${LIBSL} ${LIBVERS}
+LDADD+= -lkafs -lsl -lheimntlm
+DPADD+= ${LIBKAFS} ${LIBSL} ${LIBHEIMNTLM}
 
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/kpasswd/Makefile
--- a/crypto/external/bsd/heimdal/bin/kpasswd/Makefile  Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/kpasswd/Makefile  Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:46 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:17 he Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -10,8 +10,8 @@
 PROG= kpasswd
 SRCS= kpasswd.c
 
-LDADD+=        -lkrb5 -lkafs -lsl -lheimbase -lheimntlm ${LIBVERS}
-DPADD+=        ${LIBKRB5} ${LIBKAFS} ${LIBSL} ${LIBVERS}
+LDADD+= -lkafs -lsl -lheimntlm
+DPADD+= ${LIBKAFS} ${LIBSL} ${LIBHEIMNTLM}
 
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/string2key/Makefile
--- a/crypto/external/bsd/heimdal/bin/string2key/Makefile       Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/string2key/Makefile       Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:46 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:17 he Exp $
 
 .include <bsd.own.mk>
 .include <${.CURDIR}/../../Makefile.inc>
@@ -20,8 +20,5 @@
        -I${HEIMBASE}/lib/libheimntlm   \
        -I${HEIMBASE}/lib/libwind       \
 
-LDADD+=        -lkrb5 -lcrypto -lwind ${LIBVERS}
-DPADD+=        ${LIBKRB5} ${LIBVERS}
-
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/bin/verify_krb5_conf/Makefile
--- a/crypto/external/bsd/heimdal/bin/verify_krb5_conf/Makefile Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/bin/verify_krb5_conf/Makefile Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.1 2011/04/13 19:16:47 elric Exp $
+#      $NetBSD: Makefile,v 1.2 2011/05/25 19:21:17 he Exp $
 
 WARNS?=        2       # XXX -Wextra
 
@@ -20,10 +20,5 @@
 #      -I${DESTDIR}/usr/include/krb5           \
 #      -DHAVE_CONFIG_H
 
-LDADD+=        -lkrb5 -lhx509 -lcrypto -lasn1 -lcom_err \
-       ${LIBVERS} -lroken -lcrypt
-DPADD+=        ${LIBKRB5} ${LIBHX509} ${LIBCRYPTO} ${LIBASN1} ${LIBCOM_ERR} \
-       ${LIBVERS} ${LIBROKEN} ${LIBCRYPT}
-
 .include <${HEIMBASE}/Makefile.rules.inc>
 .include <bsd.prog.mk>
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/dist/lib/hx509/sel.h
--- a/crypto/external/bsd/heimdal/dist/lib/hx509/sel.h  Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/dist/lib/hx509/sel.h  Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sel.h,v 1.1.1.1 2011/04/13 18:15:12 elric Exp $        */
+/*     $NetBSD: sel.h,v 1.2 2011/05/25 19:21:17 he Exp $       */
 
 /*
  * Copyright (c) 2008 Kungliga Tekniska Högskolan
@@ -69,14 +69,18 @@
 
 extern struct hx_expr_input _hx509_expr_input;
 
+#if !defined(yylex)
+#define yylex   _hx509_sel_yylex
+#define yywrap  _hx509_sel_yywrap
+#endif
+#if !defined(yyparse)
 #define yyparse _hx509_sel_yyparse
-#define yylex   _hx509_sel_yylex
 #define yyerror _hx509_sel_yyerror
 #define yylval  _hx509_sel_yylval
 #define yychar  _hx509_sel_yychar
 #define yydebug _hx509_sel_yydebug
 #define yynerrs _hx509_sel_yynerrs
-#define yywrap  _hx509_sel_yywrap
+#endif
 
 int  _hx509_sel_yyparse(void);
 int  _hx509_sel_yylex(void);
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/dist/lib/krb5/version-script.map
--- a/crypto/external/bsd/heimdal/dist/lib/krb5/version-script.map      Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/dist/lib/krb5/version-script.map      Wed May 25 19:21:16 2011 +0000
@@ -760,6 +760,15 @@
                _krb5_put_int;
                _krb5_s4u2self_to_checksumdata;
 
+               # ipc stuff
+               heim_ipc_main;
+               heim_ipc_cred_get_uid;
+               heim_ipc_cred_get_gid;
+               heim_ipc_cred_get_pid;
+               heim_ipc_cred_get_session;
+               heim_sipc_launchd_mach_init;
+               heim_sipc_service_unix;
+
                # kinit helper
                krb5_get_init_creds_opt_set_pkinit_user_certs;
                krb5_pk_enterprise_cert;
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/lib/Makefile
--- a/crypto/external/bsd/heimdal/lib/Makefile  Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/lib/Makefile  Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:47 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:17 he Exp $
 
 .include "bsd.own.mk"
 
@@ -17,7 +17,6 @@
        libwind         \
        .WAIT           \
        libhx509        \
-       libipc          \
        .WAIT           \
        libkrb5         \
        .WAIT           \
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/lib/libhdb/Makefile
--- a/crypto/external/bsd/heimdal/lib/libhdb/Makefile   Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/lib/libhdb/Makefile   Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:50 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:17 he Exp $
 
 USE_FORT?= yes # network protocol library
 
@@ -19,8 +19,6 @@
                wind            ${HEIMBASE}/lib/libwind         \
                heimbase        ${HEIMBASE}/lib/libheimbase
 
-LDADD+= ${LIBIPC_PIC}
-
 HEIMSRCS= hdb_err.et hdb.asn1
 
 SRCS=                  \
diff -r d122130708a9 -r 017eba3be543 crypto/external/bsd/heimdal/lib/libhx509/Makefile
--- a/crypto/external/bsd/heimdal/lib/libhx509/Makefile Wed May 25 16:33:37 2011 +0000
+++ b/crypto/external/bsd/heimdal/lib/libhx509/Makefile Wed May 25 19:21:16 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2011/04/13 19:16:51 elric Exp $
+# $NetBSD: Makefile,v 1.2 2011/05/25 19:21:17 he Exp $
 
 NOLINT=                # defined
 
@@ -55,6 +55,8 @@
        softp11.c               \
        ${BUILT_SOURCES}



Home | Main Index | Thread Index | Old Index