[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#661958: transition: apache2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: transition

We are in preparation of a transition of the Apache web server which is moving
to a new major release (from 2.2 to 2.4). This is going to affect a large
number of software in the Debian ecosystem, as Apache has a substantial number
of reverse dependencies which are going to need a source transition.  There are
several classes of affected packages:

* modules: These need adjustments in their configuration, dependencies and
  possibly some code changes
* web applications: These probably only need changes
  to included configurations.
* gnome-user-share: This pacakge includes its own complete configuration which
  needs to be updated.

We are willing to assist the affected reverse dependencies with patches, NMUs
and bug reports if required. First, let us point out the status quo. Apache
consists of three major packages currently:

* apache2 - an almost empty meta-package (depends on -common and a MPM package)
* apache2.2-bin - contains all binaries and modules, including MPM binaries
* apache2.2-common - containts init scripts, arch-independent data, conffiles

Additionally there are MPM packages (apache2-mpm-worker + 4 alternatives) which
are essentially empty, but mark an appropriate conflict resolution situation,
as these MPMs can't be used concurrently at the same time and some reverse
dependencies or users might have certain preferences. However, the actual
binaries already lie in the apache2.2-bin package, the MPM packages only put
symlinks in place.  The upcoming upgrade breaks ABIs. Thus,

we are required to rename several packages. Our ABI didn't change since Etch,
so we expect people having a lot of unmaintained and third party modules
sitting around and such outdated modules would break the webserver at postinst
time or when trying to start the updated web server at latest. While we are at
it, we try to make future transitions more manageable as the current situation
is complicated to say the least (e.g. conffiles in apache2.2-common). The API
changes are incremental, however. The actual code changes required will be
rather small in most modules. That makes the transition a lot of work, but not
impossible. We do not expect any major API incompatibility, but some modules
(like mod_php and mod_perl) will need larger changes included in new upstream
versions.

In future we want three packages:

* apache2: containting conffiles, init scripts, Debian specifics
* apache2-bin: containing binaries, providing a versioned virtual package
  determining the ABI.  Reverse dependencies are supposed to depend on this
  package exclusively (e.g. apache2-api-YYYYMMNN)
* apache2-data: containing arch-independent data (icons, error pages, ...)

The MPM packages are not needed anymore, as MPMs are simple modules in 2.4
which can be loaded at runtime. Additionally we need to rename the -dev
package, as we are going to get rid of the threaded/prefork distinction at -dev
level, too. To achieve a smooth upgrade path for all setups we are going to
need transitional packages.  We think it is feasible to rename the -dev package
without transitional package, as we want to improve declaration of reverse
dependencies, so a source change is needed anyway. To assist package
maintainers we wrote a debhelper (dh_apache2) which helps maintainers setting
up appropriate dependencies as well as possbibly Lintian checks. We plan to
announce this change on a separate mail to debian-devel-announce once an upload
is ready.


Our suggested timeline:

* We hope to have a package ready for experimental in mid-March.
* We approach an upload to Sid in April, and would like to start filing bugs if
  required by then as well

Depending on consensus, this opportunity could also be used to change
dependencies of web applications on web servers to some recommended defaults.
Lighttpd and nginx maintainers signaled interest to homogenize dependencies of
web applications.


Affected reverse dependencies:

73 Module source packages (from "dak rm -nR -b apache2.2-common
apache2-threaded-dev apache2-prefork-dev"):

apache-mod-auth-ntlm-winbind
apache-upload-progress-module
apparmor
axis2c
dacs
gridsite
libapache2-authcookie-perl
libapache2-mod-auth-cas
libapache2-mod-authn-sasl
libapache2-mod-authn-yubikey
libapache2-mod-authnz-external
libapache2-mod-auth-openid
libapache2-mod-auth-pam
libapache2-mod-auth-pgsql
libapache2-mod-auth-plain
libapache2-mod-authz-unixgroup
libapache2-mod-bw
libapache2-mod-defensible
libapache2-mod-encoding
libapache2-mod-fcgid
libapache2-mod-geoip
libapache2-mod-ldap-userdir
libapache2-mod-lisp
libapache2-mod-macro
libapache2-mod-perl2
libapache2-mod-python
libapache2-mod-qos
libapache2-mod-rivet
libapache2-mod-rpaf
libapache2-mod-ruid2
libapache2-mod-xsendfile
libapache2-reload-perl
libapache-authenhook-perl
libapache-mod-auth-kerb
libapache-mod-auth-radius
libapache-mod-evasive
libapache-mod-fastcgi/non-free
libapache-mod-jk
libapache-mod-layout
libapache-mod-log-sql
libapache-mod-musicindex
libapache-mod-random
libapache-mod-removeip
libapache-singleton-perl
libapreq2
libcgi-application-dispatch-perl
libembperl-perl
mod-auth-mysql
mod-authn-webid
mod-dnssd
mod-gnutls
mod-mime-xattr
mod-mono
mod-proxy-html
mod-ruby
modsecurity-apache
mod-spamhaus
mod-vhost-hash-alias
mod-vhost-ldap
mod-wsgi
neko
ocamlnet
parser
passenger
php5
rampart
scgi
shibboleth-sp2
speedy-cgi-perl
subversion
suphp
uwsgi
webauth


Source packages of web applications, etc.: 129 packages Searched by looking for
/etc/.*apache.* with apt-file. It is likely that not all of these require
adjustments.


acidbase
ampache
apt-cacher
auth2db
backuppc
bandwidthd
bcfg2
check-mk
chemical-structures
cipux-cat-web
collabtive
cricket
dcmtk
debian-edu-config
dhelp
dico
docbookwiki
doc-central
docvert
dotclear
dpkg-www
d-push
drupal6
drupal7
dsc-statistics
dwww
emacspeak
emboss-explorer
fai
fail2ban
fookebox
freeradius
frontaccounting
fusionforge
gallery
gallery2
ganglia
gbrowse
git
glpi
gosa
haci
heartbeat
ikiwiki-hosting
ipplan
iptotal
jffnms
jpoker
jsmath
jsxgraph
knowledgeroot
kolabd
kolab-webadmin
kolab-webclient
ldap-account-manager
lemonldap-ng
letodms
libapache-gallery-perl
libapache-mod-fastcgi
lightsquid
linkchecker
lire
logcheck
lurker
lwat
mahara
mailman
mediawiki
minit
mobyle
movabletype-opensource
mumble
mumble-django
munin
mythweb
nagvis
nanourl
netams
netdisco
Netdisco
ojs
phamm
phpgacl
phpldapadmin
phpmyadmin
phppgadmin
php-xajax
piwigo
pnopaste
pnp4nagios
poker-network
request-tracker3.8
request-tracker4
roundcube
routino
rtgui
rtpg
sagan-rules
scuttle
semanticscuttle
simba
simplesamlphp
sitesummary
slbackup-php
smb2www
smbind
smokeping
spip
spotweb
squirrelmail
sugarplum
sympa
torrentflux
torrus
twitter-bootstrap
typo3-src
ukolovnik
usemod-wiki
w3c-linkchecker
webgui
websvn
wims
xemacs21-packages
xsp
xymon
yocto-reader
zabbix
zoneminder
zoph


2 special cases (from "dak rm -nR -b apache2.2-bin"):

gnome-user-share
mod-dnssd



Reply to: