Wrapper package for MailScanner

Julian Field MailScanner at ecs.soton.ac.uk
Sat Jul 26 19:53:58 IST 2008


My only comment on this would be this: just because 
MailScanner.conf.rpmnew exists, how can you guarantee it was created by 
*this* upgrade? I would check the version number inside it as well, or 
you could rip out some of the user's configuration settings if the 
*.rpmnew files exist from previous upgrades. I agree it's unlikely, but 
it is possible.

Steve Freegard wrote:
> Hi Hugo,
>
> Hugo van der Kooij wrote:
>> At present the best I can think of is playing copycat with the
>> instructions Jules provided and send it of in a message to the local 
>> admin.
>>
>> The rpm packaging guidelines are quite explicit where it comes to
>> interactive scripts (DON'T!) and Jules did the right thing in not
>> executing the upgrade script in the mailscanner package as part of the
>> post install scripts.
>
> Interactive != automated.
>
> Anything that requires input from the user is not allowed as 
> rpm/yum/anaconda does not make provision for this.
>
> Output from scriptlets is fine - providing you don't presume the 
> output will be read and understood by a human.
>
> Enabling and starting services is also a no-no.  Conditional restarts 
> are acceptable on upgrades.
>
>> Technically the user should see them if the "yum upgrade" command is
>> executed but there is quite a bit of information and the user may not
>> remember all steps that well.
>>
>> There might even be users that might run yum unattended and those would
>> never see the instructions. I strongly believe that one should never run
>> yum unattended but some people insist on doing the wrong thing.
>>
>> Any alternative suggestions?
>
> Why bother telling the user to run a load of commands that they might 
> forget or never see when it's fairly straightforward to do all of it 
> for them using a %postun scriptlet that runs for upgrades only; check 
> for the existance on MailScanner.conf.rpmnew and languages.conf.rpmnew 
> and run upgrade_MailScanner_conf and upgrade_languages_conf accordingly.
>
> If yum is run unattended (bad idea as you note) - root get's an email 
> with the yum output anyway which will contain a log of the output 
> otherwise they'll see output from the scriptlet to the screen when yum 
> runs the update.
>
> Here's the relevant scriptlet - it will probably need some tweaking as 
> I haven't tested upgrades yet.
>
> %postun
> if [ "$1" -ge "1" ]; then
>  # We are being upgraded or replaced, not deleted
>  # Check for a new MailScanner.conf file
>  if [ -f "/etc/MailScanner/MailScanner.conf.rpmnew" ]; then
>   echo "Upgrading MailScanner.conf..."
>   /usr/sbin/upgrade_MailScanner_conf /etc/MailScanner/MailScanner.conf 
> /etc/MailScanner/MailScanner.conf.rpmnew > 
> /etc/MailScanner/MailScanner.conf.new
>   # TODO: make sure MailScanner.conf.new is not empty
>   mv /etc/MailScanner/MailScanner.conf 
> /etc/MailScanner/MailScanner.conf.old
>   mv /etc/Mailscanner/MailScanner.conf.new 
> /etc/MailScanner/MailScanner.conf
>   rm -f /etc/MailScanner/MailScanner.conf.rpmnew
>  fi
>  # Check for a new languages.conf file
>  # TODO:  Check all of the reports sub-directories for .rpmnew
>  if [ -f "/etc/MailScanner/reports/en/languages.conf.rpmnew" ]; then
>   echo "Upgrading languages.conf..."
>   /usr/sbin/upgrade_langages_conf 
> /etc/MailScanner/reports/en/languages.conf 
> /etc/MailScanner/reports/en/languages.conf.rpmnew > 
> /etc/MailScanner/reports/en/languages.conf.new
>   # TODO:  make sure languages.conf.new is not empty
>   mv /etc/MailScanner/reports/en/languages.conf 
> /etc/MailScanner/reports/en/languages.conf.old
>   mv /etc/MailScanner/reports/en/languages.conf.new 
> /etc/MailScanner/reports/en/languages.conf
>   rm -f /etc/MailScanner/reports/en/languages.conf.rpmnew
>  fi
>  # Done - restart MailScanner
>  # TODO:  this should be a condrestart as per RPM package guidelines.
>  service MailScanner restart
> fi
> exit 0
>
> As you can probably guess from this - we're doing similar things; just 
> in different ways.  They'll be an announcement from FSL about this 
> once everything is ready and tested.
>
> Cheers,
> Steve.

Jules

-- 
Julian Field MEng CITP CEng
www.MailScanner.info
Buy the MailScanner book at www.MailScanner.info/store

MailScanner customisation, or any advanced system administration help?
Contact me at Jules at Jules.FM

PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654
PGP public key: http://www.jules.fm/julesfm.asc


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the MailScanner mailing list