On Thu, Jan 24, 2013 at 9:24 AM, Colin Guthrie <[email protected]> wrote: > 'Twas brillig, and Pascal Terjan at 24/01/13 01:40 did gyre and gimble: >> On Thu, Jan 24, 2013 at 12:45 AM, Colin Guthrie <[email protected]> >> wrote: >>> 'Twas brillig, and Pascal Terjan at 24/01/13 00:24 did gyre and gimble: >>>> I was looking at perl-Apache2-DebugFilter build failure >>>> >>>> In the test it starts an apache which fails as it uses >>>> http://httpd.apache.org/docs/trunk/rewrite/rewritemap.html#prg which >>>> uses a mutex stored in /run/httpd/ >>>> >>>> [Wed Jan 23 23:49:55.962405 2013] [core:emerg] [pid 55277] >>>> (13)Permission denied: AH00023: Couldn't create the rewrite-map mutex >>>> (file /run/httpd/rewrite-map.55277) >>>> >>>> That directory is now owned by root so it can't be used for anything >>>> except creating the httpd.pid >>>> >>>> $ cat /usr/lib/tmpfiles.d/httpd.conf >>>> d /run/httpd 755 root root >>>> >>>> Fedora uses "d /run/httpd 710 root apache" which doesn't help in >>>> this case but fixes other problems >>>> >>>> In the past (Mageia 1) runtimedir was /var/run directly so it was >>>> possible to create mutex files there for any user >>> >>> Hmm, not sure what you mean here. >>> >>> [colin@mga2 ~]$ ls -ld /var/run >>> drwxr-xr-x 38 root root 4096 Jan 23 04:04 /var/run/ >>> >>> That dir is also owned by root with 755 perm. It shouldn't make any odds >>> to permissions. >> >> Hmm you are right, I don't know why it got broken then >> >> It used to use /var/run/ as runtime dir and it succeeded creating the mutex >> It now fails to create it in /run/httpd/ >> >> I don't have more clues :( >> >> It may be some change in apache but I couldn't find, I'll try to find >> out more tomorrow > > If this is on the build system, perhaps the tmpfiles stuff isn't run for > some reason and /run/httpd isnt't created. And then maybe code in apache > tries to mkdir /run/httpd and that's where the permission denied error > comes from? > > /me is clutching at straws here :)
It seems things are more complicated :) It used to use ServerRoot + /logs/ (/etc/httpd/logs) which is a symlink to /var/log/httpd, but seem to now always use /run/httpd, even when ServerRoot is different. That's why the tests used to work: they were using a local t/ as ServerRoot and using t/logs/. But I am now wondering if the feature in normal usage has ever worked given that /var/log/httpd permissions are not more open
