# TODO
-# - test build on amd64 and check /usr/lib64 patch
# - cosmetics (sort in %%files and %%install)
# - contrib split
#
# Conditional build:
%bcond_without lmsd # without lmsd daemon
-#
-%define lmsver 1.9
-%define lmssubver 3
+
+%define lmsver 1.11
+%define lmssubver 11
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: 1
+Release: 3
License: GPL v2
Group: Networking/Utilities
-Source0: http://lms.rulez.pl/download/%{lmsver}/%{name}-%{version}.tar.gz
-# Source0-md5: c9560bf98462498a3bf4923e27560caf
+Source0: http://www.lms.org.pl/download/%{lmsver}/%{name}-%{version}.tar.gz
+# Source0-md5: 5f1a8cdd126107ddb0656a60f48f2d4e
Source1: %{name}.conf
Source2: %{name}.init
Source3: %{name}.sysconfig
Patch0: %{name}-PLD.patch
Patch1: %{name}-amd64.patch
Patch2: %{name}-smarty.patch
-URL: http://lms.rulez.pl/
+Patch3: %{name}-sqlqueryfix.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.268
+BuildRequires: rpmbuild(macros) >= 1.461
+BuildRequires: yacc
%{?with_lmsd:Requires(post,preun): /sbin/chkconfig}
-Requires: Smarty >= 2.6.10-4
-Requires: php
-Requires: php-gd
-Requires: php-iconv
-Requires: php-pcre
-Requires: php-posix
+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 /usr/share/php/Smarty/plugins
+%define _smartyplugindir %{php_data_dir}/Smarty/plugins
%define _webapps /etc/webapps
%define _webapp %{name}
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
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}
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(post,preun): /sbin/chkconfig
Requires: rc-scripts
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
+%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.
+wybranych usług.
%prep
%setup -q -n %{name}
%if "%{_lib}" == "lib64"
%patch1 -p1
%endif
+%patch2 -p1
+%patch3 -p1
mkdir smarty-plugins
mv \
lib/Smarty/plugins/block.t.php \
-lib/Smarty/plugins/function.{bankaccount,handle,number,size,sum,tip}.php \
+lib/Smarty/plugins/function.{bankaccount,gentime,handle,memory,number,size,sum,tip}.php \
lib/Smarty/plugins/modifier.{money_format,striphtml,to_words}.php \
smarty-plugins
rm -rf lib/Smarty
+# cleanup backups after patching
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+
%build
%if %{with lmsd}
%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*,lms*}
%{_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