removed last places the TMP variables was getting deranged.
authorChris Koeritz <fred@gruntose.com>
Tue, 11 Sep 2012 15:30:23 +0000 (11:30 -0400)
committerChris Koeritz <fred@gruntose.com>
Tue, 11 Sep 2012 15:30:23 +0000 (11:30 -0400)
now there's no spurious log in the wrong place.  sheesh.

nucleus/applications/bundler/bundle_creator.cpp
nucleus/library/configuration/application_configuration.cpp
production/setup_src/bundle_example/makefile
production/setup_src/whole_build_package/makefile

index c537aa4f7c92ec710a530316ffe85966c134e330..8212edc32e63b10d0063fc69d67542f29bd0d7b6 100644 (file)
@@ -239,6 +239,10 @@ Abandoning bundling process.\n", _app_name.s()));
   environment::set("DLL_START", "");
   environment::set("DLL_END", ".dll");
 #endif
+  // specify a target variable on the source side so that we can operate in there,
+  // even if the bundle doesn't specify one.  otherwise we can't run source side commands
+  // properly if the paths are based on TARGET (like TMP often is).
+  environment::set("TARGET", environment::TMP());
 
   int ret = 0;
   if ( (ret = read_manifest()) ) FAIL_RETURN(ret, "reading manifest");
index 3b70e55344fa928fd7e7eb9b50829a4b800a6d06..d4b7aca8d87d8843050b92259e87194e5af7376c 100644 (file)
@@ -19,6 +19,7 @@
 #include <basis/guards.h>
 #include <basis/mutex.h>
 #include <basis/utf_conversion.h>
+#include <filesystem/directory.h>
 #include <filesystem/filename.h>
 #include <mathematics/chaos.h>
 #include <structures/static_memory_gremlin.h>
@@ -323,11 +324,28 @@ printf("%s", (char *)a_sprintf("got log dir with %s value\n", log_dir.s()).s());
   }
 
   // now we make sure the directory exists.
+  filename testing(log_dir);
+  if (!testing.exists()) {
+    bool okay = directory::make_directory(log_dir);
+    if (!okay) {
+      LOG(astring("failed to create logging directory: ") + log_dir);
+      // return a directory almost guaranteed to exist; best we can do in this case.
+#ifdef __UNIX__
+      return "/tmp";
+#endif
+#ifdef __WIN32__
+      return "c:/";
+#endif
+    }
+  }
+    
+#if 0
   struct stat to_fill;
   int stat_ret = stat(log_dir.observe(), &to_fill);
   if (stat_ret || !(to_fill.st_mode & S_IFDIR) ) {
     // if it's not anything yet or if it's not a directory, then we need
     // to create it.
+
 //if it's something besides a directory... should it be deleted?
 #ifdef __UNIX__
     int mk_ret = mkdir(log_dir.s(), 0777);
@@ -335,9 +353,13 @@ printf("%s", (char *)a_sprintf("got log dir with %s value\n", log_dir.s()).s());
 #ifdef __WIN32__
     int mk_ret = mkdir(log_dir.s());
 #endif
-    if (mk_ret) return "";
+    if (mk_ret) {
+printf("creating logging directory failed with outcome %d.\n", mk_ret);
+      return "";
 //can't have a log file if we can't make the directory successfully???
+    }
   }
+#endif
 
   return log_dir;
 }
index bf92bb250fb380ab4835efc916f65bada55de6e2..c1f29c96f013d365f2a2f3d347c0a48a2a59cb68 100644 (file)
@@ -4,8 +4,8 @@ PROJECT = example_bundle
 TYPE = hierarchy
 FIRST_TARGETS = build_bundle
 CLEANUPS = $(FEISTY_MEOW_DIR)/install/example_bundle$(EXE_END)
+# set the unix bin variable so the bundle finds the apps.
 export UNIX_BIN = /bin
-#hmmm: is UNIX_BIN used anywhere?
 
 include cpp/rules.def
 
index 36e6a1b7b0db0493726785bf275f13ab417d7302..834b0209d3f4e078ad44cb500476a527e1986fd2 100644 (file)
@@ -4,11 +4,13 @@ PROJECT = Whole_Build_Pack
 FIRST_TARGETS = create_package
 CLEANUPS = $(PRODUCTION_DIR)/install/whole_build*
 TYPE = hierarchy
+export TARGET=$(TMP)
 
 include cpp/rules.def
 
 create_package:
 ifeq "$(NO_BUILD_PACK)" ""
+       $(HIDE)mkdir $(TARGET)/waste
        $(HIDESH)create_whole_build_pack.sh "$(major).$(minor).$(revision).$(build)"
 endif