Apache server ports, namely, www/apache13, apache13+ipv6, apache13-modperl install rc.d command scripts with the following rcorder special lines: # REQUIRE: DAEMON # BEFORE: LOGIN www/apache13-ssl and apache22 install scripts with: # REQUIRE: NETWORKING SERVERS # BEFORE: DAEMON www/apache20 and apache21 install scripts with: # REQUIRE: NETWORKING SERVERS # BEFORE: LOGIN However, rc(8) contains the following guideline: LOGIN Check-point before user login services (inetd and sshd), as well as services which might run commands as users (cron and sendmail). Since Apache httpd forks worker processes which run as non-privileged user (usually www), it should require LOGIN. This non-conformance of Apache's scripts to rc(8) causes problems when developer wants to execute rc.d script after e.g. MySQL (which installs script with "REQUIRE: LOGIN" per rc(8)) but before Apache (so database can be repaired before use by the web-server). Such database checking script would contain # BEFORE: apache # REQUIRE: mysql but this creates circular dependency since apache.sh contains "BEFORE: LOGIN" and mysql-server contains "REQUIRE: LOGIN". Fix: Replace 'BEFORE' and 'REQUIRE' lines in Apache rc.d script with the single # REQUIRE: LOGIN E.g., for apache13: # PROVIDE: apache -# REQUIRE: DAEMON -# BEFORE: LOGIN +# REQUIRE: LOGIN # KEYWORD: shutdown # Define these apache_* variables in one of these files:--nUcD28oKFAs6TbwBuFlC086oqJub0fJpXqsBQVlYWI8OeQ90 Content-Type: text/plain; name="file.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="file.diff" --- apache.sh.orig Thu Dec 7 00:52:02 2006 +++ apache.sh Thu Dec 7 01:10:35 2006 @@ -2,8 +2,7 @@ # $FreeBSD: ports/www/apache13/files/apache.sh,v 1.11 2006/08/10 11:51:42 ache Exp $ How-To-Repeat: Install e.g. www/apache13 and databases/mysql41-server, then create a database checking script with the following lines: # BEFORE: apache # REQUIRE: mysql Observe the following problem: root@test# rcorder /etc/rc.d/* /usr/local/etc/rc.d/* >/dev/null rcorder: Circular dependency on provision `LOGIN' in file `/usr/local/etc/rc.d/mysql-server'.
Responsible Changed From-To: freebsd-ports-bugs->ache Over to maintainer
ache 2006-12-09 17:34:33 UTC FreeBSD ports repository Modified files: www/apache13 Makefile www/apache13/files apache.sh Log: Replace # REQUIRE: DAEMON # BEFORE: LOGIN with # REQUIRE: LOGIN cleanvar (mysql-first problem) PR: 106429 Revision Changes Path 1.174 +1 -1 ports/www/apache13/Makefile 1.12 +2 -3 ports/www/apache13/files/apache.sh _______________________________________________ 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"
Responsible Changed From-To: ache->freebsd-ports Fixed for apache13
Responsible Changed From-To: freebsd-ports->apache Over to maintainer(s).
clement 2007-01-13 12:13:12 UTC FreeBSD ports repository Modified files: www/apache22 Makefile Makefile.modules distinfo pkg-plist www/apache22/files apache22.sh.in Log: - Update to 2.2.4 - Add dumpio module - Fix rcorder [1] PR: ports/106429 [1] Submitted by: Dmitry Pryanishnikov <dmitry@atlantis.dp.ua> [1] Revision Changes Path 1.201 +1 -1 ports/www/apache22/Makefile 1.20 +2 -2 ports/www/apache22/Makefile.modules 1.72 +3 -3 ports/www/apache22/distinfo 1.2 +2 -3 ports/www/apache22/files/apache22.sh.in 1.79 +2 -1 ports/www/apache22/pkg-plist _______________________________________________ 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"
State Changed From-To: open->feedback To submitter: It looks like this is now fixed, can you verify that this PR can now be closed?
Responsible Changed From-To: apache->gavin Track
Hello! 2008/1/29, gavin@freebsd.org <gavin@freebsd.org>: > To submitter: It looks like this is now fixed, can you verify that > this PR can now be closed? > The problem has been fixed in the following ports: apache13 apache13+ipv6 apache20 apache22 The rest of apache13* ports still contain it. However I don't use those left ports, and I'm not sure whether they're still actively used/maintained. So I think my PR can be closed. I thank committers which have fixed the problem described herein. -- Sincerely, Dmitry nic-hdl: LYNX-RIPE
State Changed From-To: feedback->closed Submitter confirms that this is fixed for the main apache ports, and is happy for it to be closed