Bug 2359 - Bug? In MAKE INSTALL for 2.60 RC2
Summary: Bug? In MAKE INSTALL for 2.60 RC2
Status: RESOLVED FIXED
Alias: None
Product: Spamassassin
Classification: Unclassified
Component: spamassassin (show other bugs)
Version: SVN Trunk (Latest Devel Version)
Hardware: Other Windows XP
: P5 normal
Target Milestone: 2.60
Assignee: Malte S. Stretz
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-08-25 13:39 UTC by Michael Bell
Modified: 2003-08-27 08:22 UTC (History)
2 users (show)



Attachment Type Modified Status Actions Submitter/CLA Status
attempted fix patch None Justin Mason [HasCLA]
patch against Makefile.PL patch None Malte S. Stretz [HasCLA]

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Bell 2003-08-25 13:39:05 UTC
if I remove \etc\mail\spamassassin (the whole directory tree) in 2.55 and 
previous, then when I run make install on win32 it it recreates that whole tree.

In 2.60RC2, it doesn't. 

Deliberate or oversight?
Comment 1 Justin Mason 2003-08-25 16:46:11 UTC
afaik there should not be a difference... could you post a log of what make
outputs around that time?
Comment 2 Michael Bell 2003-08-25 18:26:28 UTC
Ok, note the missing mkpath...



2.60 RC2:


C:\Documents and Settings\mbell\Desktop\Mail-SpamAssassin-2.60-rc2\Mail-SpamAssa
ssin-2.60>nmake

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
cp sa-learn blib\script\sa-learn
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib  -e "system qq[pl2bat.b
at ].shift" blib\script\sa-learn
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
cp spamassassin blib\script\spamassassin
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib  -e "system qq[pl2bat.b
at ].shift" blib\script\spamassassin

