logo       

Re: "scala" script and classpaths: msg#00022

lang.scala

Subject: Re: "scala" script and classpaths

I plan to read your email more closely tomorrow, Jamie, but on one
quick note:


Jamie Webb <j@xxxxxxxxxxxxxxx> writes:
> Linux distributions have the advantage that they always deal with
> source code, tweaked as necessary, either directly as in Gentoo, or
> packaged by a centralised group as in Debian, and they have a notion
> of a version for the whole distribution. They typically disallow
> library version conflicts and settle upon some 'latest' version of
> each package, which all other packages must conform to.
>
> Since the Java world seems to insist that Java binaries are portable,
> despite all the evidence to the contrary, and since AIUI sbaz is
> intended to be much more distributed than a Linux distribution, I
> think things get a little more tricky...

I would say Scala Bazaars is actually very close to a Linux
distribution. It's a cleaned up APT which is somewhat specialized for
Scala's and Java's needs. So if you know Linux distributions, I would
hope sbaz is familiar.


We seem to agree that it is not sensible to try for packages to be so
portable that they can coexist with packages developed completely
independently. Or more specifically, maybe they can coexist, but you
have to run them in such isolation that their interaction is close to
zero. I can say a lot here, but will leave it at that for now.

Once we abandon this idea of completely portable packages, you end up
admitting that someone needs to do all the little cleanups necessary
to make one component work with some other set of components. Those
little cleanups are *packaging*, and the resulting sets of packages
are distributions-- or, as I talk about it abstractly, "package
universes". To be precise, a package universe corresponds to one
stream of development within a Linux distribution, e.g. Debian/sarge.

Individual package universes have rules, but they tend to be more
informal than what a package tool would insist on. Importantly, the
rules are different for different groups. The needs of a 6-person
collaboration with 10 packages are different than those of a
Debian-sized collaboration with 10,000 packages.



> I think this is what you're getting at with your 'package universes'
> business, which I have to say I'm a little sceptical about (it may
> make life easier for the developer, but what about the user?)

Yes, exactly, it's the main idea of package universes.

How does it cause more work for users? Users just say "sbaz install
finger", which is easy. Developers (and package maintainers) have to
actually make this work, which is, well, work. I don't know a
plausible way to completely eliminate that work, though better systems
can reduce it....


-Lex





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise