scsh-hackers
[Top] [All Lists]

Re: [Scsh-hackers] Library to ease package installation

To: scsh-hackers <scsh-hackers@lists.sourceforge.net>
Subject: Re: [Scsh-hackers] Library to ease package installation
From: Anthony Carrico <acarrico@memebeam.org>
Date: Mon Nov 17 20:48:43 2003
List-id: Discussion among the implementors <scsh-hackers.lists.sourceforge.net>
Sender: scsh-hackers-admin@lists.sourceforge.net
On Mon, Nov 17, 2003 at 09:43:42AM -0500, Andreas Bernauer wrote:
> Anyhow, on every major system there is package manager of some kind
> that takes care of uninstalling (thus, I don't have to keep all the
> config files floating around just in case I want to uninstall
> something later)...

I agree. They will be primary consumers of whatever interface we
choose.

> ...and on systems that lack this package manager there are
> administrators who are sophisticated enough to deal with
> non-standard install/uninstall procedures.

Sophisticated yes, but I think it is polite for us not to make them
learn an interface different than what they expect.

> I am not sure if it is a good idea to carry on with something just
> because it's been done that way for a long time...

I agree in the abstract, but I disagree about scsh specifically. Scsh
is not a leading edge system abandoning all tradition. Scsh is a
Scheme geared toward traditional Unix programming.

> ...configure and make do a good job for C files as C files are
> heavily architecture dependant.  This is not the case for scsh
> (Except for the floating points? :-).

I think that most distributions involving scsh will be applications
that involve components other than just scsh libraries. I think there
will be scsh scripts which will need to go into binary directories. I
think there will likely be components in other languages (including C)
or will need to integrate with other systems (XML catalogs, etc.). Who
can say exactly what role scsh will play in some killer application?
Because of this I think the neutral ground is valuable.

> I don't see a reason to use make, except for tradition.

I don't either, I just don't see a reason to invent our own interface.

> Make is good to compile C source files but doesn't make sense to me
> for scsh source files.

Scsh is not a desert island. I don't think you can separate the scsh
issues from C source file issues -- they are tied together in the
context of Unix.

> The only thing that should be covered in one way or another (in the
> future) are dependencies, e.g. among scsh libraries,...

Correct. A configure script could use scsh to analyze the package
dependencies.

> ...and make is not made for this.

We don't currently have any compiling to do, so we have no compilation
dependencies, but that may change if we ever go to byte-code, so why
not plan for the future? (or is someone implementing "make" in scsh?)

> We would use make as a host for (bash!?) shell scripts.

Not exactly, we would either:

  1. Use an sh script ("configure") to call a scsh script
  ("configure.scm") to create a Makefile that would host scsh shell
  scripts for install/uninstall.

  Since this method could use Michel Schinz's original package
  scripts without change. I'll attach an example "configure" and
  "configure.scm" for this method to this message.

  2. Use an sh-configure-script to call a scsh-configure-script to
  create a Makefile that installs the files with the 'install'
  program.

  In the future, we could move to this method by modifying Michel
  Schinz's original package scripts to generate lists of
  files, instead of actually creating the directories and
  copying the files. One advantage of this method is that these lists
  might make the Makefile look more meaningful to downstream (debian,
  redhat, etc.) maintainers, and might be useful for bytecode
  compilation in the future (wishful thinking).

-- 
Anthony Carrico

Attachment: configure
Description: Text document

Attachment: configure.scm
Description: Text document

<Prev in Thread] Current Thread [Next in Thread>