Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37756126
en ru br
Репозитории ALT
S:3.2.2-alt2
5.1: 2.1.3-alt2.3.1
4.1: 1.1.7-alt2.1
4.0: 1.1.7-alt2
3.0: 1.0.4-alt1
www.altlinux.org/Changes

Группа :: Система/Серверы
Пакет: freeradius

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define nibs_version 0.0.3
%define nibs_suffix bf3_freeradius-1.0.1

Name: freeradius
Version: 1.0.4
Release: alt1

Summary: FreeRADIUS server - GPLed RADIUS server
Summary(ru_RU.KOI8-R): FreeRADIUS - GPL реализация RADIUS сервера

License: GPL
Group: System/Servers
Url: http://www.freeradius.org/

Source: ftp://ftp.freeradius.org/pub/radius/%name-%version.tar.gz

Source1: radiusd-logrotate
Source2: radiusd-alt
Source3: radiusd.conf-alt
Source4: radiusd-sysconfig
Source5: freenibs-%nibs_version-%nibs_suffix.tar.bz2

Patch1: %name-0.9.1-alt-net-snmp.patch
Patch2: %name-0.9.3-alt-makefile.patch

%def_disable static

%add_findprov_lib_path %_libdir/%name

# Automatically added by buildreq on Mon Nov 24 2003

# changed by dketov at altlinux.ru on Wed Jul 06 2005
BuildRequires: libe2fs-devel libgdbm-devel libldap-devel libltdl-devel
BuildRequires: libpam-devel libssl-devel
BuildRequires: libnet-snmp-devel net-snmp-utils
BuildRequires: perl-devel python-devel
%if_with pgsql
BuildRequires: postgresql-devel libpq4.0-devel
%endif
BuildRequires: libMySQL-devel
BuildRequires: zlib-devel

%description
The FreeRADIUS Server Project is an attempt to create a high-performance
and highly configurable GPL'd free RADIUS server.  The server is similar
to Livingston's 2.0 server.
FreeRADIUS is a variant of the Cistron RADIUS server, but they don't
share a lot in common any more.  You should use it because it has a lot
more features than Cistron and Livingston and is much more configurable.

%description -l ru_RU.KOI8-R
FreeRadius Server проект предназначен для создания высокопроизводительного
свободного RADIUS сервера с богатым спектром настроек и свойств.  Этот
сервер подобен Livingston 2.0 RADIUS серверу и является вариантом
Cistron RADIUS Server, однако он имеет большее количество свойств и гибче
в конфигурировании.

%package ldap
Summary: libraries for  %name with ldap support
Group: System/Servers
Requires: %name = %version-%release

%description ldap
This package provides a support for ldap authorization in freeradius

%package mysql
Summary: libraries for %name with MySQL support
Group: System/Servers
Provides: %name-sql = %version-%release
Requires: %name = %version-%release

%description mysql
This package provides a support for mysql
authetication/authorization/accounting in freeradius

%if_with pgsql
%package pgsql
Summary: libraries for  %name with PostgreSQL support
Group: System/Servers
Provides: %name-sql = %version-%release
Requires: %name = %version-%release

%description pgsql
This package provides a support for Postgresql
authetication/authorization/accounting in freeradius
%endif

%package python
Summary: Python module for freeradius
Group: System/Servers
Requires: %name = %version-%release, python

%description python
This module allows to write modules in python

%package perl
Summary: perl module for freeradius
Group: System/Servers
Requires: %name = %version-%release

%description perl
This module allows to write modules in perl

%package sqlcounter
Summary: sqlcounter module for %name
Group: System/Servers
Provides: %name-sqlcounter = %version-%release
Requires: %name-sql = %version-%release

%description sqlcounter
sqlcounter is module for counting all sessions of users and disabling
account if total time of all sessions is greater than limit.

%if_with freenibs
%package -n freenibs-%nibs_version
Summary: NIBS is Neon Internet Billing System
Group: System/Servers
URL: http://sourceforge.net/projects/nibs
Provides: %name-freenibs billing nibs
Requires: %name-sql

%description -n freenibs-%nibs_version
FreeNIBS is billing and accounting system for FreeRADIUS
%endif

%prep
%setup -q
# %patch1 -p1
%patch2 -p1

%if_with freenibs
%setup -q -D -T -a 5
%__cp -r freenibs-%nibs_version-%nibs_suffix/src/modules/rlm_nibs src/modules
echo "rlm_nibs" >> src/modules/stable
%endif

%build
export CC=gcc LTCC=gcc
%configure \
%{subst_enable static} \
--localstatedir=/var \
--libdir=/usr/lib/freeradius \
--includedir=/usr/include/freeradius \
--with-rlm_sql_iodbc=no \
--with-rlm_sql_unixodbc=no \
--with-logdir=/var/log/freeradius \
--mandir=/usr/share/man \
--with-rlm_unix=no \
--with-rlm-dbm-include-dir=/usr/include \
--with-ltdl-include-dir=/usr/include \
%if_with pgsql
--with-rlm_sql_postgresql=yes \
%endif
--with-experimental-modules \
--with-rlm_perl=yes

