Jordan Brown wrote: > I sort of understand how to use IPS in a customer-facing "publication" > environment. However, I'm not clear on how to use it in day-to-day > development. > > In the SVR4 world, one would compile some or all of a source tree, > producing some number of packages. One would then install some or all > of those packages on a test system, either first removing the old > versions or applying the new on top of the old, as desired. Since the > built packages normally reside in the build workspace, each developer > naturally has a personal set of packages, and can readily have several > sets of packages for different releases, different build variations, et > cetera. > > How does this model map over to IPS? Since IPS works only from a > repository, it would appear that each developer must have a personal > repository, and moreover may need to have multiple repositories when > working on multiple releases or multiple variants in parallel. I don't > see any other way, but that seems like a very heavyweight answer. > > We could just work with SVR4 packages most of the time, and only convert > to IPS for official builds, but that seems wrong, both from a purism > standpoint and because it means that developers would not be testing > what's actually being deployed. > > Does anybody have any thoughts on the subject?
FWIW, the developers on the UC2 project regularly make use of the approach where the build scripts both publish packages and create user images on the fly as a matter of course. The technique includes using some scripts to spin up local repos as needed and creating transportable archives of repos. When official builds are performed using the same build scripts, the archived repos and associated user images are versioned by way of file naming, the archived repos are moved to the right machines, expanded and pkg.depotd is run against them to make those promoted builds live from a repo standpoint. Even if you don't intend to use Ant, you might benefit from experiencing what has been put in place in support of the UC2 project. There are some python helper scripts that you could reuse. It takes about 10 minutes to try it out if you're already using NetBeans or if you are proficient with using Ant from the command line: http://wiki.updatecenter.java.net/Wiki.jsp?page=UC20RepositoryAndBuildInfrastructure#section-UC20RepositoryAndBuildInfrastructure-BuildingUsingNetBeans Once the source is checked out, run the ips-image target to see the publishing of packages and the creation of an associated image. Kudos to Tom Mueller for quickly establishing this admittedly sophisticated approach to make the best of dealing with the requirement to run a repo in order to publish packages and create images. Once the infrastructure was put in place and burned in, the day-to-day process of using it has been pretty positive. Chris _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
