Thorsten, This looks really good. Thanks for all your hard work on it!
Here are a few comments and questions: usr/src/ipsdefs/Makefile I think SUNWscte and SUNWsctx are required for running SCATE tests (at least the fault injection tests). We should consider putting them in a repository for a debug build. usr/src/ipsdefs/Makefile.com Can you add some comments here explaining the format of the version string, and also the debug/nondebug and RELEASE_ENG modes? I notice that you've provided ipsdefs/ conversions of even those packages that we don't currently send to the repository. I guess that's fine. General: It looks like there's no rule in the usr/src Makefile structure to build ipsdefs. Only if using nbuild will it build ipsdefs. I guess that's ok. I see that jfreechart depends on pkgdefs being built. That's probably not going to work for the long-term, but should be ok for now. I'm not sure that lumping derby and telemetry in with cmass is correct. Isn't cmass just a framework that's used by the SCM and other stuff? But the derby and telemetry packages are for ganymede. What's the rationale for creating group packages for single packages like agent builder and dtk? I'm not saying that's wrong. I'm just curious, because I wouldn't have necessarily thought it would be necessary. Why is the agent builder (scdev) in the minimal package? Is it because it has libdsdev? This might be worth separating out. This is future work, I would say, not for this putback. Why does the scm group package have only jfreechart? What about the scm stuff itself? What are your thoughts on where to define our intended user-visible gropu packages of ha-cluster-minimal and ha-cluster-full? The latter of course will include agents. The former could be defined already, though, I think. usr/src/tools/scripts/nbuild.ksh I'm not quite following the -p logic. What happens if I specify a repo URL without -p? Will it still send the packages to the repo? How about if I specify a URL and -p? It looks like the URL may get overwritten, as the following code doesn't check for an already existing IPSREPO_URL value: 1598 # set IPSREPO_URL to default URL if p flag is set 1599 if $p_FLAG; then 1600 export RELEASE_ENG_BUILD= 1601 export IPSREPO_URL=${IPSREPO_URL:-"http://localhost:10000/"} 1602 fi Thanks, Nick Thorsten Frueauf wrote: > Hi, > > some time ago I send a webrev with a 1:1 conversion of SVR4 prototype > and pkginfo files into the IPS manifest world, along the design we > defined at http://www.genunix.org/wiki/index.php/ColoradoIPSBuild > > I did now refresh that webrev in order to contain some Makefile logic to > "build" the ipsdefs hierarchy and actually perform the pkgsend to a > configurable IPS repository URL. > > The changes also provide a start to consider package dependencies, > legacy and license actions. There is logic to deal with pkg versions, > also in the case for debug builds and developer only builds. I did also > introduce some group packages, similar to the "package cluster" > definitions we have within pkgdefs. > > I know this is a huge pile of files, but I would like to putback into > the colorado staging gate next week (say Tuesday COB MET), if there are > no major objections. There is follow-up work which is dependent on this > putback, like dealing with the various SVR4 package script and > refactoring the package content into a different structure (like we can > now comine the root and usr packages for sure). > > Of course this is not yet set in stone and has further ToDo items, some > of them I capture within the usr/src/ipsdefs/Makefile file as comments. > > Please review: > http://cr.opensolaris.org/~frueauf/colorado-svr4-to-ips-autoconversion/ > > Greets > Thorsten >