FEATURES:
* IPv6 support
* Optional support for GSS-API authentication
* Added an environment variable DISTCC_SKIP_LOCAL_RETRY for skipping
the local retry in case of a remote compilation failure
* Some constants that were previously hard-coded in the
sources are now configurable via environment variables:
DISTCC_MAX_DISCREPANCY, DISTCC_IO_TIMEOUT
BUG FIXES:
* Fixed the following 20 issues <http://code.google.com/p/distcc/issues/list>:
30: 3.0 on OSX: ValueError: Expected absolute path, but got '(framework'.
33: distcc --scan-includes dumps core
34: Zeroconf fails if avahi supports IPv6
35: Include server internal error: '<class 'sre_constants.error'>: ('bogus escape (end of line)',)'
36: distcc-mon-gnome displays multiple rows for same host/slot
39: build with gcc 4.1 snprintf.h error "expected declaration specifiers"
42: distcc --show-hosts fails when using Avahi with IPv6 support and +zeroconf for distcc.
43: Remove duplicate hosts from zeroconf list
44: Failed tests on make check (gentoo gcc-4.3.3)
46: Add TAGS target to Makefile.in
49: make check fails on PreprocessAsm_Case
57: Fix warnings
58: PUMP mode can`t PARSE the HOSTS
60: CPlusPlus test case fails with GCC 4.4.1
61: Gdb tests fail in pumped mode on Ubuntu 9.10 amd64
66: pump mode fails to compile certain KDE-4 packages, finds/looks for incorrect headers
70: variable overlapping causing errors..
75: include_server documentation, distcc_fallback flag incorrect
81: distcc 3.1 will not compile correctly with current version of gcc
* New options: --scan-includes, --disable-Werror
* Document all of the exit codes in the man page.
* Handle "-Wp,-MMD,...".
* Report a better error message if a host specification contains ",cpp"
but not ",lzo".
* Fix a bug where the "m4" directory wasn't included in the
source distribution tarball, which caused it to stop working
if you ran autogen.sh.
* Fixed a bug where the pump script was hard-coding /etc/distcc/hosts
rather than using the prefix specified to configure.
* Fixed build errors on Gentoo Linux and some other systems.
Changes 3.0:
* New "--without-avahi" option to configure.
* Fixed a problem where pump mode was falling back to local compilation
when compiling with -I options that refer to a subdirectory of one
of the default system include directories (Nils Klarlund, Fergus Henderson).
* Allow distcc to distribute commands that use "-MF<filename>"
rather than "-MF <filename>", and likewise for "-MT<target>".
* Fixed a build problem on ARM and Solaris systems.
* Fixed a build problem on some Linux systems.
* Fixed failure of "make install" on Cygwin.
* Fallback to local compilation for "-march=native" or "mtune=native"
* Fix for deadlock in pump mode.
* New protocol, version 3, allowing for preprocessing on distcc
servers ("pump" mode).
* New component: an include server for incremental static analysis of include
dependencies. This software is written in Python 2.4.
* Support for getting hosts via avahi.
* gcc debug option -d must be run locally because it produces secondary files.
* Improved checking for errors on socket connection.
the owner of all installed files is a non-root user. This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.
(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
unprivileged.mk. These two variables are lists of other bmake
variables that define package-specific users and groups. Packages
that have user-settable variables for users and groups, e.g. apache
and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
and ${UNPRIVILEGED_GROUP}.
(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
backslashes anymore. A single backslash is enough. Changed the
definition in all affected packages. For those that are not caught, an
additional check is placed into bsd.pkginstall.mk.
And always is defined as share/examples/rc.d
which was the default before.
This rc.d scripts are not automatically added to PLISTs now also.
So add to each corresponding PLIST as required.
This was discussed on tech-pkg in late January and late April.
Todo: remove the RCD_SCRIPTS_EXAMPLEDIR uses in MESSAGES and elsewhere
and remove the RCD_SCRIPTS_EXAMPLEDIR itself.
under share/examples/rc.d. The variable name already was named
RCD_SCRIPTS_EXAMPLEDIR.
This is from ideas from Greg Woods and others.
Also bumped PKGREVISION for all packages using RCD_SCRIPTS mechanism
(as requested by wiz).
"No files should be owned by "nobody" because that defeats the purpose of
having a "nobody" account."
Make this use a specific user/group called distcc to run the daemon.
Bump PKGREVISION.
distcc-2.18.2 "Bees and lavender" 2004-11-12
BUG FIXES:
* Fix problem in checking errno after connect(). Fix by Jean
Delvare and Dan Kegel.
PORTABILITY:
* Fix prototype problem causing build failure on amd64. Patch
from Andreas Jochens. (Debian #280399, #280644).
distcc-2.18.1 "Reality-based computing" 2004-11-03
BUG FIXES:
* Fix run-time warnings about gtk_tree_model_row_changed() when
built with recent versions of GTK+.
* gcc option -specs= must be run locally so that it can read the
local spec file. Reported by Chris Yeoh.
PORTABILITY:
* Fix Solaris build problem reported by Dimitri Papadopoulos.
* Fix problem with reading hosts files in DOS CRLF format.
Reported by Sebastien Perochon.
distcc-2.18 "Billionaires on stilts" 2004-10-12
BUG FIXES:
* Fix longjmp() bug that can cause distcc to crash when a timeout
elapses.
* Fix compile-time problem with dcc_trace when configured with
--enable-rfc2553. Reported by Greg Earle.
* Fix warning about warn_unused_result for older versions of gcc.
* No timeout on local preprocessing or on compilation. No
timeouts on DNS lookups other than whatever is built in to the
DNS resolver. There are timeouts on network transmission and on
opening connections.
* Remove mmap() for receive of uncompressed data, to avoid various
problems.
CHANGES:
* The --allow option is now mandatory for daemon mode. As a
security feature, distccd will refuse to run without an IP
access control list.
* conftest.* built by autoconf is always done locally, to make
configure tests faster and safer.
DOCUMENTATION:
* Better description of use with ccache.
PORTABILITY:
* Fix various warnings reported by Dimitri Papadopoulos.
* Fix Tru64 build problem reported by Gary V. Vaughan.
distcc-2.17 "Divers Alarums" 2004-07-31
FEATURES:
* Performance improvements for distccmon-gnome.
* Added timeous for connection to servers, transmission of jobs
and remote compilation. If the timeout expires, the job is run
locally. This should make distcc cope better if some or all of
the servers are unreachable or failing.
* Also add timeouts in server to kick out stalled or disconnected
clients.
BUG FIXES:
* If remote compilation fails because of a signal in a later phase
of the compilation causing an exit with code >=128, retry
compilation locally. Patch from Jakub Stachowski.
DOCUMENTATION:
* Manpage fix from Jean Delvare.
PORTABILITY:
* Cygwin portability fix for WCOREDUMP, reported by Eric Frias.
distcc-2.16 "Salt" 2004-07-08
SECURITY:
* Fix bug that might cause IP-based access control rules not to be
interpreted correctly on 64-bit platforms. (CAN-2004-0601)
BUG FIXES:
* Fix small memory leaks in distccmon-gnome and distccmon-text.
FEATURES:
* Use a GNOME status bar with a grab handle for distccmon-gnome.
Patch from Nathan Fredrickson.
PORTABILITY:
* Better detection of systems with a popt library installed but
no popt.h. Reported by Sean Kelly.
* Fix bug in reporting crashed daemon children that showed up on
systems without strsignal, such as Mac OS 10.2. Reported by
Benjamin Reed.
* Update testdistcc.py to work on ia64 linux.
INTERNAL:
* Simplify dcc_log_child_exited.
* Include copyright and licence in --version output, as suggested
by GNU programs.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
* Fix crash bug in receiving LZO compressed data into a mmapped file.
* Remove redundant temporary file cleanup in non-forking mode.
* Client calculates and can display the overall throughput in preprocessed
bytes per second for remote jobs.
* The deprecated fork-after-exec mode controlled by the --no-prefork option
has been removed.
* mmap is no longer used for compressed data to simplify the code.
* Daemon now chdirs to $TMPDIR at startup rather than /. This allows dumping
core, among other things.
Changes:
distcc-2.14 "Lake Albina" 2004-05-02
FEATURES:
* The host file is looked up in $DISTCC_DIR/hosts, not hardcoded
to ~/.distcc/hosts. The default for $DISTCC_DIR is still
~/.distcc. Suggested by Sebastien Perochon.
* Source file name is included in success/failure messages, e.g.
distcc[6655] ERROR: compile ./cases/bad.c on cardhu failed
* distcc can now be built with a build directory separate from the
source directory. Patch from Dennis Henriksen.
DOCUMENTATION:
* Add documentation of DISTCC_DIR, and other fixes. Patch from
Thomas Schwinge.
* Slightly improved distcc --help.
BUG FIXES:
* Decompression buffer can dynamically resize to allow for very
gassy files. From a patch by Joe Buehler.
PORTABILITY:
* Add sample scripts for Red Hat / Fedora, by Colin Walters.
* mmap is always disabled on HP-UX, because the inconsistent page
case is a bit dangerous for the way distcc uses mmap. Suggested
by Joe Buehler.
distcc-2.13 "Carnal Bunt" 2004-03-02
SECURITY:
* Enforce IPv4 access control lists when the daemon is listening
on an IPv6 port. This only applies when the server was compiled
using --enable-rfc2553 and run with --allow.
FEATURES:
* Hash comments are allowed in host list files.
INTERNAL:
* Use TCP_DEFER_ACCEPT on Linux to avoid some wasted context
switching when a new connection comes in to the server.
BUG FIXES:
* Some fixes for connections over SSH when built using
--enable-rfc2553. Reported by Jeff Rizzo.
* Handle arguments like "-xcpp" and "-Wa,-xarch=v8". Suggested by
Ben Scarlet.
* Fix resource exhaustion when DISTCC_SAVE_TEMPS is set. Reported
by Mark DeGeorge.
* Fix problems in running IPv6-enabled builds on kernels without
IPv6 support. Reported by Lisa Seelye.
DOCUMENTATION:
* More instructions for distributors/packagers.
PORTABILITY:
* Many portability patches from Albert Chin. These patches were
tested on: AIX 4.3.2, 5.1; HP-UX 10.20, 11.00, 11i; IRIX 6.5;
Redhat Linux 7.1, 9; Solaris 2.5.1, 2.6, 7, 8, 9; Tru64 UNIX
4.0D, 5.1.
* Possibly fix mmap problem on HP-UX with compressed transfers.
Reported by Joe Buehler.
TESTING:
* Add test for compilation with compression.
* Testsuite portability patch from Albert Chin. The tests pass
on: HP-UX 10.20, 11.00, 11i; IRIX 6.5; Redhat Linux7.1, 9;
Solaris 7, 8, 9; Tru64 UNIX 4.0d, 5.1.
pkgsrc changes:
o Add a rc.d script to start distccd, by default this runs
as user "nobody".
o Use subst.mk instead of patching multiple files.
Changes:
BUG FIXES:
* When checking if a process exists, accept EPERM as indicating it
exists but isn't ours. This allows watching the directory of a
different user, subject only to filesystem permissions.
Reported by Ernst Bachmann.
* Correct a bug introduced in 2.12 that made distccd fail to start
when run by root because setgid failed. Fix from Wayne Davison.
* --without-gnome, --without-gtk now turn those options off rather
than on.
DOCUMENTATION:
* New man page for distccmon-text, by Shri Shrikumar and Martin
Pool.
distcc-2.12 "Figgy Pudding" 2003-12-19
FEATURES:
* New --log-level feature allows logging of only errors rather
than messages for each connection.
* IPv6 support now works better when distcc is configured with
--enable-rfc2553. The server can normally accept either IPv4 or
IPv6 connections.
* New --with-docdir configure option to set install location for
documents. The default is the same as previously. Patch from
Harold L Hunt II.
INTERNAL:
* GNU-style ChangeLog is now included in the package. Please keep
it up to date if you make your own changes!
PORTABILITY:
* setgroups() was broken by Mac OS X Panther so that it will not
accept setgroups(0, NULL) to clear the group list. Instead we
now set the group list to our single primary gid. Suggestion
from Wayne Davison.
* sendfile problems on FreeBSD 4.9-RC fixed. Patch from Allan
Saddi.
* MAXPATHLEN is provided if it's not defined, which is the case on
GNU Hurd. Reported by Santiago Vila as Debian #219600.
BUG FIXES:
* Check pkg-config information GNOME/GTK+ is now checked at
configure time, not build time. This is a bit quicker than
running the script for every file we build, and means that
PKG_CONFIG_PATH only needs to be set for configure.
DOCUMENTATION:
* Small documentation corrections.
Changes since 2.11:
distcc-2.11.2 "Muscovado" 2003-10-23
BUG FIXES:
* Correct the handling of --without-gnome. Reported by Dimitri
Papadopoulos.
* Fatal signal handlers for client and daemon should reset the
signal vector before doing anything else, to protect against an
(unlikely) spin if the signal is re-sent.
* Corrections to .desktop file from Dag Wieers.
INTERNAL:
* Remove dependency on libglade for GTK+ and GNOME monitor
programs.
PORTABILITY:
* IRIX portability fixes from Dimitri Papadopoulos.
* Use AC_TYPE_SIGNAL to generate correct signal handler return
types. (It can be either int or void.)
DOCUMENTATION:
* Various manual updates.
* Update to xinetd example from Dag Wieers.
distcc-2.11.1 "Burnt sugar" 2003-10-08
FEATURES:
* The graphical monitor can now be configured with either
--with-gnome or --with-gtk. In the second case, the GNOME
libraries are not used. In both cases the resulting program is
called distccmon-gnome and the functional differences are fairly
small.
BUG FIXES:
* An error message is emitted and compilation fails if distcc
cannot use the specified TMPDIR. This can happen if distccd is
started by root with a TMPDIR only accessible to root.
Reported by Brett Dikeman.
* GNOME data files are now only installed when the application is
configured with --with-gnome or --with-gtk. Files are installed
into a distcc/ subdirectory of the configured data directory.
(By default this is /usr/local/share/distcc/). Reported by Erik
Jan Tromp and Noe`l Ko"the.
* Fix bug in sending compressed files where errors were ignored.
* C++ compilation using -frepo must be local. Reported by Andrew
Slater.
PORTABILITY:
* Don't use stdint.h, which is not available on FreeBSD 4-STABLE,
IRIX or Solaris. Reported by Frerich Raabe.
DOCUMENTATION:
* Corrections to distcc manpage reported by Lionel Sausin.
* Documentation of how to write monitor programs, from Frerich
Raabe.
INTERNAL:
* Fix state.h for use with C++. Patch from Frerich Raabe.