X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=lms.spec;h=1f02a1f512f3f68c3cb3c3a5d3688449f6cd6069;hb=refs%2Ftags%2Fauto%2Fth%2Flms-1_11_10-2;hp=29e7796c63b14566e93dbdc8c9ae3d5eb679f80e;hpb=3674e9e4fea9267cdca80342dc4966d242ec73c0;p=packages%2Flms.git diff --git a/lms.spec b/lms.spec index 29e7796..1f02a1f 100644 --- a/lms.spec +++ b/lms.spec @@ -6,41 +6,51 @@ # Conditional build: %bcond_without lmsd # without lmsd daemon # -%define lmsver 1.6 -%define lmssubver 6 +%define lmsver 1.11 +%define lmssubver 10 Summary: LAN Managment System -Summary(pl): System Zarz±dzania Sieci± Lokaln± +Summary(pl.UTF-8): System Zarządzania Siecią Lokalną Name: lms Version: %{lmsver}.%{lmssubver} Release: 2 -License: GPL -Vendor: LMS Developers +License: GPL v2 Group: Networking/Utilities -Source0: http://lms.rulez.pl/download/%{lmsver}/%{name}-%{version}.tar.gz -# Source0-md5: 8500349fc938d66504dca033abc3a5f5 +Source0: http://www.lms.org.pl/download/%{lmsver}/%{name}-%{version}.tar.gz +# Source0-md5: d3b2d755b10812a06b0989a82bcd950e Source1: %{name}.conf Source2: %{name}.init Source3: %{name}.sysconfig Patch0: %{name}-PLD.patch Patch1: %{name}-amd64.patch -URL: http://lms.rulez.pl/ +Patch2: %{name}-smarty.patch +URL: http://www.lms.org.pl/ +BuildRequires: bison +BuildRequires: flex %{?with_lmsd:BuildRequires: libgadu-devel} %{?with_lmsd:BuildRequires: mysql-devel} +BuildRequires: net-snmp-devel %{?with_lmsd:BuildRequires: postgresql-devel} +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.461 +BuildRequires: yacc %{?with_lmsd:Requires(post,preun): /sbin/chkconfig} -Requires: Smarty >= 2.6.2 -Requires: php -Requires: php-gd -Requires: php-iconv -Requires: php-pcre -Requires: php-posix -%{?with_lmsd:Requires: rc-scripts} +Requires: Smarty >= 2.6.18-2 +Requires: php(gd) +Requires: php(iconv) +Requires: php(mbstring) +Requires: php(mysql) +Requires: php(pcre) +Requires: php(posix) Requires: webapps +Requires: webserver(access) +Requires: webserver(alias) +Requires: webserver(php) BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir /etc/%{name} %define _lmsdir %{_datadir}/%{name} %define _lmsvar /var/lib/%{name} +%define _smartyplugindir %{php_data_dir}/Smarty/plugins %define _webapps /etc/webapps %define _webapp %{name} @@ -59,31 +69,31 @@ service of users at provider's level. The main features in LMS are: openbsd packet filter configuration files/scripts; - autogenerating almost any kind of config file using templates. -%description -l pl -"LMS" jest skrótem od "LAN Management System". Jest to zestaw -aplikacji w PHP i Perlu, u³atwiaj±cych zarz±dzanie sieciami +%description -l pl.UTF-8 +"LMS" jest skrótem od "LAN Management System". Jest to zestaw +aplikacji w PHP i Perlu, ułatwiających zarządzanie sieciami osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi), -opartych o bazê danych MySQL lub PostgreSQL. G³ówne za³o¿enia to -uzyskanie jako¶ci us³ug oraz obs³ugi u¿ytkowników na poziomie +opartych o bazę danych MySQL lub PostgreSQL. Główne założenia to +uzyskanie jakości usług oraz obsługi użytkowników na poziomie providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS to: -- baza danych u¿ytkowników (imiê, nazwisko, adres, numer telefonu, +- baza danych użytkowników (imię, nazwisko, adres, numer telefonu, uwagi); -- baza danych komputerów (adres IP, adres MAC); +- baza danych komputerów (adres IP, adres MAC); - prowadzenie prostego rachunku operacji finansowych oraz stanu - funduszów sieci; -- ró¿ne taryfy abonamentowe; -- wysy³anie poczt± elektroniczn± upomnieñ do u¿ytkowników; -- automatyczne naliczanie op³at miesiêcznych; -- ró¿ne poziomy dostêpu do funkcji LMS dla administratorów; -- generowanie regu³ i plików konfiguracyjnych dla ipchains, iptables, - dhcpd, oidentd, packet filtra openbsd, wpisów /etc/ethers -- generowanie praktycznie ka¿dego pliku konfiguracyjnego na podstawie - danych w bazie przy u¿yciu prostych szablonów. + funduszów sieci; +- różne taryfy abonamentowe; +- wysyłanie pocztą elektroniczną upomnień do użytkowników; +- automatyczne naliczanie opłat miesięcznych; +- różne poziomy dostępu do funkcji LMS dla administratorów; +- generowanie reguł i plików konfiguracyjnych dla ipchains, iptables, + dhcpd, oidentd, packet filtra openbsd, wpisów /etc/ethers +- generowanie praktycznie każdego pliku konfiguracyjnego na podstawie + danych w bazie przy użyciu prostych szablonów. %package scripts Summary: LAN Managment System - scripts -Summary(pl): LAN Managment System - skrypty +Summary(pl.UTF-8): LAN Managment System - skrypty Group: Networking/Utilities Requires: perl-Config-IniFiles Requires: perl-DBI @@ -95,15 +105,15 @@ monthly billing, notify users about their debts and cutting off customers. Also you can build probably any kind of config file using lms-mgc. -%description scripts -l pl +%description scripts -l pl.UTF-8 Ten pakiet zawiera skrypty do zintegrowania LMS z systemem, naliczania -comiesiêcznych op³at, powiadamiania u¿ytkowników o ich zad³u¿eniu oraz -ich automagicznego od³±czania. Mo¿esz tak¿e zbudowaæ prawdopodobnie -ka¿dy typ pliku konfiguracyjnego przy u¿yciu lms-mgc. +comiesięcznych opłat, powiadamiania użytkowników o ich zadłużeniu oraz +ich automagicznego odłączania. Możesz także zbudować prawdopodobnie +każdy typ pliku konfiguracyjnego przy użyciu lms-mgc. %package sqlpanel Summary: LAN Managment System - sqlpanel module -Summary(pl): LAN Managment System - modu³ sqlpanel +Summary(pl.UTF-8): LAN Managment System - moduł sqlpanel Group: Networking/Utilities Requires: %{name} = %{version}-%{release} @@ -111,38 +121,39 @@ Requires: %{name} = %{version}-%{release} SQL-panel module allows you to execute SQL queries and directly modify data. -%description sqlpanel -l pl -Modu³ 'SQL - panel' daje mo¿liwo¶æ bezpo¶redniego dostêpu do bazy -danych poprzez zadawanie zapytañ SQL. Wyniki wy¶wietlane s± w formie +%description sqlpanel -l pl.UTF-8 +Moduł 'SQL - panel' daje możliwość bezpośredniego dostępu do bazy +danych poprzez zadawanie zapytań SQL. Wyniki wyświetlane są w formie tabeli. Ponadto podawany jest czas wykonania zapytania. %package user Summary: LAN Managment System - simple user interface -Summary(pl): LAN Managment System - prosty interfejs u¿ytkownika +Summary(pl.UTF-8): LAN Managment System - prosty interfejs użytkownika Group: Networking/Utilities Requires: %{name} = %{version}-%{release} %description user Simple user interface. -%description user -l pl -Prosty interfejs u¿ytkownika. +%description user -l pl.UTF-8 +Prosty interfejs użytkownika. %package lmsd Summary: LAN Managment System - LMS system backend -Summary(pl): LAN Managment System - backend systemu LMS +Summary(pl.UTF-8): LAN Managment System - backend systemu LMS Group: Networking/Utilities -Requires: %{name} = %{version}-%{release} +Requires(post,preun): /sbin/chkconfig +Requires: rc-scripts Obsoletes: lms-almsd %description lmsd A program to manage the server by creating configuration files based upon LMS database and restarting selected services. -%description lmsd -l pl -Program zarz±dzaj±cy serwerem poprzez tworzenie plików -konfiguracyjnych na podstawie bazy danych LMS'a i restartowanie -wybranych us³ug. +%description lmsd -l pl.UTF-8 +Program zarządzający serwerem poprzez tworzenie plików +konfiguracyjnych na podstawie bazy danych LMS-a i restartowanie +wybranych usług. %prep %setup -q -n %{name} @@ -150,6 +161,15 @@ wybranych us %if "%{_lib}" == "lib64" %patch1 -p1 %endif +%patch2 -p1 + +mkdir smarty-plugins +mv \ +lib/Smarty/plugins/block.t.php \ +lib/Smarty/plugins/function.{bankaccount,gentime,handle,number,size,sum,tip}.php \ +lib/Smarty/plugins/modifier.{money_format,striphtml,to_words}.php \ + smarty-plugins +rm -rf lib/Smarty %build %if %{with lmsd} @@ -158,7 +178,8 @@ cd daemon ./configure --with-mysql %{__make} \ - CC='%{__cc}' CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..' + CC='%{__cc}' \ + CFLAGS='%{rpmcflags} -fPIC -DUSE_MYSQL -DLMS_LIB_DIR=\"%{_libdir}/lms/\" -I../..' mv lmsd lmsd-mysql ./configure --with-pgsql @@ -175,14 +196,23 @@ rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_sbindir} \ $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \ $RPM_BUILD_ROOT/etc/lms/modules/{dns,ggnofity,nofity} \ - $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c},%{_libdir}/lms} \ - $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} + $RPM_BUILD_ROOT{%{_lmsvar}/{backups,templates_c,documents},%{_libdir}/lms} \ + $RPM_BUILD_ROOT%{_lmsdir}/www/{img,doc,user} \ + $RPM_BUILD_ROOT%{_lmsdir}/www/img/core \ + $RPM_BUILD_ROOT%{_smartyplugindir} install *.php $RPM_BUILD_ROOT%{_lmsdir}/www -install img/* $RPM_BUILD_ROOT%{_lmsdir}/www/img -cp -r doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc -cp -r lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir} +install img/core/* $RPM_BUILD_ROOT%{_lmsdir}/www/img/core/* +install img/*.gif $RPM_BUILD_ROOT%{_lmsdir}/www/img +install img/*.jpg $RPM_BUILD_ROOT%{_lmsdir}/www/img +install img/*.png $RPM_BUILD_ROOT%{_lmsdir}/www/img +install img/*.css $RPM_BUILD_ROOT%{_lmsdir}/www/img +install img/*.js $RPM_BUILD_ROOT%{_lmsdir}/www/img +install img/*.fdb $RPM_BUILD_ROOT%{_lmsdir}/www/img +cp -a doc/html $RPM_BUILD_ROOT%{_lmsdir}/www/doc +cp -a lib contrib modules templates sample $RPM_BUILD_ROOT%{_lmsdir} install bin/* $RPM_BUILD_ROOT%{_sbindir} +cp -a smarty-plugins/* $RPM_BUILD_ROOT%{_smartyplugindir} install sample/%{name}.ini $RPM_BUILD_ROOT%{_sysconfdir} @@ -213,72 +243,40 @@ rm -rf $RPM_BUILD_ROOT %post lmsd /sbin/chkconfig --add lmsd -if [ -f /var/lock/subsys/lmsd ]; then - /etc/rc.d/init.d/lmsd restart >&2 -else - echo "Run \"/etc/rc.d/init.d/lmsd start\" to start lmsd daemon." -fi +%service lmsd restart "lmsd daemon" %preun lmsd if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/lmsd ]; then - /etc/rc.d/init.d/lmsd stop >&2 - fi + %service lmsd stop /sbin/chkconfig --del lmsd fi -%triggerin -- apache1 +%triggerin -- apache1 < 1.3.37-3, apache1-base %webapp_register apache %{_webapp} -%triggerun -- apache1 +%triggerun -- apache1 < 1.3.37-3, apache1-base %webapp_unregister apache %{_webapp} -%triggerin -- apache >= 2.0.0 +%triggerin -- apache < 2.2.0, apache-base %webapp_register httpd %{_webapp} -%triggerun -- apache >= 2.0.0 +%triggerun -- apache < 2.2.0, apache-base %webapp_unregister httpd %{_webapp} -%triggerpostun -- %{name} <= 1.0.4 -echo "WARNING!!!" -echo "_READ_ and upgrade LMS database:" -echo "MySQL: /usr/share/doc/%{name}-%{version}/UPGRADE-1.0-1.5.mysql.gz" -echo "PostgreSQL: /usr/share/doc/%{name}-%{version}/UPGRADE-1.0-1.5.pgsql.gz" - -%triggerpostun -- %{name} <= 1.2.0 -echo "BEWARE:" -echo "Automatic upgrade from LMS<= 1.2.0 is NO LONGER SUPPORTED by lms team" -echo "You are advised to upgrade it manually" -echo - -%triggerpostun -- %{name} < 1.6.6-1.4 -# nuke very-old config location (this mostly for Ra) -if [ -f /etc/httpd/httpd.conf ]; then - sed -i -e "/^Include.*%{name}.conf/d" /etc/httpd/httpd.conf -fi - -# migrate from httpd (apache2) config dir -if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then - cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew} - mv -f /etc/httpd/%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf -fi - -rm -f /etc/httpd/httpd.conf/99_%{name}.conf -/usr/sbin/webapp register httpd %{_webapp} -%service -q httpd reload - %files %defattr(644,root,root,755) -%doc doc/{AUTHORS,ChangeLog*,INSTALL,README,UPGRADE*,lms*} +%doc doc/{AUTHORS,ChangeLog,INSTALL,README*,lms*} %dir %{_sysconfdir} %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.ini %dir %attr(750,root,http) %{_webapps}/%{_webapp} %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf +%{_smartyplugindir}/* # %dir %{_lmsvar} %attr(770,root,http) %{_lmsvar}/backups %attr(770,root,http) %{_lmsvar}/templates_c +%attr(770,root,http) %{_lmsvar}/documents # %dir %{_lmsdir} %{_lmsdir}/www @@ -287,15 +285,27 @@ rm -f /etc/httpd/httpd.conf/99_%{name}.conf %{_lmsdir}/modules %exclude %{_lmsdir}/modules/sql.php %{_lmsdir}/contrib -%{_lmsdir}/sample +%dir %{_lmsdir}/sample +%{_lmsdir}/sample/crontab-entry +%{_lmsdir}/sample/lms-mgc-netx-sample.ini +%{_lmsdir}/sample/lms-mgc.ini +%{_lmsdir}/sample/lms.apache.conf +%{_lmsdir}/sample/lms.ini +%{_lmsdir}/sample/mailtemplate.txt +%{_lmsdir}/sample/mailtemplate_en.txt +%{_lmsdir}/sample/rc.lmsd +%{_lmsdir}/sample/rc.reminder_1st +%{_lmsdir}/sample/smstemplate.txt +%{_lmsdir}/sample/tekst_1.txt +%{_lmsdir}/sample/test.txt %attr(755,root,root) %{_lmsdir}/sample/traffic_ipt.pl + %{_lmsdir}/templates %exclude %{_lmsdir}/templates/sql.html %exclude %{_lmsdir}/templates/sqlprint.html %files scripts %defattr(644,root,root,755) -%dir %{_sbindir} %attr(755,root,root) %{_sbindir}/* %files sqlpanel @@ -312,8 +322,12 @@ rm -f /etc/httpd/httpd.conf/99_%{name}.conf %files lmsd %defattr(644,root,root,755) %attr(755,root,root) %{_sbindir}/lmsd-* +%dir %{_libdir}/lms %attr(755,root,root) %{_libdir}/lms/*.so %attr(754,root,root) /etc/rc.d/init.d/lmsd -/etc/lms/modules/* +# XXX: dir shared with base +%dir %{_sysconfdir} +%dir %{_sysconfdir}/modules +%{_sysconfdir}/modules/* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} %endif