commit 305407afc65f5130ef2980093ef9d1e1183a5e78 Author: Jakub Bogusz <qbo...@pld-linux.org> Date: Sun Oct 16 14:45:58 2016 +0200
- updated to 3.1.0 - added localedir patch, install locale files in system locale dir - added install patch (fixes install with prefix=/usr or build-base) - adjusted init script to use http user for prewikka-httpd, separated it to -httpd subpackage prewikka-install.patch | 20 +++++++++ prewikka-localedir.patch | 11 +++++ prewikka.init | 2 +- prewikka.spec | 112 +++++++++++++++++++++++++++++------------------ 4 files changed, 102 insertions(+), 43 deletions(-) --- diff --git a/prewikka.spec b/prewikka.spec index 51e85a7..29116b5 100644 --- a/prewikka.spec +++ b/prewikka.spec @@ -1,21 +1,27 @@ +# TODO: apache (and other webservers?) configuration for prewikka WSGI Summary: Prelude IDS web application Summary(pl.UTF-8): Aplikacja WWW dla Prelude IDS Name: prewikka -Version: 1.0.0 +Version: 3.1.0 Release: 1 License: GPL v2+ Group: Applications/Networking -#Source0Download: http://www.prelude-ids.com/developpement/telechargement/index.html -Source0: http://www.prelude-ids.com/download/releases/prewikka/%{name}-%{version}.tar.gz -# Source0-md5: 87c20b23a909b2af2c68a9ded0a987bc +#Source0Download: https://www.prelude-siem.org/projects/prelude/files +Source0: https://www.prelude-siem.org/attachments/download/727/%{name}-%{version}.tar.gz +# Source0-md5: a7c721c3322558f8e94608cc3a12abb2 Source1: %{name}.init Source2: %{name}.sysconfig -URL: http://www.prelude-ids.com/ -BuildRequires: python >= 1:2.5 +Patch0: %{name}-localedir.patch +Patch1: %{name}-install.patch +URL: https://www.prelude-siem.org/ +BuildRequires: python >= 1:2.6 BuildRequires: python-cheetah +BuildRequires: python-lesscpy +BuildRequires: python-setuptools BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.219 +BuildRequires: rpmbuild(macros) >= 1.714 %pyrequires_eq python-modules +Requires: python-babel Requires: python-cheetah Requires: python-libprelude >= 1.0.0 Requires: python-libpreludedb >= 1.0.0 @@ -30,18 +36,42 @@ feature like contextual filtering, aggregation, etc. Prewikka to profesjonalnie wyglądająca aplikacja dająca zaawansowane możliwości, takie jak filtrowanie kontekstowe, agregację itp. +%package httpd +Summary: Standalone Prewikka HTTP server +Summary(pl.UTF-8): Samodzielny serwer HTTP dla Prewikki +Group: Daemons +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires: rc-scripts +Provides: group(http) +Provides: user(http) +Requires: %{name} = %{version}-%{release} + +%description httpd +Standalone Prewikka HTTP server. Allows to run Prewikka on user +available port (>= 1024, 8000 by default). + +%description httpd -l pl.UTF-8 +Samodzielny serwer HTTP dla Prewikki. Pozwala na uruchomienie Prewikki +na porcie dostępnym dla użytkownika (>= 1024, domyślnie 8000). + %prep %setup -q +%patch0 -p1 +%patch1 -p1 %build -%{__python} setup.py build +%py_build %install rm -rf $RPM_BUILD_ROOT -%{__python} setup.py install \ - --optimize=2 \ - --root=$RPM_BUILD_ROOT +%py_install install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} @@ -50,6 +80,9 @@ install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name} install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name} install conf/prewikka.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name} +install -d $RPM_BUILD_ROOT%{_datadir} +%{__mv} $RPM_BUILD_ROOT%{py_sitescriptdir}/prewikka/locale $RPM_BUILD_ROOT%{_datadir} + %py_postclean %find_lang %{name} @@ -57,57 +90,52 @@ install conf/prewikka.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name} %clean rm -rf $RPM_BUILD_ROOT -%post +%pre httpd +%groupadd -g 51 http +%useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http + +%post httpd /sbin/chkconfig --add prewikka if [ "$1" = "1" ]; then %banner -e %{name} <<EOF -Create new database and database user for prewikka -(or update an existing one if needed) using templates from -%{_datadir}/%{name}/database and configure Prewikka -for reference visit %{url} +Create new database and database user for Prewikka (or update an existing +one if needed) and configure Prewikka. For reference visit: +https://www.prelude-siem.org/projects/prelude/wiki/InstallingPreludePrewikka To connect to console point Your browser to: http://`hostname`:8000/ -REMEMBER to change password for admin (default:admin) +REMEMBER to change password for admin (default: admin) EOF fi %service prewikka restart "Prewikka" -%preun +%preun httpd if [ "$1" = "0" ]; then %service prewikka stop /sbin/chkconfig --del prewikka fi +%postun httpd +if [ "$1" = "0" ]; then + %userremove http + %groupremove http +fi + %files -f %{name}.lang %defattr(644,root,root,755) -%doc AUTHORS NEWS README -%attr(755,root,root) %{_bindir}/prewikka-httpd +%doc AUTHORS COPYING.* NEWS README %dir %{_sysconfdir}/%{name} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/prewikka.conf +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/prewikka.wsgi +%{py_sitescriptdir}/prewikka +%{py_sitescriptdir}/prewikka-%{version}-py*.egg-info +%attr(770,root,http) %dir /var/lib/prewikka + +%files httpd +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/prewikka-httpd %attr(754,root,root) /etc/rc.d/init.d/%{name} %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} -%dir %{_datadir}/%{name} -%dir %{_datadir}/%{name}/cgi-bin -%attr(755,root,root) %{_datadir}/%{name}/cgi-bin/prewikka.cgi -%{_datadir}/%{name}/database -%{_datadir}/%{name}/htdocs -%dir %{py_sitescriptdir}/%{name} -%{py_sitescriptdir}/%{name}/*.py[co] -%dir %{py_sitescriptdir}/%{name}/modules -%{py_sitescriptdir}/%{name}/modules/*.py[co] -%dir %{py_sitescriptdir}/%{name}/modules/auth -%{py_sitescriptdir}/%{name}/modules/auth/*.py[co] -%dir %{py_sitescriptdir}/%{name}/modules/auth/anonymous -%{py_sitescriptdir}/%{name}/modules/auth/anonymous/*.py[co] -%dir %{py_sitescriptdir}/%{name}/modules/auth/cgi -%{py_sitescriptdir}/%{name}/modules/auth/cgi/*.py[co] -%dir %{py_sitescriptdir}/%{name}/modules/auth/loginpassword -%{py_sitescriptdir}/%{name}/modules/auth/loginpassword/*.py[co] -%dir %{py_sitescriptdir}/%{name}/views -%{py_sitescriptdir}/%{name}/views/*.py[co] -%dir %{py_sitescriptdir}/%{name}/templates -%{py_sitescriptdir}/%{name}/templates/*.py[co] -%{py_sitescriptdir}/prewikka-*.egg-info diff --git a/prewikka-install.patch b/prewikka-install.patch new file mode 100644 index 0000000..e0a29b5 --- /dev/null +++ b/prewikka-install.patch @@ -0,0 +1,20 @@ +--- prewikka-3.1.0/setup.py.orig 2016-09-15 08:49:49.000000000 +0200 ++++ prewikka-3.1.0/setup.py 2016-10-16 09:08:52.787464603 +0200 +@@ -184,7 +184,7 @@ + class my_install(install): + def finalize_options(self): + ### if no prefix is given, configuration should go to /etc or in {prefix}/etc otherwise +- if self.prefix: ++ if self.prefix and self.prefix != '/usr': + self.conf_prefix = self.prefix + "/etc/prewikka" + self.data_prefix = self.prefix + "/var/lib/prewikka" + else: +@@ -209,7 +209,7 @@ + self.mkpath((self.root or "") + self.data_prefix) + + def init_siteconfig(self): +- config = open("prewikka/siteconfig.py", "w") ++ config = open(os.path.join(self.build_lib, "prewikka/siteconfig.py"), "w") + print >> config, "conf_dir = '%s'" % os.path.abspath((self.conf_prefix)) + print >> config, "data_dir = '%s'" % os.path.abspath(self.data_prefix) + print >> config, "libprelude_required_version = '%s'" % LIBPRELUDE_REQUIRED_VERSION diff --git a/prewikka-localedir.patch b/prewikka-localedir.patch new file mode 100644 index 0000000..e8a00d7 --- /dev/null +++ b/prewikka-localedir.patch @@ -0,0 +1,11 @@ +--- prewikka-3.1.0/prewikka/localization.py.orig 2016-09-15 08:49:49.000000000 +0200 ++++ prewikka-3.1.0/prewikka/localization.py 2016-10-16 08:28:51.410825370 +0200 +@@ -43,7 +43,7 @@ + self._catalogs_lock = Lock() + + self._domains_lock = Lock() +- self._domains = utils.OrderedDict([("prewikka", pkg_resources.resource_filename(__name__, "locale"))]) ++ self._domains = utils.OrderedDict([("prewikka", "/usr/share/locale")]) + + def addDomain(self, domain, locale_dir): + with self._domains_lock: diff --git a/prewikka.init b/prewikka.init index a8d6958..ae118e1 100644 --- a/prewikka.init +++ b/prewikka.init @@ -19,7 +19,7 @@ fi start() { if [ ! -f /var/lock/subsys/prewikka ]; then msg_starting "Prewikka" - daemon --fork prewikka-httpd $PREWIKKA_OPTS + daemon --user http --fork prewikka-httpd $PREWIKKA_OPTS RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/prewikka else ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/prewikka.git/commitdiff/305407afc65f5130ef2980093ef9d1e1183a5e78 _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit