Get rid of fake-install
authorGreg Hudson <ghudson@mit.edu>
Fri, 4 Nov 2011 18:39:35 +0000 (18:39 +0000)
committerGreg Hudson <ghudson@mit.edu>
Fri, 4 Nov 2011 18:39:35 +0000 (18:39 +0000)
Instead, use $(BUILDTOP)/plugins as the plugin base for tests.  For
each real plugin module, create a link in the parent directory if
we're doing a shared-library build--so built KDB modules can be found
in plugins/kdb, preauth modules in plugins/preauth, etc..

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25436 dc483132-0cff-0310-8789-dd5450dbe970

25 files changed:
src/Makefile.in
src/aclocal.m4
src/config/libnover.in
src/config/pre.in
src/config/shlib.conf
src/kadmin/testing/scripts/env-setup.shin
src/kadmin/testing/scripts/init_db
src/kadmin/testing/scripts/start_servers
src/plugins/authdata/greet/Makefile.in
src/plugins/authdata/greet_client/Makefile.in
src/plugins/authdata/greet_server/Makefile.in
src/plugins/kadm5_hook/test/Makefile.in
src/plugins/kdb/db2/Makefile.in
src/plugins/kdb/hdb/Makefile.in
src/plugins/kdb/ldap/Makefile.in
src/plugins/locate/python/Makefile.in
src/plugins/preauth/pkinit/Makefile.in
src/plugins/preauth/securid_sam2/Makefile.in
src/tests/Makefile.in
src/tests/dejagnu/Makefile.in
src/tests/dejagnu/config/default.exp
src/tests/dejagnu/krb-standalone/standalone.exp
src/tests/mkeystash_compat/Makefile.in
src/util/Makefile.in
src/util/k5test.py

index acd27baf087da338ff92db97b700bec393ca4587..5b2d525ce632f7180545348d9e8becf234549665 100644 (file)
@@ -80,27 +80,12 @@ install-headers-prerecurse: install-headers-mkdirs
 # install::
 #      $(MAKE) $(MFLAGS) install.man
 
-fake-install: runenv.py
-       $(RM) -r $(FAKEPREFIX)
-       @for i in $(INSTALLMKDIRS); do \
-               $(srcdir)/config/mkinstalldirs util/fakedest$$i; \
-       done
-       (w=`pwd`; cd util && $(MAKE) install DESTDIR="$$w/util/fakedest")
-       (w=`pwd`; cd lib && $(MAKE) install DESTDIR="$$w/util/fakedest")
-       (w=`pwd`; cd plugins/kdb/db2 && $(MAKE) install DESTDIR="$$w/util/fakedest")
-       if test -r plugins/preauth/pkinit/Makefile; then \
-         (w=`pwd`; cd plugins/preauth/pkinit && $(MAKE) install DESTDIR="$$w/util/fakedest"); \
-       fi
-
-#      (w=`pwd`; cd plugins/locate/python && $(MAKE) install DESTDIR="$$w/util/fakedest")
-
 TAGS: $(SRCS)
        etags $(SRCS)
 
 clean-:: clean-windows
 clean-unix::
        $(RM) *.o core krb5-config
-       $(RM) -r util/fakedest
 
 mostlyclean: clean
 
@@ -589,12 +574,12 @@ krb5-config: $(srcdir)/krb5-config.in config.status
 # $(PURE) or $(LDFLAGS) in case someone changes config/shlib.conf
 check-unix:: krb5-config
        $(SHELL) $(srcdir)/t_krbconf
-check-prerecurse: fake-install
+check-prerecurse: runenv.py
 
 # Create a test realm and spawn a shell in an environment pointing to it.
 # If CROSSNUM is set, create that many fully connected test realms and
 # point the shell at the first one.
-testrealm: fake-install
+testrealm: runenv.py
        PYTHONPATH=$(top_srcdir)/util $(PYTHON) $(srcdir)/util/testrealm.py \
                $(CROSSNUM)
 
index 68ef439d7f21909cae3b6c928fcb1154dd8b0be3..7e635c831771f1f19be0a464fabef1a616ac9e03 100644 (file)
@@ -1163,7 +1163,7 @@ else
        esac
        OBJLISTS="OBJS.SH"
        PLUGIN='$(LIBBASE)$(DYNOBJEXT)'
-       PLUGINLINK=
+       PLUGINLINK='../$(PLUGIN)'
        PLUGININST=install-plugin
        KDB5_PLUGIN_DEPLIBS=
        KDB5_PLUGIN_LIBS=
index 458bccc3a3c72cde57e3272a66c6c6315c84f4fb..4214aedf89bdb693ef58488b568de388e9b7c379 100644 (file)
@@ -91,10 +91,19 @@ libkrb5_$(LIBBASE)$(PFLIBEXT): $(PFOBJLISTS)
        set -x; objlist=`$(PARSE_OBJLISTS) $(PFOBJLISTS)` && $(AR) cq $@ $$objlist
        $(RANLIB) $@
 
+# For static builds, we make a symlink in the main library directory,
+# allowing the plugin library to be a dependency of the core libraries
+# which use it.
 $(TOPLIBD)/libkrb5_$(LIBBASE)$(STLIBEXT):
        $(RM) $@
        (cd $(TOPLIBD) && $(LN_S) $(RELDIR)/libkrb5_$(LIBBASE)$(STLIBEXT) .)
 
+# For shared builds, we make a symlink in the parent directory, allowing
+# tests to point plugin_base_dir at $(BUILDTOP)/plugins.
+../$(LIBBASE)$(DYNOBJEXT):
+       $(RM) $@
+       (cd .. && $(LN_S) `basename $(mydir)`/$(LIBBASE)$(DYNOBJEXT) .)
+
 all-liblinks: all-libs $(PLUGINLINK)
 all-libs: $(PLUGIN)
 
@@ -102,6 +111,9 @@ clean-libs:
        $(RM) $(LIBBASE)$(DYNOBJEXT)
        $(RM) binutils.versions osf1.exports darwin.exports hpux10.exports
 
+clean-liblinks:
+       $(RM) $(PLUGINLINK)
+
 install-libs: $(PLUGININST)
 install-static:
        $(RM) $(DESTDIR)$(KRB5_LIBDIR)/libkrb5_$(LIBBASE)$(STLIBEXT)
index 060aa8987d6d3b8a4c69dbace250087ea015a16c..c40895ef983fb308b90b96d6827a838f8c4ba477 100644 (file)
@@ -142,10 +142,6 @@ top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 CONFIG_RELTOPDIR = @CONFIG_RELTOPDIR@
 
-FAKEDEST=$(BUILDTOP)/util/fakedest
-FAKEPREFIX=$(FAKEDEST)/$(prefix)
-FAKELIBDIR=$(FAKEPREFIX)/lib
-
 # DEFS         set by configure
 # DEFINES      set by local Makefile.in
 # LOCALINCLUDES        set by local Makefile.in
index dd21126e19e75f148edbbf6362d3d207648febaa..3555a3e39d0991fe6c5bb53f15ad27a71dd898e0 100644 (file)
@@ -97,7 +97,7 @@ alpha*-dec-osf*)
        # _RLD_ROOT hack needed to repoint "root" directory for purposes
        # of searching for shared libs, since RPATHs take precedence over
        # LD_LIBRARY_PATH.
-       RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`$${LD_LIBRARY_PATH+:$$LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; _RLD_ROOT=$(FAKEDEST):$${_RLD_ROOT+$$_RLD_ROOT}$${_RLD_ROOT-/}; export _RLD_ROOT;'
+       RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`$${LD_LIBRARY_PATH+:$$LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; _RLD_ROOT=$${_RLD_ROOT+$$_RLD_ROOT}$${_RLD_ROOT-/}; export _RLD_ROOT;'
        RUN_VARS='LD_LIBRARY_PATH _RLD_ROOT'
        ;;
 
@@ -189,7 +189,7 @@ mips-sgi-irix6.3)   # This is a Kludge; see below
        RUN_ENV=
        for i in N32 64 ''; do
                RUN_ENV="${RUN_ENV+ $RUN_ENV}LD_LIBRARY${i}_PATH=$add\$\${LD_LIBRARY${i}_PATH+:\$\$LD_LIBRARY${i}_PATH}; export LD_LIBRARY${i}_PATH;"
