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

Reply via email to