%__subst "s#HAVE_NDBM#HAVE_GDBM_NDBM#" src/modules/rlm_dbm/Makefile

find -type f -print0 |
xargs -r0 %__grep -FZl libradius.a -- | \
xargs -r0 %__subst -p 's/libradius\.a/libradius.so/g' --

make

%install
make install R=$RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT%prefix/sbin/rc.radiusd
mkdir -p %buildroot/etc/{logrotate.d,sysconfig,rc.d/init.d}

install -p -m755 %SOURCE2 $RPM_BUILD_ROOT%_sysconfdir/rc.d/init.d/radiusd
install -p -m644 %SOURCE1 $RPM_BUILD_ROOT%_sysconfdir/logrotate.d/radiusd
install -p -m640 %SOURCE3 $RPM_BUILD_ROOT%_sysconfdir/raddb/radiusd.conf
install -p -m640 %SOURCE4 $RPM_BUILD_ROOT%_sysconfdir/sysconfig/radiusd

install -d -p -m0755 %buildroot%_docdir/%name-%version
install -d -p -m0755 %buildroot%_docdir/%name-%version/rfc
rm -rf doc/00-OLD
cp -R doc %buildroot%_docdir/%name-%version

%if_with freenibs
mkdir freenibs_doc
cp -R src/modules/rlm_nibs/doc freenibs_docs
cp -R src/modules/rlm_nibs/utils freenibs_docs
cp -R freenibs-%nibs_version-%nibs_suffix/raddb freenibs_docs
%endif

%pre
/usr/sbin/groupadd -r -f radius
/usr/sbin/useradd -r -n -g radius -d /dev/null -s /dev/null -c RADIUS radius >/dev/null 2>&1 ||:

%preun
%preun_service radiusd

%post
%post_service radiusd

%files
%doc doc/*
%doc dialup_admin
%_bindir/*
%_sbindir/*
%_datadir/%name/*
%_libdir/%name/libradius*.so
%_libdir/%name/libeap*.so
%_libdir/%name/rlm_sim_files*.so
%_libdir/%name/rlm_acct*.so
%_libdir/%name/rlm_always*.so
%_libdir/%name/rlm_attr*.so
%_libdir/%name/rlm_chap*.so
%_libdir/%name/rlm_checkval*.so
%_libdir/%name/rlm_counter*.so
%_libdir/%name/rlm_cram*.so
%_libdir/%name/rlm_dbm*.so
%_libdir/%name/rlm_detail*.so
#%_libdir/%name/rlm_dictionary*.so
%_libdir/%name/rlm_digest*.so
%_libdir/%name/rlm_eap*.so
%_libdir/%name/rlm_ex*.so
%_libdir/%name/rlm_f*.so
%_libdir/%name/rlm_ip*.so
%_libdir/%name/rlm_ms*.so
%_libdir/%name/rlm_ns*.so
%_libdir/%name/rlm_pa*.so
%_libdir/%name/rlm_pr*.so
%_libdir/%name/rlm_r*.so
%_libdir/%name/rlm_smb*.so
%_libdir/%name/rlm_sql*.so
%_libdir/%name/rlm_x99*.so
%_man1dir/*
%_man5dir/*
%_man8dir/*
%config(noreplace) %_sysconfdir/raddb/*
%config(noreplace) /etc/logrotate.d/radiusd
%config(noreplace) /etc/sysconfig/radiusd
%config %_initdir/radiusd
%dir /var/log/freeradius
#%dir /var/log/freeradius/radacct
#%dir /var/run/radiusd
%dir %_datadir/%name
%dir %_libdir/%name
%attr(0750,radius,radius) %dir /var/run/radiusd
%attr(0750,radius,radius) %dir /var/log/freeradius/radacct

%files ldap
%_libdir/%name/rlm_ldap*.so

%files mysql
%doc src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql
%_libdir/%name/rlm_sql_mysql*.so

%if_with pgsql
%files pgsql
%doc src/modules/rlm_sql/drivers/rlm_sql_postgresql/db_postgresql.sql
%_libdir/%name/rlm_sql_postgresql*.so
%endif

%files python
%doc src/modules/rlm_python/*.py
%doc src/modules/rlm_python/*.sql
%_libdir/%name/rlm_python*.so

%files perl
%doc src/modules/rlm_perl/example.pl
%_libdir/%name/rlm_perl*.so

%files sqlcounter
%_libdir/%name/rlm_sqlcounter*.so

%if_with freenibs
%files -n freenibs-%nibs_version
%doc freenibs_docs/*
%_libdir/%name/rlm_nibs*.so
%endif

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin