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: 484a02ea6e8d493b7906ea8246492b64
22 Source3: %{name}.sysconfig
23 Patch0: %{name}-PLD.patch
24 Patch1: %{name}-amd64.patch
25 Patch2: %{name}-smarty.patch
26 Patch3: %{name}-quicksearch.php.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
160 Summary: LAN Managment System - Userpanel
161 Summary(pl.UTF-8): System Zarządzania Siecią Lokalną - Panel Użytkownika
162 Group: Networking/Utilities
163 Requires: %{name} = %{version}-%{release}
165 %description userpanel
166 Userpanel is automated virtual customer service, based on LMS and
167 using its core features. It enables customers (or it's intended to) to
168 do review their payments, change their personal details or computer
169 properties, modify subscriptions, submit problems, track their
170 requests on Helpdesk and print invoices. It means, it makes a closer
171 contact with their ISP.
173 %description userpanel -l pl.UTF-8
174 Userpanel jest opartą na szkielecie LMS (i ściśle z LMS
175 współpracującą) implementacją tzw. e-boku. Umożliwia (albo będzie
176 umożliwiał) klientom przeglądanie stanu swoich wpłat, zmianę swoich
177 danych osobowych, edycję właściwości swoich komputerów, zmianę taryf,
178 zgłaszanie błędów oraz awarii do Helpdesku, wydruk faktur oraz
184 %if "%{_lib}" == "lib64"
192 lib/Smarty/plugins/block.t.php \
193 lib/Smarty/plugins/function.{bankaccount,gentime,handle,memory,number,size,sum,tip}.php \
194 lib/Smarty/plugins/modifier.{money_format,striphtml,to_words}.php \
198 # cleanup backups after patching
199 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
206 ./configure --with-mysql %{?with_lmsd_debug:--enable-debug0 --enable-debug1}
209 CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
212 ./configure --with-pgsql %{?with_lmsd_debug:--enable-debug0 --enable-debug1}
215 CFLAGS='%{rpmcflags} -fPIC -DUSE_PGSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
222 rm -rf $RPM_BUILD_ROOT
223 install -d $RPM_BUILD_ROOT%{_sbindir} \
224 $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
225 $RPM_BUILD_ROOT/etc/lms/modules/{dns,ggnofity,nofity} \
226 $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c,documents},%{_libdir}/lms} \
227 $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} \
228 $RPM_BUILD_ROOT%{_lmsdir}/www/img/core \
229 $RPM_BUILD_ROOT%{_smartyplugindir}
231 install *.php $RPM_BUILD_ROOT%{_lmsdir}/www
232 install img/core/* $RPM_BUILD_ROOT%{_lmsdir}/www/img/core/*
233 install img/*.gif $RPM_BUILD_ROOT%{_lmsdir}/www/img
234 install img/*.jpg $RPM_BUILD_ROOT%{_lmsdir}/www/img
235 install img/*.png $RPM_BUILD_ROOT%{_lmsdir}/www/img
236 install img/*.css $RPM_BUILD_ROOT%{_lmsdir}/www/img
237 install img/*.js $RPM_BUILD_ROOT%{_lmsdir}/www/img
238 install img/*.fdb $RPM_BUILD_ROOT%{_lmsdir}/www/img
239 cp -a doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc
240 cp -a lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir}
241 install bin/* $RPM_BUILD_ROOT%{_sbindir}
242 cp -a smarty-plugins/* $RPM_BUILD_ROOT%{_smartyplugindir}
244 install sample/%{name}.ini $RPM_BUILD_ROOT%{_sysconfdir}
246 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
247 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
248 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
251 install contrib/sqlpanel/sql.php $RPM_BUILD_ROOT%{_lmsdir}/modules
252 install contrib/sqlpanel/*.html $RPM_BUILD_ROOT%{_lmsdir}/templates
255 cp -r contrib/customer/* $RPM_BUILD_ROOT%{_lmsdir}/www/user
259 install daemon/lmsd-* $RPM_BUILD_ROOT%{_sbindir}
260 install daemon/modules/*/*.so $RPM_BUILD_ROOT%{_libdir}/lms
261 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/dns
262 cp -r daemon/modules/ggnotify/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/ggnotify
263 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/nofity
264 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lmsd
265 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
269 install -d $RPM_BUILD_ROOT%{_lmsdir}/userpanel
270 install -d $RPM_BUILD_ROOT%{_lmsdir}/www/userpanel/modules
271 install -d $RPM_BUILD_ROOT%{_lmsvar}/userpanel/templates_c
273 cp -R {userpanel/lib,userpanel/modules,userpanel/templates} $RPM_BUILD_ROOT%{_lmsdir}/userpanel
274 cp -R {userpanel/index.php,userpanel/style} $RPM_BUILD_ROOT%{_lmsdir}/www/userpanel
275 ln -s %{_lmsdir}/www/userpanel/style $RPM_BUILD_ROOT%{_lmsdir}/userpanel
276 ln -s %{_lmsvar}/userpanel/templates_c $RPM_BUILD_ROOT%{_lmsdir}/userpanel
278 for MODULE in $RPM_BUILD_ROOT%{_lmsdir}/userpanel/modules/*; do
279 MODULE=$(basename $MODULE)
280 mkdir $RPM_BUILD_ROOT%{_lmsdir}/www/userpanel/modules/$MODULE
281 ln -s %{_lmsdir}/userpanel/modules/$MODULE/style \
282 $RPM_BUILD_ROOT%{_lmsdir}/www/userpanel/modules/$MODULE
286 rm -rf $RPM_BUILD_ROOT
289 /sbin/chkconfig --add lmsd
290 %service lmsd restart "lmsd daemon"
293 if [ "$1" = "0" ]; then
295 /sbin/chkconfig --del lmsd
298 %triggerin -- apache1 < 1.3.37-3, apache1-base
299 %webapp_register apache %{_webapp}
301 %triggerun -- apache1 < 1.3.37-3, apache1-base
302 %webapp_unregister apache %{_webapp}
304 %triggerin -- apache < 2.2.0, apache-base
305 %webapp_register httpd %{_webapp}
307 %triggerun -- apache < 2.2.0, apache-base
308 %webapp_unregister httpd %{_webapp}
311 %defattr(644,root,root,755)
312 %doc doc/{AUTHORS,ChangeLog,INSTALL,README*,lms*}
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.ini
315 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
316 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
317 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
318 %{_smartyplugindir}/*
321 %attr(770,root,http) %{_lmsvar}/backups
322 %attr(770,root,http) %{_lmsvar}/templates_c
323 %attr(770,root,http) %{_lmsvar}/documents
327 %exclude %{_lmsdir}/www/user
328 %exclude %{_lmsdir}/www/userpanel
331 %exclude %{_lmsdir}/modules/sql.php
333 %dir %{_lmsdir}/sample
334 %{_lmsdir}/sample/crontab-entry
335 %{_lmsdir}/sample/lms-mgc-netx-sample.ini
336 %{_lmsdir}/sample/lms-mgc.ini
337 %{_lmsdir}/sample/lms.apache.conf
338 %{_lmsdir}/sample/lms.ini
339 %{_lmsdir}/sample/mailtemplate.txt
340 %{_lmsdir}/sample/mailtemplate_en.txt
341 %{_lmsdir}/sample/radius-sql.conf
342 %{_lmsdir}/sample/rc.lmsd
343 %{_lmsdir}/sample/rc.reminder_1st
344 %{_lmsdir}/sample/smstemplate.txt
345 %{_lmsdir}/sample/tekst_1.txt
346 %{_lmsdir}/sample/test.txt
347 %attr(755,root,root) %{_lmsdir}/sample/traffic_ipt.pl
350 %exclude %{_lmsdir}/templates/sql.html
351 %exclude %{_lmsdir}/templates/sqlprint.html
354 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_sbindir}/*
358 %defattr(644,root,root,755)
359 %{_lmsdir}/modules/sql.php
360 %{_lmsdir}/templates/sql.html
361 %{_lmsdir}/templates/sqlprint.html
364 %defattr(644,root,root,755)
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %{_sbindir}/lmsd-*
372 %attr(755,root,root) %{_libdir}/lms/*.so
373 %attr(754,root,root) /etc/rc.d/init.d/lmsd
374 # XXX: dir shared with base
376 %dir %{_sysconfdir}/modules
377 %{_sysconfdir}/modules/*
378 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
382 %defattr(644,root,root,755)
383 %dir %{_lmsdir}/userpanel
384 %{_lmsdir}/userpanel/lib
385 %{_lmsdir}/userpanel/modules
386 %{_lmsdir}/userpanel/templates
387 %{_lmsdir}/userpanel/templates_c
388 %{_lmsdir}/userpanel/style
389 %dir %{_lmsdir}/www/userpanel
390 %{_lmsdir}/www/userpanel/style
391 %{_lmsdir}/www/userpanel/index.php
392 %dir %{_lmsvar}/userpanel
393 %attr(770,root,http) %{_lmsvar}/userpanel/templates_c