2 # - move %{_datadir}/pootle/mo/* to system localedir as pootle.mo
4 %define fullname Pootle
5 Summary: Localization and translation management web application
10 Group: Development/Tools
11 Source0: https://github.com/translate/pootle/releases/download/%{version}%{subver}/Pootle-%{version}%{subver}.tar.bz2
12 # Source0-md5: c7e86066f78f8a04823309c1b3cf0134
15 Patch0: settings.patch
18 URL: http://pootle.translatehouse.org/
19 BuildRequires: python-modules >= 1:2.7
20 BuildRequires: rpm-pythonprov
21 BuildRequires: rpmbuild(macros) >= 1.714
22 BuildRequires: sed >= 4.0
23 BuildRequires: translate-toolkit >= 1.4.1
24 Requires: apache-mod_alias
25 Requires: apache-mod_authz_host
26 Requires: apache-mod_mime
27 Requires: apache-mod_wsgi
32 Suggests: python(sqlite)
33 Suggests: python-memcached
35 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 %define find_lang sh %{_sourcedir}/find-lang.sh %{buildroot}
39 %define _webapps /etc/webapps
40 %define _webapp %{name}
41 %define _sysconfdir %{_webapps}/%{_webapp}
44 Pootle is web application for managing distributed or crowdsourced
47 It's features include::
48 - Translation of Gettext PO and XLIFF files.
49 - Submitting to remote version control systems (VCS).
50 - Managing groups of translators
51 - Online webbased or offline translation
55 %setup -q -n %{fullname}-%{version}%{?subver}
60 #%{__sed} -i -e '1s,#!.*env python,#!%{__python},' wsgi.py
62 # not packaging for Travis CI
63 rm pootle/settings/91-travis.conf
72 rm -rf $RPM_BUILD_ROOT
73 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_datadir}/%{name},%{_sharedstatedir}/%{name}/{dbs,po/.tmp},/var/log/%{name},%{_sysconfdir}}
76 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/tests
77 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/pytest_pootle
79 # move these to /var/lib/pootle/po
80 mv $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}/translations/{terminology,tutorial} \
81 $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}/po
82 rmdir $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}/translations
85 mv $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}/{locale,static,assets} \
86 $RPM_BUILD_ROOT%{_datadir}/%{name}
88 # install_dirs.py was modified _after_ install completed, so compile again
90 # TODO. compile only install_dirs.py
91 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
92 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
95 %find_lang %{name}.lang
97 # don't clobber user $PATH
98 #mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/PootleServer
99 #install -p manage.py $RPM_BUILD_ROOT%{_sbindir}/pootle-manage
100 #install -p wsgi.py $RPM_BUILD_ROOT%{_datadir}/pootle
102 install -d $RPM_BUILD_ROOT%{_sysconfdir}
103 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
106 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
109 #rm -r $RPM_BUILD_ROOT%{py_sitescriptdir}/djblets
112 rm -rf $RPM_BUILD_ROOT
114 %triggerin -- apache < 2.2.0, apache-base
115 %webapp_register httpd %{_webapp}
117 %triggerun -- apache < 2.2.0, apache-base
118 %webapp_unregister httpd %{_webapp}
120 %files -f %{name}.lang
121 %defattr(644,root,root,755)
122 %doc README.rst INSTALL CONTRIBUTING.rst
123 %dir %attr(750,root,http) %{_sysconfdir}
124 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
125 #%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/localsettings.py
126 %attr(755,root,root) %{_bindir}/pootle
128 %dir %{_datadir}/%{name}
129 %{_datadir}/%{name}/assets
130 %{_datadir}/%{name}/static
131 %dir %{_datadir}/%{name}/locale
132 %{_datadir}/%{name}/locale/LINGUAS
133 %{_datadir}/%{name}/locale/templates
135 %attr(755,root,root) %{_datadir}/pootle/wsgi.py
138 %{py_sitescriptdir}/%{name}
139 %{py_sitescriptdir}/Pootle-%{version}%{?subver}-py*.egg-info
141 %dir %{_sharedstatedir}/%{name}
142 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/dbs
143 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/po
144 # setup a tempdir inside the PODIRECTORY heirarchy, this way we have
145 # reasonable guarantee that temp files will be created on the same
146 # filesystem as translation files (required for save operations).
147 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/po/.tmp
149 # base translations from pootle itself
150 #%dir %attr(770,root,http) %{_sharedstatedir}/pootle/po/pootle
151 # terminology and tutorial po files
152 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/po/terminology
153 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/po/tutorial
155 %dir %attr(770,root,http) /var/log/%{name}