tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: spamassassin and USE_DESTDIR=yes



David Brownlee wrote:
> 2009/12/30 Klaus Heinz <k.heinz%dezneun.kh-22.de@localhost>:
> > I could not confirm this on NetBSD/i386 version 3 with Perl 5.8.8 nor
> > NetBSD/i387 version 5.0_STABLE with Perl 5.10.1.

Ok, I have to retract this: I can confirm the problem with Perl 5.10.1 which
includes ExtUtils::MakeMaker > 6.42.

The attached replacement for patch-ab fixes the problem and worked for
me with Perl 5.8.8 and 5.10.1 (checked twice this time :-).

ciao
     Klaus
$NetBSD$

  - deal with internal changes of ExtUtils::MakeMaker and how SpamAssassin
    (ab)used those internals regarding DESTDIR support. Will not be necessary
    starting with SA 3.3.0.

  - enable build of qmail-spamc
  - some files (local.cf, *.pre) are managed by pkgsrc, disable
    their installation.
  - pkgsrc creates B_DATADIR, so there is no need to re-set permissions

--- Makefile.PL.orig    2008-06-10 09:21:07.000000000 +0000
+++ Makefile.PL
@@ -143,7 +143,7 @@ $mm_knows_destdir    = $ExtUtils::MakeMa
 $mm_has_good_destdir = $mm_version >= 6.11;
 # Add DESTDIR hack only if it's requested (and necessary)
 $mm_needs_destdir    = $opt{'destdir'} && !$mm_has_good_destdir;
-$mm_has_destdir      = $mm_knows_destdir || $mm_needs_destdir;
+$mm_has_destdir      = $mm_has_good_destdir || $mm_needs_destdir;
 push(@ATT_KEYS, 'DESTDIR') if $mm_needs_destdir;
 
 # Now make EU::MM understand our extended vars
@@ -174,6 +174,7 @@ my %makefile = (
       'spamassassin.raw' => 'spamassassin',
       'sa-learn.raw'     => 'sa-learn',
       'sa-update.raw'    => 'sa-update',
+      'spamc/qmail-spamc.c' => 'spamc/qmail-spamc$(EXE_EXT)',
       'sa-compile.raw'    => 'sa-compile',
       'spamc/spamc.c'    => 'spamc/spamc$(EXE_EXT)',
       'spamd/spamd.raw'  => 'spamd/spamd',
@@ -1201,17 +1202,19 @@ qmail/qmail-spamc$(EXE_EXT): spamc/qmail
 
 conf__install:
        -$(MKPATH) $(B_CONFDIR)
-       $(PERL) -MFile::Copy -e "copy(q{rules/local.cf}, 
q{$(B_CONFDIR)/local.cf}) unless -f q{$(B_CONFDIR)/local.cf}"
-       $(PERL) -MFile::Copy -e "copy(q{rules/init.pre}, 
q{$(B_CONFDIR)/init.pre}) unless -f q{$(B_CONFDIR)/init.pre}"
-       $(PERL) -MFile::Copy -e "copy(q{rules/v310.pre}, 
q{$(B_CONFDIR)/v310.pre}) unless -f q{$(B_CONFDIR)/v310.pre}"
-       $(PERL) -MFile::Copy -e "copy(q{rules/v312.pre}, 
q{$(B_CONFDIR)/v312.pre}) unless -f q{$(B_CONFDIR)/v312.pre}"
-       $(PERL) -MFile::Copy -e "copy(q{rules/v320.pre}, 
q{$(B_CONFDIR)/v320.pre}) unless -f q{$(B_CONFDIR)/v320.pre}"
+       @ # manage local.cf and *.pre through pkgsrc .mk files
+       @ # $(PERL) -MFile::Copy -e "copy(q{rules/local.cf}, 
q{$(B_CONFDIR)/local.cf}) unless -f q{$(B_CONFDIR)/local.cf}"
+       @ # $(PERL) -MFile::Copy -e "copy(q{rules/init.pre}, 
q{$(B_CONFDIR)/init.pre}) unless -f q{$(B_CONFDIR)/init.pre}"
+       @ # $(PERL) -MFile::Copy -e "copy(q{rules/v310.pre}, 
q{$(B_CONFDIR)/v310.pre}) unless -f q{$(B_CONFDIR)/v310.pre}"
+       @ # $(PERL) -MFile::Copy -e "copy(q{rules/v312.pre}, 
q{$(B_CONFDIR)/v312.pre}) unless -f q{$(B_CONFDIR)/v312.pre}"
+       @ # $(PERL) -MFile::Copy -e "copy(q{rules/v320.pre}, 
q{$(B_CONFDIR)/v320.pre}) unless -f q{$(B_CONFDIR)/v320.pre}"
 
 data__install:
        -$(MKPATH) $(B_DATADIR)
        $(PERL) -e "map unlink, <$(B_DATADIR)/*>"
        $(PREPROCESS) $(FIXVARS) -m$(PERM_RW) -Irules -O$(B_DATADIR) 
$(DATAFILES)
-       $(CHMOD) $(PERM_RWX) $(B_DATADIR)
+       @ # no change of directory created by pkgsrc
+       @ # $(CHMOD) $(PERM_RWX) $(B_DATADIR)
 
 text_html_doc: made-doc-stamp
        $(NOOP)


Home | Main Index | Thread Index | Old Index