Index: Makefile.in =================================================================== RCS file: /cvs/src/src/winsup/cinstall/Makefile.in,v retrieving revision 2.49 diff -u -p -r2.49 Makefile.in --- Makefile.in 2002/01/27 06:36:06 2.49 +++ Makefile.in 2002/02/07 11:58:26 @@ -69,11 +69,12 @@ libmingw32.a := $(mingw_build)/libmingw3 libuser32 := $(w32api_lib)/libuser32.a libkernel32 := $(w32api_lib)/libkernel32.a libcomctl32 := $(w32api_lib)/libcomctl32.a +libimagehlp := $(w32api_lib)/libimagehlp.a ALL_DEP_LDLIBS := $(ZLIB) $(BZ2LIB) $(w32api_lib)/libole32.a $(w32api_lib)/libwsock32.a \ $(w32api_lib)/libnetapi32.a $(w32api_lib)/libadvapi32.a \ $(w32api_lib)/libuuid.a $(libkernel32) $(libuser32) \ - $(libcomctl32) $(libmingw32) + $(libcomctl32) $(libimagehlp) $(libmingw32) ALL_LDLIBS := ${patsubst $(mingw_build)/lib%.a,-l%,\ ${patsubst $(w32api_lib)/lib%.a,-l%,\ @@ -99,13 +100,17 @@ OBJS = \ compress_bz.o \ compress_gz.o \ concat.o \ + config_file.o \ + config_file_reader.o \ + config_file_writer.o \ cygpackage.o \ desktop.o \ dialog.o \ diskfull.o \ download.o \ - find.o \ filemanip.o \ + find.o \ + free_list.o \ fromcwd.o \ geturl.o \ hash.o \ @@ -120,6 +125,7 @@ OBJS = \ localdir.o \ log.o \ main.o \ + main.o \ mingw_getopt.o \ mkdir.o \ mklink2.o \ @@ -127,10 +133,10 @@ OBJS = \ msg.o \ net.o \ netio.o \ - nio-ie5.o \ nio-file.o \ nio-ftp.o \ nio-http.o \ + nio-ie5.o \ package_db.o \ package_meta.o \ package_source.o \ @@ -142,6 +148,7 @@ OBJS = \ postinstall.o \ proppage.o \ propsheet.o \ + rebaser.o \ res.o \ rfc1738.o \ root.o \ @@ -153,6 +160,7 @@ OBJS = \ splash.o \ state.o \ threebar.o \ + used_list.o \ version.o \ win32.o \ window.o \ Index: install.cc =================================================================== RCS file: /cvs/src/src/winsup/cinstall/install.cc,v retrieving revision 2.39 diff -u -p -r2.39 install.cc --- install.cc 2002/01/27 06:36:06 2.39 +++ install.cc 2002/02/07 11:58:32 @@ -62,6 +62,7 @@ static const char *cvsid = "\n%%% $Id: i #include "package_source.h" #include "port.h" +#include "rebaser.h" #include "threebar.h" extern ThreeBarProgressPage Progress; @@ -291,6 +292,8 @@ install_one_source (packagemeta & pkgm, } } } + else + rebaser::get_instance ()->rerebase (cygpath (prefixPath, fn, 0)); progress (tmp->tell ()); num_installs++; Index: log.cc =================================================================== RCS file: /cvs/src/src/winsup/cinstall/log.cc,v retrieving revision 2.7 diff -u -p -r2.7 log.cc --- log.cc 2002/01/22 12:30:50 2.7 +++ log.cc 2002/02/07 11:58:32 @@ -34,6 +34,7 @@ static const char *cvsid = #include "concat.h" #include "mkdir.h" #include "mount.h" +#include "rebaser.h" struct LogEnt { @@ -116,6 +117,8 @@ exit_setup (int exit_code) if (exit_msg) note (NULL, exit_msg); + + rebaser::delete_instance (); log (LOG_TIMESTAMP, "Ending cygwin install"); Index: package_meta.cc =================================================================== RCS file: /cvs/src/src/winsup/cinstall/package_meta.cc,v retrieving revision 2.15 diff -u -p -r2.15 package_meta.cc --- package_meta.cc 2002/01/22 09:03:55 2.15 +++ package_meta.cc 2002/02/07 11:58:32 @@ -42,6 +42,7 @@ static const char *cvsid = "\n%%% $Id: p #include "cygpackage.h" #include "package_meta.h" #include "package_db.h" +#include "rebaser.h" static const char *standard_dirs[] = { "/bin", @@ -167,6 +168,7 @@ packagemeta::uninstall () log (LOG_BABBLE, "unlink %s", d); SetFileAttributes (d, dw & ~FILE_ATTRIBUTE_READONLY); DeleteFile (d); + rebaser::get_instance ()->unrebase (d); } /* Check for Windows shortcut of same name. */ d = concat (d, ".lnk", NULL); Index: root.cc =================================================================== RCS file: /cvs/src/src/winsup/cinstall/root.cc,v retrieving revision 2.8 diff -u -p -r2.8 root.cc --- root.cc 2001/12/23 12:13:29 2.8 +++ root.cc 2002/02/07 11:58:32 @@ -36,6 +36,7 @@ static const char *cvsid = #include "concat.h" #include "log.h" #include "root.h" +#include "rebaser.h" static int rb[] = { IDC_ROOT_TEXT, IDC_ROOT_BINARY, 0 }; static int su[] = { IDC_ROOT_SYSTEM, IDC_ROOT_USER, 0 }; @@ -180,6 +181,8 @@ RootPage::OnNext () return -1; NEXT (IDD_LOCAL_DIR); + + rebaser::set_cygwin_root_dir (get_root_dir ()); log (0, "root: %s %s %s", get_root_dir (), (root_text == IDC_ROOT_TEXT) ? "text" : "binary",