tags 666834 + patch thanks Hi Thibaut,
you will find attached below a patch porting your module to Apache2 2.4. Please test it and consider its inclusion. Note, I hardly tried more than compiling and loading the module. I didn't test it in detail. I've also fixed two problems while driving-by: You missed a build-dependency against dpkg-dev >> 1.16.1 (that's the fist version to support --export=configure) and a build-dependency against libapr1-dev. The patch includes upstream changes, too. Given you are upstream you might judge yourself whether it's suitable to you. Besides I consider the whole patch mostly a proof of concept. > Pretty sure I saw a debian wiki page or other debian page stating that > 2.4 wasn't due for Wheezy, but it seems I can't find it anymore. Last > minute transition seems like added fun. Well, it's not exactly last minute. We announced the transition in March already [1]. > Practical question: how am I supposed to upload a package that can be > built either against 2.2 or 2.4 now that you have removed the > apache2-dev package from 2.4? I've modified my source to build against > 2.4 and it also supports (from the same source, 1.3 (yes!), 2.0 and > 2.2). I guess you meant vice versa, we dropped apache2-dev from the 2.2 package (which was a virtual package in 2.2). I am not sure whether there is a way to support both, a 2.2 module and a 2.4 module from the same source package. There are quite orthogonal changes regarding binary package dependencies and maintainer scripts. I guess one could figure something, but at least from our side no further support is approached. At least from our side we do not plan to support more than one major web server in Debian at the same time. If you can or want to make sure the binary dependencies end up right (apache2.2-bin for 2.2 packages, apache2-api-20120211 for 2.4 packages; a2enmod/a2dismod for 2.2 maintainer script, maintscript-helper for 2.4 packages), it would possible to support both. Likewise for build-dependencies, but note Debian buildds do not resolve alternative build-dependencies in the form a | b. [1] https://lists.debian.org/debian-devel-announce/2012/03/msg00013.html -- with kind regards, Arno Töll IRC: daemonkeeper on Freenode/OFTC GnuPG Key-ID: 0x9D80F36D
debian/control | 6 +++-- debian/libapache2-mod-musicindex.apache2 | 3 +++ debian/libapache2-mod-musicindex.install | 3 --- debian/patches/port-to-apache24 | 38 ++++++++++++++++++++++++++++++ debian/patches/series | 1 + debian/rules | 1 + debian/source/options | 1 + 7 files changed, 48 insertions(+), 5 deletions(-) diff --git a/debian/control b/debian/control index fe7418c..9d9f17d 100644 --- a/debian/control +++ b/debian/control @@ -2,13 +2,15 @@ Source: libapache-mod-musicindex Section: httpd Priority: optional Maintainer: Thibaut VARENE <vare...@debian.org> -Build-Depends: debhelper (>> 7.0.0), apache2-threaded-dev, libvorbis-dev, libid3tag0-dev, libmad0-dev, libflac-dev, libarchive-dev, libmysqlclient-dev, libmp4v2-dev +Build-Depends: debhelper (>> 7.0.0), apache2-dev, libvorbis-dev, + libid3tag0-dev, libmad0-dev, libflac-dev, libarchive-dev, libmysqlclient-dev, + libmp4v2-dev, dh-apache2, libapr1-dev, dpkg-dev (>> 1.16.1~) Standards-Version: 3.9.3 Homepage: http://www.parisc-linux.org/~varenet/musicindex/ Package: libapache2-mod-musicindex Architecture: any -Depends: mod-musicindex-common (= ${source:Version}), apache2.2-common, ${shlibs:Depends}, ${misc:Depends} +Depends: mod-musicindex-common (= ${source:Version}), ${misc:Depends} Description: Browse, stream, download and search through MP3/Ogg/FLAC/MP4 files mod_musicindex is aimed at being a C alternative to the Perl module Apache::MP3 (http://search.cpan.org/dist/Apache-MP3/). diff --git a/debian/libapache2-mod-musicindex.apache2 b/debian/libapache2-mod-musicindex.apache2 new file mode 100644 index 0000000..d08e0f1 --- /dev/null +++ b/debian/libapache2-mod-musicindex.apache2 @@ -0,0 +1,3 @@ +mod debian/tmp/usr/lib/apache2/modules/*.so +mod debian/musicindex.load +mod debian/musicindex.conf diff --git a/debian/libapache2-mod-musicindex.install b/debian/libapache2-mod-musicindex.install deleted file mode 100644 index fc0c56f..0000000 --- a/debian/libapache2-mod-musicindex.install +++ /dev/null @@ -1,3 +0,0 @@ -debian/tmp/usr/lib/apache2/modules/*.so -debian/musicindex.load etc/apache2/mods-available -debian/musicindex.conf etc/apache2/mods-available diff --git a/debian/patches/port-to-apache24 b/debian/patches/port-to-apache24 new file mode 100644 index 0000000..f395a7b --- /dev/null +++ b/debian/patches/port-to-apache24 @@ -0,0 +1,38 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -101,8 +101,11 @@ + printf("AP20\n"); + #elif (MODULE_MAGIC_COOKIE == 0x41503232UL) + printf("AP22\n"); ++#elif (MODULE_MAGIC_COOKIE > 0x41503232UL) ++ printf("AP24\n"); + #endif +-} ++ } ++ + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +@@ -149,6 +152,11 @@ + AC_DEFINE([AP22], [], ["AP22"]) + fi + ++if test x$apache_version = xAP24; then ++ AC_CHECK_PROG(APR_CONFIG, apr-1-config, apr-1-config, [], [], [exit1]) ++ AC_DEFINE([AP24], [], ["AP24"]) ++fi ++ + if test "x$APR_CONFIG" != "x"; then + + AC_DEFINE([BUILD_FOR_APACHE2], [], ["apache2"]) +--- a/src/mod_musicindex.h ++++ b/src/mod_musicindex.h +@@ -258,6 +258,8 @@ + /* nada */ + #elif defined(AP22) + #define ap_http_method ap_http_scheme ++ #elif defined(AP24) ++ #define ap_http_method ap_http_scheme + #else + #error "unknown apache API" + #endif diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..3388500 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +port-to-apache24 diff --git a/debian/rules b/debian/rules index 1b1cf83..ce464e9 100755 --- a/debian/rules +++ b/debian/rules @@ -62,6 +62,7 @@ install: build-stamp $(MAKE) -C build-2.2 install DESTDIR=$(CURDIR)/debian/tmp dh_install + dh_apache2 # Must not depend on anything. This is to be called by # binary-arch/binary-indep diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..75b8316 --- /dev/null +++ b/debian/source/options @@ -0,0 +1 @@ +extend-diff-ignore = "(^|/)(config.sub|config.guess|configure|Makefile.in|aclocal.m4|config.in|ltmain.sh|mod_musicindex_config.h.in)$"
signature.asc
Description: OpenPGP digital signature