#
# Conditional build:
-%bcond_with gnome # build without gnome(monitor) support
+%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++
Name: distcc
Group: Development/Languages
-Version: 2.12.1
-Release: 2
+Version: 2.18.3
+Release: 1
License: GPL
Source0: http://distcc.samba.org/ftp/distcc/%{name}-%{version}.tar.bz2
-# Source0-md5: 34c465416f261b980db46a9df6d66c75
+# Source0-md5: 0d6b80a1efc3a3d816c4f4175f63eaa2
Source1: %{name}.inetd
Source2: %{name}.init
Source3: %{name}.sh
Source5: %{name}.config
Source6: %{name}.logrotate
Patch0: %{name}-user.patch
-Patch1: %{name}-waal.patch
URL: http://distcc.samba.org/
BuildRequires: autoconf >= 2.53
-%{?with_gtk:BuildRequires: libgnome-devel >= 2.0}
+BuildRequires: automake
+%{?with_gnome:BuildRequires: libgnomeui-devel >= 2.0}
BuildRequires: pkgconfig
BuildRequires: popt-devel
+BuildRequires: rpmbuild(macros) >= 1.202
+BuildRequires: sed >= 4.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Group: Daemons
Requires: gcc
Requires: gcc-c++
-Obsoletes: %{name} < %{name}-2.1-2
+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
+Provides: group(distcc)
+Provides: user(distcc)
+Obsoletes: distcc < 2.1-2
%description common
distcc is a program to distribute compilation of C or C++ code across
Summary: inetd configs for distcc
Summary(pl): Pliki konfiguracyjne do u¿ycia distcc poprzez inetd
Group: Daemons
-PreReq: %{name}-common = %{version}
+PreReq: %{name}-common = %{version}-%{release}
PreReq: rc-inetd
-Obsoletes: %{name} < %{name}-2.1-2
+Obsoletes: distcc < 2.1-2
%description inetd
distcc configs for running from inetd.
Summary: Standalone daemon configs for distcc
Summary(pl): Pliki konfiguracyjne do startowania distcc w trybie standalone
Group: Daemons
-PreReq: %{name}-common = %{version}
+PreReq: %{name}-common = %{version}-%{release}
PreReq: rc-scripts
Requires(post,preun): /sbin/chkconfig
-Obsoletes: %{name} < %{name}-2.1-2
+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.
+Pliki konfiguracyjne distcc do startowania demona w trybie standalone.
%package monitor
-Summary: Monitor for distcc
-Summary(pl): Monitor dla distcc
-Group: Applications
+Summary: Monitor for distcc
+Summary(pl): Monitor dla distcc
+Group: Applications
%description monitor
Monitor for distcc.
Monitor dla distcc.
%package monitor-gnome
-Summary: gtk monitor for distcc
-Summary(pl): Monitor gtk dla distcc
-Group: X11/Applications
+Summary: GTK+ monitor for distcc
+Summary(pl): Monitor GTK+ dla distcc
+Group: X11/Applications
%description monitor-gnome
-gtk monitor for distcc.
+GTK+ monitor for distcc.
%description monitor-gnome -l pl
-Monitor gtk dla distcc.
+Monitor GTK+ dla distcc.
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
+
+sed -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c
%build
+cp -f /usr/share/automake/config.* .
%{__autoconf}
%{__autoheader}
%configure \
+ --enable-rfc2553 \
%{?with_gnome:--with-gnome}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d,profile.d,logrotate.d} \
- $RPM_BUILD_ROOT%{_applnkdir}/Network/Misc $RPM_BUILD_ROOT%{_pixmapsdir} \
- $RPM_BUILD_ROOT%{_var}/log
+ $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_var}/log}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
%if %{with gnome}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome.desktop \
- $RPM_BUILD_ROOT%{_applnkdir}/Network/Misc
+ $RPM_BUILD_ROOT%{_desktopdir}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome-icon.png \
$RPM_BUILD_ROOT%{_pixmapsdir}
%endif
%clean
rm -rf $RPM_BUILD_ROOT
+%pre common
+%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
+ %userremove distcc
+ %groupremove distcc
+fi
+
%post inetd
if [ -f /var/lock/subsys/rc-inetd ]; then
/etc/rc.d/init.d/rc-inetd reload 1>&2
%doc AUTHORS NEWS README *.txt
%attr(755,root,root) %{_bindir}/%{name}
%{_mandir}/man?/%{name}.*
-/etc/profile.d/*sh
+%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) %ghost %{_var}/log/distcc
-%attr(640,root,root) /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 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)
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/distccmon-text
%{_mandir}/man1/distccmon-text.*
+
%if %{with gnome}
+%files monitor-gnome
+%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/distccmon-gnome
-%{_applnkdir}/Network/Misc/*.desktop
-%{_pixmapsdir}/*
+%{_desktopdir}/*.desktop
+%{_pixmapsdir}/*.png
%endif