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