Bug 90202

Summary: [PATCH] Build directory appears in program files
Product: [Fedora] Fedora Reporter: Miloslav Trmac <mitr>
Component: spamassassinAssignee: Chip Turner <cturner>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: csm, goeran, kim-rh, mharris, milan.kerslager, radu
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: spamassassin-2.62-3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-01-21 15:24:47 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:
Attachments:
Description Flags
proposed fix
none
Use DESTDIR none

Description Miloslav Trmac 2003-05-05 11:56:44 UTC
Version-Release number of selected component (if applicable):
e.g. spamassassin-2.53-5

Steps to Reproduce:
1.grep for /usr/src/build in /usr/share/spamasasssin/*

Comment 1 Radu Greab 2003-05-14 07:53:47 UTC
The patch below against spamassassin.spec from spamassassin-2.53-6 is a fix:

- the first hunk fixes the paths from scripts (grep /usr/src/build in
/usr/bin/spamassassin)
- the second hunk fixes the paths from .cf files


Comment 2 Radu Greab 2003-05-14 07:54:35 UTC
Created attachment 91664 [details]
proposed fix

Comment 3 Miloslav Trmac 2003-07-30 02:44:43 UTC
The same in Severn (spamassassin-2.55-3)

Comment 4 Milan Kerslager 2003-08-09 20:30:09 UTC
At least this is wrong. Increasing severity to normal. Will check if this 
affect functionality.

Comment 5 Milan Kerslager 2003-08-12 15:53:14 UTC
As the proper path is already in @INC, there is no need to run BEGIN procedure.
If the path is incorrecly set (and it is now) the procedure is trying to locate
modules in various directories. This cause an unneded overhead especially when
perl script is run on every mail arrive.

Anyway - the user is missinformed by wrong path in config files.

So please accept the patch and fix this bug in your CVS.

Comment 6 Milan Kerslager 2003-10-05 12:32:42 UTC
Seems to be fixed in 2.60-2 version from Raw Hide.

Comment 7 Miloslav Trmac 2003-10-05 15:47:27 UTC
Huh? I still see /usr/src in /usr/bin/{sa-learn,spamassassin,spamd},
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin.pm and
/usr/share/spamassassin/*.cf in 2.60-2.

Comment 8 Milan Kerslager 2003-10-05 16:06:06 UTC
Ehm. I have different buildroot and I mised it when doing grep. Sorry.

%makeinstall is fixed but %{__perl} Makefile.PL can't be modified by provided
patch because this error message (RH9 build environment):

You attempted to use one of the following unsupported variables:
  INST_PREFIX
  INST_SITELIB
  INST_SYSCONFDIR
  DEF_RULES_DIR
  LOCAL_RULES_DIR
Please read INSTALL and PACKAGING for new usage instructions.

So we need another better fix.

Comment 9 Miloslav Trmac 2003-10-07 13:57:34 UTC
Created attachment 94986 [details]
Use DESTDIR

This is the "right" fix, also recommended by the PACKAGING file.

It requires ExtUtils::MakeMaker >= 6.11, newer than what is shipped
in RHL <=9. But the likelihood of backporting spamassassin 1.60 to
older RHL releases is low enough that this should not be a problem.

Comment 10 Miloslav Trmac 2004-01-08 16:31:36 UTC
spamassassin-2.61-2 fixes the files in /usr/share/, but not
/usr/lib/perl5/vendor_perl/5.8.2/Mail/SpamAssassin.pm nor
/usr/bin/{sa-learn,spamassassin,spamd}.


Comment 11 Chuck Mead 2004-01-15 01:58:05 UTC
So what is the status on this now?

It's broken in FC1 and needs to fixed there and for the upcoming FC2.

[root@stealth root]# service spamassassin start
Starting spamd: Can't locate HTML/Parser.pm in @INC (@INC contains:
../lib
/usr/src/build/311522-x86_64/install//usr/lib/perl5/vendor_perl/5.8.1
/usr/lib64/perl5/5.8.1/x86_64-linux-thread-multi /usr/lib/perl5/5.8.1
/usr/lib64/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl) at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin/HTML.pm line 7.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin/HTML.pm line 7.
Compilation failed in require at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin/PerMsgStatus.pm
line 42.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin/PerMsgStatus.pm
line 42.
Compilation failed in require at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin.pm line 62.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin.pm line 62.
Compilation failed in require at /usr/bin/spamd line 33.
BEGIN failed--compilation aborted at /usr/bin/spamd line 33.
                                                           [FAILED]

Comment 12 Mike A. Harris 2004-01-15 10:05:51 UTC
*** Bug 113428 has been marked as a duplicate of this bug. ***

Comment 13 Mike A. Harris 2004-01-15 10:06:42 UTC
Closed my dupe, updated bug status to indicate this problem is present
in Fedora Core 1 and also current development builds of spamassassin.

Comment 14 Radu Greab 2004-01-15 11:45:00 UTC
Apply Miloslav Trmac's patch, with one small correction, and the bug
should be fixed on FC and probably RHEL 3. The small correction is to
use "DESTDIR=$RPM_BUILD_ROOT/" instead of "DESTDIR=$RPM_BUILD_ROOT"
because ExtUtils::MakeMaker documentation says:

<<NOTE: Due to the nature of make, it is important that you put the
  trailing slash on your DESTDIR.  "/tmp/" not "/tmp".>>

Comment 15 Chuck Mead 2004-01-17 00:25:26 UTC
So I applied the lines from the patch to spamassassin-2.61-2 and it
builds but this is what I get when I try to run it:

[root@stealth root]# service spamassassin start
Starting spamd: Can't locate HTML/Parser.pm in @INC (@INC contains:
../lib /usr/lib/perl5/vendor_perl/5.8.1
/usr/lib64/perl5/5.8.1/x86_64-linux-thread-multi /usr/lib/perl5/5.8.1
/usr/lib64/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl) at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin/HTML.pm line 7.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin/HTML.pm line
7.Compilation failed in require at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin/PerMsgStatus.pm
line 42.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin/PerMsgStatus.pm
line 42.
Compilation failed in require at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin.pm line 62.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.1/Mail/SpamAssassin.pm line 62.
Compilation failed in require at /usr/bin/spamd line 33.
BEGIN failed--compilation aborted at /usr/bin/spamd line 33.
                                                           [FAILED]

So this bug is not fixed by the patches!



Comment 16 Chuck Mead 2004-01-17 01:05:41 UTC
Alright so now I have updated to the following:

[root@stealth root]# rpm -q perl
perl-5.8.2-7

With this version of perl my @INC contains the following:
[csm@stealth SPECS]$ perl -e 'print @INC'
/usr/lib64/perl5/5.8.2/x86_64-linux-thread-multi/usr/lib/perl5/5.8.2/usr/lib64/perl5/site_perl/5.8.2/usr/lib/perl5/site_perl/5.8.2/usr/lib/perl5/site_perl/5.8.1/x86_64-linux-thread-multi/usr/lib/perl5/site_perl/5.8.1/usr/lib/perl5/site_perl/5.8.0/x86_64-linux-thread-multi/usr/lib/perl5/site_perl/5.8.0/usr/lib/perl5/site_perl/usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi/usr/lib/perl5/vendor_perl/5.8.2/usr/lib/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi/usr/lib/perl5/vendor_perl/5.8.1/usr/lib/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi/usr/lib/perl5/vendor_perl/5.8.0/usr/lib/perl5/vendor_perl/usr/lib/perl5/5.8.1/5.8.2/x86_64-linux-thread-multi/usr/lib/perl5/5.8.1/5.8.2/usr/lib/perl5/5.8.1/x86_64-linux-thread-multi/usr/lib/perl5/5.8.1/usr/lib/perl5/5.8.0/5.8.2/x86_64-linux-thread-multi/usr/lib/perl5/5.8.0/5.8.2/usr/lib/perl5/5.8.0/x86_64-linux-thread-multi/usr/lib/perl5/5.8.0.

I also have:

[csm@stealth SPECS]$ rpm -q spamassassin
spamassassin-2.61-2

Now when I execute "service spamassassin start" I get the following:

[root@stealth root]# service spamassassin start
Starting spamd: Can't locate HTML/Parser.pm in @INC (@INC contains:
../lib /var/tmp/spamassassin-root//usr/lib/perl5/vendor_perl/5.8.2
/usr/lib64/perl5/5.8.2/x86_64-linux-thread-multi /usr/lib/perl5/5.8.2
/usr/lib64/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.2
/usr/lib/perl5/site_perl/5.8.1/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl/5.8.0/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.2
/usr/lib/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.1
/usr/lib/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.1/5.8.2/x86_64-linux-thread-multi
/usr/lib/perl5/5.8.1/5.8.2
/usr/lib/perl5/5.8.1/x86_64-linux-thread-multi /usr/lib/perl5/5.8.1
/usr/lib/perl5/5.8.0/5.8.2/x86_64-linux-thread-multi
/usr/lib/perl5/5.8.0/5.8.2
/usr/lib/perl5/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/5.8.0)
at /usr/lib/perl5/vendor_perl/5.8.2/Mail/SpamAssassin/HTML.pm line 7.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.2/Mail/SpamAssassin/HTML.pm line
7.Compilation failed in require at
/usr/lib/perl5/vendor_perl/5.8.2/Mail/SpamAssassin/PerMsgStatus.pm
line 42.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.2/Mail/SpamAssassin/PerMsgStatus.pm
line 42.
Compilation failed in require at
/usr/lib/perl5/vendor_perl/5.8.2/Mail/SpamAssassin.pm line 62.
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.2/Mail/SpamAssassin.pm line 62.
Compilation failed in require at /usr/bin/spamd line 33.
BEGIN failed--compilation aborted at /usr/bin/spamd line 33.
                                                           [FAILED]

I am starting to think this is more a problem with perl itself rather
than a spamassassin bug!

Comment 17 Chuck Mead 2004-01-17 01:10:44 UTC
It does the same thing if I build spamassassin as an i686.

Is this thing working 32bit for others?

Comment 18 Chuck Mead 2004-01-17 02:15:43 UTC
After hashing this out with Radu it looks like this is *NOT* a
spamassasin bug. But it *IS* an issue with perl-HTML-Parser or perl
itself. I searched bugzilla and found bug 112600 and after rebuilding
perl-HTML-Parser my problem is fixed!

Comment 19 Miloslav Trmac 2004-07-15 01:43:10 UTC
*** Bug 106757 has been marked as a duplicate of this bug. ***