]> git.pld-linux.org Git - packages/lms.git/blame - lms.spec
- fixed init script; rel 3
[packages/lms.git] / lms.spec
CommitLineData
03d9c849 1# TODO
03d9c849
ER
2# - cosmetics (sort in %%files and %%install)
3# - contrib split
273010b2 4#
5# Conditional build:
a072064c 6%bcond_without lmsd # without lmsd daemon
953ccfa8 7
aef69fa8 8%define lmsver 1.11
4436dac8 9%define lmssubver 11
22909130 10Summary: LAN Managment System
2359e96f 11Summary(pl.UTF-8): System Zarządzania Siecią Lokalną
22909130 12Name: lms
273010b2 13Version: %{lmsver}.%{lmssubver}
e7773288 14Release: 3
ab4f73d4 15License: GPL v2
22909130 16Group: Networking/Utilities
8670b6bc 17Source0: http://www.lms.org.pl/download/%{lmsver}/%{name}-%{version}.tar.gz
4436dac8 18# Source0-md5: 5f1a8cdd126107ddb0656a60f48f2d4e
273010b2 19Source1: %{name}.conf
20Source2: %{name}.init
21Source3: %{name}.sysconfig
46d522a5 22Patch0: %{name}-PLD.patch
273010b2 23Patch1: %{name}-amd64.patch
a1016496 24Patch2: %{name}-smarty.patch
ee5dd8aa 25Patch3: %{name}-sqlqueryfix.patch
864db7d0 26URL: http://www.lms.org.pl/
a1016496
ER
27BuildRequires: bison
28BuildRequires: flex
a072064c 29%{?with_lmsd:BuildRequires: libgadu-devel}
30%{?with_lmsd:BuildRequires: mysql-devel}
ac37211c 31BuildRequires: net-snmp-devel
a072064c 32%{?with_lmsd:BuildRequires: postgresql-devel}
a1016496 33BuildRequires: rpm-pythonprov
495cdf06 34BuildRequires: rpmbuild(macros) >= 1.461
ac37211c 35BuildRequires: yacc
a072064c 36%{?with_lmsd:Requires(post,preun): /sbin/chkconfig}
8670b6bc 37Requires: Smarty >= 2.6.18-2
a335e4ed
ER
38Requires: php(gd)
39Requires: php(iconv)
ddd97afb
SP
40Requires: php(mbstring)
41Requires: php(mysql)
a335e4ed
ER
42Requires: php(pcre)
43Requires: php(posix)
3674e9e4 44Requires: webapps
beed63b5
SP
45Requires: webserver(access)
46Requires: webserver(alias)
a335e4ed 47Requires: webserver(php)
22909130 48BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
273010b2 50%define _sysconfdir /etc/%{name}
51%define _lmsdir %{_datadir}/%{name}
52%define _lmsvar /var/lib/%{name}
495cdf06 53%define _smartyplugindir %{php_data_dir}/Smarty/plugins
3674e9e4
ER
54%define _webapps /etc/webapps
55%define _webapp %{name}
22909130 56
57%description
903f9044 58This is a package of applications in PHP and Perl for managing LANs.
273010b2 59It's using MySQL or PostgreSQL. The main goal is to get the best
888faf4b 60service of users at provider's level. The main features in LMS are:
03d9c849 61- database of users (name, surname, address, telephone number,
57c06cb1 62 commentary);
63- database of computers (IP, MAC);
64- easy-ridden financial system and funds of network;
65- different subscriptions;
66- sending warnings to users;
57c06cb1 67- many levels of access for LMS administrators;
2dfa4d4f
ŁJM
68- autogenerating ipchains, iptables, dhcpd, ethers file, oidentd,
69 openbsd packet filter configuration files/scripts;
90b91a27 70- autogenerating almost any kind of config file using templates.
22909130 71
62e7c272
JR
72%description -l pl.UTF-8
73"LMS" jest skrótem od "LAN Management System". Jest to zestaw
74aplikacji w PHP i Perlu, ułatwiających zarządzanie sieciami
57c06cb1 75osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi),
62e7c272
JR
76opartych o bazę danych MySQL lub PostgreSQL. Główne założenia to
77uzyskanie jakości usług oraz obsługi użytkowników na poziomie
888faf4b 78providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS
79to:
62e7c272 80- baza danych użytkowników (imię, nazwisko, adres, numer telefonu,
57c06cb1 81 uwagi);
62e7c272 82- baza danych komputerów (adres IP, adres MAC);
57c06cb1 83- prowadzenie prostego rachunku operacji finansowych oraz stanu
62e7c272
JR
84 funduszów sieci;
85- różne taryfy abonamentowe;
86- wysyłanie pocztą elektroniczną upomnień do użytkowników;
87- automatyczne naliczanie opłat miesięcznych;
88- różne poziomy dostępu do funkcji LMS dla administratorów;
89- generowanie reguł i plików konfiguracyjnych dla ipchains, iptables,
90 dhcpd, oidentd, packet filtra openbsd, wpisów /etc/ethers
91- generowanie praktycznie każdego pliku konfiguracyjnego na podstawie
92 danych w bazie przy użyciu prostych szablonów.
22909130 93
c339c515
ŁJM
94%package scripts
95Summary: LAN Managment System - scripts
2359e96f 96Summary(pl.UTF-8): LAN Managment System - skrypty
273010b2 97Group: Networking/Utilities
c339c515
ŁJM
98Requires: perl-Config-IniFiles
99Requires: perl-DBI
1e7c8904 100Requires: perl-Net-SMTP-Server
c339c515
ŁJM
101
102%description scripts
342af906
JB
103This package contains scripts to integrate LMS with your system,
104monthly billing, notify users about their debts and cutting off
03d9c849 105customers. Also you can build probably any kind of config file using
342af906 106lms-mgc.
c339c515 107
62e7c272 108%description scripts -l pl.UTF-8
342af906 109Ten pakiet zawiera skrypty do zintegrowania LMS z systemem, naliczania
62e7c272
JR
110comiesięcznych opłat, powiadamiania użytkowników o ich zadłużeniu oraz
111ich automagicznego odłączania. Możesz także zbudować prawdopodobnie
112każdy typ pliku konfiguracyjnego przy użyciu lms-mgc.
c339c515 113
273010b2 114%package sqlpanel
115Summary: LAN Managment System - sqlpanel module
2359e96f 116Summary(pl.UTF-8): LAN Managment System - moduł sqlpanel
273010b2 117Group: Networking/Utilities
d0c1a05f 118Requires: %{name} = %{version}-%{release}
273010b2 119
120%description sqlpanel
121SQL-panel module allows you to execute SQL queries and directly modify
122data.
123
62e7c272
JR
124%description sqlpanel -l pl.UTF-8
125Moduł 'SQL - panel' daje możliwość bezpośredniego dostępu do bazy
126danych poprzez zadawanie zapytań SQL. Wyniki wyświetlane są w formie
273010b2 127tabeli. Ponadto podawany jest czas wykonania zapytania.
128
129%package user
130Summary: LAN Managment System - simple user interface
2359e96f 131Summary(pl.UTF-8): LAN Managment System - prosty interfejs użytkownika
273010b2 132Group: Networking/Utilities
d0c1a05f 133Requires: %{name} = %{version}-%{release}
273010b2 134
135%description user
136Simple user interface.
137
62e7c272
JR
138%description user -l pl.UTF-8
139Prosty interfejs użytkownika.
273010b2 140
a072064c 141%package lmsd
efde61fc 142Summary: LAN Managment System - LMS system backend
2359e96f 143Summary(pl.UTF-8): LAN Managment System - backend systemu LMS
273010b2 144Group: Networking/Utilities
f856e948
JB
145Requires(post,preun): /sbin/chkconfig
146Requires: rc-scripts
09a5ca2d 147Obsoletes: lms-almsd
273010b2 148
a072064c 149%description lmsd
d0c1a05f
JB
150A program to manage the server by creating configuration files based
151upon LMS database and restarting selected services.
273010b2 152
62e7c272
JR
153%description lmsd -l pl.UTF-8
154Program zarządzający serwerem poprzez tworzenie plików
f856e948 155konfiguracyjnych na podstawie bazy danych LMS-a i restartowanie
62e7c272 156wybranych usług.
9603d008 157
22909130 158%prep
342af906 159%setup -q -n %{name}
3d829255 160%patch0 -p1
c7b20370 161%if "%{_lib}" == "lib64"
273010b2 162%patch1 -p1
163%endif
5e115572 164%patch2 -p1
ee5dd8aa 165%patch3 -p1
273010b2 166
a1016496
ER
167mkdir smarty-plugins
168mv \
169lib/Smarty/plugins/block.t.php \
15002aed 170lib/Smarty/plugins/function.{bankaccount,gentime,handle,memory,number,size,sum,tip}.php \
a1016496
ER
171lib/Smarty/plugins/modifier.{money_format,striphtml,to_words}.php \
172 smarty-plugins
173rm -rf lib/Smarty
174
953ccfa8
ER
175# cleanup backups after patching
176find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
177
273010b2 178%build
a072064c 179%if %{with lmsd}
273010b2 180
181cd daemon
182
183./configure --with-mysql
184%{__make} \
9a9c8fa3
TO
185 CC='%{__cc}' \
186 CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
a072064c 187mv lmsd lmsd-mysql
273010b2 188
189./configure --with-pgsql
a072064c 190%{__make} lmsd \
273010b2 191 CC='%{__cc}' \
03d9c849 192 CFLAGS='%{rpmcflags} -fPIC -DUSE_PGSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..'
a072064c 193mv lmsd lmsd-pgsql
273010b2 194
195cd ..
196%endif
22909130 197
198%install
199rm -rf $RPM_BUILD_ROOT
273010b2 200install -d $RPM_BUILD_ROOT%{_sbindir} \
3674e9e4 201 $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
273010b2 202 $RPM_BUILD_ROOT/etc/lms/modules/{dns,ggnofity,nofity} \
726bd551 203 $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c,documents},%{_libdir}/lms} \
30950fca 204 $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} \
a1016496
ER
205 $RPM_BUILD_ROOT%{_lmsdir}/www/img/core \
206 $RPM_BUILD_ROOT%{_smartyplugindir}
273010b2 207
208install *.php $RPM_BUILD_ROOT%{_lmsdir}/www
30950fca
KT
209install img/core/* $RPM_BUILD_ROOT%{_lmsdir}/www/img/core/*
210install img/*.gif $RPM_BUILD_ROOT%{_lmsdir}/www/img
211install img/*.jpg $RPM_BUILD_ROOT%{_lmsdir}/www/img
212install img/*.png $RPM_BUILD_ROOT%{_lmsdir}/www/img
213install img/*.css $RPM_BUILD_ROOT%{_lmsdir}/www/img
214install img/*.js $RPM_BUILD_ROOT%{_lmsdir}/www/img
215install img/*.fdb $RPM_BUILD_ROOT%{_lmsdir}/www/img
a1016496
ER
216cp -a doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc
217cp -a lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir}
273010b2 218install bin/* $RPM_BUILD_ROOT%{_sbindir}
a1016496 219cp -a smarty-plugins/* $RPM_BUILD_ROOT%{_smartyplugindir}
273010b2 220
221install sample/%{name}.ini $RPM_BUILD_ROOT%{_sysconfdir}
3674e9e4
ER
222
223install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
224install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
225install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
273010b2 226
227# sqlpanel
228install contrib/sqlpanel/sql.php $RPM_BUILD_ROOT%{_lmsdir}/modules
229install contrib/sqlpanel/*.html $RPM_BUILD_ROOT%{_lmsdir}/templates
230
231# user
b4677ec9 232cp -r contrib/customer/* $RPM_BUILD_ROOT%{_lmsdir}/www/user
273010b2 233
234# daemon
a072064c 235%if %{with lmsd}
236install daemon/lmsd-* $RPM_BUILD_ROOT%{_sbindir}
03d9c849 237install daemon/modules/*/*.so $RPM_BUILD_ROOT%{_libdir}/lms
273010b2 238cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/dns
239cp -r daemon/modules/ggnotify/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/ggnotify
240cp -r daemon/modules/dns/sample $RPM_BUILD_ROOT%{_sysconfdir}/modules/nofity
241install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lmsd
242install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
243%endif
22909130 244
245%clean
246rm -rf $RPM_BUILD_ROOT
247
a072064c 248%post lmsd
273010b2 249/sbin/chkconfig --add lmsd
d5c71495 250%service lmsd restart "lmsd daemon"
273010b2 251
a072064c 252%preun lmsd
273010b2 253if [ "$1" = "0" ]; then
d5c71495 254 %service lmsd stop
273010b2 255 /sbin/chkconfig --del lmsd
256fi
257
3d0148ce 258%triggerin -- apache1 < 1.3.37-3, apache1-base
3674e9e4
ER
259%webapp_register apache %{_webapp}
260
3d0148ce 261%triggerun -- apache1 < 1.3.37-3, apache1-base
3674e9e4
ER
262%webapp_unregister apache %{_webapp}
263
ed54242f 264%triggerin -- apache < 2.2.0, apache-base
3674e9e4
ER
265%webapp_register httpd %{_webapp}
266
ed54242f 267%triggerun -- apache < 2.2.0, apache-base
3674e9e4
ER
268%webapp_unregister httpd %{_webapp}
269
22909130 270%files
271%defattr(644,root,root,755)
ab4f73d4 272%doc doc/{AUTHORS,ChangeLog,INSTALL,README*,lms*}
273010b2 273%dir %{_sysconfdir}
1e7c8904 274%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.ini
3674e9e4
ER
275%dir %attr(750,root,http) %{_webapps}/%{_webapp}
276%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
277%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
a1016496 278%{_smartyplugindir}/*
273010b2 279#
280%dir %{_lmsvar}
281%attr(770,root,http) %{_lmsvar}/backups
282%attr(770,root,http) %{_lmsvar}/templates_c
726bd551 283%attr(770,root,http) %{_lmsvar}/documents
273010b2 284#
22909130 285%dir %{_lmsdir}
273010b2 286%{_lmsdir}/www
287%exclude %{_lmsdir}/www/user
288%{_lmsdir}/lib
289%{_lmsdir}/modules
290%exclude %{_lmsdir}/modules/sql.php
291%{_lmsdir}/contrib
aed1f328
ER
292%dir %{_lmsdir}/sample
293%{_lmsdir}/sample/crontab-entry
294%{_lmsdir}/sample/lms-mgc-netx-sample.ini
295%{_lmsdir}/sample/lms-mgc.ini
296%{_lmsdir}/sample/lms.apache.conf
297%{_lmsdir}/sample/lms.ini
298%{_lmsdir}/sample/mailtemplate.txt
299%{_lmsdir}/sample/mailtemplate_en.txt
300%{_lmsdir}/sample/rc.lmsd
301%{_lmsdir}/sample/rc.reminder_1st
302%{_lmsdir}/sample/smstemplate.txt
303%{_lmsdir}/sample/tekst_1.txt
304%{_lmsdir}/sample/test.txt
b4677ec9 305%attr(755,root,root) %{_lmsdir}/sample/traffic_ipt.pl
aed1f328 306
273010b2 307%{_lmsdir}/templates
308%exclude %{_lmsdir}/templates/sql.html
309%exclude %{_lmsdir}/templates/sqlprint.html
c339c515
ŁJM
310
311%files scripts
342af906 312%defattr(644,root,root,755)
273010b2 313%attr(755,root,root) %{_sbindir}/*
314
315%files sqlpanel
316%defattr(644,root,root,755)
317%{_lmsdir}/modules/sql.php
318%{_lmsdir}/templates/sql.html
319%{_lmsdir}/templates/sqlprint.html
320
321%files user
322%defattr(644,root,root,755)
323%{_lmsdir}/www/user
324
a072064c 325%if %{with lmsd}
326%files lmsd
273010b2 327%defattr(644,root,root,755)
a072064c 328%attr(755,root,root) %{_sbindir}/lmsd-*
f856e948
JB
329%dir %{_libdir}/lms
330%attr(755,root,root) %{_libdir}/lms/*.so
273010b2 331%attr(754,root,root) /etc/rc.d/init.d/lmsd
f856e948
JB
332# XXX: dir shared with base
333%dir %{_sysconfdir}
334%dir %{_sysconfdir}/modules
335%{_sysconfdir}/modules/*
273010b2 336%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
337%endif
This page took 0.113516 seconds and 4 git commands to generate.