Bug 149771

Summary: mail/p5-Mail-SpamAssassin port no longer installs binaries in /usr/local/bin
Product: Ports & Packages Reporter: Peter Radcliffe <pir-FreeBSD.org>
Component: Individual Port(s)Assignee: freebsd-perl (Nobody) <perl>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Peter Radcliffe 2010-08-18 15:30:06 UTC
I ran through port updates on the machine and after mail/p5-Mail-SpamAssassin was updated manually with portupgrade -f there were no binaries in /usr/local/bin.

Uninstalling the package gave:

pkg_delete: file '/usr/local/bin/sa-awl' doesn't exist
pkg_delete: file '/usr/local/bin/sa-check_spamd' doesn't exist
pkg_delete: file '/usr/local/bin/sa-compile' doesn't exist
pkg_delete: file '/usr/local/bin/sa-learn' doesn't exist
pkg_delete: file '/usr/local/bin/sa-update' doesn't exist
pkg_delete: file '/usr/local/bin/spamassassin' doesn't exist
pkg_delete: file '/usr/local/bin/spamc' doesn't exist
pkg_delete: file '/usr/local/bin/spamd' doesn't exist

Fix: 

It appears from /usr/ports/mail/p5-Mail-SpamAssassin/work/Mail-SpamAssassin-3.3.1/Makefile that 'make install' here is doing "pure_site_install" from INSTALLDIRS=site.

"make pure_site_install" doesn't install the binaries.
"make pure_perl_install" does install the binaries.

I'm unclear why the difference but to get a working installation again I had to manually run:
  cd /usr/ports/mail/p5-Mail-SpamAssassin/work/Mail-SpamAssassin-3.3.1
  make pure_perl_install
to get it to work again.
How-To-Repeat: ## Have the package installed and working.
$ cd /usr/ports/mail/p5-Mail-SpamAssassin
$ make
$ make deinstall
$ make install
$ ls -aFl /usr/local/bin/spamassassin
ls: /usr/local/bin/spamassassin: No such file or directory
$ cd /usr/ports/mail/p5-Mail-SpamAssassin/work/Mail-SpamAssassin-3.3.1
$ make pure_perl_install
$ ls -aFl /usr/local/bin/spamassassin
-r-xr-xr-x  1 root  wheel  29678 Aug 18 14:26 /usr/local/bin/spamassassin*
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2010-08-18 15:30:22 UTC
Maintainer of mail/p5-Mail-SpamAssassin,

Please note that PR ports/149771 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/149771

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2010-08-18 15:30:25 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 Michael Scheidell 2010-08-18 15:50:49 UTC
Not enough information.
What version of perl? in fact, perl 5.12 has major problems in 
conflicting dependencies.
does this only happen with perl 5.12?
does this only happen with Freebsd 8.0?

currently, on freebsd 6.3, 6.4, 7.1, 7.2 and 7.3, both amd64 and i386, 
running perl 5.8.9 and perl 5.10, SA port installs the binaries where 
they belong.

Help me understand what is different about your install?
*
*DO THIS:
cd /usr/ports/mail/p5-Mail-SpamAssassin
make -V PREFIX -V PERL_VERSION

-- 
Michael Scheidell, CTO
o: 561-999-5000
d: 561-948-2259
ISN: 1259*1300
 > *| *SECNAP Network Security Corporation

    * Certified SNORT Integrator
    * 2008-9 Hot Company Award Winner, World Executive Alliance
    * Five-Star Partner Program 2009, VARBusiness
    * Best in Email Security,2010: Network Products Guide
    * King of Spam Filters, SC Magazine 2008


______________________________________________________________________
This email has been scanned and certified safe by SpammerTrap(r). 
For Information please see http://www.secnap.com/products/spammertrap/
______________________________________________________________________  
Comment 4 Michael Scheidell 2010-08-18 16:16:17 UTC
incomplete information.
SA port works on perl 5.8.8, 5.8.9, 5.10.1, freebsd 6.3, 6.4, 7.1, 7.2, 
7.3 for i386 and amd.
there are, however, strange problems with perl 5.12.* if submitter is 
using perl 5.12, SA won't work.

however, submitter needs to fix their blacklist problem before we can 
communicate with them.

    550-Response: 554 5.7.1 Service unavailable; Client host [69.55.236.202]
     blocked using ips.backscatterer.org; Sorry 69.55.236.202 is blacklisted at
     http://www.backscatterer.org/?ip=69.55.236.202  550 Sender verify callout
     failed: Sender verify failed (in reply to end of DATA command)


