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