Hi Peter, Thank you for your comments. Please see my responses below.
Peter Tribble wrote: > On 9/6/07, Karen W. Tung <Karen.Tung at sun.com> wrote: > >> We are in the process of putting together the feature list for the >> Distribution >> Constructor project beyond the prototype release. The >> proof-of-concept Distro Constructor has very limited functionalities as >> specified our project page >> (http://opensolaris.org/os/project/caiman/Constructor/) >> >> We have come up with the following for the early 2008 release. >> This is a very high level list of features. When we come to a more final >> list, we will have further discussions about details on each item. >> >> * From a GUI, the user should be able to select a list of packages to >> be included to build a custom distro. >> > > Selecting packages is likely to prove tedious. While selection at the > individual > package level is necessary, I believe that something like package clusters > would be a more useful unit of selection. (And I have tried to build a > jumpstart > profile builder, which isn't that different in concept.) > Though we have not done the implementation, it is always our goal to display packages by some sort of grouping. That way, people can select groups of packages based on the functionalities they want. We will also allow selection of individual packages if the user chooses to do that. > >> * From the command line, user provide the Distro Constructor (DC) >> with >> a list of packages. The DC will pull in all other necessary >> packages >> to create a self-consistent installation image. >> >> * Given an existing distribution, the DC will create a new >> distribution >> based on addition or subtraction of contents as specified by the >> user. >> > > How does subtraction work? In particular, does the distribution description > know which packages were specified, and which were added to satisfy > dependencies? And if a package were subtracted, what happens to those > other packages that were only added in order to satisfy the dependencies > of the now removed package? > Given an existing distribution, the Distro Construction will be able to figure out which packages are included in that distribution. If you add package(s), all other packages that these new packages depend on will be included as well. If you subtract package(s), we will examine the dependent packages of the package to be deleted. If those are not used by other packages that will still remain in the distribution, they will be deleted as well. If they are being used, then, only the package you specified will be deleted. If the package you want to delete is a dependent of another package that will still remain on the list, we inform you about that, and not do the deletion. The goal of the Distro constructor is always to produce an image that's self-consistent. > >> * Special configurations specified in the GUI or on the command line >> can be saved to a file, and the file can be used as inputs to the >> DC. >> >> * The DC release will come with a few predefined "useful" >> configurations, which can be helpful to users who want to create >> their >> custom distribution with some minor modification. >> > > I would like to see specific examples of the sort of configurations under > consideration . > > In a sense, though, if suitable higher level groupings of packages > are defined then the construction of useful configurations becomes > much easier. > > We don't have the list of configurations defined at this time. When we have a proposal, we will post them so everyone in the community can review and comment. > It's not necessary for all these "clusters" to be defined by the DC project, > or even by OpenSolaris. It would be nice if there was a format to define a > "cluster" that could be loaded into the DC, so that third parties could > define units of functionality to meet their specific needs while relying on > the DC to build the rest of the image. > > I think this can be achieved by item 3 above. Third party can save their special configuration after they go through the trouble of defining it once, and then, use those settings for constructing other images. If they want, they can even post their special configurations on some sort of public forum/repository so that other users can utilize what they have. >> Features not to be included in the early 2008 release, but will be >> consider for the future. >> >> * Create a distribution based on an installed and configured system. >> > > Why not? Or, in what sense is this feature different from feeding the > list of packages on an existing system as input to the DC? > > It is not being planed for early 2008 release at this time mostly because it is our resource restriction. It is different from feeding a list of packages on an existing system because after people install their system, they will no doubt want to make customizations to it. What if the customizations they made is not by adding or removing packages on the system? If they just add some files to customize their system, how do we find out about those added files? What about files modified? These are just some of the issues that we need to deal with. I am sure there are other we haven't think of yet. So, it is probably best for us to postpone this feature until a future release so we have sufficient time to figure out all the issues. Thanks, --Karen
