Re: Determining if package installed
>>>>> "LaMont" == LaMont Jones <firstname.lastname@example.org> writes:
LaMont> I have a package (Postfix) that wants to behave
LaMont> differently if NIS is installed (more to the point, if
LaMont> there is an NIS alias map). Since I've managed to remain
LaMont> almost completely clueless on NIS, I was hoping someone
LaMont> could tell me the best way to see if NIS is installed, or
LaMont> scheduled to be installed.
If you have `autofs' installed, you will see a good example in
`/etc/init.d/autofs'. Basically, to see if there are any NIS
autofs maps, the check is:
if [ -e /usr/bin/ypcat ] && [ `ypcat -k auto.master 2>/dev/null | wc -l` -gt 0 ]
You could do something similar, except use 'mail.aliases' instead of
'auto.master'. And frankly, instead of using 'wc -l' and '-gt', I
if [ -e /usr/bin/ypcat ] && [ -n "`ypcat -k mail.aliases 2>/dev/null" ]
LaMont> Then, of course, there is the question of the best way to
LaMont> tell the user (who probably has no intention of installing
LaMont> NIS) that if he ever does, he'll need to edit the Postfix
LaMont> config file if he wants a NIS alias map to be used...
Do you have an /etc/init.d startup/shutdown script in that package?
If so, one way could be to do a sanity check there, then e.g. mail
root@localhost if the check fails.
Just an idea.