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