Jim, Here is the second installment of my response:)
-Moriah James Carlson wrote: > usr/src/cmd/svr4pkg/hdrs/install.h > > Not sure why this is a new file. > usr/src/cmd/svr4pkg/hdrs/libinst.h > Not sure why new. This file is actually not new, but when I was creating the webrev of changes I forgot to grab these files from the Legacy Nevada Install gate. The only difference between the files that I updated and the original is the sccs versioning : o install.h, I removed: > #pragma ident "@(#)install.h 1.24 06/02/27 SMI" o libinst.h, I removed: > #pragma ident "@(#)libinst.h 1.56 08/01/18 SMI" > 134,139: ew. > > 155-159: double ew. > > This header file definitely needs a spring cleaning. Not this > project, though. Left existing code alone, but completely agree about the yuckyness. > usr/src/cmd/svr4pkg/installf/Makefile > > 44: should be $(ROOTBIN) Done. > 52: nit: '-lc' likely isn't needed here. Removed this. > 60: nit: 'all' target should be first (before 'install' on line > 58). Otherwise, a bare "make" will cause it to install. Done. > 75: is this needed? > Yes, please see Note 3. > usr/src/cmd/svr4pkg/installf/main.c > > 23: time went backwards > > (old lines) 417,508: these look like accidentally removed bug fixes. Fixed, please see Note 4. > > usr/src/cmd/svr4pkg/installf/removef.c > > 107: accidentally removed fix? Fixed, please see Note 4. > > usr/src/cmd/svr4pkg/libinst/Makefile > > 55: misplaced comment (actually refers to line 58, and was moved?). Done, moved to proper location. > > 84: needed? Yes, please see Note 3. Left the clean and clobber targets in this file as it contained enough differences that the Makefile.svr4pkg was not useful > usr/src/cmd/svr4pkg/libinst/fixpath.c > > 822: looks like a removed bug fix. > Left alone. The change was to fix a coding error so that library would compile with gcc. Please see Note 5. > usr/src/cmd/svr4pkg/libinst/isreloc.c > > 48: definitely inappropriate comment for ON. Removed this. > 54: remove. Done. Removed prototype for strtok_r > usr/src/cmd/svr4pkg/libinst/mapfile-vers > > What is this file doing ... ? You're not building a shared library, > and the file doesn't have the required "MAPFILE HEADER" text nor any > usable symbols. > Removed mapfile from libinst. > usr/src/cmd/svr4pkg/libinst/pkgdbmerg.c > > 23: time rolled backwards > > 196: removed bug fix. > Fixed, please see Note 3. > usr/src/cmd/svr4pkg/libinst/scriptvfy.c > > This file should *not* be part of your workspace. It's a derived > object (generated by running lex on scriptvfy.l). It needs to be > removed with "hg rm". > Verified that scriptvfy.c was not managed by hg. Also added scriptvfy.c to the list of files to be removed by the clean target. > usr/src/cmd/svr4pkg/pkgadd/Makefile > > 51: '-lc' likely not needed. Removed this. > > 54,75: stray; remove. Removed this. > > 61: 'all' target should be first. > Done. > 68: needed? Yes, please see Note 3. > > usr/src/cmd/svr4pkg/pkgadd/check.c > > 46-49: looks like an accidentally reverted bug fix. (The path for > this should include hdrs, so <> should work.) > Fixed, please see Note 6. > usr/src/cmd/svr4pkg/pkgadd/main.c > > 76-79: looks like an accidentally reverted bug fix. (The path for > this should include hdrs, so <> should work.) > Fixed, please see Note 6. > usr/src/cmd/svr4pkg/pkgadd/presvr4.c > > 60-63: ditto Fixed, please see Note 6. > usr/src/cmd/svr4pkg/pkgadd/quit.c > > 41-43: ditto > Fixed, please see Note 6. > 265-267: remove > Fixed. > 268: nit: excess parenthesis Done, removed the excess parenthesis so that it is more readable. > usr/src/cmd/svr4pkg/pkgadd/quit.h > > 43: ditto Fixed, please see Note 6. > usr/src/cmd/svr4pkg/pkgadm/Makefile > > 48-51,53-55: lots of duplicated stuff across makefiles; consider > creating "usr/src/cmd/svr4pkg/Makefile.com" to hold it. Done. I created the following Makefiles: o usr/src/cmd/svr4pkg/Makefile.svr4pkg o usr/src/cmd/svr4pkg/Makefile.svr4pkg.targ > 53: '-lc' Removed this. > 62: 'all' target should be first. Done. > 74: needed? Yes, please see Note 3. > usr/src/cmd/svr4pkg/pkgadm/main.c > > 56-58,61-63: stray; remove Done. > 59: why was this made a global symbol? Honesty, I really don't know why it was originally declared that way. It doesn't seem to be necessary. With struct cmd defined as static, gcc pukes a warning and cc chokes on compilation. + /usr/sfw/bin/gcc -fident -finline -fno-inline-functions -fno-builtin . . -D_FILE_OFFSET_BITS=64 -c main.c -o /tmp/.cwCAAsBa4Ac.o main.c:59: warning: useless keyword or type name in empty declaration + /ws/onnv-tools/SUNWspro/SS12/bin/cc -O -xspace -Xa -xildoff . . -D_FILE_OFFSET_BITS=64 -c main.c *** Error code 1 make: Fatal error: Command failed for target `main.o' Current working directory /export/ws/mwaterl/child_of_master/usr/src/cmd/svr4pkg/pkgadm > > usr/src/cmd/svr4pkg/pkgchk/Makefile > > 50: '-lc' Removed this. > 59: 'all' Done. > 71: needed? Yes, please see Note 3. > usr/src/cmd/svr4pkg/pkgchk/main.c > > 536: removed (but wrongish) previous bug fix. Fixed (sort of), please see Note 0. > usr/src/cmd/svr4pkg/pkgcond/Makefile > > 48: '-lc' Removed this. > 48: linkage to libzonecfg needs to be lazy, or this will fail on > systems without Zones installed. Fixed this. > 49: possible issues with these other libraries; need to check > packaging. Added -lwanboot to the lazy libraries > 69: needed? Done, please see Note 3. > usr/src/cmd/svr4pkg/pkginfo/Makefile > > 48: '-lc' Removed this. > 56: 'all' Done. > usr/src/cmd/svr4pkg/pkginfo/pkginfo.c > > 321,323: reverted (and still wrong) bug fix. Fixed. Replaced exit statement at end of main() with return statement. > usr/src/cmd/svr4pkg/pkginstall/Makefile > > 65: '-lc' Removed this. > 73: 'all' Done. > 88: needed? Please see Note 3. > usr/src/cmd/svr4pkg/pkginstall/main.c > > 2244,2246: bug fix Fixed (sort of), please see Note 0. > usr/src/cmd/svr4pkg/pkgmk/Makefile > usual comments Done. > usr/src/cmd/svr4pkg/pkgmk/main.c > > 691: reverted bug fix Fixed (sort of), please see Note 0. > usr/src/cmd/svr4pkg/pkgname/Makefile > usual comments Done. > usr/src/cmd/svr4pkg/pkgname/pkgname.c > > 53,55: bug fix Fixed. Replaced exit statement at end of main() with return statement. > usr/src/cmd/svr4pkg/pkgparam/Makefile > usr/src/cmd/svr4pkg/pkgproto/Makefile > usual comments (on both) Done. > usr/src/cmd/svr4pkg/pkgproto/main.c > > 165,167: bug fix Fixed. Replaced exit statement at end of main() with return statement. > usr/src/cmd/svr4pkg/pkgremove/Makefile > > usual comments Done. > usr/src/cmd/svr4pkg/pkgremove/main.c > > 1125,1127: bug fix Fixed (sort of), please see Note 0. > usr/src/cmd/svr4pkg/pkgremove/wsreg_pkgrm_test.c > > Is this file even used? It doesn't seem to be, and could just be > eliminated from the workspace. This does not appear to be used in any way. I removed it from my workspace (hg remove). > usr/src/cmd/svr4pkg/pkgrm/Makefile > > usual comments Done. > usr/src/cmd/svr4pkg/pkgscripts/Makefile > > 52-55,58-59: this swilly little 'cmdexec' program doesn't seem to > use most of this. Done. I was able to removed 2 of the includes. > 61-66: doesn't belong here. Fixed. > usr/src/cmd/svr4pkg/pkgscripts/cmdexec.c > > 126,128: bug fix Fixed. Replaced exit statement at end of main() with return statement. > usr/src/cmd/svr4pkg/pkgtrans/Makefile > > usual comments Fixed. > usr/src/cmd/svr4pkg/pkgtrans/main.c > > 211: bug > Fixed. Removed previously inserted "return (0);" at end of main() Note 0. ======= I don't know what the hell to do about this situation. gcc won't compile without the returns. default: usage(); /*NOTREACHED*/ /* * Although usage() calls a noreturn function, * needed to add return (1); so that main() would * pass compilation checks. The statement below * should never be executed. */ return (1); I added the following line at the end of the definition of main() : /* LINTED: no return */ Note 2. ====== done. I gutted this Makefile. I removed all of my debugging comments. I added the new directories to Targetdirs and modified targets to: SUBDIRS= $(CMDSUBDIRS) $(LIBSUBDIR) all clean clobber install _msg lint: $(SUBDIRS) $(CMDSUBDIRS): $(LIBSUBDIR) $(SUBDIRS): FRC @cd $@; pwd; $(MAKE) $(TARGET) You are correct regarding _msg target. I changed this so that I am not even bothering with the additional effort to create a common .po file. I changed the targets in each of the command subdirectories to be $(MSGDOMAINPOFILE) Note 3. ====== No clean target is defined under usr/src/cmd/Makefile.targ. I did use the clobber target from that file and removed my definitions. I added the appropriate files to CLOBBERFILES += Note 4. ====== Change was putback to this source after code should have been frozen. D 1.60 08/12/17 04:46:38 jk217608 68 67 00010/00004/01250 MRs: COMMENTS: 6776920 removef doesn't cope with duplicate path on command line I went back and reviewed all the other putbacks since I last pulled the code and verified that I am not missing anything. Note 5. ====== Added as part of D 1.16 94/10/21 Added functions to suppoort faster install. 719 720 int 721 is_an_inst_root(void) 722 { 723 return (install_root_exists); 724 } 822 client_offset = (is_an_inst_root) ? install_root_len : 0; fixpath.c: In function `eval_path': fixpath.c:822: warning: the address of `is_an_inst_root', will always evaluate as `true' Note 6. -------- I fixed these problems. I had introduced the "" regression when I was originally working on just getting this code to build in the ON gate and missed this in my cleanup.