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(access)
44 Requires: webserver(alias)
45 Requires: webserver(php)
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define _sysconfdir /etc/%{name}
49 %define _lmsdir %{_datadir}/%{name}
50 %define _lmsvar /var/lib/%{name}
51 %define _smartyplugindir %{php_data_dir}/Smarty/plugins
52 %define _webapps /etc/webapps
53 %define _webapp %{name}
56 This is a package of applications in PHP and Perl for managing LANs.
57 It's using MySQL or PostgreSQL. The main goal is to get the best
58 service of users at provider's level. The main features in LMS are:
59 - database of users (name, surname, address, telephone number,
61 - database of computers (IP, MAC);
62 - easy-ridden financial system and funds of network;
63 - different subscriptions;
64 - sending warnings to users;
65 - many levels of access for LMS administrators;
66 - autogenerating ipchains, iptables, dhcpd, ethers file, oidentd,
67 openbsd packet filter configuration files/scripts;
68 - autogenerating almost any kind of config file using templates.
70 %description -l pl.UTF-8
71 "LMS" jest skrótem od "LAN Management System". Jest to zestaw
72 aplikacji w PHP i Perlu, ułatwiających zarządzanie sieciami
73 osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi),
74 opartych o bazę danych MySQL lub PostgreSQL. Główne założenia to
75 uzyskanie jakości usług oraz obsługi użytkowników na poziomie
76 providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS
78 - baza danych użytkowników (imię, nazwisko, adres, numer telefonu,
80 - baza danych komputerów (adres IP, adres MAC);
81 - prowadzenie prostego rachunku operacji finansowych oraz stanu
83 - różne taryfy abonamentowe;
84 - wysyłanie pocztą elektroniczną upomnień do użytkowników;
85 - automatyczne naliczanie opłat miesięcznych;
86 - różne poziomy dostępu do funkcji LMS dla administratorów;
87 - generowanie reguł i plików konfiguracyjnych dla ipchains, iptables,
88 dhcpd, oidentd, packet filtra openbsd, wpisów /etc/ethers
89 - generowanie praktycznie każdego pliku konfiguracyjnego na podstawie
90 danych w bazie przy użyciu prostych szablonów.
93 Summary: LAN Managment System - scripts
94 Summary(pl.UTF-8): LAN Managment System - skrypty
95 Group: Networking/Utilities
96 Requires: perl-Config-IniFiles
98 Requires: perl-Net-SMTP-Server
101 This package contains scripts to integrate LMS with your system,
102 monthly billing, notify users about their debts and cutting off
103 customers. Also you can build probably any kind of config file using
106 %description scripts -l pl.UTF-8
107 Ten pakiet zawiera skrypty do zintegrowania LMS z systemem, naliczania
108 comiesięcznych opłat, powiadamiania użytkowników o ich zadłużeniu oraz
109 ich automagicznego odłączania. Możesz także zbudować prawdopodobnie
110 każdy typ pliku konfiguracyjnego przy użyciu lms-mgc.
113 Summary: LAN Managment System - sqlpanel module
114 Summary(pl.UTF-8): LAN Managment System - moduł sqlpanel
115 Group: Networking/Utilities
116 Requires: %{name} = %{version}-%{release}
118 %description sqlpanel
119 SQL-panel module allows you to execute SQL queries and directly modify
122 %description sqlpanel -l pl.UTF-8
123 Moduł 'SQL - panel' daje możliwość bezpośredniego dostępu do bazy
124 danych poprzez zadawanie zapytań SQL. Wyniki wyświetlane są w formie
125 tabeli. Ponadto podawany jest czas wykonania zapytania.
128 Summary: LAN Managment System - simple user interface
129 Summary(pl.UTF-8): LAN Managment System - prosty interfejs użytkownika
130 Group: Networking/Utilities
131 Requires: %{name} = %{version}-%{release}
134 Simple user interface.
136 %description user -l pl.UTF-8
137 Prosty interfejs użytkownika.
140 Summary: LAN Managment System - LMS system backend
141 Summary(pl.UTF-8): LAN Managment System - backend systemu LMS
142 Group: Networking/Utilities
143 Requires(post,preun): /sbin/chkconfig
148 A program to manage the server by creating configuration files based
149 upon LMS database and restarting selected services.
151 %description lmsd -l pl.UTF-8
152 Program zarządzający serwerem poprzez tworzenie plików
153 konfiguracyjnych na podstawie bazy danych LMS-a i restartowanie
159 %if "%{_lib}" == "lib64"
166 lib/Smarty/plugins/block.t.php \
167 lib/Smarty/plugins/function.{bankaccount,gentime,handle,number,size,sum,tip}.php \
168 lib/Smarty/plugins/modifier.{money_format,striphtml,to_words}.php \
177 ./configure --with-mysql
180 CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
183 ./configure --with-pgsql
186 CFLAGS='%{rpmcflags} -fPIC -DUSE_PGSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
193 rm -rf $RPM_BUILD_ROOT
194 install -d $RPM_BUILD_ROOT%{_sbindir} \
195 $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
196 $RPM_BUILD_ROOT/etc/lms/modules/{dns,ggnofity,nofity} \
197 $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c,documents},%{_libdir}/lms} \
198 $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} \
199 $RPM_BUILD_ROOT%{_lmsdir}/www/img/core \
200 $RPM_BUILD_ROOT%{_smartyplugindir}
202 install *.php $RPM_BUILD_ROOT%{_lmsdir}/www
203 install img/core/* $RPM_BUILD_ROOT%{_lmsdir}/www/img/core/*
204 install img/*.gif $RPM_BUILD_ROOT%{_lmsdir}/www/img
205 install img/*.jpg $RPM_BUILD_ROOT%{_lmsdir}/www/img
206 install img/*.png $RPM_BUILD_ROOT%{_lmsdir}/www/img
207 install img/*.css $RPM_BUILD_ROOT%{_lmsdir}/www/img
208 install img/*.js $RPM_BUILD_ROOT%{_lmsdir}/www/img
209 install img/*.fdb $RPM_BUILD_ROOT%{_lmsdir}/www/img
210 cp -a doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc
211 cp -a lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir}
212 install bin/* $RPM_BUILD_ROOT%{_sbindir}
213 cp -a smarty-plugins/* $RPM_BUILD_ROOT%{_smartyplugindir}
215 install sample/%{name}.ini $RPM_BUILD_ROOT%{_sysconfdir}
217 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
218 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
219 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
222 install contrib/sqlpanel/sql.php $RPM_BUILD_ROOT%{_lmsdir}/modules
223 install contrib/sqlpanel/*.html $RPM_BUILD_ROOT%{_lmsdir}/templates
226 cp -r contrib/customer/* $RPM_BUILD_ROOT%{_lmsdir}/www/user
230 install daemon/lmsd-* $RPM_BUILD_ROOT%{_sbindir}
231 install daemon/modules/*/*.so $RPM_BUILD_ROOT%{_libdir}/lms
232 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/dns
233 cp -r daemon/modules/ggnotify/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/ggnotify
234 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/nofity
235 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lmsd
236 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
240 rm -rf $RPM_BUILD_ROOT
243 /sbin/chkconfig --add lmsd
244 %service lmsd restart "lmsd daemon"
247 if [ "$1" = "0" ]; then
249 /sbin/chkconfig --del lmsd
252 %triggerin -- apache1 < 1.3.37-3, apache1-base
253 %webapp_register apache %{_webapp}
255 %triggerun -- apache1 < 1.3.37-3, apache1-base
256 %webapp_unregister apache %{_webapp}
258 %triggerin -- apache < 2.2.0, apache-base
259 %webapp_register httpd %{_webapp}
261 %triggerun -- apache < 2.2.0, apache-base
262 %webapp_unregister httpd %{_webapp}
265 %defattr(644,root,root,755)
266 %doc doc/{AUTHORS,ChangeLog,INSTALL,README*,lms*}
268 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.ini
269 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
270 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
271 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
272 %{_smartyplugindir}/*
275 %attr(770,root,http) %{_lmsvar}/backups
276 %attr(770,root,http) %{_lmsvar}/templates_c
277 %attr(770,root,http) %{_lmsvar}/documents
281 %exclude %{_lmsdir}/www/user
284 %exclude %{_lmsdir}/modules/sql.php
286 %dir %{_lmsdir}/sample
287 %{_lmsdir}/sample/crontab-entry
288 %{_lmsdir}/sample/lms-mgc-netx-sample.ini
289 %{_lmsdir}/sample/lms-mgc.ini
290 %{_lmsdir}/sample/lms.apache.conf
291 %{_lmsdir}/sample/lms.ini
292 %{_lmsdir}/sample/mailtemplate.txt
293 %{_lmsdir}/sample/mailtemplate_en.txt
294 %{_lmsdir}/sample/rc.lmsd
295 %{_lmsdir}/sample/rc.reminder_1st
296 %{_lmsdir}/sample/smstemplate.txt
297 %{_lmsdir}/sample/tekst_1.txt
298 %{_lmsdir}/sample/test.txt
299 %attr(755,root,root) %{_lmsdir}/sample/traffic_ipt.pl
302 %exclude %{_lmsdir}/templates/sql.html
303 %exclude %{_lmsdir}/templates/sqlprint.html
306 %defattr(644,root,root,755)
307 %attr(755,root,root) %{_sbindir}/*
310 %defattr(644,root,root,755)
311 %{_lmsdir}/modules/sql.php
312 %{_lmsdir}/templates/sql.html
313 %{_lmsdir}/templates/sqlprint.html
316 %defattr(644,root,root,755)
321 %defattr(644,root,root,755)
322 %attr(755,root,root) %{_sbindir}/lmsd-*
324 %attr(755,root,root) %{_libdir}/lms/*.so
325 %attr(754,root,root) /etc/rc.d/init.d/lmsd
326 # XXX: dir shared with base
328 %dir %{_sysconfdir}/modules
329 %{_sysconfdir}/modules/*
330 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}