Update version numbers
[freeradius.git] / suse / freeradius.spec
index b5612a5..ff1c9ce 100644 (file)
@@ -1,27 +1,29 @@
 #
-# spec file for package freeradius (Version 0.8.1)
+# spec file for package freeradius (Version 1.1.0)
 #
-# Copyright (c) 2003 SuSE Linux AG, Nuernberg, Germany.
+# Copyright (c) 2004 SUSE LINUX Products GmbH, Nuernberg, Germany.
 # This file and all modifications and additions to the pristine
 # package are under the same license as the package itself.
 #
 # Please submit bugfixes or comments via http://www.suse.de/feedback/
 #
 
-# neededforbuild  cyrus-sasl-devel db-devel heimdal-devel heimdal-lib libiodbc libiodbc-devel mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel postgresql postgresql-devel postgresql-libs python python-devel
+# neededforbuild  cyrus-sasl-devel db-devel heimdal-devel heimdal-lib mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel pam-devel postgresql postgresql-devel postgresql-libs python python-devel unixODBC unixODBC-devel
+
+BuildRequires: aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv less libacl libattr libgcc libnscd libselinux libstdc++ libxcrypt libzio m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch permissions popt procinfo procps psmisc pwdutils rcs readline sed strace syslogd sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel autoconf automake binutils cyrus-sasl-devel db-devel e2fsprogs-devel gcc gdbm gettext heimdal-devel heimdal-lib libtool mysql-devel mysql-shared openldap2 openldap2-devel openssl-devel pam-devel perl postgresql postgresql-devel postgresql-libs python python-devel rpm unixODBC unixODBC-devel
 
 Name:         freeradius
-License:      GPL
+License:      GPL, LGPL
 Group:        Productivity/Networking/Radius/Servers
 Provides:     radiusd
 Conflicts:    radiusd-livingston radiusd-cistron icradius
 Version:      1.1.0
-Release:      0
+Release:      1.suse
 URL:          http://www.freeradius.org/
-Summary:      Very highly Configurable Radius-Server.
-Source0:      %{name}-%{version}.tar.bz2
-Source1:      rcradiusd
+Summary:      Very highly Configurable Radius-Server
+Source0:      %{name}-%{version}.tar.gz
 %if %suse_version > 800
+PreReq:       /usr/sbin/useradd /usr/sbin/groupadd
 PreReq:       %insserv_prereq %fillup_prereq
 %endif
 BuildRoot:    %{_tmppath}/%{name}-%{version}-build
@@ -48,10 +50,10 @@ Authors:
 
 %package devel
 Group:        Development/Libraries/C and C++
-Summary:      FreeRADIUS development files (static libs)
+Summary:      FreeRADIUS Development Files (static libs)
 
 %description devel
-These are the static libraries of the FreeRADIUS package
+These are the static libraries for the FreeRADIUS package.
 
 
 
@@ -68,7 +70,7 @@ Authors:
 rm -rf `find . -name CVS`
 
 %build
