bundle_creator()
: application_shell(),
_app_name(filename(_global_argv[0]).basename()),
- _bundle(NIL), _stub_size(0), _keyword() {}
+ _bundle(NULL_POINTER), _stub_size(0), _keyword() {}
virtual ~bundle_creator() {
WHACK(_bundle);
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");
int bundle_creator::recurse_into_dir(const astring &source,
const astring &target, int manifest_index)
{
-// FUNCDEF("recurse_into_dir");
+ FUNCDEF("recurse_into_dir");
//LOG(astring("src=") + source + " dest=" + target);
// we won't include the subversion folder.
int bundle_creator::patch_recursive_target(const astring &source,
const astring &target, int manifest_index)
{
-// FUNCDEF("patch_recursive_target");
+ FUNCDEF("patch_recursive_target");
//LOG(astring("patch recurs src=") + source + " targ=" + target);
return recurse_into_dir(source, target, manifest_index);
}
int bundle_creator::patch_wildcard_target(const astring &source,
const astring &target, int manifest_index)
{
-// FUNCDEF("patch_wildcard_target");
+ FUNCDEF("patch_wildcard_target");
// find the last slash. the rest is our wildcard component.
int src_end = source.end();
int slash_indy = source.find('/', src_end, true);
#ifdef __WIN32__
astring stub_filename("unpacker_stub.exe");
#endif
- astring repo_dir = "$PRODUCTION_DIR";
+ astring repo_dir = "$RUNTIME_PATH";
astring stub_file = parser_bits::substitute_env_vars
(repo_dir + "/binaries/" + stub_filename, false);
if (!filename(stub_file).exists()) {
int bundle_creator::write_offset()
{
-// FUNCDEF("write_offset");
+ FUNCDEF("write_offset");
byte_filer bun(_output_file, "r+b"); // open the file for updating.
astring magic_string("muftiloc"); // our sentinel string.