Summary(pl): Program do rozdzielania kompilacji programów w C lub C++
Name: distcc
Group: Development/Languages
-Version: 2.17
-Release: 0.2
+Version: 2.18.1
+Release: 1
License: GPL
Source0: http://distcc.samba.org/ftp/distcc/%{name}-%{version}.tar.bz2
-# Source0-md5: 8ac5c032cde68c525afe9f53eae5cbf7
+# Source0-md5: c3ab3eec92d525f5f818fe7e00ed2227
+# Source0-size: 339939
Source1: %{name}.inetd
Source2: %{name}.init
Source3: %{name}.sh
Source5: %{name}.config
Source6: %{name}.logrotate
Patch0: %{name}-user.patch
-Patch1: %{name}-dcc_dis.patch
URL: http://distcc.samba.org/
BuildRequires: autoconf >= 2.53
BuildRequires: automake
Group: Daemons
Requires: gcc
Requires: gcc-c++
+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
Group: Daemons
PreReq: %{name}-common = %{version}-%{release}
PreReq: rc-scripts
-Requires(post,preun): /sbin/chkconfig
Obsoletes: distcc < 2.1-2
%description standalone
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
%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
+
+%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
%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) /etc/logrotate.d/distccd
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/distccd
%attr(755,root,root) %{_bindir}/%{name}d
%{_mandir}/man?/%{name}d.*
-%attr(640,nobody,root) %ghost %{_var}/log/distcc
+%attr(640,distcc,root) %ghost %{_var}/log/distcc
%files inetd
%defattr(644,root,root,755)