%bcond_without gnome # build without gnome(monitor) support
#
Summary: Program to distribute compilation of C or C++
-Summary(pl): Program do rozdzielania kompilacji programów w C lub C++
+Summary(pl.UTF-8): Program do rozdzielania kompilacji programów w C lub C++
Name: distcc
-Group: Development/Languages
-Version: 2.18.3
-Release: 1
+Version: 3.0
+Release: 0.1
License: GPL
-Source0: http://distcc.samba.org/ftp/distcc/%{name}-%{version}.tar.bz2
-# Source0-md5: 0d6b80a1efc3a3d816c4f4175f63eaa2
+Group: Development/Languages
+Source0: http://distcc.googlecode.com/files/%{name}-%{version}.tar.bz2
+# Source0-md5: a3cab94fb8514687805456bcca9a15ea
Source1: %{name}.inetd
Source2: %{name}.init
Source3: %{name}.sh
Source5: %{name}.config
Source6: %{name}.logrotate
Patch0: %{name}-user.patch
-URL: http://distcc.samba.org/
+URL: http://www.distcc.org/
BuildRequires: autoconf >= 2.53
BuildRequires: automake
%{?with_gnome:BuildRequires: libgnomeui-devel >= 2.0}
BuildRequires: pkgconfig
BuildRequires: popt-devel
+BuildRequires: python-devel-tools
+BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: sed >= 4.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
results as a local compile, is simple to install and use, and is often
two or more times faster than a local compile.
-%description -l pl
-distcc jest programem pozwalaj±cym na dystrybucjê kompilacji C lub C++
-na kilka maszyn w sieci. distcc powinien zawsze generowaæ takie same
-rezultaty jak lokalna kompilacja, jest prosty w instalacji i u¿yciu
-oraz bardzo czêsto dwa lub wiêcej razy szybszy ni¿ lokalna kompilacja.
+%description -l pl.UTF-8
+distcc jest programem pozwalającym na dystrybucję kompilacji C lub C++
+na kilka maszyn w sieci. distcc powinien zawsze generować takie same
+rezultaty jak lokalna kompilacja, jest prosty w instalacji i użyciu
+oraz bardzo często dwa lub więcej razy szybszy niż lokalna kompilacja.
%package common
Summary: Common files for inetd and standalone versions of distcc
-Summary(pl): Pliki wspólne dla wersji inetd i standalone distcc
+Summary(pl.UTF-8): Pliki wspólne dla wersji inetd i standalone distcc
Group: Daemons
-Requires: gcc
-Requires: gcc-c++
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires(postun): /usr/sbin/groupdel
-Requires(postun): /usr/sbin/userdel
+Requires(pre): /usr/sbin/useradd
+Suggests: gcc
+Suggests: gcc-c++
Provides: group(distcc)
Provides: user(distcc)
Obsoletes: distcc < 2.1-2
results as a local compile, is simple to install and use, and is often
two or more times faster than a local compile.
-%description common -l pl
-distcc jest programem pozwalaj±cym na dystrybucjê kompilacji C lub C++
-na kilka maszyn w sieci. distcc powinien zawsze generowaæ takie same
-rezultaty jak lokalna kompilacja, jest prosty w instalacji i u¿yciu
-oraz bardzo czêsto dwa lub wiêcej razy szybszy ni¿ lokalna kompilacja.
+%description common -l pl.UTF-8
+distcc jest programem pozwalającym na dystrybucję kompilacji C lub C++
+na kilka maszyn w sieci. distcc powinien zawsze generować takie same
+rezultaty jak lokalna kompilacja, jest prosty w instalacji i użyciu
+oraz bardzo często dwa lub więcej razy szybszy niż lokalna kompilacja.
+
+%package include_server
+Summary: Conservative approximation of include dependencies for C/C++
+Summary(pl.UTF-8): Konserwatywna aproksymacja zależności nagłówków dla C/C++
+Group: Daemons
+
+%description include_server
+include_server.py starts an include server process. This process
+answers queries from distcc(1) clients about what files to include in
+C/C++ compilations. The include_server.py command itself terminates as
+soon as the include server has been spawned.
+
+%description include_server -l pl.UTF-8
+include_server.py wywołuje proces serwera include. Proces ten odpowiada
+na zapytania klientów distcc(1) dotyczące plików, które należy dołączyć
+na etapie kompilacji C/C++. Polecenie incluse_server.py kończy działanie
+jak tylko wywołany zostanie proces serwera.
%package inetd
Summary: inetd configs for distcc
-Summary(pl): Pliki konfiguracyjne do u¿ycia distcc poprzez inetd
+Summary(pl.UTF-8): Pliki konfiguracyjne do użycia distcc poprzez inetd
Group: Daemons
-PreReq: %{name}-common = %{version}-%{release}
-PreReq: rc-inetd
+Requires: %{name}-common = %{version}-%{release}
+Requires: rc-inetd
Obsoletes: distcc < 2.1-2
%description inetd
distcc configs for running from inetd.
-%description inetd -l pl
+%description inetd -l pl.UTF-8
Pliki konfiguracyjna distcc do startowania demona poprzez inetd.
%package standalone
Summary: Standalone daemon configs for distcc
-Summary(pl): Pliki konfiguracyjne do startowania distcc w trybie standalone
+Summary(pl.UTF-8): Pliki konfiguracyjne do startowania distcc w trybie standalone
Group: Daemons
-PreReq: %{name}-common = %{version}-%{release}
-PreReq: rc-scripts
Requires(post,preun): /sbin/chkconfig
+Requires: %{name}-common = %{version}-%{release}
+Requires: rc-scripts
Obsoletes: distcc < 2.1-2
%description standalone
distcc configs for running as a standalone daemon.
-%description standalone -l pl
-Pliki konfiguracyjne distcc do startowania demona w trybie
-standalone.
+%description standalone -l pl.UTF-8
+Pliki konfiguracyjne distcc do startowania demona w trybie standalone.
%package monitor
Summary: Monitor for distcc
-Summary(pl): Monitor dla distcc
+Summary(pl.UTF-8): Monitor dla distcc
Group: Applications
%description monitor
Monitor for distcc.
-%description monitor -l pl
+%description monitor -l pl.UTF-8
Monitor dla distcc.
%package monitor-gnome
Summary: GTK+ monitor for distcc
-Summary(pl): Monitor GTK+ dla distcc
+Summary(pl.UTF-8): Monitor GTK+ dla distcc
Group: X11/Applications
%description monitor-gnome
GTK+ monitor for distcc.
-%description monitor-gnome -l pl
+%description monitor-gnome -l pl.UTF-8
Monitor GTK+ dla distcc.
%prep
sed -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c
%build
-cp -f /usr/share/automake/config.* .
+%{__aclocal}
%{__autoconf}
%{__autoheader}
%configure \
--enable-rfc2553 \
- %{?with_gnome:--with-gnome}
+ %{?with_gnome:--with-gnome}
-%{__make}
+%{__make} \
+ WERROR_CFLAGS="" \
+ CC="%{__cc}"
%install
rm -rf $RPM_BUILD_ROOT
install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/distccd
install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/distccd
+%py_comp $RPM_BUILD_ROOT%{py_sitedir}
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
+%py_postclean
+
%if %{with gnome}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome.desktop \
$RPM_BUILD_ROOT%{_desktopdir}
%endif
touch $RPM_BUILD_ROOT%{_var}/log/distcc
+rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
+
%clean
rm -rf $RPM_BUILD_ROOT
%pre common
-if [ -n "`/usr/bin/getgid distcc`" ]; then
- if [ "`/usr/bin/getgid distcc`" != "137" ]; then
- echo "Error: group distcc doesn't have gid=137. Correct this before installing distccd." 1>&2
- exit 1
- fi
-else
- /usr/sbin/groupadd -g 137 distcc 1>&2
-fi
-if [ -n "`/bin/id -u distcc 2>/dev/null`" ]; then
- if [ "`/bin/id -u distcc`" != "137" ]; then
- echo "Error: user distcc doesn't have uid=137. Correct this before installing distccd server." 1>&2
- exit 1
- fi
-else
- /usr/sbin/useradd -u 137 -d /tmp -s /bin/false -c "distcc user" \
- -g distcc distcc 1>&2
-fi
+%groupadd -P %{name}-common -g 137 distcc
+%useradd -P %{name}-common -u 137 -d /tmp -s /bin/false -c "distcc user" -g distcc distcc
%postun common
if [ "$1" = "0" ]; then
fi
%post inetd
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd reload 1>&2
-else
- echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
-fi
+%service -q rc-inetd reload
%postun inetd
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd reload
+if [ "$1" = 0 ]; then
+ %service -q rc-inetd reload
fi
%post standalone
/sbin/chkconfig --add distcc
-if [ -f /var/lock/subsys/distccd ]; then
- /etc/rc.d/init.d/distcc restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/distcc start\" to start distcc daemon."
-fi
+%service distcc restart "distcc daemon"
%preun standalone
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/distccd ]; then
- /etc/rc.d/init.d/distcc stop 1>&2
- fi
+ %service distcc stop
/sbin/chkconfig --del distcc
fi
%defattr(644,root,root,755)
%doc AUTHORS NEWS README *.txt
%attr(755,root,root) %{_bindir}/%{name}
+%attr(755,root,root) %{_bindir}/lsdistcc
+%attr(755,root,root) %{_bindir}/pump
%{_mandir}/man?/%{name}.*
+%{_mandir}/man1/pump.1*
%attr(755,root,root) /etc/profile.d/*sh
%files common
%defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/distccd
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/distccd
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/distccd
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/distccd
%attr(755,root,root) %{_bindir}/%{name}d
%{_mandir}/man?/%{name}d.*
%attr(640,distcc,root) %ghost %{_var}/log/distcc
+%files include_server
+%defattr(644,root,root,755)
+%{py_sitedir}/include_server
+%{_mandir}/man1/include_server.1*
+
%files inetd
%defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/distccd
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/distccd
%files standalone
%defattr(644,root,root,755)