Mark, Jim, and Sundar, Thank you for agreeing to review my changes related to move of the SVR4 packaging code from the Legacy Nevada Install gate into ON.
I am sure that I have already mentioned the following but here is a quick overview: o This project is about moving the SVR4 packaging code to ON because this code needs to live on and we need to move away from the Legacy Install consolidation. o Patch code is not moving and is already dead in OpenSolaris. David Comay is stopping the delivery of patch binaries in the 2009.06 release. o The only goal of this project is moving the code. Yes, I know that this means that problems are just moving from one place to another but these issues must be dealt with separately. o Testing is on-going (Mary Ding has images she is working with and I have additional tests I want to run etc..). I am reasonably confident that this will not be an issue and I expect that if changes need to be made they will be small. In other words, I think that it is safe for you to start reviewing this now. I am cc'ing this code review to install-discuss at opensolaris.org as well as several internal aliases. Please let me know if you think of other aliases that this should also see this. Once this posts to install-discuss, I will update the OpenSolaris project page for SVR4 packaging with a link to this message. The bug report contains information about the reasons behind a lot of the individual changes. I have also included it in this email for your convenience. BugId: ( http://monaco.sfbay/detail.jsf?cr=6739234 ) 6739234 move SVR4 packaging to ONNV gate Webrev 1: This is a simple webrev of my changes to ON. It shows all the new files that I am adding to ON as well as a the small number of modifications that I made to several existing ON files. http://cr.opensolaris.org/~mwaterl/6739234.complete/webrev/ The first webrev shows all of the changes to ON but it doesn't show the actual source modifications that I made to individual files. So I generated a second webrev that should help highlight the actual source changes that were required. Webrev 2: This webrev was created by taking a clean ON child and adding the files directly from the Legacy Nevada Install gate. These files were inserted at their new locations. Then the updated files from the SVR4 packaging move were added to the workspace so that reasonable diffs could be generated. http://cr.opensolaris.org/~mwaterl/6739234.changes_only/webrev/ Please get your feedback to me by COB on Friday, May 1st. Thanks again for your help with this code review. -Moriah ======================================================================== ======================================================================== Suggested Fix ======= The location changes for the source code are as follows: Legacy Nevada Install gate: (The layout of the code in the old gate.) o /ws/install-nv-gate/usr/src/ o cmd/pkgcmds/ hdrs/ installf/ pkgcond/ pkgname/ pkgrm/ pkgadd/ pkginfo/ pkgparam/ pkgscripts/ pkgadm/ pkginstall/ pkgproto/ pkgtrans/ pkgchk/ pkgmk/ pkgremove/ o lib/libpkg/ o lib/libspmizones/ o lib/libinst/ o pkgdefs/SUNWpkgcmdsr o pkgdefs/SUNWpkgcmdsu || || \/ Nevada ON gate: (The new layout for the code in ON.) o /ws/onnv-gate/usr/src/ o cmd/svr4pkg/ hdrs/ libinst/ installf/ pkgcond/ pkgname/ pkgrm/ pkgadd/ pkginfo/ pkgparam/ pkgscripts/ pkgadm/ pkginstall/ pkgproto/ pkgtrans/ pkgchk/ pkgmk/ pkgremove/ o lib/libpkg/ common/ i386/ sparc/ o lib/libinstzones/ common/ i386/ sparc/ o pkgdefs/SUNWpkgcmdsr o pkgdefs/SUNWpkgcmdsu My changes for this code move only pertained to what was absolutely necessary for this migration. I am aware that there are quite a few other issues that could be fixed in this code, but they are out of scope for this project. Comments ======= The following notes are intended to provide more detail about why I made certain changes: o Changed the name of the directory under cmd from pkgcmds to svr4pkg to disambiguate this code from the new IPS packaging code. o Moved libinst out of libraries and into cmd/svr4pkg/libinst. Libinst had compilation problems under the libraries directory in the ON gate because it calls functions that are defined in code under cmd/svr4pkg. Spoke with Dave Marker about situation and he suggested this move because libinst is statically compiled, not delivered, and will only be used by the package commands. o Leaving libinstzones (formally known as libspmizones) as NOT large file aware. To track this, I filed: 6833675 libinstzones is not large file aware o Created lint libraries for libinstzones and libpkg. Not linting code under usr/src/cmd/svr4pkg. Changes required for this are out of scope for this project. To track this, I filed: 6833677 SVR4 package commands are not lint clean o I took changes to libinstzones directly from libinstzones in the Caiman gate. This is where the library name was changed. http://src.opensolaris.org/source/xref/caiman/slim_source/ o Moved the packages SUNWpkgcmdsr and SUNWpkgcmdsu from the install gate to the ON gate. The only significant difference in what the packages are delivering is the name change of libspmizones to libinstzones. All references to libspmizones in the packaging code have been changed to libinstzones. o Removed dependency from the packages for SUNWadmc as it is not required. o Used default text domain for the svr4pkg libraries or commands because it didn't seem reasonable to define a separate domain just for this old code. o Once this code is putback to ON, deliveries of SUNWpkgcmdsu and SUNWpkgcmdsr from the Legacy Install gate will cease. The code will not be yanked from the Legacy Nevada Install gate because the gate is in maintenance mode until it is completely decommissioned.