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

Re: Bits from the Apache Maintainers / Upcoming apache2 2.4 transition



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Tanguy,

(also putting Jonathan on CC: who asked the same question basically)

On 22.03.2012 10:58, Tanguy Ortolo wrote:
> Just to be sure, is there a better solution to handle the
> transition than to wait for Apache 2.4 to come into unstable,
> breaking these packages, and then fix them by sending updated
> versions?
> 


First, I'm sorry our answer took so long but we needed to discuss
questions like this. The answer is: Yes, we can imagine a scenario
where this is possible. We are going to update our docs with practical
hands-on tutorials until then take this

If you are packaging web applications which want to support both,
Apache 2.2 and 2.4 packages you can follow this procedure (note this
is a rough draft!):

1) Make sure you do not depend on any Apache package other than "apache2"
2) Install your configuration files to
/etc/apache2/conf-available/packagename.conf
3) Check your configuration. Chances are it needs an updated for 2.4 -
take special care whether you use Order/Allow/Deny directives. You can
use <IfVersion> to tell 2.2 and 2.4 versions apart [1]. NOTE:
IfVersion is not enabled by default in both, 2.2 and 2.4. At least for
2.4 we plan to change that with the next upload, but we can't anymore
for 2.2.
4) If you detect a 2.4 installation invoke the
apache2-maintscript-helper, otherwise invoke 2.2 tools.
5) Likewise, remove the link unconditionally in your package's postrm.
This is to make sure, upgrades to 2.4 work fine.

The following example is a postinst fragment (untested, but hopefully
you will get the idea!)

if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
    . /usr/share/apache2/apache2-maintscript-helper
    # if the configuration uses <IfVersion> uncomment the invoke
    # call below.
    # This is not needed anymore once we uploaded the next version.
    # apache2_invoke enmod version
    apache2_invoke enconf package.conf
elif  dpkg-query -f '${Version}'  -W 'apache2.2-common' > /dev/null
2>&1 ; then
    # if the configuration uses <IfVersion> uncomment the next line
    # a2enmod -q version
    [ -d /etc/apache2/conf.d/ ] && [ ! -l
/etc/apache2/conf.d/package.conf ] && ln -s
../conf-available/package.conf /etc/apache2/conf.d/package.conf
else
   # you don't install on a site with Apache installed
fi


We are going to update our docs and procedures soon, in particular I
will write such a tutorial on [2] unless someone of you beats me with
it, who actually tested our proposal to support both server versions
in a web application.

[1] http://httpd.apache.org/docs/2.4/mod/mod_version.html#ifversion
[2] http://wiki.debian.org/Apache/PackagingFor24
- -- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJPbvd/AAoJEMcrUe6dgPNtpe0P/1WL7aUvmk3EbxMEr+gXWurO
2yKVrQ1qBfZzj9q1sIl4xHHe3cTd9m1v5q0lD+TkXLzUtrgeBu0c5EWM4rm3jd5n
lbKoWqNvTM3oYVpIn7G7EzfNgjpnfBoVPT91z1coH4ZkV9ZxTpBsyduvXD33x6ww
LbUIROA6jIYKZLsubB0i0n7PxmYkEtf64dCgXLoJF46qhwAkQPEE+w47JhihVH12
qpbKb1o/lyyWAOBcoZV8cjsG3OJ6/vc0tZNym43nxh5FNBIsOOQMjlPbIRaSTrq1
xxnMYKfUqmfQgJ3akkISnoEW893R4JssavW97YW0bAT+/+4qhJJKn6pocJrQy/Nu
wRbB0K+TNndeNcWdMjz/pvc+opfWj4RyaXP3QfielSsWl24ruktQNSMlEz55ZoOp
kXdzam+crGR/nH2hv9V47p2XsA+prLguKKTd+AnU5g9jLSY/w78HqSOH0k12VmnI
0FKhgL7xdvb9hCNxJbhPm+M0jb9atYnP2A7rimj9yrW3LQwTk5yjB3X7+j/N+Q5I
xym1hMUQqsEPd7Y+SA/Lb3iw+paaESNdQHuCauGObWWnxNX1suLwQ0Ke9nA8pDkd
bkglBxgfsJfgsBXzPQBNMLhusHbDG9nvy91mBdiwpotM0wxMVA9ny65SiLWb88WF
8xze2Fe3N6syLdqM/wnc
=9kQ2
-----END PGP SIGNATURE-----


Reply to: