Bug#666834: Test rebuild of your package libapache-mod-musicindex

2012-05-06 Thread Arno Töll
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 000..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..000
--- 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 000..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

Bug#666834: Test rebuild of your package libapache-mod-musicindex

2012-05-06 Thread Thibaut VARENE
Hi,

On Sun, May 6, 2012 at 10:34 PM, Arno Töll a...@debian.org wrote:
 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.

As I told you in my previous email which you quote just below, I had
/already/ done the necessary upstream source changes. I'm sorry you
wasted your time on this and I thank you for suggesting packaging
changes anyway.

 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].

March 22 was like yesterday, apache-2.4 didn't get any extensive
in-archive testing by virtue of not having hit unstable even yet, and
I understand that Wheezy is to be released tomorrow. Unless that
tomorrow turns out to be in a year, I guess that's pretty much a last
minute change. Not that I care that much anyway, I've got a fairly
strong impression of the modifications in Debian's overall quality
and I'm adjusting to it, as far as I'm concerned :-P

 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.

My point was merely making my life and/or backports' life (and/or
debian-based distros') easier by providing a package that, when built
against either 2.4 (wheezy, as it seems) or 2.2 (squeeze) would not
require any modification. It seems it won't be possible, as the
package as per your own patch won't be buildable in squeeze and as
building against apache-2.2 and apache-2.4 require conflicting
build-deps (which is a departure from the previous 2.0 to 2.2
transition, iirc); well, so be it. I'll upload a new package when 2.4
hits unstable.

T-Bone

PS: CCing (instead of BCCing) cont...@debian.org is annoying when your
recipient hits reply all.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#666834: Test rebuild of your package libapache-mod-musicindex

2012-05-05 Thread arno
tags 666834 '+upstream'
thanks
Dear maintainer,

this is a follow-up message to your Apache 2.4 transition bug for
package libapache-mod-musicindex. We are approaching an upload of the web 
server to
Debian's Unstable repository as soon as the release team acknowledges
the upload. Along that upload we are planning to raise the importance of
this bug to a release-critical severity. 

Please port your packages now to Apache 2.4. Below you can find a
test-rebuild for your package for the 2.4 version of the Apache web
server. Please note, even if the rebuild was successful, you still need
to make changes in the Debian specific part of your package. 

The rebuild below was made by using a specially prepared build
environment where these conditions where met:

* We had apache2 and apache2-dev preinstalled
* We provided a void apache2-threaded-dev and apache2-prefork-dev
  package to satisfy build-dependencies of your existing package (but
  this WILL NOT be the case in a real upload of the apache2 source
  package)
* We prepared apxs to unconditionally inject
  -Werror=implicit-function-declaration to gcc to make sure we can spot
  the use of removed API calls (e.g. missing signatures for ap_*
  functions). Note, this might also cause false positives in some cases.

These are the outcome criterias we defined:

* VERIFIED-OK: The package rebuilt and linked successfully using the
  Apache 2.4 development headers. It still needs adapting to Debian
  package changes
* VERIFIED-FAIL: The package does not rebuild successufully using the
  Apache 2.4 development headers. It may need some porting in the
  upstream code base
* BYHAND: We may rebuild your package another time with manual
  interception. Not clear outcome could be determined out of the build
  log

This is the outcome we determined:

outcome: VERIFIED-FAIL
comment: needs porting: fatal error: apr.h: No such file or directory

You will find a full build log attached below.

Here are some hints about porting problems. See [1] for a comprehensive
overview:

error: 'conn_rec' has no member named 'remote_ip'

These fields have been renamed in order to distinguish between
the client IP address of the connection and the useragent IP
address of the request. Porting is trivial, in most cases
changing the pointer from conn_rec-remote_ip to
request_rec-useragent_ip is enough

error: implicit declaration of function 'ap_requires'
error: implicit declaration of function 'ap_default_type'

These functions were removed along the 2.2 authnz API. It needs
a non-trivial API redesign.

error: implicit declaration of function 'ap_get_server_version'

Use ap_get_server_banner()

error: format not a string literal and no format arguments 
[-Werror=format-security]

Apache2 modules are being built with hardening build flags now
in order to satisfy the hardening release goal [2]. A trivial
fix comes over that problem.

