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: d3b2d755b10812a06b0989a82bcd950e
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 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
43 Requires: webserver(php)
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 %define _sysconfdir /etc/%{name}
47 %define _lmsdir %{_datadir}/%{name}
48 %define _lmsvar /var/lib/%{name}
49 %define _smartyplugindir %{php_data_dir}/Smarty/plugins
50 %define _webapps /etc/webapps
51 %define _webapp %{name}
54 This is a package of applications in PHP and Perl for managing LANs.
55 It's using MySQL or PostgreSQL. The main goal is to get the best
56 service of users at provider's level. The main features in LMS are:
57 - database of users (name, surname, address, telephone number,
59 - database of computers (IP, MAC);
60 - easy-ridden financial system and funds of network;
61 - different subscriptions;
62 - sending warnings to users;
63 - many levels of access for LMS administrators;
64 - autogenerating ipchains, iptables, dhcpd, ethers file, oidentd,
65 openbsd packet filter configuration files/scripts;
66 - autogenerating almost any kind of config file using templates.
68 %description -l pl.UTF-8
69 "LMS" jest skrótem od "LAN Management System". Jest to zestaw
70 aplikacji w PHP i Perlu, ułatwiających zarządzanie sieciami
71 osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi),
72 opartych o bazę danych MySQL lub PostgreSQL. Główne założenia to
73 uzyskanie jakości usług oraz obsługi użytkowników na poziomie
74 providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS
76 - baza danych użytkowników (imię, nazwisko, adres, numer telefonu,
78 - baza danych komputerów (adres IP, adres MAC);
79 - prowadzenie prostego rachunku operacji finansowych oraz stanu
81 - różne taryfy abonamentowe;
82 - wysyłanie pocztą elektroniczną upomnień do użytkowników;
83 - automatyczne naliczanie opłat miesięcznych;
84 - różne poziomy dostępu do funkcji LMS dla administratorów;
85 - generowanie reguł i plików konfiguracyjnych dla ipchains, iptables,
86 dhcpd, oidentd, packet filtra openbsd, wpisów /etc/ethers
87 - generowanie praktycznie każdego pliku konfiguracyjnego na podstawie
88 danych w bazie przy użyciu prostych szablonów.
91 Summary: LAN Managment System - scripts
92 Summary(pl.UTF-8): LAN Managment System - skrypty
93 Group: Networking/Utilities
94 Requires: perl-Config-IniFiles
96 Requires: perl-Net-SMTP-Server
99 This package contains scripts to integrate LMS with your system,
100 monthly billing, notify users about their debts and cutting off
101 customers. Also you can build probably any kind of config file using
104 %description scripts -l pl.UTF-8
105 Ten pakiet zawiera skrypty do zintegrowania LMS z systemem, naliczania
106 comiesięcznych opłat, powiadamiania użytkowników o ich zadłużeniu oraz
107 ich automagicznego odłączania. Możesz także zbudować prawdopodobnie
108 każdy typ pliku konfiguracyjnego przy użyciu lms-mgc.
111 Summary: LAN Managment System - sqlpanel module
112 Summary(pl.UTF-8): LAN Managment System - moduł sqlpanel
113 Group: Networking/Utilities
114 Requires: %{name} = %{version}-%{release}
116 %description sqlpanel
117 SQL-panel module allows you to execute SQL queries and directly modify
120 %description sqlpanel -l pl.UTF-8
121 Moduł 'SQL - panel' daje możliwość bezpośredniego dostępu do bazy
122 danych poprzez zadawanie zapytań SQL. Wyniki wyświetlane są w formie
123 tabeli. Ponadto podawany jest czas wykonania zapytania.
126 Summary: LAN Managment System - simple user interface
127 Summary(pl.UTF-8): LAN Managment System - prosty interfejs użytkownika
128 Group: Networking/Utilities
129 Requires: %{name} = %{version}-%{release}
132 Simple user interface.
134 %description user -l pl.UTF-8
135 Prosty interfejs użytkownika.
138 Summary: LAN Managment System - LMS system backend
139 Summary(pl.UTF-8): LAN Managment System - backend systemu LMS
140 Group: Networking/Utilities
141 Requires(post,preun): /sbin/chkconfig
146 A program to manage the server by creating configuration files based
147 upon LMS database and restarting selected services.
149 %description lmsd -l pl.UTF-8
150 Program zarządzający serwerem poprzez tworzenie plików
151 konfiguracyjnych na podstawie bazy danych LMS-a i restartowanie
157 %if "%{_lib}" == "lib64"
164 lib/Smarty/plugins/block.t.php \
165 lib/Smarty/plugins/function.{bankaccount,gentime,handle,number,size,sum,tip}.php \
166 lib/Smarty/plugins/modifier.{money_format,striphtml,to_words}.php \
175 ./configure --with-mysql
178 CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
181 ./configure --with-pgsql
184 CFLAGS='%{rpmcflags} -fPIC -DUSE_PGSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
191 rm -rf $RPM_BUILD_ROOT
192 install -d $RPM_BUILD_ROOT%{_sbindir} \
193 $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
194 $RPM_BUILD_ROOT/etc/lms/modules/{dns,ggnofity,nofity} \
195 $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c,documents},%{_libdir}/lms} \
196 $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} \
197 $RPM_BUILD_ROOT%{_lmsdir}/www/img/core \
198 $RPM_BUILD_ROOT%{_smartyplugindir}
200 install *.php $RPM_BUILD_ROOT%{_lmsdir}/www
201 install img/core/* $RPM_BUILD_ROOT%{_lmsdir}/www/img/core/*
202 install img/*.gif $RPM_BUILD_ROOT%{_lmsdir}/www/img
203 install img/*.jpg $RPM_BUILD_ROOT%{_lmsdir}/www/img
204 install img/*.png $RPM_BUILD_ROOT%{_lmsdir}/www/img
205 install img/*.css $RPM_BUILD_ROOT%{_lmsdir}/www/img
206 install img/*.js $RPM_BUILD_ROOT%{_lmsdir}/www/img
207 install img/*.fdb $RPM_BUILD_ROOT%{_lmsdir}/www/img
208 cp -a doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc
209 cp -a lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir}
210 install bin/* $RPM_BUILD_ROOT%{_sbindir}
211 cp -a smarty-plugins/* $RPM_BUILD_ROOT%{_smartyplugindir}
213 install sample/%{name}.ini $RPM_BUILD_ROOT%{_sysconfdir}
215 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
216 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
217 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
220 install contrib/sqlpanel/sql.php $RPM_BUILD_ROOT%{_lmsdir}/modules
221 install contrib/sqlpanel/*.html $RPM_BUILD_ROOT%{_lmsdir}/templates
224 cp -r contrib/customer/* $RPM_BUILD_ROOT%{_lmsdir}/www/user
228 install daemon/lmsd-* $RPM_BUILD_ROOT%{_sbindir}
229 install daemon/modules/*/*.so $RPM_BUILD_ROOT%{_libdir}/lms
230 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/dns
231 cp -r daemon/modules/ggnotify/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/ggnotify
232 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/nofity
233 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lmsd
234 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
238 rm -rf $RPM_BUILD_ROOT
241 /sbin/chkconfig --add lmsd
242 %service lmsd restart "lmsd daemon"
245 if [ "$1" = "0" ]; then
247 /sbin/chkconfig --del lmsd
250 %triggerin -- apache1 < 1.3.37-3, apache1-base
251 %webapp_register apache %{_webapp}
253 %triggerun -- apache1 < 1.3.37-3, apache1-base
254 %webapp_unregister apache %{_webapp}
256 %triggerin -- apache < 2.2.0, apache-base
257 %webapp_register httpd %{_webapp}
259 %triggerun -- apache < 2.2.0, apache-base
260 %webapp_unregister httpd %{_webapp}
263 %defattr(644,root,root,755)
264 %doc doc/{AUTHORS,ChangeLog,INSTALL,README*,lms*}
266 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.ini
267 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
268 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
269 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
270 %{_smartyplugindir}/*
273 %attr(770,root,http) %{_lmsvar}/backups
274 %attr(770,root,http) %{_lmsvar}/templates_c
275 %attr(770,root,http) %{_lmsvar}/documents
279 %exclude %{_lmsdir}/www/user
282 %exclude %{_lmsdir}/modules/sql.php
284 %dir %{_lmsdir}/sample
285 %{_lmsdir}/sample/crontab-entry
286 %{_lmsdir}/sample/lms-mgc-netx-sample.ini
287 %{_lmsdir}/sample/lms-mgc.ini
288 %{_lmsdir}/sample/lms.apache.conf
289 %{_lmsdir}/sample/lms.ini
290 %{_lmsdir}/sample/mailtemplate.txt
291 %{_lmsdir}/sample/mailtemplate_en.txt
292 %{_lmsdir}/sample/rc.lmsd
293 %{_lmsdir}/sample/rc.reminder_1st
294 %{_lmsdir}/sample/smstemplate.txt
295 %{_lmsdir}/sample/tekst_1.txt
296 %{_lmsdir}/sample/test.txt
297 %attr(755,root,root) %{_lmsdir}/sample/traffic_ipt.pl
300 %exclude %{_lmsdir}/templates/sql.html
301 %exclude %{_lmsdir}/templates/sqlprint.html
304 %defattr(644,root,root,755)
305 %attr(755,root,root) %{_sbindir}/*
308 %defattr(644,root,root,755)
309 %{_lmsdir}/modules/sql.php
310 %{_lmsdir}/templates/sql.html
311 %{_lmsdir}/templates/sqlprint.html
314 %defattr(644,root,root,755)
319 %defattr(644,root,root,755)
320 %attr(755,root,root) %{_sbindir}/lmsd-*
322 %attr(755,root,root) %{_libdir}/lms/*.so
323 %attr(754,root,root) /etc/rc.d/init.d/lmsd
324 # XXX: dir shared with base
326 %dir %{_sysconfdir}/modules
327 %{_sysconfdir}/modules/*
328 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}