Branch: Tag:

2000-07-12

2000-07-12 01:19:28 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

fakeroot/buildroot should now work, happy day for RPM builders

Rev: bin/install.pike:1.57
Rev: lib/master.pike.in:1.123
Rev: src/Makefile.in:1.195
Rev: src/dumpmaster.pike:1.4
Rev: src/dumpmodule.pike:1.10

1:   /* -*- Pike -*-    * -  * $Id: master.pike.in,v 1.122 2000/06/09 21:46:37 mast Exp $ +  * $Id: master.pike.in,v 1.123 2000/07/12 01:19:18 hubbe Exp $    *    * Master-file for Pike.    *
28:    * Functions begin here.    */    + #ifdef PIKE_FAKEROOT + object o; + string fakeroot(string s) + { +  string tmp1=combine_path_with_cwd(s); + #ifdef PIKE_FAKEROOT_OMIT +  foreach(PIKE_FAKEROOT_OMIT/":", string x) +  if(glob(x,tmp1)) +  return s; + #endif +  return PIKE_FAKEROOT+tmp1; + } + #else + #define fakeroot(X) X + #endif +  +  +    int is_absolute_path(string p)   {   #ifdef __NT__
117:    return compile(cpp(data,name||"-", 0, handler), handler);   }    +    string master_read_file(string file)   {    object o=_static_modules.files()->Fd(); -  if(o->open(file,"r")) +  if(o->open(fakeroot(file),"r"))    return o->read();    return 0;   }
313:    }   #endif    -  if( (s=master_file_stat(fname)) && s[1]>=0 ) +  if( (s=master_file_stat(fakeroot(fname))) && s[1]>=0 )    {    AUTORELOAD_BEGIN();   
327:    case "":    case ".pike":    foreach(query_precompiled_names(fname), string oname) { -  if(array s2=master_file_stat(oname)) +  if(array s2=master_file_stat(fakeroot(oname)))    {    if(s2[1]>=0 && s2[3]>=s[3])    {
374:    werror(sprintf("low_find_prog(\"%s\", \"%s\") => load_module(\"\")\n"    "%s\n", pname, ext, describe_backtrace(backtrace())));    } -  ret=load_module(fname); +  +  ret=load_module(fakeroot(fname));   #endif /* load_module */    }   
624:    }       if( !files ) -  files = get_dir(dirname); +  files = get_dir(fakeroot(dirname));       int ret;    foreach( files, string s )
677:    }       if( !files ) -  files = get_dir(dirname); +  files = get_dir(fakeroot(dirname));    foreach(files, string fname) {    mixed err = catch {    if (((< ".pike", ".pmod" >)[fname[sizeof(fname)-5..]]) &&
824:    return o;    }    -  if(array stat=master_file_stat(fullname+".pmod")) +  if(array stat=master_file_stat(fakeroot(fullname+".pmod")))    {    if(stat[1]==-2)    return fc[fullname]=dirnode(fullname+".pmod");
834:    return fc[fullname]=o;      #if constant(load_module) -  if(master_file_stat(fullname+".so")) +  if(master_file_stat(fakeroot(fullname+".so")))    return fc[fullname]=low_cast_to_object(fullname,"/.");   #endif   
1327:    foreach(pike_include_path, path)    {    path=combine_path(path,f); -  if(master_file_stat(path)) +  if(master_file_stat(fakeroot(path)))    break;    else    path=0;