-               RUN_ENV="${RUN_ENV} _RLD${i}_ROOT=\$(FAKEDEST):\$\${_RLD${i}_ROOT+\$\${_RLD${i}_ROOT}}\$\${_RLD${i}_ROOT-/}; export _RLD${i}_ROOT;"
+               RUN_ENV="${RUN_ENV} _RLD${i}_ROOT=\$\${_RLD${i}_ROOT+\$\${_RLD${i}_ROOT}}\$\${_RLD${i}_ROOT-/}; export _RLD${i}_ROOT;"
                RUN_VARS="$RUN_VARS LD_LIBRARY${i}_PATH _RLD${i}_ROOT"
        done
        ;;
@@ -238,7 +238,7 @@ mips-sgi-irix*)
        RUN_ENV=
        for i in N32 64 ''; do
                RUN_ENV="${RUN_ENV+ $RUN_ENV}LD_LIBRARY${i}_PATH=$add\$\${LD_LIBRARY${i}_PATH+:\$\$LD_LIBRARY${i}_PATH}; export LD_LIBRARY${i}_PATH;"
-               RUN_ENV="${RUN_ENV} _RLD${i}_ROOT=\$(FAKEDEST):\$\${_RLD${i}_ROOT+\$\${_RLD${i}_ROOT}}\$\${_RLD${i}_ROOT-/}; export _RLD${i}_ROOT;"
+               RUN_ENV="${RUN_ENV} _RLD${i}_ROOT=\$\${_RLD${i}_ROOT+\$\${_RLD${i}_ROOT}}\$\${_RLD${i}_ROOT-/}; export _RLD${i}_ROOT;"
                RUN_VARS="$RUN_VARS LD_LIBRARY${i}_PATH _RLD${i}_ROOT"
        done
        ;;
index 9511cec1ddb98eb7a3f9a5f4c944487aaa77f3fa..bee5b5482ca8c483e8dac37917840a9392a2966a 100755 (executable)
@@ -26,8 +26,6 @@ PROG_LIBPATH=-L@RBUILD@/lib
 BUILDTOP=@RBUILD@
 # XXX kludge!
 PROG_RPATH=@RBUILD@/lib
-# XXX more kludge!
-FAKEDEST=@RBUILD@/util/fakedest
 # This converts $(TOPLIBD) to $TOPLIBD
 cat > /tmp/env_setup$$ <<\EOF
 @KRB5_RUN_ENV@
index 2ff8208188629c1c306b3b7b296c89040072071a..5cf7491099335366913e1584c34f774e69692de4 100755 (executable)
@@ -27,7 +27,7 @@ IROOT=$TOP/..
 ADMIN=$TOP/dbutil
 BIN=$IROOT/bin
 ETC=$IROOT/etc
-MODDIR=$TOP/../util/fakedest$libdir/krb5/plugins/kdb
+MODDIR=$TOP/../plugins/kdb
 SBIN=$TOP/keytab:$TOP/server
 DUMMY=${REALM=SECURE-TEST.OV.COM}; export REALM
 
index 80cf8d6f4eaa8ae5115839d9ee62baaddb053a65..f32861884d50658a568d11d75c303e5bee99c1a1 100755 (executable)
@@ -39,7 +39,7 @@ if [ $local = 0 ]; then
        sed -e "s/__REALM__/$REALM/g" -e "s#__K5ROOT__#$K5ROOT#g" \
                -e "s/__KDCHOST__/$hostname/g" \
                -e "s/__LOCALHOST__/$localname/g" \
-               -e "s#__MODDIR__#$TOP/../util/fakedest$libdir/db-modules#g"\
+               -e "s#__MODDIR__#$TOP/../plugins/kdb#g"\
                < $STESTDIR/proto/krb5.conf.proto > $K5ROOT/krb5.conf
 
 # Using /usr/ucb/rsh and getting rid of "-k $REALM" until we get
