Sophie

Sophie

distrib > Mandriva > 2006.0 > i586 > by-pkgid > df517a44ff2232e57935b4a87db56aa6 > files > 4

lms-1.6.0-0.rc1.1mdk.src.rpm

Summary:	LAN Managment System
Name:		lms
Version:	1.6.0
Release:	0.rc1.1mdk
License:	GPL
Group:		System/Servers
URL:		http://lms.rulez.pl/
Source0:	http://lms.rulez.pl/download/1.6/%{name}-%{version}rc1.tar.bz2
Source1:	lms.init.bz2
Patch0:		lms-1.6.0rc1-mdk_conf.diff.bz2
BuildRequires:	gadu-devel
BuildRequires:	mysql-devel
BuildRequires:	dos2unix
Requires:	php php-gd php-posix php-pcre apache2 php-smarty >= 2.5.0
Requires(post,preun): rpm-helper
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot

%description
This is a package of applications in PHP and Perl for managing LANs.
It's using MySQL or PostgreSQL. The main goal is to get the best
service of users at provider's level. The main features in LMS are:
- database of users (name, surname, address, telefon number,
  commentary);
- database of computers (IP, MAC);
- easy-ridden financial system and funds of network;
- different subscriptions;
- sending warnings to users;
- many levels of access for LMS administrators;
- autogenerating ipchains, iptables, dhcpd, ethers file, oidentd,
  openbsd packet filter configuration files/scripts;
- autogenerating almost any kind of config file using templates;

%package	scripts
Summary:	LAN Managment System - scripts
Group:		System/Servers
#Requires:	perl-Net-SMTP-Server
#Requires:	perl-Config-IniFiles
#Requires:	perl-DBI

%description	scripts
This package contains scripts to integrate LMS with your system,
monthly billing, notify users about their debts and cutting off
customers. Also you can build propably any kind of config file using
lms-mgc.

%package	sqlpanel
Summary:	LAN Managment System - sqlpanel module
Group:		System/Servers
Requires(post,preun): %{name} = %{version}

%description	sqlpanel
SQL-panel module allows you to execute SQL queries and directly modify
data.

%package	user
Summary:	LAN Managment System - simple user interface
Group:		System/Servers
Requires(post,preun): %{name} = %{version}

%description	user
Simple user interface.

%package -n	lmsd
Summary:	LAN Managment System - LMS system backend
Group:		System/Servers
Requires(post,preun): rpm-helper
Requires(post,preun): %{name} = %{version}

%description -n	lmsd
A program to manage the server by creating configuration files based
upon LMS database and restarting selected services.

%prep

%setup -q -n %{name}
%patch0 -p1

find . -type d -perm 0700 -exec chmod 755 {} \;
find . -type f -perm 0555 -exec chmod 755 {} \;
find . -type f -perm 0444 -exec chmod 644 {} \;

for i in `find . -type d -name CVS` `find . -type f -name .cvs\*` `find . -type f -name .#\*`; do
    if [ -e "$i" ]; then rm -rf $i; fi >&/dev/null
done

# strip away annoying ^M
find -type f | grep -v "\.gif" | grep -v "\.png" | grep -v "\.jpg" | xargs dos2unix -U

perl -pi -e "s|^LMS_BIN_DIR.*|LMS_BIN_DIR=\"%{_bindir}\"|g" daemon/configure
perl -pi -e "s|^LMS_LIB_DIR.*|LMS_LIB_DIR=\"%{_libdir}/lms\"|g" daemon/configure
find -type f | xargs perl -pi -e "s|/usr/local|%{_prefix}|g"