-CFLAGS="$RPM_OPT_FLAGS" ./configure \
+CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" ./configure \
                --prefix=%{_prefix} \
                 --sysconfdir=%{_sysconfdir} \
                --infodir=%{_infodir} \
@@ -93,7 +95,12 @@ make
 [ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf \
 $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/var/lib/radiusd
 make install R=$RPM_BUILD_ROOT
+# modify default configuration
+RADDB=$RPM_BUILD_ROOT%{_sysconfdir}/raddb
+perl -i -pe 's/^#user =.*$/user = radiusd/'   $RADDB/radiusd.conf
+perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
 ldconfig -n $RPM_BUILD_ROOT/usr/lib/freeradius
 # logs
 touch $RPM_BUILD_ROOT/var/log/radius/radutmp
@@ -103,88 +110,90 @@ install -d     $RPM_BUILD_ROOT/etc/logrotate.d
 install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd
 install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
 install -d -m 755 $RPM_BUILD_ROOT/etc/init.d
-install    -m 744 %SOURCE1 $RPM_BUILD_ROOT/etc/init.d/radiusd
+install    -m 744 suse/rcradiusd $RPM_BUILD_ROOT/etc/init.d/radiusd
 ln -sf ../../etc/init.d/radiusd $RPM_BUILD_ROOT/usr/sbin/rcradiusd
 mv -v doc/README doc/README.doc
+# remove unneeded stuff
 rm -rf doc/00-OLD
 rm -f $RPM_BUILD_ROOT/etc/raddb/experimental.conf $RPM_BUILD_ROOT/usr/sbin/radwatch $RPM_BUILD_ROOT/usr/sbin/rc.radiusd
 rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius*
 
+%pre
+/usr/sbin/groupadd -r radiusd 2> /dev/null || :
+/usr/sbin/useradd -r -g radiusd -s /bin/false -c "Radius daemon" -d \
+                  /var/lib/radiusd radiusd 2> /dev/null || :
+
 %post
 %{fillup_and_insserv -s radiusd START_RADIUSD }
+%if %suse_version > 820
+
+%preun
+%stop_on_removal radiusd
+%endif
 
 %postun
+%if %suse_version > 820
+%restart_on_update radiusd
+%endif
 %{insserv_cleanup}
 
 %clean
 [ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT
 
 %files
+%defattr(-,root,root)
 # doc
+%doc %attr(-,root,root) $RPM_SOURCE_DIR/README.SuSE
 %doc doc/* LICENSE COPYRIGHT CREDITS README
-%doc src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql
-%doc scripts/create-users.pl
+%doc src/modules/rlm_sql/drivers/rlm_sql_*/*.sql
+%doc scripts/create-users.pl scripts/CA.* scripts/certs.sh
+%doc scripts/users2mysql.pl scripts/xpextensions
 %doc scripts/cryptpasswd scripts/exec-program-wait scripts/radiusd2ldif.pl
+%doc dialup_admin
 # SuSE
 %config /etc/init.d/radiusd
 %config /etc/pam.d/radiusd
 %config /etc/logrotate.d/radiusd
 /usr/sbin/rcradiusd
+%dir %attr(755,radiusd,radiusd) /var/lib/radiusd
 # configs
 %dir /etc/raddb
+%defattr(-,root,radiusd)
 %config /etc/raddb/dictionary
 %config(noreplace) /etc/raddb/acct_users
 %config(noreplace) /etc/raddb/attrs
-%attr(640,root,root) %config(noreplace) /etc/raddb/clients
-%attr(640,root,root) %config(noreplace) /etc/raddb/clients.conf
+%attr(640,-,radiusd) %ghost %config(noreplace) /etc/raddb/clients
+%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,root,root) %config(noreplace) /etc/raddb/mssql.conf
-%config(noreplace) /etc/raddb/naslist
-%attr(640,root,root) %config(noreplace) /etc/raddb/naspasswd
-%attr(640,root,root) %config(noreplace) /etc/raddb/oraclesql.conf
-%attr(640,root,root) %config(noreplace) /etc/raddb/postgresql.conf
-%attr(640,root,root) %config(noreplace) /etc/raddb/preproxy_users
-%attr(640,root,root) %config(noreplace) /etc/raddb/proxy.conf
+%attr(640,-,radiusd) %config(noreplace) /etc/raddb/mssql.conf
+%ghost %config(noreplace) /etc/raddb/naslist
+%attr(640,-,radiusd) %config(noreplace) /etc/raddb/naspasswd
+%attr(640,-,radiusd) %ghost %config(noreplace) /etc/raddb/oraclesql.conf
+%attr(640,-,radiusd) %config(noreplace) /etc/raddb/postgresql.conf
+%attr(640,-,radiusd) %config(noreplace) /etc/raddb/preproxy_users
+%attr(640,-,radiusd) %config(noreplace) /etc/raddb/proxy.conf
 %config(noreplace) /etc/raddb/radiusd.conf
-%config(noreplace) /etc/raddb/realms
-%attr(640,root,root) %config(noreplace) /etc/raddb/snmp.conf
-%attr(640,root,root) %config(noreplace) /etc/raddb/sql.conf
-%attr(640,root,root) %config(noreplace) /etc/raddb/users
+%ghost %config(noreplace) /etc/raddb/realms
+%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/users
 %config(noreplace) /etc/raddb/x99.conf
-%config(noreplace) /etc/raddb/eap.conf
-%attr(640,root,root) %config(noreplace) /etc/raddb/x99passwd.sample
-%dir /etc/raddb/certs
-%config /etc/raddb/certs/README
-%config(noreplace) /etc/raddb/certs/cert-clt.der
-%config(noreplace) /etc/raddb/certs/cert-clt.p12
-%config(noreplace) /etc/raddb/certs/cert-clt.pem
-%config(noreplace) /etc/raddb/certs/cert-srv.der
-%config(noreplace) /etc/raddb/certs/cert-srv.p12
-%config(noreplace) /etc/raddb/certs/cert-srv.pem
-%config(noreplace) /etc/raddb/certs/demoCA/cacert.pem
-%config(noreplace) /etc/raddb/certs/demoCA/index.txt
-%config(noreplace) /etc/raddb/certs/demoCA/index.txt.old
-%config(noreplace) /etc/raddb/certs/demoCA/serial
-%config(noreplace) /etc/raddb/certs/demoCA/serial.old
-%config(noreplace) /etc/raddb/certs/dh
-%config(noreplace) /etc/raddb/certs/newcert.pem
-%config(noreplace) /etc/raddb/certs/newreq.pem
-%config(noreplace) /etc/raddb/certs/random
-%config(noreplace) /etc/raddb/certs/root.der
-%config(noreplace) /etc/raddb/certs/root.p12
-%config(noreplace) /etc/raddb/certs/root.pem
-%attr(700,root,root) %dir /var/run/radiusd/
+%attr(640,-,radiusd) %config(noreplace) /etc/raddb/x99passwd.sample
+%attr(640,-,radiusd) %config(noreplace) /etc/raddb/certs
+%attr(640,-,radiusd) %config(noreplace) /etc/raddb/eap.conf
+%attr(700,radiusd,radiusd) %dir /var/run/radiusd/
 # binaries
+%defattr(-,root,root)
 /usr/bin/*
 /usr/sbin/check-radiusd-config
 /usr/sbin/checkrad
 /usr/sbin/radiusd
 # shared libs
 %attr(755,root,root) %dir /usr/lib/freeradius
-/usr/lib/freeradius/*.so*
-/usr/lib/freeradius/*.la
+%attr(755,root,root) /usr/lib/freeradius/*.so*
+%attr(644,root,root) /usr/lib/freeradius/*.la
 # man-pages
 %doc %{_mandir}/man1/*
 %doc %{_mandir}/man5/*
@@ -193,9 +202,11 @@ rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius*
 %attr(755,root,root) %dir /usr/share/freeradius
 /usr/share/freeradius/*
 # logs
-%attr(700,root,root) %dir /var/log/radius/
-%attr(700,root,root) %dir /var/log/radius/radacct/
-/var/log/radius/radutmp
+%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
 
 %files devel
+%defattr(-,root,root)
 /usr/lib/freeradius/*.a
+