first, the homepage in the ebuild should be : http://httpd.apache.org/apreq/ libapreq 1.x only works with apache 1 libapreq 2.x only works with apache 2 but is not marked stable yet Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 22452 [details] libapreq2 ebuild I have been fighting libapreq2 for three days straight now, and here's as far as I've gotten. This package is a nightmare to get to work with Gentoo. This version might work with sandbox turned off. You will need a patch to make it understand that httpd is not always named that, coming below.
Created attachment 22453 [details, diff] patch to allow setting httpd binary location This patch is referenced by the ebuild above.
Created attachment 28766 [details] Updated version of ebuild that works better. This ebuild integrates in two additional patches and fixes a typo that kept the Perl stuff from being built. It seems to fix the ebuild and make it work cleanly. It fixes the sandbox problem. I had to turn off the testing in the makefile because it did not like portage at all, and I didn't have time to fix that. There is a required perl module (ExtUtils::XSBuilder) that does not have a portage entry, so currently you have to install that one with g-cpan.pl before this will compile. There also seems to still be a runtime bug with respect to Mason. I will submit a patch if I find out it is related to this.
Created attachment 28767 [details, diff] Patch to turn offf testing that seems incompatible with portage This is one of the patches used by the ebuild I just submitted.
Created attachment 28768 [details, diff] Patch to fix sandbox problem This is also used by the new ebuild. It fixes the sandbox problem, so the thing will compile and install cleanly under normal emerge (with ~x86 keyword, of course)
The problem with Mason was not a problem with this. I just followed the Mason with Apache2 mini-HOWTO, and that fixed it. So, that seems to indicate that the ebuild is working with everything I have to test it against.
I had to add a 'dodir /usr/lib/apache2/modules' before the make install so that 'cp .lib/mod_apreq.so ${D}/usr/lib/apache2/modules' didn't fail. I've also submitted an ebuild for ExtUtils-XSBuilder-0.25 here: http://bugs.gentoo.org/show_bug.cgi?id=47875 .
web-apps folks - can you take a look at this ebuild since it involves web apps (ha) to be sure we're clean before going forward?
I'll try and take a look sometime Monday. Best regards, Stu
Created attachment 34843 [details] updated ebuild with most of the testing working I have been trying to get testing to work with portage. I think I've made some progress---all but one test (cgi.t) work, but this last one looks like it's beyond me. Since testing cannot be done as root, and ${WORKDIR} isn't writable by 'nobody', I copy everything to ${T}, and run apxs with -user portage -group portage. That seems to work just fine. The ebuild also references two new (small) patches that will follow. You might also need to ln -s mod_perl into apache2/modules. cgi.t still fails when make test is run from the ebuild. looking at the output of env/t/TEST -verbose, it seems that cgi-bin/test_cgi returns 0 instead of the count. portage does not report any access violations, but it's most certainly related to the sandbox, b/c when I run 'make test' manually, the test passes. The test also fails when 'make test' is run from sandboxshell. I 'strace -f -e file'd it, and I didn't find anything suspicious in terms of file access. However, comparing the output of a successful and an unsuccessful run, it looks as if when test_cgi is called from the sandbox, no environment variables are set (not even $QUERY_STRING). Here's the actual output: successful run: 4421 execve("/var/tmp/portage/libapreq-2.02_alpha02/temp/env/t/cgi-bin/test_cgi", ["/var/tmp/portage/libapreq-2.02_a"...], ["HTTP_HOST=localhost.radagast:852"..., "HTTP_USER_AGENT=libwww-perl/5.69"..., "PATH=/bin:/sbin:/usr/bin:/usr/sb"..., "SERVER_SIGNATURE=", "SERVER_SOFTWARE=Apache/2.0.49 (G"..., "SERVER_NAME=localhost.radagast", "SERVER_ADDR=127.0.0.1", "SERVER_PORT=8529", "REMOTE_ADDR=127.0.0.1", "DOCUMENT_ROOT=/var/tmp/portage/l"..., "SERVER_ADMIN=you@your.address", "SCRIPT_FILENAME=/var/tmp/portage"..., "REMOTE_PORT=42231", "GATEWAY_INTERFACE=CGI/1.1", "SERVER_PROTOCOL=HTTP/1.0", "REQUEST_METHOD=GET", "QUERY_STRING=a=ddddd;b=ddddd;c=d"..., "REQUEST_URI=/cgi-bin/test_cgi?a="..., "SCRIPT_NAME=/cgi-bin/test_cgi"]) = 0 unsuccessful run: 4334 execve("/var/tmp/portage/libapreq-2.02_alpha02/temp/env/t/cgi-bin/test_cgi", ["/var/tmp/portage/libapreq-2.02_a"...], [0]) = 0 I am out of ideas at this point, so if anyone has any suggestions, do let me know.
Created attachment 34844 [details, diff] libapreq-2.0-test1.patch
Created attachment 34845 [details, diff] libapreq-2.0-test2.patch
This will not compile for me: *** result: OK /usr/sbin/apache2 -d /var/tmp/portage/libapreq-2.02_alpha02/temp/env/t -f /var/tmp/portage/libapreq-2.02_alpha02/temp/env/t/conf/httpd.conf -DAPACHE2 using Apache/2.0.50 (prefork MPM) waiting 60 seconds for server to start: .Syntax error on line 20 of /var/tmp/portage/libapreq-2.02_alpha02/temp/env/t/conf/extra.conf: Invalid command 'ScriptSock', perhaps mis-spelled or defined by a module not included in the server configuration !!! server has died with status 255 (t/logs/error_log wasn't created, start the server in the debug mode) make[1]: *** [run_tests] Error 143 make[1]: Leaving directory `/var/tmp/portage/libapreq-2.02_alpha02/temp/env' make: *** [env_test] Error 2 !!! ERROR: dev-perl/libapreq-2.02_alpha02 failed. !!! Function src_compile, Line 66, Exitcode 2 !!! (no error message)
I would suggest adding a dependency towards ExtUtils-XSBuilder, which currently is not done. The emerge fails if no ExtUtils-XSBuilder is installed.
well libapreq2 worked for me using maketest in FEATURES as well. So... we might be able to unmask it.
Could be related or duplicated: http://bugs.gentoo.org/show_bug.cgi?id=81116
please see bug 77547 for an up-to-date ebuild
libapreq-2.0.6 should be in the tree in the next little bit (read: within 12 hours max)
Mass re-assign.
Closing since we've long since bumped past 1.2/2.01 (and we aren't package.masking it anymore either) $ ls libapreq* libapreq: CVS Manifest libapreq-1.0-r3.ebuild libapreq-1.2.ebuild metadata.xml ChangeLog files libapreq-1.2-r1.ebuild libapreq-1.3.ebuild libapreq2: CVS Manifest libapreq2-2.04.03.ebuild libapreq2-2.07.ebuild ChangeLog files libapreq2-2.06.ebuild metadata.xml