(removed pkg-discuss, at the request of various people...)

Dave Miner wrote:
> 
> Packaging is not a leaf node in the system where changing it impacts 
> almost nobody else.  Supporting multiple packaging systems is close to 
> the same impact throughout a development and user space as supporting 
> multiple incompatible kernels, compilers, or libc's.  Yeah, you can do 
> all of those things, but everyone pays.

I would have to disagree here.
First of all, show me how many binaries from the source tree, in any way 
function differently, depending on what packaging mechanism delivers them to 
the disk? !
A comparison to multiple kernels or libc's, is off base.


As far as impact to developer support effort required:
  There are ways that you can do it, without noticably increasing required 
effort by any of the interested parties, once standards are set.
If the ARC board decrees, for example, that it is an EXPLICIT GOAL of 
opensolaris, to be friendly towards multiple packaging systems; then it is 
possible to define a generic Binary->Package API.

For example, every clump o' software in the src tree, could then be required 
to support some kind of
  "make pre-package" target, which would copy the binaries and assorted 
files, to some understood hierachy, such as $DESTDIR(reloc-root)/blahblah.
Additionally, there would be an agreed-upon location and format of files to 
hold meta-data, such as description, version, etc, etc.

It would then be up to a specific packaging system, to go through the tree, 
and do "make pre-package" for the software it wished to include, and then do 
the binary -> package translation, appropriate to that packaging system.

(IPS actually does this in some sense already; it just uses an implicit, 
rather than explicit, API; it goes through the SVR4 pkg metadata, for 
packages that are referenced under  pkg/gate/src/util/distro-import/, etc)

Such an API, would seem to me to only require an O(N) level of effort, 
reguardless of how many different packaging systems the community was 
interested in using around opensolaris.
And the "N" here, is a very small "N", to boot ;-) For any particular clump 
of software in the source tree, it seems to be about equivalent effort to 
support a single generic binary->package API, as it would be to support an 
individual, specific packaging system.


One might say that there is a "de facto" standard of such an API already in 
place, implemented, and in use. It would just remain for the ARC to 
formalize the API to some degree, and to formally make the statement that it 
is an opensolaris goal to be friendly to more than just one packaging system.



Reply via email to