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: a3cab94fb8514687805456bcca9a15ea
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-tools
28 BuildRequires: rpmbuild(macros) >= 1.268
29 BuildRequires: sed >= 4.0
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 distcc is a program to distribute compilation of C or C++ code across
34 several machines on a network. distcc should always generate the same
35 results as a local compile, is simple to install and use, and is often
36 two or more times faster than a local compile.
38 %description -l pl.UTF-8
39 distcc jest programem pozwalającym na dystrybucję kompilacji C lub C++
40 na kilka maszyn w sieci. distcc powinien zawsze generować takie same
41 rezultaty jak lokalna kompilacja, jest prosty w instalacji i użyciu
42 oraz bardzo często dwa lub więcej razy szybszy niż lokalna kompilacja.
45 Summary: Common files for inetd and standalone versions of distcc
46 Summary(pl.UTF-8): Pliki wspólne dla wersji inetd i standalone distcc
48 Requires(postun): /usr/sbin/groupdel
49 Requires(postun): /usr/sbin/userdel
50 Requires(pre): /bin/id
51 Requires(pre): /usr/bin/getgid
52 Requires(pre): /usr/sbin/groupadd
53 Requires(pre): /usr/sbin/useradd
56 Provides: group(distcc)
57 Provides: user(distcc)
58 Obsoletes: distcc < 2.1-2
61 distcc is a program to distribute compilation of C or C++ code across
62 several machines on a network. distcc should always generate the same
63 results as a local compile, is simple to install and use, and is often
64 two or more times faster than a local compile.
66 %description common -l pl.UTF-8
67 distcc jest programem pozwalającym na dystrybucję kompilacji C lub C++
68 na kilka maszyn w sieci. distcc powinien zawsze generować takie same
69 rezultaty jak lokalna kompilacja, jest prosty w instalacji i użyciu
70 oraz bardzo często dwa lub więcej razy szybszy niż lokalna kompilacja.
72 %package include_server
73 Summary: Conservative approximation of include dependencies for C/C++
74 Summary(pl.UTF-8): Konserwatywna aproksymacja zależności nagłówków dla C/C++
77 %description include_server
78 include_server.py starts an include server process. This process
79 answers queries from distcc(1) clients about what files to include in
80 C/C++ compilations. The include_server.py command itself terminates as
81 soon as the include server has been spawned.
83 %description include_server -l pl.UTF-8
84 include_server.py wywołuje proces serwera include. Proces ten odpowiada
85 na zapytania klientów distcc(1) dotyczące plików, które należy dołączyć
86 na etapie kompilacji C/C++. Polecenie incluse_server.py kończy działanie
87 jak tylko wywołany zostanie proces serwera.
90 Summary: inetd configs for distcc
91 Summary(pl.UTF-8): Pliki konfiguracyjne do użycia distcc poprzez inetd
93 Requires: %{name}-common = %{version}-%{release}
95 Obsoletes: distcc < 2.1-2
98 distcc configs for running from inetd.
100 %description inetd -l pl.UTF-8
101 Pliki konfiguracyjna distcc do startowania demona poprzez inetd.
104 Summary: Standalone daemon configs for distcc
105 Summary(pl.UTF-8): Pliki konfiguracyjne do startowania distcc w trybie standalone
107 Requires(post,preun): /sbin/chkconfig
108 Requires: %{name}-common = %{version}-%{release}
110 Obsoletes: distcc < 2.1-2
112 %description standalone
113 distcc configs for running as a standalone daemon.
115 %description standalone -l pl.UTF-8
116 Pliki konfiguracyjne distcc do startowania demona w trybie standalone.
119 Summary: Monitor for distcc
120 Summary(pl.UTF-8): Monitor dla distcc
126 %description monitor -l pl.UTF-8
129 %package monitor-gnome
130 Summary: GTK+ monitor for distcc
131 Summary(pl.UTF-8): Monitor GTK+ dla distcc
132 Group: X11/Applications
134 %description monitor-gnome
135 GTK+ monitor for distcc.
137 %description monitor-gnome -l pl.UTF-8
138 Monitor GTK+ dla distcc.
144 sed -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c
152 %{?with_gnome:--with-gnome}
158 rm -rf $RPM_BUILD_ROOT
159 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d,profile.d,logrotate.d} \
160 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_var}/log}
163 DESTDIR=$RPM_BUILD_ROOT
165 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/distccd
166 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/distcc
167 install %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/profile.d
168 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/distccd
169 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/distccd
171 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
172 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
176 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome.desktop \
177 $RPM_BUILD_ROOT%{_desktopdir}
178 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome-icon.png \
179 $RPM_BUILD_ROOT%{_pixmapsdir}
182 touch $RPM_BUILD_ROOT%{_var}/log/distcc
183 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
187 rm -rf $RPM_BUILD_ROOT
190 %groupadd -P %{name}-common -g 137 distcc
191 %useradd -P %{name}-common -u 137 -d /tmp -s /bin/false -c "distcc user" -g distcc distcc
194 if [ "$1" = "0" ]; then
200 %service -q rc-inetd reload
203 if [ "$1" = 0 ]; then
204 %service -q rc-inetd reload
208 /sbin/chkconfig --add distcc
209 %service distcc restart "distcc daemon"
212 if [ "$1" = "0" ]; then
214 /sbin/chkconfig --del distcc
218 %defattr(644,root,root,755)
219 %doc AUTHORS NEWS README *.txt
220 %attr(755,root,root) %{_bindir}/%{name}
221 %attr(755,root,root) %{_bindir}/lsdistcc
222 %attr(755,root,root) %{_bindir}/pump
223 %{_mandir}/man?/%{name}.*
224 %{_mandir}/man1/pump.1*
225 %attr(755,root,root) /etc/profile.d/*sh
228 %defattr(644,root,root,755)
229 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/distccd
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/distccd
231 %attr(755,root,root) %{_bindir}/%{name}d
232 %{_mandir}/man?/%{name}d.*
233 %attr(640,distcc,root) %ghost %{_var}/log/distcc
235 %files include_server
236 %defattr(644,root,root,755)
237 %{py_sitedir}/include_server
238 %{_mandir}/man1/include_server.1*
241 %defattr(644,root,root,755)
242 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/distccd
245 %defattr(644,root,root,755)
246 %attr(754,root,root) /etc/rc.d/init.d/distcc
249 %defattr(644,root,root,755)
250 %attr(755,root,root) %{_bindir}/distccmon-text
251 %{_mandir}/man1/distccmon-text.*
255 %defattr(644,root,root,755)
256 %attr(755,root,root) %{_bindir}/distccmon-gnome
257 %{_desktopdir}/*.desktop