]> git.pld-linux.org Git - packages/distcc.git/blobdiff - distcc.spec
- build gtk based distccmon-gnome
[packages/distcc.git] / distcc.spec
index bbf6028ae26cd13eaa8a35a5aa7c7501071e2482..7f1e1b424e9d08ad29fc97f20f07b517cfa84805 100644 (file)
@@ -1,16 +1,22 @@
+# TODO
+# - unpackaged files:
+#   /etc/distcc/clients.allow
+#   /etc/distcc/commands.allow.sh
+#   /etc/distcc/hosts
 #
 # Conditional build:
-%bcond_without gnome   # build without gnome(monitor) support
-#
+%bcond_without gtk     # distccmon-gnome tool (monitor-gnome package)
+%bcond_with    gnome   # GNOME libraries support in distccmon-gnome (not ported to GNOME 3)
+
 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
+Version:       3.4
 Release:       1
 License:       GPL
-Source0:       http://distcc.samba.org/ftp/distcc/%{name}-%{version}.tar.bz2
-# Source0-md5: 0d6b80a1efc3a3d816c4f4175f63eaa2
+Group:         Development/Languages
+Source0:       https://github.com/distcc/distcc/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 00523fd05f4cd9dd968e4e0ec09d774d
 Source1:       %{name}.inetd
 Source2:       %{name}.init
 Source3:       %{name}.sh
@@ -18,13 +24,22 @@ Source4:    %{name}.csh
 Source5:       %{name}.config
 Source6:       %{name}.logrotate
 Patch0:                %{name}-user.patch
-URL:           http://distcc.samba.org/
-BuildRequires: autoconf >= 2.53
+Patch1:                %{name}-python.patch
+URL:           http://www.distcc.org/
+BuildRequires: autoconf >= 2.69
 BuildRequires: automake
-%{?with_gnome:BuildRequires:   libgnomeui-devel >= 2.0}
+# libiberty
+BuildRequires: binutils-devel
+%{?with_gtk:BuildRequires:     gtk+3-devel}
+%{?with_gnome:BuildRequires:   libgnome-devel >= 3.0}
+%{?with_gnome:BuildRequires:   libgnomeui-devel >= 3.0}
+%{?with_gnome:BuildRequires:   pango-devel}
 BuildRequires: pkgconfig
 BuildRequires: popt-devel
-BuildRequires: rpmbuild(macros) >= 1.202
+BuildRequires: python3-devel >= 1:3.1
+BuildRequires: python3-devel-tools >= 1:3.1
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.268
 BuildRequires: sed >= 4.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -34,24 +49,24 @@ several machines on a network. distcc should always generate the same
 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
+Suggests:      gcc
+Suggests:      gcc-c++
 Provides:      group(distcc)
 Provides:      user(distcc)
 Obsoletes:     distcc < 2.1-2
@@ -62,78 +77,103 @@ several machines on a network. distcc should always generate the same
 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
+%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
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
-sed -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c
+%{__sed} -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c
+
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
+       update-distcc-symlinks.py
 
 %build
-cp -f /usr/share/automake/config.* .
+%{__aclocal}
 %{__autoconf}
 %{__autoheader}
 %configure \
        --enable-rfc2553 \
-       %{?with_gnome:--with-gnome}
+       %{?with_gnome:--with-gnome} \
+       %{?with_gtk:--with-gtk}
 
-%{__make}
+%{__make} \
+       WERROR_CFLAGS=""
+#      CC="%{__cc}"
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -143,20 +183,15 @@ install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d,profile.d,logrota
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/distccd
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/distcc
-install %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/profile.d
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/distccd
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/distccd
-
-%if %{with gnome}
-mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome.desktop \
-       $RPM_BUILD_ROOT%{_desktopdir}
-mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome-icon.png \
-       $RPM_BUILD_ROOT%{_pixmapsdir}
-%endif
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/distccd
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/distcc
+cp -p %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/profile.d
+%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/default/distcc
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/distccd
+cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/distccd
 
 touch $RPM_BUILD_ROOT%{_var}/log/distcc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -172,48 +207,54 @@ 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
 
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS NEWS README *.txt
-%attr(755,root,root) %{_bindir}/%{name}
-%{_mandir}/man?/%{name}.*
-%attr(755,root,root) /etc/profile.d/*sh
+%attr(755,root,root) %{_bindir}/distcc
+%attr(755,root,root) %{_bindir}/lsdistcc
+%attr(755,root,root) %{_bindir}/pump
+%attr(755,root,root) %{_sbindir}/update-distcc-symlinks
+%{_mandir}/man1/distcc.1*
+%{_mandir}/man1/pump.1*
+%{_mandir}/man1/lsdistcc.1*
+%attr(755,root,root) /etc/profile.d/distcc.csh
+%attr(755,root,root) /etc/profile.d/distcc.sh
 
 %files common
 %defattr(644,root,root,755)
+%dir /etc/distcc
+/etc/distcc/clients.allow
+/etc/distcc/commands.allow.sh
+/etc/distcc/hosts
 %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(755,root,root) %{_bindir}/distccd
+%{_mandir}/man1/distccd.1*
 %attr(640,distcc,root) %ghost %{_var}/log/distcc
 
+%files include_server
+%defattr(644,root,root,755)
+%{py3_sitedir}/include_server
+%{py3_sitedir}/include_server-%{version}-py*.egg-info
+%{_mandir}/man1/include_server.1*
+
 %files inetd
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/distccd
@@ -225,12 +266,12 @@ fi
 %files monitor
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/distccmon-text
-%{_mandir}/man1/distccmon-text.*
+%{_mandir}/man1/distccmon-text.1*
 
-%if %{with gnome}
+%if %{with gtk}
 %files monitor-gnome
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/distccmon-gnome
-%{_desktopdir}/*.desktop
-%{_pixmapsdir}/*.png
+%{_desktopdir}/distccmon-gnome.desktop
+%{_pixmapsdir}/distccmon-gnome.png
 %endif
This page took 0.338382 seconds and 4 git commands to generate.