index 6e3c0282e7211ae485c411457a1c548005625f39..ce70925cf05762ccbba8bc180a79eafcd9a6030b 100644 (file)
@@ -25,7 +25,7 @@ STLIBOBJS= greet_auth.o
 
 SRCS=  greet_auth.c
 
-all-unix:: all-liblinks
+all-unix:: all-libs
 install-unix:: install-libs
 clean-unix:: clean-libs clean-libobjs
 
index 82b10ff0748c803d566795a0d6f2a54fc9040a28..74e4bf42a9a3db64c899dc485cc8fe9828eeb9da 100644 (file)
@@ -24,7 +24,7 @@ STLIBOBJS= greet.o
 
 SRCS=  greet.c
 
-all-unix:: all-liblinks
+all-unix:: all-libs
 install-unix:: install-libs
 clean-unix:: clean-libs clean-libobjs
 
index 54ffe67dc8b1895536df811f0e9828a24e4588dd..40b1856bb44fd7fa2a14a02120b24ac897a65e67 100644 (file)
@@ -24,7 +24,7 @@ STLIBOBJS= greet_auth.o
 
 SRCS=  greet_auth.c
 
-all-unix:: all-liblinks
+all-unix:: all-libs
 install-unix:: install-libs
 clean-unix:: clean-libs clean-libobjs
 
index 0b2a2ef31f2f7bf313410ad4cbee1e4e4083dfc9..17ca2420428f5d8ec17f02a49f579f4a83326028 100644 (file)
@@ -26,7 +26,7 @@ STLIBOBJS=main.o
 
 SRCS= $(srcdir)/main.c
 
-all-unix:: all-liblinks
+all-unix:: all-libs
 install-unix::
 clean-unix:: clean-libs clean-libobjs
 
index 182d802084b24d4e5ff707e575f32d34215fae53..ef195594297ca1ff9a04cb7ea68241618c16a34b 100644 (file)
@@ -70,7 +70,7 @@ STLIBOBJS= \
 
 all-unix:: all-liblinks
 install-unix:: install-libs
-clean-unix:: clean-libs clean-libobjs
+clean-unix:: clean-liblinks clean-libs clean-libobjs
 
 $(DB_DEPS) $(DBOBJLISTS-k5) $(DBSHOBJLISTS): all-recurse
 
index 03e1e9902d07d66e118ed31ddd16db04064c4d57..12ec6fd6a355288c350a8bfadbfc6b41e8ff6391 100644 (file)
@@ -41,7 +41,7 @@ STLIBOBJS= \
 
 all-unix:: all-liblinks
 install-unix:: install-libs
-clean-unix:: clean-libs clean-libobjs
+clean-unix:: clean-liblinks clean-libs clean-libobjs
 
 $(DB_DEPS) $(DBOBJLISTS-k5) $(DBSHOBJLISTS): all-recurse
 
index dffb60f47e33509d55dd6c15d31853c330eb818c..8c21213058a18bbbeab4aea581b80a85470499d1 100644 (file)
@@ -36,7 +36,7 @@ STLIBOBJS= ldap_exp.o
 
 all-unix:: all-liblinks
 install-unix:: install-libs
-clean-unix:: clean-libs clean-libobjs
+clean-unix:: clean-liblinks clean-libs clean-libobjs
 
 @libnover_frag@
 @libobj_frag@
index 4ac0232e90b2948b9997c3c8d1592a3cc32d40c7..5b5484026b08785838295d9ad7321930edddbc24 100644 (file)
@@ -21,7 +21,7 @@ STLIBOBJS= py-locate.o
 
 all-unix:: all-liblinks
 install-unix:: install-libs
-clean-unix:: clean-libs clean-libobjs
+clean-unix:: clean-liblinks clean-libs clean-libobjs
 
 @libnover_frag@
 @libobj_frag@