mv contrib/daemon/* daemon/modules/

bzcat %{SOURCE1} > lms.init

%build

pushd daemon
./configure \
    --prefix=%{_prefix} \
    --libdir=%{_libdir} \
    --incdir=%{_includedir} \
    --with-mysql

find -type f -name "Makefile" | xargs perl -pi -e "s|-Wall -O2|%{optflags} -Wall -fPIC|g"

make

popd


%install
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}

install -d %{buildroot}%{_sbindir}
install -d %{buildroot}%{_libdir}/lms
install -d %{buildroot}%{_initrddir}
install -d %{buildroot}%{_sysconfdir}/sysconfig
install -d %{buildroot}%{_sysconfdir}/lms/modules/{dns,ggnofity,nofity}
install -d %{buildroot}%{_sysconfdir}/httpd/webapps.d
install -d %{buildroot}%{_localstatedir}/lms/{backups,templates_c}
install -d %{buildroot}%{_datadir}/lms/www/{img,doc,user,calendar}

install -m0755 bin/* %{buildroot}%{_sbindir}/

install -m0644 *.php %{buildroot}%{_datadir}/lms/www/
install -m0644 img/* %{buildroot}%{_datadir}/lms/www/img/

cp -r doc/html %{buildroot}%{_datadir}/lms/www/doc
cp -r lib contrib modules templates sample %{buildroot}%{_datadir}/lms/

mv %{buildroot}%{_datadir}/lms/templates/calendar.html %{buildroot}%{_datadir}/lms/www/calendar

install -m0644 sample/%{name}.ini %{buildroot}%{_sysconfdir}/lms/

# sqlpanel
install -m0644 contrib/sqlpanel/*.php %{buildroot}%{_datadir}/lms/modules/
install -m0644 contrib/sqlpanel/*.html %{buildroot}%{_datadir}/lms/templates/

# user
install -m0644 contrib/customer/*.php %{buildroot}%{_datadir}/lms/www/user/

# daemon
install -m0755 daemon/lmsd %{buildroot}%{_sbindir}/
install -m0755 daemon/modules/*/*.so %{buildroot}%{_libdir}/lms/
cp -r daemon/modules/dns/sample %{buildroot}%{_sysconfdir}/lms/modules/dns
cp -r daemon/modules/ggnotify/sample %{buildroot}%{_sysconfdir}/lms/modules/ggnotify
cp -r daemon/modules/dns/sample %{buildroot}%{_sysconfdir}/lms/modules/nofity
install -m0755 lms.init %{buildroot}%{_initrddir}/lmsd

# apache configuration
cat > %{buildroot}%{_sysconfdir}/httpd/webapps.d/%{name}.conf <<EOF
Alias /%{name} %{_datadir}/%{name}/www
<Directory %{_datadir}/%{name}/www>
    AllowOverride All
    Options FollowSymLinks MultiViews
    <IfModule mod_access.c>
        Order allow,deny
        Allow from all
    </IfModule>
</Directory>
EOF

%post
if [ -f %{_var}/lock/subsys/httpd ]; then
    %{_initrddir}/httpd reload 1>&2;
fi

%postun
if [ "$1" = "0" ]; then
    if [ -f %{_var}/lock/subsys/httpd ]; then
        %{_initrddir}/httpd reload 1>&2
    fi
fi

%post -n lmsd
%_post_service lmsd

%preun -n lmsd
%_preun_service lmsd

%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}

%files
%defattr(0644,root,root,0755)
%doc doc/{AUTHORS,ChangeLog*,README,UPGRADE*,lms*}
%dir %{_sysconfdir}/lms
%attr(0640,root,apache) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/lms/*.ini
%config(noreplace) %{_sysconfdir}/httpd/webapps.d/%{name}.conf
%dir %{_localstatedir}/lms
%attr(0770,root,apache) %{_localstatedir}/lms/backups
%attr(0770,root,apache) %{_localstatedir}/lms/templates_c
%dir %{_datadir}/lms
%{_datadir}/lms/www
%exclude %{_datadir}/lms/www/user
%{_datadir}/lms/lib
%{_datadir}/lms/modules
%exclude %{_datadir}/lms/modules/sql*.php
%{_datadir}/lms/contrib
%{_datadir}/lms/sample
%attr(0755,root,root) %{_datadir}/lms/sample/traffic_ipt.pl
%{_datadir}/lms/templates
%exclude %{_datadir}/lms/templates/sql.html
%exclude %{_datadir}/lms/templates/sqlprint.html

%files scripts
%defattr(0644,root,root,0755)
%attr(0755,root,root) %{_sbindir}/*

%files sqlpanel
%defattr(0644,root,root,0755)
%{_datadir}/lms/modules/sql*.php
%{_datadir}/lms/templates/sql.html
%{_datadir}/lms/templates/sqlprint.html

%files user
%defattr(0644,root,root,0755)
%{_datadir}/lms/www/user

%files -n lmsd
%defattr(0644,root,root,0755)
%attr(0755,root,root) %{_initrddir}/lmsd
%attr(0755,root,root) %{_sbindir}/lmsd
%attr(0755,root,root) %{_libdir}/lms/*.so
%{_sysconfdir}/lms/modules/*

%changelog
* Fri May 20 2005 Oden Eriksson <oeriksson@mandriva.com> 1.6.0-0.rc1.1mdk
- initial Mandriva package (PLD import)