Subject: cl-launch: need to modify script variables without touching the script
From: Luca Capello <[email-masked]>
To: Debian Bug Tracking System <[email-masked]>
Date: Sat, 26 Aug 2006 03:08:13 +0200

Package: cl-launch
Version: 1.85-1
Severity: wishlist

Hello,

the background of this wishlist can be found on bug #384071 [1], I
created a new bug because I think the discussion was becoming
specific to CL-Launch and no more to StumpWM.

BTW, Xavier, I Cc:ed you because you were deeply involved in the
discussion, I hope you don't mind :-)

On Thu, 24 Aug 2006 00:53:17 +0200, Xavier Maillard wrote:
>> Moreover, I think we need to find a common way to specify cl-launch
>> files.  For example, stumpwm can be loaded through CMUCL or SBCL,
>> thus the script in /usr/bin/stumpwm cannot have the SBCL option
>> hardcoded (because files in /usr should not be edited by the
>> administrator).
>
> You can normally pass --lisp "sbcl cmucl clisp" as an argument thus
> you can easily set LISPS="list of CL implentations separated by
> spaces".

I'm aware of this, but the main problem here is the following.

At package building time, I create the /usr/bin/stumpwm script with

  cl-launch --output ./stumpwm  --lisp "sbcl clisp" \
            --system stumpwm --init '(stumpwm:stumpwm ":0")'

But with this solution, as the StumpWM maintainer I'm giving a
preference to SBCL (because it's the first in the list).

As by the Debian Policy not the administrator neither the end-user
have the rights to modify files in /usr, but only in /etc (because
only modifications done in the latter are preserved during package
upgrades), if someone wants to start StumpWM through CMUCL needs to
copy /usr/bin/stumpwm somewhere and modify the $LISPS variable.

Thus, I think we need to find a general and user-specific solution:
something like a /etc/cl-launchrc and ~/.cl-launchrc files, where for
every CL-Launch binary script (e.g. /usr/bin/stumpwm) one can override
variables (especially $LISPS).  Thus, any maintainer that wants to
provide CL-Launch binary scripts could specify every supported Common
Lisp implementation, then the administrator or the end-user can adjust
to his needs.

Obviously, someone may prefer to copy /usr/bin/stumpwm into ~/bin, but
I'm not for "polluting" $HOME with multiple copies of /usr/bin/ files
which differ only for a line (yes, I'm a bit paranoid).

Thx, bye,
Gismo / Luca

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-rc4
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages cl-launch depends on:
ii  common-lisp-controller        6.2        This is a Common Lisp source and c

cl-launch recommends no packages.

-- no debconf information

Footnotes: 
[1] http://bugs.debian.org/384071