> Will this work to upgrade from version 1.92? I am a little hesitant about
> upgrading to 1.94, as things seem to be working pretty well with 1.92.
it should. i am planning to upgrade a 1.7-or-8 (ack!) installation with
> smoothly. I would like to be able to install the new version, switch over
> from the 1.92, but have the option of easily switching back to 1.92 if
> there are problems.
i had a thought (uh-oh!) that maybe one can make a transition
configuration file by concatenating the Old and the New versions of the
list config together for each list! the old version of majordomo would
only see the variables compatible with it, & the same for the new
version. the only exception would be if you did a subscription policy
of "open+confirm" or something like that. is that the only config
variable whose range of values has changed? so the configs could
be converted ahead of time, then after upgrading majordomo, the
first half of the config file could be deleted or something, leaving the new
one only. am i making any sense?
## preparing transition config:
upgradelist list-name ## creates listname.config.NEW
echo '#### VERSION BOUNDARY ####' >> listname.config ## just a reminder
cat listname.config.NEW >> listname.config
## after transition (cp preserves permissions mv might trash):
cp listname.config.NEW listname.config
well, now i will go off and test my vapor...i mean idea.
more transitioning thoughts:
1. move old majordomo sideways into majordomo-$OLD_VERSION.
create symbolic link called majordomo pointing at majordomo-$OLD_VERSION.
do it in a script so that it happens as close to instantaneously
as possible. pick a quiet time like 5 a.m. to do it to minimize
phone calls from irate users.
2. install new majordomo as majordomo-1.94 like the makefile wants to.
3. make symbolic link for majordomo-1.94/lists pointing to
majordomo-$OLD_VERSION/lists so both installations see the same lists..
% cd majordomo-1.94
% ln -s ../majordomo-$OLD_VERSION/lists lists
4. if the config thing i outlined above works, do that for all the lists.
if it doesn't we'll have to make 2 versions of each config to sit
in the background and make a script to copy the right version into
the production location as needed. it won't be instantaneous, but
5. switch installations by tweaking which way the ~majordomo
symbolic link points. you want to make it as instantaneous
as possible so make the link first, then (perl) rename it over the old
% ls -l majordomo
lrwxrwxrwx 1 kenr 2 Oct 28 12:30 majordomo -> majordomo-1.92
% ln -s majordomo-1.94 majordomo-link
perl rename can rename link over link where shell command mv would just
change which directory the link is sitting in.
% perl -e 'rename("majordomo-link", "majordomo");'
% ls -l majordomo
lrwxrwxrwx 1 kenr 2 Oct 28 12:30 majordomo -> majordomo-1.94
or something like that. oo, a plan! my boss will have a heart attack.
-ken rich This environmentally sound
posting was manufactured in
the USA from recycled and
recyclable electrons. firstname.lastname@example.org