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