X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=distcc.spec;h=7f1e1b424e9d08ad29fc97f20f07b517cfa84805;hb=HEAD;hp=bbf6028ae26cd13eaa8a35a5aa7c7501071e2482;hpb=47a5d9237fda097f3516615d856e934dbbaeba5f;p=packages%2Fdistcc.git diff --git a/distcc.spec b/distcc.spec index bbf6028..7f1e1b4 100644 --- a/distcc.spec +++ b/distcc.spec @@ -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