Re: Need help with making RPM from v2.x.x branch

2013-05-10 Thread Divyesh Raithatha
It appears that the created RPM doesn't include the TLV update that were
made to the 2.x.x branch last week.  Why wouldn't this be inlcuded in the
RPM even though I am building the RPM with the current 2.x.x. source?

Thanks.

On Wed, May 8, 2013 at 5:42 PM, Divyesh Raithatha 
divyesh.raitha...@gmail.com wrote:

 Thanks everyone.  Finally got the RPM build to work by doing the following:

 Version:  2.2.0 in the top of the freeradius.spec file to 2.2.1, and
 renaming source
 bz2 file to freeradius-server-2.2.1.tar.**bz2

 Along with commenting out patches 2 and 5
 #Patch2: freeradius-radtest.patch
 #Patch5: freeradius-radeapclient-ipv6.patch


 Changing the README line to README.rst
 # install doc files omitted by standard install
 for f in COPYRIGHT CREDITS INSTALL README.rst; do
 cp $f $RPM_BUILD_ROOT/%{docdir}
 diff freeradius.spec ~/freeradius-server-2.2.1/redhat/freeradius.spec
 3c3
  Version: 2.2.0
 ---
  Version: 2.2.1
 15c15
  Patch2: freeradius-radtest.patch
 ---
  #Patch2: freeradius-radtest.patch
 18c18
  Patch5: freeradius-radeapclient-ipv6.patch
 ---
  #Patch5: freeradius-radeapclient-ipv6.patch
 152c152
  %patch2 -p1 -b .radtest
 ---
  #%patch2 -p1 -b .radtest
 155c155
  %patch5 -p1 -b .radeapclient-ipv6
 ---
  #%patch5 -p1 -b .radeapclient-ipv6
 239c239
  for f in COPYRIGHT CREDITS INSTALL README; do
 ---
  for f in COPYRIGHT CREDITS INSTALL README.rst; do
 By commenting out patch 2 and patch 5 what am I missing, if anything?

 On Wed, May 8, 2013 at 8:20 AM, John Dennis jden...@redhat.com wrote:

 On 05/08/2013 03:19 AM, Fajar A. Nugraha wrote:

 On Wed, May 8, 2013 at 1:50 PM, Raithatha, Divyesh
 divyesh.raitha...@gmail.com wrote:

 Thanks, I got past the README but now I am getting the following file
 not found errors.  They do exist, however, it looks like the build is
 looking for version 2.2.0 of the library files yet they are listed as 
 2.2.1.


 error: File not found: /home/test/rpmbuild/BUILDROOT/**
 freeradius-2.2.0-1.el6.x86_64/**etc/raddb/certs/README.rst


 That's kinda tricky. Look at %files section in the spec file.

 The cleanest solution right now would probably be changing Version:
 2.2.0 in the top of the make file to 2.2.1, AND rename your source
 bz2 file to freeradius-server-2.2.1.tar.**bz2.


 The version macro in the spec file, the version embedded in tar file
 name, and the contents of tar file all *MUST* match. You have to be precise
 with what version you're building.

 I assumed that was obvious as opposed to being tricky ;-)


 Another way would be changing the files section, from (e.g.)

 %{_libdir}/freeradius/rlm_**acct_unique-%{version}.so

 to

 %{_libdir}/freeradius/rlm_**acct_unique-*.so

 ... or even try deleting all rlm_* lines and replace them with a
 one-liner

 %{_libdir}/freeradius/rlm_*.**so*



 --
 John Dennis jden...@redhat.com

 Looking to carve out IT costs?
 www.redhat.com/carveoutcosts/
 -
 List info/subscribe/unsubscribe? See http://www.freeradius.org/**
 list/users.html http://www.freeradius.org/list/users.html



-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Re: Need help with making RPM from v2.x.x branch

2013-05-10 Thread John Dennis

On 05/10/2013 12:05 PM, Divyesh Raithatha wrote:

It appears that the created RPM doesn't include the TLV update that were
made to the 2.x.x branch last week.  Why wouldn't this be inlcuded in
the RPM even though I am building the RPM with the current 2.x.x. source?


Use the source Luke :-)

I assume you built from git, therefore you've got every piece of 
information you need to figure this out. git log will give you exact 
information.


--
John Dennis jden...@redhat.com

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: Need help with making RPM from v2.x.x branch

2013-05-08 Thread Raithatha, Divyesh
Thanks, I got past the README but now I am getting the following file not found 
errors.  They do exist, however, it looks like the build is looking for version 
2.2.0 of the library files yet they are listed as 2.2.1.


error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/etc/raddb/certs/README.rst
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_acct_unique-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_acctlog-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_always-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_attr_filter-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_attr_rewrite-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_cache-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_chap-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_checkval-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_copy_packet-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_counter-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_dbm-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_detail-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_digest-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_dynamic_clients-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap_gtc-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap_leap-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap_md5-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap_mschapv2-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap_peap-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap_sim-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap_tls-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_eap_ttls-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_exec-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_expiration-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_expr-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_fastusers-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_files-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_ippool-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_linelog-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_logintime-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_mschap-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_otp-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_pam-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_pap-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_passwd-2.2.0.so
error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/usr/lib64/freeradius/rlm_policy-2.2.0.so

Re: Need help with making RPM from v2.x.x branch

2013-05-08 Thread Fajar A. Nugraha
On Wed, May 8, 2013 at 1:50 PM, Raithatha, Divyesh
divyesh.raitha...@gmail.com wrote:
 Thanks, I got past the README but now I am getting the following file not 
 found errors.  They do exist, however, it looks like the build is looking for 
 version 2.2.0 of the library files yet they are listed as 2.2.1.


 error: File not found: 
 /home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/etc/raddb/certs/README.rst

That's kinda tricky. Look at %files section in the spec file.

The cleanest solution right now would probably be changing Version:
2.2.0 in the top of the make file to 2.2.1, AND rename your source
bz2 file to freeradius-server-2.2.1.tar.bz2.

Another way would be changing the files section, from (e.g.)

%{_libdir}/freeradius/rlm_acct_unique-%{version}.so

to

%{_libdir}/freeradius/rlm_acct_unique-*.so

... or even try deleting all rlm_* lines and replace them with a one-liner

%{_libdir}/freeradius/rlm_*.so*

-- 
Fajar
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: Need help with making RPM from v2.x.x branch

2013-05-08 Thread Phil Mayers

On 05/08/2013 08:19 AM, Fajar A. Nugraha wrote:


%{_libdir}/freeradius/rlm_acct_unique-*.so


FWIW this is the approach we usually take when packaging things; it 
seems pointless to me to embed version numbers into %files macros. I'm 
aware this is probably frowned on by some packaging guidelines, but it 
works well for us ;o)

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: Need help with making RPM from v2.x.x branch

2013-05-08 Thread John Dennis

On 05/08/2013 03:19 AM, Fajar A. Nugraha wrote:

On Wed, May 8, 2013 at 1:50 PM, Raithatha, Divyesh
divyesh.raitha...@gmail.com wrote:

Thanks, I got past the README but now I am getting the following file not found 
errors.  They do exist, however, it looks like the build is looking for version 
2.2.0 of the library files yet they are listed as 2.2.1.


error: File not found: 
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/etc/raddb/certs/README.rst


That's kinda tricky. Look at %files section in the spec file.

The cleanest solution right now would probably be changing Version:
2.2.0 in the top of the make file to 2.2.1, AND rename your source
bz2 file to freeradius-server-2.2.1.tar.bz2.


The version macro in the spec file, the version embedded in tar file 
name, and the contents of tar file all *MUST* match. You have to be 
precise with what version you're building.


I assumed that was obvious as opposed to being tricky ;-)



Another way would be changing the files section, from (e.g.)

%{_libdir}/freeradius/rlm_acct_unique-%{version}.so

to

%{_libdir}/freeradius/rlm_acct_unique-*.so

... or even try deleting all rlm_* lines and replace them with a one-liner

%{_libdir}/freeradius/rlm_*.so*




--
John Dennis jden...@redhat.com

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: Need help with making RPM from v2.x.x branch

2013-05-08 Thread Divyesh Raithatha
Thanks everyone.  Finally got the RPM build to work by doing the following:

Version:  2.2.0 in the top of the freeradius.spec file to 2.2.1, and
renaming source
bz2 file to freeradius-server-2.2.1.tar.**bz2

Along with commenting out patches 2 and 5
#Patch2: freeradius-radtest.patch
#Patch5: freeradius-radeapclient-ipv6.patch


Changing the README line to README.rst
# install doc files omitted by standard install
for f in COPYRIGHT CREDITS INSTALL README.rst; do
cp $f $RPM_BUILD_ROOT/%{docdir}
diff freeradius.spec ~/freeradius-server-2.2.1/redhat/freeradius.spec
3c3
 Version: 2.2.0
---
 Version: 2.2.1
15c15
 Patch2: freeradius-radtest.patch
---
 #Patch2: freeradius-radtest.patch
18c18
 Patch5: freeradius-radeapclient-ipv6.patch
---
 #Patch5: freeradius-radeapclient-ipv6.patch
152c152
 %patch2 -p1 -b .radtest
---
 #%patch2 -p1 -b .radtest
155c155
 %patch5 -p1 -b .radeapclient-ipv6
---
 #%patch5 -p1 -b .radeapclient-ipv6
239c239
 for f in COPYRIGHT CREDITS INSTALL README; do
---
 for f in COPYRIGHT CREDITS INSTALL README.rst; do
By commenting out patch 2 and patch 5 what am I missing, if anything?

On Wed, May 8, 2013 at 8:20 AM, John Dennis jden...@redhat.com wrote:

 On 05/08/2013 03:19 AM, Fajar A. Nugraha wrote:

 On Wed, May 8, 2013 at 1:50 PM, Raithatha, Divyesh
 divyesh.raitha...@gmail.com wrote:

 Thanks, I got past the README but now I am getting the following file
 not found errors.  They do exist, however, it looks like the build is
 looking for version 2.2.0 of the library files yet they are listed as 2.2.1.


 error: File not found: /home/test/rpmbuild/BUILDROOT/**
 freeradius-2.2.0-1.el6.x86_64/**etc/raddb/certs/README.rst


 That's kinda tricky. Look at %files section in the spec file.

 The cleanest solution right now would probably be changing Version:
 2.2.0 in the top of the make file to 2.2.1, AND rename your source
 bz2 file to freeradius-server-2.2.1.tar.**bz2.


 The version macro in the spec file, the version embedded in tar file name,
 and the contents of tar file all *MUST* match. You have to be precise with
 what version you're building.

 I assumed that was obvious as opposed to being tricky ;-)


 Another way would be changing the files section, from (e.g.)

 %{_libdir}/freeradius/rlm_**acct_unique-%{version}.so

 to

 %{_libdir}/freeradius/rlm_**acct_unique-*.so

 ... or even try deleting all rlm_* lines and replace them with a one-liner

 %{_libdir}/freeradius/rlm_*.**so*



 --
 John Dennis jden...@redhat.com

 Looking to carve out IT costs?
 www.redhat.com/carveoutcosts/
 -
 List info/subscribe/unsubscribe? See http://www.freeradius.org/**
 list/users.html http://www.freeradius.org/list/users.html

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Re: Need help with making RPM from v2.x.x branch

2013-05-07 Thread Fajar A. Nugraha
On Tue, May 7, 2013 at 3:35 AM, Divyesh Raithatha
divyesh.raitha...@gmail.com wrote:

 to get past the patch error messages but I get another error below:



 + cp README 
 /home/divtest/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64//usr/share/doc/freeradius-2.2.0


Look at the spec file, change

cp README 
/home/divtest/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64//usr/share/doc/freeradius-2.2.0
to

cp README.rst 
/home/divtest/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64//usr/share/doc/freeradius-2.2.0

... and look near %files, change README to README.rst there as well.

--
Fajar
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: Need help with making RPM from v2.x.x branch

2013-05-07 Thread Fajar A. Nugraha
On Tue, May 7, 2013 at 4:28 AM, John Dennis jden...@redhat.com wrote:

 These project maintained build configurations are best thought of as
 bleeding edge developer stuff. Make some change and you want to test on
 Fedora or Debian and need packages, then these build directories are the
 goto place, Or for those cases where a distribution has not caught up with
 upstream yet, then this can serve a useful purpose as well (as long as they
 stay generic, see below), another variant of the this is only for the
 latest and greatest.


You've pretty much covered it.



 My suggestion is for upstream FreeRADIUS to maintain a generic Red Hat RPM
 spec file which is vanilla as possible without any patches whatsoever. In
 theory current upstream shouldn't need patches. Also any customization we
 might do really should come from us, not upstream. If one is building an
 RPM from the current FreeRADIUS version using the FreeRADIUS RPM spec file
 then one should get a vanilla FreeRADIUS build whose only customization
 extends to assuring the same file locations, package names, etc. are used.
 You pretty much get this for free. I would take an existing spec file strip
 out all the patches, changelog, etc. and then one only needs to take a look
 at the options passed to configure (I'm thinking about options which
 control which modules are built).



IMHO some of it (e.g. changelog, patches for cert config) is/was necessary.

My use case was that I wanted the build to be as much drop-in as possible,
so I can (for example) upgrade to 2.2.1 as soon as possible when it comes
out, but switch to Red Hat's official RPM when it's available, without
having to change my config. Without some of the patches, I'd need to modify
my config file as well.



 Would we like to maintain the ./redhat subdirectory?

 No, for two reasons.

 1. It's impossible, as pointed out above there is no single spec file,
 each spec file is tied to a specific release. We maintain *independent*
 spec files for *every* distribution version we support, at the moment that
 numbers in the dozens :-(


Yeah. Before 2.2.0 was out, I made sure that I can build RPMs for RHEL5 and
6 (because that's what I use), and submit the necessary changes upstream.
It seems to be enough (i.e. those two versions made up for most who need to
build a Red Hat RPM), because IIRC there hasn't been a mail to the list
about I need to build FR 2.2.0 RPM for X flavor or Red Hat but the
included spec file doesn't work.



 2. We already maintain them and they are publicly available for anyone to
 download. Trying to maintain multiple copies in multiple repositories and
 assuring they all stay in sync doesn't seem justified.


Thanks for the effort.

If no one else does this first, I'd probably submit patches to make FR debs
and RPMs build cleanly before 2.2.1 is out (need to dig out my lxc
templates first). That way at least people can build packages for released
version.

-- 
Fajar
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Re: Need help with making RPM from v2.x.x branch

2013-05-07 Thread Alan DeKok
John Dennis wrote:
 Why does FreeRADIUS maintain build configurations for Red Hat and
 Debian?

  Part historical reasons.  RPMs were difficult to find, and it was
easier to include RPM scripts in the server.

  It also means it's easy for people to build custom RPMs.  They can use
an established spec distributed with the server.  They don't have to
search for spec files.

 I can't speak for Debian, I'm not a Deb package maintainer, but at least
 in the Red Hat world there isn't just one Red Hat distribution, there
 are many and each can have different build requirements build
 configurations.

  Yes.  The files distributed with the server should create *a* package.
 Not *the* canonical package.  It will work, and will follow your system
packaging method.  But it won't be identical to an upstream package.

 Another problem is the spec file under ./redhat is forever getting out
 of sync (as evidenced by the OP). Patch sets are a superb example of
 this (compounded by the problem there is no single rpm spec file for all
 Red Hat versions).

  For our purposes, there doesn't need to be.

 My suggestion is for upstream FreeRADIUS to maintain a generic Red Hat
 RPM spec file which is vanilla as possible without any patches
 whatsoever. In theory current upstream shouldn't need patches. Also any
 customization we might do really should come from us, not upstream. If
 one is building an RPM from the current FreeRADIUS version using the
 FreeRADIUS RPM spec file then one should get a vanilla FreeRADIUS build
 whose only customization extends to assuring the same file locations,
 package names, etc. are used. You pretty much get this for free. I would
 take an existing spec file strip out all the patches, changelog, etc.
 and then one only needs to take a look at the options passed to
 configure (I'm thinking about options which control which modules are
 built).

  That's pretty much the goal, yes.

 The generic RPM spec file that upstream maintains should be exercised on
 regular basis. Far too often we've seen upstream changes that required
 spec file changes but which were never done (e.g. add/removing modules
 and/or other files).

  I have a redhat VM around somewhere...

  Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: Need help with making RPM from v2.x.x branch

2013-05-07 Thread John Dennis

On 05/07/2013 04:46 AM, Fajar A. Nugraha wrote:

On Tue, May 7, 2013 at 4:28 AM, John Dennis jden...@redhat.com
mailto:jden...@redhat.com wrote:

These project maintained build configurations are best thought of as
bleeding edge developer stuff. Make some change and you want to
test on Fedora or Debian and need packages, then these build
directories are the goto place, Or for those cases where a
distribution has not caught up with upstream yet, then this can
serve a useful purpose as well (as long as they stay generic, see
below), another variant of the this is only for the latest and
greatest.


You've pretty much covered it.


My suggestion is for upstream FreeRADIUS to maintain a generic Red
Hat RPM spec file which is vanilla as possible without any patches
whatsoever. In theory current upstream shouldn't need patches. Also
any customization we might do really should come from us, not
upstream. If one is building an RPM from the current FreeRADIUS
version using the FreeRADIUS RPM spec file then one should get a
vanilla FreeRADIUS build whose only customization extends to
assuring the same file locations, package names, etc. are used. You
pretty much get this for free. I would take an existing spec file
strip out all the patches, changelog, etc. and then one only needs
to take a look at the options passed to configure (I'm thinking
about options which control which modules are built).



IMHO some of it (e.g. changelog, patches for cert config) is/was necessary.


Yes, this is sensible. My suggestion was mostly aimed at simplifying the 
task with the hope it would then be more robust and easier to maintain.




My use case was that I wanted the build to be as much drop-in as
possible, so I can (for example) upgrade to 2.2.1 as soon as possible
when it comes out, but switch to Red Hat's official RPM when it's
available, without having to change my config. Without some of the
patches, I'd need to modify my config file as well.


I think the only thing of consequence we customize is the bootstrap cert 
creation which is done via RPM during the install step (plus tweaking 
some of the cert parameters to tighten up security).


Any other patches are bug fixes found either by our QA team or 
customers. Those are usually break down into one of two categories. 
Fixes upstream has made post release and we've 'backported' or fixes 
we've made and have submitted to the project. The lifetime of these 
patches is short because in almost every instance the next upstream 
release has addressed the issue. Kudos to the team for that. So my 
thought was if you didn't try to mirror that patch set it would be much 
easier and little would be lost.



Would we like to maintain the ./redhat subdirectory?

No, for two reasons.

1. It's impossible, as pointed out above there is no single spec
file, each spec file is tied to a specific release. We maintain
*independent* spec files for *every* distribution version we
support, at the moment that numbers in the dozens :-(


Yeah. Before 2.2.0 was out, I made sure that I can build RPMs for RHEL5
and 6 (because that's what I use), and submit the necessary changes
upstream. It seems to be enough (i.e. those two versions made up for
most who need to build a Red Hat RPM), because IIRC there hasn't been a
mail to the list about I need to build FR 2.2.0 RPM for X flavor or Red
Hat but the included spec file doesn't work.


Currently the biggest pain point is the transition from SysV initscripts 
to systemd. How daemons are installed and configured is different 
between Fedora and RHEL at the moment and because systemd is still in a 
bit of flux things can be different even between Fedora releases. 
Differences in BuildRequires occur less often, but do occur.


There is a everlasting debate as to whether it's best to maintain one 
spec file thats common across distributions and parameterize so that it 
behaves differently in different targets or whether it's best to 
maintain completely different spec files and merge changes across them.


Those who argue for merging cite the complexity of parameterized spec 
files complaining all that conditional logic is difficult to work with 
and fragile making it difficult to maintain. Those who argue for 
parameterizing cite how merging is fragile and is difficult to maintain.


So obviously there isn't one right way. But because we're so constrained 
as to what can appear in RHEL (every change has to have numerous 
approvals) I gave up on trying to use Fedora spec files in RHEL and 
instead merge the leading edge Fedora into RHEL.





2. We already maintain them and they are publicly available for
anyone to download. Trying to maintain multiple copies in multiple
repositories and assuring they all stay in sync doesn't seem justified.


Thanks for the effort.

If no one else does this first, I'd probably submit patches to make FR

Need help with making RPM from v2.x.x branch

2013-05-06 Thread Divyesh Raithatha
Hello all, has anyone had success in building an RPM from the v2.x.x branch
from http://git.freeradius.org?

I am following the information from
http://wiki.freeradius.org/guide/Red-Hat-FAQ

On a CentOS 6.4 x64 system I was able to build an RPM from 2.2.0 source
successfully but I want to get all of the recent patches from the v2.x.x
branch.  However, when I tried to build the RPM from v2.x.x I get the
following message:


Hunk #1 FAILED at 121.
1 out of 1 hunk FAILED -- saving rejects to file src/main/radtest.in.rej
error: Bad exit status from /var/tmp/rpm-tmp.uETav5 (%prep)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.uETav5 (%prep)


Here is the radtest.in.rej file contents:

--- src/main/radtest.in 2011-09-30 10:12:07.0 -0400
+++ src/main/radtest.in 2012-01-05 15:51:56.877585514 -0500
@@ -121,7 +121,7 @@
echo EAP-Code = Response
echo EAP-Type-Identity = \$1\
fi
-   if [ $6 ]
+   if [ ! -z $6 ]  [[ $6 =~ ^[0-9]+$ ]]  [ $6 -gt 0 ]
then
echo Framed-Protocol = PPP
fi





Here is the contents of /var/tmp/rpm-tmp.uETav5

#!/bin/sh

  RPM_SOURCE_DIR=/home/test/rpmbuild/SOURCES
  RPM_BUILD_DIR=/home/test/rpmbuild/BUILD
  RPM_OPT_FLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
  RPM_ARCH=x86_64
  RPM_OS=linux
  export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
  RPM_DOC_DIR=/usr/share/doc
  export RPM_DOC_DIR
  RPM_PACKAGE_NAME=freeradius
  RPM_PACKAGE_VERSION=2.2.0
  RPM_PACKAGE_RELEASE=1.el6
  export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
  LANG=C
  export LANG
  unset CDPATH DISPLAY ||:

RPM_BUILD_ROOT=/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64
  export RPM_BUILD_ROOT

  PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/share/pkgconfig
  export PKG_CONFIG_PATH

  set -x
  umask 022
  cd /home/test/rpmbuild/BUILD
LANG=C
export LANG
unset DISPLAY

cd '/home/test/rpmbuild/BUILD'
rm -rf 'freeradius-server-2.2.0'
/usr/bin/bzip2 -dc
'/home/test/rpmbuild/SOURCES/freeradius-server-2.2.0.tar.bz2' | /bin/tar
-xf -
STATUS=$?
if [ $STATUS -ne 0 ]; then
  exit $STATUS
fi
cd 'freeradius-server-2.2.0'
/bin/chmod -Rf a+rX,u+w,g-w,o-w .
echo Patch #1 (freeradius-cert-config.patch):
/bin/cat /home/test/rpmbuild/SOURCES/freeradius-cert-config.patch |
/usr/bin/patch  -p1 -b --suffix .cert-config --fuzz=0

echo Patch #2 (freeradius-radtest.patch):
/bin/cat /home/test/rpmbuild/SOURCES/freeradius-radtest.patch |
/usr/bin/patch  -p1 -b --suffix .radtest --fuzz=0

#%patch3 -p1 -b .man
#%patch4 -p1 -b .unix-passwd-expire
echo Patch #5 (freeradius-radeapclient-ipv6.patch):
/bin/cat /home/test/rpmbuild/SOURCES/freeradius-radeapclient-ipv6.patch |
/usr/bin/patch  -p1 -b --suffix .radeapclient-ipv6 --fuzz=0

#%patch6 -p1
#%patch7 -p1 -b perl
echo Patch #8 (freeradius-dhcp_sqlippool.patch):
/bin/cat /home/test/rpmbuild/SOURCES/freeradius-dhcp_sqlippool.patch |
/usr/bin/patch  -p1  --fuzz=0


# Some source files mistakenly have execute permissions set
find $RPM_BUILD_DIR/freeradius-server-2.2.0 \( -name '*.c' -o -name '*.h'
\) -a -perm /0111 -exec chmod a-x {} +

exit 0


Any Ideas?

Thank you.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Re: Need help with making RPM from v2.x.x branch

2013-05-06 Thread John Dennis

On 05/06/2013 02:57 PM, Divyesh Raithatha wrote:

Hello all, has anyone had success in building an RPM from the v2.x.x
branch from http://git.freeradius.org?
I am following the information from
http://wiki.freeradius.org/guide/Red-Hat-FAQ
On a CentOS 6.4 x64 system I was able to build an RPM from 2.2.0 source
successfully but I want to get all of the recent patches from the v2.x.x
branch.  However, when I tried to build the RPM from v2.x.x I get the
following message:

Hunk #1 FAILED at 121.
1 out of 1 hunk FAILED -- saving rejects to file src/main/radtest.in.rej
error: Bad exit status from /var/tmp/rpm-tmp.uETav5 (%prep)
RPM build errors:
 Bad exit status from /var/tmp/rpm-tmp.uETav5 (%prep)

Here is the radtest.in.rej file contents:

--- src/main/radtest.in http://radtest.in 2011-09-30
10:12:07.0 -0400
+++ src/main/radtest.in http://radtest.in 2012-01-05
15:51:56.877585514 -0500
@@ -121,7 +121,7 @@
 echo EAP-Code = Response
 echo EAP-Type-Identity = \$1\
 fi
-   if [ $6 ]
+   if [ ! -z $6 ]  [[ $6 =~ ^[0-9]+$ ]]  [ $6 -gt 0 ]
 then
 echo Framed-Protocol = PPP
 fi

Here is the contents of /var/tmp/rpm-tmp.uETav5

#!/bin/sh
   RPM_SOURCE_DIR=/home/test/rpmbuild/SOURCES
   RPM_BUILD_DIR=/home/test/rpmbuild/BUILD
   RPM_OPT_FLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic
   RPM_ARCH=x86_64
   RPM_OS=linux
   export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
   RPM_DOC_DIR=/usr/share/doc
   export RPM_DOC_DIR
   RPM_PACKAGE_NAME=freeradius
   RPM_PACKAGE_VERSION=2.2.0
   RPM_PACKAGE_RELEASE=1.el6
   export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
   LANG=C
   export LANG
   unset CDPATH DISPLAY ||:

RPM_BUILD_ROOT=/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64
   export RPM_BUILD_ROOT
   PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/share/pkgconfig
   export PKG_CONFIG_PATH
   set -x
   umask 022
   cd /home/test/rpmbuild/BUILD
LANG=C
export LANG
unset DISPLAY
cd '/home/test/rpmbuild/BUILD'
rm -rf 'freeradius-server-2.2.0'
/usr/bin/bzip2 -dc
'/home/test/rpmbuild/SOURCES/freeradius-server-2.2.0.tar.bz2' |
/bin/tar -xf -
STATUS=$?
if [ $STATUS -ne 0 ]; then
   exit $STATUS
fi
cd 'freeradius-server-2.2.0'
/bin/chmod -Rf a+rX,u+w,g-w,o-w .
echo Patch #1 (freeradius-cert-config.patch):
/bin/cat /home/test/rpmbuild/SOURCES/freeradius-cert-config.patch |
/usr/bin/patch  -p1 -b --suffix .cert-config --fuzz=0
echo Patch #2 (freeradius-radtest.patch):
/bin/cat /home/test/rpmbuild/SOURCES/freeradius-radtest.patch |
/usr/bin/patch  -p1 -b --suffix .radtest --fuzz=0
#%patch3 -p1 -b .man
#%patch4 -p1 -b .unix-passwd-expire
echo Patch #5 (freeradius-radeapclient-ipv6.patch):
/bin/cat
/home/test/rpmbuild/SOURCES/freeradius-radeapclient-ipv6.patch |
/usr/bin/patch  -p1 -b --suffix .radeapclient-ipv6 --fuzz=0
#%patch6 -p1
#%patch7 -p1 -b perl
echo Patch #8 (freeradius-dhcp_sqlippool.patch):
/bin/cat /home/test/rpmbuild/SOURCES/freeradius-dhcp_sqlippool.patch
| /usr/bin/patch  -p1  --fuzz=0
# Some source files mistakenly have execute permissions set
find $RPM_BUILD_DIR/freeradius-server-2.2.0 \( -name '*.c' -o -name
'*.h' \) -a -perm /0111 -exec chmod a-x {} +
exit 0

Any Ideas?


The patch set is targeted at a *specific* freeradius version. You're 
trying to apply patches from one version against another version. 
Sometimes that works, sometimes it doesn't. A patch may not succeed for 
several reasons, the code may have shifted position in the file (fuzz  
0), RPM disallows this because it's evidence of not keeping the spec 
file current against the version being built. You can override this with


%global _default_patch_fuzz 2

at the top of the spec file (2 in this case is an old default before it 
was changed to 0). Overriding the patch fuzz factor is not recommended, 
instead it's recommended you fix the patch to make it 100% correct for 
the current version.


Another reason a patch might not succeed is because the problem was 
already reported upstream and upstream fixed it. If they took the patch 
verbatim then the error you'll see is something akin to Previously 
applied patch or reverse patch. If upstream fixed the issue in some 
other way the patch simply won't apply. Figuring exactly which lines of 
code changed and why is the work of a package maintainer. In this case 
you're assuming that role and you'll have to do that work.



--
John Dennis jden...@redhat.com

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: Need help with making RPM from v2.x.x branch

2013-05-06 Thread Alan DeKok
Divyesh Raithatha wrote:
 Hello all, has anyone had success in building an RPM from the v2.x.x
 branch from http://git.freeradius.org?

  That should work

 I am following the information from
 http://wiki.freeradius.org/guide/Red-Hat-FAQ
  
 On a CentOS 6.4 x64 system I was able to build an RPM from 2.2.0 source
 successfully but I want to get all of the recent patches from the v2.x.x
 branch.

  Go to redhat/freeradius.spec, and delete the following line:

Patch2: freeradius-radtest.patch


  That should cause it to build.

  Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: Need help with making RPM from v2.x.x branch

2013-05-06 Thread Divyesh Raithatha
Thanks Alan, I had to comment out both Patch 2 and 5 sections

#%patch2 -p1 -b .radtest
#%patch5 -p1 -b .radeapclient-ipv6


to get past the patch error messages but I get another error below:



+ cp README
/home/divtest/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64//usr/share/doc/freeradius-2.2.0
cp: cannot stat `README': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.wG9x7h (%install)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.wG9x7h (%install)

Here are the contents of the temp file:

  cat /var/tmp/rpm-tmp.wG9x7h
#!/bin/sh
  RPM_SOURCE_DIR=/home/test/rpmbuild/SOURCES
  RPM_BUILD_DIR=/home/test/rpmbuild/BUILD
  RPM_OPT_FLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
  RPM_ARCH=x86_64
  RPM_OS=linux
  export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
  RPM_DOC_DIR=/usr/share/doc
  export RPM_DOC_DIR
  RPM_PACKAGE_NAME=freeradius
  RPM_PACKAGE_VERSION=2.2.0
  RPM_PACKAGE_RELEASE=1.el6
  export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
  LANG=C
  export LANG
  unset CDPATH DISPLAY ||:

RPM_BUILD_ROOT=/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64
  export RPM_BUILD_ROOT

  PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/share/pkgconfig
  export PKG_CONFIG_PATH

  set -x
  umask 022
  cd /home/test/rpmbuild/BUILD
[ $RPM_BUILD_ROOT != / ]  rm -rf ${RPM_BUILD_ROOT}
mkdir -p `dirname $RPM_BUILD_ROOT`
mkdir $RPM_BUILD_ROOT
cd 'freeradius-server-2.2.0'
LANG=C
export LANG
unset DISPLAY
mkdir -p $RPM_BUILD_ROOT//var/lib/radiusd
# fix for bad libtool bug - can not rebuild dependent libs and bins
#FIXME export LD_LIBRARY_PATH=$RPM_BUILD_ROOT//usr/lib64
make install R=$RPM_BUILD_ROOT
# modify default configuration
RADDB=$RPM_BUILD_ROOT/etc/raddb
perl -i -pe 's/^#user =.*$/user = radiusd/'   $RADDB/radiusd.conf
perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
# logs
mkdir -p $RPM_BUILD_ROOT/var/log/radius/radacct
touch $RPM_BUILD_ROOT/var/log/radius/{radutmp,radius.log}
install -D -m 755 /home/test/rpmbuild/SOURCES/freeradius-radiusd-init
$RPM_BUILD_ROOT//etc/rc.d/init.d/radiusd
install -D -m 644 /home/test/rpmbuild/SOURCES/freeradius-logrotate
$RPM_BUILD_ROOT//etc/logrotate.d/radiusd
install -D -m 644 /home/test/rpmbuild/SOURCES/freeradius-pam-conf
$RPM_BUILD_ROOT//etc/pam.d/radiusd
mkdir -p
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/var/run/
install -d -m 0710
/home/test/rpmbuild/BUILDROOT/freeradius-2.2.0-1.el6.x86_64/var/run/radiusd/
# remove unneeded stuff
rm -rf doc/00-OLD
rm -f $RPM_BUILD_ROOT/usr/sbin/rc.radiusd
rm -rf $RPM_BUILD_ROOT//usr/lib64/freeradius/*.a
rm -rf $RPM_BUILD_ROOT//usr/lib64/freeradius/*.la
rm -rf $RPM_BUILD_ROOT//etc/raddb/sql/mssql
rm -rf $RPM_BUILD_ROOT//etc/raddb/sql/oracle
rm -rf $RPM_BUILD_ROOT//usr/share/dialup_admin/sql/oracle
rm -rf $RPM_BUILD_ROOT//usr/share/dialup_admin/lib/sql/oracle
rm -rf $RPM_BUILD_ROOT//usr/share/dialup_admin/lib/sql/drivers/oracle
# remove header files, we don't ship a devel package and the
# headers have multilib conflicts
rm -rf $RPM_BUILD_ROOT//usr/include
# remove unsupported config files
rm -f $RPM_BUILD_ROOT//etc/raddb/experimental.conf
# install doc files omitted by standard install
for f in COPYRIGHT CREDITS INSTALL README; do
cp $f $RPM_BUILD_ROOT//usr/share/doc/freeradius-2.2.0
done
cp LICENSE $RPM_BUILD_ROOT//usr/share/doc/freeradius-2.2.0/LICENSE.gpl
cp src/lib/LICENSE
$RPM_BUILD_ROOT//usr/share/doc/freeradius-2.2.0/LICENSE.lgpl
cp src/LICENSE.openssl
$RPM_BUILD_ROOT//usr/share/doc/freeradius-2.2.0/LICENSE.openssl
# add Red Hat specific documentation
cat  $RPM_BUILD_ROOT//usr/share/doc/freeradius-2.2.0/REDHAT  EOF
Red Hat, RHEL, Fedora, and CentOS specific information can be found on the
FreeRADIUS Wiki in the Red Hat FAQ.
http://wiki.freeradius.org/guide/Red_Hat_FAQ
Please reference that document.
EOF

# Make sure our user/group is present prior to any package or subpackage
installation

   /usr/lib/rpm/find-debuginfo.sh --strict-build-id
/home/test/rpmbuild/BUILD/freeradius-server-2.2.0
/usr/lib/rpm/check-buildroot

/usr/lib/rpm/redhat/brp-compress

/usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
/usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip
/usr/bin/objdump
/usr/lib/rpm/brp-python-bytecompile
/usr/lib/rpm/redhat/brp-python-hardlink
/usr/lib/rpm/redhat/brp-java-repack-jars

On Mon, May 6, 2013 at 1:09 PM, Alan DeKok al...@deployingradius.comwrote:


 Divyesh Raithatha wrote:
  Hello all, has anyone had success in building an RPM from the v2.x.x
  branch from http://git.freeradius.org?
 
   That should work

  I am following the information from
  http://wiki.freeradius.org/guide/Red-Hat-FAQ
 
  On a CentOS 6.4 x64 system I was able to build an RPM from 2.2.0 source
  successfully but I want to get all of the recent patches from the v2.x.x
  branch.

   Go to redhat/freeradius.spec, 

Re: Need help with making RPM from v2.x.x branch

2013-05-06 Thread John Dennis

On 05/06/2013 04:09 PM, Alan DeKok wrote:

Divyesh Raithatha wrote:

Hello all, has anyone had success in building an RPM from the v2.x.x
branch from http://git.freeradius.org?


   That should work


I am following the information from
http://wiki.freeradius.org/guide/Red-Hat-FAQ

On a CentOS 6.4 x64 system I was able to build an RPM from 2.2.0 source
successfully but I want to get all of the recent patches from the v2.x.x
branch.


   Go to redhat/freeradius.spec, and delete the following line:

Patch2: freeradius-radtest.patch


   That should cause it to build.

   Alan DeKok.


Why does FreeRADIUS maintain build configurations for Red Hat and 
Debian? I suppose it makes sense for the person who wants to build an 
RPM or Deb package from the latest repo. It does not make sense for 
someone who just wants an RPM package. These project maintained build 
configurations are best thought of as bleeding edge developer stuff. 
Make some change and you want to test on Fedora or Debian and need 
packages, then these build directories are the goto place, Or for those 
cases where a distribution has not caught up with upstream yet, then 
this can serve a useful purpose as well (as long as they stay generic, 
see below), another variant of the this is only for the latest and 
greatest.


I can't speak for Debian, I'm not a Deb package maintainer, but at least 
in the Red Hat world there isn't just one Red Hat distribution, there 
are many and each can have different build requirements build 
configurations.


Another problem is the spec file under ./redhat is forever getting out 
of sync (as evidenced by the OP). Patch sets are a superb example of 
this (compounded by the problem there is no single rpm spec file for all 
Red Hat versions).


My suggestion is for upstream FreeRADIUS to maintain a generic Red Hat 
RPM spec file which is vanilla as possible without any patches 
whatsoever. In theory current upstream shouldn't need patches. Also any 
customization we might do really should come from us, not upstream. If 
one is building an RPM from the current FreeRADIUS version using the 
FreeRADIUS RPM spec file then one should get a vanilla FreeRADIUS build 
whose only customization extends to assuring the same file locations, 
package names, etc. are used. You pretty much get this for free. I would 
take an existing spec file strip out all the patches, changelog, etc. 
and then one only needs to take a look at the options passed to 
configure (I'm thinking about options which control which modules are 
built).


The generic RPM spec file that upstream maintains should be exercised on 
regular basis. Far too often we've seen upstream changes that required 
spec file changes but which were never done (e.g. add/removing modules 
and/or other files).


Would we like to maintain the ./redhat subdirectory?

No, for two reasons.

1. It's impossible, as pointed out above there is no single spec file, 
each spec file is tied to a specific release. We maintain *independent* 
spec files for *every* distribution version we support, at the moment 
that numbers in the dozens :-(


2. We already maintain them and they are publicly available for anyone 
to download. Trying to maintain multiple copies in multiple repositories 
and assuring they all stay in sync doesn't seem justified.



--
John Dennis jden...@redhat.com

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html