index 05a67946f14cd8350488740ba3f6b23f74c5cfa9..1acb83e8917cdd283d46e24556771e3e459151eb 100644 (file)
@@ -50,7 +50,7 @@ SRCS= \
 
 all-unix:: all-liblinks
 install-unix:: install-libs
-clean-unix:: clean-libs clean-libobjs
+clean-unix:: clean-liblinks clean-libs clean-libobjs
 
 clean::
        $(RM) lib$(LIBBASE)$(SO_EXT)
index 642897c9e37eb33c974bb9af792e1ce85086382b..860b473eb4acf288ff336377c9e03a54cceb4869 100644 (file)
@@ -28,7 +28,7 @@ STLIBOBJS=securid_sam2_main.o securid2.o
 
 SRCS= $(srcdir)/securid_sam2_main.c $(srcdir)/securid2.c 2
 
-all-unix:: all-liblinks
+all-unix:: all-libs
 install-unix:: install-libs
 clean-unix:: clean-libs clean-libobjs
 
index 01d70fb255b652aa43ec54a3e475de4cbf63027e..6ce8f0f163a7c7d20583965fa2fda33235380d8a 100644 (file)
@@ -30,7 +30,7 @@ kdc.conf: Makefile
 krb5.conf: Makefile
        cat $(top_srcdir)/config-files/krb5.conf > krb5.new
        echo "[dbmodules]" >> krb5.new
-       echo " db_module_dir = `pwd`/../util/fakedest$(KRB5_DB_MODULE_DIR)" >> krb5.new
+       echo " db_module_dir = `pwd`/../plugins/kdb" >> krb5.new
        mv krb5.new krb5.conf
 
 kdb_check: kdc.conf krb5.conf
index ffdfbd617519d7060a659f2aacd845f4121da669..6794a91d6e9b14328fa34b778d16d9c56ef521b1 100644 (file)
@@ -40,7 +40,5 @@ runenv.vals: Makefile
 site.exp: runenv.vals Makefile
        echo "set runvarlist [list `cat runenv.vals | tr '\n' ' '`]" | \
                sed -e 's%=\.%='`pwd`'/.%g' > site.exp
-       echo "set KRB5_DB_MODULE_DIR {$(KRB5_DB_MODULE_DIR)}" >> site.exp
-       echo "set MODULE_DIR {$(MODULE_DIR)}" >> site.exp
        echo "set PRIOCNTL_HACK @PRIOCNTL_HACK@" >> site.exp
 
