3 # /etc/distcc/clients.allow
4 # /etc/distcc/commands.allow.sh
8 %bcond_without gtk # distccmon-gnome tool (monitor-gnome package)
9 %bcond_with gnome # GNOME libraries support in distccmon-gnome (not ported to GNOME 3)
11 Summary: Program to distribute compilation of C or C++
12 Summary(pl.UTF-8): Program do rozdzielania kompilacji programów w C lub C++
17 Group: Development/Languages
18 Source0: https://github.com/distcc/distcc/archive/v%{version}/%{name}-%{version}.tar.gz
19 # Source0-md5: 00523fd05f4cd9dd968e4e0ec09d774d
20 Source1: %{name}.inetd
24 Source5: %{name}.config
25 Source6: %{name}.logrotate
26 Patch0: %{name}-user.patch
27 Patch1: %{name}-python.patch
28 URL: http://www.distcc.org/
29 BuildRequires: autoconf >= 2.69
30 BuildRequires: automake
32 BuildRequires: binutils-devel
33 %{?with_gtk:BuildRequires: gtk+3-devel}
34 %{?with_gnome:BuildRequires: libgnome-devel >= 3.0}
35 %{?with_gnome:BuildRequires: libgnomeui-devel >= 3.0}
36 %{?with_gnome:BuildRequires: pango-devel}
37 BuildRequires: pkgconfig
38 BuildRequires: popt-devel
39 BuildRequires: python3-devel >= 1:3.1
40 BuildRequires: python3-devel-tools >= 1:3.1
41 BuildRequires: rpm-pythonprov
42 BuildRequires: rpmbuild(macros) >= 1.268
43 BuildRequires: sed >= 4.0
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 distcc is a program to distribute compilation of C or C++ code across
48 several machines on a network. distcc should always generate the same
49 results as a local compile, is simple to install and use, and is often
50 two or more times faster than a local compile.
52 %description -l pl.UTF-8
53 distcc jest programem pozwalającym na dystrybucję kompilacji C lub C++
54 na kilka maszyn w sieci. distcc powinien zawsze generować takie same
55 rezultaty jak lokalna kompilacja, jest prosty w instalacji i użyciu
56 oraz bardzo często dwa lub więcej razy szybszy niż lokalna kompilacja.
59 Summary: Common files for inetd and standalone versions of distcc
60 Summary(pl.UTF-8): Pliki wspólne dla wersji inetd i standalone distcc
62 Requires(postun): /usr/sbin/groupdel
63 Requires(postun): /usr/sbin/userdel
64 Requires(pre): /bin/id
65 Requires(pre): /usr/bin/getgid
66 Requires(pre): /usr/sbin/groupadd
67 Requires(pre): /usr/sbin/useradd
70 Provides: group(distcc)
71 Provides: user(distcc)
72 Obsoletes: distcc < 2.1-2
75 distcc is a program to distribute compilation of C or C++ code across
76 several machines on a network. distcc should always generate the same
77 results as a local compile, is simple to install and use, and is often
78 two or more times faster than a local compile.
80 %description common -l pl.UTF-8
81 distcc jest programem pozwalającym na dystrybucję kompilacji C lub C++
82 na kilka maszyn w sieci. distcc powinien zawsze generować takie same
83 rezultaty jak lokalna kompilacja, jest prosty w instalacji i użyciu
84 oraz bardzo często dwa lub więcej razy szybszy niż lokalna kompilacja.
86 %package include_server
87 Summary: Conservative approximation of include dependencies for C/C++
88 Summary(pl.UTF-8): Konserwatywna aproksymacja zależności nagłówków dla C/C++
91 %description include_server
92 include_server.py starts an include server process. This process
93 answers queries from distcc(1) clients about what files to include in
94 C/C++ compilations. The include_server.py command itself terminates as
95 soon as the include server has been spawned.
97 %description include_server -l pl.UTF-8
98 include_server.py wywołuje proces serwera include. Proces ten
99 odpowiada na zapytania klientów distcc(1) dotyczące plików, które
100 należy dołączyć na etapie kompilacji C/C++. Polecenie
101 incluse_server.py kończy działanie jak tylko wywołany zostanie proces
105 Summary: inetd configs for distcc
106 Summary(pl.UTF-8): Pliki konfiguracyjne do użycia distcc poprzez inetd
108 Requires: %{name}-common = %{version}-%{release}
110 Obsoletes: distcc < 2.1-2
113 distcc configs for running from inetd.
115 %description inetd -l pl.UTF-8
116 Pliki konfiguracyjna distcc do startowania demona poprzez inetd.
119 Summary: Standalone daemon configs for distcc
120 Summary(pl.UTF-8): Pliki konfiguracyjne do startowania distcc w trybie standalone
122 Requires(post,preun): /sbin/chkconfig
123 Requires: %{name}-common = %{version}-%{release}
125 Obsoletes: distcc < 2.1-2
127 %description standalone
128 distcc configs for running as a standalone daemon.
130 %description standalone -l pl.UTF-8
131 Pliki konfiguracyjne distcc do startowania demona w trybie standalone.
134 Summary: Monitor for distcc
135 Summary(pl.UTF-8): Monitor dla distcc
141 %description monitor -l pl.UTF-8
144 %package monitor-gnome
145 Summary: GTK+ monitor for distcc
146 Summary(pl.UTF-8): Monitor GTK+ dla distcc
147 Group: X11/Applications
149 %description monitor-gnome
150 GTK+ monitor for distcc.
152 %description monitor-gnome -l pl.UTF-8
153 Monitor GTK+ dla distcc.
160 %{__sed} -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c
162 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
163 update-distcc-symlinks.py
171 %{?with_gnome:--with-gnome} \
172 %{?with_gtk:--with-gtk}
179 rm -rf $RPM_BUILD_ROOT
180 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d,profile.d,logrotate.d} \
181 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_var}/log}
184 DESTDIR=$RPM_BUILD_ROOT
186 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/distccd
187 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/distcc
188 cp -p %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/profile.d
189 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/default/distcc
190 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/distccd
191 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/distccd
193 touch $RPM_BUILD_ROOT%{_var}/log/distcc
194 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
197 rm -rf $RPM_BUILD_ROOT
200 %groupadd -P %{name}-common -g 137 distcc
201 %useradd -P %{name}-common -u 137 -d /tmp -s /bin/false -c "distcc user" -g distcc distcc
204 if [ "$1" = "0" ]; then
210 %service -q rc-inetd reload
213 if [ "$1" = 0 ]; then
214 %service -q rc-inetd reload
218 /sbin/chkconfig --add distcc
219 %service distcc restart "distcc daemon"
222 if [ "$1" = "0" ]; then
224 /sbin/chkconfig --del distcc
228 %defattr(644,root,root,755)
229 %doc AUTHORS NEWS README *.txt
230 %attr(755,root,root) %{_bindir}/distcc
231 %attr(755,root,root) %{_bindir}/lsdistcc
232 %attr(755,root,root) %{_bindir}/pump
233 %attr(755,root,root) %{_sbindir}/update-distcc-symlinks
234 %{_mandir}/man1/distcc.1*
235 %{_mandir}/man1/pump.1*
236 %{_mandir}/man1/lsdistcc.1*
237 %attr(755,root,root) /etc/profile.d/distcc.csh
238 %attr(755,root,root) /etc/profile.d/distcc.sh
241 %defattr(644,root,root,755)
243 /etc/distcc/clients.allow
244 /etc/distcc/commands.allow.sh
246 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/distccd
247 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/distccd
248 %attr(755,root,root) %{_bindir}/distccd
249 %{_mandir}/man1/distccd.1*
250 %attr(640,distcc,root) %ghost %{_var}/log/distcc
252 %files include_server
253 %defattr(644,root,root,755)
254 %{py3_sitedir}/include_server
255 %{py3_sitedir}/include_server-%{version}-py*.egg-info
256 %{_mandir}/man1/include_server.1*
259 %defattr(644,root,root,755)
260 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/distccd
263 %defattr(644,root,root,755)
264 %attr(754,root,root) /etc/rc.d/init.d/distcc
267 %defattr(644,root,root,755)
268 %attr(755,root,root) %{_bindir}/distccmon-text
269 %{_mandir}/man1/distccmon-text.1*
273 %defattr(644,root,root,755)
274 %attr(755,root,root) %{_bindir}/distccmon-gnome
275 %{_desktopdir}/distccmon-gnome.desktop
276 %{_pixmapsdir}/distccmon-gnome.png