Hi to all. Hope you like it. Feel free to make your suggestions / comments.

Thanks!



Proposal for an IPS package manifest "build" namespace
2011-05-16, Michael Keller

It was a great achievement in OpenSolaris to have a systemwide single software 
distribution and installation mechanism named IPS.

Building on that OpenSolaris successors like Solaris 11 Express, OpenIndiana 
etc. have already attracted different communities to use IPS as a target for 
their own building systems.

Seen from a bird-eye view those package distributions are packaged "use cases": 
there are often to many options how to configure the build of a piece of code 
so that the package builders had to decide on the options they found most 
useful. For an example is the usage and linking against ldap libraries or the 
lack thereof.

Often this will lead to the need to build packages by the "end users" itself. 
And this is a time consuming and often confusing task - which lead to those 
various package distributions.

The effort described here is to let the package distributors do what they can 
do best: defining their build system, optimizing it, distributing the resulting 
packages and - in the best case - growing their community of package 
maintainers.

To combine the efforts of the existing package distributors and helping at the 
same time people coming up to speed modifying existing packages we need a base 
of informations currently lacking within a package's manifest.



The namespace taken for the new identifiers is proposed to be "build" and the 
new informations are:

build.yourself : a resource describing the configuration options which can be 
in the form defined by the build system


This alone would save hours of many people searching for it. But lets go on:


build.buildpkg :  an IPS URL of the packaged build system itself

build.setup : an URL referencing a page how to setup the IPS packaged build 
system which includes all steps from installing it via build.buildpkg or any 
other way up to packaging the build

build.this : an URL referencing the source as it was used by the build system 
(if different from build.yourself )


Providing those informations to the packages is little to do for existing 
package distributors and the gains from it are huge for the users. But let's 
give back to the package distributors:

build.welcome : an URL referencing a welcome page of the package distributors 
targeted to package builders

build.notes : an URL referencing notes specific to the package which are 
maintained by package distributors

build.wiki : an URL referencing a community/users wiki specific to the package


If not anything else these "community" informations will help interested people 
find the right places.


The intention of choosing the identifier names was/should be:
- the terms should be generic and not "prefer" any existing build system
- the terms should be human and "speak" to users directly



Changes needed to make the new "build" namespace available:


on the OpenIndiana / Solaris 11 express etc. source side:

- changes to the pkg source to recognize the new namespace and it's identifiers 
within manifests

- changes to the Package Manager application to include a new tab pane showing 
the build informations. Clicking onto an URL value should open that URL


on the package distributor's side:

- rebuild the existing packages with updated package manifest 



Proposed changes to make it "take off" on the OpenIndiana community side:

- make it possibly to let the package distributors IPS repositories be included 
within the OpenIndiana LiveCDs

- but they won't be included until all their packages include all or a subset 
of the build namespace's identifiers

- which should be automatically and periodically checked by a tool which 
requests the manifests from the repositories

- a system to let package distributors register their /opt subdirectory name 



As it helps users to build their own packages it will also be helpful to have 
the build namespace informations at some time in the future for all OpenIndiana 
consolidations.




_______________________________________________
oi-dev mailing list
[email protected]
http://openindiana.org/mailman/listinfo/oi-dev

Reply via email to