3 %bcond_without gnome # build without gnome(monitor) support
5 Summary: Program to distribute compilation of C or C++
6 Summary(pl.UTF-8): Program do rozdzielania kompilacji programów w C lub C++
11 Group: Development/Languages
12 Source0: http://distcc.googlecode.com/files/%{name}-%{version}.tar.bz2
13 # Source0-md5: a1a9d3853df7133669fffec2a9aab9f3
14 Source1: %{name}.inetd
18 Source5: %{name}.config
19 Source6: %{name}.logrotate
20 Patch0: %{name}-user.patch
21 URL: http://www.distcc.org/
22 BuildRequires: autoconf >= 2.53
23 BuildRequires: automake
24 %{?with_gnome:BuildRequires: libgnomeui-devel >= 2.0}
25 BuildRequires: pkgconfig
26 BuildRequires: popt-devel
27 BuildRequires: python-devel
28 BuildRequires: python-devel-tools
29 BuildRequires: rpm-pythonprov
30 BuildRequires: rpmbuild(macros) >= 1.268
31 BuildRequires: sed >= 4.0
32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35 distcc is a program to distribute compilation of C or C++ code across
36 several machines on a network. distcc should always generate the same
37 results as a local compile, is simple to install and use, and is often
38 two or more times faster than a local compile.
40 %description -l pl.UTF-8
41 distcc jest programem pozwalającym na dystrybucję kompilacji C lub C++
42 na kilka maszyn w sieci. distcc powinien zawsze generować takie same
43 rezultaty jak lokalna kompilacja, jest prosty w instalacji i użyciu
44 oraz bardzo często dwa lub więcej razy szybszy niż lokalna kompilacja.
47 Summary: Common files for inetd and standalone versions of distcc
48 Summary(pl.UTF-8): Pliki wspólne dla wersji inetd i standalone distcc
50 Requires(postun): /usr/sbin/groupdel
51 Requires(postun): /usr/sbin/userdel
52 Requires(pre): /bin/id
53 Requires(pre): /usr/bin/getgid
54 Requires(pre): /usr/sbin/groupadd
55 Requires(pre): /usr/sbin/useradd
58 Provides: group(distcc)
59 Provides: user(distcc)
60 Obsoletes: distcc < 2.1-2
63 distcc is a program to distribute compilation of C or C++ code across
64 several machines on a network. distcc should always generate the same
65 results as a local compile, is simple to install and use, and is often
66 two or more times faster than a local compile.
68 %description common -l pl.UTF-8
69 distcc jest programem pozwalającym na dystrybucję kompilacji C lub C++
70 na kilka maszyn w sieci. distcc powinien zawsze generować takie same
71 rezultaty jak lokalna kompilacja, jest prosty w instalacji i użyciu
72 oraz bardzo często dwa lub więcej razy szybszy niż lokalna kompilacja.
74 %package include_server
75 Summary: Conservative approximation of include dependencies for C/C++
76 Summary(pl.UTF-8): Konserwatywna aproksymacja zależności nagłówków dla C/C++
79 %description include_server
80 include_server.py starts an include server process. This process
81 answers queries from distcc(1) clients about what files to include in
82 C/C++ compilations. The include_server.py command itself terminates as
83 soon as the include server has been spawned.
85 %description include_server -l pl.UTF-8
86 include_server.py wywołuje proces serwera include. Proces ten odpowiada
87 na zapytania klientów distcc(1) dotyczące plików, które należy dołączyć
88 na etapie kompilacji C/C++. Polecenie incluse_server.py kończy działanie
89 jak tylko wywołany zostanie proces serwera.
92 Summary: inetd configs for distcc
93 Summary(pl.UTF-8): Pliki konfiguracyjne do użycia distcc poprzez inetd
95 Requires: %{name}-common = %{version}-%{release}
97 Obsoletes: distcc < 2.1-2
100 distcc configs for running from inetd.
102 %description inetd -l pl.UTF-8
103 Pliki konfiguracyjna distcc do startowania demona poprzez inetd.
106 Summary: Standalone daemon configs for distcc
107 Summary(pl.UTF-8): Pliki konfiguracyjne do startowania distcc w trybie standalone
109 Requires(post,preun): /sbin/chkconfig
110 Requires: %{name}-common = %{version}-%{release}
112 Obsoletes: distcc < 2.1-2
114 %description standalone
115 distcc configs for running as a standalone daemon.
117 %description standalone -l pl.UTF-8
118 Pliki konfiguracyjne distcc do startowania demona w trybie standalone.
121 Summary: Monitor for distcc
122 Summary(pl.UTF-8): Monitor dla distcc
128 %description monitor -l pl.UTF-8
131 %package monitor-gnome
132 Summary: GTK+ monitor for distcc
133 Summary(pl.UTF-8): Monitor GTK+ dla distcc
134 Group: X11/Applications
136 %description monitor-gnome
137 GTK+ monitor for distcc.
139 %description monitor-gnome -l pl.UTF-8
140 Monitor GTK+ dla distcc.
146 sed -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c
154 %{?with_gnome:--with-gnome}
161 rm -rf $RPM_BUILD_ROOT
162 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d,profile.d,logrotate.d} \
163 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_var}/log}
166 DESTDIR=$RPM_BUILD_ROOT
168 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/distccd
169 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/distcc
170 install %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/profile.d
171 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/distccd
172 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/distccd
174 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
175 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
179 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome.desktop \
180 $RPM_BUILD_ROOT%{_desktopdir}
181 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome-icon.png \
182 $RPM_BUILD_ROOT%{_pixmapsdir}
185 touch $RPM_BUILD_ROOT%{_var}/log/distcc
186 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
190 rm -rf $RPM_BUILD_ROOT
193 %groupadd -P %{name}-common -g 137 distcc
194 %useradd -P %{name}-common -u 137 -d /tmp -s /bin/false -c "distcc user" -g distcc distcc
197 if [ "$1" = "0" ]; then
203 %service -q rc-inetd reload
206 if [ "$1" = 0 ]; then
207 %service -q rc-inetd reload
211 /sbin/chkconfig --add distcc
212 %service distcc restart "distcc daemon"
215 if [ "$1" = "0" ]; then
217 /sbin/chkconfig --del distcc
221 %defattr(644,root,root,755)
222 %doc AUTHORS NEWS README *.txt
223 %attr(755,root,root) %{_bindir}/%{name}
224 %attr(755,root,root) %{_bindir}/lsdistcc
225 %attr(755,root,root) %{_bindir}/pump
226 %{_mandir}/man?/%{name}.*
227 %{_mandir}/man1/pump.1*
228 %attr(755,root,root) /etc/profile.d/*sh
231 %defattr(644,root,root,755)
232 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/distccd
233 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/distccd
234 %attr(755,root,root) %{_bindir}/%{name}d
235 %{_mandir}/man?/%{name}d.*
236 %attr(640,distcc,root) %ghost %{_var}/log/distcc
238 %files include_server
239 %defattr(644,root,root,755)
240 %{py_sitedir}/include_server
241 %{_mandir}/man1/include_server.1*
244 %defattr(644,root,root,755)
245 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/distccd
248 %defattr(644,root,root,755)
249 %attr(754,root,root) /etc/rc.d/init.d/distcc
252 %defattr(644,root,root,755)
253 %attr(755,root,root) %{_bindir}/distccmon-text
254 %{_mandir}/man1/distccmon-text.*
258 %defattr(644,root,root,755)
259 %attr(755,root,root) %{_bindir}/distccmon-gnome
260 %{_desktopdir}/*.desktop