]> git.pld-linux.org Git - packages/pootle.git/blob - pootle.spec
7e2a8676198c404ff455020650af7dd75541bb8b
[packages/pootle.git] / pootle.spec
1 # TODO
2 # - move %{_datadir}/pootle/mo/* to system localedir as pootle.mo
3 %define         fullname Pootle
4 Summary:        Localization and translation management web application
5 Name:           pootle
6 Version:        2.7.6
7 Release:        0.9
8 License:        GPL v2
9 Group:          Development/Tools
10 Source0:        https://github.com/translate/pootle/releases/download/%{version}/Pootle-%{version}.tar.bz2
11 # Source0-md5:  45b21b432261c20e0f7641d6f6703081
12 Source1:        apache.conf
13 Source2:        find-lang.sh
14 Patch0:         settings.patch
15 Patch1:         paths.patch
16 Patch2:         homedir.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
27 Requires:       group(http)
28 Requires:       iso-codes
29 Requires:       zip
30 Suggests:       memcached
31 Suggests:       python(sqlite)
32 Suggests:       python-memcached
33 BuildArch:      noarch
34 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35
36 %define         find_lang       sh %{_sourcedir}/find-lang.sh %{buildroot}
37
38 %define         _webapps        /etc/webapps
39 %define         _webapp         %{name}
40 %define         _sysconfdir     %{_webapps}/%{_webapp}
41
42 # no appropriate packages in pld
43 %define         _noautoreq_pyegg        django.*
44
45 %description
46 Pootle is web application for managing distributed or crowdsourced
47 translation.
48
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
54 - Quality checks
55
56 %prep
57 %setup -q -n %{fullname}-%{version}
58 %patch0 -p1
59 #%patch1 -p1
60 #%patch2 -p1
61
62 #%{__sed} -i -e '1s,#!.*env python,#!%{__python},' wsgi.py
63
64 # not packaging for Travis CI
65 rm pootle/settings/91-travis.conf
66
67 rm pootle/log/README
68 rm pootle/dbs/README
69
70 %build
71 %py_build
72
73 %install
74 rm -rf $RPM_BUILD_ROOT
75 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_datadir}/%{name},%{_sharedstatedir}/%{name}/{dbs,po/.tmp},/var/log/%{name},%{_sysconfdir}}
76
77 %py_install
78 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/tests
79
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
84
85 # move to data dir
86 mv $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}/{locale,static,assets} \
87         $RPM_BUILD_ROOT%{_datadir}/%{name}
88
89 # install_dirs.py was modified _after_ install completed, so compile again
90 # before py_postclean
91 # TODO. compile only install_dirs.py
92 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
93 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
94 %py_postclean
95
96 %find_lang %{name}.lang
97
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
102
103 install -d $RPM_BUILD_ROOT%{_sysconfdir}
104 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
105
106 # we do doc in rpm
107 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
108
109 # external pkg
110 #rm -r $RPM_BUILD_ROOT%{py_sitescriptdir}/djblets
111
112 %clean
113 rm -rf $RPM_BUILD_ROOT
114
115 %triggerin -- apache < 2.2.0, apache-base
116 %webapp_register httpd %{_webapp}
117
118 %triggerun -- apache < 2.2.0, apache-base
119 %webapp_unregister httpd %{_webapp}
120
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
128
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
135 %if 0
136 %attr(755,root,root) %{_datadir}/pootle/wsgi.py
137 %endif
138
139 %{py_sitescriptdir}/%{name}
140 %{py_sitescriptdir}/Pootle-%{version}-py*.egg-info
141
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
149
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
155
156 %dir %attr(770,root,http) /var/log/%{name}
This page took 0.068807 seconds and 2 git commands to generate.