Bug 57216
Summary: | sendmail initscript invocation of make does nothing, databases are not updated | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Need Real Name <dale+bz> |
Component: | sendmail | Assignee: | Florian La Roche <laroche> |
Status: | CLOSED RAWHIDE | QA Contact: | David Lawrence <dkl> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.2 | CC: | agreene, ml-bz-dale |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2001-12-07 20:43:20 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Need Real Name
2001-12-07 01:17:20 UTC
*blush* big problem and thanks to your detailed report. This will be fixed in 8.11.6-5 or newer and I will provide new errata rpms for older releases. Thanks, Florian La Roche I think the proposed fix is incorrect. The fix rebuilds the db files whether they need it or not. That was based on the assumption was that the '-q' option was mistakenly assumed to be the same as '--quiet'. I don't believe that. I think it was supposed to mean just what says: "return an exit status that is zero if the specified targets are already up to date, nonzero otherwise." I believe that the error is in not checking the status. The following code checks the status and rebuilds only if needed: if test -x /usr/bin/make -a -f /etc/mail/Makefile ; then make -C /etc/mail -q updatedb=$? if [ $updatedb -gt 0 ]; then for i in virtusertable access domaintable mailertable ; do if [ -f /etc/mail/$i ] ; then makemap hash /etc/mail/$i < /etc/mail/$i fi done fi fi [Note: I'm the original reporter. I've retired dale due to spam.]
> I think the proposed fix is incorrect. The fix rebuilds the db files whether
> they need it or not
Under RH 7.3 (with all errata), the original fix does not rebuild db files
unless they need it.
I just tried it. Also, from inspection of the makefile
%.db : %
@makemap hash $@ < $<
it would seem that it does the right thing; that is, invoking makemap only if
the .db is older than the file upon which it depends.
Is it conceivable you are seeing a different problem?
Did this issue arise under the limbo beta or something, in which case
maybe there's something causing this behavior?
Please take another look at this, as the alternate fix you most recently
proposed:
1. rebuilds all databases, even if only one needs rebuilding
2. does not rebuild the "possible" databases, as does the Makefile.
(I don't know how significant this is, but it seems significant to me).
|