Subject: Re: Patch problem for www/ap-auth-external package
To: Jean-Yves Migeon <jeanyves.migeon@free.fr>
From: Stephen Borrill <netbsd@precedence.co.uk>
List: tech-pkg
Date: 11/12/2007 09:48:23
On Sat, 10 Nov 2007, Jean-Yves Migeon wrote:
> Today, I tried building the www/ap-auth-external package, for apache2, in 
> pkgsrc-current. Unfortunately, it fails upon patching:
>
> # make install
> [snip]
> 2 out of 2 hunks failed--saving rejects to mod_auth_external.c.rej
> Patch /usr/pkgsrc/www/ap-auth-external/patches/patch-aa failed
> ERROR: Patching failed due to modified or broken patch file(s):
> ERROR:  /usr/pkgsrc/www/ap-auth-external/patches/patch-aa
> *** Error code 1
>
> Stop.
> make: stopped in /usr/pkgsrc/www/ap-auth-external
> *** Error code 1
>
> Stop.
> make: stopped in /usr/pkgsrc/www/ap-auth-external
>
> Seems that the patch step failed, for patch-aa. When looking deeper, I found 
> that the patch has been done against the Apache 1.3 API (looking for 
> ap_pstrcat routine), whereas the Apache 2 API uses apr_pstrcat (notice the 
> "r"). As a consequence, the patch fails during make, as it can not fix 
> mod_auth_external.c (version 2.2.11 - API apache 2) properly.

Yes, the patch has failed, but not quite for that reason. You'll see the 
first hunk has failed too. This is because the line numbers don't line up.

Thanks for the bug report.

It was a nice idea to try to generate modules for 1.3 and 2.x from the 
same package, but it's not really extensible because the source files are 
different (and have different version numbers too). Therefore, I think 
this should be split this into ap-auth-external (for 1.3) and 
ap2-auth-external (for 2.x). I'll try to find some time to do this this 
week.

I've added tech-pkg@ to the CC: list as I'd appreciate some feedback on 
whether any problems are anticipated when changing from:

ap-auth-external
 	-> ap13-auth-external-2.1.19nb2
 	-> ap2-auth-external-2.2.11nb2

to:

ap-auth-external
 	-> ap13-auth-external-2.1.19nb2
ap2-auth-external
 	 -> ap2-auth-external-2.2.11nb2

i.e. the ap2 package comes from a different pkgsrc folder to where it 
previously came from. This may have ramifications on updates, etc.

-- 
Stephen