C:\Documents and Settings\mbell\Desktop\Mail-SpamAssassin-2.60-rc2\Mail-SpamAssa
ssin-2.60>nmake install

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
cp sa-learn blib\script\sa-learn
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib  -e "system qq[pl2bat.b
at ].shift" blib\script\sa-learn
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
cp spamassassin blib\script\spamassassin
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib  -e "system qq[pl2bat.b
at ].shift" blib\script\spamassassin
Skipping C:\Perl\site\lib\Mail\SpamAssassin.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\ArchiveIterator.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\AuditMessage.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\AutoWhitelist.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Bayes.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\BayesStore.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\CmdLearn.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Conf.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\ConfSourceSQL.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\DBBasedAddrList.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Dns.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\EncappedMessage.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\EncappedMIME.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\EvalTests.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\HTML.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Locales.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Locker.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\MailingList.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Message.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\NetSet.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\NoMailAudit.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\PerMsgLearner.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\PerMsgStatus.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\PersistentAddrList.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\PhraseFreqs.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Received.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Replier.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Reporter.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\SHA1.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\TextCat.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\UnixLocker.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Util.pm (unchanged)
Skipping C:\Perl\site\lib\Mail\SpamAssassin\Win32Locker.pm (unchanged)
Skipping C:\Perl\bin\sa-learn (unchanged)
Skipping C:\Perl\bin\sa-learn.bat (unchanged)
Skipping C:\Perl\bin\spamassassin (unchanged)
Skipping C:\Perl\bin\spamassassin.bat (unchanged)
Writing C:\Perl\site\lib\auto\Mail\SpamAssassin\.packlist
Appending installation info to C:\Perl\lib/perllocal.pod
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
mkpath C:\Perl/share/spamassassin
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
rm_rf C:\Perl/share/spamassassin/*
        C:\Perl\bin\perl.exe build/preprocessor -Mvars  -DVERSION="2.60"  -DPREF
IX="C:\Perl"  -DDEF_RULES_DIR="C:\Perl/share/spamassassin"  -DLOCAL_RULES_DIR="/
etc/mail/spamassassin"  -DINSTALLSITELIB="C:\Perl\site\lib"  -DCONTACT_ADDRESS="
ksk" -m -Irules -OC:\Perl/share/spamassassin 10_misc.cf 20_anti_ratware.cf 20_bo
dy_tests.cf 20_compensate.cf 20_dnsbl_tests.cf 20_fake_helo_tests.cf 20_head_tes
ts.cf 20_html_tests.cf 20_meta_tests.cf 20_phrases.cf 20_porn.cf 20_ratware.cf 2
0_uri_tests.cf 23_bayes.cf 25_body_tests_es.cf 25_body_tests_pl.cf 25_head_tests
_es.cf 25_head_tests_pl.cf 30_text_de.cf 30_text_es.cf 30_text_fr.cf 30_text_it.
cf 30_text_pl.cf 30_text_sk.cf 50_scores.cf 60_whitelist.cf user_prefs.template
triplets.txt languages
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
chmod  C:\Perl/share/spamassassin

C:\Documents and Settings\mbell\Desktop\Mail-SpamAssassin-2.60-rc2\Mail-SpamAssa
ssin-2.60>

Then 2.55, after a clean removal of perl modules:


C:\Documents and Settings\mbell\Desktop\Mail-SpamAssassin-2.55\Mail-SpamAssassin
-2.55>nmake

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.


C:\Documents and Settings\mbell\Desktop\Mail-SpamAssassin-2.55\Mail-SpamAssassin
-2.55>nmake install

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

Installing C:\Perl\site\lib\Mail\SpamAssassin.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\ArchiveIterator.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\AuditMessage.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\AutoWhitelist.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Bayes.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\BayesStore.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\CmdLearn.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Conf.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\ConfSourceSQL.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\DBBasedAddrList.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Dns.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\EncappedMessage.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\EncappedMIME.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\EvalTests.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\HTML.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Locales.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Locker.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\MailingList.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Message.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\NoMailAudit.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\PerMsgLearner.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\PerMsgStatus.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\PersistentAddrList.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\PhraseFreqs.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Replier.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Reporter.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\SHA1.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\TextCat.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\UnixLocker.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Util.pm
Installing C:\Perl\site\lib\Mail\SpamAssassin\Win32Locker.pm
Installing C:\Perl\bin\sa-learn
Installing C:\Perl\bin\sa-learn.bat
Installing C:\Perl\bin\spamassassin
Installing C:\Perl\bin\spamassassin.bat
Writing C:\Perl\site\lib\auto\Mail\SpamAssassin\.packlist
Appending installation info to C:\Perl\lib/perllocal.pod
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
mkpath /etc/mail/spamassassin
        C:\Perl\bin\perl.exe -e "use File::Copy; (-f '/etc/mail/spamassassin/loc
al.cf') or copy ('rules/local.cf', '/etc/mail/spamassassin/local.cf');"
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
mkpath C:\Perl/share/spamassassin
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
rm_rf C:\Perl/share/spamassassin/*
        C:\Perl\bin\perl.exe build/preprocessor -Mvars  -DVERSION="2.55"  -DPREF
IX="C:\Perl"  -DDEF_RULES_DIR="C:\Perl/share/spamassassin"  -DLOCAL_RULES_DIR="/
etc/mail/spamassassin"  -DINSTALLSITELIB="C:\Perl\site\lib" -Irules -OC:\Perl/sh
are/spamassassin 10_misc.cf 20_anti_ratware.cf 20_body_tests.cf 20_compensate.cf
 20_he.ad_tests.cf 20_html_tests.cf 20_meta_tests.cf 20_phrases.cf 20_porn.cf 
20_
ratware.cf 20_uri_tests.cf 23_bayes.cf 25_body_tests_es.cf 25_body_tests_pl.cf 2
5_head_tests_es.cf 25_head_tests_pl.cf 30_text_de.cf 30_text_es.cf 30_text_fr.cf
 30_text_it.cf 30_text_pl.cf 50_scores.cf 60_whitelist.cf user_prefs.template tr
iplets.txt languages
        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e
chmod  C:\Perl/share/spamassassin

C:\Documents and Settings\mbell\Desktop\Mail-SpamAssassin-2.55\Mail-SpamAssassin
-2.55>
Comment 3 Justin Mason 2003-08-25 19:31:54 UTC
Created attachment 1274 [details]
attempted fix

OK, try this one - another patch I'm afraid ;)

Basically it removes 2 very UNIXy uses of make's dependency support which
probably don't work too well on win32 or other non-make-type platforms.  In
addition, it
reduces the amount of code involved.
Comment 4 Michael Bell 2003-08-25 19:55:52 UTC
KINDA. It now creates \perl\etc\mail\spamassasin and copies local.cf there (if 
not extant).

Previous versions created \etc\mail\spamassassin , so I'm guessing this is a 
small booboo?
Comment 5 Michael Bell 2003-08-26 11:07:08 UTC
Is this a change you want to make? (eg from 
\etc\mail\spamassassin to \perl\etc\mail\spamassassin)?

Comment 6 Justin Mason 2003-08-26 13:29:15 UTC
No -- I think that's to be expected, since there isn't really a /etc on windows;
it infers the location it should use, as best it can, and \perl\etc is the
nearest it can guess.  That can be overridden from the Makefile.PL command line.

moving milestone -- this can go into 2.60.
Comment 7 Justin Mason 2003-08-26 13:30:21 UTC
to be more clear BTW.  using \etc was incorrect - a bug.  \perl\etc is a more
reasonable guess.  so it's a bugfix ;)
Comment 8 Michael Bell 2003-08-26 14:18:06 UTC
I don't want to be difficult, but I know folks that don't want that installed 
under the PERL directory. Is this really necessary? It's worked for win32 folks 
fine since 2.11 this way.
Comment 9 Justin Mason 2003-08-26 14:58:28 UTC
do the install with

  perl Makefile.PL SYSCONFDIR=/path/to/etc

and it'll override it.  There is no "correct" path to /etc on windows, as that's
a UNIXism.
Comment 10 Michael Bell 2003-08-26 15:59:01 UTC
nope that doesn't work.
Comment 11 Michael Bell 2003-08-26 15:59:58 UTC
nope doesn't work. SYSCONFDIR is ignored.
Comment 12 Michael Bell 2003-08-26 16:05:14 UTC
to clarify, if you DIRECTLY edit MAKEFILE. SYSCONFDIR, it works. If you run 
PERL MAKEFILE.PL SYSCONFDIR=/goo for example, it fails (writes it to 
INSTSYSCONFDIR instead....

Comment 13 Malte S. Stretz 2003-08-27 13:37:40 UTC
I think that code is logically borked. Patch follows... 
Comment 14 Justin Mason 2003-08-27 14:36:27 UTC
I think we should do rc3 without this patch; sounds like a can of worms to me
and we need to get one out sooner rather than later.
Comment 15 Malte S. Stretz 2003-08-27 14:38:16 UTC
Created attachment 1285 [details]
patch against Makefile.PL

ok, the SYSCONFDIR stuff was mixed up. If you used a PREFIX or INST_PREFIX
other than /usr, the setting was always overwritten. I tried probably all
possible combinations with my patch and the Makefile now looks good.

if this patch is +1'ed, please don't commit; I'd like to do some simple
whitespace changes on top (which I excluded from this patch to keep it easy to
grok)
Comment 16 Malte S. Stretz 2003-08-27 14:55:46 UTC
(Sorry that I add you to the CCs Justin, just want to speed RC3 up as much as 
possible, too) 
 
Without my patch all installations to not-/usr will override SYSCONFDIR and 
INST_SYSCONFDIR. We could do RC3 without it but it should go into the final. 
Hey, all it needs are two more +1s :) 
Comment 17 Justin Mason 2003-08-27 16:09:04 UTC
+1 -- yes, that'll fix it
Comment 18 Theo Van Dinter 2003-08-27 16:13:21 UTC
+1

looks like a clean patch.
Comment 19 Malte S. Stretz 2003-08-27 16:22:28 UTC
fix committed