2 # - cosmetics (sort in %%files and %%install)
6 %bcond_without lmsd # without lmsd daemon
10 Summary: LAN Managment System
11 Summary(pl.UTF-8): System Zarządzania Siecią Lokalną
13 Version: %{lmsver}.%{lmssubver}
16 Group: Networking/Utilities
17 Source0: http://www.lms.org.pl/download/%{lmsver}/%{name}-%{version}.tar.gz
18 # Source0-md5: 5f1a8cdd126107ddb0656a60f48f2d4e
21 Source3: %{name}.sysconfig
22 Patch0: %{name}-PLD.patch
23 Patch1: %{name}-amd64.patch
24 Patch2: %{name}-smarty.patch
25 Patch3: %{name}-sqlqueryfix.patch
26 URL: http://www.lms.org.pl/
29 %{?with_lmsd:BuildRequires: libgadu-devel}
30 %{?with_lmsd:BuildRequires: mysql-devel}
31 BuildRequires: net-snmp-devel
32 %{?with_lmsd:BuildRequires: postgresql-devel}
33 BuildRequires: rpm-pythonprov
34 BuildRequires: rpmbuild(macros) >= 1.461
36 %{?with_lmsd:Requires(post,preun): /sbin/chkconfig}
37 Requires: Smarty >= 2.6.18-2
40 Requires: php(mbstring)
45 Requires: webserver(access)
46 Requires: webserver(alias)
47 Requires: webserver(php)
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 %define _sysconfdir /etc/%{name}
51 %define _lmsdir %{_datadir}/%{name}
52 %define _lmsvar /var/lib/%{name}
53 %define _smartyplugindir %{php_data_dir}/Smarty/plugins
54 %define _webapps /etc/webapps
55 %define _webapp %{name}
58 This is a package of applications in PHP and Perl for managing LANs.
59 It's using MySQL or PostgreSQL. The main goal is to get the best
60 service of users at provider's level. The main features in LMS are:
61 - database of users (name, surname, address, telephone number,
63 - database of computers (IP, MAC);
64 - easy-ridden financial system and funds of network;
65 - different subscriptions;
66 - sending warnings to users;
67 - many levels of access for LMS administrators;
68 - autogenerating ipchains, iptables, dhcpd, ethers file, oidentd,
69 openbsd packet filter configuration files/scripts;
70 - autogenerating almost any kind of config file using templates.
72 %description -l pl.UTF-8
73 "LMS" jest skrótem od "LAN Management System". Jest to zestaw
74 aplikacji w PHP i Perlu, ułatwiających zarządzanie sieciami
75 osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi),
76 opartych o bazę danych MySQL lub PostgreSQL. Główne założenia to
77 uzyskanie jakości usług oraz obsługi użytkowników na poziomie
78 providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS
80 - baza danych użytkowników (imię, nazwisko, adres, numer telefonu,
82 - baza danych komputerów (adres IP, adres MAC);
83 - prowadzenie prostego rachunku operacji finansowych oraz stanu
85 - różne taryfy abonamentowe;
86 - wysyłanie pocztą elektroniczną upomnień do użytkowników;
87 - automatyczne naliczanie opłat miesięcznych;
88 - różne poziomy dostępu do funkcji LMS dla administratorów;
89 - generowanie reguł i plików konfiguracyjnych dla ipchains, iptables,
90 dhcpd, oidentd, packet filtra openbsd, wpisów /etc/ethers
91 - generowanie praktycznie każdego pliku konfiguracyjnego na podstawie
92 danych w bazie przy użyciu prostych szablonów.
95 Summary: LAN Managment System - scripts
96 Summary(pl.UTF-8): LAN Managment System - skrypty
97 Group: Networking/Utilities
98 Requires: perl-Config-IniFiles
100 Requires: perl-Net-SMTP-Server
103 This package contains scripts to integrate LMS with your system,
104 monthly billing, notify users about their debts and cutting off
105 customers. Also you can build probably any kind of config file using
108 %description scripts -l pl.UTF-8
109 Ten pakiet zawiera skrypty do zintegrowania LMS z systemem, naliczania
110 comiesięcznych opłat, powiadamiania użytkowników o ich zadłużeniu oraz
111 ich automagicznego odłączania. Możesz także zbudować prawdopodobnie
112 każdy typ pliku konfiguracyjnego przy użyciu lms-mgc.
115 Summary: LAN Managment System - sqlpanel module
116 Summary(pl.UTF-8): LAN Managment System - moduł sqlpanel
117 Group: Networking/Utilities
118 Requires: %{name} = %{version}-%{release}
120 %description sqlpanel
121 SQL-panel module allows you to execute SQL queries and directly modify
124 %description sqlpanel -l pl.UTF-8
125 Moduł 'SQL - panel' daje możliwość bezpośredniego dostępu do bazy
126 danych poprzez zadawanie zapytań SQL. Wyniki wyświetlane są w formie
127 tabeli. Ponadto podawany jest czas wykonania zapytania.
130 Summary: LAN Managment System - simple user interface
131 Summary(pl.UTF-8): LAN Managment System - prosty interfejs użytkownika
132 Group: Networking/Utilities
133 Requires: %{name} = %{version}-%{release}
136 Simple user interface.
138 %description user -l pl.UTF-8
139 Prosty interfejs użytkownika.
142 Summary: LAN Managment System - LMS system backend
143 Summary(pl.UTF-8): LAN Managment System - backend systemu LMS
144 Group: Networking/Utilities
145 Requires(post,preun): /sbin/chkconfig
150 A program to manage the server by creating configuration files based
151 upon LMS database and restarting selected services.
153 %description lmsd -l pl.UTF-8
154 Program zarządzający serwerem poprzez tworzenie plików
155 konfiguracyjnych na podstawie bazy danych LMS-a i restartowanie
161 %if "%{_lib}" == "lib64"
169 lib/Smarty/plugins/block.t.php \
170 lib/Smarty/plugins/function.{bankaccount,gentime,handle,number,size,sum,tip}.php \
171 lib/Smarty/plugins/modifier.{money_format,striphtml,to_words}.php \
180 ./configure --with-mysql
183 CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
186 ./configure --with-pgsql
189 CFLAGS='%{rpmcflags} -fPIC -DUSE_PGSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
196 rm -rf $RPM_BUILD_ROOT
197 install -d $RPM_BUILD_ROOT%{_sbindir} \
198 $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
199 $RPM_BUILD_ROOT/etc/lms/modules/{dns,ggnofity,nofity} \
200 $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c,documents},%{_libdir}/lms} \
201 $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} \
202 $RPM_BUILD_ROOT%{_lmsdir}/www/img/core \
203 $RPM_BUILD_ROOT%{_smartyplugindir}
205 install *.php $RPM_BUILD_ROOT%{_lmsdir}/www
206 install img/core/* $RPM_BUILD_ROOT%{_lmsdir}/www/img/core/*
207 install img/*.gif $RPM_BUILD_ROOT%{_lmsdir}/www/img
208 install img/*.jpg $RPM_BUILD_ROOT%{_lmsdir}/www/img
209 install img/*.png $RPM_BUILD_ROOT%{_lmsdir}/www/img
210 install img/*.css $RPM_BUILD_ROOT%{_lmsdir}/www/img
211 install img/*.js $RPM_BUILD_ROOT%{_lmsdir}/www/img
212 install img/*.fdb $RPM_BUILD_ROOT%{_lmsdir}/www/img
213 cp -a doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc
214 cp -a lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir}
215 install bin/* $RPM_BUILD_ROOT%{_sbindir}
216 cp -a smarty-plugins/* $RPM_BUILD_ROOT%{_smartyplugindir}
218 install sample/%{name}.ini $RPM_BUILD_ROOT%{_sysconfdir}
220 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
221 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
222 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
225 install contrib/sqlpanel/sql.php $RPM_BUILD_ROOT%{_lmsdir}/modules
226 install contrib/sqlpanel/*.html $RPM_BUILD_ROOT%{_lmsdir}/templates
229 cp -r contrib/customer/* $RPM_BUILD_ROOT%{_lmsdir}/www/user
233 install daemon/lmsd-* $RPM_BUILD_ROOT%{_sbindir}
234 install daemon/modules/*/*.so $RPM_BUILD_ROOT%{_libdir}/lms
235 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/dns
236 cp -r daemon/modules/ggnotify/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/ggnotify
237 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/nofity
238 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lmsd
239 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
243 rm -rf $RPM_BUILD_ROOT
246 /sbin/chkconfig --add lmsd
247 %service lmsd restart "lmsd daemon"
250 if [ "$1" = "0" ]; then
252 /sbin/chkconfig --del lmsd
255 %triggerin -- apache1 < 1.3.37-3, apache1-base
256 %webapp_register apache %{_webapp}
258 %triggerun -- apache1 < 1.3.37-3, apache1-base
259 %webapp_unregister apache %{_webapp}
261 %triggerin -- apache < 2.2.0, apache-base
262 %webapp_register httpd %{_webapp}
264 %triggerun -- apache < 2.2.0, apache-base
265 %webapp_unregister httpd %{_webapp}
268 %defattr(644,root,root,755)
269 %doc doc/{AUTHORS,ChangeLog,INSTALL,README*,lms*}
271 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.ini
272 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
273 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
274 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
275 %{_smartyplugindir}/*
278 %attr(770,root,http) %{_lmsvar}/backups
279 %attr(770,root,http) %{_lmsvar}/templates_c
280 %attr(770,root,http) %{_lmsvar}/documents
284 %exclude %{_lmsdir}/www/user
287 %exclude %{_lmsdir}/modules/sql.php
289 %dir %{_lmsdir}/sample
290 %{_lmsdir}/sample/crontab-entry
291 %{_lmsdir}/sample/lms-mgc-netx-sample.ini
292 %{_lmsdir}/sample/lms-mgc.ini
293 %{_lmsdir}/sample/lms.apache.conf
294 %{_lmsdir}/sample/lms.ini
295 %{_lmsdir}/sample/mailtemplate.txt
296 %{_lmsdir}/sample/mailtemplate_en.txt
297 %{_lmsdir}/sample/rc.lmsd
298 %{_lmsdir}/sample/rc.reminder_1st
299 %{_lmsdir}/sample/smstemplate.txt
300 %{_lmsdir}/sample/tekst_1.txt
301 %{_lmsdir}/sample/test.txt
302 %attr(755,root,root) %{_lmsdir}/sample/traffic_ipt.pl
305 %exclude %{_lmsdir}/templates/sql.html
306 %exclude %{_lmsdir}/templates/sqlprint.html
309 %defattr(644,root,root,755)
310 %attr(755,root,root) %{_sbindir}/*
313 %defattr(644,root,root,755)
314 %{_lmsdir}/modules/sql.php
315 %{_lmsdir}/templates/sql.html
316 %{_lmsdir}/templates/sqlprint.html
319 %defattr(644,root,root,755)
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_sbindir}/lmsd-*
327 %attr(755,root,root) %{_libdir}/lms/*.so
328 %attr(754,root,root) /etc/rc.d/init.d/lmsd
329 # XXX: dir shared with base
331 %dir %{_sysconfdir}/modules
332 %{_sysconfdir}/modules/*
333 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}