[plt-scheme] Fwd: [Contrib-Rpm] drscheme-202-1mdk

From: Eli Barzilay (eli at barzilay.org)
Date: Sun Oct 6 00:49:31 EDT 2002

On Oct  6, Guillaume Rousse wrote:
> I've juste introduced drscheme in Mandrake Linux contributions. As
> src rpm found on your website was..., hum, ugly, i had to rewrite it
> from scratch.  I'd bet the author (i'm CCing him this mail, just in
> case he would not be subscribed to the list) should learn to use rpm
> better instead of using ironics comments about insecure langages in
> spec file :-)

It looks like you're not a regular here so to make things clear -- I'm
not representing PLT here...  (I suspect that such comments are not
surprising coming from someone who implements a very good language and
environment but has to fight with a half-baked semi-language hack to
install that nice environment.)

> Final result is available on every mdk mirrors worldwide, and spec
> file from mandrake CVS here
> http://cvs.mandrakesoft.com/cgi-bin/cvsweb.cgi/contrib-SPECS/drscheme,
> if your'e interested.

Just a quick comment -- unless I'm missing something you're not
running the PLT ./install, which will leave the installation without
.zo files and the result will be extremely slow.  (BTW, I don't think
there should be any problem making the RPM have the .zo files since
they're platform independent, and making them takes a while -- enough
to make people suspect that something went bad in the RPM

> First, i've attempted to achieve FHS compliance by keeping only
> collects and teachpack dirs in $PLT_HOME. binaries, includes,
> libraries and man pages, are in their standard system directories. I
> just kept a bin symlink in $PLT_HOME pointing to /usr/bin, as i
> think binaries call each others by refering to $PLT_HOME/bin as
> path.

Wouldn't it be better to have the links in system directories pointing
to real files in the PLT directory?  PLT have their own mechanism for
upgrading stuff, which means that if such a tool is ever used to
update on of these files (which didn't happen so far IIRC), it will
replace the link with a real file and the file in the system directory
will still be the old one.

> Second, i've setup $PLT_HOME as /usr/lib/drscheme (maybe i should have used 
> /usr/lib/plt instead ?).

plt sounds like a better name (drscheme is just one thing you can run
out of many others).

> I was not sure generated .zo file are platform independant,

They are -- unless I missed some recent changes, but I'm pretty sure
they are.  (The mzc manual seems to imply this.)

> otherwise /usr/share/drscheme (or plt) would be more adequate.

The problem is that native-compiled files will end up in the same

> Third, i segregated statics libs and headers in a -devel package, as
> they are not useful unless you want to develop for
> drscheme. However, i saw there are other headers left in main
> package, as $PLT_HOME/collects/compiler/mzclink.h, and c exemple
> files, as whole $PLT_HOME/collects/mzscheme/examples directory.  Can
> i also safely transfer those files in -devel package ?

But these are a tiny fraction of the whole thing.  Plus, I never
understood the point of having a -devel rpm for a language, unless
it's just some very limited run-time thing.  For example, RedHat (at
least 7.3 and 8) don't have a perl-devel rpm.  I saw that Mandrake
does have one, but it is tiny compared to the standard package.

> Fifth, i have several zero-lenght files, as $PLT_HOME/collects/launcher/sh, or 
> $PLT_HOME/collects/doc/drscheme/keywords.scm. Can i safely remove them ?

Not on my machine (and I just installed the PLT RPM to check it too).
Must be something from your environemnt...

> --=-=-=
> Name        : drscheme                     Relocations: (not relocateable)
> Version     : 202                               Vendor: MandrakeSoft
> Release     : 1mdk                          Build Date: Sat Oct  5 23:43:58
>  2002 Install date: (not installed)               Build Host:
>  klama.mandrake.org Group       : Development/Languages         Source RPM:
>  (none)
> Size        : 5019551                          License: PLT
> Packager    : Guillaume Rousse <g.rousse at linux-mandrake.com>
> URL         : http://www.drscheme.org
> Summary     : PLT DrScheme
> Description :
> DrScheme, a pedagogical programming environment.
> --=-=-=

The license is a standard LGPL no?

Also, I would call the rpm plt for the same reason as the directory
name, I would put a link to http://www.plt-scheme.org/ since it is
more useful, and I would say something about a(n excellent) Scheme
programming environment since it is way past the point of being just a
"pedagogical programming environment".

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.