checkpoint work on upgrading to new 2.0 release
This commit is contained in:
parent
e09e2f9362
commit
ccd23a423b
333
find_module_deps
Executable file
333
find_module_deps
Executable file
@ -0,0 +1,333 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import re
|
||||
import os
|
||||
import sys
|
||||
import exceptions
|
||||
import rpm
|
||||
import select
|
||||
import subprocess
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
debug = False
|
||||
verbose = False
|
||||
|
||||
exclude_rpms = ['glibc']
|
||||
|
||||
root = '/var/tmp/freeradius-2.0.2-1.fc8-root-jdennis/usr/lib/freeradius'
|
||||
modules = [
|
||||
'rlm_acctlog.so',
|
||||
'rlm_acct_unique.so',
|
||||
'rlm_always.so',
|
||||
'rlm_attr_filter.so',
|
||||
'rlm_attr_rewrite.so',
|
||||
'rlm_chap.so',
|
||||
'rlm_checkval.so',
|
||||
'rlm_copy_packet.so',
|
||||
'rlm_counter.so',
|
||||
'rlm_dbm.so',
|
||||
'rlm_detail.so',
|
||||
'rlm_digest.so',
|
||||
'rlm_eap_gtc.so',
|
||||
'rlm_eap_leap.so',
|
||||
'rlm_eap_md5.so',
|
||||
'rlm_eap_mschapv2.so',
|
||||
'rlm_eap_peap.so',
|
||||
'rlm_eap_sim.so',
|
||||
'rlm_eap.so',
|
||||
'rlm_eap_tls.so',
|
||||
'rlm_eap_tnc.so',
|
||||
'rlm_eap_ttls.so',
|
||||
'rlm_exec.so',
|
||||
'rlm_expiration.so',
|
||||
'rlm_expr.so',
|
||||
'rlm_fastusers.so',
|
||||
'rlm_files.so',
|
||||
'rlm_ippool.so',
|
||||
'rlm_krb5.so',
|
||||
'rlm_ldap.so',
|
||||
'rlm_logintime.so',
|
||||
'rlm_mschap.so',
|
||||
'rlm_otp.so',
|
||||
'rlm_pam.so',
|
||||
'rlm_pap.so',
|
||||
'rlm_passwd.so',
|
||||
'rlm_perl.so',
|
||||
'rlm_policy.so',
|
||||
'rlm_preprocess.so',
|
||||
'rlm_python.so',
|
||||
'rlm_radutmp.so',
|
||||
'rlm_realm.so',
|
||||
'rlm_sqlcounter.so',
|
||||
'rlm_sqlippool.so',
|
||||
'rlm_sql_log.so',
|
||||
'rlm_sql_mysql.so',
|
||||
'rlm_sql_postgresql.so',
|
||||
'rlm_sql.so',
|
||||
'rlm_sql_unixodbc.so',
|
||||
'rlm_unix.so',
|
||||
]
|
||||
|
||||
module_paths = [os.path.join(root,x) for x in modules]
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
def get_rpm_nvr_from_header(hdr):
|
||||
'Given an RPM header return the package NVR as a string'
|
||||
name = hdr['name']
|
||||
version = hdr['version']
|
||||
release = hdr['release']
|
||||
|
||||
return "%s-%s-%s" % (name, version, release)
|
||||
|
||||
def get_rpm_hdr_by_file_path(path):
|
||||
if path is None:
|
||||
return None
|
||||
|
||||
hdr = None
|
||||
try:
|
||||
ts = rpm.ts()
|
||||
mi = ts.dbMatch(rpm.RPMTAG_BASENAMES, path)
|
||||
for hdr in mi: break
|
||||
except Exception, e:
|
||||
print >> sys.stderr, "failed to retrieve rpm hdr for %s, %s" %(path, e)
|
||||
hdr = None
|
||||
return hdr
|
||||
|
||||
def get_rpm_nvr_by_file_path(path):
|
||||
if path is None:
|
||||
return None
|
||||
|
||||
hdr = get_rpm_hdr_by_file_path(path)
|
||||
if not hdr:
|
||||
print >> sys.stderr, "failed to retrieve rpm info for %s" %(path)
|
||||
nvr = get_rpm_nvr_from_header(hdr)
|
||||
return nvr
|
||||
|
||||
def get_rpm_name_by_file_path(path):
|
||||
if path is None:
|
||||
return None
|
||||
|
||||
hdr = get_rpm_hdr_by_file_path(path)
|
||||
if not hdr:
|
||||
print >> sys.stderr, "failed to retrieve rpm info for %s" %(path)
|
||||
name = hdr['name']
|
||||
return name
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
class CmdError(exceptions.Exception):
|
||||
def __init__(self, errno, msg):
|
||||
self.errno = errno
|
||||
self.msg = msg
|
||||
|
||||
|
||||
class Command:
|
||||
def __init__(self, cmd):
|
||||
self.cmd = cmd
|
||||
self.sub_process = None
|
||||
self.bufsize = 1024
|
||||
self.stdout_buf = ''
|
||||
self.stderr_buf = ''
|
||||
self.stdout_lines = []
|
||||
self.stderr_lines = []
|
||||
|
||||
def run(self, stdout_callback=None, stderr_callback=None):
|
||||
self.sub_process = subprocess.Popen(self.cmd, \
|
||||
stdin=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE, \
|
||||
close_fds=True, shell=True)
|
||||
self.stdout = self.sub_process.stdout
|
||||
self.stderr = self.sub_process.stderr
|
||||
|
||||
read_watch = [self.stdout, self.stderr]
|
||||
while read_watch:
|
||||
readable = select.select(read_watch, [], [])[0]
|
||||
for fd in readable:
|
||||
if fd == self.stdout:
|
||||
data = os.read(fd.fileno(), self.bufsize)
|
||||
if not data:
|
||||
read_watch.remove(fd)
|
||||
else:
|
||||
self.stdout_buf += data
|
||||
for line in self.burst_lines('stdout_buf'):
|
||||
if stdout_callback: stdout_callback(line)
|
||||
self.stdout_lines.append(line)
|
||||
if fd == self.stderr:
|
||||
data = os.read(fd.fileno(), self.bufsize)
|
||||
if not data:
|
||||
read_watch.remove(fd)
|
||||
else:
|
||||
self.stderr_buf += data
|
||||
for line in self.burst_lines('stderr_buf'):
|
||||
if stdout_callback: stderr_callback(line)
|
||||
self.stderr_lines.append(line)
|
||||
|
||||
self.returncode = self.sub_process.wait()
|
||||
if self.returncode:
|
||||
raise CmdError(self.returncode, "cmd \"%s\"\nreturned status %d\n%s" % (self.cmd, self.returncode, ''.join(self.stderr_lines)))
|
||||
|
||||
return self.returncode
|
||||
|
||||
def burst_lines(self, what):
|
||||
buf = getattr(self, what)
|
||||
start = 0
|
||||
end = buf.find('\n', start)
|
||||
while end >= 0:
|
||||
end += 1 # include newline
|
||||
line = buf[start:end]
|
||||
yield line
|
||||
start = end
|
||||
end = buf.find('\n', start)
|
||||
buf = buf[start:]
|
||||
setattr(self, what, buf)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
class RPM_Prop:
|
||||
def __init__(self, path=None, name=None):
|
||||
self.name = name
|
||||
self.paths = {}
|
||||
if path:
|
||||
self.register_path(path)
|
||||
if not self.name:
|
||||
self.name = get_rpm_name_by_file_path(path)
|
||||
|
||||
def __str__(self):
|
||||
return "name=%s paths=%s" % (self.name, ','.join(self.paths.keys()))
|
||||
|
||||
def register_path(self, path, name=None):
|
||||
if debug: print "%s.register_path: path=%s" % (self.__class__.__name__, path)
|
||||
return self.paths.setdefault(path, path)
|
||||
|
||||
class RPM_Collection:
|
||||
def __init__(self):
|
||||
self.names = {}
|
||||
self.paths = {}
|
||||
|
||||
def __str__(self):
|
||||
text = ''
|
||||
names = self.get_names()
|
||||
for name in names:
|
||||
text += "%s: %s\n" % (name, self.names[name])
|
||||
return text
|
||||
|
||||
def register_path(self, path):
|
||||
if debug: print "%s.register_path: path=%s" % (self.__class__.__name__, path)
|
||||
rpm_prop = self.paths.setdefault(path, RPM_Prop(path=path))
|
||||
self.names.setdefault(rpm_prop.name, rpm_prop)
|
||||
return rpm_prop
|
||||
|
||||
def get_names(self):
|
||||
names = self.names.keys()
|
||||
names.sort()
|
||||
return names
|
||||
|
||||
class SO_File:
|
||||
def __init__(self, name=None, path=None):
|
||||
self.name = name
|
||||
self.path = path
|
||||
self.rpm = None
|
||||
|
||||
def __str__(self):
|
||||
if self.rpm:
|
||||
rpm_name = self.rpm.name
|
||||
else:
|
||||
rpm_name = None
|
||||
return "name=%s rpm=%s" % (self.name, rpm_name)
|
||||
|
||||
class SO_Collection:
|
||||
def __init__(self):
|
||||
self.names = {}
|
||||
self.paths = {}
|
||||
|
||||
def __str__(self):
|
||||
text = ''
|
||||
names = self.get_names()
|
||||
for name in names:
|
||||
text += "%s: %s\n" % (name, self.names[name])
|
||||
return text
|
||||
|
||||
def register_path(self, path, name=None):
|
||||
if debug: print "%s.register_path: path=%s" % (self.__class__.__name__, path)
|
||||
so_prop = self.paths.setdefault(path, SO_File(name, path=path))
|
||||
self.names.setdefault(name, so_prop)
|
||||
return so_prop
|
||||
|
||||
def get_names(self):
|
||||
names = self.names.keys()
|
||||
names.sort()
|
||||
return names
|
||||
|
||||
class LoadableModule:
|
||||
def __init__(self, path, name=None):
|
||||
if name is None:
|
||||
name = os.path.basename(path)
|
||||
self.name = name
|
||||
self.path = path
|
||||
self.rpms = RPM_Collection()
|
||||
self.sos = SO_Collection()
|
||||
self.get_so_libs()
|
||||
|
||||
def __str__(self):
|
||||
text = '%s\n' % (self.name)
|
||||
text += " RPM's: %s\n" % (','.join(self.rpms.get_names()))
|
||||
text += " SO's: %s\n" % (','.join(self.sos.get_names()))
|
||||
return text
|
||||
|
||||
def get_so_libs(self):
|
||||
cmd = 'ldd %s' % (self.path)
|
||||
so_re = re.compile(r'^\s*(\S+)\s+=>\s+(\S+)')
|
||||
|
||||
c = Command(cmd)
|
||||
status = c.run()
|
||||
|
||||
for line in c.stdout_lines:
|
||||
line = line.strip()
|
||||
#print line
|
||||
match = so_re.search(line)
|
||||
if match:
|
||||
so_name = match.group(1)
|
||||
if match.group(2).startswith('/'):
|
||||
so_path = match.group(2)
|
||||
else:
|
||||
so_path = None
|
||||
if so_path:
|
||||
so_props = self.sos.register_path(so_path, so_name)
|
||||
rpm_props = self.rpms.register_path(so_props.path)
|
||||
so_props.rpm = rpm_props
|
||||
else:
|
||||
so_props = None
|
||||
if verbose: print "found so='%s' %s" % (so_name, so_props)
|
||||
|
||||
def register_so(self, so):
|
||||
if debug: print "%s.register_so: so=%s" % (self.__class__.__name__, so)
|
||||
self.sos.setdefault(so, so)
|
||||
self.names.setdefault(so.name, so)
|
||||
return so
|
||||
|
||||
def get_sos(self):
|
||||
sos = self.sos.keys()
|
||||
sos.sort(lambda a,b: cmp(a.name, b.name))
|
||||
return sos
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
lms = []
|
||||
for module_path in module_paths[:]:
|
||||
lm = LoadableModule(module_path)
|
||||
lms.append(lm)
|
||||
|
||||
|
||||
for lm in lms:
|
||||
rpms = [x for x in lm.rpms.get_names() if x not in exclude_rpms]
|
||||
if rpms:
|
||||
print lm.name
|
||||
print ' %s' % (','.join(rpms))
|
||||
|
||||
print "--------------"
|
||||
|
||||
for lm in lms:
|
||||
print lm
|
270
freeradius.spec
270
freeradius.spec
@ -1,34 +1,34 @@
|
||||
Summary: High-performance and highly configurable free RADIUS server
|
||||
Name: freeradius
|
||||
Version: 1.1.7
|
||||
Release: 4.4.ipa%{?dist}
|
||||
Version: 2.0.2
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2+ and LGPLv2+
|
||||
Group: System Environment/Daemons
|
||||
URL: http://www.freeradius.org/
|
||||
Source0: ftp://ftp.freeradius.org/pub/radius/%{name}-%{version}.tar.bz2
|
||||
Source1: freeradius-autogen.sh
|
||||
|
||||
Source0: ftp://ftp.freeradius.org/pub/radius/%{name}-server-%{version}.tar.bz2
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Requires: net-snmp krb5-libs net-snmp-utils
|
||||
BuildRequires: net-snmp-devel net-snmp-utils krb5-devel openldap-devel
|
||||
BuildRequires: openssl-devel pam-devel
|
||||
BuildRequires: libtool-ltdl-devel libtool
|
||||
BuildRequires: gdbm-devel zlib-devel
|
||||
BuildRequires: perl-devel
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: gdbm-devel
|
||||
BuildRequires: krb5-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libtool-ltdl-devel
|
||||
BuildRequires: net-snmp-devel
|
||||
BuildRequires: net-snmp-utils
|
||||
BuildRequires: openldap-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: perl-devel
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
Requires: net-snmp krb5-libs
|
||||
Requires: net-snmp-utils
|
||||
Requires(pre): shadow-utils
|
||||
Requires(post): /sbin/ldconfig /sbin/chkconfig
|
||||
Requires(postun): /sbin/ldconfig
|
||||
Requires(preun): /sbin/chkconfig
|
||||
Patch1: freeradius-1.0.0-ltdl_no_la.patch
|
||||
Patch3: freeradius-0.9.0-pam-multilib.patch
|
||||
Patch4: freeradius-0.9.0-com_err.patch
|
||||
Patch8: freeradius-1.0.0-samba3.patch
|
||||
Patch10: freeradius-1.1.3-build.patch
|
||||
Patch11: freeradius-1.1.2-no_sql_inc.patch
|
||||
Patch12: freeradius-1.1.7-ldap.patch
|
||||
Patch13: freeradius-1.1.7-db_dir.patch
|
||||
Patch14: freeradius-1.1.7-lsb.patch
|
||||
Patch15: freeradius-1.1.7-ipa.patch
|
||||
|
||||
%description
|
||||
The FreeRADIUS Server Project is a high performance and highly configurable
|
||||
@ -77,18 +77,7 @@ This plugin provides the unixODBC bindings for the FreeRADIUS server project.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .ltdl_no_la
|
||||
%patch3 -p1 -b .pam-multilib
|
||||
%patch4 -p1 -b .com_err
|
||||
%patch8 -p1 -b .samba3
|
||||
%patch10 -p1 -b .build
|
||||
%patch11 -p1 -b .no_sql_inc
|
||||
%patch12 -p1 -b .ldap
|
||||
%patch13 -p1 -b .db_dir
|
||||
%patch14 -p1 -b .lsb
|
||||
%patch15 -p1 -b .ipa
|
||||
|
||||
%setup -q -n %{name}-server-%{version}
|
||||
|
||||
%build
|
||||
%ifarch s390 s390x
|
||||
@ -101,10 +90,8 @@ export CFLAGS="$RPM_OPT_FLAGS -fpic"
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
export LDFLAGS="-L${RPM_BUILD_ROOT}%{_libdir}"
|
||||
|
||||
cp %{SOURCE1} .
|
||||
./freeradius-autogen.sh
|
||||
|
||||
%configure \
|
||||
--libdir=%{_libdir}/freeradius \
|
||||
--with-gnu-ld \
|
||||
--with-threads \
|
||||
--with-thread-pool \
|
||||
@ -117,16 +104,17 @@ cp %{SOURCE1} .
|
||||
--with-unixodbc-lib-dir=%{_libdir} \
|
||||
--with-rlm-dbm-lib-dir=%{_libdir} \
|
||||
--with-rlm-krb5-include-dir=/usr/kerberos/include \
|
||||
--with-rlm-ldap-sasl2 --with-rlm-ldap-sasl2-include-dir=/usr/include/sasl \
|
||||
--with-rlm-ldap-krb5
|
||||
--without-rlm_eap_ikev2 \
|
||||
--without-rlm_sql_iodbc \
|
||||
--without-rlm_sql_firebird \
|
||||
--without-rlm_sql_db2 \
|
||||
--without-rlm_sql_oracle
|
||||
|
||||
%if "%{_lib}" == "lib64"
|
||||
perl -pi -e 's:sys_lib_search_path_spec=.*:sys_lib_search_path_spec="/lib64 /usr/lib64 /usr/local/lib64":' libtool
|
||||
%endif
|
||||
|
||||
# Makefile not smp save
|
||||
make #%{?_smp_mflags}
|
||||
|
||||
make
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
@ -165,7 +153,6 @@ mkdir -p $RPM_BUILD_ROOT/var/log/radius/radacct
|
||||
mkdir -p $RPM_BUILD_ROOT/var/run/radiusd
|
||||
|
||||
# remove unsupported config files
|
||||
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/raddb/oraclesql.conf
|
||||
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/raddb/experimental.conf
|
||||
|
||||
|
||||
@ -208,90 +195,123 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/pam.d/radiusd
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/radiusd
|
||||
%config(noreplace) %{_initrddir}/radiusd
|
||||
%dir %attr(0700,radiusd,radiusd) %{_sysconfdir}/raddb
|
||||
%dir %attr(0700,radiusd,radiusd) %{_sysconfdir}/raddb/certs
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/acct_users
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/attrs
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/certs/*
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/clients
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/clients.conf
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/dictionary
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/eap.conf
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/example.pl
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/hints
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/huntgroups
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/ldap.attrmap
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/naslist
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/naspasswd
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/otp.conf
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/postgresqlippool.conf
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/preproxy_users
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/proxy.conf
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/radiusd.conf
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/realms
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/snmp.conf
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/sqlippool.conf
|
||||
%config(noreplace) %attr(0600,radiusd,radiusd) %{_sysconfdir}/raddb/users
|
||||
%{_bindir}/*
|
||||
%{_libdir}/libeap*.so
|
||||
%{_libdir}/libradius*.so
|
||||
%{_libdir}/rlm_acct_unique*.so
|
||||
%{_libdir}/rlm_always*.so
|
||||
%{_libdir}/rlm_attr_filter*.so
|
||||
%{_libdir}/rlm_attr_rewrite*.so
|
||||
%{_libdir}/rlm_chap*.so
|
||||
%{_libdir}/rlm_checkval*.so
|
||||
%{_libdir}/rlm_counter*.so
|
||||
%{_libdir}/rlm_dbm*.so
|
||||
%{_libdir}/rlm_detail*.so
|
||||
%{_libdir}/rlm_digest*.so
|
||||
%{_libdir}/rlm_eap-*.so
|
||||
%{_libdir}/rlm_eap.so
|
||||
%{_libdir}/rlm_eap_gtc*.so
|
||||
%{_libdir}/rlm_eap_leap*.so
|
||||
%{_libdir}/rlm_eap_md5*.so
|
||||
%{_libdir}/rlm_eap_mschapv2*.so
|
||||
%{_libdir}/rlm_eap_peap*.so
|
||||
%{_libdir}/rlm_eap_sim*.so
|
||||
%{_libdir}/rlm_eap_tls*.so
|
||||
%{_libdir}/rlm_eap_ttls*.so
|
||||
%{_libdir}/rlm_exec*.so
|
||||
%{_libdir}/rlm_expr*.so
|
||||
%{_libdir}/rlm_fastusers*.so
|
||||
%{_libdir}/rlm_files*.so
|
||||
%{_libdir}/rlm_ippool*.so
|
||||
%{_libdir}/rlm_krb5*.so
|
||||
%{_libdir}/rlm_ldap*.so
|
||||
%{_libdir}/rlm_mschap*.so
|
||||
%{_libdir}/rlm_ns_mta_md5*.so
|
||||
%{_libdir}/rlm_otp*.so
|
||||
%{_libdir}/rlm_pam*.so
|
||||
%{_libdir}/rlm_pap*.so
|
||||
%{_libdir}/rlm_passwd*.so
|
||||
%{_libdir}/rlm_perl*.so
|
||||
%{_libdir}/rlm_preprocess*.so
|
||||
%{_libdir}/rlm_radutmp*.so
|
||||
%{_libdir}/rlm_realm*.so
|
||||
%{_libdir}/rlm_sql-%{version}.so
|
||||
%{_libdir}/rlm_sql.so
|
||||
%{_libdir}/rlm_sqlcounter*.so
|
||||
%{_libdir}/rlm_sqlippool*.so
|
||||
%{_libdir}/rlm_sql_log*.so
|
||||
%{_libdir}/rlm_unix*.so
|
||||
%{_datadir}/freeradius
|
||||
%{_datadir}/snmp/mibs/RADIUS*.txt
|
||||
%{_sbindir}/*
|
||||
%{_mandir}/man1/*.1*
|
||||
%{_mandir}/man5/*.5*
|
||||
%{_mandir}/man8/*.8*
|
||||
%attr(0700,radiusd,radiusd) %dir /var/log/radius
|
||||
%ghost %attr(0600,radiusd,radiusd) /var/log/radius/radutmp
|
||||
%ghost %attr(0600,radiusd,radiusd) /var/log/radius/radwtmp
|
||||
%ghost %attr(0600,radiusd,radiusd) /var/log/radius/radius.log
|
||||
%attr(0700,radiusd,radiusd) %dir /var/log/radius/radacct
|
||||
%attr(0700,radiusd,radiusd) %dir /var/run/radiusd
|
||||
# use only for database files:
|
||||
%attr(0700,radiusd,radiusd) %dir /var/lib/radiusd
|
||||
#--------------------
|
||||
%dir %attr(755,radiusd,radiusd) /var/lib/radiusd
|
||||
# configs
|
||||
%dir %attr(750,-,radiusd) /etc/raddb
|
||||
%defattr(-,root,radiusd)
|
||||
%config(noreplace) /etc/raddb/dictionary
|
||||
%config(noreplace) /etc/raddb/acct_users
|
||||
%config(noreplace) /etc/raddb/attrs
|
||||
%config(noreplace) /etc/raddb/attrs.access_reject
|
||||
%config(noreplace) /etc/raddb/attrs.accounting_response
|
||||
%config(noreplace) /etc/raddb/attrs.pre-proxy
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/clients.conf
|
||||
%config(noreplace) /etc/raddb/hints
|
||||
%config(noreplace) /etc/raddb/huntgroups
|
||||
%config(noreplace) /etc/raddb/ldap.attrmap
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/sqlippool.conf
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/preproxy_users
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/proxy.conf
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/radiusd.conf
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/snmp.conf
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql.conf
|
||||
#%attr(640,-,radiusd) %config(noreplace) /etc/raddb/radrelay.conf
|
||||
#%attr(640,-,radiusd) %config(noreplace) /etc/raddb/vmpsd.conf
|
||||
%dir %attr(640,-,radiusd) /etc/raddb/sql
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql/*/*.conf
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql/*/*.sql
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/users
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/otp.conf
|
||||
%dir %attr(750,-,radiusd) /etc/raddb/certs
|
||||
/etc/raddb/certs/Makefile
|
||||
/etc/raddb/certs/README
|
||||
/etc/raddb/certs/xpextensions
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/certs/*.cnf
|
||||
%attr(750,-,radiusd) /etc/raddb/certs/bootstrap
|
||||
%attr(750,-,radiusd) %config /etc/raddb/sites-available/example
|
||||
%attr(640,-,radiusd) /etc/raddb/sites-available/*
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/sites-enabled/*
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/eap.conf
|
||||
%attr(640,-,radiusd) /etc/raddb/example.pl
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/policy.conf
|
||||
/etc/raddb/policy.txt
|
||||
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/templates.conf
|
||||
%attr(700,radiusd,radiusd) %dir /var/run/radiusd/
|
||||
# binaries
|
||||
%defattr(-,root,root)
|
||||
/usr/sbin/check-radiusd-config
|
||||
/usr/sbin/checkrad
|
||||
/usr/sbin/radiusd
|
||||
/usr/sbin/radrelay
|
||||
/usr/sbin/radwatch
|
||||
# man-pages
|
||||
%doc %{_mandir}/man1/*
|
||||
%doc %{_mandir}/man5/*
|
||||
%doc %{_mandir}/man8/*
|
||||
# dictionaries
|
||||
%attr(755,root,root) %dir /usr/share/freeradius
|
||||
/usr/share/freeradius/*
|
||||
# logs
|
||||
%attr(700,radiusd,radiusd) %dir /var/log/radius/
|
||||
%attr(700,radiusd,radiusd) %dir /var/log/radius/radacct/
|
||||
%attr(644,radiusd,radiusd) /var/log/radius/radutmp
|
||||
%config(noreplace) %attr(600,radiusd,radiusd) /var/log/radius/radius.log
|
||||
# RADIUS Loadable Modules
|
||||
%attr(755,root,root) %dir %{_libdir}/freeradius
|
||||
#%attr(755,root,root) %{_libdir}/freeradius/rlm_*.so*
|
||||
%{_libdir}/freeradius/libfreeradius-eap*.so
|
||||
%{_libdir}/freeradius/libfreeradius-radius*.so
|
||||
%{_libdir}/freeradius/rlm_acctlog*.so
|
||||
%{_libdir}/freeradius/rlm_acct_unique*.so
|
||||
%{_libdir}/freeradius/rlm_always*.so
|
||||
%{_libdir}/freeradius/rlm_attr_filter*.so
|
||||
%{_libdir}/freeradius/rlm_attr_rewrite*.so
|
||||
%{_libdir}/freeradius/rlm_chap*.so
|
||||
%{_libdir}/freeradius/rlm_checkval*.so
|
||||
%{_libdir}/freeradius/rlm_copy_packet*.so
|
||||
%{_libdir}/freeradius/rlm_counter*.so
|
||||
%{_libdir}/freeradius/rlm_dbm*.so
|
||||
%{_libdir}/freeradius/rlm_detail*.so
|
||||
%{_libdir}/freeradius/rlm_digest*.so
|
||||
%{_libdir}/freeradius/rlm_eap_gtc*.so
|
||||
%{_libdir}/freeradius/rlm_eap_leap*.so
|
||||
%{_libdir}/freeradius/rlm_eap_md5*.so
|
||||
%{_libdir}/freeradius/rlm_eap_mschapv2*.so
|
||||
%{_libdir}/freeradius/rlm_eap_peap*.so
|
||||
%{_libdir}/freeradius/rlm_eap_sim*.so
|
||||
%{_libdir}/freeradius/rlm_eap*.so
|
||||
%{_libdir}/freeradius/rlm_eap_tls*.so
|
||||
%{_libdir}/freeradius/rlm_eap_tnc*.so
|
||||
%{_libdir}/freeradius/rlm_eap_ttls*.so
|
||||
%{_libdir}/freeradius/rlm_exec*.so
|
||||
%{_libdir}/freeradius/rlm_expiration*.so
|
||||
%{_libdir}/freeradius/rlm_expr*.so
|
||||
%{_libdir}/freeradius/rlm_fastusers*.so
|
||||
%{_libdir}/freeradius/rlm_files*.so
|
||||
%{_libdir}/freeradius/rlm_ippool*.so
|
||||
%{_libdir}/freeradius/rlm_krb5*.so
|
||||
%{_libdir}/freeradius/rlm_ldap*.so
|
||||
%{_libdir}/freeradius/rlm_logintime*.so
|
||||
%{_libdir}/freeradius/rlm_mschap*.so
|
||||
%{_libdir}/freeradius/rlm_otp*.so
|
||||
%{_libdir}/freeradius/rlm_pam*.so
|
||||
%{_libdir}/freeradius/rlm_pap*.so
|
||||
%{_libdir}/freeradius/rlm_passwd*.so
|
||||
%{_libdir}/freeradius/rlm_perl*.so
|
||||
%{_libdir}/freeradius/rlm_policy*.so
|
||||
%{_libdir}/freeradius/rlm_preprocess*.so
|
||||
%{_libdir}/freeradius/rlm_python*.so
|
||||
%{_libdir}/freeradius/rlm_radutmp*.so
|
||||
%{_libdir}/freeradius/rlm_realm*.so
|
||||
%{_libdir}/freeradius/rlm_sqlcounter*.so
|
||||
%{_libdir}/freeradius/rlm_sqlippool*.so
|
||||
%{_libdir}/freeradius/rlm_sql_log*.so
|
||||
%{_libdir}/freeradius/rlm_sql_mysql*.so
|
||||
%{_libdir}/freeradius/rlm_sql_postgresql*.so
|
||||
%{_libdir}/freeradius/rlm_sql*.so
|
||||
%{_libdir}/freeradius/rlm_sql_unixodbc*.so
|
||||
%{_libdir}/freeradius/rlm_unix*.so
|
||||
|
||||
%files mysql
|
||||
%defattr(-,root,root,-)
|
||||
|
Loading…
Reference in New Issue
Block a user