Bug 151623 - apache22 update to 2.2.16_2 broke back compatibilty with profiles
apache22 update to 2.2.16_2 broke back compatibilty with profiles
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Any Any
: Normal Affects Only Me
Assigned To: FreeBSD ports mailing list
Depends on:
  Show dependency treegraph
Reported: 2010-10-21 17:30 UTC by Vick Khera
Modified: 2010-10-21 19:10 UTC (History)
0 users

See Also:

file.diff (441 bytes, patch)
2010-10-21 17:30 UTC, Vick Khera
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vick Khera 2010-10-21 17:30:10 UTC

I updated a box running apache 2.2 with multiple profiles to the 2.2.16_2
version. Controlling the individual profiles suddenly stopped working, and I
traced it down to the pidfile being written incorrectly.  It was always
writing the pid file as /var/run/httpd.pid regardless of the profile I was

I looked into the port's change long on freshports and discovered that the
patch from 2.2.16_1 to 2.2.16_2 introduced this change.  The comment indicates
that "With profiles the old defaults remain unchanged" which is incorrect.  To
achieve this change the following patch is required.

This would have been disastrous had this happened on a production server
rather than a development server.

Fix: This patch restores the original default pid file value for systems with
apache and profiles.  Without it, each apache instance will overwrite the
/var/run/httpd.pid file causing great confusion when you try to stop/restart
one of the profiles.

You can still override the pid file with the new config settings (which are
totally not documented in the apache22 rc.d file, either.)


Set up a system running 2.2.16_1 with at least two profiles that write to
different PID files. They will be named /var/run/httpd.PROFILENAME.pid

Now upgrade to 2.2.16_2 and start the profiles.  Now try to stop just one of
them.  The one started last will be stopped because the pidfile is now called
/var/run/httpd.pid for all instances.

Note also how it totally overrides the PidFile directive in the httpd.conf for
each profile.
Comment 1 dfilter freebsd_committer 2010-10-21 19:00:33 UTC
pgollucci    2010-10-21 18:00:15 UTC

  FreeBSD ports repository

  Modified files:
    www/apache22         Makefile 
    www/apache22/files   apache22.in 
  - The previous update to the rc.d script didn't quite maintain the old behavior
    correctly.  This fixes the pid file name
  PR:                             ports/151623
  Submitted by:   Vivek Khera <vivek@khera.org>
  With Hat:               apache@
  Point hat to:   myself (pgollucci)
  Revision  Changes    Path
  1.283     +1 -0      ports/www/apache22/Makefile
  1.10      +2 -1      ports/www/apache22/files/apache22.in
cvs-all@freebsd.org mailing list
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 2 Philip M. Gollucci freebsd_committer 2010-10-21 19:00:34 UTC
State Changed
From-To: open->closed

Committed, Thanks!