3 %bcond_without gnome # build without gnome(monitor) support
5 Summary: Program to distribute compilation of C or C++
6 Summary(pl): Program do rozdzielania kompilacji programów w C lub C++
8 Group: Development/Languages
12 Source0: http://distcc.samba.org/ftp/distcc/%{name}-%{version}.tar.bz2
13 # Source0-md5: 0d6b80a1efc3a3d816c4f4175f63eaa2
14 Source1: %{name}.inetd
18 Source5: %{name}.config
19 Source6: %{name}.logrotate
20 Patch0: %{name}-user.patch
21 URL: http://distcc.samba.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: sed >= 4.0
28 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31 distcc is a program to distribute compilation of C or C++ code across
32 several machines on a network. distcc should always generate the same
33 results as a local compile, is simple to install and use, and is often
34 two or more times faster than a local compile.
37 distcc jest programem pozwalaj±cym na dystrybucjê kompilacji C lub C++
38 na kilka maszyn w sieci. distcc powinien zawsze generowaæ takie same
39 rezultaty jak lokalna kompilacja, jest prosty w instalacji i u¿yciu
40 oraz bardzo czêsto dwa lub wiêcej razy szybszy ni¿ lokalna kompilacja.
43 Summary: Common files for inetd and standalone versions of distcc
44 Summary(pl): Pliki wspólne dla wersji inetd i standalone distcc
48 Requires(pre): /bin/id
49 Requires(pre): /usr/bin/getgid
50 Requires(pre): /usr/sbin/groupadd
51 Requires(pre): /usr/sbin/useradd
52 Requires(postun): /usr/sbin/groupdel
53 Requires(postun): /usr/sbin/userdel
54 Provides: group(distcc)
55 Provides: user(distcc)
56 Obsoletes: distcc < 2.1-2
59 distcc is a program to distribute compilation of C or C++ code across
60 several machines on a network. distcc should always generate the same
61 results as a local compile, is simple to install and use, and is often
62 two or more times faster than a local compile.
64 %description common -l pl
65 distcc jest programem pozwalaj±cym na dystrybucjê kompilacji C lub C++
66 na kilka maszyn w sieci. distcc powinien zawsze generowaæ takie same
67 rezultaty jak lokalna kompilacja, jest prosty w instalacji i u¿yciu
68 oraz bardzo czêsto dwa lub wiêcej razy szybszy ni¿ lokalna kompilacja.
71 Summary: inetd configs for distcc
72 Summary(pl): Pliki konfiguracyjne do u¿ycia distcc poprzez inetd
74 PreReq: %{name}-common = %{version}-%{release}
76 Obsoletes: distcc < 2.1-2
79 distcc configs for running from inetd.
81 %description inetd -l pl
82 Pliki konfiguracyjna distcc do startowania demona poprzez inetd.
85 Summary: Standalone daemon configs for distcc
86 Summary(pl): Pliki konfiguracyjne do startowania distcc w trybie standalone
88 PreReq: %{name}-common = %{version}-%{release}
90 Requires(post,preun): /sbin/chkconfig
91 Obsoletes: distcc < 2.1-2
93 %description standalone
94 distcc configs for running as a standalone daemon.
96 %description standalone -l pl
97 Pliki konfiguracyjne distcc do startowania demona w trybie
101 Summary: Monitor for distcc
102 Summary(pl): Monitor dla distcc
108 %description monitor -l pl
111 %package monitor-gnome
112 Summary: GTK+ monitor for distcc
113 Summary(pl): Monitor GTK+ dla distcc
114 Group: X11/Applications
116 %description monitor-gnome
117 GTK+ monitor for distcc.
119 %description monitor-gnome -l pl
120 Monitor GTK+ dla distcc.
126 sed -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c
129 cp -f /usr/share/automake/config.* .
134 %{?with_gnome:--with-gnome}
139 rm -rf $RPM_BUILD_ROOT
140 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d,profile.d,logrotate.d} \
141 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_var}/log}
144 DESTDIR=$RPM_BUILD_ROOT
146 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/distccd
147 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/distcc
148 install %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/profile.d
149 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/distccd
150 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/distccd
153 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome.desktop \
154 $RPM_BUILD_ROOT%{_desktopdir}
155 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome-icon.png \
156 $RPM_BUILD_ROOT%{_pixmapsdir}
159 touch $RPM_BUILD_ROOT%{_var}/log/distcc
162 rm -rf $RPM_BUILD_ROOT
165 if [ -n "`/usr/bin/getgid distcc`" ]; then
166 if [ "`/usr/bin/getgid distcc`" != "137" ]; then
167 echo "Error: group distcc doesn't have gid=137. Correct this before installing distccd." 1>&2
171 /usr/sbin/groupadd -g 137 distcc 1>&2
173 if [ -n "`/bin/id -u distcc 2>/dev/null`" ]; then
174 if [ "`/bin/id -u distcc`" != "137" ]; then
175 echo "Error: user distcc doesn't have uid=137. Correct this before installing distccd server." 1>&2
179 /usr/sbin/useradd -u 137 -d /tmp -s /bin/false -c "distcc user" \
180 -g distcc distcc 1>&2
184 if [ "$1" = "0" ]; then
190 if [ -f /var/lock/subsys/rc-inetd ]; then
191 /etc/rc.d/init.d/rc-inetd reload 1>&2
193 echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
197 if [ -f /var/lock/subsys/rc-inetd ]; then
198 /etc/rc.d/init.d/rc-inetd reload
202 /sbin/chkconfig --add distcc
203 if [ -f /var/lock/subsys/distccd ]; then
204 /etc/rc.d/init.d/distcc restart 1>&2
206 echo "Run \"/etc/rc.d/init.d/distcc start\" to start distcc daemon."
210 if [ "$1" = "0" ]; then
211 if [ -f /var/lock/subsys/distccd ]; then
212 /etc/rc.d/init.d/distcc stop 1>&2
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 %{_mandir}/man?/%{name}.*
222 %attr(755,root,root) /etc/profile.d/*sh
225 %defattr(644,root,root,755)
226 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/distccd
227 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/distccd
228 %attr(755,root,root) %{_bindir}/%{name}d
229 %{_mandir}/man?/%{name}d.*
230 %attr(640,distcc,root) %ghost %{_var}/log/distcc
233 %defattr(644,root,root,755)
234 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/distccd
237 %defattr(644,root,root,755)
238 %attr(754,root,root) /etc/rc.d/init.d/distcc
241 %defattr(644,root,root,755)
242 %attr(755,root,root) %{_bindir}/distccmon-text
243 %{_mandir}/man1/distccmon-text.*
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_bindir}/distccmon-gnome
249 %{_desktopdir}/*.desktop