On Sat, 9 Aug 2003, Christopher Faylor wrote: > On Sat, Aug 09, 2003 at 12:29:39PM -0400, Christopher Faylor wrote: > >On Sat, Aug 09, 2003 at 12:12:11PM -0400, Christopher Faylor wrote: > >>On Thu, Aug 07, 2003 at 06:50:10PM -0400, Igor Pechtchanski wrote: > >>>Hi, > >>> > >>>This patch adds most of the capability of the script from > >>><http://cygwin.com/ml/cygwin-apps/2003-08/msg00106.html> to cygcheck. > >>>It is triggered by the "-c" flag to cygcheck. "Integrity" is a rather > >>>strong word, actually, as all this checks for is the existence of files > >>>and directories, but this could be further built upon (for example, tar > >>>has a diff option that could be useful). The patch is against cvs HEAD > >>>with my previous micropatch > >>>(<http://cygwin.com/ml/cygwin-patches/2003-q3/msg00058.html>) applied. > >>>Comments and suggestions welcome. > >> > >>I'm getting some odd errors when I apply this patch: > >> > >>"4NT: Unknown command f:" > >> > >>(as you can see I use 4NT). > >> > >>I haven't had time to debug where these are coming from but I get one > >>for every file displayed. > > > >The enclosed patch fixes that. > > > >I'll check this in but it would be nice if (WBNI) this used a mingw gzip > >library rather than calling gzip directly. That's a fair amount of > >work but I could resurrect the zlib library in winsup if necessary. > > > >I wonder why setup is using gzip rather than bzip2 for the package files... > > On checking this patch a little further, I see that it gives a > misleading "OK" when the package file is missing. Could you detect > that case? > > cgf
Yes. The attached patch (against the initial one applied) does just that. Igor ============================================================================== ChangeLog: 2003-08-09 Igor Pechtchanski <[EMAIL PROTECTED]> * dump_setup.cc (dump_setup): Check for the existence of the package list file. -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ [EMAIL PROTECTED] ZZZzz /,`.-'`' -. ;-;;,_ [EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton
--- dump_setup.cc~ 2003-08-07 18:40:22.000000000 -0400 +++ dump_setup.cc 2003-08-09 15:48:16.000000000 -0400 @@ -238,11 +238,17 @@ static bool check_package_files (int verbose, char *package) { bool result = true; - char filelist[4096] = " -dc /etc/setup/"; + char filelist[4096] = "etc/setup/"; strcat(strcat(filelist, package), ".lst.gz"); + if (!file_exists(false, filelist, NULL, NULL)) + { + if (verbose) + printf ("Missing file list /%s for package %s\n", filelist, package); + return false; + } char *zcat = cygpath("/bin/gzip.exe", NULL); char command[4096]; - strcat(strcpy(command, zcat), filelist); + strcat(strcat(strcpy(command, zcat), " -dc /"), filelist); FILE *fp = popen (command, "rt"); char buf[4096]; while (fgets (buf, 4096, fp))