Re: FreeBSD FreeRADIUS port updated to 1.1.5, with various enhancements



Hi Nicolas, Alan and everyone,

In message <20070330154523.GK13921@asuka.tech.sitadelle.com>, Nicolas Baradakis <nbk@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@wood2.org.uk




This archive was generated by a fusion of Pipermail (Mailman edition) and MHonArc.