Great Circle Associates Majordomo-Users
(October 1996)

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: Re: utility: help upgrade list to 1.94
From: Kenneth C Rich <kenr @ sisko . cc . rochester . edu>
Date: Mon, 28 Oct 1996 13:24:00 -0500 (EST)
To: chris @ sparkie . osl . state . or . us, majordomo-users @ greatcircle . com

> 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
it RSN.

> 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.      

Indexed By Date Previous: Re: (Fwd) MAJORDOMO ABORT - Any ideas?
From: Jason L Tibbitts III <>
Next: Re: utility: help upgrade list to 1.94
From: Dave Barr <>
Indexed By Thread Previous: Re: utility: help upgrade list to 1.94
From: chris <>
Next: Re: utility: help upgrade list to 1.94
From: Dave Barr <>

Search Internet Search