[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: w3m-el-snapshot installation

From: Michael Heerdegen
Subject: Re: w3m-el-snapshot installation
Date: Sun, 27 Mar 2011 18:00:50 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)


> > /usr/lib/emacsen-common/packages/install/w3m-el-snapshot emacs23
> Michael, yes, the output was indeed interesting:
> First, nothing happens
>   $ /usr/lib/emacsen-common/packages/install/w3m-el-snapshot emacs23 
>   $
> If I try without the "emacs23" appended, I get:
>   $ /usr/lib/emacsen-common/packages/install/w3m-el-snapshot
>   install/w3m-el-snapshot: byte-compiling for , logged in
>     /tmp/elc.6XlCZFi50OXr 
>   mkdir: cannot create directory `/usr/share//site-lisp/w3m': No such file
>     or directory
> Given the innards of w3m-el-snapshot, this is what I'd expect, for the
> value used to construct the path is null. However, it does show that the
> executable script is at least trying. Since the first thing it does is
> to create the w3m directory, which doesn't happen, there seems to be a
> pothole in the following script:
>   ...
>   FLAVOR=$1
>   ...
>   ELCDIR=/usr/share/$FLAVOR/site-lisp/$PKGSNAME
>   ...
>   if [ ! -d "$ELCDIR" ]; then
>     mkdir "$ELCDIR"
>     chmod 755 "$ELCDIR"
>   fi

I don't think that.  The installation script needs to get an Emacs
flavor (like "emacs23") as the first argument.  If this first arg is void,
mkdir complains because it tries to create "w3m" under
"/usr/share//site-lisp", which doesn't exist.

But if you don't get any output running

$ /usr/lib/emacsen-common/packages/install/w3m-el-snapshot emacs23

I guess the only possible case is that the script exits here:

case $FLAVOR in
    if [ -f "$ELDIR/w3m-e21.el" ] && [ ! -f "$ELDIR/w3m-e23.el" ]; then
        exit 0

That means that you would have a directory
"/usr/share/emacs23/site-lisp/w3m-e21.el" on your system.  If that's
true, we must get rid of it.  Do you have it?

> I don't know how to debug to see whether in fact $FLAVOR and $PKGSNAME
> are created as the script runs. However, I don't see how the value of
> $PKGSNAME gets defined, for the line above, which is its first
> appearance of this variable in the script, it is used to build the value
> of ELCDIR. Is this why the path used to constuct the w3m directory ends
> up with a null gap?

PKGSNAME is defined in line 6 of the script:


The problem in your (illegal) call is the void FLAVOR variable.

> However, I'm ignorant about such things and I apologize for the
> speculation. In fact, I didn't even know emacs had a packages directory
> where packages could be added or removed at will.

Most things we discussed here only apply to the Debian Emacs
installation.  Other systems may have completely other directories etc.
It is not a good idea to manually copy files to these directories.

If you want to have a look behind the scenes, then you may visit the
"w3m-el-snapshot_1.4.400+0.20100725-1_all.deb" package file with Emacs.
(You can download it here: 
If you have installed debian-el, you'll see which files it installs, and
the scripts that are run when installing, removing etc.

(Besides: You may consider to upgrade to Debian testing.  I think stable
primarily aims at servers, it has very out of date software. testing is also
very "stable" and probably the better choice for daily usage.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]