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