X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=distcc.spec;h=83ebdfed3a108943040a068ede09249c888b027d;hb=531ce2da508646252c8707af0feebcb83f4b2187;hp=cc22d671024bbacb72aeae209d1518017b4cb7b4;hpb=effe74f84d108c7c45f1d9cebf77234da64e4988;p=packages%2Fdistcc.git diff --git a/distcc.spec b/distcc.spec index cc22d67..83ebdfe 100644 --- a/distcc.spec +++ b/distcc.spec @@ -1,20 +1,32 @@ +# +# Conditional build: +%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.7 -Release: 1 +Version: 3.0 +Release: 0.1 License: GPL -URL: http://distcc.samba.org -# Source0-md5: 7f367102fb645b769368b901ec57e159 -Source0: http://distcc.samba.org/ftp/distcc/%{name}-%{version}.tar.bz2 +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 Source4: %{name}.csh Source5: %{name}.config +Source6: %{name}.logrotate Patch0: %{name}-user.patch +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) %description @@ -23,19 +35,27 @@ 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 -Group: Daemons -Requires: gcc -Requires: gcc-c++ -Obsoletes: %{name} < %{name}-2.1-2 +Summary(pl.UTF-8): Pliki wspólne dla wersji inetd i standalone distcc +Group: Daemons +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 +Suggests: gcc +Suggests: gcc-c++ +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 @@ -43,106 +63,198 @@ 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 common -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 -Group: Daemons -PreReq: %{name}-common = %{version} -PreReq: rc-inetd -Obsoletes: %{name} < %{name}-2.1-2 +Summary(pl.UTF-8): Pliki konfiguracyjne do użycia distcc poprzez inetd +Group: Daemons +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: Standalone daemon configs for distcc +Summary(pl.UTF-8): Pliki konfiguracyjne do startowania distcc w trybie standalone Group: Daemons -PreReq: %{name}-common = %{version} -PreReq: rc-scripts Requires(post,preun): /sbin/chkconfig -Obsoletes: %{name} < %{name}-2.1-2 +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.UTF-8): Monitor dla distcc +Group: Applications + +%description monitor +Monitor for distcc. + +%description monitor -l pl.UTF-8 +Monitor dla distcc. + +%package monitor-gnome +Summary: GTK+ monitor for distcc +Summary(pl.UTF-8): Monitor GTK+ dla distcc +Group: X11/Applications + +%description monitor-gnome +GTK+ monitor for distcc. + +%description monitor-gnome -l pl.UTF-8 +Monitor GTK+ dla distcc. %prep %setup -q +%patch0 -p1 -%patch -p1 +sed -i -e 's#PKGDATADIR#"%{_pixmapsdir}"#g' src/mon-gnome.c %build -%configure -%{__make} +%{__aclocal} +%{__autoconf} +%{__autoheader} +%configure \ + --enable-rfc2553 \ + %{?with_gnome:--with-gnome} + +%{__make} \ + WERROR_CFLAGS="" \ + CC="%{__cc}" %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd \ - $RPM_BUILD_ROOT/etc/rc.d/init.d \ - $RPM_BUILD_ROOT/etc/profile.d +install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d,profile.d,logrotate.d} \ + $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_var}/log} -%{__make} DESTDIR=$RPM_BUILD_ROOT install +%{__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 + +%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} +mv $RPM_BUILD_ROOT%{_datadir}/%{name}/distccmon-gnome-icon.png \ + $RPM_BUILD_ROOT%{_pixmapsdir} +%endif + +touch $RPM_BUILD_ROOT%{_var}/log/distcc +rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name} + %clean rm -rf $RPM_BUILD_ROOT -%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 +%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 +%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 - /sbin/chkconfig --del distcc + %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} +%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) -%doc AUTHORS NEWS README linuxdoc/html/* -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/distccd -%attr(755,root,root) %{_bindir}/* -%attr(644,root,root) %{_mandir}/man?/* -%attr(644,root,root) /etc/profile.d/*sh +%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 -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/distccd +%defattr(644,root,root,755) +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/distccd %files standalone -%attr(755,root,root) /etc/rc.d/init.d/distcc +%defattr(644,root,root,755) +%attr(754,root,root) /etc/rc.d/init.d/distcc + +%files monitor +%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 +%{_desktopdir}/*.desktop +%{_pixmapsdir}/*.png +%endif