index 796ea3716f3b602dde73bee20ed623255655f327..8ab4b7902d9896b987f460ca606010717c6edef9 100644 (file)
@@ -911,8 +911,6 @@ proc setup_krb5_conf { {type client} } {
     global allow_weak_crypto
     global mode
     global portbase
-    global KRB5_DB_MODULE_DIR
-    global MODULE_DIR
     global srcdir
 
     set pkinit_certs [findfile "[pwd]/$srcdir/pkinit-certs" "[pwd]/$srcdir/pkinit-certs" "$srcdir/pkinit-certs"]
@@ -944,7 +942,7 @@ proc setup_krb5_conf { {type client} } {
        if { $mode == "tcp" } {
            puts $conffile "    udp_preference_limit = 1"
        }
-       puts $conffile "        plugin_base_dir = $tmppwd/../../../util/fakedest$MODULE_DIR"
+       puts $conffile "        plugin_base_dir = $tmppwd/../../../plugins"
        puts $conffile ""
        puts $conffile "\[realms\]"
        puts $conffile "        $REALMNAME = \{"
@@ -973,7 +971,7 @@ proc setup_krb5_conf { {type client} } {
        puts $conffile "        default = FILE:$tmppwd/others.log"
        puts $conffile ""
        puts $conffile "\[dbmodules\]"
-       puts $conffile "        db_module_dir = $tmppwd/../../../util/fakedest$KRB5_DB_MODULE_DIR"
+       puts $conffile "        db_module_dir = $tmppwd/../../../plugins/kdb"
        puts $conffile "        foo_db2 = {"
        puts $conffile "                db_library = db2"
        puts $conffile "                database_name = $tmppwd/$type-db"
index 03a5d52e0887ed559b0b93dcae62115da36d1326..5b5970fbaead8520981f2fc1002df7e312f0d74a 100644 (file)
@@ -139,7 +139,6 @@ proc doit { } {
     global portbase
     global mode
     global tmppwd
-    global MODULE_DIR
 
     setup_kerberos_env kdc
 
@@ -235,7 +234,7 @@ proc doit { } {
     }
 
     # If we have anonymous  then test it
-    if [file exists "$tmppwd/../../../util/fakedest$MODULE_DIR/preauth/pkinit.so" ] {
+    if [file exists "$tmppwd/../../../plugins/preauth/pkinit.so" ] {
        kinit_anonymous "WELLKNOWN/ANONYMOUS"
     }
 
index 5c53d9e8a430c4e029dd714c4ad78bdbff87ad12..30a8255a4a1619eca5c11fd2fdb0dcbcc65b6481 100644 (file)
@@ -32,7 +32,7 @@ kdc.conf: Makefile
 krb5.conf: Makefile
        cat $(top_srcdir)/config-files/krb5.conf > krb5.new
        echo "[dbmodules]" >> krb5.new
-       echo " db_module_dir = $(BUILDTOP)/util/fakedest$(KRB5_DB_MODULE_DIR)" >> krb5.new
+       echo " db_module_dir = $(BUILDTOP)/plugins/kdb" >> krb5.new
        mv krb5.new krb5.conf
 
 # Verify that the mkey stash code is backward compat with old/non-keytab stashfile format
index c791c0626ab437b4ae09531b192966e2199be1e8..f45bc70825a74482b2d41575aad4294c43d4f487 100644 (file)
@@ -19,9 +19,6 @@ MAYBE_VERTO_k5 = verto k5ev
 
 all-recurse:
 
-clean-unix::
-       $(RM) -r $(FAKEPREFIX)
-
 NO_OUTDIR=1
 
 install::
index 503085a31ca3c8793170740fe9c5dec82e296cbb..09a66a90ac5c79c8cd2735c51d7d90d33b238a36 100644 (file)
@@ -86,7 +86,7 @@ keyword arguments:
     - $testdir:  The realm storage directory (absolute path)
     - $buildtop: The root of the build directory
     - $srctop:   The root of the source directory
-    - $plugins:  The plugin directory under $buildtop/util/fakedest
+    - $plugins:  The plugin directory in the build tree
     - $hostname: The FQDN of the host
     - $port0:    The first listener port (portbase)
     - ...
@@ -171,7 +171,7 @@ Scripts may use the following functions and variables:
 
 * srctop: The top of the source directory (absolute path).
 
-* plugins: The plugin directory under <buildtop>/util/fakedest.
+* plugins: The plugin directory in the build tree (absolute path).
 
 * hostname: This machine's fully-qualified domain name.
 
@@ -418,16 +418,6 @@ def _find_srctop():
     return os.path.abspath(root)
 
 
-def _find_plugins():
-    global buildtop
-    fakeroot = os.path.join(buildtop, 'util', 'fakedest')
-    if not os.path.exists(fakeroot):
-        fail('You must run "make fake-install" in %s first.' % buildtop)
-    for dir, subdirs, files in os.walk(fakeroot):
-        if os.path.basename(dir) == 'plugins' and 'kdb' in subdirs:
-            return dir
-    fail('Cannot locate plugins; run "make fake-install" at %s.' % buildtop)
-
 # Return the local hostname as it will be canonicalized by
 # krb5_sname_to_principal.  We can't simply use socket.getfqdn()
 # because it explicitly prefers results containing periods and
@@ -1145,7 +1135,7 @@ _outfile = open('testlog', 'w')
 _cmd_index = 1
 buildtop = _find_buildtop()
 srctop = _find_srctop()
-plugins = _find_plugins()
+plugins = os.path.join(buildtop, 'plugins')
 _runenv = _import_runenv()
 hostname = _get_hostname()
 null_input = open(os.devnull, 'r')