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): System Zarz±dzania Sieci± Lokaln±
14 Version: %{lmsver}.%{lmssubver}
17 Group: Networking/Utilities
18 Source0: http://lms.rulez.pl/download/%{lmsver}/%{name}-%{version}.tar.gz
19 # Source0-md5: c9560bf98462498a3bf4923e27560caf
22 Source3: %{name}.sysconfig
23 Patch0: %{name}-PLD.patch
24 Patch1: %{name}-amd64.patch
25 URL: http://lms.rulez.pl/
26 %{?with_lmsd:BuildRequires: libgadu-devel}
27 %{?with_lmsd:BuildRequires: mysql-devel}
28 %{?with_lmsd:BuildRequires: postgresql-devel}
29 BuildRequires: rpmbuild(macros) >= 1.268
30 %{?with_lmsd:Requires(post,preun): /sbin/chkconfig}
33 BuildRequires: rpm-pythonprov
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42 %define _sysconfdir /etc/%{name}
43 %define _lmsdir %{_datadir}/%{name}
44 %define _lmsvar /var/lib/%{name}
45 %define _webapps /etc/webapps
46 %define _webapp %{name}
49 This is a package of applications in PHP and Perl for managing LANs.
50 It's using MySQL or PostgreSQL. The main goal is to get the best
51 service of users at provider's level. The main features in LMS are:
52 - database of users (name, surname, address, telephone number,
54 - database of computers (IP, MAC);
55 - easy-ridden financial system and funds of network;
56 - different subscriptions;
57 - sending warnings to users;
58 - many levels of access for LMS administrators;
59 - autogenerating ipchains, iptables, dhcpd, ethers file, oidentd,
60 openbsd packet filter configuration files/scripts;
61 - autogenerating almost any kind of config file using templates.
64 "LMS" jest skrótem od "LAN Management System". Jest to zestaw
65 aplikacji w PHP i Perlu, u³atwiaj±cych zarz±dzanie sieciami
66 osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi),
67 opartych o bazê danych MySQL lub PostgreSQL. G³ówne za³o¿enia to
68 uzyskanie jako¶ci us³ug oraz obs³ugi u¿ytkowników na poziomie
69 providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS
71 - baza danych u¿ytkowników (imiê, nazwisko, adres, numer telefonu,
73 - baza danych komputerów (adres IP, adres MAC);
74 - prowadzenie prostego rachunku operacji finansowych oraz stanu
76 - ró¿ne taryfy abonamentowe;
77 - wysy³anie poczt± elektroniczn± upomnieñ do u¿ytkowników;
78 - automatyczne naliczanie op³at miesiêcznych;
79 - ró¿ne poziomy dostêpu do funkcji LMS dla administratorów;
80 - generowanie regu³ i plików konfiguracyjnych dla ipchains, iptables,
81 dhcpd, oidentd, packet filtra openbsd, wpisów /etc/ethers
82 - generowanie praktycznie ka¿dego pliku konfiguracyjnego na podstawie
83 danych w bazie przy u¿yciu prostych szablonów.
86 Summary: LAN Managment System - scripts
87 Summary(pl): LAN Managment System - skrypty
88 Group: Networking/Utilities
89 Requires: perl-Config-IniFiles
91 Requires: perl-Net-SMTP-Server
94 This package contains scripts to integrate LMS with your system,
95 monthly billing, notify users about their debts and cutting off
96 customers. Also you can build probably any kind of config file using
99 %description scripts -l pl
100 Ten pakiet zawiera skrypty do zintegrowania LMS z systemem, naliczania
101 comiesiêcznych op³at, powiadamiania u¿ytkowników o ich zad³u¿eniu oraz
102 ich automagicznego od³±czania. Mo¿esz tak¿e zbudowaæ prawdopodobnie
103 ka¿dy typ pliku konfiguracyjnego przy u¿yciu lms-mgc.
106 Summary: LAN Managment System - sqlpanel module
107 Summary(pl): LAN Managment System - modu³ sqlpanel
108 Group: Networking/Utilities
109 Requires: %{name} = %{version}-%{release}
111 %description sqlpanel
112 SQL-panel module allows you to execute SQL queries and directly modify
115 %description sqlpanel -l pl
116 Modu³ 'SQL - panel' daje mo¿liwo¶æ bezpo¶redniego dostêpu do bazy
117 danych poprzez zadawanie zapytañ SQL. Wyniki wy¶wietlane s± w formie
118 tabeli. Ponadto podawany jest czas wykonania zapytania.
121 Summary: LAN Managment System - simple user interface
122 Summary(pl): LAN Managment System - prosty interfejs u¿ytkownika
123 Group: Networking/Utilities
124 Requires: %{name} = %{version}-%{release}
127 Simple user interface.
129 %description user -l pl
130 Prosty interfejs u¿ytkownika.
133 Summary: LAN Managment System - LMS system backend
134 Summary(pl): LAN Managment System - backend systemu LMS
135 Group: Networking/Utilities
136 Requires(post,preun): /sbin/chkconfig
141 A program to manage the server by creating configuration files based
142 upon LMS database and restarting selected services.
144 %description lmsd -l pl
145 Program zarz±dzaj±cy serwerem poprzez tworzenie plików
146 konfiguracyjnych na podstawie bazy danych LMS-a i restartowanie
152 %if "%{_lib}" == "lib64"
161 ./configure --with-mysql
164 CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
167 ./configure --with-pgsql
170 CFLAGS='%{rpmcflags} -fPIC -DUSE_PGSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
177 rm -rf $RPM_BUILD_ROOT
178 install -d $RPM_BUILD_ROOT%{_sbindir} \
179 $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
180 $RPM_BUILD_ROOT/etc/lms/modules/{dns,ggnofity,nofity} \
181 $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c,documents},%{_libdir}/lms} \
182 $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} \
183 $RPM_BUILD_ROOT%{_lmsdir}/www/img/core
185 install *.php $RPM_BUILD_ROOT%{_lmsdir}/www
186 install img/core/* $RPM_BUILD_ROOT%{_lmsdir}/www/img/core/*
187 install img/*.gif $RPM_BUILD_ROOT%{_lmsdir}/www/img
188 install img/*.jpg $RPM_BUILD_ROOT%{_lmsdir}/www/img
189 install img/*.png $RPM_BUILD_ROOT%{_lmsdir}/www/img
190 install img/*.css $RPM_BUILD_ROOT%{_lmsdir}/www/img
191 install img/*.js $RPM_BUILD_ROOT%{_lmsdir}/www/img
192 install img/*.fdb $RPM_BUILD_ROOT%{_lmsdir}/www/img
193 cp -r doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc
194 cp -r lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir}
195 install bin/* $RPM_BUILD_ROOT%{_sbindir}
197 install sample/%{name}.ini $RPM_BUILD_ROOT%{_sysconfdir}
199 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
200 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
201 install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
204 install contrib/sqlpanel/sql.php $RPM_BUILD_ROOT%{_lmsdir}/modules
205 install contrib/sqlpanel/*.html $RPM_BUILD_ROOT%{_lmsdir}/templates
208 cp -r contrib/customer/* $RPM_BUILD_ROOT%{_lmsdir}/www/user
212 install daemon/lmsd-* $RPM_BUILD_ROOT%{_sbindir}
213 install daemon/modules/*/*.so $RPM_BUILD_ROOT%{_libdir}/lms
214 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/dns
215 cp -r daemon/modules/ggnotify/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/ggnotify
216 cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/nofity
217 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lmsd
218 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
222 rm -rf $RPM_BUILD_ROOT
225 /sbin/chkconfig --add lmsd
226 %service lmsd restart "lmsd daemon"
229 if [ "$1" = "0" ]; then
231 /sbin/chkconfig --del lmsd
234 %triggerin -- apache1 < 1.3.37-3, apache1-base
235 %webapp_register apache %{_webapp}
237 %triggerun -- apache1 < 1.3.37-3, apache1-base
238 %webapp_unregister apache %{_webapp}
240 %triggerin -- apache < 2.2.0, apache-base
241 %webapp_register httpd %{_webapp}
243 %triggerun -- apache < 2.2.0, apache-base
244 %webapp_unregister httpd %{_webapp}
246 %triggerpostun -- %{name} <= 1.0.4
248 echo "_READ_ and upgrade LMS database:"
249 echo "MySQL: /usr/share/doc/%{name}-%{version}/UPGRADE-1.0-1.5.mysql.gz"
250 echo "PostgreSQL: /usr/share/doc/%{name}-%{version}/UPGRADE-1.0-1.5.pgsql.gz"
252 %triggerpostun -- %{name} <= 1.2.0
254 echo "Automatic upgrade from LMS<= 1.2.0 is NO LONGER SUPPORTED by lms team"
255 echo "You are advised to upgrade it manually"
258 %triggerpostun -- %{name} < 1.6.6-1.4
259 # nuke very-old config location (this mostly for Ra)
260 if [ -f /etc/httpd/httpd.conf ]; then
261 sed -i -e "/^Include.*%{name}.conf/d" /etc/httpd/httpd.conf
264 # migrate from httpd (apache2) config dir
265 if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then
266 cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
267 mv -f /etc/httpd/%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
270 rm -f /etc/httpd/httpd.conf/99_%{name}.conf
271 /usr/sbin/webapp register httpd %{_webapp}
272 %service -q httpd reload
275 %defattr(644,root,root,755)
276 %doc doc/{AUTHORS,ChangeLog,INSTALL,README*,lms*}
278 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.ini
279 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
280 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
281 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
284 %attr(770,root,http) %{_lmsvar}/backups
285 %attr(770,root,http) %{_lmsvar}/templates_c
286 %attr(770,root,http) %{_lmsvar}/documents
290 %exclude %{_lmsdir}/www/user
293 %exclude %{_lmsdir}/modules/sql.php
296 %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}