A lot of this looks suspiciously like perl. This is a GOOd thing.
Larry and his crew have got packages down cold. Emulation can't
but help.
"Michael Sperber [Mr. Preprocessor]" wrote:
The following constraint must hold:
Two different author versions of a package must have different
versions as well.
They better have completely different names, period.
Suppose Dilbert writes package foo and gets to version 1.3. Ralph
the Garbage Man picks though the dumpster, takes Dilbert's code,
tightens
it up to 12 lines from 1500 and submits it back. (Laugh - that was
today's Desktop Dilbert cartoon.)
If Dilbert is having a bad ego day and says "Screw you Ralph." what
version number is Ralph going to put on his version of Foo? 1.0? 1.4?
And if Dilbert upgrades his code, what does he use? 1.4, 1.5?
I think that the multiple author problem needs to be solved at a more
fundamental level, like DON'T DO THAT!
A package is distributed as a directory hierarchy; all files
belonging
to one package live under that directory, no other files do. The name
of the directory uniquely identifies the name of the package as well
as its version. Apart from that property, the name of the direcory is
completely free-format.
Hmm. Foo-1.4, Foo-1.5, etc. That may be fine for buildnig the package or
even identifying it (a-la Perl modules), but what's going to be the
mechanism for determining which installed Foo will be used? I say keep
the version OUT of the final install directory structures.
Installation happens simply via dropping a package into a package
hierarchy, uninstallation happens via removing its directory. There
are no associated database files which must be held consistent.
Think about a package framwork builder a-la h2xs -X from the Perl world.
If you want people to use this, don't let them write 57 [sic]
types of shell, perl, lisp scripts to copy stuff to the write
directories;
the anarchy will be bad news. There should be one sanctioned way to
install
files to the installation dir.
And before anyone say TMTOWTDI vis-a-vis packages, even the docs say
start
with h2xs.