-- 
Michael Scheidell, CTO
o: 561-999-5000
d: 561-948-2259
ISN: 1259*1300
 > *| *SECNAP Network Security Corporation

    * Certified SNORT Integrator
    * 2008-9 Hot Company Award Winner, World Executive Alliance
    * Five-Star Partner Program 2009, VARBusiness
    * Best in Email Security,2010: Network Products Guide
    * King of Spam Filters, SC Magazine 2008

______________________________________________________________________
This email has been scanned and certified safe by SpammerTrap(r). 
For Information please see http://www.secnap.com/products/spammertrap/
______________________________________________________________________
Comment 5 Peter Radcliffe 2010-08-18 16:36:02 UTC
> Not enough information.
> What version of perl?

5.10.1

> in fact, perl 5.12 has major problems in conflicting dependencies.
> does this only happen with perl 5.12?

I don't have perl 5.12 installed anywhere.

> does this only happen with Freebsd 8.0?

I don't have enough machines to say. It seems to install correctly on
my 7.1-RELEASEi-jc2 colo jail.

> currently, on freebsd 6.3, 6.4, 7.1, 7.2 and 7.3, both amd64 and i386,
> running perl 5.8.9 and perl 5.10, SA port installs the binaries where
> they belong.

Repeatable that it doesn't work on my 8.0-REL amd64 box.

I've run a make update in /usr/ports, cleaned out the working
directory, redownloaded the source and tried to trace through the
makefiles to why it isn't installing. I can't see the practical
difference between pure_site_install and pure_perl_install but
pure_site_install isn't working on that machine...

> Help me understand what is different about your install?

It's a pretty clean 8.0-REL server updated to RELEASE-p4 with local
disk and a bunch of ports installed, nothing particularly unusual
about it. I don't have another 8.0 machine to test against, these are
just my pair of personal mail servers (the other being a 7.1 jail).

Have you tested on 8.0?

> *DO THIS:
> cd /usr/ports/mail/p5-Mail-SpamAssassin
> make -V PREFIX -V PERL_VERSION

# make -V PREFIX -V PERL_VERSION
/usr/local
5.10.1

P.

-- 
pir
Comment 6 Michael Scheidell 2010-08-18 21:12:35 UTC
Is this an 8.0 p4 mk.perl issue?
if it works on 5.4, 5.5, 6.2, 6.3, 6.4, 7.1, 7.2 and 7.3 and (earlier 
8.0?) and just broke on 8.0 p4, isn't this a mk.perl issue?
I posted an email in the spamassassin users group asking for other 
freebsd  8.0 users to confirm that the SA port no longer installs 
binaries in /usr/local/bin.

-- 
Michael Scheidell, CTO
o: 561-999-5000
d: 561-948-2259
ISN: 1259*1300
 > *| *SECNAP Network Security Corporation

    * Certified SNORT Integrator
    * 2008-9 Hot Company Award Winner, World Executive Alliance
    * Five-Star Partner Program 2009, VARBusiness
    * Best in Email Security,2010: Network Products Guide
    * King of Spam Filters, SC Magazine 2008

______________________________________________________________________
This email has been scanned and certified safe by SpammerTrap(r). 
For Information please see http://www.secnap.com/products/spammertrap/
______________________________________________________________________
Comment 7 Michael Scheidell 2010-08-18 22:17:06 UTC
Edwin: PR cannot be duplicated.  suggest closing it, or reducing the 
priority until someone else can duplicate it.
a volenteer tested this on 8.1 p0 and 8.0 p4 and found no problems.

-- 
Michael Scheidell, CTO
o: 561-999-5000
d: 561-948-2259
ISN: 1259*1300
 > *| *SECNAP Network Security Corporation

    * Certified SNORT Integrator
    * 2008-9 Hot Company Award Winner, World Executive Alliance
    * Five-Star Partner Program 2009, VARBusiness
    * Best in Email Security,2010: Network Products Guide
    * King of Spam Filters, SC Magazine 2008

______________________________________________________________________
This email has been scanned and certified safe by SpammerTrap(r). 
For Information please see http://www.secnap.com/products/spammertrap/
______________________________________________________________________
Comment 8 Peter Radcliffe 2010-08-19 13:25:52 UTC
I've tracked this down.

INSTALLSCRIPT = /usr/local/bin
DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT)
INSTALLSITESCRIPT = /usr/local/script
DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT)

pure_site_install uses DESTINSTALLSCRIPT whereas pure_perl_install uses
DESTINSTALLSITESCRIPT.

This comes from the perl configs:
/usr/local/lib/perl5/5.10.1/mach/Config_heavy.pl:installsitescript='/usr/local/script'

Presumably this is auto-configured because /usr/local/script exists on
my system and I built perl from ports rather than installing a
package.

On my colo jail, which has a packaged perl:
installsitescript='/usr/local/bin'

