nmh-workers
[Top] [All Lists]

Re: [Nmh-workers] [patch] undo of install-mh (Debian bug #551704)

2010-11-08 15:56:01
[2010-11-08 15:28] Valdis(_dot_)Kletnieks(_at_)vt(_dot_)edu
On Mon, 08 Nov 2010 21:06:04 +0100, markus schnalke said:
[2010-11-05 22:34] markus schnalke <meillo(_at_)marmaro(_dot_)de>

A second try for removing only what install-mh(1) installs:

    ctx="${MHCONTEXT:-`mhparam context`}"
    case "$ctx" in
    '/*') rm "$ctx" ;;
    *)    rm "`mhpath +`/$ctx" ;;
    esac
    rmdir "`mhpath +`"
    rm "$MH" || rm ~/.mh_profile

I discovered another mistake in this code. Install-mh(1) always stores
the context as ``context'' within the mail directory. This simplifies
the work:

rm "`mhpath +`/context"

That, my friends, is only safe if there's one context file.

Consider this:

export MHCONTEXT=~/Mail/.mhcontext-`tty|sed -e "s,.dev.,," -e "s,/,.,"`

to support a separate context for each xterm you have open....

Also, remember there can be a 'context' entry in .mh_profile,
which would mean that 'mhparam context' would find it but your
rm command would fail to find it.

I had a look at uip/install-mh.c and tested. Install-mh(1) does not
evaluate $MHCONTEXT. Also it contains this code:

    ctxpath = getcpy (m_maildir (context = "context"));

    /* Initialize current folder to default */
    context_replace (pfolder, defaultfolder);
    context_save ();

As far as I see, and my tests support that, always a context file
named ``context'' within the mail directory is created.

A system-wide profile template (/etc/mh.profile) might add a context
entry to the new created profile, but this does not change the
behavior. This can be seen as a bug.


Bottom line - you *really* need to front-end an 'uninstall-mh' with some
checks to verify that you're trying to clean up a virgin never-used MH
environment.  If the user has been monkeying with its innards, it's
really hard to do correctly.

Of course, the use case are only fresh installations, meaning, if you
had run install-mh(1) by accident.

I don't want to have this script, but I want to document it correctly
in the man page. The reason why I sent this additional mail was to
correct the script that appeared to be wrong.


meillo

_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
http://lists.nongnu.org/mailman/listinfo/nmh-workers

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