> On Fri, Apr 14, 2006 at 01:50:54PM -0700, Philip Brown wrote:
>
>> b) the package wants to take advantage of some kind of library or
>> interface that is only availlable on solaris 10.  In the free
>> software world, this almost never happens; free software usually
>> takes advantage of other free software, not differences between
>> solaris 8 and solaris 10.

 I think I'd like to slow down here and actually look at this and
 propose a way around it.

 Firstly, Kieth, I read ever word and am familiar with the issues
 involved.

 Secondly, Bart, I see the need for 64-bit libs and apps in the AMD
 world.  That is clear and granted.

 Phil, you know that I agree fully with what you are saying also, however
 I'd like to simply throw an idea on the table.

 What if we had a source code repository which includes the makefiles
 and build scripts and all the metadata required to allow a user to
 build *almost* every library and *almost* every app on every release
 of Solaris from 8 upwards ?

 Consider a library,  libfoo.

 This is required by the app bar.

 Take the source from libfoo and make the necessary changes to get it
 to compile clean, not necessary optimally, but cleanly on a Solaris
 8 sun4m system.  ( bear with me, please )

 We need a well defined build machine spec called s28s_hw4wos_05a-sun4m

 The source files we will call libfoo-s28s_hw4wos_05a-sun4m

 Create a set of diffs and call that libfoo-s28s_hw4wos_05a-sun4m.diff

 It then stands to reason that any user can get libfoo sources and then
 create the s28s_hw4wos_05a-sun4m machine and apply the diffs and get a
 clean build of libfoo yes ?

 Repeat this process for every rev of Solaris wos and all archs.

 We then have a set of diffs for everything from sun4m to AMD64.


 Next step is dealing with bar.

 Same sort of deal.  We end up with a set of diffs and any user can get
 a clean build of bar that depends on libfoo on any architecture in a
 repeatable fashion.

 This may seem to be unweildy for humans because the classic flaw in
 human thinking is to see the simplest answer as the best answer. But we
 are dealing with a software stack and multiple revs of Solaris.  What
 we should do is focus on delivering a solution to the user regardless
 of the rev of Solaris.

 But wait, it gets better.

 For some architectures of Solaris we don't need libfoo at all because
 it is already included.  This is where the makefiles can be different
 for each rev of Solaris and the diff files for libfoo need not exist.

 Is this entirely too much?  I don't think that a good subversion
 repository would have a problem with it really.

-- 
Dennis Clarke


Reply via email to