Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 03 Aug 2014 07:16:03 -0700
From:      Patrick Powell <papowell@astart.com>
To:        freebsd-ports@freebsd.org
Subject:   Re: Apache 24 + mod_perl
Message-ID:  <53DE4423.4090804@astart.com>
In-Reply-To: <53DE4281.5010304@astart.com>
References:  <53DC01F2.90102@astart.com> <20140801213432.GC2644@home.opsec.eu> <53DE4281.5010304@astart.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Here are the build.log and test.log files mentioned in this posting

On 08/03/14 07:09, Patrick Powell wrote:
> OK, here are the results of my initial tests.  See ++ TEST ++ at
> the end of these notes for the results
> Sun Aug  3 07:01:46 PDT 2014
>
> I started with FreeBSD 93, perl5.16
>
> test94: {90} # uname -a
>
> FreeBSD test94.private 9.3-RELEASE FreeBSD 9.3-RELEASE #0 r268512:
> Thu Jul 10 23:44:39 UTC 2014
> root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
>
> test94: {92} # perl -v
>
> This is perl 5, version 16, subversion 3 (v5.16.3) built for 
> amd64-freebsd-thread-multi
>
> test94: {93} # pkg info perl5
> perl5-5.16.3_11
> Name           : perl5
> Version        : 5.16.3_11
> Installed on   : Tue Jul 29 07:04:39 PDT 2014
> Origin         : lang/perl5.16
> Architecture   : freebsd:9:x86:64
> Prefix         : /usr/local
> Categories     : perl5 lang devel
> Licenses       : GPLv1 or ART10
> Maintainer     : perl@FreeBSD.org
> WWW            : http://www.perl.org/
> Comment        : Practical Extraction and Report Language
> Options        :
>         DEBUG          : off
>         GDBM           : off
>         MULTIPLICITY   : off
>         PERL_64BITINT  : on
>         PERL_MALLOC    : off
>         PTHREAD        : on
>         SITECUSTOMIZE  : off
>         THREADS        : on
>         USE_PERL       : on
> Shared Libs required:
>         libperl.so
> Annotations    :
>         cpe            : cpe:/a:perl:perl:5.16.3::~~~freebsd~~
> Flat size      : 47.4MiB
> Description    :
> Perl is a language that combines some of the features of C, sed, awk and
> shell.  See the manual page for more hype.  There are also many books
> published by O'Reilly & Assoc.  See pod/perlbook.pod for more
> information.
>
> ***************
>
> Now read the article: 
> https://forums.freebsd.org/viewtopic.php?f=5&t=46523.  We are
> going to do some of the steps,  with minor modifications.
>
> 1. Install apache24
>    #> cd /usr/ports/www/apache24
>    #> make install
>   OR
>     pkg install apache24
>
> 2. Start to install mod_perl2, fetch the source code:
>
>    #> cd /usr/ports/www/mod_perl2
>    #> make fetch
>
>    This will fetch mod_perl-2.0.8.tar.gz and put it in 
> /usr/ports/distfiles
>    Now untar mod_perl-2.0.8.tar.gz
>
>    #> cd /usr/ports/distfiles
>    #> tar xvf mod_perl-2.0.8.tar.gz
>
> 3. We will create a dummy mod_perl-2.0.9 distribution file.  We
>    will need the Apache-Reload, Apache-SizeLimit, and Apache-Test
>    Perl Modules from mod_perl-2.0.8 ,  which are not in the SVN
>    distribution we are going to fetch,  but are in the mod_perl-2.0.8
>    distribution.  Note that these appear to be the latest versions;
>    if in doubt check the Apache Web site.
>
>    #> mkdir mod_perl-2.0.9
>    #> tar cf - -C mod_perl-2.0.8 Apache-Reload Apache-SizeLimit 
> Apache-Test | tar xvf - -C mod_perl-2.0.9
>
> 4. Now get the latest http24 branch from the Apache Mod_perl SVN 
> repository:
>
>    You may need to install wget:
>    #> pkg install wget
>
>    #> wget --no-parent -r 
> http://svn.apache.org/repos/asf/perl/modperl/branches/httpd24/
>
>    This will create a 
> svn.apache.org/repos/asf/perl/modperl/branches/httpd24 directory.
>    Now we copy these files to the mod_perl-2.0.9 directory:
>    #> tar cf - -C 
> svn.apache.org/repos/asf/perl/modperl/branches/httpd24 . | tar xvf - 
> -C mod_perl-2.0.9
>    #> ls mod_perl-2.0.9
>    Apache-Reload           LICENSE README bin                     t
>    Apache-SizeLimit        META.yml README-SVN build                   
> todo
>    Apache-Test             Makefile.PL RELEASE index.html              
> util
>    BRANCHING               Makefile.old STATUS lib                     xs
>    Changes                 ModPerl-Registry SVN-MOVE                
> patches
>    INSTALL                 NOTICE WrapXS                  src
>
> 5. Create a tar file of mod_perl-2.0.9
>    #> tar cfz mod_perl-2.0.9.tar.gz mod_perl-2.0.9
>
> 6. Now we modify the www/mod_perl2 port
>
>    #> cd /usr/ports/www/mod_perl2
>
>    Edit Makefile, and make the following changes:
>    a) we set PORTVERSION to 2.0.9
>    b) we set USET_APACHE to 22+
>    c) remove the 'Broken' warning
>
>
>     *** 2,8 ****
>       # $FreeBSD: head/www/mod_perl2/Makefile 362013 2014-07-15 
> 22:14:23Z ohauer $
>
>       PORTNAME=     mod_perl
>     ! PORTVERSION=  2.0.8
>       PORTREVISION= 1
>       PORTEPOCH=    3
>       CATEGORIES=   www perl5
>     --- 2,8 ----
>       # $FreeBSD: head/www/mod_perl2/Makefile 362013 2014-07-15 
> 22:14:23Z ohauer $
>
>       PORTNAME=     mod_perl
>     ! PORTVERSION=  2.0.9
>       PORTREVISION= 1
>       PORTEPOCH=    3
>       CATEGORIES=   www perl5
>     ***************
>     *** 18,34 ****
>
>       SUB_FILES=    pkg-message
>       SUB_LIST=     APACHEMODDIR=${APACHEMODDIR}
>     ! USE_APACHE=   22
>       USES=         gmake perl5
>       USE_PERL5=    configure
>       USE_CSTD=     gnu89
>
>       .include <bsd.port.pre.mk>
>
>     - .if ${APACHE_VERSION} > 22
>     - BROKEN=       Does not build with apache24
>     - .endif
>     -
>       # Using apxs in this way is problematic if apache2 is installed 
> under a
>       # different PREFIX than mod_perl2, because the mod_perl2 
> installation will
>       # use paths returned by apxs to install some components. Fixes 
> welcome.
>     --- 18,30 ----
>
>       SUB_FILES=    pkg-message
>       SUB_LIST=     APACHEMODDIR=${APACHEMODDIR}
>     ! USE_APACHE=   22+
>       USES=         gmake perl5
>       USE_PERL5=    configure
>       USE_CSTD=     gnu89
>
>       .include <bsd.port.pre.mk>
>
>       # Using apxs in this way is problematic if apache2 is installed 
> under a
>       # different PREFIX than mod_perl2, because the mod_perl2 
> installation will
>       # use paths returned by apxs to install some components. Fixes 
> welcome.
>
>
> 6. This is a bit tricky, and thanks to the Ports folks for showing me 
> this.
>    First,  We now set the checksums in distinfo.orig to match the 
> newly created tar file:
>
>    #> make makesum
>
> 7. Now for the acid test, we try to compile this:
>    #> make build
>
>     (See build.log)
>
>     ++++++++++++++++++ TEST ++++++++++++++++++
>     But Does It Work?
>     See next section for detail
>     ++++++++++++++++++++++++++++++++++++++++++
>
> 8. If we want to install it, we should update the pkg-plist:
>    #> make makeplist >pkg-plist
>
>    #> vi pkg-plist
>    Get rid of junk lines, delete from the first line up to  and including
>    /you/have/to/check/what/makeplist/gives/you
>
> 9. Now you can try to install it:
>
>    #> make install
>
> 10.  You now need to edit /usr/local/etc/apache24/httpd.d and add:
>
>   LoadModule perl_module libexec/apache24/mod_perl.so
>
>  ++++++++++++++++++ TEST ++++++++++++++++++
>
> After all of this effort,  I expected mod_perl2 to fail all of the
> tests.  The mod_perl tests cannot be done by root so you will have
> to use another user.  First you will need to set up a suitable test
> user.  AND...  Part of the tests require writing a file to /var/run.
> AND... during the tests you will write a log file to the t/logs/\
> directory in the mod_perl source.
>
> So...
> 1. Create a user say, admin.
> 2. Add it to group wheel (see FreeBSD Handbook).
> 3. #> ls -ld /var/run
>    drwxr-xr-x  12 root  wheel  1024 Aug  2 19:03 /var/run
>  . #> chmod g+w /var/run
>
> 4. #> cd /usr/port/www/mod_perl2
>    We need to set ownership of the work directory to the test user:
>    #> chown -R admin work
>
> 5.  Now we run our tests as user admin:
>
>    #> su admin
>    %> make test |&tee test.log
>
> Here is an extract from test.log showing the failues. Note that
> most of the failed test are for Apache,  and may be common to the
> baseline Apache distribution.
>
>    # Failed test 5 in t/apache/scanhdrs2.t at line 33
>
>      I suspect that this test is due to the change in the API from
>      2.2 to 2.4.
>
>    # Failed test 4 in t/hooks/authen_digest.t at line 35
>    # Failed test 5 in t/hooks/authen_digest.t at line 37
>    # Failed test 6 in t/hooks/authen_digest.t at line 41
>    # Failed test 7 in t/hooks/authen_digest.t at line 45
>
>      Again,  apache22 authentication support (Allow,deny) is now
>      obsolete.  See http://httpd.apache.org/docs/2.4/upgrading.html
>      The 'Order deny, allow Deny from all' is now 'Require all deny'
>
>      I suspect that these tests might need to be updated for
>      apache24 or separate tests done for apache22 and apache24
>
>    # Failed test 2 in t/modules/cgi.t at line 35
>    # Failed test 5 in t/modules/cgi.t at line 60
>    # Failed test 3 in t/modules/cgi2.t at line 43
>    # Failed test 4 in t/modules/cgipost.t at line 34 fail #4
>    # Failed test 4 in t/modules/cgipost2.t at line 34 fail #4
>    # Failed test 1 in t/modules/cgiupload.t at line 36
>    # Failed test 2 in t/modules/cgiupload2.t at line 36 fail #2
>
>      I suspect that there has been some change in the API for CGI
>      support.  This needs to be reviewed and the cause
>      of the failure determined.
>
>    t/apache/scanhdrs2.t                  (Wstat: 0 Tests: 5 Failed: 1)
>      Failed test:  5
>    t/compat/conn_rec.t                   (Wstat: 0 Tests: 2 Failed: 0)
>    t/hooks/authen_digest.t               (Wstat: 0 Tests: 7 Failed: 4)
>      Failed tests:  4-7
>    t/modules/cgi.t                       (Wstat: 0 Tests: 5 Failed: 2)
>      Failed tests:  2, 5
>    t/modules/cgi2.t                      (Wstat: 0 Tests: 5 Failed: 1)
>      Failed test:  3
>    t/modules/cgipost.t                   (Wstat: 0 Tests: 6 Failed: 1)
>      Failed test:  4
>    t/modules/cgipost2.t                  (Wstat: 0 Tests: 6 Failed: 1)
>      Failed test:  4
>    t/modules/cgiupload.t                 (Wstat: 0 Tests: 2 Failed: 1)
>      Failed test:  1
>    t/modules/cgiupload2.t                (Wstat: 0 Tests: 2 Failed: 1)
>      Failed test:  2
>    Failed 9/249 test programs. 12/4535 subtests failed.
>
>
> On 08/01/14 14:34, Kurt Jaeger wrote:
>> Hi!
>>
>>> Question:  when will mod_perl be available for Apache 24?
>> There's a PR where people are discussing this:
>>
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191471
>>
>> This PR needs more testers etc.
>>
>
>
>
> _______________________________________________
> freebsd-ports@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53DE4423.4090804>