Compare commits

..

No commits in common. "rawhide" and "f29" have entirely different histories.

8 changed files with 23971 additions and 239 deletions

4
.gitignore vendored
View file

@ -2,7 +2,3 @@ distcc-2.18.3.tar.bz2
/distcc-3.1.tar.bz2
/distcc-3.2rc1.tar.bz2
/distcc-3.2rc1.tar.gz
/distcc-3.3.2.tar.gz
/distcc-3.3.3.tar.gz
/distcc-3.3.5.tar.gz
/distcc-3.4.tar.gz

View file

@ -1,55 +0,0 @@
From 83e030a852daf1d4d8c906e46f86375d421b781e Mon Sep 17 00:00:00 2001
From: hephooey <hephooey@users.noreply.github.com>
Date: Sun, 15 Jan 2023 15:43:50 -0500
Subject: [PATCH] Replace int with Py_ssize_t for distcc pump extension
Defining PY_SSIZE_T_CLEAN is required since python 3.10, and I have to
modify the type of length to match it. Otherwise functions like
OsPathExists will always return False.
The PY_SSIZE_T_CLEAN macro is supported at least back to python 3.5
according to docs.python.org, that is why I included it without any
python version conditions
---
.../c_extensions/distcc_pump_c_extensions_module.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/include_server/c_extensions/distcc_pump_c_extensions_module.c b/include_server/c_extensions/distcc_pump_c_extensions_module.c
index 763dd425..a4c6e9eb 100644
--- a/include_server/c_extensions/distcc_pump_c_extensions_module.c
+++ b/include_server/c_extensions/distcc_pump_c_extensions_module.c
@@ -21,6 +21,7 @@
/* distcc_pump_c_extensions_module.c -- Python bindings for distcc-pump
* extensions */
+#define PY_SSIZE_T_CLEAN
#include "Python.h"
static const char *version = ".01";
@@ -56,7 +57,7 @@ static PyObject *
CompressLzo1xAlloc(PyObject *dummy, PyObject *args) {
PyObject *string_object;
const char *in_buf;
- int in_len;
+ Py_ssize_t in_len;
char *out_buf;
size_t out_len;
UNUSED(dummy);
@@ -241,7 +242,7 @@ static /* const */ char OsPathExists_doc__[] =
static PyObject *
OsPathExists(PyObject *dummy, PyObject *args) {
const char *in;
- int len;
+ Py_ssize_t len;
int res;
struct stat buf;
@@ -275,7 +276,7 @@ static /* const */ char OsPathIsFile_doc__[] =
static PyObject *
OsPathIsFile(PyObject *dummy, PyObject *args) {
const char *in;
- int len;
+ Py_ssize_t len;
int res;
struct stat buf;

View file

@ -1,11 +0,0 @@
--- src/compile.c 2021-05-11 13:26:29.000000000 -0400
+++ src/compile.c 2024-01-15 16:45:00.558851171 -0500
@@ -584,7 +584,7 @@
return -ENOENT;
- newcmd_len = strlen(target_with_vendor) + 1 + strlen(argv[0] + 1);
+ newcmd_len = strlen(target_with_vendor) + 1 + strlen(argv[0]) + 1;
newcmd = malloc(newcmd_len);
if (!newcmd)
return -ENOMEM;

12103
distcc-2.18.3-avahi.patch Normal file

File diff suppressed because it is too large Load diff

11811
distcc-minilzo-2.08.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,33 +1,28 @@
%global _lto_cflags %nil
%define _hardened_build 1
Name: distcc
Version: 3.4
Release: 12%{?dist}
Version: 3.2rc1
Release: 23%{?dist}
Summary: Distributed C/C++ compilation
License: GPL-2.0-or-later
License: GPLv2+
URL: https://github.com/distcc/distcc
Source0: https://github.com/distcc/distcc/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: hosts.sample
Source2: distccd.service
Patch0: distcc-localhost.patch
Patch1: crash.patch
Patch2: 479.patch
Patch0: distcc-minilzo-2.08.patch
Patch1: fixArgc.patch
Patch2: distcc-localhost.patch
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: which
BuildRequires: libtool
BuildRequires: popt-devel
BuildRequires: gtk3-devel
BuildRequires: libgnomeui-devel
BuildRequires: pango-devel
BuildRequires: python3-devel
Buildrequires: python3-setuptools
BuildRequires: python2-devel
BuildRequires: desktop-file-utils
BuildRequires: avahi-devel
BuildRequires: krb5-devel
BuildRequires: binutils-devel
BuildRequires: systemd-rpm-macros
BuildRequires: make
%description
distcc is a program to distribute compilation of C or C++ code across
@ -46,10 +41,12 @@ This package contains the Gnome frontend of the distcc monitoring tool.
%package server
Summary: Server for distributed C/C++ compilation
License: GPL-2.0-or-later
License: GPLv2+
Requires: %{name}%{?_isa} = %{version}-%{release}
%{?systemd_requires}
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
Requires(post): systemd-sysv
%description server
This package contains the compilation server needed to use %{name}.
@ -57,22 +54,24 @@ This package contains the compilation server needed to use %{name}.
%prep
%setup -q
%patch -P 0 -p0
%patch -P 1 -p0
%patch -P 2 -p1
%patch0 -p1
%patch1 -p2
%patch2 -p0
%build
export PYTHON='/usr/bin/python3'
export PYTHON='/usr/bin/python2'
./autogen.sh
export CFLAGS="%{optflags} -fcommon"
%configure --with-gtk --disable-Werror --with-auth
%make_build
%configure --with-gnome --disable-Werror --with-auth
make %{?_smp_mflags}
%install
%make_install
make install DESTDIR=$RPM_BUILD_ROOT
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
# Move desktop file to right directory
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/*.desktop $RPM_BUILD_ROOT%{_datadir}/applications/
sed -i 's@Icon=@Icon=%{_datadir}/%{name}/@' $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
# Install sample hosts file
install -Dm 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/hosts
@ -84,30 +83,33 @@ install -Dm 0644 contrib/redhat/sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfi
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
install -Dm 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/distccd.service
# Install distcc dirs
mkdir -p $RPM_BUILD_ROOT/usr/lib/distcc
mkdir -p $RPM_BUILD_ROOT/usr/lib/gcc-cross
if [ ! -d $RPM_BUILD_ROOT/usr/lib64 ]; then
mkdir -p $RPM_BUILD_ROOT/usr/lib64
fi
ln -s /usr/lib/distcc $RPM_BUILD_ROOT/usr/lib64/distcc
rm -rf $RPM_BUILD_ROOT%{_docdir}/*
%post server
%systemd_post distccd.service
%{_sbindir}/update-distcc-symlinks > /dev/null 2>&1
#[ $1 -lt 2 ] && /sbin/chkconfig --add distccd ||:
if [ $1 -eq 1 ] ; then
# Initial installation
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
%preun server
%systemd_preun distccd.service
#[ $1 -eq 0 ] && /sbin/chkconfig --del distccd ||:
if [ $1 -eq 0 ] ; then
# Package removal, not upgrade
/bin/systemctl --no-reload disable distccd.service > /dev/null 2>&1 || :
/bin/systemctl stop distccd.service > /dev/null 2>&1 || :
fi
%postun server
%systemd_postun_with_restart distccd.service
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
# Package upgrade, not uninstall
/bin/systemctl try-restart distccd.service >/dev/null 2>&1 || :
fi
%files
%license COPYING
%doc AUTHORS doc/* NEWS README.pump TODO
%doc INSTALL README survey.txt
%doc COPYING INSTALL README survey.txt
%{_bindir}/distcc
%{_bindir}/distccmon-text
%{_bindir}/lsdistcc
@ -116,152 +118,27 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/*
%{_mandir}/man1/distccmon*
%{_mandir}/man1/pump*
%{_mandir}/man1/include_server*
%{_mandir}/man1/lsdistcc*
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/hosts
%{python3_sitearch}/include_server*
%{python2_sitearch}/include_server*
%files gnome
%{_bindir}/distccmon-gnome
%{_datadir}/pixmaps/distccmon-gnome.png
%{_datadir}/%{name}
%{_datadir}/applications/*.desktop
%files server
%license COPYING
%doc README
%doc COPYING README
%{_bindir}/distccd
%{_unitdir}/*
%{_sysconfdir}/default/distcc
%{_sysconfdir}/distcc/*allow*
%{_mandir}/man1/distccd*
%config(noreplace) %{_sysconfdir}/sysconfig/distccd
%{_sbindir}/update-distcc-symlinks
%dir /usr/lib/distcc
/usr/lib64/distcc
%dir /usr/lib/gcc-cross
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 3.4-12
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 3.4-11
- Rebuilt for Python 3.14.0rc2 bytecode
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 3.4-9
- Rebuilt for Python 3.14
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Oct 21 2024 Gwyn Ciesla <gwync@protonmail.com> - 3.4-7
- Patch for Py_ssize_t
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 3.4-5
- Rebuilt for Python 3.13
* Tue Feb 13 2024 Gwyn Ciesla <gwync@protonmail.com> - 3.4-4
- Disable LTO to fix distccmon-gnome crash, 2263992.
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 05 2024 Gwyn Ciesla <gwync@protonmail.com> - 3.4-1
- 3.4
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 3.3.5-14
- Rebuilt for Python 3.12
* Tue Mar 07 2023 Gwyn Ciesla <gwync@protonmail.com> - 3.3.5-13
- migrated to SPDX license
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Dec 21 2022 Gwyn Ciesla <gwync@protonmail.com> - 3.3.5-11
- BR setuptools.
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.3.5-9
- Rebuilt for Python 3.11
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.3.5-6
- Rebuilt for Python 3.10
* Wed Mar 24 2021 Gwyn Ciesla <gwync@protonmail.com> - 3.3.5-5
- Fix desktop file icon path.
* Mon Mar 08 2021 Gwyn Ciesla <gwync@protonmail.com> - 3.3.5-4
- Silence update-distcc-symlinks at install time.
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.5-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 04 2021 Gwyn Ciesla <gwync@protonmail.com> - 3.3.5-1
- 3.3.5
* Mon Nov 23 2020 Gwyn Ciesla <gwync@protonmail.com> - 3.3.3-10
- Spec cleanup, fix FTBFS.
* Wed Sep 16 2020 Gwyn Ciesla <gwync@protonmail.com> - 3.3.3-9
- Use gtk, not gnome, for monitor.
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-8
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 3.3.3-6
- Rebuilt for Python 3.9
* Wed Jan 29 2020 Gwyn Ciesla <gwync@protonmail.com> - 3.3.3-5
- Build with -fcommon for gcc10.
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.3.3-3
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.3.3-2
- Rebuilt for Python 3.8
* Thu Aug 15 2019 Gwyn Ciesla <gwync@protonmail.com> - 3.3.3-1
- 3.3.3
* Tue Aug 06 2019 Gwyn Ciesla <gwync@protonmail.com> - 3.3.2-1
- Python 3.
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2rc1-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue May 07 2019 Gwyn Ciesla <gwync@protonmail.com> - 3.2rc1-23
- Honor clients.allow

11
fixArgc.patch Normal file
View file

@ -0,0 +1,11 @@
--- distcc-3.1.orig/source/src/arg.c
+++ distcc-3.1/source/src/arg.c
@@ -515,6 +515,8 @@
}
free(argv);
*argv_ptr = argv = new_argv;
+ i += extra_args - 1;
+ argc += extra_args - 1;
}
}
return 0;

View file

@ -1 +1 @@
SHA512 (distcc-3.4.tar.gz) = aa6018326da8aa73b40479471c0c26d752ea17b46b40caa55662885e4d67a920eb2e33f0cceec9d1738050a069660a4be1175448c0ad9762c7ea9527f556a02b
SHA512 (distcc-3.2rc1.tar.gz) = b35a6bca5e7c43cefc3c31251dd57e06547213a29c88ab4e2337b01381afa5ec3a60b0baa3c27d5010527e9f45cc6db463b32bffe807bb5d7190700d41e620e8