2 # - move %{_datadir}/pootle/mo/* to system localedir as pootle.mo
3 %define fullname Pootle
4 Summary: Localization and translation management web application
9 Group: Development/Tools
10 Source0: https://github.com/translate/pootle/releases/download/%{version}/Pootle-%{version}.tar.bz2
11 # Source0-md5: 45b21b432261c20e0f7641d6f6703081
14 Patch0: settings.patch
17 URL: http://pootle.translatehouse.org/
18 BuildRequires: python-modules >= 1:2.7
19 BuildRequires: rpm-pythonprov
20 BuildRequires: rpmbuild(macros) >= 1.714
21 BuildRequires: sed >= 4.0
22 BuildRequires: translate-toolkit >= 1.4.1
23 Requires: apache-mod_alias
24 Requires: apache-mod_authz_host
25 Requires: apache-mod_mime
26 Requires: apache-mod_wsgi
31 Suggests: python(sqlite)
32 Suggests: python-memcached
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36 %define find_lang sh %{_sourcedir}/find-lang.sh %{buildroot}
38 %define _webapps /etc/webapps
39 %define _webapp %{name}
40 %define _sysconfdir %{_webapps}/%{_webapp}
42 # no appropriate packages in pld
43 %define _noautoreq_pyegg django.*
46 Pootle is web application for managing distributed or crowdsourced
49 It's features include::
50 - Translation of Gettext PO and XLIFF files.
51 - Submitting to remote version control systems (VCS).
52 - Managing groups of translators
53 - Online webbased or offline translation
57 %setup -q -n %{fullname}-%{version}
62 #%{__sed} -i -e '1s,#!.*env python,#!%{__python},' wsgi.py
64 # not packaging for Travis CI
65 rm pootle/settings/91-travis.conf
74 rm -rf $RPM_BUILD_ROOT
75 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_datadir}/%{name},%{_sharedstatedir}/%{name}/{dbs,po/.tmp},/var/log/%{name},%{_sysconfdir}}
78 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/tests
80 # move these to /var/lib/pootle/po
81 mv $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}/translations/{terminology,tutorial} \
82 $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}/po
83 rmdir $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}/translations
86 mv $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}/{locale,static,assets} \
87 $RPM_BUILD_ROOT%{_datadir}/%{name}
89 # install_dirs.py was modified _after_ install completed, so compile again
91 # TODO. compile only install_dirs.py
92 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
93 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
96 %find_lang %{name}.lang
98 # don't clobber user $PATH
99 #mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/PootleServer
100 #install -p manage.py $RPM_BUILD_ROOT%{_sbindir}/pootle-manage
101 #install -p wsgi.py $RPM_BUILD_ROOT%{_datadir}/pootle
103 install -d $RPM_BUILD_ROOT%{_sysconfdir}
104 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
107 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
110 #rm -r $RPM_BUILD_ROOT%{py_sitescriptdir}/djblets
113 rm -rf $RPM_BUILD_ROOT
115 %triggerin -- apache < 2.2.0, apache-base
116 %webapp_register httpd %{_webapp}
118 %triggerun -- apache < 2.2.0, apache-base
119 %webapp_unregister httpd %{_webapp}
121 %files -f %{name}.lang
122 %defattr(644,root,root,755)
123 %doc README.rst INSTALL CONTRIBUTING.rst
124 %dir %attr(750,root,http) %{_sysconfdir}
125 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
126 #%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/localsettings.py
127 %attr(755,root,root) %{_bindir}/pootle
129 %dir %{_datadir}/%{name}
130 %{_datadir}/%{name}/assets
131 %{_datadir}/%{name}/static
132 %dir %{_datadir}/%{name}/locale
133 %{_datadir}/%{name}/locale/LINGUAS
134 %{_datadir}/%{name}/locale/templates
136 %attr(755,root,root) %{_datadir}/pootle/wsgi.py
139 %{py_sitescriptdir}/%{name}
140 %{py_sitescriptdir}/Pootle-%{version}-py*.egg-info
142 %dir %{_sharedstatedir}/%{name}
143 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/dbs
144 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/po
145 # setup a tempdir inside the PODIRECTORY heirarchy, this way we have
146 # reasonable guarantee that temp files will be created on the same
147 # filesystem as translation files (required for save operations).
148 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/po/.tmp
150 # base translations from pootle itself
151 #%dir %attr(770,root,http) %{_sharedstatedir}/pootle/po/pootle
152 # terminology and tutorial po files
153 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/po/terminology
154 %dir %attr(770,root,http) %{_sharedstatedir}/%{name}/po/tutorial
156 %dir %attr(770,root,http) /var/log/%{name}