distcc/distcc.spec

178 lines
5.6 KiB
RPMSpec

%define distcc_uid 28
%define distcc_gid 28
Name: distcc
Version: 3.4
Release: 2mamba
Summary: A program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network
Group: Development/Tools
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://github.com/distcc/distcc
Source: https://github.com/distcc/distcc.git/v%{version}/distcc-%{version}.tar.bz2
Source1: distcc-initscript
Source2: distcc-logrotate
Source3: distcc-sysconfig
Source4: distcc-profile
Source5: distccd.service
Source6: distcc-sysusers.conf
Patch0: distcc-3.1-gcc-4.8.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libat-spi2-core-devel
BuildRequires: libavahi-devel
BuildRequires: libcairo-devel
BuildRequires: libgdk-pixbuf-devel
BuildRequires: libglib-devel
BuildRequires: libgtk3-devel
BuildRequires: libharfbuzz-devel
BuildRequires: libpango-devel
BuildRequires: libpopt-devel
BuildRequires: libpython311-devel
## AUTOBUILDREQ-END
%description
distcc is a program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network.
distcc should always generate the same results as a local build, is simple to install and use, and is often two or more times faster than a local compile.
distcc does not require all machines to share a filesystem, have synchronized clocks, or to have the same libraries or header files installed. They can even have different processors or operating systems, if cross-compilers are installed.
%package monitor
Group: Graphical Desktop/Applications/Development
Summary: Monitoring interface for distcc
%description monitor
A gnome base monitoring interface for distcc, a program to distribute builds of C, C++, Objective C or Objective.
%debug_package
%prep
%setup -q
#%patch0 -p0
./autogen.sh
%build
%configure \
--sbindir=%{_bindir} \
--with-gtk \
--disable-Werror \
PYTHON=%{__python3}
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall
install -D -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/distccd
install -D -m0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/distccd
install -D -m0755 %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d/distcc.sh
install -D -m0644 %{SOURCE5} %{buildroot}%{_unitdir}/distccd.service
install -d %{buildroot}/var/log/distccd
# Package symlinks
_targets=(c++ c89 c99 cc clang clang++ cpp g++ gcc %{_host}-g++
%{_host}-gcc %{_host}-gcc-$(gcc -dumpversion))
install -d %{buildroot}%{_libdir}/distcc/bin
for bin in "${_targets[@]}"; do
ln -sf ../../bin/distcc %{buildroot}%{_libdir}/distcc/$bin
ln -sf ../../../bin/distcc %{buildroot}%{_libdir}/distcc/bin/$bin
done
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%pre
if [ $1 -ge 1 ]; then
# new install or update
groupadd distcc -g %{distcc_gid} 2>/dev/null || true
useradd distcc -c "Distcc user" -d /dev/null \
-s /bin/false -u %{distcc_uid} -g %{distcc_gid} 2>/dev/null || true
fi
:
%preun
%systemd_preun distccd
:
%post
%systemd_post distccd
:
%postun
%systemd_postun distccd
:
%files
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/sysconfig/distccd
%config(noreplace) %{_sysconfdir}/logrotate.d/distccd
%{_sysconfdir}/default/distcc
%{_sysconfdir}/distcc/clients.allow
%{_sysconfdir}/distcc/commands.allow.sh
%{_sysconfdir}/distcc/hosts
%{_sysconfdir}/profile.d/distcc.sh
%{_bindir}/distcc
%{_bindir}/distccd
%{_bindir}/distccmon-text
%{_bindir}/lsdistcc
%{_bindir}/pump
%{_bindir}/update-distcc-symlinks
%dir %{_libdir}/distcc
%{_libdir}/distcc/*
%{_unitdir}/distccd.service
%{python3_sitearch}/include_server/*
%{python3_sitearch}/include_server-%{version}-py*.egg-info
%dir %{_datadir}/doc/distcc
%{_datadir}/doc/distcc/*
%{_mandir}/man1/*
%attr(0755,distcc,distcc) /var/log/distccd
%files monitor
%defattr(-,root,root)
%{_bindir}/distccmon-gnome
%{_datadir}/applications/distccmon-gnome.desktop
%{_datadir}/pixmaps/distccmon-gnome.png
%changelog
* Sun Dec 10 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 3.4-2mamba
- fix and update service and configuration files; create %_libdir/distcc folder with symlinks
* Wed May 19 2021 Automatic Build System <autodist@mambasoft.it> 3.4-1mamba
- automatic version update by autodist
* Fri Jan 15 2021 Automatic Build System <autodist@mambasoft.it> 3.3.5-1mamba
- automatic version update by autodist
* Thu Aug 22 2019 Automatic Build System <autodist@mambasoft.it> 3.3.3-1mamba
- automatic version update by autodist
* Sun Jul 29 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 3.3.2-1mamba
- update to 3.3.2
* Sun Jun 02 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1-3mamba
- python 2.7 mass rebuild
* Thu Feb 04 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1-2mamba
- rebuilt to remove executable requirements
* Sun Jan 11 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1-1mamba
- update to 3.1
* Tue Dec 20 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.18.3-4qilnx
- added profile script to set DISTCC_HOSTS system wide variable
* Fri Dec 16 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.18.3-3qilnx
- added logfile dir
* Thu Dec 15 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.18.3-2qilnx
- added initscript, logrotate and sysconfig support
* Wed Dec 07 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.18.3-1qilnx
- update to version 2.18.3 by autospec
- added distcc user creation
* Wed Oct 22 2003 Silvan Calarco <silvan.calarco@mambasoft.it> 2.11.1-1qilnx
- first build