2 # - test build on amd64 and check /usr/lib64 patch
3 # - cosmetics (sort in %%files and %%install)
7 %bcond_without lmsd # without lmsd daemon
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: 512b0ef7540758e65a7439cc7ab7ac52
22 Source3: %{name}.sysconfig
23 Patch0: %{name}-PLD.patch
24 Patch1: %{name}-amd64.patch
25 Patch2: %{name}-smarty.patch
26 URL: http://www.lms.org.pl/
29 %{?with_lmsd:BuildRequires: libgadu-devel}
30 %{?with_lmsd:BuildRequires: mysql-devel}
31 %{?with_lmsd:BuildRequires: postgresql-devel}
32 BuildRequires: rpm-pythonprov
33 BuildRequires: rpmbuild(macros) >= 1.461
34 %{?with_lmsd:Requires(post,preun): /sbin/chkconfig}
35 Requires: Smarty >= 2.6.18-2
41 Requires: webserver(php)
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 %define _sysconfdir /etc/%{name}
45 %define _lmsdir %{_datadir}/%{name}
46 %define _lmsvar /var/lib/%{name}
47 %define _smartyplugindir %{php_data_dir}/Smarty/plugins
48 %define _webapps /etc/webapps
49 %define _webapp %{name}
52 This is a package of applications in PHP and Perl for managing LANs.
53 It's using MySQL or PostgreSQL. The main goal is to get the best
54 service of users at provider's level. The main features in LMS are:
55 - database of users (name, surname, address, telephone number,
57 - database of computers (IP, MAC);
58 - easy-ridden financial system and funds of network;
59 - different subscriptions;
60 - sending warnings to users;
61 - many levels of access for LMS administrators;
62 - autogenerating ipchains, iptables, dhcpd, ethers file, oidentd,
63 openbsd packet filter configuration files/scripts;
64 - autogenerating almost any kind of config file using templates.
66 %description -l pl.UTF-8
67 "LMS" jest skrótem od "LAN Management System". Jest to zestaw
68 aplikacji w PHP i Perlu, ułatwiających zarządzanie sieciami
69 osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi),
70 opartych o bazę danych MySQL lub PostgreSQL. Główne założenia to
71 uzyskanie jakości usług oraz obsługi użytkowników na poziomie
72 providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS
74 - baza danych użytkowników (imię, nazwisko, adres, numer telefonu,
76 - baza danych komputerów (adres IP, adres MAC);
77 - prowadzenie prostego rachunku operacji finansowych oraz stanu
79 - różne taryfy abonamentowe;
80 - wysyłanie pocztą elektroniczną upomnień do użytkowników;
81 - automatyczne naliczanie opłat miesięcznych;
82 - różne poziomy dostępu do funkcji LMS dla administratorów;
83 - generowanie reguł i plików konfiguracyjnych dla ipchains, iptables,
84 dhcpd, oidentd, packet filtra openbsd, wpisów /etc/ethers
85 - generowanie praktycznie każdego pliku konfiguracyjnego na podstawie
86 danych w bazie przy użyciu prostych szablonów.
89 Summary: LAN Managment System - scripts
90 Summary(pl.UTF-8): LAN Managment System - skrypty
91 Group: Networking/Utilities
92 Requires: perl-Config-IniFiles
94 Requires: perl-Net-SMTP-Server
97 This package contains scripts to integrate LMS with your system,
98 monthly billing, notify users about their debts and cutting off
99 customers. Also you can build probably any kind of config file using
102 %description scripts -l pl.UTF-8
103 Ten pakiet zawiera skrypty do zintegrowania LMS z systemem, naliczania
104 comiesięcznych opłat, powiadamiania użytkowników o ich zadłużeniu oraz
105 ich automagicznego odłączania. Możesz także zbudować prawdopodobnie
106 każdy typ pliku konfiguracyjnego przy użyciu lms-mgc.
109 Summary: LAN Managment System - sqlpanel module
110 Summary(pl.UTF-8): LAN Managment System - moduł sqlpanel
111 Group: Networking/Utilities
112 Requires: %{name} = %{version}-%{release}
114 %description sqlpanel
115 SQL-panel module allows you to execute SQL queries and directly modify
118 %description sqlpanel -l pl.UTF-8
119 Moduł 'SQL - panel' daje możliwość bezpośredniego dostępu do bazy
120 danych poprzez zadawanie zapytań SQL. Wyniki wyświetlane są w formie
121 tabeli. Ponadto podawany jest czas wykonania zapytania.
124 Summary: LAN Managment System - simple user interface
125 Summary(pl.UTF-8): LAN Managment System - prosty interfejs użytkownika
126 Group: Networking/Utilities
127 Requires: %{name} = %{version}-%{release}
130 Simple user interface.
132 %description user -l pl.UTF-8
133 Prosty interfejs użytkownika.
136 Summary: LAN Managment System - LMS system backend
137 Summary(pl.UTF-8): LAN Managment System - backend systemu LMS
138 Group: Networking/Utilities
139 Requires(post,preun): /sbin/chkconfig
144 A program to manage the server by creating configuration files based
145 upon LMS database and restarting selected services.
147 %description lmsd -l pl.UTF-8
148 Program zarządzający serwerem poprzez tworzenie plików
149 konfiguracyjnych na podstawie bazy danych LMS-a i restartowanie
155 %if "%{_lib}" == "lib64"
162 lib/Smarty/plugins/block.t.php \
163 lib/Smarty/plugins/function.{bankaccount,gentime,handle,number,size,sum,tip}.php \
164 lib/Smarty/plugins/modifier.{money_format,striphtml,to_words}.php \
173 ./configure --with-mysql
176 CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
179 ./configure --with-pgsql
182 CFLAGS='%{rpmcflags} -fPIC -DUSE_PGSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
189 rm -rf $RPM_BUILD_ROOT
190 install -d $RPM_BUILD_ROOT%{_sbindir} \
191 $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
192 $RPM_BUILD_ROOT/etc/lms/modules/{dns,ggnofity,nofity} \
193 $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c,documents},%{_libdir}/lms} \
194 $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} \
195 $RPM_BUILD_ROOT%{_lmsdir}/www/img/core \
196 $RPM_BUILD_ROOT%{_smartyplugindir}
198 install *.php $RPM_BUILD_ROOT%{_lmsdir}/www
199 install img/core/* $RPM_BUILD_ROOT%{_lmsdir}/www/img/core/*
200 install img/*.gif $RPM_BUILD_ROOT%{_lmsdir}/www/img
201 install img/*.jpg $RPM_BUILD_ROOT%{_lmsdir}/www/img
202 install img/*.png $RPM_BUILD_ROOT%{_lmsdir}/www/img
203 install img/*.css $RPM_BUILD_ROOT%{_lmsdir}/www/img
204 install img/*.js $RPM_BUILD_ROOT%{_lmsdir}/www/img
205 install img/*.fdb $RPM_BUILD_ROOT%{_lmsdir}/www/img
206 cp -a doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc
207 cp -a lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir}
208 install bin/* $RPM_BUILD_ROOT%{_sbindir}
209 cp -a smarty-plugins/* $RPM_BUILD_ROOT%{_smartyplugindir}
211 install sample/%{name}.ini $RPM_BUILD_ROOT%{_sysconfdir}
213 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
214 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
215 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
218 install contrib/sqlpanel/sql.php $RPM_BUILD_ROOT%{_lmsdir}/modules
219 install contrib/sqlpanel/*.html $RPM_BUILD_ROOT%{_lmsdir}/templates
222 cp -r contrib/customer/* $RPM_BUILD_ROOT%{_lmsdir}/www/user
226 install daemon/lmsd-* $RPM_BUILD_ROOT%{_sbindir}
227 install daemon/modules/*/*.so $RPM_BUILD_ROOT%{_libdir}/lms
228 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/dns
229 cp -r daemon/modules/ggnotify/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/ggnotify
230 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/nofity
231 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lmsd
232 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
236 rm -rf $RPM_BUILD_ROOT
239 /sbin/chkconfig --add lmsd
240 %service lmsd restart "lmsd daemon"
243 if [ "$1" = "0" ]; then
245 /sbin/chkconfig --del lmsd
248 %triggerin -- apache1 < 1.3.37-3, apache1-base
249 %webapp_register apache %{_webapp}
251 %triggerun -- apache1 < 1.3.37-3, apache1-base
252 %webapp_unregister apache %{_webapp}
254 %triggerin -- apache < 2.2.0, apache-base
255 %webapp_register httpd %{_webapp}
257 %triggerun -- apache < 2.2.0, apache-base
258 %webapp_unregister httpd %{_webapp}
261 %defattr(644,root,root,755)
262 %doc doc/{AUTHORS,ChangeLog,INSTALL,README*,lms*}
264 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.ini
265 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
266 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
267 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
268 %{_smartyplugindir}/*
271 %attr(770,root,http) %{_lmsvar}/backups
272 %attr(770,root,http) %{_lmsvar}/templates_c
273 %attr(770,root,http) %{_lmsvar}/documents
277 %exclude %{_lmsdir}/www/user
280 %exclude %{_lmsdir}/modules/sql.php
282 %dir %{_lmsdir}/sample
283 %{_lmsdir}/sample/crontab-entry
284 %{_lmsdir}/sample/lms-mgc-netx-sample.ini
285 %{_lmsdir}/sample/lms-mgc.ini
286 %{_lmsdir}/sample/lms.apache.conf
287 %{_lmsdir}/sample/lms.ini
288 %{_lmsdir}/sample/mailtemplate.txt
289 %{_lmsdir}/sample/mailtemplate_en.txt
290 %{_lmsdir}/sample/rc.lmsd
291 %{_lmsdir}/sample/rc.reminder_1st
292 %{_lmsdir}/sample/smstemplate.txt
293 %{_lmsdir}/sample/tekst_1.txt
294 %{_lmsdir}/sample/test.txt
295 %attr(755,root,root) %{_lmsdir}/sample/traffic_ipt.pl
298 %exclude %{_lmsdir}/templates/sql.html
299 %exclude %{_lmsdir}/templates/sqlprint.html
302 %defattr(644,root,root,755)
303 %attr(755,root,root) %{_sbindir}/*
306 %defattr(644,root,root,755)
307 %{_lmsdir}/modules/sql.php
308 %{_lmsdir}/templates/sql.html
309 %{_lmsdir}/templates/sqlprint.html
312 %defattr(644,root,root,755)
317 %defattr(644,root,root,755)
318 %attr(755,root,root) %{_sbindir}/lmsd-*
320 %attr(755,root,root) %{_libdir}/lms/*.so
321 %attr(754,root,root) /etc/rc.d/init.d/lmsd
322 # XXX: dir shared with base
324 %dir %{_sysconfdir}/modules
325 %{_sysconfdir}/modules/*
326 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}