FreeBSD FreeRADIUS port updated to 1.1.5, with various enhancements

David Wood david at wood2.org.uk
Sun Apr 1 02:12:10 CEST 2007


Hi Nicolas, Alan and everyone,

In message <20070330154523.GK13921 at asuka.tech.sitadelle.com>, Nicolas 
Baradakis <nbk at sitadelle.com> writes
>David Wood wrote:
>
>> The second group of patches that remain I'm going to post below -
>> because I think they might be candidates for committing to FreeRADIUS
>> itself. It was clearly felt by previous contributors to the port that
>> the Makefiles don't always contain $(CFLAGS) when they would be expected
>> to.
>>
<snip>
>
>The patch adds $(CFLAGS) during the *link*. (not during compile)
>
>The linker doesn't need options such as "-O3" or "-I/path/to/include"
>therefore I'd like to know the reasons why you believe this patch
>would be useful.

I can't think of a reason why it was useful, and I really can't figure 
out why it was ever added. As you say, all three of these patches relate 
to link steps, not compilation ones.

I've deleted these three patches from the version of the port in my 
local Subversion repository.


>> There's one patch I wrote, which I think is a bug in a Makefile for
>> 1.1.4 and 1.1.5 (hence the file name of patch-raddb-Makefile-1.1.4_bug):
>>
>> [...]
>>
>> otppasswd.sample seems to have disappeared from 1.1.4 onwards - is this
>> a bug in that Makefile as I believe? If so, can that be fixed in CVS?
>
>Indeed it looks like a bug. I've fixed it in CVS.

Thanks for the confirmation - that's another patch I look forward to 
throwing away.


>> There's two other things I'm currently modifying the source to achieve,
>> on which I'd appreciate comments.
>>
>> patch-doc::Makefile surrounds the contents of the install target in
>> doc/Makefile with #ifndef NOPORTDOCS ... #endif. FreeBSD ports have to
>> respect this flag. Is a neater way to pass --with-docdir=/dev/null to
>> configure if NOPORTDOCS is defined (which I haven't tried) and abandon
>> the patch. Has anyone any other suggestions?
>
>Every downstream distribution has its own mechanism to mark the
>files as "documentation".

--with-docdir=/dev/null results in
mkdir: /dev/null: File exists

It looks like the patch (or some other way of modifying doc/Makefile) 
will have to stay. I will continue to modify the source in some suitable 
way to achieve this.


>> To install the sample raddb files in the correct location, I'm running
>> sed across all Makefile and Makefile.in files, replacing $(R)$(raddbdir)
>> with the appropriate location. I'd rather do this via configure, but if
>> I use --with-raddbdir, that changes the install location of the files
>> *and* the default location the server looks for those files. The latter
>> change isn't wanted.
>
>Every downstream distribution has its own mechanism to handle the
>config files. I don't know the opinion of the others, but I'm unsure
>about a configure option that's useful for the FreeBSD port only.

We have a consensus on this - Alan suggests a sed script.

I have tidied up the way I'm doing this in my local version of the port. 
It's now a couple of find commands with explanatory comments. The first 
runs sed across each Makefile and Makefile.in, whilst the second removes 
the .bak files (so that the one in doc/ isn't installed as 
documentation). That will do fine.


With the changes outlined above, I've got one patch which should be 
unnecessary in 1.1.6 and onwards (because the underlying problem in the 
source has been fixed), one patch that I believe is only needed for 
FreeBSD 4.x compatibility (which I expect to remove when that is 
discontinued), and one patch that's needed to support NOPORTDOCS.

That's much more maintainable than the nine patches the port had when I 
first took the FreeRADIUS FreeBSD port over.



Thanks for your comments and support,





David
-- 
David Wood
david at wood2.org.uk



More information about the Freeradius-Users mailing list