So either this is a bug in the perl port build, it should be
consistant if /usr/local/script exists or not, or this is a bug in the
SA port because it ends up installing to /usr/local/script when the
package contents say /usr/local/bin.

P.

-- 
pir
Comment 9 Philip M. Gollucci freebsd_committer freebsd_triage 2010-09-09 19:44:45 UTC
State Changed
From-To: feedback->analyzed

to perl, tracked down 


Comment 10 Philip M. Gollucci freebsd_committer freebsd_triage 2010-09-09 19:44:45 UTC
Responsible Changed
From-To: freebsd-ports-bugs->perl

to perl, tracked down
Comment 11 Philip M. Gollucci freebsd_committer freebsd_triage 2010-10-10 00:44:15 UTC
Responsible Changed
From-To: perl->pgollucci

I will take it.
Comment 12 Philip M. Gollucci freebsd_committer freebsd_triage 2010-10-10 00:56:30 UTC
Responsible Changed
From-To: pgollucci->perl

wrong pr #
Comment 13 Michael Scheidell 2011-06-07 17:24:26 UTC
Please close, user dies not send enough information to duplicate bug, 
and may be due to the way he has jail setup.

No one else has this problem, so please close.

-- 
Michael Scheidell, CTO
o: 561-999-5000
d: 561-948-2259
 >*| *SECNAP Network Security Corporation

    * Best Mobile Solutions Product of 2011
    * Best Intrusion Prevention Product
    * Hot Company Finalist 2011
    * Best Email Security Product
    * Certified SNORT Integrator

______________________________________________________________________
This email has been scanned and certified safe by SpammerTrap(r). 
For Information please see http://www.secnap.com/products/spammertrap/
______________________________________________________________________
Comment 14 Olli Hauer freebsd_committer freebsd_triage 2011-06-07 23:07:14 UTC
State Changed
From-To: analyzed->closed

Closed by Maintainer request
Comment 15 Dmitry Marakasov freebsd_committer freebsd_triage 2011-08-03 15:56:58 UTC
State Changed
From-To: closed->open

The bug is still there, details will follow
Comment 16 Dmitry Marakasov 2011-08-03 16:41:40 UTC
Hi!

It seems to me that pretty enough detail was given to fix this bug.
If /usr/local/script directory is present when perl (all versions
from ports are affected) is configured, the latter will remember
/usr/local/script in installsitescript variable and Module::Build
will then install scripts there instead of /usr/local/bin.

I have confirmed the bug with building p5-Mail-SpamAssasin in a clean
jail with /usr/local/script present (bunch of files have landed
there), and have confirmed it to be fixed with the patch below.
Also I've build all perl5.* ports in a tinderbox to be sure there
are no build errors.

Here's the patch which fixes the problem by removing check for script
directory in perl's Configure for all perl versions currently in ports
and also bumps PORTREVISIONs:

http://people.freebsd.org/~amdmi3/perl5-installscriptdir.patch

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amdmi3@amdmi3.ru  ..:  jabber: amdmi3@jabber.ru    http://www.amdmi3.ru
Comment 17 dfilter service freebsd_committer freebsd_triage 2011-08-08 15:32:49 UTC
amdmi3      2011-08-08 14:32:41 UTC

  FreeBSD ports repository

  Modified files:
    lang/perl5.10        Makefile 
    lang/perl5.10/files  patch-Configure 
    lang/perl5.12        Makefile 
    lang/perl5.12/files  patch-Configure 
    lang/perl5.14        Makefile 
    lang/perl5.14/files  patch-Configure 
    lang/perl5.8         Makefile 
  Added files:
    lang/perl5.8/files   patch-Configure 
  Log:
  - Fix perl configure erroneously saving /usr/local/script as a site script install directory if it's present, which leads to misinstallation of many ports which install perl scripts (p5-Mail-SpamAssassin, for example)
  
  PR:             149771
  Submitted by:   Peter Radcliffe <pir-freebsd.org@pir.net>
  Patch by:       myself
  Approved by:    jadawin
  
  Revision  Changes    Path
  1.128     +1 -1      ports/lang/perl5.10/Makefile
  1.2       +11 -1     ports/lang/perl5.10/files/patch-Configure
  1.136     +1 -0      ports/lang/perl5.12/Makefile
  1.2       +11 -1     ports/lang/perl5.12/files/patch-Configure
  1.136     +1 -0      ports/lang/perl5.14/Makefile
  1.2       +11 -1     ports/lang/perl5.14/files/patch-Configure
  1.117     +1 -1      ports/lang/perl5.8/Makefile
  1.1       +12 -0     ports/lang/perl5.8/files/patch-Configure (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 18 Dmitry Marakasov freebsd_committer freebsd_triage 2011-08-11 19:09:38 UTC
State Changed
From-To: open->closed

Committed. Thanks!