[1] http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html
[2] http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags


libapache-mod-musicindex_1.3.7-2-amd64-20120504-0404.gz
Description: Binary data


Bug#666834: Test rebuild of your package libapache-mod-musicindex

2012-05-05 Thread Thibaut VARENE
I don't get it: I thought Apache 2.4 wasn't scheduled for Wheezy?

On Sat, May 5, 2012 at 1:48 PM,  a...@debian.org wrote:
 tags 666834 '+upstream'
 thanks
 Dear maintainer,

 this is a follow-up message to your Apache 2.4 transition bug for
 package libapache-mod-musicindex. We are approaching an upload of the web 
 server to
 Debian's Unstable repository as soon as the release team acknowledges
 the upload. Along that upload we are planning to raise the importance of
 this bug to a release-critical severity.

 Please port your packages now to Apache 2.4. Below you can find a
 test-rebuild for your package for the 2.4 version of the Apache web
 server. Please note, even if the rebuild was successful, you still need
 to make changes in the Debian specific part of your package.

 The rebuild below was made by using a specially prepared build
 environment where these conditions where met:

 * We had apache2 and apache2-dev preinstalled
 * We provided a void apache2-threaded-dev and apache2-prefork-dev
  package to satisfy build-dependencies of your existing package (but
  this WILL NOT be the case in a real upload of the apache2 source
  package)
 * We prepared apxs to unconditionally inject
  -Werror=implicit-function-declaration to gcc to make sure we can spot
  the use of removed API calls (e.g. missing signatures for ap_*
  functions). Note, this might also cause false positives in some cases.

 These are the outcome criterias we defined:

 * VERIFIED-OK: The package rebuilt and linked successfully using the
  Apache 2.4 development headers. It still needs adapting to Debian
  package changes
 * VERIFIED-FAIL: The package does not rebuild successufully using the
  Apache 2.4 development headers. It may need some porting in the
  upstream code base
 * BYHAND: We may rebuild your package another time with manual
  interception. Not clear outcome could be determined out of the build
  log

 This is the outcome we determined:

 outcome: VERIFIED-FAIL
 comment: needs porting: fatal error: apr.h: No such file or directory

 You will find a full build log attached below.

 Here are some hints about porting problems. See [1] for a comprehensive
 overview:

 error: 'conn_rec' has no member named 'remote_ip'

        These fields have been renamed in order to distinguish between
        the client IP address of the connection and the useragent IP
        address of the request. Porting is trivial, in most cases
        changing the pointer from conn_rec-remote_ip to
        request_rec-useragent_ip is enough

 error: implicit declaration of function 'ap_requires'
 error: implicit declaration of function 'ap_default_type'

        These functions were removed along the 2.2 authnz API. It needs
        a non-trivial API redesign.

 error: implicit declaration of function 'ap_get_server_version'

        Use ap_get_server_banner()

 error: format not a string literal and no format arguments 
 [-Werror=format-security]

        Apache2 modules are being built with hardening build flags now
        in order to satisfy the hardening release goal [2]. A trivial
        fix comes over that problem.

 [1] http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html
 [2] http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags



-- 
Thibaut VARENE
http://www.parisc-linux.org/~varenet/



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#666834: Test rebuild of your package libapache-mod-musicindex

2012-05-05 Thread Arno Töll
Hi,

On 05.05.2012 19:44, Thibaut VARENE wrote:
 I don't get it: I thought Apache 2.4 wasn't scheduled for Wheezy?

what makes you think that? We definitively want to have 2.4 in Wheezy.
However, the final decision might come from the release team.

-- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D



signature.asc
Description: OpenPGP digital signature


Bug#666834: Test rebuild of your package libapache-mod-musicindex

2012-05-05 Thread Thibaut VARENE
On Sat, May 5, 2012 at 7:48 PM, Arno Töll a...@debian.org wrote:
 Hi,

 On 05.05.2012 19:44, Thibaut VARENE wrote:
 I don't get it: I thought Apache 2.4 wasn't scheduled for Wheezy?

 what makes you think that? We definitively want to have 2.4 in Wheezy.
 However, the final decision might come from the release team.

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.

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).

Thanks

-- 
Thibaut VARENE
http://www.parisc-linux.org/~varenet/



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org