2008-12-02 21:44 Fergus Henderson * Makefile.in, NEWS, configure.ac, include_server/setup.py: 1. Fix some compilation errors arising from the use of -Wwrite-strings when compiling the python extension module, due to lack of const correctness in the Python 2.2 "Python.h" header file. This problem was introduced by the fix for distcc issue 26 . The solution was to explicitly disable these warnings with -Wno-write-strings. 2. Centralize the use of gcc-specific compilation options in conditional code in configure.ac that is only executed if we're using gcc. Previously include_server/setup.py was hard-coding gcc-specific options, regardless of whether we're using gcc. 3. Don't use -Wuninitialized if CFLAGS doesn't contain "-O*", because -Wuninitialized only works if optimization is enabled. This avoids a gcc warning (and hence an error with -Werror) about -Wuninitialized not having any effect when distcc is configured with "CFLAGS=-g ./configure". 4. Add a new configure option "--disable-Werror". For the 3.0 release of distcc, some people porting distcc resorted to patching distcc to remove the -Werror option. -Werror is useful, so I want to keep it enabled by default, but I'd prefer that people are able to port distcc easily, hence the configure option. This addresses distcc issue 20 . Reviewers: Craig Silverstein 2008-12-01 23:44 Fergus Henderson * ChangeLog, NEWS, configure.ac: Bump version number to 3.1, and update the NEWS file and ChangeLog. Reviewed by Craig Silverstein. 2008-10-27 22:11 Fergus Henderson * Makefile.in: Apply matsuu's patch to fix issue 26 "missing CFLAGS for include-server" . 2008-10-27 14:38 Fergus Henderson * include_server/c_extensions/distcc_pump_c_extensions_module.c: Applied matsuu's patch for issue 27 "failed to make distcc" , which was a build problem on "Gentoo, x86-64, gcc-4.1.2, glibc-2.6.1, python-2.5.2". 2008-10-27 14:17 Fergus Henderson * Makefile.in: Include the "m4" directory in the source distribution tarball, so that users of the source distribution can (re)run "autogen.sh". Reviewers: Craig Silverstein 2008-10-05 16:43 Fergus Henderson * src/arg.c: Fix a silly mistake (missing "== 0" after strcmp() call) that broke the parsing of "-Wp,-MMD,..." options. This fixes . 2008-09-27 01:57 Fergus Henderson * include_server/test_data/gws-main.o.cmd[DEL]: Delete an unused test data file; it became dead after my previous change which deleted the test that used it. 2008-09-27 01:55 Fergus Henderson * include_server/parse_command_test.py: Delete an unused test case: the test was hard-coded to always pass anyway, so it wasn't testing anything useful. 2008-09-13 17:23 Fergus Henderson * doc/web/man/distcc_1.html, man/distcc.1, src/exitcode.h: Incorporate 01_distcc_man.dpatch from debian distribution. This patch adds documentation of all of the exit codes to the man page. Also add comment to exitcode.h reminding maintainers to update the man page. Also update the HTML versions of the man pages. 2008-09-11 18:48 Fergus Henderson * NEWS, include_server/include_analyzer.py, man/distcc.1, src/clirpc.c, src/compile.c, src/compile.h, src/distcc.c, src/distcc.h, src/include_server_if.c, src/include_server_if.h, src/util.c, test/testdistcc.py: Provides a simple shell API to the include server: add a new "--scan-includes" option to distcc which shows which headers distcc would send to the remote machine in pump mode, without actually compiling anything. 2008-09-10 02:39 Fergus Henderson * pump.in: Fix : the pump script was hard-coding /etc/distcc/hosts rather than using the prefix specified to configure. Reviewed by Craig Silverstein. 2008-09-08 17:51 Fergus Henderson * Makefile.in, src/hosts.c: Report a better error message if a host specification contains ",cpp" but not ",lzo". Previously, setting ",cpp" without ",lzo" would quietly set the protocol version to -1, which the server would then quietly reject (logging as "REJ_BAD_REQ"), and then the client would guess (poorly) at why the server had dropped the connection. Reviewed by Craig Silverstein. 2008-08-07 22:58 Fergus Henderson * doc/web/man/distcc_1.html, doc/web/man/pump_1.html: Update the HTML versions of the man pages. 2008-08-07 22:50 Fergus Henderson * doc/web/index.html: Delete a duplicate link in the side-bar. 2008-08-06 20:37 Fergus Henderson * ChangeLog, NEWS, configure.ac: Change version number to "3.0", and update NEWS file and ChangeLog. 2008-08-06 15:37 Fergus Henderson * man/distcc.1, man/pump.1: Some final documentation updates before 3.0. In the distcc man page: - remove description of a bug that's been fixed now (distcc issue 7) - make it a little clearer that in pump mode we don't ship the header files from the default system header directories to the server - add a new section header "RESTRICTIONS OF PUMP MODE" - some typographical corrections. In the pump man page: - add a prominent pointer to the distcc man page, in particular to the "RESTRICTIONS OF PUMP MODE" section. Reviewers: Craig Silverstein ## distcc 3.0rc4. 2008-08-02 19:54 Fergus Henderson * ChangeLog, NEWS, configure.ac: Time for another release candidate. 2008-08-02 19:49 Fergus Henderson * test/testdistcc.py: Add C++ version of the SystemIncludeDirectories test. Also, reduce code duplication a little by adding a compileOpts() function to the CompilationCase class, and overriding that, rather than compileCmd(), in various derived classes. 2008-08-02 17:50 Fergus Henderson * include_server/compiler_defaults.py: Fix a TODO in compiler_defaults.py that was responsible for a bug that broke pump mode when one of the default system include directories was a subdirectory of another, as turns out to be the case for GNU C++. The CPlusPlus_SystemIncludeDirectories_Case, which was failing before this change, now passes. (TODO: re-enable it.) Reviewers: Craig Silverstein 2008-08-02 01:30 Fergus Henderson * bench/benchmark.py: Make the benchmarking script's stdout and stderr line buffered. Reviewers: Craig Silverstein 2008-08-02 01:27 Fergus Henderson * test/testdistcc.py: Add a test of C++ compilation, and refactor the tests of Objective-C and Objective-C++ to share the common code. Also, fix some bugs in the tests of Objective-C and Objective-C++. These tests were never being activated, even when the right compiler is installed, because in the test compilation (not using distcc) it was compiling with "-o /dev/null" and then testing that testtmp.o exists, which it never did. There was also a missing "std::" in the Objective-C++ test. I still haven't run the Objective-C++ test, because I still haven't figured out how to install Objective-C++, but it's pretty similar to the C++ and Objective-C tests, and both of those now run and pass. Reviewers: Craig Silverstein 2008-08-01 20:59 Fergus Henderson * bench/ProjectDefs.py: Update a stale URL. ## distcc 3.0rc3. 2008-08-01 03:42 Fergus Henderson * include_server/basics.py: Increase MAX_COMPONENTS_IN_SERVER_ROOT from 10 to 20. It turns out that our own test infrastructure (test/testdistcc.py) sets TMPDIR before invoking distccd, so this needs to be reasonably high, otherwise 'make distcheck' will fail. 2008-08-01 03:11 Fergus Henderson * Makefile.in: List va_copy.h in HEADERS, so that it gets included in the source distribution. 2008-07-31 19:19 Fergus Henderson * ChangeLog, NEWS, configure.ac: Bump version number to 3.0rc3, and update NEWS file and ChangeLog. Reviewed by Craig Silverstein. 2008-07-31 05:40 Fergus Henderson * src/distcc.h, src/filename.c: Fix issue 10 : add a work-around for a spurious gcc warning. Also, add a missing check for strdup() returning NULL. 2008-07-30 22:56 Fergus Henderson * src/dotd.c, src/serve.c, src/strip.c, test/testdistcc.py: Add a test case to test "-MT" and "-MF" without spaces after them. Some more bug fixes to make the test case pass. Also, make the DashWpMD_Case test a bit more strict: disable fallbacks, so that it tests that we can distribute such jobs. 2008-07-30 02:28 Fergus Henderson * src/fix_debug_info.c, src/netutil.c, src/snprintf.c, src/srvnet.c: Fix some warnings with -Wcast-align that show up only on machines that don't support unaligned accesses. Fix some const correctness warnings that show up only on machines that don't have vsnprintf(). Reviewers: Craig Silverstein 2008-07-30 02:27 Fergus Henderson * src/arg.c: Fix issue 13 : allow distcc to distribute commands that use "-MF" rather than "-MF ", and likewise for -MT and -MQ. 2008-07-30 01:13 Fergus Henderson * src/clirpc.c, src/tempfile.c: Apply patch from e...@jessies.org in : use S_ISLNK and S_ISDIR macros, to make the code more readable. 2008-07-29 23:04 Fergus Henderson * Makefile.in: In the Makefile, add a target for running a single test in pump mode. 2008-07-29 22:19 Fergus Henderson * include_server/basics.py, include_server/cache_basics.py, include_server/compiler_defaults.py, include_server/include_analyzer.py, include_server/macro_eval_test.py, include_server/mirror_path.py, include_server/mirror_path_test.py, include_server/parse_command_test.py, src/srvrpc.c, src/tempfile.c, test/testdistcc.py: This is based on klarlund's original version of this patch (klarlund/d3b3): gvn --project https://distcc.googlecode.com/svn/trunk review klarlund/d3b3 Fix Issue 7: Compiling with -I/usr/include/FOO or ... in pump mode Problem: Default system include directories are the directories on the default include search path, such as /usr/include, that is determined by the compiler. Distcc will not send default system include directories to the distcc compilation servers. Nevertheless, distcc on the server blindly rewrites -I options such as -I/usr/include/foo to -I/tmp/distccNNN/usr/include/foo. This doesn't work, since the files in /usr/include/foo are not sent to the distccd server. Solution: The present solution keeps the rewriting on the server, because we would like to not manage starting the compiler, parsing its output, and storing the default system paths on the server Instead, we use the existing mechanism for defining relative symbolic links under the server root. We escape from the root by using a sufficient number of '../'s. All this is tremendously complicated by: -- The possibility that other links encountered may point into the system default dirs in which case the usual mirroring of the reachable places should not take place, because the routing of such links will go through the link created for the system directory. -- The fact that determination of default-system-dirness is lazy: a deeply-seated link in a default system dir may become obsolete if it is later determined that a higher directory than the parent directory of the link is in fact also a default system dir. In that case, a new symlink, sitting in a place higher than the previous one will need to be created. Tests: make check benchmarks: samba (still 3X faster than with distcc), linux 2.6 kernel, and a couple of others TODO: better testing TODO: > In compiler_defaults.py, _MakeLinkFromMirrorToRealLocation: > Maybe comment each of the 'if' cases with an example of how this case > might be triggered. eg the real_prefix == rooted_system_dir is > triggered when we see /usr/include/foo, and the later see > /usr/include. 2008-07-29 22:17 Fergus Henderson * configure.ac, src/snprintf.c, src/trace.c, src/va_copy.h: Fix a bug that caused "make check" to fail: MissingCompiler_Case was reporting an unexpected exit status: 139 instead of 110. This was caused by a seg fault in distccd, deep in the bowels of vsnprintf(), which appears to be due to calling vsnprintf() twice on the same va_list. The fix is to use va_copy() in src/trace.c. Of course it's never quite as easy as that. va_copy() exists only in C99, not in C89. Some implementations have __va_copy() but not va_copy(). So we need to autoconf it. There was already an autoconf test for this, but only for __va_copy. I've moved the code which defined VA_COPY from snprintf.c to a new header file va_copy.h, and added a VA_COPY_END macro. Also, fix another bug that I noticed at the same time: snprintf.c was using va_copy(), but was not matching each call to va_copy with a corresponding call to va_end(), as required by the C99 standard. 2008-07-17 21:59 Lei Zhang * configure.ac: This adds an option for disabling avahi and friends. This is useful for building distcc targeted to machines without libavahi on a machine with libavahi. Reviewed by Fergus Henderson. 2008-07-02 00:34 Fergus Henderson * Makefile.in: Fix a bug reported by Aaron P. Perez where "make install" was failing on Cygwin. The problem was due to the install.log file generated by Python's distutils being generated in DOS text mode format rather than Unix text mode format. The fix is to use 'sed' to convert DOS text format to Unix text format when generating install.log. Note: this fix is slightly different than the original patch that I posted to the distcc mailing list. This patch is better because it fixes the install.log file, rather than just the grep command; this is important because the install.log file is also used for "make uninstall". Reviewers: Craig Silverstein 2008-06-30 17:10 Nils Klarlund * include_server/include_analyzer.py, include_server/include_analyzer_memoizing_node.py, include_server/include_analyzer_memoizing_node_test.py, include_server/include_analyzer_test.py, include_server/parse_command.py, include_server/parse_command_test.py: Revert r393. This change is mostly reverted -- some variable renamings are not changed back. A subsequent CL proposes a less arbitrary way to solve the problem of -I, which involves sending no system default header files at all. Tests: make pump-check and make include-server-check 2008-06-27 21:59 Fergus Henderson * NEWS: Delete a duplicate entry from the NEWS file. Reviewers: Craig Silverstein 2008-06-24 22:06 Fergus Henderson * packaging/googlecode_upload.py: Fix wrong description for uploaded distcc-.tar{.gz,.bz2} files. Reviewers: Craig Silverstein ## distcc 3.0rc2. 2008-06-20 15:17 Fergus Henderson * ChangeLog, NEWS: Update NEWS file and ChangeLog for distcc 3.0rc2. Also mention new website, repository and maintainer in NEWS file. 2008-06-20 02:54 Fergus Henderson * configure.ac: Bump version number to 3.0rc2. 2008-06-19 22:25 Fergus Henderson * src/gcc-id.c, src/zeroconf-reg.c, src/zeroconf.c: Add "Copyright (C) 2007 Lennart Poettering" to zeroconf.c, zeroconf-reg.c, and gcc-id.c. Remove Google copyright notice from src/gcc-id.c, since the Google changes to that file were very minor. 2008-06-19 20:55 Fergus Henderson * Makefile.in, packaging/deb.sh, packaging/rpm.sh: Change the deb.sh and rpm.sh scripts to remove old .deb or .rpm files (for the same package and version) before generating the new ones. Similarly change "make install-deb" and "make upload-dist" so that they are more selective in which files they install. This fixes a bug where "make install-deb" tried to install the wrong .deb files, because it just did "rpm -i *.deb", and there can be old .deb files lying around. It also fixes a similar problem in "make upload-dist". Also, add a "tags" target to the Makefile. Reviewers: Craig Silverstein 2008-06-18 03:30 Fergus Henderson * include_server/compiler_defaults.py: Fix bug where the include server would crash if the PATH environment variable wasn't set. 2008-06-18 02:23 Fergus Henderson * packaging/RedHat/conf/clients.allow: Fix a missing word in a comment. 2008-06-17 20:26 Fergus Henderson * src/compile.c, src/lock.c, src/remote.c, src/where.c, src/where.h: Fix for a deadlock bug that I observed (once!) when compiling the Linux kernel in pump mode: - Ensure that locks are acquired in the reverse order that they will be released: acquire remote lock before local lock. - Ensure that locks are released on all fallback paths. - Rename dcc_pick_host_from_list() as dcc_pick_host_from_list_and_lock_it(), so that its locking effect is clearer. - Document the lock ordering invariants. - Document the unlocking behaviour of dcc_compile_remote(). Reviewers: Craig Silverstein, Nils Klarlund 2008-06-17 18:32 Fergus Henderson * man/distcc.1: Document the limitations of pump mode w.r.t. debugging on systems with non-ELF object files. Reviewers: Craig Silverstein, Nils Klarlund 2008-06-11 16:10 Fergus Henderson * src/arg.c: Apply patch from Maks Verver which fixes a bug where distcc was not doing the right thing when invoked with "-march=native" or "mtune=native". This fixes . 2008-06-10 21:21 Fergus Henderson * doc/web/faq.html: Document the use of ssh connection sharing. 2008-06-10 05:51 Craig Silverstein * pump.in: When I moved the envvar declarations to inside the 'eval', I had to quote them to protect them from the extra level of evaluation, but I had failed to do this. This change makes it so I do. Tested by running 'make pump-maintainer-check on linux (ubuntu). Detected and reviewed by fergus ## distcc 3.0rc1. ## The following changes were made internally to Google, and not integrated ## into the main distcc distribution until 2008. The dates here are ## the dates they were applied to the internal-Google branch, and ## interleave with the changes to the main branch, below. 2008-06-10 02:20 Nils Klarlund * doc/web/benchmark.html: Improve wording and accuracy of claims. Just various relatively minor suggestions. I didn't understand the remarks about the importance of having 'beefier' remote machines (their raw CPU power are not different although RAM and number of CPUs per machine differ), so I took them out. Instead, a made a separate point about what would have happened if we'd used multiple-CPU clients. I put in a reference to our gws:gws benchmark, which drove our work. Also, -- Add side point about possible configurations issues and link to man pages. -- The number 'four' (for # of hello compilations) was obtained by inspection of the distcc log. Review: csilvers and fergus (at Google). 2008-06-10 00:52 Craig Silverstein * pump.in: Apparently, for freebsd's sh at least, "eval FOO=a bar" lets bar see FOO=a, while "FOO=a eval bar" does not. So change from the latter formulation to the former. Tested by running 'make pump-maintainer-check' on freebsd and on linux (ubuntu). Reviewed by klarlund 2008-06-10 00:09 Craig Silverstein * test/testdistcc.py: While testdistcc.py tries to use port 42000 to communicate, if it fails it tries 42001, etc. When checking output, make sure we match the port we actually ended up binding on. Tested by running 'make check' on a wide variety or architectures, including a FreeBSD machine where make check failed before this change. Reviewed by fergus 2008-06-09 23:12 Craig Silverstein * man/distcc.1, man/distccd.1, man/include_server.1, man/pump.1: Update date to june 9 instead of june 2. 2008-06-09 23:08 Craig Silverstein * configure.ac: I had talked Fergus into changing the version number from 3.0rc1 to 3.0-rc1. But now rpm is complaining that - is illegal in a version string, so I'm changing it back to 3.0rc1. Sorry Fergus... 2008-06-09 23:07 Craig Silverstein * ChangeLog: I had talked Fergus into changing the version number from 3.0rc1 to 3.0-rc1. But now rpm is complaining that - is illegal in a version string, so I'm changing it back to 3.0rc1. Sorry Fergus... 2008-06-09 22:02 Fergus Henderson * configure.ac: Change version number to 3.0rc1 (for "release candidate 1"). Reviewers: Craig Silverstein 2008-06-09 21:22 Craig Silverstein * Makefile.in, doc/web/man/distcc_1.html, doc/web/man/include_server_1.html, packaging/RedHat/rpm.spec: Update the html version of the man pages, based on the .1 updates. Add include_server, which is a new man page. Update the Makefile to know about the new man page, include it in the distribution, etc. Also update the rpm spec to include it too. 2008-06-09 20:31 Fergus Henderson * TODO: Some updates to the TODO list to mark as done issues which are addressed in distcc 3.0. Reviewers: Craig Silverstein 2008-06-09 20:28 Fergus Henderson * pump.in: Rename "Critique" function as "ReportDiscrepancies", to make it clearer what the function does. Reviewers: Craig Silverstein, Nils Klarlund 2008-06-09 19:59 Nils Klarlund * include_server/include_server.py, man/distcc.1, man/include_server.1, pump.in: The missing include_server(1) man page and additional material about the basic assumptions of distcc-pump added to man/distcc.1 as well. The BUGS section of distcc.1 has been updated. A spelling error correction is made to man/distcc.1. The pump.in script is changed so that it does not introduce other certain defaults than those mentioned in the manual (which are those of the of include server). Finally, I changed the order of the options in the include server source code to be alphabetical in accordance with include_server(1) man page. Reviewers: fergus, csilvers. 2008-06-09 19:53 Nils Klarlund * find_c_extension.sh: Correct obscure bug (that quoting a variable eliminates the conversion of newlines to spaces). Reviewers: fergus and csilvers (at Google). 2008-06-09 16:38 Lei Zhang * src/lsdistcc.c, test/testdistcc.py: lsdistcc should print non-default port numbers. Reviewed by fergus 2008-06-09 15:04 Fergus Henderson * pump.in: Fix typo in Nils' previous change. 2008-06-09 14:14 Nils Klarlund * pump.in, src/compile.c: Add necessary message to pump script with warning that compilations were forced from distcc-pump mode into plain mode. I had resisted doing this at first, because of the max_discrepancies_before_demotion constant in src/compile.c, which actually controls whether there were sufficiently many discrepancies to force a demotion. The problem is that the constant is not known to the pump script. It should be made configurable, through gosh, another env var. But that'll be for later. This constant is currently 1 and it shouldn't be changed. Reviewers: fergus and csilvers. 2008-06-07 01:21 Craig Silverstein * doc/web/benchmark.html, doc/web/compared.html, doc/web/compilers.html, doc/web/faq.html, doc/web/index.html, doc/web/results.html, doc/web/scenarios.html, doc/web/security.html: Add a link to the man pages from the side-bar. Also, fixed up the side-bar from a few non-top-level pages to be consistent with the top-level-pages bars: compilers.html and compared.html. 2008-06-07 01:16 Craig Silverstein * Makefile.in: When uploading the package, we try to update the website as well. Since the website contents are checked into svn, that's just a matter of checking in any auto-generated html-ized pages (eg the man pages). 2008-06-07 01:13 Craig Silverstein * doc/web/benchmark.html, doc/web/man/distcc_1.html, doc/web/man/distccd_1.html, doc/web/man/distccmon_text_1.html, doc/web/man/pump_1.html: Oops, the attribute is called svn:mime-type, not svn:content-type. 2008-06-07 01:10 Craig Silverstein * doc/web/man/distcc_1.html: Update from the empty file. 2008-06-07 01:08 Craig Silverstein * doc/web/man, doc/web/man/distcc_1.html, doc/web/man/distccd_1.html, doc/web/man/distccmon_text_1.html, doc/web/man/pump_1.html: Html version of the man pages, auto-generated. 2008-06-04 07:06 Craig Silverstein * Makefile.in: The avahi files (zeroconf.c, etc), were being left out of the distribution tarball. Add them in. Tested by running 'make distcheck' on a machine with avahi libs installed. Reviewed by fergus 2008-06-04 06:04 Craig Silverstein * pump.in: Get rid of setting is_in_installation; that variable isn't used anywhere anymore, so no reason to set it. Tested by running 'make pump-maintainer-check'. Reviewed by klarlund 2008-06-04 05:17 Craig Silverstein * Makefile.in: It turns out setup.py has a bug(?) in its --record output: in theory, the paths of the --record fields should start with --prefix, but sometimes the paths remove the leading / from --prefix: % env CPPFLAGS='-Isrc -Ilzo -Ipopt' SRCDIR=`pwd` include_server/setup.py install --prefix=/tmp/distcc-bar --record=/dev/stdout --root=/var/ tmp/distcc-bar/lib/python2.4/site-packages/include_server/parse_file_test.pyc [...] % env CPPFLAGS='-Isrc -Ilzo -Ipopt' SRCDIR=`pwd` include_server/setup.py install --prefix=/tmp/distcc-bar --record=/dev/stdout --root=/var /tmp/distcc-bar/lib/python2.4/site-packages/include_server/parse_file_test.pyc [...] It's hard to predict how, when and why it does this (--root=/ and --root="" are particularly confusing cases), but luckily we know we always want the leading slash: configure dies if --prefix isn't an absolute path. So with this change, we just let setup.py write whatever it wants to, and then add a leading slash before each line of the --record output if it's missing. Tested by running ./configure --prefix=/tmp/distcc rm -rf /tmp/distcc; make install rm -rf /var/tmp/tmp/distcc; make install DESTDIR=/var/tmp rm -rf /var/tmp/tmp/distcc; make install DESTDIR=/var/tmp/ and verified that files ended up where expected, and the pump script looked like expected (with pump's sibling files living in /tmp/distcc/...). Reviewed by fergus 2008-06-03 23:06 Craig Silverstein * Makefile.in, configure.ac: Fix up the list of zeroconf files needed to actually compile distcc and distccd. Tested by installing avahi and running 'make' plus 'make check'. Reviewed by klarlund 2008-06-03 21:00 Craig Silverstein * src/zeroconf.h: Fix up the top-of-file comments to look the same as for all the other files. 2008-06-03 20:58 Craig Silverstein * src/zeroconf-reg.c, src/zeroconf.c: Fix some extra comment specifiers that shouldn't have been there. 2008-06-03 12:30 Nils Klarlund * man/distcc.1, man/distccd.1, man/pump.1: Various edits: -- refer to pump(1) credits (and remove distcc(1) credits from pump(1) credentials) -- detail fundamental include server assumption -- clean up incl server discussion -- refer to include_server(1) for hairy stuff (this man page is to follow shortly in separate CL) -- discuss shell scripts instead of symlinks -- change date to June 2 2008 -- other minor edits 2008-06-03 05:43 Craig Silverstein * NEWS: Update the release date. 2008-06-03 05:32 Craig Silverstein * bench/ProjectDefs.py: Add some new benchmark routines (including C++ projects like yate and ACE), and normalize syntax for existing ones. I've tested that we can at least build all of these projects locally, as long as all neccesary dependent packages are installed. Reviewed by fergus 2008-06-03 03:45 Fergus Henderson * bench/Build.py, pump.in: Fix a bug in the pump script where it wasn't waiting for the include server to terminate before exiting. Reviewers: Nils Klarlund, Craig Silverstein 2008-06-03 00:32 Craig Silverstein * doc/web/faq.html, doc/web/index.html, doc/web/results.html, doc/web/scenarios.html, doc/web/security.html: Revamp the toc sidebar to organize the categories a bit better. Also added a benchmark line. 2008-06-03 00:32 Craig Silverstein * doc/web/benchmark.html: Add benchmark results, and a discussion of same. Reviewed by klarlund 2008-06-02 22:38 Fergus Henderson * src/clirpc.c: Fix spelling error and punctuation in warning message. Reviewers: Craig Silverstein 2008-06-02 19:35 Nils Klarlund * include_server/basics.py, include_server/cache_basics.py, include_server/include_server.py, pump.in: Fix option real_path_warning_re not working. I renamed the option to path_observation_re. Now by prefixing INCLUDE_SERVER_ARGS='-d1 --path_observation_re="/usr/.*"' to say make include-server-maintainer-check, one gets a message each time the include server finds a path whose realpath name matches the regular expression. That results in messages like: WARNING include server: For translation unit 'src/testtmp.c', lookup of file 'bits/stdio_lim.h' resolved to '/usr/include/bits/stdio_lim.h' whose realpath is '/usr/include/bits/stdio_lim.h'. To make the interpretation of quoted arguments within INCLUDE_SERVER_ARGS correct, I added 'eval' to the command that cranks up the include server. I remembered to put extra quoted quotes inside the parameters that should be considered a token after the double interpretation that eval implies. 2008-05-31 00:38 Nils Klarlund * test/comfychair.py, test/testdistcc.py: Tidy-up testing framework to overcome recently introduced bug. Testing on cygwine revealed that as tests were being issued the temporary testing directory would suffer from longer and longer prefixes until a 'filename too long' error would stop the party. This is result of an earlier attempt to avoid too much printing to stdout during tests, spefically during recursive test invocations. The problem is that the teardown mechanism of the comfychair enviroment is not expressed -- by any name at all (it could be 'teardown' for example). So, I added a name --- but because there's no expectation that the TestCase class defined there has its teardown method called from derived classes --- I chose the name CleanUps, which corresponds to the private variable. I also made an abstraction for running a test. This new Comfychair.runtest function can the conveniently by called to carry out a subtest. With this CL, 'make pump-maintainer-check' now works on cygwin. 2008-05-30 22:57 Craig Silverstein * AUTHORS, INSTALL, README, README.pump, configure.ac, doc/example/init, doc/web/compared.html, doc/web/compilers.html, doc/web/faq.html, doc/web/favicon.ico, doc/web/index.html, doc/web/results.html, doc/web/scenarios.html, doc/web/security.html, man/distcc.1, man/distccd.1, man/distccmon-text.1, man/pump.1: Documentation fixes: 1) Replace http://distcc.samba.org with the new google code location 2) Add favicon.ico from the distcc.samba.org site 3) Use distcc@lists.samba.org as the only distcc mailing list (there were at least three mailing lists scattered around the docs, some of which don't even exist anymore!) 4) Update man pages and other docs to not use "distcc-pump" anywhere; it's now "pump mode" or "distcc's pump mode", or "distcc-pump mode". I also add, to the README, some discussion of scaling to hundreds of machines. Reviewed by fergus and klarlund 2008-05-30 07:46 Fergus Henderson * Makefile.in, packaging/RedHat/rpm.spec: Fix a bug where the "pump" man page was not included in the RPM and Debian packages. Also, fix a bug where the Makefile rules for building HTML files were not working when srcdir != builddir. Tested by "make install-deb; man pump". Reviewers: Craig Silverstein 2008-05-29 21:44 Nils Klarlund * bench/Build.py: Add include server option '--unsafe_absolute_includes' to all benchmarks in pump mode. This is harmless I think, and it's easy to forget this option. It is of importance to at least Samba-2.2.7. 2008-05-29 18:51 Nils Klarlund * bench/benchmark.py, bench/compiler.py: Tigthen how compilers are located. This overcomes issues on Cygwin. I also changed default C++ compiler to 'c++' instead of 'cxx'. 'c++' is the more common name I believe. Witht this change, both compilers must exist for benchmark.py to run. REVIEW: Craig Silverstein 2008-05-29 18:51 Nils Klarlund * bench/Build.py, bench/Summary.py, bench/statistics.py: Enhance performance reporting for benchmarking. This CL adds reporting of: - number of processors - total cpu time - cpu utilization - include server cpu time I corrected issues with overly loose specification of compiler locations. (I developed this CL under Cygwin and encountered new problems.) This resulted in evil recursive invocations of distcc. I also: -- removed an unnecessary parameter from Build(..) -- pruned the number of decimals reported from 4 to 1. -- removed the dependency of 'Numeric', which is a non-standard package and rewrote the math do to std deviation -- use shell built-in 'time' instead of Python time functionality -- corrected deficient error reporting: builds would fail with non-zero status and not be reported as failing. REVIEW: Craig Silverstein TESTS: DISTCC_HOSTS="--randomize `/home/klarlund/svn-distcc/distcc/lsdistcc -P1 -k100 -d`" PATH=`pwd`:$PATH bench/benchmark.py --cc='/usr/crosstool/v10/gcc-4.2.1-glibc-2.3.2/x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu-gcc' -n 1 -c 'pump,h40,j120' -c 'dist,h40,j32' linux-2.6.25 Part of the printout for hello-2.1.1: Local number of CPUs: 4 Linux klarlund-warp.nyc.corp.google.com 2.6.18.5-gg34workstation-mixed64-32 #1 SMP Thu May 8 01:31:23 UTC 2008 x86_64 GNU/Linux project compiler time s.d. CPU time CPU util incl serv hello-2.1.1 pump_h39_j120 0.9s 0.0s 0.5s 13.5% 0.2s hello-2.1.1 dist_h39_j32 0.4s 0.1s 0.3s 18.1% (For this small program, pump is a disadvantage.) 2008-05-29 05:38 Craig Silverstein * bench/Build.py, bench/Project.py, bench/actions.py, bench/benchmark.py, bench/compiler.py: Some changes to the benchmark framework to not redo work unnecessarily. Most prominently, no longer re-run 'tar xf && configure' every benchmark run. Instead, if configure was successfully executed last benchmark run, just do 'make clean'. This is equivalent to what we do now between build runs, when the repeat-count is > 1. This feature is not turned on by default, but must be enabled with the new --force=0 flag. --force=1 keeps the same behavior as before: we always re-run configure in each build-directory. --force=2 adds more repeat-work than before; in --force=2 mode, we always re-download the package from the web, even if we had successfully downloaded it before. Note that the 'tar' command currently warms the file-cache, which makes build times more consistent, so there is so cost to setting --force=0, in terms of the data collected. Reviewed by klarlund 2008-05-29 02:04 Nils Klarlund * bench/Build.py, bench/Project.py, bench/ProjectDefs.py: Add include server args to benchmarking framework. This makes the linux kernel build with pump-mode when the benchmark script is used. Also, include the '-t' option to the include server; that prints out the elapsed and CPU times at the end of the build. REVIEW: Craig Silverstein TESTS: (on quad-cpu workstation) DISTCC_HOSTS="--randomize `/home/klarlund/svn-distcc/distcc/lsdistcc -P1 -k100 -d`" PATH=`pwd`:$PATH bench/benchmark.py --cc='/usr/crosstool/v10/gcc-4.2.1-glibc-2.3.2/x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu-gcc' --cxx='void' -n 5 -c 'pump,h40,j120' -c 'dist,h40,j32' linux-2.6.25 project compiler time s.d. linux-2.6.25 pump_h39_j120 69.6525s 3.0969s linux-2.6.25 dist_h39_j32 103.8416s 10.8041s 2008-05-29 01:57 Nils Klarlund * pump.in: Add critique of pump-mode when include server shuts down. Print a message like: __________Warning: 1 pump-mode compilation(s) failed on server, but succeeded locally. when compile discrepancies have occurred. Currently, a user may think that all is well because we do not terminate a build when discrepancies occur and the warning messages occurring in the middle of a build may easily be overlooked. REVIEW: Craig Silverstein TESTS: make linux-kernel without stat reset triggers to observe message 2008-05-29 01:46 Craig Silverstein * src/dotd.c, src/dotd.h, src/emaillog.c, src/emaillog.h: Fix some of the written-on dates for some google patches. Pointed out by fergus. 2008-05-28 13:12 Nils Klarlund * pump.in: Fix unproctected invocation of distcc and numeric designation of one with a plural noun. I discovered this bug by deleting /usr/bin/distcc. I did that after I found out that the Linux kernel compilation is suffering from a similar issue (amongst others), because the PATH is apparently rewritten. 2008-05-28 02:32 Nils Klarlund * include_server/cache_basics.py, include_server/parse_command.py: Remove spurious warning messages about absolute filepaths. During compilation of the Linux kernel messages like: absolute filepath blabla.h was IGNORED (correctness of build may be affected) are issued. They are wrong. The problem is that -include or -imacro or even source file names with absolute filepaths trigger a complaint from the caching mechanism usually used for relative file names. We correct this problem. We also substitute fp_map for includepath_map, which is the now preferred term. REVIEWER: Craig Silverstein TESTS: make pump-maintainer-check make include-server-maintainer-check 2008-05-28 02:19 Nils Klarlund * src/compile.c: Fix race condition that may prevent the warning message that pump-mode is no longer used from being displayed. This is the current crop of error messages. A couple of them *really* should be suppressed, but not the last one, which the CL is about. distcc[4333] ERROR: compile arch/x86/kernel/syscall_64.c on distcc4.nyc.corp.google.com,lzo,cpp failed distcc[4333] (dcc_build_somewhere) Warning: remote compilation of 'arch/x86/kernel/syscall_64.c' failed, retrying locally distcc[4333] Warning: failed to distribute arch/x86/kernel/syscall_64.c to distcc4.nyc.corp.google.com,lzo,cpp, running locally instead distcc[4333] (dcc_please_send_email_after_investigation) Warning: remote compilation of 'arch/x86/kernel/syscall_64.c' failed, retried locally and got a different result. distcc[4333] (dcc_please_send_email_after_investigation) Warning: file 'include/asm/asm-offsets.h', a dependency of arch/x86/kernel/syscall_64.c, changed during the build distcc[4333] (dcc_note_discrepancy) Warning: now using plain distcc, possibly due to inconsistent file system changes during build The last message may not occur: the code contains a race condition, because more processes may increment the unary file, after it has reached the size of max_discrepancies_before_demotion, preventing the equality from ever becoming true. 2008-05-27 20:33 Nils Klarlund * include_server/include_analyzer.py, include_server/include_analyzer_memoizing_node.py, include_server/include_analyzer_memoizing_node_test.py, include_server/include_analyzer_test.py, include_server/parse_command.py, include_server/parse_command_test.py: Make the Linux 2.6 kernel build with distcc-pump mode. Add a new piece of command line parse information: send_systemdirs. This boolean is normally false. It is true if there is a -isystem option with a default system directory (one known to the compiler). With send_systemdirs true, the compiler headers of system headers are sent to the servers and mounted under the server root. The isystem option is as usual rewritten to be relative to the root. Without this flag setting, distcc quickly decides that pump mode is not viable because remote compilations fail. Also, fixed the comment: # TODO(klarlund): Make mechanism for handling -U, -undef options, along with # default symbols. (-D options are handled.) --------------- TESTS: make pump-maintainer-check make include-server-maintainer-check make 'linux kernel' in a directory made by the benchmark script (as shown below) DISTCC_EMAILLOG_WHOM_TO_BLAME=Nils Klarlund DISTCC_ENABLE_DISCREPANCY_EMAIL=1 INCLUDE_SERVER_ARGS='-d1 -t --email --unsafe_absolute_includes --send_systemdirs --stat_reset_triggers=include/linux/*' DISTCC_HOSTS="--randomize `/home/klarlund/svn-distcc/distcc/lsdistcc -P3 -k100 -d`" PATH=/home/klarlund/svn-distcc/distcc:$PATH ./masquerade pump make -j120 REVIVIEWER: Craig Silverstein TRIVIA: the about 1000 files in the kernel build involve on average 400 headers. The build time on a quad-cpu machine drops from about 1m40 s to 1m20s. With pump-mode, the machine is underutilized judging from the total sys + user time, which is around only 2m20s. NOTE: this is a successor to 'g6n8', which simply introduced a command line option to force sending of system files. A bug in gvn did not allow me to resuse that change list. 2008-05-23 22:24 Craig Silverstein * bench/Build.py, bench/Project.py, bench/Summary.py, bench/actions.py, bench/benchmark.py, bench/buildutil.py, bench/compiler.py, bench/statistics.py, include_server/basics.py, include_server/basics_test.py, include_server/c_extensions_test.py, include_server/cache_basics.py, include_server/compiler_defaults.py, include_server/compress_files.py, include_server/include_analyzer.py, include_server/include_analyzer_memoizing_node.py, include_server/include_analyzer_memoizing_node_test.py, include_server/include_analyzer_test.py, include_server/include_server.py, include_server/include_server_test.py, include_server/macro_eval.py, include_server/macro_eval_test.py, include_server/mirror_path.py, include_server/mirror_path_test.py, include_server/parse_command.py, include_server/parse_command_test.py, include_server/parse_file.py, include_server/parse_file_test.py, include_server/run.py, include_server/setup.py, include_server/statistics.py, src/access.c, src/access.h, src/arg.c, src/argutil.c, src/backoff.c, src/bulk.c, src/bulk.h, src/cleanup.c, src/climasq.c, src/clinet.c, src/clinet.h, src/clirpc.c, src/compile.c, src/compile.h, src/compress.c, src/cpp.c, src/daemon.c, src/daemon.h, src/distcc.c, src/distcc.h, src/dopt.c, src/dopt.h, src/dotd.c, src/dotd.h, src/dparent.c, src/dsignal.c, src/emaillog.c, src/emaillog.h, src/exec.c, src/exec.h, src/exitcode.h, src/filename.c, src/fix_debug_info.c, src/fix_debug_info.h, src/gcc-id.c, src/h_argvtostr.c, src/h_compile.c, src/h_dotd.c, src/h_exten.c, src/h_hosts.c, src/h_issource.c, src/h_parsemask.c, src/h_sa2str.c, src/h_scanargs.c, src/h_strip.c, src/help.c, src/history.c, src/hostfile.c, src/hosts.c, src/hosts.h, src/implicit.c, src/implicit.h, src/include_server_if.c, src/include_server_if.h, src/io.c, src/loadfile.c, src/lock.c, src/lock.h, src/lsdistcc.c, src/mon-gnome.c, src/mon-notify.c, src/mon-text.c, src/mon.c, src/mon.h, src/ncpus.c, src/netutil.c, src/netutil.h, src/prefork.c, src/pump.c, src/remote.c, src/renderer.c, src/renderer.h, src/rpc.c, src/rpc.h, src/rslave.c, src/rslave.h, src/safeguard.c, src/sendfile.c, src/serve.c, src/setuid.c, src/snprintf.h, src/srvnet.c, src/srvnet.h, src/srvrpc.c, src/ssh.c, src/state.c, src/state.h, src/stats.c, src/stats.h, src/stringmap.c, src/stringmap.h, src/strip.c, src/tempfile.c, src/timefile.c, src/timefile.h, src/timeval.c, src/timeval.h, src/trace.c, src/trace.h, src/traceenv.c, src/types.h, src/util.c, src/util.h, src/where.c, src/where.h, src/zeroconf-reg.c, src/zeroconf.c, src/zeroconf.h, test/comfychair.py, test/testdistcc.py: Normalize the copyright text, to the latest version of the GPLv2 text (typically the only change is in the FSF street address). Add Google copyright line in some places it was missing. Add GPLv2 notice to avahi patches. OKed by fergus 2008-05-23 20:43 Craig Silverstein * packaging/RedHat/rpm.spec: Update install-message wording. Reviewed by fergus 2008-05-23 07:33 Craig Silverstein * configure.ac: Update copyright and GPL notice. 2008-05-23 07:29 Craig Silverstein * pump.in, test/onetest.py: Fix author lines. Also, add gpl text. OKed by fergus and klarlund 2008-05-23 06:30 Fergus Henderson * packaging/RedHat/conf/clients.allow, packaging/RedHat/rpm.spec: Do not include 127.0.0.1 in clients.allow by default, because it is a security risk: it may allow other users on the machine to execute arbitrary code as the distcc user. Instead, leave clients.allow empty by default, and require the system admistrator to edit clients.allow manually, if they want to use distcc in TCP mode. We still install distccd as a service, but distccd will exit immediately unless you've already added some hosts to clients.allow. Reviewers: Craig Silverstein 2008-05-23 03:19 Fergus Henderson * include_server/include_analyzer_memoizing_node.py: Fix a typo in a comment. 2008-05-23 03:18 Fergus Henderson * src/dopt.c: Fix a bug: --wizard is supposed to imply --log-level debug, but this wasn't working, because the code that handles --wizard wasn't setting opt_log_level_num. Reviewers: Craig Silverstein 2008-05-23 03:12 Nils Klarlund * include_server/include_analyzer.py, include_server/mirror_path.py: Fix unsoundess of directory replication. Testing of distcc-pump mode on the Linux kernel showed that the computed include closure was sometimes wrong: header files were missing. Further testing showed that sometimes apparently not even the compilation unit made it across to the server or rather, the c-file in its real location would come across, but the path designating it would not. Take as an example: compilation unit is designated by the path ../bar/baz.c and the current directory is /foo but no files in /foo are in actuality referenced during include processing. Then the compilation server will get /PREFIX/bar/baz.h -- the image of the real file -- but /PREFIX/foo, the image of the current directory, will not even be created! So, this CL corrects an oversight in the way that the include processor explores files: although it does take into account the chasing of symbolic links, no provisions are in place to properly model '..' for climbing up directories. Specifically, to climb up a directory, it must exist! Usually, the directory in fact would exist on the server, because it would be replicated thanks to the header files it contains. But there is no guarentee. We solve this problem by forcing the creation of dummy .c files the first time a path is explored. Because paths are being investigated backwards (from the end), forcing results in extra files only at the "deep" levels. Since files are usually clustered together in directories, the addition of a dummy file per deep directory should be inconsequential for performance. TBD: integration level tests that this really work. I will either include that later or in a separate CL. Tested: make pump-maintainer-check build the Linux 2.6 kernel in true pump-mode (with extra patch, to be described separately that sends compiler system files to the server) [all files but a few towards the end suffer from absolute includes are preprocessed and compiled on the compile servers!] The command I used is: DISTCC_EMAILLOG_WHOM_TO_BLAME=Nils Klarlund DISTCC_ENABLE_DISCREPANCY_EMAIL=1 INCLUDE_SERVER_ARGS='-d1 -t --email --stat_reset_triggers=include/linux/compile.h' DISTCC_HOSTS="--randomize `/home/klarlund/svn-distcc/distcc/lsdistcc -P3 -k100 -d`" PATH=/home/klarlund/svn-distcc/distcc:$PATH ./masquerade pump make -j120 I had to delete /usr/bin/distcc for this work, because of the PATH acrobatics that the kernel makefiles apparently exercise. Otherwise, /usr/bin/distcc would sometimes get called. Reviewed: Fergus Henderson , Craig Silverstein 2008-05-23 03:03 Fergus Henderson * INSTALL: Some trivial style changes. 2008-05-23 02:35 Nils Klarlund * bench/Build.py, bench/benchmark.py, bench/compiler.py: Set-up masquerading for benchmarks. Follow the advice of the distcc man page for executing the benchmarks to not rely on CC and CXX variables by also routing naked calls of 'cc', 'gcc', etc to a 'farm' of tiny shell scripts. Also, provide a little wrapper script that does this for people who have to debug a benchmark build. This change is convenient for running the benchmark on the linux kernel, because building the kernel uses naked 'gcc' calls. Testing: Building the linux kernel. 2008-05-23 01:41 Fergus Henderson * Makefile.in: Fix a bug which broke the Debian and RPM distributions: the generated pump script was referring to DESTDIR. Files should be installed into DESTDIR, but they should never refer to DESTDIR, because it is only a temporary location used for constructing the RPM file; when the package is actually installed, the files will get put in e.g. /usr rather than DESTDIR/usr. Tested with "make install-deb && make daemon-installcheck". Reviewers: Nils Klarlund 2008-05-23 01:11 Manos Renieris * NEWS, README.pump, doc/protocol-3-impl.txt, doc/protocol-3.txt, man/distcc.1, man/pump.1: Minor documentation changes. 2008-05-22 19:06 Fergus Henderson * src/dotd.h, src/include_server_if.h: Remove "svn:executable" property (the "+x" permission bit) from header files. Reviewers: Manos Renieris 2008-05-22 05:36 Fergus Henderson * survey.txt: Direct survey response to distcc-survey@google.com rather than to Martin Pool. Reviewers: Craig Silverstein 2008-05-22 05:35 Fergus Henderson * INSTALL: A major overhaul of the INSTALL file. Describe pump mode better, and explain the effects of installing via RPM or Debian package. Also a bunch of other minor edits. Reviewers: Craig Silverstein 2008-05-22 04:51 Fergus Henderson * configure.ac: Bump version number to 3.0-prerelease3. Reviewers: Craig Silverstein 2008-05-22 04:49 Fergus Henderson * include_server/include_analyzer_test.py: Fix a test case that was failing on MacOS X. The test was implicitly assuming that /tmp == realpath(/tmp). But in MacOS X, /tmp is a symbolic link to /private/tmp. Reviewers: Craig Silverstein, Nils Klarlund 2008-05-22 04:40 Fergus Henderson * doc/web/index.html: Update the "60 second instructions" to use pump mode. I considered mentioning both regular mode and pump mode in the 60 second instructions, but 60 seconds doesn't really give you much time to describe the difference between the two, so I thought it was simpler to just go with pump mode. Reviewers: Craig Silverstein 2008-05-21 22:42 Fergus Henderson * test/testdistcc.py: Disable the Gdb_Case test in non-pump mode when using gcc versions that don't preserve the source directory in the preprocessed output. Reviewers: Nils Karlund, Craig Silverstein 2008-05-21 20:28 Nils Klarlund * src/clirpc.c: Make an obscure and common error message more informative. Currently, our users get the following error message when their workstation is not in the allowed domains as specified in the server configuration: distcc[20742] (dcc_readx) ERROR: unexpected eof on fd5 distcc[20742] (dcc_r_token_int) ERROR: read failed while waiting for token "DONE" With this change, a message explains some likely causes of the problem. 2008-05-21 16:37 Fergus Henderson * test/testdistcc.py: Disable some tests that were failing if you don't have a C++ compiler installed. Also, tidy up the output from the DotD_Case test: instead of DotD_Case TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK TempCompile_Case OK OK you now get just DotD_Case OK Also, fix a problem where ObjectiveCPlusPlus_Case test was on some systems being run even though the system didn't have Objective C++ installed. Reviewers: Nils Klarlund 2008-05-21 16:26 Nils Klarlund * include_server/basics.py, include_server/cache_basics.py, include_server/include_analyzer_test.py, include_server/include_server.py: Add '--unsafe_absolute_includes' option so that more can be compiled in pump-mode. An occurrence of say #include "/usr/include/acl.h" will normally force the include processor to abort (even when this include is platform-specific and #ifdef'ed away), because there are no guarantees that the file /usr/include/acl.h exists on the host. With this option, these includes will be ignored. A message like: WARNING include server: absolute filepath '/usr/include/acl.h' was IGNORED (correctness of build may be affected) will be printed. The normal message raised when this option is off, the default, has been modified. It now mentions the option. An include server manual page is to follow, which explains the consequences in detail of using this option. Testing: this makes the samba-2.2.7 benchmark build without hiccups using distcc pump. Without the change many compilations fail because the include server bails out and because another unrelated bug in the include server makes it later dish up with include closures that are too small. Revievers: Craig Silverstein , Fergus Henderson 2008-05-21 09:04 Fergus Henderson * Makefile.in, pump.in, src/include_server_if.c: Some usability improvements, in particular better diagnostics for common setup errors. In pump script: - If DISTCC_HOSTS is set, print out a message saying how many hosts there are (similar to the one that we already print if you instead set DISTCC_POTENTIAL_HOSTS) and how many of them have pump enabled. - Report an error if you run pump using a host list containing no hosts with ',cpp'. (Should this be a warning instead?) - Report an error if you run pump using an empty host list. (Should this be a warning instead?) In distcc client: - Improve the warning messages that you get if you run distcc using hosts with ",cpp" without running pump. 2008-05-21 06:13 Craig Silverstein * bench/Project.py, bench/ProjectDefs.py: Document the options that the Package constructor takes. Get rid of source_name, which isn't used anywhere. Also, add a few more benchmark projects. These are big(ish) and written in C++, to test distcc on C++ code. Reviewed by Nils Klarlund 2008-05-20 21:49 Craig Silverstein * bench/Build.py, bench/benchmark.py: In the benchmark code, make sure a directory exists before cd-ing into it. This is to handle projects like ACE, which require you to build from an entirely new directory. Also fix up an obsolete help-text sentence. Reviewed by Fergus Henderson 2008-05-20 20:23 Fergus Henderson * include_server/basics.py, include_server/compiler_defaults.py, include_server/parse_command.py, include_server/parse_command_test.py, test/testdistcc.py: Re-enable Objective C and Objective C++ support. This required the following changes: - Compute the default search paths for each language lazily, when the language is first encountered, rather than computing it for 'c' and 'c++'. - Make the tests of Objective C and Objective C++ conditional on the relevant compiler being installed. Tested by "make check" on two systems: - One with Objective C installed, but not Objective C++. - One with neither installed. I didn't test on a system with Objective C++ installed, because I didn't have one easily available. Reviewers: Craig Silverstein, Nils Klarlund. 2008-05-20 20:19 Fergus Henderson * test/testdistcc.py: Disable part of the DashWpMD_Case test, because it doesn't pass :-( Tested with "make check"; fails before this CL, passes afterwards. Reviewers: Nils Klarlund, Craig Silverstein. 2008-05-20 18:16 Craig Silverstein * src/access.c, src/access.h, src/arg.c, src/backoff.c, src/bulk.c, src/bulk.h, src/cleanup.c, src/climasq.c, src/clinet.c, src/clinet.h, src/clirpc.c, src/compile.c, src/compile.h, src/compress.c, src/cpp.c, src/daemon.c, src/daemon.h, src/distcc.c, src/distcc.h, src/dopt.c, src/dopt.h, src/dotd.c, src/dotd.h, src/dparent.c, src/dsignal.c, src/emaillog.c, src/emaillog.h, src/exec.c, src/exec.h, src/exitcode.h, src/fix_debug_info.c, src/fix_debug_info.h, src/gcc-id.c, src/h_hosts.c, src/h_parsemask.c, src/help.c, src/history.c, src/hostfile.c, src/hosts.c, src/hosts.h, src/implicit.c, src/implicit.h, src/include_server_if.c, src/include_server_if.h, src/io.c, src/loadfile.c, src/lock.c, src/lock.h, src/lsdistcc.c, src/mon-gnome.c, src/mon-notify.c, src/mon-text.c, src/mon.c, src/mon.h, src/ncpus.c, src/netutil.c, src/netutil.h, src/prefork.c, src/pump.c, src/remote.c, src/renderer.c, src/renderer.h, src/rpc.c, src/rpc.h, src/rslave.c, src/rslave.h, src/safeguard.c, src/sendfile.c, src/serve.c, src/setuid.c, src/snprintf.c, src/snprintf.h, src/srvnet.c, src/srvnet.h, src/srvrpc.c, src/ssh.c, src/state.c, src/state.h, src/stats.c, src/stats.h, src/stringmap.c, src/stringmap.h, src/strip.c, src/tempfile.c, src/timefile.c, src/timefile.h, src/timeval.c, src/timeval.h, src/trace.c, src/trace.h, src/traceenv.c, src/types.h, src/util.c, src/util.h, src/where.c, src/where.h, src/zeroconf-reg.c, src/zeroconf.c, src/zeroconf.h: Change C++-style // comments to /**/. Also, fix the emacs var-setting line: it was missing a semicolon before, which means the entire line was being ignored. No contentful change. Reviewed by Fergus Henderson 2008-05-20 06:13 Craig Silverstein * src/access.c, src/access.h, src/arg.c, src/argutil.c, src/backoff.c, src/bulk.c, src/bulk.h, src/climasq.c, src/clinet.c, src/clinet.h, src/clirpc.c, src/compile.c, src/compile.h, src/compress.c, src/cpp.c, src/daemon.c, src/daemon.h, src/distcc.c, src/distcc.h, src/dopt.c, src/dopt.h, src/dotd.c, src/dotd.h, src/dparent.c, src/dsignal.c, src/emaillog.c, src/emaillog.h, src/exec.c, src/exec.h, src/exitcode.h, src/filename.c, src/fix_debug_info.c, src/fix_debug_info.h, src/gcc-id.c, src/h_argvtostr.c, src/h_compile.c, src/h_dotd.c, src/h_exten.c, src/h_hosts.c, src/h_issource.c, src/h_parsemask.c, src/h_sa2str.c, src/h_scanargs.c, src/h_strip.c, src/help.c, src/history.c, src/hostfile.c, src/hosts.c, src/hosts.h, src/implicit.c, src/implicit.h, src/include_server_if.c, src/include_server_if.h, src/io.c, src/loadfile.c, src/lock.c, src/lock.h, src/lsdistcc.c, src/mon-gnome.c, src/mon-notify.c, src/mon-text.c, src/mon.c, src/mon.h, src/ncpus.c, src/netutil.c, src/netutil.h, src/prefork.c, src/pump.c, src/remote.c, src/renderer.c, src/renderer.h, src/rpc.c, src/rpc.h, src/rslave.c, src/rslave.h, src/safeguard.c, src/sendfile.c, src/serve.c, src/setuid.c, src/snprintf.c, src/snprintf.h, src/srvnet.c, src/srvnet.h, src/srvrpc.c, src/ssh.c, src/state.c, src/state.h, src/stats.c, src/stats.h, src/stringmap.c, src/stringmap.h, src/strip.c, src/tempfile.c, src/timefile.c, src/timefile.h, src/timeval.c, src/timeval.h, src/trace.c, src/trace.h, src/traceenv.c, src/types.h, src/util.c, src/util.h, src/where.c, src/where.h, src/zeroconf-reg.c, src/zeroconf.c, src/zeroconf.h: Turned all tabs into 4 spaces. Got rid of whitespace at the end of lines. Fixed up resulting mis-indented code I noticed (mostly in files that used 8 space indents, or used 4-space and 8-space indents in the same file (!)). Added the emacs tab-var setting for all files, not just some of them. I also added in copyright notices for files I noticed that didn't have them. We'll want to do another pass-through to fix these up properly, though. I used the following perl snippet to check for mis-indented code after converting tabs to whitespace: $ for i in *.{c,h}; do echo $i; perl -nle 'if ($indent > 0) {$sp=" " x $indent; /^$sp[^ ]/ && print "$.: $_"; $indent=0;}; if (/^( *).*{/ ) {$indent=length($1);} else {$indent=0;}' $i; done | less It had false positives, but hopefully didn't miss anything. Reviewed by Nils Klarlund 2008-05-20 05:58 Craig Silverstein * bench/benchmark.py: Add --output to benchmark.py, to print the final timing summary to a file in addition to stdout. Also made sure we don't try to access opt_cc and opt_cxx until after all flags are read, so flag order doesn't matter. Finally, fixed indentation so we only print the default actions when --help is specified (as intended). Tested by running make benchmark. Reviewed by Nils Klarlund 2008-05-20 03:32 Nils Klarlund * src/emaillog.c: Fix polarity of condition. Reviewers: Fergus Henderson Tests: manual (both with and without DISTCC_EMAILLOG_WHOM_TO_BLAME set). 2008-05-20 03:31 Nils Klarlund * bench/benchmark.py: Corrent option name. The option is said to be 'distcc', but it's actually implemented as 'dist'. The latter is fine with me: we have 'dist' and 'pump', with 'pump' being a more advanced 'dist'. 2008-05-20 03:31 Nils Klarlund * test/testdistcc.py: Improve assert message. Revievers: Fergus Henderson 2008-05-19 10:00 Fergus Henderson * bench/compiler.py, test/testdistcc.py: Add 'DashWpMD_Case' to the list of test cases that actually get run. Also, an unrelated change to the benchmarking scripts: fix a cut-and-paste error in an error message. Reviewers: Craig Silverstein 2008-05-19 09:58 Fergus Henderson * src/arg.c: Whitespace change: make indentation more consistent. 2008-05-18 06:06 Fergus Henderson * src/arg.c, src/argutil.c, src/compile.c, src/distcc.c, src/dotd.c, src/implicit.c, src/strip.c: Fix bugs in my previous change to handle "-Wp," options: arguments to str_startswith() were in the wrong order, and in one place I had wrongly passed 'argv' instead of 'new_argv'. Move the call to dcc_expand_preprocessor_options() from dcc_get_dotd_info() to gcc_build_somewhere(), so that it is pretty much the first thing done to argv. Not sure if this is really needed, but it seems like a good idea. Fix various memory management problems, including some introduced by moving the call to dcc_expand_preprocessor_options(). One problem was that dcc_find_compiler() was producing a result that was sometimes allocated with malloc() and sometimes not, so the caller couldn't safely deallocate it. I changed dcc_find_compiler to always return a dynamically allocated result. Fix some places where return values were being ignored. Also fix one place where distcc was inconsistenly calling exit() rather than returning a return code. Like my previous change, this one is necessary, but perhaps not sufficient, for building the Linux kernel with distcc-pump. Tested by "make valgrind-check", and by building and installing the debian package and the building Linux 2.6.25 in pump mode using the benchmark.py script. Reviewers 2008-05-18 06:03 Fergus Henderson * packaging/RedHat/init.d/distcc: Fix a bug where "/etc/init.d/distcc stop" was not working when you had installed a new distcc. It wasn't working properly because the call to "start-stop-daemon --stop" used the "--exec /usr/bin/distccd" option, and (perhaps due to a bug in start-stop-daemon?) that option checks /proc//exe against /usr/bin/distccd by comparing inode numbers. Comparing inode numbers doesn't work, because when we install a new distccd, we create a fresh file with a new inode number, so the inode number used by running processes won't match the inode number of /usr/bin/distccd on disk after you've installed a new version. The fix was to remove the "--exec /usr/bin/distccd" option from the call to start-stop-daemon. We're already passing "--name distccd", which is sufficient to indentify the running distccd processes. Reviewers: Craig Silverstein 2008-05-17 16:24 Fergus Henderson * src/compile.c, src/compile.h, src/h_compile.c, test/testdistcc.py: Fix a typo: s/ddc_/dcc_/ Reviewers: Craig Silverstein 2008-05-17 15:18 Nils Klarlund * include_server/basics.py, include_server/include_server.py: Tune gc for 25% speed-up of include processor. Set first parameter of gc.set_threshold to 10000 instead of default 700. See comments in program text. Notes ----- I used a little script to find the include server timings as a function of this parameter. This script executes: "DISTCC_PUMP_INSTALLATION=/tmp/distcc3.0 INCLUDE_SERVER_ARGS='-t --gc_threshold=700' \ /usr/bin/time -p make-dbg -j120 -r -experimental-ld -g0 gws:gws" with various values of gc_threshold. The measurement were done on a four processor system (dual Opterons), loaded with an nxserver process. Files were served through Fuse. gc include server user + sys time setting 700 155.1s 154.0s 164.7s 186.1s 154.3s Mean: 162.8 10000 123.8s 125.4s 120.6s 120.4s 121.0s Mean: 122.2 100000 123.4s 123.3s 122.2s 123.3s 116.5s Mean: 121.7 700 166.5s 156.4s 150.8s 153.4s 155.4s Mean: 156.5 10000 120.7s 142.1s 118.3s 117.7s 119.2s Mean: 123.6 100000 140.3s 117.1s 149.7s 116.7s 141.6s Mean: 123.6 The corresponding elapsed times: 371.0s 363.3s 361.9s 370.8s 369.0s Mean: 367.2 341.8s 346.1s 336.3s 338.3s 340.5s Mean: 340.6 345.9s 338.5s 342.9s 374.4s 340.0s Mean: 348.3 377.4s 379.9s 387.1s 377.4s 373.2s Mean: 379.0 332.1s 337.7s 336.5s 332.2s 314.7s Mean: 330.6 341.1s 334.6s 357.8s 338.5s 352.4s Mean: 344.9 Note that the saving in include server time is around 35s, but the savings in elapsed time is around 44s. These numbers are uncertain. Even so, they strongly indicate that the include server is a signifcant bottleneck. BTW, for comparison with plain distcc: 821.4s 822.0s 842.4s 821.5s 852.0s Mean: 831.9 878.7s 857.2s 860.3s 880.1s 856.0s Mean: 866.5 Thus, pump-mode 2.5X is faster than plain distcc (with the set_threshold = 10000 of this CL). Revievers: Fergus Henderson , Craig Silverstein 2008-05-16 23:12 Craig Silverstein * src/exec.c: There's cygwin-specific code in exec.c, but it seems to assume that when running under cygwin, we'll be using a native windows app to compile. But sometimes we're using a cygwin app (eg /bin/gcc). Trying to use native-windows forking routines with cygwin apps causes a segfault (and takes a while to do it); we need to use unix forking routines there. With this change, when we're asked to spawn a sub-process, we try to guess whether the sup-process app is windows or cygwin, based on its path location (this benefits from using absolute paths): /bin/gcc vs C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe or even C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe If we decide it's a windows app but are wrong, then the windows-forking code should eventually fail with "file not found"; in that case, we fall through to the normal unix-fork case, to give cygwin a chance to find the binary. I also took the opportunity to clean up some of the code (handles should be initialized to ILLEGAL_HANDLE values, not NULL). I also replaced the crazy permissions the code was asking for before, with normal GENERIC_READ/GENERIC_WRITE. This allows the code to work when the tmpdir is c:\windows, which was failing before. Tested on cygwin using /bin/gcc as the compiler, like so: ./distcc /bin/gcc -c testtmp.c -o testtmp.o where testtmp.c is a simple "hello world" program. I also tested by running 'make check'. With this change, 'make check' passes on cygwin! (Using gcc to do compilations.) Reviewed by Fergus Henderson 2008-05-16 22:00 Fergus Henderson * Makefile.in, src/compile.c: Two bug fixes: - Fix a bug where 'valgrind-check' was invoking 'pump-check', but 'pump-check' was disabling valgrind. - Fix an off-by-one error caught by valgrind. Tested by "make check" and "make valgrind-check". Reviewers: Craig Silverstein 2008-05-16 21:54 Fergus Henderson * src/arg.c, src/distcc.h, src/dotd.c, test/testdistcc.py: Handle '-Wp,-MD,' option. This is needed to build the Linux kernel. Reviewers: Craig Silverstein 2008-05-16 20:46 Fergus Henderson * bench/ProjectDefs.py: In the list of projects to benchmark: - comment out Linux 2.5.51, because it doesn't compile - add Linux 2.6.25. Reviewers: Nils Klarlund, Craig Silverstein 2008-05-16 20:44 Fergus Henderson * bench/actions.py: In the benchmarking script, don't remove the build directories by default, because the log files get stored in the build directories, and it's useful to have the log files around afterwards. Reviewers: Craig Silverstein 2008-05-16 18:08 Craig Silverstein * src/dotd.c: Comment the need to handle gcc's -Wp flag. Reviewed by Fergus Henderson 2008-05-16 01:15 Nils Klarlund * include_server/include_analyzer_test.py: Fix freak name collision on OSs that do not distinguish upper and lowercase in file names. The symbol 'TESTING' is potentially unevaluated according to the overapproximation semantics of the include server. So if this symbol is used in a file name and if 'TESTING' really means 'testing' according to the OS and if in fact 'testing' does exist as file, then there is trouble. Revievewers: Craig Silverstein Testing: make include-server-maintainer-check (on Linux) 2008-05-16 01:10 Nils Klarlund * pump.in: Fix: speed-up the include processor a few times by exporting PYTHONOPTIMIZE. This took a little while: fortunately, the tracing information is dependent on the PYTHONOPTIMIZE setting, so after a diff on the outputs of the gws example before and after, it finally dawned upon me what was wrong. Tested: manually on the gws example with 600 include directories. 2008-05-16 00:59 Nils Klarlund * Makefile.in: Fix removal of 'pump'. Review: Craig Silverstein 2008-05-16 00:52 Nils Klarlund * Makefile.in, pump.in: Fix variable that denotes the source location. (1) It was not documented. I rewrote the documentation for a couple of associated variables. (2) There was no default value. Now, the variable does not need to be set from 'make', so I've removed it from Makefile.in. And, I've made it into a standard shell lowercase variable. Reviewers: Fergus Henderson, Craig Silverstein Tests: (1) make distcheck (2) Running the pump script out of the build directory. 2008-05-15 21:45 Craig Silverstein * find_c_extension.sh, test/testdistcc.py: Modifications to the pump and test framework for cygwin. 1) find_c_extension looks for .dll files in addition to .so files. 2) Likewise, testdistcc.py has to check whether binary names might end in .exe. Usually that doesn't matter, but sometimes (eg when running cp on them), it does. 3) testdistcc.py adds a routine to detect PE binaries. These, like dwarf binaries, do not always give reproducible output on the same input, so take that into account in the gdb tests. 4) In the lsdistcc test, we assumed that when the ping failed, 127.0.0.2 isn't available. But it's also possible ping is just broken (or different) on that machine. So in the failed-ping case, we no longer make any assumption about 127.0.0.2, one way or the other. Tested by running 'make check' on cygwin. Most every test passes! Reviewed by Fergus Henderson 2008-05-15 20:11 Nils Klarlund * Makefile.in: Add 'pump' to 'all' target. Add 'rm pump' to 'clean' target. - 'pump' is a dependency of 'install'. - 'include_server' is a dependency of 'all. So I propose that 'pump' should be a dependency of 'all'. Reviewers: Fergus Henderson Test: make distcheck 2008-05-15 19:39 Craig Silverstein * Makefile.in, configure.ac, pump.in: Instead of a hack to figure out if pump is installed or not -- one that fails on macs with python 2.5 (at least) because of weirdnesses with distutils installation on that platform -- just rewrite pump at install-time to indicate it's installed. We take the opportunity to tell pump where the installed include_server.py is, because it needs to know, and we know that during 'make install'. Tested by running 'make distcheck' on linux (ubuntu) with python 2.4, and mac 10.5 with python 2.5. I also tested by running, on the linux machine, ./configure --prefix=/tmp/distcc.install && make install && make DISTCC_INSTALLATION=/tmp/distcc.install/bin installcheck Furthermore, I manually inspected the installed pump file after that to make sure it looked correct. Reviewed by Nils Klarlund and Fergus Henderson 2008-05-15 02:53 Craig Silverstein * include_server/compiler_defaults.py: Add a comment. From Nils Klarlund : "Assume that: (1) 'gcc' is a link to 'distcc' earlier on PATH than the real gcc. (2) gcc is invoked; in fact that invokes distcc, which will rewrite the PATH in src/climasq.c before invoking 'gcc' again. That will make calls by distcc such as 'gcc -E' for preprocessing work OK, but the include processor will in fact be calling the 'distcc' as 'gcc' again! But because the input argument is an I/O redirection, distcc will then correctly call 'gcc'. In args.c it fails to recognize an input file." 2008-05-15 02:40 Craig Silverstein * src/access.c, src/access.h, src/arg.c, src/backoff.c, src/bulk.c, src/bulk.h, src/cleanup.c, src/climasq.c, src/clinet.c, src/clinet.h, src/clirpc.c, src/compile.h, src/compress.c, src/cpp.c, src/daemon.c, src/daemon.h, src/distcc.c, src/distcc.h, src/dopt.c, src/dopt.h, src/dparent.c, src/dsignal.c, src/exec.h, src/exitcode.h, src/h_hosts.c, src/h_parsemask.c, src/help.c, src/history.c, src/hostfile.c, src/hosts.c, src/hosts.h, src/implicit.c, src/implicit.h, src/io.c, src/loadfile.c, src/lock.c, src/lock.h, src/mon-gnome.c, src/mon-notify.c, src/mon-text.c, src/mon.c, src/mon.h, src/ncpus.c, src/netutil.c, src/netutil.h, src/prefork.c, src/pump.c, src/remote.c, src/renderer.c, src/renderer.h, src/rpc.c, src/rpc.h, src/safeguard.c, src/sendfile.c, src/serve.c, src/setuid.c, src/srvnet.c, src/srvnet.h, src/srvrpc.c, src/ssh.c, src/state.c, src/state.h, src/stats.c, src/stats.h, src/strip.c, src/tempfile.c, src/timefile.c, src/timefile.h, src/traceenv.c, src/types.h, src/util.c, src/util.h, src/where.c, src/where.h: Add a consistent emacs-variable header to all source files. This affects the way emacs users will see these files, when visiting them in emacs. In particular, tabs will show up as 4 spaces, which is (clearly) the setting the original distcc author used when writing the code. We also set an emacs variable to never insert new tabs, but use spaces instead. This will help stop the problem we have now with mixed tabs and spaces. In a future cleanup, we may replace all tabs with 4 spaces, and make other whitespace improvements. The final new variable set, is to set line-wrapping at 78 chars. Personally, I would have made it more like 72, but some existing files already had the 78 limit, so I just do that everywhere, to be consistent. Reviewed by Fergus Henderson 2008-05-15 01:58 Craig Silverstein * test/testdistcc.py: The gdb tests was making two assumptions that the input was ELF, which was failing on OS X (Which uses Mach-O). One is that two identical link commands always produce the same output, which is not true for mach-o. The other is just a test of ELF-specific code, without an "iself" check. Now I check the object-file type and run the appropriate test, based on the type, in each case. Tested by running 'make check' on linux (ubuntu 6) and OS X (10.5). Reviewed by Fergus Henderson 2008-05-15 01:36 Craig Silverstein * include_server/compiler_defaults.py: When running gcc -v, we were clearing the environment too aggressively: in particular, we were clearing $PATH, which is needed to find gcc when it's in an unusual location. Now we clear everything but $PATH. Tested by running 'make include-server-maintainer-check' on solaris x86, which has gcc outside the standard path, and on linux (ubuntu), which does not. Reviewed by Fergus Henderson 2008-05-15 01:15 Craig Silverstein * src/tempfile.c: The tmpdir-creation routine has an (undocumented) invariant that the tmpdir should not end in a slash -- at least, inside distcc, you see code like this: snprintf("%s/%s", tmpdir, filename) On the other hand, windows's routine to create a tempdir guarantees it will end with a slash. I'm not sure it really matters, but get rid of the slash in that case. That way we don't have to worry about how filenames are interpreted (since // does have a special meaning for filenames in windows, though probably not in a way this code could generate before; still, no harm in normalizing to one slash). Tested by running 'make check' on cygwin. Reviewed by Fergus Henderson 2008-05-14 21:01 Craig Silverstein * test/comfychair.py: Replace an os.system calls ('rm -rf') with python (shutil.rmtree). This should improve portability. It seems to help on cygwin, for instance. I also got rid of anotehr os.system call that was redundant: it did a "mkdir -p foo" after the previous line had done a "mkdir -p foo/bar". Tested by running 'make check on linux (ubuntu) and cygwin. Reviewed by Fergus Henderson 2008-05-14 19:48 Craig Silverstein * Makefile.in: 1) Fix up a PATH= assignment that would fail if builddir had spaces in it (because the output of `cd "$builddir" && pwd` was not being quoted). As a bonus, make the PATH= fit on one line, which makes some shells happier. 2) Fixed up some install targets. On some systems, tar without -f reads from stdin, but that's non-standard (it should read from some tape-drive device in /dev in that case). Add -f- to $(TAR) in that case, which should work everywhere. 3) cp -a isn't supported on all systems. I checked what automake does, and it emits cp -pR, so that's what I do too. We don't have any internal symlinks that I need to worry about -P or anything like that. Tested by running 'make installcheck' on a freebsd 6.0 system. Reviewed by Fergus Henderson 2008-05-14 19:22 Craig Silverstein * include_server/include_server_test.py: Show more data when an assert fails, to help in debugging. Reviewed by Nils Klarlund and Fergus Henderson 2008-05-14 18:59 Craig Silverstein * m4/acx_pthread.m4: Update acx_pthread to the latest version we use internally. This is like the one on the cryp.to autoconf repository website, but with the avahi patches added in to deal with some compiler quirks. However, these patches have been rewritten internally within google to make them more robust. In particular, the new code now works with cygwin, which it previously didn't (resulting in the spurious error: "Unable to determine how to use pthreads with shared libraries"). Tested by running configure on cygwin. Reviewed by Nils Klarlund and Fergus Henderson 2008-05-14 14:26 Nils Klarlund * configure.ac, include_server/include_server_test.py: Make distcc 3.0 compatible with Python 2.5. Tests: I made PATH=$PATH:/usr/python/bin (where python2.5 resides on my machine). I ran autogen and reconfigured. Then I did: make include-server-maintainer-check make pump-maintainer-check and I made sure that -Is now are set according to Python2.5. 2008-05-14 08:03 Craig Silverstein * pump.in: Ick. On some systems test is in /bin, and in others /usr/bin. Now figure out where it is before running it, and fall back on the shell test if no binary can be found. Tested by running 'make check' on a FreeBSD machine (/bin/test) and linux (/usr/bin/test). Reviewed by Fergus Henderson 2008-05-14 07:28 Craig Silverstein * src/compile.c: getc returns an int, not a char. We're checking whether a char == EOF, which isn't kosher, and on systems where -funsigned-char is true, dangerous. Change the type of the var to an int. Tested by running on linux (ubuntu) and on linux ppc (debian), the latter of which complained at compile time. Reviewed by Fergus Henderson 2008-05-14 07:15 Fergus Henderson * packaging/RedHat/init.d/distcc: Fix problems where distcc's init script was using the wrong exit status and giving misleading messages as a result. Reviewers: Craig Silverstein 2008-05-14 07:14 Fergus Henderson * packaging/RedHat/conf/commands.allow.sh: Increase the set of commands allowed by default: allow cc, c++, c89, c99, and g++, in addition to gcc. Reviewers: Craig Silverstein 2008-05-14 02:27 Craig Silverstein * pump.in: Fix a test to work on solaris sh. Tested by running 'make check' on linux (ubuntu) and solaris 10 x86. Reviewed by Nils Klarlund and Fergus Henderson 2008-05-14 01:00 Nils Klarlund * include_server/basics.py, include_server/basics_test.py, include_server/include_server.py: Finish refactoring and add tests. Move _CleanOutClientRoot and _CleanOutOthers to the ClientRootKeeper package in basics. Replace _RemoveDirectoryTree with shutil function. Add tests to see that directories are created and deleted. Add a couple of title headers to basics.py. Remove a couple of now irrelevant comments. Tests: make pump-maintainer-check make include-server-maintainer-check Reviewer: Craig Silverstein 2008-05-14 00:42 Craig Silverstein * include_server/setup.py: Include snprintf.c in the source-list for the python extension. This is needed on systems that don't define asprintf/etc on their own. Tested by running 'make check' on a linux ubuntu machine and on a solaris machine. Reviewed by Fergus Henderson 2008-05-14 00:31 Craig Silverstein * Makefile.in, find_c_extension.sh, pump.in: A few more cleanups: 1) No ! outside of a 'test' (sh-compatibility). 2) grep >/dev/null instead of grep -q (solaris portability). 3) Improved the quote hygenie a little. 4) prepend to PYTHONPATH instead of overriding it. Tested by running on a solaris machine, and on a machine where PYTHONPATH is needed to locate the python distribution (which is not in the standard location). Reviewed by Fergus Henderson 2008-05-13 23:53 Craig Silverstein * test/testdistcc.py: On some systems (FreeBSD), it looks like connect() can return EINVAL. This isn't documented, but there's some talk about it on the web, eg http://mail-index.netbsd.org/netbsd-bugs/2003/08/18/0002.html It looks like the cause is that the first connect fails for whatever reason, and then subsequent ones fail with EINVAL. I've detected that in the NoDetachDaemon_Case, both on FreeBSD and OS X machines. The symptom is that sock.connect_ex(('127.0.0.1', self.server_port) continually returns EINVAL, and no amount of time will fix things. I'm not exactly sure why, but I figure one possible problem is the connect is happening before distccd has started listening, and that causes problems. So I put in a bit of a delay to give distccd time to start up. I figure it can't hurt, and may well help. Tested by running 'make check' on a ubuntu machine (not subject to this problem) and a freebsd machine (which sometimes is). It certainly didn't hurt, though I can't tell if it solved the problem for good. Reviewed by Fergus Henderson 2008-05-13 23:36 Craig Silverstein * include_server/setup.py: I found a machine whose python was compiled with _FORTIFY_SOURCE, which -- on linux FC5 at least -- gives warnings (which we turn into errors via -Werror) on distcc code for libc functions where we ignore the return value. Unfortunately, setup.py always uses the same flags that python was compiled with on the local machine, so _FORTIFY_SOURCE is always set when compiling distcc extensions via setup.py, and that compilation fails. Without getting into a philosophical debate about the merits of the warn-unused warnings, we'd rather the code compile, so I turn off _FORTIFY_SOURCE when it exists. Tested by running 'make check' on a goobuntu machine (no _FORTIFY_SOURCE) and an FC5 machine (with _FORTIFY_SOURCE). Reviewed by Fergus Henderson 2008-05-13 20:33 Nils Klarlund * src/compile.c: Fix buglet: insert (void) in call of strcpy to avoid gcc 4.1.1. making trouble. gcc 4.1.1 with glibc 2.2.2. insists that the return value must be used. That appears to be a bug in gcc. Reviewers: Fergus Henderson, Craig Silverstein. 2008-05-13 18:59 Craig Silverstein * test/testdistcc.py: Two changes to robustify the unittests: 1) Don't try to run the gdb tests on machines that don't have gdb installed. Likewise, don't try to run the implicit-cc test on a machine that doesn't have cc installed (it happens! Sometimes there's only gcc.) 2) Raise the file-descriptor limit if we can. Mac OS X likes to keep the limit at 256, but some of these tests need more. Tested by running 'make check' on linux and mac os x 10.5. On linux, I ran on both a machine with gdb installed, and one without. Reviewed by Nils Klarlund and Fergus Henderson 2008-05-13 18:40 Craig Silverstein * src/exec.c: We were logging a char* that could be NULL. With glibc, the printf would just print "(null)", but on solaris libc it would segfault. Explicitly test that case now. Tested by running 'make check' on linux and solaris x86. Reviewed by Nils Klarlund and Fergus Henderson 2008-05-13 17:49 Nils Klarlund * include_server/basics.py, include_server/basics_test.py, include_server/compress_files.py, include_server/include_analyzer.py, include_server/include_analyzer_memoizing_node.py, include_server/include_analyzer_memoizing_node_test.py, include_server/include_analyzer_test.py, include_server/include_server.py, include_server/include_server_test.py, include_server/parse_file_test.py: Clean-up the handling of directories for storing compressed files. The code was lacked encapsulation and proper object-orientation. (I wrote it -- it had started out much simpler.) For example, key parameteres were communicated through file name patterns expressed in file names on disk. These patterns were then inferred from reading file names. Now the patterns are properly abstracted away in a class. There should be no semantic changes. Testing: make include-server-maintainer-check make pump-maintainer-check DISTCC_CLIENT_TMP='/tmp' make pump-maintainer-check The latter test exercices the padding gymnastics. 2008-05-13 07:02 Craig Silverstein * pump.in: Rewrite 'pump' to remove bash-isms. This should now work with standard sh. This involved the following changes: 1) `cmd` instead of $(cmd). 2) [ -n "$VAR" ] instead of [ "$VAR" ] 3) "Here document" (< * test/testdistcc.py: printenv doesn't exist on all systems. 'env' does, and does the same thing as printenv when no arguments are given, so just use env instead of printenv. Tested by running 'make check' on a linux machine (which has both env and printenv). To be reviewed by Fergus Henderson 2008-05-13 05:28 Craig Silverstein * include_server/include_server.py: Be more informative on an assert. Reviewed by Fergus Henderson and Nils Klarlund 2008-05-13 01:49 Craig Silverstein * Makefile.in, configure.ac: In the non-included popt case, POPT_INCLUDES was the empty string, leading to a compile command that had -I"" in it. Who knows what that means? Now the -I is part of POPT_INCLUDES, so when it's absent we don't add anything to CPPFLAGS. Tested on a machine where POPT_INCLUDES is not empty and one where it is. Reviewed by Nils Klarlund 2008-05-12 23:53 Fergus Henderson * bench/benchmark.py: Fix a typo in my previous change: s/parse_opt_compiler/parse_compiler_opt/ 2008-05-12 23:07 Fergus Henderson * include_server/parse_command.py, test/testdistcc.py: Handle gcc's "-MF" option in the include server. This option only affects the name of the ".d" file, not the include closure, so the include server doesn't need to do anything for this option; the actual handling of this option in distcc is done by the distcc client, which already handles it correctly. This change just stops the include server from throwing an exception whenever '-MF' is encountered. Reviewers: Nils Klarlund 2008-05-12 23:02 Fergus Henderson * bench/benchmark.py, bench/compiler.py: Add new options '--cc' and '--cxx' for specifying the paths to use for the C and C++ compilers. Also, update the help message to document the new format for the --compiler option. Reviewers: Craig Silverstein 2008-05-12 20:18 Nils Klarlund * include_server/c_extensions/distcc_pump_c_extensions_module.c: Fix call of 'realpath' to work on FreeBSD. Also fix memory leak. Reviewer: Craig Silverstein, Fergus Henderson. Tests: make pump-maintainer-check make include-server-maintainer-check 2008-05-12 19:11 Fergus Henderson * bench/Build.py, bench/ProjectDefs.py, bench/Summary.py, bench/buildutil.py, bench/compiler.py, bench/statistics.py: Add support for pump mode to the benchmarking scripts. Also add support for setting the number of hosts to use. Fix division by zero error that occurred when running benchmark script with the "-a" option. Fix broken URL for GNU hello package. Reviewers: Craig Silverstein, Nils Klarlund 2008-05-12 18:32 Nils Klarlund * pump.in: Fix 'ps' invocation to be more FreeBSD friendly. Reviewers: Fergus Henderson, Craig Silverstein Tests: make pump-maintainer-check 2008-05-12 16:19 Nils Klarlund * include_server/include_analyzer_test.py: Fix include server test so that it passes on system w/o /dev/shm. Reviewers: Craig Silverstein, Fergus Henderson Tests: make include-server-maintainer-check 2008-05-12 16:15 Nils Klarlund * pump.in: Get rid of 'readlink -f', which is a Gnuism. The purpose of the readlink -f was to give the absolute path of the installation; that happens to reveal the installation date given the way we set up distcc-pump at Google. But this does not work under FreeBSD. The installation information can be communicated in different ways (for example by explicit actions of the build system). Reviewers: Fergus Henderson, Craig Silverstein 2008-05-11 19:06 Craig Silverstein * test/testdistcc.py: Annoyingly, different versions of gcc are inconsistent in how they treat a non-existent #include file when invoked with "-MMD": some versions treat it as an error (rc 1), some as a warning (rc 0). When distcc is responsible for preprocessing (_server_options includes 'cpp'), we need to figure out which our gcc does, in order to verify distcc is doing the same thing. Before this change, we just hard-coded in one sort of gcc behavior (that it always warns). This change actually tries gcc out to see which it does, to make sure distcc does the same. Tested by running 'make pump-maintainer-check' on both Linux gcc 4.0.3 (which warns) and FreeBSD gcc 3.4.4 (which errors). Reviewed by Fergus Henderson 2008-05-10 06:54 Craig Silverstein * src/sendfile.c: No matter what the reason, if we can't use sendfile() but it's still safe to fall back on readwrite(), do that. Before we only did this for certain errors, but we might as well do it for any error we don't expect to be able to recover from. Tested by running on mac os x 10.4, which has a problem with sendfile failing sometimes. The relevant test succeeds after this patch. Reviewed by Fergus Henderson 2008-05-10 00:58 Nils Klarlund * Makefile.in: Double-quote unprotected directory reference. Reviewers: csilvers Tests: make distcheck 2008-05-10 00:56 Nils Klarlund * Makefile.in: Cosmetic clean-up of Makefile.in. -- Put a @ in front of a comment shell command (it shouldn't be printed). It is the only comment in the action part of a build rule in the whole Makefile. In Emacs, this comment is flagged as a syntax issue. -- Group all .PHONYs at beginning of section. Tests: make distcheck Reviewers: fergus, csilvers 2008-05-09 23:19 Nils Klarlund * configure.ac, pump.in: Make the identification of Python 'binaries' more robust. Use the distutil function that generates the library name for locating the Python stuff in an installation. Reviewers: Fergus Henderson, Craig Silverstein Test: make distcheck 2008-05-09 23:17 Nils Klarlund * test/testdistcc.py: Speed-up integration/systems tests. 2008-05-09 21:02 Fergus Henderson * Makefile.in: Add "daemon-installcheck" target. This tests that the distcc daemon is running, and that it and distcc and the pump script have been installed correctly, by compiling a simple hello world program with distcc and distcc-pump. 2008-05-09 20:36 Craig Silverstein * src/lsdistcc.c: A whitespace-only change. Got rid of spaces at the end of lines, and also of tabs. Went through to normalize indents and so forth (some functions were using 4-space indents, and others were using 8-space indents, which were probably actually originally written as tabs on a system with 4-space tabs). diff -w shows no diffs; this is really whitespace-only. Tested by making sure the file still compiles. 2008-05-09 20:33 Craig Silverstein * src/lsdistcc.c: Modify lsdistcc to reduce the number of concurrent fd's it tries to open, when the system doesn't support a lot of concurrent fd's (which we see by default in freebsd). It uses getrlimit and setrlimit to get as many fd's as it can, and then stick to that number. I modified the main search loop to work in stages, where each stage uses at most maxfd's fd's. In the common -- almost universal -- case there will only need to be one stage, and the code will behave the same as before. In some limited environments, you might see multiple stages. You can reproduce this artificially via code like this: $ ulimit -SH -n 32 # in sh-like shells $ ./lsdistcc Tested by running manually on a configuration that gives 141 hosts. Tested both with many fd's available, and arbitrarily limited to 32 (via the ulimit command above). Reviewed by Nils Klarlund 2008-05-09 19:45 Fergus Henderson * packaging/RedHat/init.d/distcc: Fix a bug in my changes to add 'commands.allow.sh' that broke the Debian distribution. There was a spurious assignment to CMDLIST. CMDLIST used for the output of /etc/distcc/commands.allow.sh; it is supposed to be set to /var/state/distcc/commands.allow. But due to the spurious assignment, CMDLIST was being set to /etc/distcc/commands.allow.sh, causing the script to overwrite itself. Reviewers: Craig Silverstein 2008-05-09 19:24 Nils Klarlund * packaging/RedHat/rpm.spec: Fix so that include server record can be found. 2008-05-09 19:23 Fergus Henderson * src/stringmap.c: Fix what appears to be a bug in the handling of DISTCC_CMDLIST. The documentation is not very clear, but distccd was documented as matching against the last DISTCC_CMDLIST_NUMWORDS words of the command, where I think by words they meant directory components. For example, if the file refered to by DISTCC_CMDLIST contains the line "/usr/bin/i686-blah-blah/gcc", and DISTCC_CMDLIST_NUMWORDS=2, only commands which end in "/i686-blah-blah/gcc" would be matched. The bug is that a command "i686-blah-blah/gcc" should be considered to match. Likewise, if DISTCC_CMDLIST contains the line "/usr/bin/gcc", and DISTCC_CMDLIST_NUMWORDS is 1 (or not set), then plain "gcc" should be allowed to match. Reviewers: Dan Kegel, Craig Silverstein 2008-05-09 18:15 Nils Klarlund * Makefile.in, configure.ac, popt/system.h, src/access.c, src/arg.c, src/argutil.c, src/backoff.c, src/bulk.c, src/cleanup.c, src/climasq.c, src/clinet.c, src/clirpc.c, src/compile.c, src/compress.c, src/cpp.c, src/daemon.c, src/distcc.c, src/dopt.c, src/dparent.c, src/dsignal.c, src/exec.c, src/filename.c, src/fix_debug_info.c, src/gcc-id.c, src/h_argvtostr.c, src/h_compile.c, src/h_dotd.c, src/h_exten.c, src/h_hosts.c, src/h_issource.c, src/h_parsemask.c, src/h_sa2str.c, src/h_scanargs.c, src/h_strip.c, src/help.c, src/history.c, src/hostfile.c, src/hosts.c, src/implicit.c, src/io.c, src/loadfile.c, src/lock.c, src/mon-gnome.c, src/mon-notify.c, src/mon-text.c, src/mon.c, src/ncpus.c, src/netutil.c, src/prefork.c, src/pump.c, src/remote.c, src/renderer.c, src/rpc.c, src/safeguard.c, src/sendfile.c, src/serve.c, src/setuid.c, src/snprintf.c, src/srvnet.c, src/srvrpc.c, src/ssh.c, src/state.c, src/stats.c, src/strip.c, src/tempfile.c, src/timefile.c, src/trace.c, src/traceenv.c, src/util.c, src/where.c, src/zeroconf-reg.c, src/zeroconf.c: Make handling of config.h sound. (1) Correct order of -Is in Makefile. (2) remove unnessary PATH modification in configure.ac (this is fergus's suggestion -- hopefully this will do, this replaces a circumvention mechanism I had originally concocted. (3) Fix place of the include of popt in CPPFLAGS. (4) Convert quoted includes of config.h to angle bracket includes so that the build version, not the source version, of this file is picked up. The order of -Is in the build system is wrong: it contradicts the VPATH mechanism. This means that builds in a build directory different from that of the source (distribution) directory will find wrong files even after the hapless developer has issued only a 'configure' command in the source directory (but not actually 'made' any thing there). For in that case, the src/config.h will be generated in the source directory and this will be the file picked in the build directory even if that directory has it's own src/config.h. This can lead to wrong builds and it can be hard to diagnose the problem. Currently, this what CPPFLAGS end up being (as found in the generated Makefile): CPPFLAGS = -DHAVE_CONFIG_H -D_GNU_SOURCE \ -I../distcc/popt -I../distcc/src \ ${DIR_DEFS} \ -Isrc -Ilzo \ -I"$(srcdir)/src" -I"$(srcdir)/lzo" \ Here my source dir was ../distcc. The presence of '-I../distcc/popt' in front of -Isrc is the exact opposite of the semantics of VPATH mechanism, which looks for files in the build directory, then in the source directory. Also, note the remarks in: http://www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Headers (they do not quite correctly discuss the search path, btw). TESTING: I verified that with a corrupted config.h file in the source directory, building now succeeds. Also: make distcheck (it fails the same place as before: this is corrected in another change of mine --- I'll verify that with that change in place, this change makes 'make distcheck' succeed.) REVIEWERS: Fergus Henderson, Craig Silverstein 2008-05-09 18:00 Nils Klarlund * Makefile.in, find_c_extension.sh, include_server/setup.py, pump.in: Rewrite setup.py and associated logic to fix multiple build problems. The recent distcheck revealed that paths were set incorrectly for the setup.py script. Also, as I dug deeper, it turned out that built files were placed in the src directory (thanks to os.path.join I found in the distutil's source code, that trips up the location if relative paths contains too many '..'s.). [The distccheck revealed this!] I didn't like either that setup was run in the source directory and not from the build directory (that's asking for trouble). I did't like either that the search path, the list of includes, in setup.py was handcoded and not simply that of CPPFLAGS. Finally, I was confused by _builddir being another build directory under $(buildir). I renamed the former _include_server to better explain its role. So, I rewrote most of setup.py (correcting some of the documentation strings along the way). Also, I partly removed the 'jumping through the hoops' gymnastics from the Makefile. TESTING: 'make distcheck' REVIEWERS: csilvers, fergus 2008-05-08 23:18 Fergus Henderson * doc/web/compared.html, doc/web/compilers.html, doc/web/faq.html, doc/web/security.html: Update web pages to correct statements that are no longer accurate for distcc 3.0. Reviewers: Craig Silverstein 2008-05-08 19:41 Fergus Henderson * doc/example/README, doc/example/default, doc/example/hosts.allow, doc/example/logrotate, doc/example/services, doc/example/xinetd, packaging/RedHat/logrotate.d/distcc, packaging/RedHat/rpm.spec: Revise the doc/example directory: - Add README file to the doc/example directory. - Add files in doc/example for every system configuration file installed or modified by the RPM installation script (rpm.spec). - Update some comments in rpm.spec. - Some whitespace changes to doc/example/logrotate and packaging/RedHat/logrotate.d/distcc to make those two files match. - Copy warning from packaging/RedHat/xinetd.d/distcc to doc/examples/xinetd. Reviewers: Craig Silverstein 2008-05-08 16:33 Nils Klarlund * include_server/basics.py: Make this file mostly conformant with gpylint. There should be no semantic consequences. TESTS: make distcheck REVIEWER: Fergus Henderson 2008-05-07 23:50 Craig Silverstein * NEWS, doc/web/compared.html, doc/web/compilers.html, doc/web/faq.html, doc/web/index.html, doc/web/results.html, doc/web/scenarios.html, doc/web/security.html: Change NEWS links to point to the actual NEWS file, rather than the svn history-log for the NEWS file. Also changed the NEWS file itself to use ^L instead of a ^ + L, for the top instance. 2008-05-07 23:03 Fergus Henderson * man/pump.1: Add a man page for the "pump" script. The contents are similar to the output of "pump --help", but with a bit more mark-up, and with additional sections "INVOKING LSDISTCC", "BUGS", "AUTHORS", "LICENSE", and "SEE ALSO". Reviewers: Craig Silverstein, Nils Klarlund. 2008-05-07 18:54 Craig Silverstein * test/testdistcc.py: The DaemonBadPort test case was not passing in --allow, which is a new flag required by distcc 3 (all other tests had been modified to add it). We never noticed until now because the distccd command is *expected* to fail with a "bad arguments" error code -- though the bad argument is supposed to be --port, not --allow. So this change gets this test actually testing what it's supposed to, again. Reviewed by Fergus Henderson 2008-05-07 18:21 Fergus Henderson * include_server/include_server.py: Insert "Usage: " at the start of the usage message for the include server. 2008-05-07 18:01 Craig Silverstein * doc/web, doc/web/compared.html, doc/web/compilers.html, doc/web/distcc-green.css, doc/web/distcc-lca-2004.html, doc/web/distcc-lca-2004.pdf, doc/web/distcc-lca2003.ps.gz, doc/web/distccmon-gnome-2003-09-23-01.png, doc/web/faq.html, doc/web/index.html, doc/web/results.html, doc/web/scenarios.html, doc/web/security.html: Add the documentation files, as downloaded from distcc.samba.org. I then modified the files slightly, mostly by deleting content that referred to files on the samba.org server and replacing them by files (or, usually, links) to Google Code. For instance, the 'source' link now points to the Google Code svn page for distcc, rather than a page holding tarball information. Likewise, the News page now just points to the svn trunk's NEWS file. For the record, here's email from Martin Pool OK-ing this move/copy: --- From: Martin Pool Date: Sun, May 4, 2008 at 9:31 PM Subject: Re: sources for distcc web site To: Fergus Henderson > Hi, The sources are at You are welcome to either work from these or scrape the web site. You can make any reasonable use of the text in making a new web site. -- Martin > --- Reviewed by Fergus Henderson 2008-05-05 15:31 Fergus Henderson * man/distcc.1, man/distccd.1: Document Zeroconf support: the "--zeroconf" option to distccd and the "+zeroconf" entry in the distcc hosts list. Reviewers: Craig Silverstein, Nils Klarlund. 2008-05-05 15:26 Fergus Henderson * man/distcc.1: Document the -j and --show-hosts options in the man page. Also mention that pump mode requires release 3.0 or later, and a few other minor corrections. 2008-05-02 23:07 Fergus Henderson * test/testdistcc.py: Change Lsdistcc_Case to work on hosts for which 127.0.0.2 is not a loopback address. Tested by "(g)make TESTNAME=Lsdistcc_Case single-test" on both Linux and FreeBSD. Reviewers: Craig Silverstein, Nils Klarlund. 2008-05-02 21:11 Fergus Henderson * test/testdistcc.py: Fix EmptySource_Case test so that it passes with gcc 3.4.x. Tested by "(g)make SINGLETEST=EmptySource_Case single-test" on both FreeBSD (gcc 3.4.4) and Linux (gcc 4.0.3). Reviewers: Craig Silverstein 2008-05-02 19:54 Nils Klarlund * configure.ac, lzo/.stamp-conf.in, popt/.stamp-conf.in: Explain stamp files and remove unneeded @src_dir@ (which was misspelled?). TESTED: make distcheck REVIEWED: Craig Silverstein, Fergus Henderson 2008-05-02 19:09 Craig Silverstein * Makefile.in, configure.ac: For machines without python installed, before this change we'd check for that case, but still give an error rc in that case, so the make would fail. Now I make sure we don't fail just because we don't have python installed. Also, some machines (solaris 10) don't have a grep with -q, so just use >/dev/null insteasd. Third, we had left out a file to add to the tarball: ontest.py. Fourth, 'make distcheck' fails a bit on the pump-installcheck. I've addressed some of the problems, but others remain. Finally -- and this is the bulk of the change, line-count wise, I added quotes around all variables, so we do the right thing when variables have spaces or other shell-meaningful characters in them, as indeed they often do on windows machines. Tested by running 'make check' on various architectures, including solaris 10 x86 and cygwin. Reviewed by Nils Klarlund and Fergus Henderson 2008-05-02 18:49 Fergus Henderson * src/sendfile.c: Treat ENOTSOCK errors from sendfile() the same way that we treat ENONSYS and EINVAL errors: fall back to using read() and write(). This fixes the failure of SyntaxError_Case and MissingCompiler_Case on FreeBSD. Tested by "make check". Reviewers: Craig Silverstein 2008-05-02 18:17 Nils Klarlund * test/testdistcc.py: Remove .d test case for which gcc stumbles on Mac OS. 2008-05-02 18:11 Craig Silverstein * src/distcc.h: This adds an #two that's technically needed to compile. Cygwin happened to notice this was missing. Tested by compiling (via 'make') on cygwin and ubuntu. Reviewed by Fergus Henderson 2008-05-02 18:10 Craig Silverstein * test/testdistcc.py: Four improvements to the test framework: 1) While pump-mode requires python 2.4, the test framework is designed to work with python 2.2 and later. A few non-2.2 features have snuck in though. I replaced them with 2.2-compatible code. 2) The test system used the --ex flag to gdb, which is only supported in more recent gdb's. I've changed the code to use --command instead, which is supported in old gdb's as well. I also added a workaround for a buggy error-message that gdb sometimes emits. See http://www.archlinux.org/pipermail/arch/2007-January/013366.html 3) I fixed a regexp for the gcc-options case, to handle correctly systems that don't name gcc "gcc" (for instance, they might name it powerpc-apple-darwin8-gcc-4.0.1). 4) Use shell quoting, when appropriate, to deal with paths that have spaces (eg on windows) or other weird characters in them. Tested by running 'make maintainer-check' on a variety of architectures, including os x and cygwin. The tests successfully run on all of them (though not all tests successfully pass yet...) Reviewed by Fergus Henderson and Nils Klarlund 2008-05-02 00:10 Craig Silverstein * Makefile.in: Small wording change, suggested by Nils Klarlund 2008-05-01 23:52 Craig Silverstein * configure.ac: This test was broken before: I needed to escape [ and ] from m4. Tested by running configure on a machine with python 2.2 installed. Reviewed by Fergus Henderson 2008-05-01 23:51 Craig Silverstein * Makefile.in: Previously, 'make check' was a noop because we do not require python to be installed for distcc, but the tests require python. Therefore, to run the tests you had to run 'make maintainer-check' instead (since maintainers of distcc *do* have to have python installed). Now, I have 'make check' check if python is installed. If so, it runs the tests. Otherwise, it prints a message and exits. Tested by running 'make check' and 'make installcheck' manually, on systems with the various pythons installed as well as a few without. Code reviewed by Fergus Henderson 2008-05-01 23:02 Craig Silverstein * Makefile.in, configure.ac: Include-server requires python 2.4 or higher, but the test framework only requires python 2.2. Check for both, so for folks with python 2.2 or python 2.3, they can at least run the tests, even if they can't install the include-server. 2008-05-01 00:58 Nils Klarlund * include_server/c_extensions_test.py: Clean up Python code. -- Do TODOs. -- Heed most pylint warnings. 2008-04-30 22:46 Nils Klarlund * Makefile.in, find_c_extension.sh, include_server/c_extensions_test.py, pump.in: Make install-checks work and a lot of clean-up in regards to the 'checking' targets. - Remove temporary installation for include server tests. The current scheme doesn't make too much sense: when testing a real installation, the include server is tested in the separate temporary installation. Instead, we propose to make the installation tests run only the regression tests in the 'test' directory, unpumped and pumped. The include server is now tested as part of maintainer-check only, but run out of the source directory, except for the C extension module. - The maintainer-check and the maintainer-install-check now run the integration test (test/testdistcc.py) also in pump mode. - A new script, find_c_extension.sh, is added; it finds the location of the shared library. It is used for both running the include server tests and the regression tests out of the built (not installed) version of the software. It was cut of the 'pump' script, which now has been simplified. - Reorganize the order of affected targets. Introduce '###############...' as separator between sections of Makefile in a more consistent way. Make each section consistently declare all the phony targets at the beginning of the section. - Introduce DISTCC_INSTALLATION variable to account for the precise location of the tested binaries in an installation. - Add verify-binaries-installcheck target to ensure that binaries are in this location. - Also, this target reports the location to users: Make sure all paths below are where you expect them to be: ********************************************************** /home/klarlund/svn-distcc/mybin/installation/bin/distcc /home/klarlund/svn-distcc/mybin/installation/bin/distccd /home/klarlund/svn-distcc/mybin/installation/bin/distccmon-text /home/klarlund/svn-distcc/mybin/installation/bin/lsdistcc ********************************************************** - Absolutize a couple of relative directory references before they are passed to scripts, because otherwise things won't work with the disciplined approach to DISTCC_INSTALLATION. - Change a randomly generated filename so that it resides in /tmp (in c_extensions_test.py) and not inside the build directory tree. Fix up logic for filenaming to be more secure. This makes 'make distcheck' pass w/o permission problems. Also, delete the temporary file and directory when test passes. - Make include-server-maintainer-check remove the .out file when test passes. This makes 'make distcheck' pass the final test of the clean-out. - Remove the 'Filtering' of the c_extensions_test output. This filtering was necessary in a previous version that printed all output to stdout to reduce user confusion. But now the test results go to intermediate files. This change was forced by the removal of the .out files (above). REVIEWED: fergus, csilvers. TESTS: make distcheck make maintainer-installcheck make include-server-maintainer-check make maintainer-check 2008-04-28 21:52 Craig Silverstein * src/sendfile.c: OS X added sendfile support in 10.5, so add this case to sendfile.c. Looking at the man pages, it looks like os x sendfile is pretty much the same as BSD's, so I copied much of the code from the existing BSD case. Tested by ensuring the code compiles and links on os x 10.5. No attempt to see if it runs correctly, though. Reviewed by Fergus Henderson 2008-04-28 19:23 Craig Silverstein * Makefile.in, configure.ac, include_server/setup.py, src/compile.c, src/distcc.h, src/dotd.c, src/emaillog.c, src/exec.c, src/fix_debug_info.c, src/io.c, src/lsdistcc.c, src/netutil.c, src/snprintf.c, src/srvrpc.c, src/tempfile.c, src/trace.c, src/util.c: These changes are enough to get code to compile, and at least some of the unittests to pass, on FreeBSD 6.0, Solaris 10 x86, and OS X Leopard. You have to use gmake instead of standard bsd make, though, because neither bsd nor solari make understand 'include */*.d' and 'CFLAGS += $(POPT_FLAGS).' These may be fixable later. Most changes fall into four categories: 1) #include differences 2) New errors due to some #ifdef paths being taken differently 3) Undefined functions (see, eg, the new HAVE_STRSEP) 4) Type differences (eg tv_usec is an int on os x, not a long int) As one concrete example, snprintf.c is an empty file on linux, where all the functionality is part of glibc. But on Solaris, some of its functionality is useful. This turned up a bug where if you have vsnprintf on your system but not vasnprintf, then dopr() was not being used but was being defined, leading to an "unused static function" warning in gcc. As another, solaris would complain about "index" being used as a variable, since it's also a function name. The var was renamed idx. Tested by compiling on FreeBSD, Solaris 10, and OS X leopard (x86). I also compiled and ran unittests under Linux Ubuntu, to make sure this change didn't break anything there. Reviewed by Fergus Henderson 2008-04-25 06:29 Craig Silverstein * include_server/include_analyzer_test.py, include_server/test_data/symlink_farm/foo, include_server/test_data/symlink_farm/sub_farm/link_to_dd_dd_dfoo_include_dotdot_foo[CPY], include_server/test_data/symlink_farm/sub_farm/link_to_dotdot_dotdot_dfoo_include_dotdot_foo[DEL]: Some older versions of tar have problems with filenames > 100 characters. To maximize compatibility, I renamed the only file we have that is close to that limitation, to be shorter. 2008-04-24 06:40 Craig Silverstein * configure.ac: Neglected to commit this with the Makefile.am changes from last time, though it's needed to define UNINSTALL_GNOME. Reviewed by Fergus Henderson 2008-04-24 05:39 Craig Silverstein * Makefile.in: Add uninstall targets, to undo the effects of 'make install'. I try to be semi-smart about deleting empty directories. Unfortunately, python's setup.py does not have an --uninstall mode, so I can only uninstall the include-server if a python-record-file was preserved during make install. This record-file must be passed in for make uninstall as well. Tested by running 'make install' followed by 'make uninstall' on my local machine. Reviewed by Fergus Henderson 2008-04-23 00:40 Craig Silverstein * TODO: Update the TODO file to add an entry on better non-ELF support. Also get rid of the TODO for Latte, since we're not going to be using any doc-template system on Google Code. While in the area, normalize a little bit the number of blank lines between entries (I try to make it 2). 2008-04-19 23:40 Craig Silverstein * Makefile.in, configure.ac, packaging/googlecode_upload.py: Fix some bugs in the googlecode-upload script, and modify the upload target in the Makefile to call it. Also added googlecode_upload.py to the dist tarball. Also update the version number to prerelease2. As part of testing this change, I actually uploaded the tarballs and rpm files to code.google.com. Reviewed by Fergus Henderson 2008-04-18 19:19 Nils Klarlund * Makefile.in, test/comfychair.py: Rename directory testtmp to _testtmp in line with our current practice for generated directories. 2008-04-18 18:51 Craig Silverstein * .: Another auto-generated file I had forgotten last time. 2008-04-18 18:32 Fergus Henderson * Makefile.in, packaging/RedHat/conf, packaging/RedHat/conf/clients.allow, packaging/RedHat/conf/commands.allow.sh, packaging/RedHat/conf/hosts, packaging/RedHat/default, packaging/RedHat/default/distcc, packaging/RedHat/init.d/distcc, packaging/RedHat/rpm.spec: A bunch of changes to the configuration files and installation: (1) Remove the Google crosstool-specific stuff from packaging/RedHat/init.d/distcc; instead, make it source a new configuration file "commands.allow.sh". (2) Install default versions of all the configuration files in $(sysconfdir), i.e. /etc: distcc/hosts, distcc/clients.allow, commands.allow.sh, and defaults/distcc. (3) Fix a bug in Makefile.in: "make install" didn't work when you configured with srcdir != builddir. Added "$(srcdir)/" in various places to make it work. (There's similar problems with "make dist", but I gave up on those for now.) (4) Add "install-deb" rule, to install the ".deb" files. (5) Don't run install-for-include-server-tests as part of "make install". That target is part of "make check", not "make install". (6) Add missing dependency on "include-server" to "pump-check" rule. (7) Remove some bash-isms from the "init.d/distcc" script. Tested by running "make install-deb" followed by "distcc /usr/bin/gcc -c foo.c" - this now works "out-of-the-box"! :-> Also ran "make maintainer-check" and "make pump-check". 2008-04-18 16:01 Fergus Henderson * autogen.sh: Address review comments on an earlier change: - autogen.sh now uses "#!/bin/sh -e" rather than "|| exit 1" everywhere. - autogen.sh now determines srcdir automatically from $0 - autogen.sh no longer tells you to run "./configure --srcdir=.". 2008-04-18 15:13 Nils Klarlund * test/testdistcc.py: Fix-up test in regard to angle bracket includes of non-existent files in order to explicitly accommodate the rather strange difference between running gcc locally and running it remotely in pump mode. In the former case, gcc fails with an error message; in the latter it succeeds and the error has been demoted to a warning. TESTING: make maintainer-check make pump-check 2008-04-18 08:59 Fergus Henderson * man/distccd.1: The --allow option to distccd is no longer optional. Update the distccd man page to better reflect that. 2008-04-18 06:53 Craig Silverstein * ., lzo, packaging, popt, src, test: Update the svn:ignore property on these directories, so 'svn status' doesn't show the auto-generated files that can show up, such as distcc.d or config.h.in. 2008-04-18 06:37 Craig Silverstein * packaging/googlecode_upload.py: Add distcc-specific code to googlecode_upload. This allows us to upload all the package files we create in one fell swoop (they must be specified on the commandline). We figure out the summary to give to each file and the label to apply, and then upload each in turn. I've also turned off the feature to figure out the name and password directly from the local svn repository, because that feature is broken (alas), with the current python-subversion bindings. Instead, I prompt for them, but at least it's only once per upload as opposed to once per file! Not yet tested (will do so when I add to the Makefile to actually use it). Reviewed by Fergus Henderson 2008-04-18 01:12 Nils Klarlund * Makefile.in: Add missing dependency on pump for target pump-check and pump-installcheck. To do so, introduce new phony intermediate target. Add TODO about the `pwd` in maintainer-installcheck target. 2008-04-18 01:08 Fergus Henderson * Makefile.in: Fix missing line continuation in a Makefile rule. Also, use "@" to avoid printing out a line with disturbing contents ("ERROR") during normal successful test execution. 2008-04-18 01:05 Fergus Henderson * autogen.sh: Support running autogen.sh in the build directory, rather than the source directory. Now the source directory should be completely untouched, so we should be able to autogen, configure, and build even if the source directory is read-only. 2008-04-18 01:03 Craig Silverstein * Makefile.in: Quick fix to my previous commit: I have to make sure every Make line ends in success, when it in fact succeeds. Thus you need to use || sometimes instead of &&. 2008-04-18 01:00 Craig Silverstein * Makefile.in: Augment 'make distcheck' to ensure that 'make', 'make check', 'make install', etc. only write into builddir and instdir, not srcdir. In the process, fixed up a typo -- introduced when I merged all the Makefile.in's -- that affected us in the (common) case DISTDIR is the empty string. Tested by running 'make distcheck'. Reviewed by Fergus Henderson 2008-04-18 00:07 Craig Silverstein * packaging/googlecode_upload.py: Add googlecode_upload.py, a script to help upload tarballs and package files to the Google Code location of distcc. This is the version as downloaded from the web, at http://support.googlecode.com/svn-history/r57/trunk/scripts/googlecode_upload.py After this pristine version is checked in, we'll hack on it to add some distcc-specific features (multiple uploads, etc). We'll also add it to the Makefile at that time, both to use ('make upload') and as part of the distribution (hey, why not). 2008-04-17 22:27 Craig Silverstein * Makefile.in, build-distcc.sh[DEL], distcc.spec[DEL], packaging/RedHat/rpm.spec[CPY], packaging/deb.sh, packaging/rpm.sh[CPY]: Add 'make rpm' to make the rpm files for this project (much like 'make dist' makes a tar.gz file), and 'make deb' to make the deb files. 'make alldist' will make all three (well, four): .tar.gz, .tar.bz2, .rpm, and .deb. The rpm.spec file that's used is based on the old distcc.spec file, which is now deleted. However, it's reordered to look a bit more like other spec files for Google projects, removes the obsolete 'include-server' package (that's now part of the distcc package proper), and takes out all the ChangeLog entries that don't relate to the spec file in particular. I also added a script, rpm.sh, to build the rpm file, which is a combination of the rpm.sh script used to build other google projects, and the existing build-distcc.sh, which is now deleted. Mostly it just calls rpmbuild with the right flags. deb.sh could have re-done all the work that rpm.spec and rpm.sh does, but instead we just use "alien" to convert the rpm to a deb file. Tested by installing the deb files (both client and server) on my home machine and then running 'make maintainer-installcheck'. Reviewed by Fergus Henderson 2008-04-17 05:42 Fergus Henderson * README.pump: Avoid referring to "the distcc-pump". Reviewed by Nils Klarlund. 2008-04-17 02:45 Craig Silverstein * INSTALL, Makefile.in, configure.ac, include_server/setup.py: Resolve some TODO's in the Makefile (and, to a lesser extent, in configure.ac): 1) Create a .gz tarfile as well as a .bz2 tarfile, with "make dist". I've also added a few more dist rules: "make rpm", "make deb", and "make alldist", though currently they're commented out since the scripts they call have yet to be written. 2) setup.py looks at os.environ("BUILDDIR"), so make sure that environment variable is always set properly. 3) setup.py was hard-coding the version number. Instead, have it get it from the environment ("DISTCC_VERSION"), and set that envvar before calling setup.py in the Makefile. (The alternate solution, of making a setup.py.in and having configure set the version number in setup.py, did not work well because the Makefile really wants setup.py to be in $srcdir, that the configure option puts it in builddir.) 4) Clean up distcheck to have three separate directories: src, build, and install. Before src and build were the same. This pulled up several places that were using srcdir instead of builddir, which I fixed. 5) Clean up distcheck to make sure that 'make distclean' cleans all the build files created during the build. At first it didn't quite, so I fixed that up as well. 6) Added some new files to 'make dist': particularly, the files used to build rpm and deb files. 7) Have maintainer-check and maintainer-installcheck both call the same routine (via recursive make) rather than copy all that code. This simplifies things surprisingly, especially since the main check logic no longer has be inside a big "if $(PYTHON)". 8) (Various rules:) replace $^, which is not very portable, with a repetition of the dependency line. 9) Rename GZIP to GZIP_BIN, since GZIP as an envvar is read by gzip and parsed as gzip options. 10) In include_server/setup.py, we weren't setting builddir/src as an include dir, and it needs to be (as 'make distcheck' shows). I'm not sure builddir/../../src really needs to be anymore, but I guess it can't hurt, so I've left it in. 11) Updated INSTALL to refer to autogen.sh, which will create configure if it's not already there. 2008-04-15 02:23 Nils Klarlund * pump.in: Clean logic and error messaging in pump script. - There were missing error messages. - Some of them did not go to stderr. - Global variable include_server_started_successfully was ugly. Changed to a status variable. - Also, joined some lines that were joinable. - Fixed a spurious parameter to a function ExportDISTCC_HOSTS. Added a parameter to same function. Tests ----- Can run 'pump-check'. Also, when I forced more than one C extension, I get the following tirade. __________Using distcc-pump from /home/klarlund/svn-distcc/distcc __________Shared libraries for multiple architectures discovered. __________Cannot determine which one to use among: ./_builddir/lib.blah/include_server/distcc_pump_c_extensions.so ./_builddir/lib.linux-x86_64-2.4/include_server/distcc_pump_c_extensions.so __________Could not start distcc-pump include server 2008-04-14 23:17 Craig Silverstein * ChangeLog: Added some Google-branch changes to the ChangeLog file, now that we've integrated them back into the main branch in preparation for distcc 3.0. These messages were taken from the rpm.spec ChangeLog, where they had been living before. I can't say that it's a complete list of google-branch patches, but it's a good started. Reviewed by Fergus Henderson 2008-04-14 17:11 Nils Klarlund * pump.in: Fix up pump.in: - Rename DISTCC_PUMP_LOCATION because there is now no distinct such entity. - Comment 'return 0'. - Fix logic in Main so that script aborts when include server not started. - Add missing line: include_server_started_successfully=0. 2008-04-12 00:58 Craig Silverstein * Makefile.in, autogen.sh, bench/Build.py, bench/Project.py, bench/ProjectDefs.py, bench/Summary.py, bench/actions.py, bench/benchmark.py, bench/buildutil.py, bench/compiler.py, bench/statistics.py, configure.ac, distcc[DEL], include_server/basics.py, include_server/setup.py, pump.in: The second part of my change to hoist everything in the distcc/ directory up to the top level: delete the distcc directory (I already copied it all to the top level in my last commit). This requires changing all files that refer to distcc/FOO to refer directly to FOO instead. Mostly this is Makefile.in and setup.py, but there are a few other changes in scripts that have to hard-code paths, like configure.ac and pump.in. Also, several files changed their comments to refer to the new location, which isn't strictly necessary but I did anyway. The only other change I made was to get rid of the hack I had put in before, which renamed distcc to distcc-bin. I had needed to do that before, temporarily, because "distcc" was already the name of a directory, and couldn't also be the name of a binary. Now that the distcc directory is going away, I can rename the target back to distcc. Tested by running './autogen; ./configure; make maintainer-check'. I also ran 'make pump-check' and 'make distcheck'. To be reviewed (post-facto) by Nils Klarlund and Fergus Henderson 2008-04-11 22:36 Craig Silverstein * bench[CPY], contrib[CPY], doc[CPY], gnome[CPY], lzo[CPY], m4[CPY], m4/pkg.m4[CPY], man[CPY], packaging[CPY], popt[CPY], src[CPY], survey.txt[CPY], test[CPY]: The first step of moving everything in the distcc directory to the top level. I'm doing this in two stages, because I don't understand svn enough to be confident to do it in one. This first stage just copies all the files from distcc/FOO to FOO. Now there are two copies of each file under distcc; the Makefile/etc uses the one in distcc and ignores the one at the top level. The next commit will delete everything under distcc, and rewrite the Makefile/etc to use the top-level versions instead. 2008-04-11 22:20 Craig Silverstein * INSTALL, Makefile.in[CPY], autogen.sh[CPY], build-distcc.sh, config.guess[CPY], config.sub[CPY], configure.ac[CPY], distcc/Makefile.in[DEL], distcc/autogen.sh[DEL], distcc/config.guess[DEL], distcc/config.sub[DEL], distcc/configure.ac[DEL], distcc/install-sh[DEL], distcc/m4/pkg.m4, distcc/mkinstalldirs[DEL], include_server/Makefile.in[DEL], include_server/configure.ac[DEL], include_server/setup.py, install-sh[CPY], mkinstalldirs[CPY], pump.in, run_all_autoconf.sh[DEL], version.sh[DEL]: Merge configure.ac, distcc/configure.ac, and include_server/configure.ac into a single, top-level configure.ac script. Likewise with the three Makefile.in scripts. Now one config file at the top level controls everything. I had to rewrite quite a bit of code to account for the new level-up. In particular, I had to add "distcc/" in front of many things in order to refer to the same files I used to refer to when the configure.ac/Makefile.in text lived in the distcc/ directory rather than the top-level directory. Likewise (though to a lesser extent) for include_server. I also had to do a bit of merge work. Typically I'd leave the originally-distcc-directory content as close to the original as possible, and then try to put in the include_server directory stuff. Most of the top-level configure.ac and Makefile.in could go away, since they were glue before. I also could get rid of other top-level helper scripts that were used for the glue, such as version.sh. I also fixed a number of typos and other bugs: Makefile.in: 1) Removed obsolete CVS comment (we're 3 source-control systems past that now!) 2) distcc/Makefile.in was using top_builddir without importing it from the configure script. 3) Add zeroconf.h to HEADERS, which is needed for 'make dist'. I also added all the include_server files to 'make dist'. 4) "make dist" was passing 'h' ("no symlinks") to tar. This does not work with the include_server test-suite, which includes symlinks. I verified no other part of the distribution uses symlinks. Removed the h. 5) "make dist" was missing a lot of stuff (including almost all the include-server files). Updated it to get it all now. Likewise, updated "make clean" and its cousins to be more precise. Also made "make distcheck" more careful in checking that kind of thing. 6) Declared more phony targets .PHONY. 7) The include-server build commands do a lot of 'cd'-ing (since setup.py requires it), and then using make variables that might store relative directory paths. I now go through some hoops to make those directory paths absolute before the cd. 8) "make pump-check" was not setting the path, so it was using the installed distcc instead of the local one in the client. Fixed that, and added a new target, "make pump-installcheck", to use the installed distcc instead (parallel to the maintainer-check and maintainer-installcheck targets). configure.ac: 1) popt test was using $srcdir rather than required ${srcdir}, and thus was always getting the empty string. (Luckily, srcdir is usually ".", and the empty string is usually equivalent.) Likewise when setting CPPFLAGS, which again didn't matter because it turns out the relevant code was redundant with what autoconf already does automatically. 2) A merge error: apparently the avahi check was added twice. Get rid of the second one. 3) Was using obsolete AC_OUTPUT format. Use AC_CONFIG_FILES instead. 4) Added pkg.m4 to the m4/ directory. Before it only lived in autoconf.m4. But my system, at least, doesn't have it. 5) include-server requires python2.4, so remove checks for earlier pythons. autogen.sh: 1) Added aclocal call. I think it was a bug that it was left out before. pump.in: 1) Fixed it to notice when it can't find the .so file it needs. I also modified INSTALL to point to the new file locations, and the new instructions to run them (eg no more run_all_autoconf.sh). Despite all these bugfixes, I made the minimal changes possible to get things to work. I marked with "TODO" further improvements I'd like to make later. One particular TODO is that I had to rename the "distcc" target -- the main executable -- because it conflicts with the existing distcc directory. This is a temporary breakage which will be fixed in the next submit after this one, where I move the subdirs under distcc to the top level, getting rid of the artificial extra directory introduced. Tested by running 'make maintainer-check', 'make distcheck', and 'make pump-check' on my local machine, which passed. I've not tested all the various configurations and options (including using avahi, using the library popt library, building without python, etc). I've also not tried 'make benchmark'. Reviewed by Nils Klarlund and Fergus Henderson 2008-04-11 20:40 Fergus Henderson * README.pump: Update README.pump to better describe performance on small clusters. 2008-04-11 18:45 Fergus Henderson * distcc/Makefile.in: In the rule for 'make pump-check', set DISTCC_HOSTS, so that 'pump' won't complain that it isn't set. 2008-04-10 00:27 Craig Silverstein * distcc/README[DEL]: I meant to delete this as part of my last commit, but apparently neglected to... 2008-04-09 23:19 Craig Silverstein * AUTHORS[CPY], ChangeLog[CPY], INSTALL, NEWS[CPY], README, README.packaging[CPY], README.pump[CPY], TODO[CPY], distcc/AUTHORS[DEL], distcc/COPYING[DEL], distcc/ChangeLog[DEL], distcc/ChangeLog.old[DEL], distcc/INSTALL[DEL], distcc/NEWS[DEL], distcc/README.packaging[DEL], distcc/TODO[DEL]: Take these human-readable files and normalize their content and location: README Our blurp, tooting our horn INSTALL The run_all_autoconf and friends incantations COPYING GPL 2.0 license distcc/README Martin's blurp distcc/INSTALL Also: more on masquerading, host lists, distcc/COPYING GPL 2.0 license distcc/NEWS Recently updated distcc/AUTHORS Martin Pool distcc/README.packaging Various advice (version numbering etc) distcc/TODO A very long list (not updated) distcc/ChangeLog All changes under arch and under bzr distcc/ChangeLog.old All changes from before arch. Now all live in the top-level directory. This is the first step towards our eventual goal of getting rid of the second-level distcc and include_server directories, and just having everything under one top-level directory. We're all part of the same project now! Here's how I merged and updated content: . README became README.pump. It was slightly edited for clarity. (I also redid all the line-wrapping, which makes diff-ing difficult. :-( ) distcc/README became README, with a small amount of text added to describe 'pump' mode, and point to README.pump. . distcc/NEWS became NEWS. pump functionality was added (a new "distcc-3.0" entry). I also added all new features and bug-fixes since we moved from arch to bzr. It looks like NEWS was well-maintained before the move to bzr, so this might be pretty complete. There may be some more pump-developed bugfixes we need to add, though. . I got rid of distcc/COPYING. Now COPYING is the only license in this directory. This file was not changed. It remains the GPL 2.0 license. . distcc/AUTHORS became AUTHORS. I changed Martin to maintainer emeritus. I added the Google authors as authors of the "pump" functionality, and current maintainers. I set the Google email address to be distcc@googlegroups.com, which is a new group I've set up to be the clearinghouse for distcc discussions. . distcc/README.packaging became README.packaging. It was not otherwise changed. . distcc/TODO became TODO. It was not otherwise changed, except I added that folks should look for FIXMEs in source files, not just TODOs. . I merged INSTALL and distcc/INSTALL (in that order). I rearranged the text a little bit to remove redundancy (both talked about running 'configure'), but did not make any contentful changes. . I merged distcc/ChangeLog and distcc/ChangeLog.old to have a single changelog again going all the way to 2002. Comments now separate the various version control systems used. (svn is #4!) The single ChangeLog file now lives in the top-level directory. 2008-04-09 23:11 Craig Silverstein * distcc/ChangeLog, distcc/Makefile.in, distcc/configure.ac, distcc/m4, distcc/m4/acx_pthread.m4, distcc/src/distcc.c, distcc/src/distcc.h, distcc/src/dopt.c, distcc/src/dopt.h, distcc/src/dparent.c, distcc/src/gcc-id.c, distcc/src/help.c, distcc/src/hostfile.c, distcc/src/hosts.c, distcc/src/io.c, distcc/src/tempfile.c, distcc/src/zeroconf-reg.c, distcc/src/zeroconf.c, distcc/src/zeroconf.h: Integrate the following post-bzr (post 2.18.3) patch from the mainline distcc sources (http://bazaar.launchpad.net/%7Embp/distcc/trunk/): % bzr log -r3 message: merge avahi patch from Lennart Poettering (This patch comes from http://0pointer.de/public/distcc-avahi.patch, which is the version of the patch I applied, since the one in the bzr repository was missing the new files from the avahi patch.) I've also manually updated ChangeLog, which is not automatically updated by bzr the same way it is by arch. I've also added a new m4 directory, including non-standard autoconf macros that we use. For now, it only includes ACX_PTHREAD (added by the avahi patch) which I got from 0pointer.de. See the notes at the top of m4/acx_pthread.m4 for more details. I removed the change to Makefile.in that added in distccmon-gnome.1. This file is not actually added in as part of this patch (it seems to be part of a separate patch, at http://patches.ubuntu.com/d/distcc/extracted/02_distccmongnome_man.dpatch), and may have gotten in here by accident. Tested by running 'make maintainer-check'. However, I did not test with avahi installed, so I don't know how well that works. Reviewed by Fergus Henderson and Nils Klarlund 2008-04-09 16:21 Fergus Henderson * version.sh: Change the version number from "distcc 2.18.3-17gg1.pump20" (ugh!) to "distcc 3.0-prerelease1". 2008-04-09 00:38 Craig Silverstein * distcc/ChangeLog, distcc/NEWS, distcc/src/lock.c: Integrate the following post-bzr (post 2.18.3) patches -- all of them, so far -- from the mainline distcc sources (http://bazaar.launchpad.net/%7Embp/distcc/trunk/): % bzr log -r2 message: Add more ignored files % bzr log -r4 message: Locks taken through F_SETLK or lockf() must be explicitly released, because closing the file does not do so. (Sascha Demetrio) r2 is a noop for us, since it just updates a .bzr config file (which we may want to update in svn-land too, one day, but not for now). r3, not part of this CL, is the "avahi" patch (http://0pointer.de/public/distcc-avahi.patch). It was imperfectly applied: the new files that are part of this patch were not added to the bzr repository. We're following up with the patch-applier to see if these files can be taken verbatim from the patch in the 0pointer website. We'll also have to audit this patch to make sure it works with distcc-pump without needing any changes. For those reasons, we'll apply that patch in a separate change. I've also manually updated ChangeLog, which is not automatically updated by bzr the same way it is by arch. Tested by running 'make maintainer-check'. Reviewed by Nils Klarlund 2008-03-31 04:38 Craig Silverstein * distcc/ChangeLog, distcc/Makefile.in, distcc/NEWS, distcc/man/distcc.1, distcc/src/clinet.c: Integrate the following post-2.18.3 patches from the mainline distcc sources (distcc--devel--2/mbp@sourcefrog.net--2004): % tla cat-log patch-179: Summary: More details on error 110 % tla cat-log patch-180: Summary: draft patch for substituting compiler command name % tla cat-log patch-181: Summary: fix error check in dcc_connect_by_add % tla cat-log patch-182: Summary: build fix for --as-needed % tla cat-log patch-183: Summary: ignore tags file Note only one of these (patch-181) affects code in the src/ directory. Tested by running 'make maintainer-check'. Reviewed by Fergus Henderson 2008-03-29 19:19 Craig Silverstein * distcc/ChangeLog, distcc/NEWS, distcc/autogen.sh, distcc/bench/ProjectDefs.py, distcc/configure.ac, distcc/src/exec.c, distcc/src/exitcode.h, distcc/src/io.c, distcc/src/tempfile.c, distcc/test/comfychair.py, distcc/test/testdistcc.py: Integrate the following post-2.18.3 patches from the mainline distcc sources (distcc--devel--2/mbp@sourcefrog.net--2004): % tla cat-log patch-167: Summary: - better autogen message % tla cat-log patch-168: Summary: use python2.4 if available % tla cat-log patch-169: Summary: bump version number % tla cat-log patch-170: Summary: return error on timeout in dcc_select_for_write % tla cat-log patch-171: Summary: doc % tla cat-log patch-172: Summary: doc % tla cat-log patch-173: Summary: [patch] cygwin improvements from Alex Besogonov % tla cat-log patch-174: Summary: update patch to fix up gdb line numbers % tla cat-log patch-175: Summary: [patch] update stale benchmark source URLS (Dongmin Zhang) % tla cat-log patch-176: Summary: update benchmark project urls and md5s % tla cat-log patch-177: Summary: Update more benchmark project definitions % tla cat-log patch-178: Summary: set locale when running make maintainer-check Note only two of these (patch-170 and patch-173) affect non-comment code in the src/ directory. patch-173 introduced an "unused variable" warning in tempfile.c when run in non-cygwin mode, which I fixed up separate to the above patches. Tested by running 'make maintainer-check'. Reviewed by Fergus Henderson 2008-03-29 04:40 Craig Silverstein * run_all_autoconf.sh: Replace the sanity-check in run_all_autoconf.sh with a more accurate one. Reviewed by Nils Klarlund 2008-03-28 22:38 Craig Silverstein * distcc/ChangeLog, distcc/NEWS, distcc/TODO, distcc/man/distcc.1, distcc/src/arg.c, distcc/src/clinet.c, distcc/test/testdistcc.py: Integrate the following post-2.18.3 patches from the mainline distcc sources (distcc--devel--2/mbp@sourcefrog.net--2004): % tla cat-log patch-160: Summary: note on .incbin from asm() % tla cat-log patch-161: Summary: args: -d must be local % tla cat-log patch-162: Summary: manpage correction from Frerich % tla cat-log patch-163: Summary: todo % tla cat-log patch-164: Summary: add note that the mDNS patch cannot be legally merged % tla cat-log patch-165: Summary: add hosts-from-dnsdomain patch from dan % tla cat-log patch-166: Summary: [patch] better checking for errors on connect() Note only two of these (patch-161 and patch-166) affect the src/ or test/ directories. Tested via 'make maintainer-check'. 2008-03-28 17:39 Fergus Henderson * distcc/Makefile.in: Fix typo. 2008-03-28 17:38 Fergus Henderson * distcc/src/fix_debug_info.c: Work around spurious gcc warning that was causing trouble with -Werror. 2008-03-28 17:30 Fergus Henderson * distcc/src/lsdistcc.c: Fix a portability issue: compile error on 64-bit platform. ## This is the point at which the code was moved to the svn repository. ## The changes below this were made in an internal Google repository. 2008/03/03 11:35:34 Fergus Henderson Add extra "-I" option that seems to be needed when building distcc-pump with Blaze: we need _two_ ".."'s to get from $BUILDDIR/include_server/build to $BUILDDIR/distcc/src/config.h. Without this change, building distcc fails with a compilation error about "config.h" not found when run in a fresh workspace. R=klarlund DELTA=2 (2 added, 0 deleted, 0 changed) * include_server/setup.py: edit 2007/12/14 19:17:16 Fergus Henderson Fix a bug which showed up if the include server was run from a different directory than the distcc clients: in that case, it was at some times wrongly interpreting relative paths in the --stat_reset_trigger option as relative to the distcc client's cwd, rather than the include server's cwd. TODO(fergus): add a regression test. R=klarlund CC=distcc-pump APPROVED=klarlund DELTA=20 (18 added, 2 deleted, 0 changed) * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node_test.py: edit 2007/12/14 10:26:29 Nils Klarlund Fix location of stamp file that record autoconf execution. The location was incorrect: the stamp file that pertains to autoconf must necessarily be in the source code directory because autoconf'ing is the process of generating the configure script. Only the result of configuring is to be carried out in the object directory. R=fergus DELTA=1 (0 added, 0 deleted, 1 changed) * Makefile.in: edit 2007/12/13 21:52:59 Nils Klarlund Fix typos in Makefile.in. R=fergus DELTA=2 (0 added, 0 deleted, 2 changed) * include_server/Makefile.in: edit 2007/12/07 16:19:16 Nils Klarlund This file is generated by run_all_autoconf.sh and should not be checked in. (Because that leads to Perforce complaints about 'clobbering'.) R=fergus DELTA=262 (0 added, 262 deleted, 0 changed) * distcc/src/config.h.in: delete 2007/12/07 12:57:55 Nils Klarlund Fix bug caused by non-idempotency of 'ln' and ensuing falsely positive test result. So, it turns out that 'ln -sf' is not idempotent. If C/D and E are directories, then ln -sf $(readlink -f C/D) E/D creates a link E/D -> realpath(C/D) and subsequent ln -sf $(readlink -f C/D) E/D creates a link C/D/D -> realpath(C/D), a self-reference of sorts. This is nasty because the second link created is in C/D, which was supposed to be just a target directory, not something to be modified! This bug enabled a faulty test to pass: the directory structure created by the non-potency bug is not cleaned on make clean. And the existence of the inserted extra directory made resolution of a certain include path possible when it should not have. R=fergus CC=manos DELTA=11 (9 added, 0 deleted, 2 changed) * include_server/Makefile.in: edit * include_server/include_analyzer_test.py: edit 2007/12/03 18:37:17 Nils Klarlund This version is to incorporate: ' Fix bug that leads to concurre' Change 2007/12/03 by Nils Klarlund R=fergus DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/12/03 16:36:06 Nils Klarlund Fix bug that leads to concurrent build interference: one distcc-pump build will severely affect another. The logic for naming the root directory was flawed: it used the pid of the parent, not the child, which is where the include server resides. Also fix less severe bug that allowed the cleaning up to end prematurely. The code is refactored at the same time -- for better readability and to address the parent/child pid confusion. The fix also includes the introduction of an additional communication mechanism, a semaphor: the child is now starting the include server and it must tell the parent that it has done so before the parent is allowed to exit. Testing: - 'make check' - Made several concurrent runs and verified that interference no longer takes place. R=fergus DELTA=65 (45 added, 1 deleted, 19 changed) * include_server/include_server.py: edit 2007/11/29 12:30:45 Nils Klarlund Add more meta-dependencies (those that involve autoconf) to the Makefile.in files and add sanity check to run_all_autoconf.sh. These dependencies should help prevent builds that do not reflect the configuration changes such as to version.sh or configure.ac. Dependencies are added, so this should be a conservative CL: making this build system less fragile. Tests: patched this CL into a clean client and rebuilt software: ./run_all_autoconf.sh ./configure --prefix=$(pwd)/installation make make install R=fergus DELTA=73 (62 added, 0 deleted, 11 changed) * Makefile.in: edit * distcc/Makefile.in: edit * include_server/Makefile.in: edit * run_all_autoconf.sh: edit 2007/11/06 15:58:38 Nils Klarlund Prepare 'pump19'. It contains: 'Add basics_test rule to include' Change 2007/11/06 12:43:59 by Nils Klarlund ' Fix typo and missing condition' Change 2007/11/06 11:51:01 by Nils Klarlund 'Fix an infinite loop in the inc' Change 2007/11/05 14:11:47 by Nils Klarlund ' Bump up length of interval tha' Change 2007/11/05 07:25:13 by Nils Klarlund ' Make the _CleanOutOthers routi' Change 2007/11/02 12:36:27 by Nils Klarlund ' Increase include server timeou' Change 2007/11/01 14:46:44 by Nils Klarlund 'Fix buglet: when the contents o' Change 2007/11/01 14:28:22 by Nils Klarlund R=fergus DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/11/06 15:43:59 Nils Klarlund Add basics_test rule to include_server/Makefile.in. This enables 'make check' to run all tests. Test: ./run_all_autoconf.sh; ./configure --prefix=$(pwd)/installation make basics_test make -C include_server basics_test make check R=fergus DELTA=4 (4 added, 0 deleted, 0 changed) * include_server/Makefile.in: edit 2007/11/06 14:51:01 Nils Klarlund Fix typo and missing conditional of a previous change, which "broke" the build. Tests: - make -C include_server check R=fergus DELTA=3 (1 added, 0 deleted, 2 changed) * include_server/include_analyzer.py: edit * include_server/include_server.py: edit 2007/11/05 17:11:47 Nils Klarlund Fix an infinite loop in the include server. FindNode would call itself ad infinitum prompted by unusual link structures and includes. This change is non-trivial. In particular, it relates to a previous bug fix which is rolled-back as part of the present change -- and then the problem reported in the bug report is solved instead by properly mending the code that was removed in that change. The fix consists of making the memoization removed in that change cognizant of the file directory or rather the absolute path of the file directory, see extensive new comments in class IncludeAnalyzerMemoizingNode. Small stuff: we change 'filepath' to 'fp' in all identifiers in FindNode. That's because the identifiers were otherwise getting too long in the new code. And, we used that abbreviation already. Testing: a test_DotdotInInclude test case specifically exercices the situation in the bug. [Plus additional Google-specific correctness and performance tests.] Additionally, we're now doing the test_IncludeAnalyzer in two ways: directly and through a symlink farm. This helps us test regression against subtle bugs that may occur with symbolic links. R=fergus DELTA=327 (194 added, 12 deleted, 121 changed) * include_server/cache_basics.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_analyzer_test.py: edit * include_server/test_data/dfoo/include_dotdot_foo: add * include_server/test_data/symlink_farm/abc_post.c: add * include_server/test_data/symlink_farm/abc_pre.c: add * include_server/test_data/symlink_farm/computed_includes.c: add * include_server/test_data/symlink_farm/dbar: add * include_server/test_data/symlink_farm/dfoo: add * include_server/test_data/symlink_farm/foo: add * include_server/test_data/symlink_farm/p1.h: add * include_server/test_data/symlink_farm/parse.c: add * include_server/test_data/symlink_farm/sub_farm/link_to_dotdot_dotdot_dfoo_include_dotdot_foo: add * include_server/test_data/symlink_farm/test_directory_probing.c: add * include_server/test_data/symlink_farm/test_include_next: add 2007/11/05 10:25:13 Nils Klarlund Bump up length of interval that determines when SIGALRM is raised. Testing showed that with srcfs -- which increases user time -- I/O between distcc and include server (in the C extension part) would be tripped up by SIGALRM when it is raised every 2s. This results in a Python exception such as IOError, which is wrong and even harmful, because it terminates the include server. The interval in the currently released version is 3s, so 4s is better. This is to be followed up by CL that makes the algorithmic code "protected" by SIGALRM free of I/O. R=fergus DELTA=5 (4 added, 0 deleted, 1 changed) * include_server/basics.py: edit 2007/11/02 15:36:27 Nils Klarlund Make the _CleanOutOthers routine be called. Before this CL, this routine was not called at all, because a variable describing the tmp directory has not been initialized. We split the InitializeTmpDirectories function into two parts to distinguish between creation of the temporary directory and the creation of client root under it. Also, fixed bug in the glob expression. Also, don't write out warning when cleaning -- that's just bound to confuse users. Demote message to TRACE level. Also, fix basics_test.py and make sure it's called as part of 'make check'. R=fergus DELTA=97 (52 added, 17 deleted, 28 changed) * include_server/Makefile.in: edit * include_server/basics.py: edit * include_server/basics_test.py: edit * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node_test.py: edit * include_server/include_analyzer_test.py: edit * include_server/include_server.py: edit * include_server/include_server_test.py: edit * include_server/parse_file_test.py: edit 2007/11/01 17:46:44 Nils Klarlund Increase include server timeout to 3.8s. We are still getting emails about the include server running out of time for gws files and many others. R=fergus DELTA=2 (0 added, 0 deleted, 2 changed) * include_server/basics.py: edit 2007/11/01 17:28:22 Nils Klarlund Fix buglet: when the contents of the file descriptor would contain percent signs the call to DEBUG would fail. R=fergus DELTA=1 (0 added, 0 deleted, 1 changed) * include_server/include_server.py: edit 2007/10/23 17:56:23 Nils Klarlund Prepare new release, pump18, changing a timing constant in include server. R=fergus CC=distcc-pump DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/10/23 17:53:40 Nils Klarlund Increase time quota introduced in a previous change for handling a request. We released pump17 10/22. One day later, it turns out that there are a cases where the include server spends more than 2s processsing a compilation unit. Here we increase the 2s to 3s. R=fergus DELTA=9 (4 added, 0 deleted, 5 changed) * include_server/basics.py: edit 2007/10/22 13:43:09 Nils Klarlund Limit the time that the includer analyzer is allowed to spend servicing a request. We use the rudimentary SIGALRM mechanism, because generally Python does not allow one thread to raise an exception in another. Experiments show that SIGALRM interferes with the use of Popen. When determining the default compiler, the include server uses Popen to invoke gcc. If the SIGALRM is raised, then it be caught in the 'select', which then aborts. Therefore, we stop the timer while the include server determines default compilers. The timeout exception is raised according to utime passed, not real time. That prevents the include server from going bananas, restarting again and again, because of NFS delays. The risk with this CL is that something else breaks in unexpected ways, perhaps a file operation, with the signaling. However, we've put the first signal to occur 2s after the start of the request. That should be more than ample time. In practice, we have not seen the include server using more than 2s per request (but this is based on limited measurements). We have also tested this change with a 1s timer. That showed the SIGALRM problem with Popen. After, we fixed that this CL seems to work fine. R=manos CC=distcc-pump DELTA=110 (89 added, 1 deleted, 20 changed) * include_server/basics.py: edit * include_server/compiler_defaults.py: edit * include_server/include_analyzer.py: edit * include_server/include_server.py: edit 2007/10/22 12:46:42 Nils Klarlund Make version 'pump17'. R=fergus CC=distcc-pump DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/10/22 12:39:29 Nils Klarlund Fix name of stamp file. Remove initial '.'. R=manos CC=fergus DELTA=1 (0 added, 0 deleted, 1 changed) * run_all_autoconf.sh: edit 2007/10/22 11:06:40 Fergus Henderson Partial rollback of a previous change. In particular, comment out the code to support the Objective-C file extensions and the Objective-C test case. Currently Objective-C support breaks things if you don't have an Objective-C compiler installed, even if distcc is used only to compile C/C++ code; we try to compute the default include paths for all languages at startup, and barf it if fails. Leave in place the support for "#import". It turns out that "#import" can be used in GNU C/C++ code, as a GNU extension, and some Google code makes use of this. *** Original change description *** Add support for Objective-C to distcc-pump. In particular, recognize the Objective-C file extensions (".m", ".mi") and the "#import" declaration. (#import is like #include, but never includes the same file twice. So for the distcc-pump include server, processing of #import is exactly the same as processing of #include.) Tested with "make maintainer-check" (all tests pass) and "make pump-check" (no regressions). Also added a test of Objective-C compilation. R=klarlund CC=distcc-pump APPROVED=klarlund DELTA=21 (11 added, 0 deleted, 10 changed) * distcc/test/testdistcc.py: edit * include_server/basics.py: edit 2007/10/19 16:52:44 Nils Klarlund Loosen assumption about the syntax -D options. A user had written something the include server couldn't understand. It provoked a rare internal error. The compilation did not succeed locally either. The include server must remain unfazed when confronted with weird syntax. Also, corrected comment for ParseCommandArgs. R=fergus CC=distcc-pump * include_server/include_analyzer_memoizing_node.py: edit * include_server/parse_command.py: edit * include_server/parse_command_test.py: edit 2007/10/19 16:28:57 Nils Klarlund When storing warning messages in temporary file, we are using 'print >>', which appends a newline. Then, when presenting the errors to the user, we'd also use 'print', which appends another newline. With this fix, the newline is not append the first time around (we append ','). The other use of the contents of the temporary file, in the mail sending routines, should not be affected by one less newline. R=manos CC=fergus DELTA=3 (0 added, 0 deleted, 3 changed) * include_server/include_server.py: edit 2007/10/19 10:57:39 Nils Klarlund Fix so that 'make' fails when version.sh is out of date. We remade the dependency checking in the makefile so that the need to autoreconf is expressed as a depedency on something certainly produced by autoreconf when run through our script, namely a time stamp file. R=fergus DELTA=27 (4 added, 12 deleted, 11 changed) * Makefile.in: edit * run_all_autoconf.sh: edit 2007/10/19 10:15:14 Nils Klarlund Don't send email when a file that exists cannot be read. Also, slight correction to error message. R=fergus DELTA=5 (4 added, 0 deleted, 1 changed) * include_server/parse_file.py: edit 2007/10/18 15:56:20 Fergus Henderson Fix a missing word in a comment. R=klarlund DELTA=5 (0 added, 2 deleted, 3 changed) * distcc/src/compile.c: edit 2007/10/18 11:41:46 Fergus Henderson Add support for Objective-C to distcc-pump. In particular, recognize the Objective-C file extensions (".m", ".mi") and the "#import" declaration. (#import is like #include, but never includes the same file twice. So for the distcc-pump include server, processing of #import is exactly the same as processing of #include.) Tested with "make maintainer-check" (all tests pass) and "make pump-check" (no regressions). Also added a test of Objective-C compilation. R=klarlund CC=distcc-pump APPROVED=klarlund DELTA=136 (100 added, 8 deleted, 28 changed) * distcc/test/testdistcc.py: edit * include_server/basics.py: edit * include_server/parse_command.py: edit * include_server/parse_file.py: edit 2007/10/12 14:10:36 Nils Klarlund This corrects description of the previous change. Prepare a new release, pump16. Deploy in NYC only. To be installed under 2007.10.12 in buildstatic. This release includes: 'Rather than just replacing the ' Change 2007/10/11 by Fergus Henderson 'Prevent distcc-pump from revert' Change 2007/10/11 by Nils Klarlund R=fergus CC=manos DELTA=2 (2 added, 0 deleted, 0 changed) * version.sh: edit 2007/10/12 11:30:45 Nils Klarlund Prepare a new release, pump16, to include the change "Prevent distcc-pump from reverting to local compilations". Deploy in NYC only. To be installed under 2007.10.11 in buildstatic. R=fergus CC=manos DELTA=2 (0 added, 0 deleted, 2 changed) * version.sh: edit 2007/10/11 22:06:33 Fergus Henderson Rather than just replacing the server's current working directory with the clients' current working directory, we need to replace the server's root directory with the client's root directory. This is needed because the problems with gdb arise not only from the "current working directory" field (DW_AT_comp_dir), but also with the file names (DW_AT_file_name). These file names can be absolute paths to files that are outside of the current working directory. This change is basically just a one-line fix in serve.c, but for clarity I've also changed some variable names and comments in fix_debug_info.c. R=klarlund CC=distcc-pump DELTA=36 (13 added, 0 deleted, 23 changed) * distcc/src/fix_debug_info.c: edit * distcc/src/serve.c: edit 2007/10/11 16:20:33 Nils Klarlund Prevent distcc-pump from reverting to local compilations hundreds or thousands of times. Such a situation should never occur but if it occurs, we want to fall back to distcc behavior. For example, this is desirable if the include server for reason picks up files that don't exist any more or symbolic links that changed surreptiously during the build. A typical output is shown below (where we have tampered with the include server to produce too few files). Note that ERRORs still occur in the output (from the remote server). distcc[7791] ERROR: compile third_party/pcre/pcre-7.3/pcre_globals.c on 192.168.1.137,lzo,cpp failed distcc[7791] (dcc_build_somewhere) Warning: remote compilation of 'third_party/pcre/pcre-7.3/pcre_globals.c' failed, retrying locally distcc[7791] Warning: failed to distribute third_party/pcre/pcre-7.3/pcre_globals.c to 192.168.1.137,lzo,cpp, running locally instead distcc[7708] (dcc_please_send_email_note_discrepancy_except_fresh_dependency) Warning: remote compilation of 'third_party/pcre/pcre-7.3/pcre_chartables.c' failed, retried locally and got a different result. distcc[7708] (dcc_note_discrepancy) Warning: now using plain distcc, possibly due to inconsistent file system changes during build distcc[7708] Warning: Will send an email to distcc-pump-errors@google.com distcc[7780] ERROR: compile third_party/pcre/pcre-7.3/pcre_get.c on 192.168.1.135,lzo,cpp failed distcc[7780] (dcc_build_somewhere) Warning: remote compilation of 'third_party/pcre/pcre-7.3/pcre_get.c' failed, retrying locally distcc[7780] Warning: failed to distribute third_party/pcre/pcre-7.3/pcre_get.c to 192.168.1.135,lzo,cpp, running locally instead distcc[7869] ERROR: compile third_party/pcre/pcre-7.3/pcre_ord2utf8.c on 192.168.1.124,lzo,cpp failed distcc[7869] (dcc_build_somewhere) Warning: remote compilation of 'third_party/pcre/pcre-7.3/pcre_ord2utf8.c' failed, retrying locally distcc[7869] Warning: failed to distribute third_party/pcre/pcre-7.3/pcre_ord2utf8.c to 192.168.1.124,lzo,cpp, running locally instead __________Compiling obj/gcc-4.2.1-glibc-2.2.2-piii-linux-dbg/bin/third_party/pcre/pcre-7.3/pcre_ucp_searchfuncs.c.o distcc[7780] (dcc_please_send_email_note_discrepancy_except_fresh_dependency) Warning: remote compilation of 'third_party/pcre/pcre-7.3/pcre_get.c' failed, retried locally and got a different result. distcc[7780] Warning: Will send an email to distcc-pump-errors@google.com distcc[7791] (dcc_please_send_email_note_discrepancy_except_fresh_dependency) Warning: remote compilation of 'third_party/pcre/pcre-7.3/pcre_globals.c' failed, retried locally and got a different result. distcc[7791] Warning: Will send an email to distcc-pump-errors@google.com __________Compiling obj/gcc-4.2.1-glibc-2.2.2-piii-linux-dbg/bin/third_party/pcre/pcre-7.3/pcre_valid_utf8.c.o distcc[7723] (dcc_please_send_email_note_discrepancy_except_fresh_dependency) Warning: remote compilation of 'third_party/pcre/pcre-7.3/pcre_compile.c' failed, retried locally and got a different result. distcc[7723] Warning: Will send an email to distcc-pump-errors@google.com R=fergus,manos DELTA=211 (174 added, 8 deleted, 29 changed) * distcc/src/compile.c: edit * distcc/src/compile.h: edit * distcc/src/h_compile.c: edit * distcc/test/testdistcc.py: edit 2007/10/09 12:40:31 Nils Klarlund The obvious radical approach to clearing all caches. With this CL, we run all the initialization code of the major include analyzer object. This changes passes all usual tests and some third_party tests. All to be run before release. R=fergus,manos DELTA=52 (17 added, 32 deleted, 3 changed) * include_server/cache_basics.py: edit * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/mirror_path.py: edit 2007/10/09 12:38:53 Nils Klarlund Introduce a time analysis of source files in order to improve S/N ratio of automatically generated error emails. Currently, we send an email in situations where: -- the remote compilation fails because a file contains something bad, -- the file is changed to not contain bad stuff, and consequently the -- the local compilation succeeds. This makes it sometimes impossible for us to determine accurately from the email whether some error really occurred or whether the user changed source files during the build. We can carry out the analysis only if there is a .d file. We check each dependency descriped there. If anyone changed after the build started, then we really don't want to hear about distcc-pump errors, because dependencies shouldn't change. The generated files are exceptions. To disregard these, the distcc user may specify a glob pattern in environment variable DISTCC_EXCLUDE_FRESH_FILES defined when invoking distcc. R=fergus APPROVED=fergus,sunq DELTA=378 (362 added, 4 deleted, 12 changed) * distcc/Makefile.in: edit * distcc/configure.ac: edit * distcc/src/compile.c: edit * distcc/src/compile.h: edit * distcc/src/emaillog.c: edit * distcc/src/h_compile.c: add * distcc/test/testdistcc.py: edit * pump.in: edit 2007/10/09 12:08:14 Nils Klarlund Release pump15 to buildstatic under name 2007.10.09. To include: Fix a bug with the check to see whether /usr/lib/rpm/... The obvious radical approach to... Ensure that the build process reruns... Introduce a time analysis of source files... R=fergus,manos DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/10/08 22:56:48 Fergus Henderson Fix a bug with the check to see whether /usr/lib/rpm/find-requires has been patched to special-case the linux-gate.so dependency. The sense of the check was inverted. On my system, find-requires had been properly patched already, but build-distcc.sh was incorrectly telling me that I needed to patch it. R=klarlund CC=distcc-pump DELTA=1 (0 added, 0 deleted, 1 changed) * build-distcc.sh: edit 2007/10/08 22:49:19 Fergus Henderson Ensure that the build process reruns autoconf and autoheader. This is needed in case configure.ac has been changed since the last build. R=klarlund CC=distcc-pump DELTA=1 (1 added, 0 deleted, 0 changed) * distcc.spec: edit 2007/10/08 10:35:13 Nils Klarlund Start a new snaphost of the file system when caches are cleared as part of the stat trigger mechanism. The stat reset is supposed to mean: ``don't trust anything about previous analyses of includes.'' So files, directories, and symbolic links, as known to the include server, are all invalid. In particular, all information gathered in the client root directory is stale. (This is where we compress source file and mirror the directory and link structure of the part of the file system explored for include analysis.) With this CL, we make the client root concept generational, as indicated by a new suffix, a generation number, added to the automatically generated root name. A trigger event bumps the generation number by one. R=manos,fergus DELTA=86 (60 added, 4 deleted, 22 changed) * include_server/basics.py: edit * include_server/compress_files.py: edit * include_server/include_analyzer.py: edit * include_server/include_analyzer_test.py: edit * include_server/include_server.py: edit * include_server/mirror_path.py: edit 2007/10/04 18:18:18 Manos Renieris Update the init script. Major difference is the understanding of comments. R=klarlund CC=ahyun,distcc-pump DELTA=248 (25 added, 62 deleted, 161 changed) * distcc/packaging/RedHat/init.d/distcc: edit 2007/10/04 15:05:43 Fergus Henderson Tidy up the output from c_extensions_test. Also change the test so that it will die if some unreachable code is reached, rather than quietly ignoring the error condition, and avoid using the message "internal error 3" for two different errors. R=manos CC=distcc-pump APPROVED=klarlund DELTA=8 (5 added, 0 deleted, 3 changed) * include_server/Makefile.in: edit * include_server/c_extensions_test.py: edit 2007/10/04 13:25:56 Nils Klarlund Warning message clean-up. 1) Change all information printed by Debug to go to stderr. 2) When an exception is raised it should generally be reported as a new warning (as defined by Debug called with DEBUG_WARNING, so that this output is controllable), not just printed to stderr. In particular, this change makes situations not covered by the include processor (such as absolute filepaths in #include's) be reported as warnings. 3) We removed an unnecessary try/except block for totally unexpected siutations. Those are to be handled by the general except clause of the 'handler'. Fatal issues and timing information (not normally used) is still reported to stderr through print statements. R=fergus,manos DELTA=18 (0 added, 4 deleted, 14 changed) * include_server/basics.py: edit * include_server/include_server.py: edit 2007/10/04 13:06:01 Fergus Henderson Include h_fix_debug_info in the list of check_programs, so that it gets removed by "make clean". R=klarlund DELTA=1 (1 added, 0 deleted, 0 changed) * distcc/Makefile.in: edit 2007/10/04 11:37:39 Nils Klarlund If Ctrl-c is issued while the include server is running in 'handle', then an unfortunate double error message would sometimes occur, along with a stack trace. Fixed here by propagating exception to outer handler in 'Main'. [While we're at it, we change 'main' to 'Main'. There's no reason to lowercase it.] Also, we fix the situations where the exception raised in 'handle' is an internal error or the one corresponding to SIGTERM. Both situations are uncommon. And, in both cases, we raise SIGTERM for Main to catch, so that include server can be terminated without stack traces to be printed out. R=fergus,manos DELTA=6 (0 added, 0 deleted, 6 changed) * include_server/include_server.py: edit 2007/10/04 10:13:58 Fergus Henderson Set VPATH. This is needed to make things work if you run configure in a different directory than the source directory. R=klarlund CC=distcc-pump DELTA=1 (1 added, 0 deleted, 0 changed) * Makefile.in: edit 2007/10/04 01:10:42 Fergus Henderson Add the header file for a source file I added in a previous change. I had accidentally omitted this file from that CL. R=iant CC=distcc-pump APPROVED=iant DELTA=10 (10 added, 0 deleted, 0 changed) * distcc/src/fix_debug_info.h: add 2007/10/03 20:41:00 Nils Klarlund Version 14 will contain: - a server update (for .o rewriting), to be installed 10/4 in NYC - fix for include server failure to update symbolic links when clearing caches - minor changes to messages in exception circumstances - possibly, change that analyzes .d files before sending emails about discrepancies between server and client R=fergus,manos * version.sh: edit 2007/10/03 15:03:24 Nils Klarlund Add clarifying comment. R=fergus,manos APPROVED=manos DELTA=1 (1 added, 0 deleted, 0 changed) * include_server/test_data/dfoo/foo2.h: edit 2007/10/03 12:04:55 Fergus Henderson Change distcc so that it generates the correct value for the "current directory" field in the debug info. I do this by mmapping the ".o" file into memory, parsing the ELF headers to find the ".debug_info" section, and then doing a blind string search and replace in that section. This should be quite safe: although there is a remote possibility of false hits, they will only affect the debug_info section. R=iant,klarlund CC=distcc-pump APPROVED=klarlund DELTA=628 (594 added, 5 deleted, 29 changed) * distcc/Makefile.in: edit * distcc/configure.ac: edit * distcc/src/config.h.in: edit * distcc/src/fix_debug_info.c: add * distcc/src/serve.c: edit * distcc/test/testdistcc.py: edit 2007/09/28 17:52:51 Nils Klarlund Fix .d target error. This error was unfortunately introduced with a previous change, which corrected other errors and attempted to put this logic into a unit test straightjacket. R=fergus,manos DELTA=2 (0 added, 1 deleted, 1 changed) * distcc/src/dotd.c: edit * distcc/test/testdistcc.py: edit 2007/09/28 17:13:53 Nils Klarlund Prepare release of pump13 to overcome bug in yesterday's release. R=fergus,manos * version.sh: edit 2007/09/27 14:18:09 Nils Klarlund Prepare new release. R=fergus,manos DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/09/26 22:31:54 Nils Klarlund Allow globs in trigger path expressions. R=fergus,manos DELTA=101 (85 added, 0 deleted, 16 changed) * include_server/include_analyzer.py: edit * include_server/include_analyzer_test.py: edit * include_server/include_server.py: edit * pump.in: edit 2007/09/26 22:01:05 Nils Klarlund Fix parsing of -D options to allow for function-like macros. R=fergus,manos DELTA=88 (55 added, 28 deleted, 5 changed) * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_analyzer_test.py: edit * include_server/parse_file.py: edit * include_server/test_data/func_macro.c: add 2007/09/26 21:51:45 Nils Klarlund The interpretation of the # operator of CPP was incorrect because whitespace after # was not ignored. For example, # a must expand to "a" not "" a We fix this problem here. R=fergus,manos DELTA=3 (2 added, 0 deleted, 1 changed) * include_server/macro_eval.py: edit * include_server/macro_eval_test.py: edit 2007/09/21 22:57:17 Fergus Henderson Fix two compiler warnings, one of them serious: - The type of the "len" argument in a call to PyArg_ParseType("#s", &string, &len) must be "int", not "size_t". This could cause serious problems for a 64-bit architecture. - Include "distcc.h" before the other header file, so that we get the definition of 'enum dcc_protover' before it is used. R=klarlund CC=distcc-pump DELTA=4 (1 added, 2 deleted, 1 changed) * include_server/c_extensions/distcc_pump_c_extensions_module.c: edit 2007/09/21 22:56:33 Fergus Henderson When compiling the distcc code and the extension module, enable C compiler warnings ("-Wall -Wextra"), and enforce them ("-Werror"). Also make sure that we compile with "-D_GNU_SOURCE", since distcc uses that, and we need that to avoid some compiler warnings. R=klarlund CC=distcc-pump DELTA=3 (0 added, 0 deleted, 3 changed) * include_server/setup.py: edit 2007/09/21 22:56:08 Fergus Henderson Pass the "-v" (verbose) option to "autoreconf". R=klarlund DELTA=1 (0 added, 0 deleted, 1 changed) * run_all_autoconf.sh: edit 2007/09/21 13:41:36 Nils Klarlund Fix bugs in dcc_get_dotd_info that give rise to erroneous .d file names or erroneous target names in .d files. - If derived from the file name given by -o, then the suffix must be stripped before .d is appended. - If the file name ends in '.', then only "d" is appended. - If an -o name is given and the name ends in '.', then this name, not the input filename, is still to be used for the name of the .d file. - If a target is provided in DEPENDENCIES_OUTPUT, then this target must be returned -- otherwise the .d file computed on the server will be incorrect if the target happens not to be the object file. Extra: a test for the length of the string in variable extension was unnecessary. Tests: We made a unit test that exercices the function in a number of ways. Heuristics about the names of .d files, expressed as globs, are used to pinpoint the actual naming conventions used by gcc. R=manos,fergus DELTA=255 (217 added, 20 deleted, 18 changed) * distcc/Makefile.in: edit * distcc/src/dotd.c: edit * distcc/src/h_dotd.c: add * distcc/test/testdistcc.py: edit 2007/09/20 11:36:58 Nils Klarlund Fix sending of emails by include server. Avoid sending emails when translation unit could not be found or if command line is malformed. Also, fix buglet that made the previous translation unit name appear in the case of malformed command line. R=fergus,manos DELTA=6 (2 added, 0 deleted, 4 changed) * include_server/include_analyzer.py: edit * include_server/include_server_test.py: edit * include_server/parse_command.py: edit 2007/09/20 11:33:48 Nils Klarlund Prepare new release to include "Reset caches more aggressively". R=fergus,manos DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/09/20 07:54:03 Nils Klarlund Reset caches more aggressively. According to a bug report, there are uncommon build situations where distcc-pump fails. We address this by: -- Making sure to reset the cache use by the link-gathering mechanism of mirror_path in the include server. This is a real bug although probably not the culprit. -- Also monitoring 'includes/third_party/stl/third_party/stl', which is the symbolic link changed (with path-doubling) by the set symlink mechanism of the third_party/stl/BUILD file. R=fergus,manos DELTA=6 (5 added, 0 deleted, 1 changed) * include_server/include_analyzer.py: edit * include_server/mirror_path.py: edit * pump.in: edit 2007/09/18 13:03:49 Nils Klarlund Prepare 'pump10' release. This release is to correct minor issues such as interaction with ccache and the handling of command line -D options. R=fergus,manos DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/09/18 12:59:45 Nils Klarlund Correct two mistakes in the handling of filepaths: -- an elementary one in basics.py: the rstrip() function of string is functional -- a more tricky one: in an include of the form "#include ./foo.h", we must normalize the file name to 'foo.h', otherwise an infinite regression would occur if foo.h includes ./foo.h. R=fergus,manos DELTA=13 (10 added, 1 deleted, 2 changed) * include_server/basics.py: edit * include_server/cache_basics.py: edit 2007/09/17 14:51:56 Nils Klarlund Fix client to change protocol version from 3 (pump) to 2 (plain) in situations involving already preprocessed code, such as arising from ccache use, or involving certain insidious environment variables. Test: make -C distcc valgrind-check R=fergus,manos DELTA=41 (40 added, 1 deleted, 0 changed) * distcc/src/compile.c: edit 2007/09/17 13:56:56 Nils Klarlund When announcing pump installation, show the real location -- unmasked by symbolic links. R=fergus,manos DELTA=1 (0 added, 0 deleted, 1 changed) * pump.in: edit 2007/09/17 13:26:48 Fergus Henderson Fix a bug in "pump --startup": don't print out a setting for DISTCC_HOSTS if we didn't set DISTCC_HOSTS. (Note: this is not an urgent fix, because I've made Blaze work around the bug. But worth fixing nevertheless.) R=klarlund CC=distcc-pump DELTA=3 (2 added, 0 deleted, 1 changed) * pump.in: edit 2007/09/17 12:33:21 Nils Klarlund Make 'pump' executable. R=fergus,manos DELTA=2 (1 added, 0 deleted, 1 changed) * configure.ac: edit 2007/09/17 09:48:08 Nils Klarlund Propagate symbols defined through -D options to include analyzer. This makes computed includes operable wtih values provided on the command line. Tests: 1. New tests exercise that when reissuing an analysis for the same file and with same search directories, but with a symbol definition affecting a previously computed include, the include graph is recalculated, not reused, and the new value of the symbol is used for resolving the computed include. 2. The new code was also verified to solve the problem reported in a bug report (I used a workstation in ZRH to build the actual code that cause the issue). 3. I did 'make maintainer-check'. R=fergus,manos DELTA=66 (56 added, 0 deleted, 10 changed) * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_analyzer_memoizing_node_test.py: edit * include_server/include_analyzer_test.py: edit * include_server/parse_command.py: edit * include_server/parse_command_test.py: edit 2007/09/15 21:47:49 Nils Klarlund Update a comment as per Fergus's review comment for a previous change. R=fergus,manos DELTA=3 (1 added, 0 deleted, 2 changed) * include_server/compiler_defaults.py: edit 2007/09/13 23:40:04 Nils Klarlund Introduces mechanism for monitoring the real paths that are resolved during include analysis. Invoke as --realpath_warning_re=RE. For more, see include_server.py, Usage() in this CL. This allows a user to find out which source files are actually picked out by the include analysis during the build. Such information can useful if it is suspected that include directories are wrong. TESTING: this CL passes make check and make maintainer-check. It was tested earlier on Google software as part of the discussion of this feature now found on the distcc-pump wiki. From the wiki: INCLUDE_SERVER_ARGS='--realpath_warning_re=RE' make-dbg .... makes the include server write a warning to stderr whenever a filename is resolved to a realpath (a canonicalized absolute pathname - see 'man realpath') that is matched by RE, which is a regular expression in Python syntax. For example, to find out which C/C++ files from /home/build/buildonly are used during a build of gws:gws, do: INCLUDE_SERVER_ARGS='--realpath_warning_re=/auto/buildonly' make-dbg -distcc_pump -g0 gws:gws Then, you will see messages like: WARNING include server: For translation unit 'foo/bar.cc' while processing 'foo/bar.cc' lookup of file 'baz.h' resolved to '../whatever/baz.h' whose realpath is '/auto/whatever/blah/blah/baz.h'. (Here we have formatted the message from it's one-liner original.) Note that the include server currently does not identify the header file containing the #include for which the realpath matched, but only the translation unit. Also, because of caching in the include server, a message for a particular resolution appears usually only once. Thus this analysis cannot be used to find out which files a particular compilation unit uses. R=fergus,manos DELTA=42 (40 added, 0 deleted, 2 changed) * include_server/basics.py: edit * include_server/cache_basics.py: edit * include_server/include_server.py: edit 2007/09/13 23:15:37 Nils Klarlund Introduce flag for NotCoveredError exceptions that specify whether email is to be sent or not. We use this parameter to suppress warnings that related to #include "/foo/bar.h" and similar uses. Also, clean up of some error messages (add '.'). We fix a few typos and unneeded variables (e.g.: opt_build_stat_verify), while we're looking at these files. Additionally, improve NotCovered messages by adding the file name (in most cases). Finally, introduce option --no-email to negate the default of --email in the pump script if so desired through INCLUDE_SERVER_ARGS. TESTING: This change passes 'make check' and 'make maintainer-check'. We also ran system tests and verified that occurences of #include "/foo/bar.h" now does not result in mail being generated. These tests are not part of this changelist, but contained in another change. R=manos,fergus DELTA=186 (93 added, 49 deleted, 44 changed) * include_server/basics.py: edit * include_server/cache_basics.py: edit * include_server/include_server.py: edit * include_server/include_server_test.py: edit * include_server/parse_file.py: edit 2007/09/13 18:18:25 Nils Klarlund Reorganize and extend tests: - move existing tests in include_server.py to new include_server_test.py - test the main 'handler' in include_server, including how exceptions, such as internal error, affect automated email generation R=fergus,manos DELTA=613 (374 added, 198 deleted, 41 changed) * include_server/Makefile.in: edit * include_server/include_analyzer_test.py: add * include_server/include_server_test.py: edit * include_server/test_data/contains_abs_include.c: add 2007/09/13 14:54:43 Nils Klarlund Prepare for release; bump to version 'pump9'. R=fergus,manos DELTA=1 (0 added, 0 deleted, 1 changed) * version.sh: edit 2007/09/13 14:41:34 Nils Klarlund Remove Google crosstool specification (which made the build fail anyway). R=manos,fergus DELTA=1 (0 added, 0 deleted, 1 changed) * build-distcc.sh: edit 2007/09/13 14:38:24 Nils Klarlund Correct flawed configuration scripts and introduce configuration sanity checks. autoconfig assumes that if an .ac script has not changed then the resulting configure scripts do not need to change. This assumption is untrue because we use a shell escape. (This escape has been rewritten according to Fergus's suggestion.) Moreover, m4 caches processed files. This royally messes up things beyond and in addition to just the aforementioned problem. We fix this by using autoreconf (suggested by Fergus). It seems to address these issues. We have verified that: ./run_all_autoconf.sh; ./configure; make clean; make all works and embeds a changed version number (in version.sh) in the right places. With further CLs "Remove Google crosstool specification" and "Introduce needed cast.", it is possible to use ./build-distcc.sh to make RPM and .deb packages. R=fergus,manos DELTA=76 (36 added, 20 deleted, 20 changed) * Makefile.in: edit * configure.ac: edit * distcc/configure.ac: edit * include_server/configure.ac: edit * run_all_autoconf.sh: edit * version.sh: edit 2007/09/13 14:21:11 Nils Klarlund Introduce needed cast. This problem was detected with gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5). R=fergus,manos DELTA=3 (2 added, 0 deleted, 1 changed) * distcc/src/stats.c: edit 2007/09/13 14:18:44 Nils Klarlund Not deleting .d files breaks the build sometimes. R=fergus,manos DELTA=4 (1 added, 0 deleted, 3 changed) * distcc/Makefile.in: edit 2007/09/12 21:08:29 Fergus Henderson Use the standard autoconf substitution process to create pump from pump.in, rather than a hand-crafted Makefile rule. R=klarlund CC=distcc-pump DELTA=16 (4 added, 6 deleted, 6 changed) * Makefile.in: edit * configure.ac: edit * pump.in: edit 2007/09/12 20:49:57 Fergus Henderson Fix a Posix conformance bug: we were passing the same fd set to select() for both the writeable fd set and the error fd set, but according to Posix (specifically The Open Group Base Specifications Issue 6, available at ), the arguments to select() are declared with the "restrict" attribute, which means they must not be aliased. Also, issue a trace message in the case when select() returns due to an error condition on the fd rather than because the fd has become writable. R=manos CC=distcc-pump DELTA=23 (18 added, 0 deleted, 5 changed) * distcc/src/io.c: edit 2007/09/12 18:57:03 Fergus Henderson Fix manual memory management bugs, and simplify the memory management a bit. dcc_set_output() was inconsistent about whether it copied its input argument or aliased it, about whether it freed the previous value in that slot. I changed the function so that it always copies the input argument, and always frees the previous value in the argv array slot that it is about to overwrite. I likewise changed dcc_set_input to copy its argument. dcc_set_output() was also inconsistent about whether or not it logged the change to the argument; I fixed that too, by always logging it. In serve.c I simplified the code and comments a little - there is no longer any aliasing going on, so the deallocation logic is simpler. R=manos CC=distcc-pump DELTA=35 (9 added, 12 deleted, 14 changed) * distcc/src/arg.c: edit * distcc/src/serve.c: edit 2007/09/12 18:51:05 Fergus Henderson Add support for running a single test case at a time, rather than running all of them. This is useful for debugging. R=manos CC=distcc-pump APPROVED=klarlund DELTA=46 (46 added, 0 deleted, 0 changed) * distcc/Makefile.in: edit * distcc/test/onetest.py: add 2007/09/12 18:48:53 Fergus Henderson Fix a timing dependence in the distcc test suite that caused the 'NoDetachDaemon_Case' test case to sometimes fail when run under valgrind. Specifically, when running the server in --no-detach mode, wait until the server starts accepting connections before running the test, rather than just waiting 0.5 seconds, which under valgrind is not always long enough. R=klarlund CC=distcc-pump DELTA=6 (3 added, 0 deleted, 3 changed) * distcc/test/testdistcc.py: edit 2007/09/12 18:47:34 Fergus Henderson Add "--startup" and "--shutdown" options to the pump script, for use by Blaze. Blaze can't use the ordinary mode of the pump script, because the Blaze server's lifetime is greater than the lifetime of the include server. R=klarlund CC=distcc-pump DELTA=181 (119 added, 12 deleted, 50 changed) * pump.in: edit 2007/09/11 13:59:25 Nils Klarlund Annul enviroment when probing for built-in include path. Fixes subtle problem reported in a bug report. R=fergus,manos DELTA=6 (3 added, 0 deleted, 3 changed) * include_server/compiler_defaults.py: edit 2007/09/11 12:37:56 Nils Klarlund Fix leftover comment from earlier fix: delete it. R=manos DELTA=3 (0 added, 3 deleted, 0 changed) * include_server/include_analyzer_memoizing_node.py: edit 2007/09/06 16:02:39 Nils Klarlund Improve mechanishm for overcoming unsoundness in build system. Change the semantics of stat_reset_triggers so that the changing of a symbolic link during the build triggers a reset of all include server caches. R=fergus,manos DELTA=57 (28 added, 1 deleted, 28 changed) * include_server/basics.py: edit * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_server.py: edit * include_server/include_server_test.py: edit 2007/09/05 15:50:58 Fergus Henderson Make distcc warning-free: - Remove "-Wconversion" from CFLAGS; this warning was useful for writing code that had to be compatible with pre-C89 C compilers that didn't support prototypes, but that isn't needed anymore, and it causes too many spurious warnings for perfectly legitimate code. - Add "-Wno-unused" to cflags for popt/*.c; those files have a bunch of unused parameters. - Eliminate all the remaining compiler warnings. - Add "-Werror" to CFLAGS so we won't get any regressions! TESTED = make maintainer-check valgrind-check R=manos CC=distcc-pump APPROVED=manos DELTA=56 (27 added, 6 deleted, 23 changed) * distcc/Makefile.in: edit * distcc/configure.ac: edit * distcc/popt/popt.c: edit * distcc/popt/popt.h: edit * distcc/popt/popthelp.c: edit * distcc/src/bulk.c: edit * distcc/src/emaillog.c: edit * distcc/src/exec.c: edit * distcc/src/hosts.c: edit * distcc/src/include_server_if.c: edit * distcc/src/lsdistcc.c: edit * distcc/src/prefork.c: edit * distcc/src/srvnet.c: edit * distcc/src/stats.c: edit 2007/08/30 14:01:37 Manos Renieris When receiving a string, print it out. R=klarlund,fergus DELTA=2 (2 added, 0 deleted, 0 changed) * distcc/src/rpc.c: edit 2007/08/30 13:58:45 Nils Klarlund Make tracing for client print out strings that are sent, not just their lengths. R=manos DELTA=1 (0 added, 0 deleted, 1 changed) * distcc/src/rpc.c: edit 2007/08/29 21:44:15 Nils Klarlund Fix bug in include server that gives rise to the include server being unable to find the translation unit. Also, delete some unneeded variables and make the remaining ones lowercased. R=manos,fergus DELTA=86 (73 added, 0 deleted, 13 changed) * include_server/basics.py: edit * include_server/basics_test.py: add * include_server/include_analyzer.py: edit * include_server/include_server.py: edit 2007/08/29 21:35:45 Nils Klarlund Prepare new release. R=manos,fergus DELTA=3 (2 added, 0 deleted, 1 changed) * version.sh: edit 2007/08/28 17:56:22 Nils Klarlund Fix typos incidentally introduced in a previous change -- and fix a function that scrubs file names in a test; it didn't work with links. R=manos DELTA=10 (1 added, 0 deleted, 9 changed) * include_server/include_server.py: edit * include_server/include_server_test.py: edit 2007/08/28 17:50:46 Nils Klarlund Add test files, missing from a previous change. R=manos,fergus APPROVED=manos DELTA=1 (1 added, 0 deleted, 0 changed) * include_server/test_data/dfoo/stat_triggers.h: add * include_server/test_data/stat_triggers.c: add * include_server/test_data/stat_triggers.h: add 2007/08/28 17:47:06 Manos Renieris Observe the HAVE_SENDFILE config variable. R=klarlund DELTA=7 (6 added, 0 deleted, 1 changed) * distcc/src/bulk.c: edit 2007/08/28 16:23:43 Nils Klarlund Make a central place for defining versions. Remove various generated files from source control. R=manos,fergus DELTA=13450 (41 added, 13401 deleted, 8 changed) * INSTALL: edit * build-distcc.sh: edit * configure: delete * configure.ac: edit * distcc/configure: delete * distcc/configure.ac: edit * include_server/configure: delete * include_server/configure.ac: edit * run_all_autoconf.sh: add * version.sh: add 2007/08/28 12:41:59 Nils Klarlund New option --stat_reset_triggers. The --stat_reset_triggers argument is a list of path names. If any such path changes from non-existing to existing during the build, then all stat-related caches are cleared. A test in include_server_test.py checks that the include analysis of a file is done from scratch after a trigger path went from non-existing to existing. R=manos,fergus DELTA=229 (174 added, 44 deleted, 11 changed) * include_server/basics.py: edit * include_server/cache_basics.py: edit * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_server.py: edit * include_server/include_server_test.py: edit * pump.in: edit 2007/08/27 14:05:26 Manos Renieris Part of a change from Nils, with a test added. This once fixes the #include"foobar" case. R=klarlund,fergus APPROVED=klarlund DELTA=5 (4 added, 0 deleted, 1 changed) * include_server/parse_file.py: edit * include_server/parse_file_test.py: edit 2007/08/27 13:56:47 Manos Renieris Part of a change from Nils. This one adds support for the -include flag. I've moved the test data and added a test for parse_command.py. R=klarlund,fergus APPROVED=klarlund DELTA=1545 (1498 added, 9 deleted, 38 changed) * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node_test.py: edit * include_server/parse_command_test.py: edit * include_server/test_data/distcc/README: add * include_server/test_data/distcc/src/bulk.h: add * include_server/test_data/distcc/src/compile.h: add * include_server/test_data/distcc/src/config.h: add * include_server/test_data/distcc/src/distcc.c: add * include_server/test_data/distcc/src/distcc.h: add * include_server/test_data/distcc/src/emaillog.h: add * include_server/test_data/distcc/src/exitcode.h: add * include_server/test_data/distcc/src/hosts.h: add * include_server/test_data/distcc/src/implicit.h: add * include_server/test_data/distcc/src/include_me.h: add * include_server/test_data/distcc/src/state.h: add * include_server/test_data/distcc/src/trace.h: add * include_server/test_data/distcc/src/util.h: add 2007/08/27 13:05:08 Manos Renieris Report the client ip if we refuse a connection. R=dkegel,klarlund,fergus CC=ahyun DELTA=14 (7 added, 1 deleted, 6 changed) * distcc/src/srvnet.c: edit 2007/08/20 13:21:57 Manos Renieris Add include_analyzer_memoizing_node_test to the list of tests. R=klarlund,fergus DELTA=2 (1 added, 0 deleted, 1 changed) * include_server/Makefile.in: edit 2007/08/20 12:00:47 Manos Renieris Minimize the output during tests; it obscures the test results. R=klarlund,fergus APPROVED=klarlund DELTA=22 (1 added, 1 deleted, 20 changed) * include_server/c_extensions_test.py: edit * include_server/include_server_test.py: edit * include_server/macro_eval_test.py: edit 2007/08/10 11:21:02 Nils Klarlund Fix a bug: memoization in the central FindNode algorithm was too optimistic. R=fergus,manos DELTA=20 (0 added, 20 deleted, 0 changed) * include_server/include_analyzer_memoizing_node.py: edit 2007/08/08 17:42:57 Nils Klarlund Make include server not write a stack trace when the exception is NotCovered. Such a situation is not bad. Also, remove a couple of unnecessary imports. R=manos,fergus DELTA=19 (5 added, 4 deleted, 10 changed) * include_server/include_server.py: edit 2007/08/08 15:22:54 Nils Klarlund More missing test files. This time for computed includes. R=fergus,manos APPROVED=manos DELTA=21 (21 added, 0 deleted, 0 changed) * include_server/test_data/test_computed_includes/helper.c: add * include_server/test_data/test_computed_includes/incl.h: add * include_server/test_data/test_computed_includes/inclA.h: add * include_server/test_data/test_computed_includes/src.c: add * include_server/test_data/test_computed_includes/srcA.c: add 2007/08/08 00:58:27 Nils Klarlund Fix the problem that stat's in the main 'Resolve' routine of cache_basics were based on os.path.exists, not on os.path.isfile. Write new test to verify that the behavior is now correct. Fix little problem in compress_files.py R=fergus,manos APPROVED=fergus,manos DELTA=88 (66 added, 0 deleted, 22 changed) * include_server/c_extensions/distcc_pump_c_extensions_module.c: edit * include_server/c_extensions_test.py: edit * include_server/cache_basics.py: edit * include_server/compress_files.py: edit * include_server/include_server_test.py: edit * include_server/test_data/dfoo/i_am_perhaps_a_directory.h: add * include_server/test_data/i_am_perhaps_a_directory.h/empty_file: add * include_server/test_data/test_directory_probing.c: add 2007/08/07 23:06:24 Nils Klarlund 'make test' was failing --- this CL fixes that. R=fergus,manos DELTA=1 (1 added, 0 deleted, 0 changed) * include_server/setup.py: edit 2007/08/07 23:06:00 Nils Klarlund Make release subversion = pump6. R=fergus,manos DELTA=31 (0 added, 0 deleted, 31 changed) * build-distcc.sh: edit * configure: edit * configure.ac: edit * distcc/configure: edit * distcc/configure.ac: edit * include_server/configure: edit * include_server/configure.ac: edit 2007/08/07 16:26:27 Manos Renieris a) Include the server side error messages in the maintainer email b) Don't output them on the screen. R=fergus,klarlund DELTA=116 (107 added, 1 deleted, 8 changed) * distcc/src/bulk.c: edit * distcc/src/bulk.h: edit * distcc/src/clirpc.c: edit * distcc/src/compile.c: edit * distcc/src/compile.h: edit * distcc/src/distcc.h: edit * distcc/src/emaillog.c: edit * distcc/src/emaillog.h: edit * distcc/src/remote.c: edit 2007/08/07 16:20:57 Manos Renieris For testing purposes, add a way to stub out the include server. R=fergus,klarlund DELTA=73 (72 added, 1 deleted, 0 changed) * distcc/src/include_server_if.c: edit * distcc/src/util.c: edit * distcc/src/util.h: edit 2007/08/06 23:07:25 Nils Klarlund Reintroduced 'introspection' so that an installed package can be moved from say buildstaticrw to buildstatic with all references to executables moving along. Added overide mechanism as well. Also, introduced a necessary check when running off source directory so see whether there's more than on .so file. Finally, changed messages so that we're printing a message that the include server has started instead of one indicating that is starting. R=fergus,manos DELTA=74 (52 added, 9 deleted, 13 changed) * Makefile.in: edit * pump.in: edit 2007/08/06 21:56:31 Nils Klarlund Various minor changes in response to comment by Fergus for a previous change. R=fergus DELTA=12 (3 added, 0 deleted, 9 changed) * include_server/include_server.py: edit 2007/08/06 14:29:44 Nils Klarlund Check that /dev/shm is actually writable and executable. Also, correct two very, very minor mistakes. R=fergus,manos DELTA=14 (4 added, 1 deleted, 9 changed) * include_server/basics.py: edit * include_server/compress_files.py: edit * include_server/include_server.py: edit 2007/08/02 16:15:06 Nils Klarlund Add email notifications from include server. Delete email notifications from distcc client when caused by include server providing an error indication. Features: - new command line flags for enabling emails for exception conditions - a limit on the number of emails sent due to NotCovered exception - stack trace is included Testing: - tested new commnand line arguments - tested for each of the three exception handlers where email is sent that email is indeed being sent - 'make test' for include_server R=fergus,manos DELTA=106 (86 added, 2 deleted, 18 changed) * distcc/src/compile.c: edit * include_server/basics.py: edit * include_server/include_server.py: edit * pump.in: edit 2007/08/02 14:40:27 Nils Klarlund Add option -t or --time for total time spent in include server to be printed on stderr. Example: Include server timing. Elapsed: 18.2s User: 0.1s System: 0.0s Total: 0.1s R=fergus,manos DELTA=47 (32 added, 0 deleted, 15 changed) * include_server/basics.py: edit * include_server/include_server.py: edit 2007/08/01 17:33:50 Nils Klarlund Make the handling of computed includes sound. Upto now, the include server failed to reprocess a file F with the property: - F transitively includes a file G - G contains a computed include and the support of its expression contains a symbol X - X is defined or redefined after G is processed the first time We hope to compile OpenOffice with this fix. Little things: - Fixed include_analyzer_memoizing_node_test.py to allow regression test for distcc itself to pass. - Removed dead code EvalExprDirs in include_analyzer.py. Correctness testing: - In include_server: 'make test' works. - Function test_AdvancedComputedIncludes is added in 'include_server/include_server_test.py'. It contains the basic scenario we are correcting for. - We ran multiple tests 'make-dbg -r -j80 third_party/lzo'; every test succeeded. These did not succeed with existing version. - We built gws:gws and localsearch/mustang Performance testing: For make-dbg gws:gws -g0, the best time before the change: make-dbg real 7m44.230s user 7m0.494s sys 2m25.385s Include server Elapsed: 463.9s User: 72.5s System: 37.3s Total: 109.9s The best time after: make-dbg real 7m44.772s user 6m46.249s sys 2m2.944s Include server Elapsed: 464.6s User: 87.4s System: 36.9s User + System: 124.3s Thus, it seems that we've added 15s or about 8% to the include server time. (These times are on a hyperthreaded machine and therefore hard to interpret.) Remarks: the central algorithm still is in the need of refactoring. That 8% running time was added because of the current change adds to my impression that the refactoring must be done with care. R=fergus,manos DELTA=316 (237 added, 25 deleted, 54 changed) * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_analyzer_memoizing_node_test.py: edit * include_server/include_server_test.py: edit * include_server/macro_eval.py: edit * include_server/macro_eval_test.py: edit * include_server/parse_file.py: edit 2007/07/30 17:10:04 Manos Renieris Bump up the release number. R=klarlund,fergus DELTA=1 (0 added, 0 deleted, 1 changed) * build-distcc.sh: edit 2007/07/27 20:23:30 Manos Renieris Push declaration to the top of block so that it's more portable. TBR=klarlund,fergus DELTA=4 (2 added, 2 deleted, 0 changed) * distcc/src/compile.c: edit * distcc/src/serve.c: edit 2007/07/27 19:40:59 Manos Renieris Respect the second part of the DEPENDENCIES_OUTPUT env variable. R=fergus,klarlund DELTA=79 (65 added, 5 deleted, 9 changed) * distcc/src/compile.c: edit * distcc/src/distcc.h: edit * distcc/src/dotd.c: edit * distcc/src/dotd.h: edit * distcc/src/serve.c: edit 2007/07/27 09:09:53 Nils Klarlund This file went MIA. This CL will make 'make -C include_server test' pass. R=fergus,manos DELTA=14 (14 added, 0 deleted, 0 changed) * include_server/test_data/more_macros.c: add 2007/07/26 21:25:25 Manos Renieris Print the protocol description even if opt_numeric is true. R=fergus,klarlund DELTA=4 (1 added, 0 deleted, 3 changed) * distcc/src/lsdistcc.c: edit 2007/07/26 15:39:00 Manos Renieris Explicitly rewrite the .d file dependency on the server; -MT does not work quite as advertised (see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12448): gcc adds the argument of -MT to the list of object files in the dependencies, rather than replacing the default object file name with the argument of -MT; dotd does not tolerate two object files in the .d file. R=fergus,klarlund DELTA=71 (59 added, 5 deleted, 7 changed) * distcc/src/compile.c: edit * distcc/src/dotd.c: edit * distcc/src/dotd.h: edit * distcc/src/serve.c: edit 2007/07/26 15:07:34 Fergus Henderson Add -Wuninitialized to CFLAGS. TESTED= Ran "autoconf && configure && make clean && make" and verified that no new warnings were generated. R=manos CC=distcc-pump DELTA=2 (2 added, 0 deleted, 0 changed) * distcc/configure: edit * distcc/configure.ac: edit 2007/07/25 11:28:33 Manos Renieris Don't output the statistics for the doti file if there is no doti file. R=fergus,klarlund DELTA=1 (0 added, 0 deleted, 1 changed) * distcc/src/remote.c: edit 2007/07/25 11:26:03 Manos Renieris Fix a (serious) bug. sets_dotd was not initialized, and we were not rewritting the dependency in the .d file. R=fergus,klarlund DELTA=2 (1 added, 0 deleted, 1 changed) * distcc/src/compile.c: edit * distcc/src/dotd.c: edit 2007/07/24 17:33:23 Manos Renieris Always close the file descriptors after communicating with the server, regardless of how soon we bail out. R=fergus,klarlund DELTA=19 (9 added, 9 deleted, 1 changed) * distcc/src/remote.c: edit 2007/07/18 19:49:54 Manos Renieris Don't try to send the preprocessed file to the server if the local preprocessing failed. Otherwise, either the file sent to the server is wrong, or it does not exist at all. In the first case, the result of the compilation is wrong. In the second, trying to send an existing file is considered a communication or remote error, and we end up thinking that the remote host is down or in some other way unresponsive. Under the current fallback mode, this ends up printing the erro messages from local preprocessing twice, once while its trying to preprocess the file to send it to the server, and once while trying to compile locally. I think that's ok. R=fergus,klarlund DELTA=3 (3 added, 0 deleted, 0 changed) * distcc/src/remote.c: edit 2007/07/18 16:21:35 Manos Renieris Added some notes on the implementation of protocol version 3. R=fergus,klarlund DELTA=61 (61 added, 0 deleted, 0 changed) * distcc/doc/protocol-3-impl.txt: add 2007/07/13 14:22:13 Manos Renieris Tiny change to use the phony feature directly for the pump target. R=klarlund,fergus DELTA=5 (1 added, 3 deleted, 1 changed) * Makefile.in: edit 2007/07/12 15:17:54 Nils Klarlund Addressing Fergus's comments for a previous change + more changes. R=fergus,manos DELTA=45 (27 added, 6 deleted, 12 changed) * README: edit 2007/07/10 17:18:31 Manos Renieris Added a description for protocol version 3. R=klarlund,fergus DELTA=82 (82 added, 0 deleted, 0 changed) * distcc/doc/protocol-3.txt: add 2007/07/09 16:01:36 Nils Klarlund New subversion number for packages. R=fergus,manos DELTA=1 (0 added, 0 deleted, 1 changed) * build-distcc.sh: edit 2007/07/09 13:50:11 Nils Klarlund When using --verbose, the variable denoting the option level is not touched. So, --verbose is not equivalent to setting the option level to 'debug' as the manual says. This is fixed. R=fergus,manos DELTA=1 (1 added, 0 deleted, 0 changed) * distcc/src/dopt.c: edit 2007/07/09 13:41:11 Nils Klarlund Simplify memory allocation strategy in dcc_run_job. Tests: 'make valgrind-check'. R=fergus,manos DELTA=22 (9 added, 3 deleted, 10 changed) * distcc/src/serve.c: edit 2007/07/05 14:38:09 Nils Klarlund Fix server and include server to allow absolute translation unit. I refactored a bit to cut down the length of dcc_run_job (which is still too long). TESTING: I have verified that regexp-options.cc now compiles on pump server. I have compiled several hundred other files. Also, I verified that 'make valgrind-check' passes. Note: a problem occurred in an lsdistcc test. The output from lsdistcc was not in the expected order. I changed the test to sort the output before the comparison. R=fergus,manos DELTA=241 (145 added, 76 deleted, 20 changed) * distcc/src/serve.c: edit * distcc/test/testdistcc.py: edit * include_server/include_analyzer.py: edit 2007/06/29 15:19:42 Nils Klarlund Fix email address in comments and code by introducing an abstraction. R=fergus,manos DELTA=7 (1 added, 0 deleted, 6 changed) * distcc/src/compile.c: edit * distcc/src/emaillog.c: edit * distcc/src/emaillog.h: edit 2007/06/29 15:15:39 Nils Klarlund Fix problem that a stack trace was produced for Ctrl-C. In particular, we discovered that printing out args[0] of the instance object is not wise, because an index error may ensue. R=fergus,manos DELTA=20 (9 added, 5 deleted, 6 changed) * include_server/include_server.py: edit 2007/06/28 18:30:54 Nils Klarlund Remove offensive code. I'm now handling configuring of pump in an auxiliary script, also called 'pump'. R=fergus,manos DELTA=11 (0 added, 8 deleted, 3 changed) * Makefile.in: edit * pump.in: edit 2007/06/28 15:51:09 Manos Renieris Change the address we send errors to. R=fergus,klarlund DELTA=1 (0 added, 0 deleted, 1 changed) * distcc/src/emaillog.c: edit 2007/06/26 22:03:23 Manos Renieris Added -Pprotocol option, which will print out only the servers that support (at least) the given protocol. lsdistcc wll now print the protocol type out with the host i.e. host.domain.com,lzo. R=fergus,klarlund CC=distcc-pump DELTA=134 (116 added, 9 deleted, 9 changed) * distcc/Makefile.in: edit * distcc/src/lsdistcc.c: edit 2007/06/21 17:45:39 Manos Renieris Tell the user why they are seeing error messages twice. R=fergus,klarlund DELTA=3 (2 added, 0 deleted, 1 changed) * distcc/src/compile.c: edit 2007/06/21 16:40:25 Manos Renieris Forgot emaillog.h. Oops! R=fergus,klarlund DELTA=8 (8 added, 0 deleted, 0 changed) * distcc/src/emaillog.h: add 2007/06/21 13:04:17 Manos Renieris Add email logging. R=klarlund,fergus DELTA=170 (137 added, 15 deleted, 18 changed) * distcc/Makefile.in: edit * distcc/src/compile.c: edit * distcc/src/distcc.c: edit * distcc/src/emaillog.c: add * distcc/src/trace.c: edit * distcc/src/traceenv.c: edit 2007/06/20 16:10:59 Nils Klarlund Fix spelling error in Makefile.in, bump-up subversion number. R=fergus,manos DELTA=2 (0 added, 0 deleted, 2 changed) * build-distcc.sh: edit * include_server/Makefile.in: edit 2007/06/20 15:36:43 Nils Klarlund Further enviroment variables for controlling behavior of include server when invoked through pump. Also, we fixed the problem that for the common situation that configure is run in the top level directory of the source tree it was impossible to run 'pump'. The solution is to regard the script alteration by the Makefile rule for 'pump' something that regards mainly the installed version. The source tree version of pump finds its Python files in the source directory and its .so file under the 'build/lib.xxx/include_server' subdirectory of th scr directory. Finally, we took out the hardcoding for values of the potential distcc servers. When the make rule for 'pump' is run, the environment variable DISTCC_POTENTIAL_HOSTS with its current value is copied into 'pump' -- if it is set. So, now I prepare distribution by doing: DISTCC_POTENTIAL_HOSTS="test-distcc1.ame test-distcc2.ame test-distcc3.ame test-distcc4.ame test-distcc5.ame pump1.ame pump2.ame pump3.ame pump4.ame pump5.ame pump6.ame pump7.ame pump8.ame pump9.ame distcc1" make pump This also of course makes the 'pump' script work in the source directory, where it'll now pick up the servers I specified for the ad hoc and regression tests I run. With this machinery, I was again able to easily test the other pending changelists for the include server. * Makefile.in: edit * pump.in: edit 2007/06/20 01:38:51 Fergus Henderson When aborting, make sure we exit with a non-zero exit status. TBR=klarlund * include_server/include_server.py: edit 2007/06/19 23:44:15 Nils Klarlund Fix the problem that source was nuked by 'make clean'. R=manos,fergus DELTA=6 (0 added, 1 deleted, 5 changed) * include_server/Makefile.in: edit 2007/06/19 23:41:55 Nils Klarlund Reapplying after rollback. Make --verify mode work with the include server and improve error reporting. An internal error would now look like: WARNING: Preprocessing locally. Include server internal error: 'exceptions.TypeError: expected string or buffer' for translation unit 'maps/frontend/geocode_api_renderer.cc' We also fix a bug regarding TERM signal that would not properly terminate an include server. R=fergus,manos DELTA=58 (38 added, 2 deleted, 18 changed) * include_server/cache_basics.py: edit * include_server/include_analyzer.py: edit * include_server/include_server.py: edit 2007/06/19 23:39:46 Nils Klarlund We fix several bugs in the include server. - The macro evaluator has been completely rewritten. In particular, it can now be used to parse files in maps/frontend that involve computed includes like: #include MAPS_TEMPLATE_VARNAMES(map_kml_results) - We also now parse macro calls on arguments that contain macro calls. - We implement the 'disabled' semantics of macro invocation (for infinite recursion prevention). - We now apply # and ## only as part of expanding function-like macros. - We added several new tests, in part taken from the CPP Internals document. - A test for ResolveExpr with pedagodical value has been added (and another file for this test to work). - The macro evaluator has been thouroughly commented. - The parser has been updated so that it no longer thinks that '//' within a filepath is a C++ comment. - The parser's handling of macro calls (and definitions) was improved. Note that we now only use the parser's understanding of macros for function-like defines, not for macro invocations, which are treated in a new routine in macro_eval. R=fergus,manos DELTA=531 (373 added, 68 deleted, 90 changed) * include_server/macro_eval.py: edit * include_server/macro_eval_test.py: edit * include_server/parse_file.py: edit * include_server/parse_file_test.py: edit * include_server/test_data/maps/foo.tpl.varnames.h: add * include_server/test_data/parse.c: edit 2007/06/19 13:27:49 Manos Renieris Update the rpm prefix to be /usr, because that's where the init.d scripts expect it. R=klarlund,fergus DELTA=4 (0 added, 0 deleted, 4 changed) * distcc.spec: edit 2007/06/18 23:10:26 Fergus Henderson Give better error messages in cases where we can't determine the compiler's default search path(s). Also don't try to terminate the include server in those cases (it wasn't actually terminating anyway, since the sys.exit() exception was being caught by the SocketServer class, I think). R=karlund CC=distcc-pump DELTA=17 (9 added, 0 deleted, 8 changed) * include_server/compiler_defaults.py: edit 2007/06/15 15:07:45 Fergus Henderson Another change towards getting "make check" working again. TBR=manos * include_server/Makefile.in: edit 2007/06/15 14:58:27 Fergus Henderson Make the "pump" target depend on the "Makefile" target, so that it gets rebuilt if you configure with a different prefix. This is in response to manos' verbal post-submit review comments on a previous change. TBR=manos * Makefile.in: edit 2007/06/15 14:52:08 Nils Klarlund This CL was submitted too early. Automated g4 rollback of a previous change: Make --verify mode work with the include server and improve error reporting. An internal error would now look like: WARNING: Preprocessing locally. Include server internal error: 'exceptions.TypeError: expected string or buffer' for translation unit 'maps/frontend/geocode_api_renderer.cc' We fix a bug regarding TERM signal that would not properly terminate an include server. * include_server/cache_basics.py: edit * include_server/include_analyzer.py: edit * include_server/include_server.py: edit 2007/06/15 14:35:39 Fergus Henderson Fix bugs with the generation of the "pump" script from "pump.in": - $ was not properly escaped and was being interpreted by Make rather than the shell - the pump.in script that is being copied could be read-only and we did not (a) remove the old read-only copy nor (b) make the new copy writable. - pump should be a real target, not a phony target - we need a dependency "all: pump" P.S. After syncing this change, you need to run "autoconf" (or sync Manos' change which updated the configure script), "configure", and then "make". TBR=manos CC=distcc-pump DELTA=5 (1 added, 0 deleted, 4 changed) * Makefile.in: edit 2007/06/15 14:33:52 Fergus Henderson Temporary work-around for problem where "make clean" nukes the source tree. TBR=manos,klarlund * include_server/Makefile.in: edit 2007/06/15 14:26:45 Fergus Henderson Add support for running tests in lzo mode or in pump mode. R=manos CC=distcc-pump DELTA=38 (27 added, 2 deleted, 9 changed) * distcc/Makefile.in: edit * distcc/test/testdistcc.py: edit 2007/06/15 13:34:48 Manos Renieris Update the configure script. Remove pump, which is now generated by make. R=klarlund,fergus DELTA=272 (52 added, 219 deleted, 1 changed) * configure: edit * pump: delete 2007/06/15 07:13:52 Nils Klarlund Fix file permission to +x. R=manos * build-distcc.sh: edit 2007/06/14 22:51:35 Nils Klarlund Make --verify mode work with the include server and improve error reporting. An internal error would now look like: WARNING: Preprocessing locally. Include server internal error: 'exceptions.TypeError: expected string or buffer' for translation unit 'maps/frontend/geocode_api_renderer.cc' We fix a bug regarding TERM signal that would not properly terminate an include server. R=fergus,manos * include_server/cache_basics.py: edit * include_server/include_analyzer.py: edit * include_server/include_server.py: edit 2007/06/14 17:21:22 Manos Renieris Script and spec file for building rpm. R=fergus,klarlund DELTA=490 (490 added, 0 deleted, 0 changed) * build-distcc.sh: add * distcc.spec: add 2007/06/14 16:10:47 Manos Renieris Add DESTDIR so that rpm building can find the pump script. R=fergus,klarlund DELTA=6 (3 added, 0 deleted, 3 changed) * Makefile.in: edit 2007/06/14 14:06:05 Manos Renieris Revamp the configure/make/make install process: - the python building and installation is done by setup.py. - include_server is now a python package. - include_server/c_extensions is not buildable by itself anymore. - include_server tests are build into their own directory. - the pump script is "finished" at make time, before install. - run.py is not needed anymore R=fergus,klarlund DELTA=633 (456 added, 147 deleted, 30 changed) * Makefile.in: edit * configure.ac: edit * distcc/configure: edit * distcc/configure.ac: edit * include_server/Makefile.in: edit * include_server/__init__.py: add * include_server/c_extensions/Makefile.in: delete * include_server/c_extensions/setup.py: delete * include_server/c_extensions_test.py: edit * include_server/configure: edit * include_server/configure.ac: edit * include_server/setup.py: add * pump.in: add 2007/06/11 16:30:54 Nils Klarlund Improving start-up time. It turns out that the include server is not the bottleneck -- it's about 200ms to start it. But lsdistcc is. So with change I'm just trying to save that amount of time by starting the include server while doing lsdistcc. R=fergus,manos DELTA=106 (70 added, 2 deleted, 34 changed) * pump: edit 2007/06/11 16:22:37 Nils Klarlund Fix "ERROR: failed to connect to UNIX-DOMAIN /dev/shm/include-server: Resource temporarily unavailable". The former assignment to server.request_queue_size was ineffectual because this parameter is used by the constructor for a server. The parameter is passed to socket.listen. R=manos,fergus DELTA=22 (17 added, 2 deleted, 3 changed) * include_server/include_server.py: edit 2007/06/08 18:15:16 Fergus Henderson Some minor fixes to avoid warnings from gcc. Also a small bug fix: when cleanup_tempfiles is invoked from a signal handler, we should not call free(), because it is unsafe to call free() from an asynchronous signal handler that could be executed in the middle of another call to malloc() or free(). Also fix the use of volatile in cleanup_tempfiles. R=manos CC=distcc-pump DELTA=87 (42 added, 16 deleted, 29 changed) * distcc/src/cleanup.c: edit * distcc/src/distcc.c: edit * distcc/src/distcc.h: edit * distcc/src/dsignal.c: edit * distcc/src/trace.c: edit * distcc/src/util.c: edit 2007/06/08 17:52:40 Fergus Henderson Allow ".i" and ".ii" file names as inputs to the include server. Also some improvements to the messages produced by the include server. R=klarlund CC=distcc-pump DELTA=26 (11 added, 7 deleted, 8 changed) * include_server/basics.py: edit * include_server/include_server.py: edit * include_server/parse_command.py: edit * include_server/parse_file.py: edit * include_server/run.py: edit 2007/06/08 16:40:16 Nils Klarlund Improve warning messages regarding include server failures. R=fergus,manos DELTA=3 (2 added, 0 deleted, 1 changed) * distcc/src/compile.c: edit * distcc/src/include_server_if.c: edit 2007/06/07 21:41:25 Manos Renieris Put all declarations before executable code, for compatibility with older C compilers. R=fergus,klarlund DELTA=15 (6 added, 7 deleted, 2 changed) * distcc/src/clirpc.c: edit * distcc/src/include_server_if.c: edit * distcc/src/srvrpc.c: edit * include_server/c_extensions/distcc_pump_c_extensions_module.c: edit 2007/06/07 15:47:57 Nils Klarlund Check that execution of gcc to find defaults succeeds and warns appropriately if not. R=fergus,manos DELTA=17 (11 added, 5 deleted, 1 changed) * include_server/compiler_defaults.py: edit 2007/06/07 15:41:55 Nils Klarlund Fixed bugs from the autoconf conversions. Now, the include server extension builds. R=fergus,manos DELTA=8 (0 added, 3 deleted, 5 changed) * distcc/Makefile.in: edit * include_server/c_extensions/setup.py: edit 2007/06/05 14:50:22 Nils Klarlund Fixes: so that we can find the include server, also in installation. Note that we erase previous value of PYTHONPATH for performance reasons. R=fergus DELTA=137 (91 added, 23 deleted, 23 changed) * include_server/run.py: edit * pump: edit 2007/06/04 17:46:36 Nils Klarlund This is to repair a previous change, which I submitted by mistake. This CL together with the previous CL fix bugs: - check that include_server_pid exists before killing it - don't strip \n before stuffing hosts into temporary variable Also fixes a couple of minor syntax issues in comments. R=manos,fergus DELTA=4 (1 added, 0 deleted, 3 changed) * pump: edit 2007/06/04 16:04:51 Fergus Henderson Fix a bug where we were attempting to use memory that had already been freed. (I detected this by running the tests under valgrind.) R=manos CC=distcc-pump DELTA=19 (13 added, 0 deleted, 6 changed) * distcc/src/serve.c: edit 2007/06/04 14:53:03 Nils Klarlund Fixed bug: 'opts' were appended to only last host. Fixed very minor syntax issues in comments. * pump: edit 2007/06/04 14:32:33 Fergus Henderson 1. Use srcdir rather than top_srcdir to locate the mkinstalldirs script; now that distcc_pump has its own autoconf-generated configure script, top_srcdir is now "distcc_pump" rather than "distcc". 2. Add USE_VALGRIND variable, and use it in the maintainer-check rule, so that you can do 'make USE_VALGRIND=--valgrind" maintainer-check' to run the tests under valgrind. R=manos CC=distcc-pump DELTA=7 (5 added, 0 deleted, 2 changed) * distcc/Makefile.in: edit 2007/06/04 13:43:00 Manos Renieris Make lsdistcc 80 columns wide. R=klarlund,fergus DELTA=199 (113 added, 5 deleted, 81 changed) * distcc/src/lsdistcc.c: edit 2007/06/04 11:40:08 Fergus Henderson Add support for running tests under valgrind. R=manos CC=distcc-pump DELTA=108 (59 added, 3 deleted, 46 changed) * distcc/test/testdistcc.py: edit 2007/06/04 11:31:24 Fergus Henderson Add "install" targets to the makefiles. Use autoconf-generated configure scripts, in order to support the standard configure options such as '--prefix', etc. R=klarlund CC=distcc-pump DELTA=4959 (4816 added, 110 deleted, 33 changed) * Makefile: delete * Makefile.in: add * configure: edit * configure.ac: add * include_server/Makefile: delete * include_server/Makefile.in: add * include_server/c_extensions/Makefile: delete * include_server/c_extensions/Makefile.in: add * include_server/configure: add * include_server/configure.ac: add 2007/06/04 11:20:11 Fergus Henderson Rewrite the pump script using functions. Use lowercase names for shell variables that are local to this process. Document the DISTCC_PUMP_LOCATION environment variable in the usage message. Ensure error messages go to stderr rather than stdout. Fix some problems with the cleanup: the order of cleanup was wrong. It was doing "rmdir $SOCKET_DIR" before "rm $SOCKET", which meant the rmdir could fail since the directory isn't empty yet. Check for "lsdistcc" in the same directory as "pump", if it isn't found in the "distcc" subdirectory. R=klarlund CC=manos,distcc-pump DELTA=197 (119 added, 51 deleted, 27 changed) * pump: edit 2007/06/04 00:27:53 Fergus Henderson Use gcc's automatic dependency generation. Without this change, the Makefile was missing dependencies on all the header files, so editing say src/distcc.h and then running "make" would not cause a recompile. R=manos CC=distcc-pump DELTA=5 (3 added, 0 deleted, 2 changed) * distcc/Makefile.in: edit * distcc/configure: edit * distcc/configure.ac: edit 2007/06/01 19:24:28 Nils Klarlund Handshake mechanism for starting include server. Introduce os.fork() in include server, so that the parent returns right after starting the child. The child becomes the real include server. Change options so as to allow the parent to write the child pid to a file. That will allow an invoking script to send SIGTERM to the include server later. Fix missing deletion of temp file in include_server. Also, fixed bug: the initialization of the temp directory was done twice, from two different modules. R=fergus,manos DELTA=168 (85 added, 8 deleted, 75 changed) * include_server/basics.py: edit * include_server/include_server.py: edit * pump: edit 2007/06/01 19:06:50 Nils Klarlund Change file permission to +x. * distcc/contrib/distccd-on-servers: edit 2007/06/01 19:04:28 Nils Klarlund New tests for include analyzer; corrections to DirNameCache. DirnameCache was hardcoded to return absolute directories -- that was wrong. Also, define helper function RetrieveDirectoriesExceptSys in cache_basic for test purposes. Make _CalculateIncludeClosureExceptSystem call Fillcache so as to avoid prerequisite condition. Fix missing deletion of temp file in include_server. Fix another couple of minor bugs. R=fergus,manos DELTA=331 (266 added, 21 deleted, 44 changed) * include_server/Makefile: edit * include_server/cache_basics.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_analyzer_memoizing_node_test.py: add * include_server/include_server_test.py: edit * include_server/parse_command_test.py: edit * include_server/run.py: edit 2007/06/01 15:48:51 Nils Klarlund Fixes bug so that 'status' works as intended. Also fixes bugs that meant that the return command was given a non-integer argument. R=fergus,manos DELTA=17 (3 added, 0 deleted, 14 changed) * distcc/contrib/distccd-on-servers: edit 2007/06/01 13:22:00 Manos Renieris Plug memory leaks in the server. R=klarlund,fergus CC=distcc-pump DELTA=111 (54 added, 26 deleted, 31 changed) * distcc/src/arg.c: edit * distcc/src/serve.c: edit * distcc/src/srvrpc.c: edit 2007/05/31 20:26:35 Nils Klarlund Initial submission: script for handling distccd on servers. R=fergus,manos DELTA=142 (142 added, 0 deleted, 0 changed) * distcc/contrib/distccd-on-servers: add 2007/05/31 19:14:53 Fergus Henderson Change the distcc_pump Makefile and configure script to support building with the build directory being different than the source directory, e.g. mkdir obj cd obj ../configure make R=klarlund CC=distcc-pump DELTA=144 (91 added, 14 deleted, 39 changed) * INSTALL: edit * Makefile: edit * configure: edit * distcc/Makefile.in: edit * include_server/Makefile: edit * include_server/c_extensions/Makefile: edit * include_server/c_extensions/setup.py: edit * include_server/run.py: edit 2007/05/31 15:32:41 Manos Renieris Retry connecting if we get EAGAIN. R=klarlund,fergus DELTA=5 (4 added, 0 deleted, 1 changed) * distcc/src/clinet.c: edit 2007/05/30 20:13:37 Nils Klarlund Continuing "Continuing cleanup of the code...", we fix various tiny buglets and wipe unnecessary variables from mirror-path. TESTED=(cd include_closure; make test) R=fergus CC=csilvers DELTA=24 (0 added, 17 deleted, 7 changed) * include_server/compiler_defaults.py: edit * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/macro_eval.py: edit * include_server/mirror_path.py: edit * include_server/mirror_path_test.py: edit 2007/05/30 16:59:02 Craig Silverstein Continuing cleanup of the code, mostly to get varnames to be consistent. But also some functionality changes: 1) Separated out the realpath_map into two data structures, one that canonicalizes the paths, and the other that keeps the systemdir-prefix information. Both are now part of the mondo-cache object. There's still a bit more work to be done to get the systemdir-prefix cache working intuitively. 2) Added RelpathMapToIndex, which requires that its keys not start with a /. Use this new class for includepaths, so we get better error checking; we'll now correctly fail when we see code like #include , which we can't handle properly. 3) [smaller] We now fall back on the python equivalents if we don't have the C-speedups for realpath and stat(). 4) [smaller] Modified the convenience functions to be per data-type rather than per varialbe: we have SearchdirIndex and CurrdirIndex rather than just DirectoryIndex. (Since this function is never used, it doesn't really matter, but...) These were more syntactic cleanup: 1) Use currdir everywhere to mean the current directory, to match cache_basics.py. 2) I started some comment changes to be more consistent. For instance, every time we had a realpath_map argument, I try to say what a realpath_map is (in one line!) rather than just say its type -- which is, admittedly, better than nothing. Only small work done here; still lots more. 3) Some places are still using fp instead of includepath. I've fixed up most, but for some I'm not sure that the fp is an includepath exactly, so I'm waiting to clean those up. 4) Several places would pass a list in to a routine by reference, so the procedure would fill the passed-in list rather than returning a new list. This can be more efficient, but is harder to follow, especially in python where pass-by-value is expected. Change to a more natural control-flow in situations where efficiency isn't critical. I also corrected the following deviations from the style guide: 1) (Almost) no "naked" exceptions. Before there was lots of "try: os-operation except: die". Now we actually check that it's an IOError or an OSError. We also now print out the 'why' status as part of the error message. 2) Got rid of unused imports. 3) Made sure there was at least two spaces between code and end-of-line comments. Still more places to fix this one... 4) Nixed trailing whitespace (at the end of each line). R=klarlund DELTA=719 (297 added, 193 deleted, 229 changed) * include_server/basics.py: edit * include_server/cache_basics.py: edit * include_server/compiler_defaults.py: edit * include_server/compress_files.py: edit * include_server/include_analyzer.py: edit * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_server.py: edit * include_server/include_server_test.py: edit * include_server/macro_eval.py: edit * include_server/macro_eval_test.py: edit * include_server/mirror_path.py: edit * include_server/mirror_path_test.py: edit * include_server/parse_command_test.py: edit * include_server/parse_file.py: edit * include_server/parse_file_test.py: edit 2007/05/25 18:35:29 Nils Klarlund The sed -i command I ran to perform renaming according to cache_basics.py tricked me; these files were not added to my CL that took care of several little changes. I have verified that make -C include_server test now works. R=fergus,csilvers DELTA=8 (0 added, 0 deleted, 8 changed) * include_server/include_analyzer_memoizing_node.py: edit * include_server/include_server_test.py: edit * include_server/mirror_path_test.py: edit 2007/05/25 17:53:45 Nils Klarlund Installation and use improvements. Now the 'pump' wrapper is generic; no-hardcoded hosts, but a an environment variable must be set. Also, it uses lsdistcc to discover which potential hosts are actually ready. The INSTALL instructions are still rudimentary, but improved. The 'configure' script simply calls 'configure' in distcc subdir. R=fergus,csilvers DELTA=82 (47 added, 33 deleted, 2 changed) * INSTALL: edit * configure: add * pump: edit 2007/05/25 16:05:37 Nils Klarlund Add test targets. R=fergus DELTA=26 (26 added, 0 deleted, 0 changed) * include_server/Makefile: edit 2007/05/25 15:49:30 Nils Klarlund It turns out that the gcc system path discovery command creates a temporary file. Make tempdir to overcome this problem. R=fergus,manos DELTA=14 (4 added, 0 deleted, 10 changed) * include_server/compiler_defaults.py: edit 2007/05/25 15:48:56 Nils Klarlund Make safer tempdir mechanism. R=fergus DELTA=4 (1 added, 0 deleted, 3 changed) * include_server/basics.py: edit 2007/05/25 15:47:27 Nils Klarlund Lots of little changes for final integration. One theme: names changes. R=fergus,manos DELTA=145 (51 added, 26 deleted, 68 changed) * include_server/include_analyzer.py: edit * include_server/include_server.py: edit * include_server/macro_eval_test.py: edit * include_server/mirror_path.py: edit * include_server/parse_command_test.py: edit * include_server/parse_file.py: edit * include_server/parse_file_test.py: edit * include_server/statistics.py: edit * include_server/test_data/gws-main.o.cmd: edit 2007/05/25 15:17:51 Nils Klarlund This CL should have accompanied "This CL is in response to csilvers's questions.." * include_server/parse_command.py: edit 2007/05/25 15:15:43 Nils Klarlund Initial submission: "Compress files in an include closure." * include_server/compress_files.py: add 2007/05/25 13:47:00 Nils Klarlund A unittest for module mirror_path, featuring dependency injection. This version is working. It replaces something that didn't. R=fergus,manos DELTA=121 (87 added, 3 deleted, 31 changed) * include_server/mirror_path_test.py: edit 2007/05/25 11:38:56 Nils Klarlund Initial submit of module to compute approximation of include dependencies for C/C++. Also, some accompanying changes to basics.py * include_server/basics.py: edit * include_server/include_server.py: add * include_server/include_server_test.py: add 2007/05/25 11:29:51 Nils Klarlund Wrapper script for distcc-pump test users. R=fergus,manos DELTA=80 (80 added, 0 deleted, 0 changed) * pump: add 2007/05/24 21:49:42 Fergus Henderson Add -r option to lsdistcc to specify which port to connect to. ("-p", "-o", and "-t" were already taken.) Fix a bug where "lsdistcc distcc%d" was only returning the first host. Add some unit tests for lsdistcc. Also tidy up the usage message a little. R=manos CC=distcc-pump,dkegel,aaw DELTA=57 (47 added, 0 deleted, 10 changed) * distcc/src/lsdistcc.c: edit * distcc/test/testdistcc.py: edit 2007/05/24 18:12:30 Fergus Henderson Fix a bug that broke "cd distcc; configure; make": move definition of the "echo_common_obj" target to the end of the file, so that it doesn't become the default target (Make treats the first rule in the file as the default target). R=klarlund CC=distcc-pump DELTA=10 (5 added, 5 deleted, 0 changed) * distcc/Makefile.in: edit 2007/05/24 14:17:43 Nils Klarlund Fix "Usage" logic and printing error. Improve error reporting when path to execute is not found. R=fergus,manos DELTA=12 (7 added, 0 deleted, 5 changed) * include_server/run.py: edit 2007/05/24 09:14:17 Nils Klarlund Tests for distcc_pump_c_extensions. Writes out doc strings and calls some distcc rpc functions. Also, times the speed-up of using libc versions of os.path.realpath and os.path.exists. R=fergus,manos DELTA=115 (115 added, 0 deleted, 0 changed) * include_server/c_extensions_test.py: add 2007/05/24 09:11:50 Nils Klarlund A file used for testing parse_command.py. Should not be part of open source release. * include_server/test_data/gws-main.o.cmd: add 2007/05/24 09:03:57 Nils Klarlund Wrapper for running include server and tests. Initial submission. R=fergus,manos DELTA=49 (49 added, 0 deleted, 0 changed) * include_server/run.py: add 2007/05/23 23:48:11 Nils Klarlund directory and link structure." R=fergus,manos DELTA=159 (159 added, 0 deleted, 0 changed) * include_server/mirror_path.py: add * include_server/mirror_path_test.py: add 2007/05/23 23:12:36 Nils Klarlund Initial submission: CPP macro evaluation. This admittedly needs a little more work as explained. But there are some tests. R=manos,fergus DELTA=338 (338 added, 0 deleted, 0 changed) * include_server/macro_eval.py: add * include_server/macro_eval_test.py: add 2007/05/23 22:31:52 Nils Klarlund Initial submission. include_analyzer: "The skeleton, including caches, of an include analyzer." include_analyzer_memoizing_node: "An graph-based algorithm for memoizing include closure calculations. R=fergus,csilvers DELTA=545 (545 added, 0 deleted, 0 changed) * include_server/include_analyzer.py: add * include_server/include_analyzer_memoizing_node.py: add 2007/05/23 19:01:57 Craig Silverstein Augment comments and normalize variable names. In addition, clean up the code a bit, mostly by removing redundant code. That said, with the variable-name changing, almost every line in this file is affected by this CL. The file now is at a point where it makes sense to me!, though I am perhaps too close to the algorithm these days to be a good 'outside observer' judge. I think it's more consistent in its naming, in any case. That said, I left in many TODOs where I still need some clarification of functionality, or have cleanups to do later (I tried not to change the functionality too much). Some outside-visible function/variable names may have changed as a result of this CL, so other changes may be needed to get the system working again after this. R=klarlund DELTA=411 (108 added, 35 deleted, 268 changed) * include_server/cache_basics.py: edit 2007/05/22 15:25:09 Nils Klarlund This bunch of files is used for various tests of the include server. I submit them as a bundle for further perusal with the various *_test.py code. R=fergus,manos DELTA=52 (52 added, 0 deleted, 0 changed) * include_server/test_data/abc_post.c: add * include_server/test_data/abc_pre.c: add * include_server/test_data/computed_includes.c: add * include_server/test_data/dbar/dbar1/bar.h: add * include_server/test_data/dbar/foo.h: add * include_server/test_data/dfoo/foo.h: add * include_server/test_data/dfoo/foo2.h: add * include_server/test_data/dfoo/include_next_foo.h: add * include_server/test_data/include_include_next_foo.h: add * include_server/test_data/p1.h: add * include_server/test_data/parse.c: add * include_server/test_data/test_include_next/bar/x.h: add * include_server/test_data/test_include_next/bar/y.h: add * include_server/test_data/test_include_next/baz/start_x.c: add * include_server/test_data/test_include_next/baz/start_y.c: add * include_server/test_data/test_include_next/baz/x.h: add * include_server/test_data/test_include_next/baz/y.h: add * include_server/test_data/test_include_next/biz/x.h: add * include_server/test_data/test_include_next/foo/x.h: add * include_server/test_data/test_include_next/foo/y.h: add 2007/05/21 18:37:57 Manos Renieris Change the test regexp to match the version text. R=fergus,klarlund DELTA=4 (2 added, 0 deleted, 2 changed) * distcc/test/testdistcc.py: edit 2007/05/21 18:29:41 Nils Klarlund Initial submission. "How to find system path defaults for gcc." R=fergus,manos APPROVED=fergus DELTA=136 (136 added, 0 deleted, 0 changed) * include_server/compiler_defaults.py: add 2007/05/21 17:01:16 Nils Klarlund Initial submissin. Statistics gathering for the distcc-pump include server. R=fergus,manos DELTA=110 (110 added, 0 deleted, 0 changed) * include_server/statistics.py: add 2007/05/21 12:09:10 Nils Klarlund This CL is in response to csilvers's questions about the use of indices and caches in the include server. I've tried to make the terminology coherent and to make the distinction between indexed and string representation clearer. Also, I moved the actual use of the classes into function SetUpCaches that constructs the intended hierarchy for memoization. Now: also includes parse_command. R=fergus,csilvers CC=manos DELTA=410 (184 added, 40 deleted, 186 changed) * include_server/cache_basics.py: edit 2007/05/21 11:59:41 Manos Renieris Initialize needs_dotd. R=klarlund,fergus DELTA=1 (0 added, 0 deleted, 1 changed) * distcc/src/compile.c: edit 2007/05/21 11:59:13 Manos Renieris Fix the cleanup function. R=klarlund,fergus DELTA=3 (0 added, 0 deleted, 3 changed) * distcc/src/cleanup.c: edit 2007/05/18 17:22:48 Manos Renieris Added the new files and one missing file to the Makefile. R=klarlund,fergus DELTA=8 (3 added, 0 deleted, 5 changed) * distcc/Makefile.in: edit 2007/05/18 11:37:55 Manos Renieris Undo the local_cpu lock if we are using the include server. R=fergus,klarlund DELTA=6 (5 added, 0 deleted, 1 changed) * distcc/src/compile.c: edit 2007/05/17 18:21:26 Nils Klarlund Initial check-in of directives-only C/C++ parser. R=manos,fergus DELTA=395 (395 added, 0 deleted, 0 changed) * include_server/parse_file.py: add * include_server/parse_file_test.py: add 2007/05/17 17:27:24 Nils Klarlund This change accompanies a previous change. It allows the extension module to extract the needed .o files from the distcc Makefile. R=fergus,manos DELTA=5 (5 added, 0 deleted, 0 changed) * distcc/Makefile.in: edit 2007/05/17 16:15:36 Nils Klarlund This CL enables us to compile distcc and to install the Python extension module that provides access to some distcc rpc functions as well as lzo. It no longer uses the Python interface that is part of the lzo distribution. The CL also include some initial attempts a Makefile's. R=fergus,manos DELTA=467 (467 added, 0 deleted, 0 changed) * INSTALL: add * Makefile: add * include_server/Makefile: add * include_server/c_extensions/Makefile: add * include_server/c_extensions/distcc_pump_c_extensions_module.c: add * include_server/c_extensions/setup.py: add 2007/05/17 11:09:39 Nils Klarlund Include server for distcc-pump. The basic stuff. Initial submit. The basic caching mechanisms for distcc-pump. Initial submit. R=manos,fergus DELTA=596 (596 added, 0 deleted, 0 changed) * include_server/basics.py: add * include_server/cache_basics.py: add 2007/05/16 17:03:03 Fergus Henderson Update the output from "distcc --version". 1. src/help.c: mention that it supports version 3 of the protocol, i.e. distcc_pump 2. configure.ac: change version to "distcc 2.18.3-13gg-pump1" rather than "distcc 2.18.3", i.e. include both a. "-13gg" to show it has all the existing Google patches, and b. "-pump1" for the distcc_pump extensions that support preprocessing on the server. 3. configure: regenerate based on the new configure.ac. This resulted in some slight differences due to different autoconf versions, but they appear innocuous. TESTED=Ran make and manually verified the output of "distcc --version" and "distccd --version". Tried running "make maintainer-check"; that failed, but I think the failures are unrelated to my change (probably they're due to problems with the merge of distcc-pump with the Google distcc patches). R=manos CC=distcc-pump DELTA=135 (24 added, 86 deleted, 25 changed) * distcc/configure: edit * distcc/configure.ac: edit * distcc/src/help.c: edit 2007/05/16 15:04:29 Manos Renieris Change the name of the temp directories to reflect that they are server-side. R=fergus,klarlund DELTA=1 (0 added, 0 deleted, 1 changed) * distcc/src/tempfile.c: edit 2007/05/14 17:16:41 Craig Silverstein Rewrite the argument-parser to be more efficient: this code now runs about 50% faster than it used to (tested by time_ParseCommandArguments.py). I can't totally vouch for the fact the output is the same now as before, since there's not a complete test for this code yet, but it seems to be on the one example I tried. Also, a few TODOs remain to deal with some obscure cases I didn't understand (how does "-iquote=foo" differ from "-iquote foo"?). But the basics should be right on. R=klarlund,fergus DELTA=295 (153 added, 76 deleted, 66 changed) * include_server/parse_command.py: edit * include_server/parse_command_test.py: edit 2007/05/14 17:05:15 Manos Renieris Improve the robustness of cleanup. R=klarlund,fergus DELTA=33 (18 added, 1 deleted, 14 changed) * distcc/src/cleanup.c: edit * distcc/src/srvrpc.c: edit * distcc/src/tempfile.c: edit 2007/05/14 11:37:26 Manos Renieris Mark the top tmp directory for deletion. R=fergus,klarlund DELTA=3 (3 added, 0 deleted, 0 changed) * distcc/src/tempfile.c: edit 2007/05/14 11:22:04 Manos Renieris Close the file descriptors after being done talking to the include server. R=klarlund,fergus DELTA=14 (11 added, 1 deleted, 2 changed) * distcc/src/include_server_if.c: edit 2007/05/10 10:04:32 Nils Klarlund The routines for interpreting a gcc command, along with tests. Two issues still to be resolved: - This code is too slow. - For computed includes, we need to parse -D etc. R=fergus,manos DELTA=518 (518 added, 0 deleted, 0 changed) * include_server/parse_command.py: add * include_server/parse_command_test.py: add 2007/05/09 23:13:18 Fergus Henderson Update Makefile.in to fix some bugs introduced in CL a previous change (which just applied the Google and LSB-specific patches). Some object files had been moved into $(common_obj), but were still listed in h_*_obj, resulting in duplicate symbol errors when running "make maintainer-check". R=manos CC=dkegel,klarlund DELTA=3 (0 added, 1 deleted, 2 changed) * distcc/Makefile.in: edit 2007/05/09 19:12:09 Manos Renieris A bit more const-correctness. R=fergus DELTA=6 (2 added, 0 deleted, 4 changed) * distcc/src/serve.c: edit 2007/05/09 18:41:10 Manos Renieris Distcc-pump first implementation. Various little changes, making functions from static into global, all around the code; a bug fix in argutil.c. Important changes are: - On the protocol, which is extended as "version 3", that supports compression and also cpp on the server. - distcc.h: Added the enum for where to do the cpp. - hosts.c: Map a set of features (currently a subset of where to do cpp and whether to do compression) onto a protocol number. - rpc.c: The client sometimes sends either a file, or a link to the server. The server needs to be able to accept either, so dcc_r_sometoken_int allows some alternation to the protocol. - Talking to the include server: - compile.c: dcc_build_somewhere tries to talk to the include server, and pushes the information about the dotd file to dcc_compile_remote. This is where the fallback-to-the-original-protocol code lives. - include_server_if.c: Talk to the include server. - The communication from client to server. The client needs to send multiple files, and perhaps links, to the server; the client also needs to sent its current working directory, - remote.c: Entry points for sending multiple files to the server. - rpc.c: The server needs to handle not only files, but also links (directories are handled implicitly). - clirpc.c: Added a function to send the current working directory. Added a function, dcc_x_many_files. It sends multiple files to the server. In addition, it changes the filenames to chop off the additions of the include server. - serve.c: Added a function to receive the current working directory. - On the server side, the server receives multiple files, and the working directory, builds a directory structure (which it keeps of, to clean it up at the end) - srvrpc.c: Added a function, dcc_r_many_files, to receive multiple files. In addition, it changes the filenames to put all the files under a "fake root" directory. - serve.c: lots of work to set up "fake root" directories, chdir to the right place, produce a .d file, and absolutize include directives. - tempfile.c: Creation of whole temp directories, not just files. - cleanup.c: Since we are receiving multiple files, we need to keep a dynamic list of what temporary files we create. It can now handle directories. - ".d" files: the client needs to find out where the dotd file should go; the server needs to produce it, remove all references to the local filesystem (gcc can't do that from the outside) and send it back to the client. - dotd.c: Most of the code that handles the dotd: figuring out if we need it, and where it should go; also, cleaning it up after it gets created on the server. - clirpc.c Changed dcc_retrieve_results to retrieve the dotd file. R=klarlund,fergus DELTA=1208 (1058 added, 36 deleted, 114 changed) * distcc/Makefile.in: edit * distcc/README.google: add * distcc/src/arg.c: edit * distcc/src/argutil.c: edit * distcc/src/bulk.c: edit * distcc/src/bulk.h: edit * distcc/src/cleanup.c: edit * distcc/src/clinet.c: edit * distcc/src/clinet.h: edit * distcc/src/clirpc.c: edit * distcc/src/compile.c: edit * distcc/src/compile.h: edit * distcc/src/compress.c: edit * distcc/src/distcc.h: edit * distcc/src/dotd.c: add * distcc/src/dotd.h: add * distcc/src/filename.c: edit * distcc/src/hosts.c: edit * distcc/src/hosts.h: edit * distcc/src/include_server_if.c: add * distcc/src/include_server_if.h: add * distcc/src/lock.c: edit * distcc/src/remote.c: edit * distcc/src/rpc.c: edit * distcc/src/rpc.h: edit * distcc/src/serve.c: edit * distcc/src/srvrpc.c: edit * distcc/src/tempfile.c: edit 2007/05/08 17:53:54 Manos Renieris A few "\n\" were missing. R=fergus,klarlund DELTA=4 (0 added, 0 deleted, 4 changed) * distcc/src/lsdistcc.c: edit ## More changes that were made internally to Google, and not integrated ## into the main distcc distribution until 2008. These log messages ## are from the RPM spec file's changlog. * Thu Jun 14 2007 Manos Renieris - Added all the distcc-pump related parts to distcc.spec. - Changed the way the package is built. - Remove source package generation. - Man pages are now unzipped. * Mon Feb 8 2007 Dongmin Zhang - Added hosts list option to lsdistcc, such that lsdistcc can check only the hosts listed on the given list. The host list is given in command line. * Wed Jan 31 2007 Dongmin Zhang - Added _libdir definition in rpms.epc. - Changed Name, Version, and Release to the ones passed by --define. - Updated the server init script to give different path of ACL files for grhat and goobuntu as suggested by Arthur Hyun . * Mon Jan 22 2007 Dongmin Zhang - Fixed a bug in timeout patch. Added sigaction to catch SIGCHLD such that the select() in dcc_collect_child() could break out when the file is finished to compile. * Fri Dec 1 2006 Ollie Wild - Removed the 01-distcc-gdb-20051210.patch patch. The parser in this was too naive to deal with output generate with the -directives-only flag. Also, it should no longer be needed with recent versions of gcc. - Removed the 10-distcc-before-cpp_locking-sub-gdb.patch and 12-distcc-after-cpp_locking-add-gdb.patch patches. These were just modifying the former patch. * Fri Sep 8 2006 Michael Moss - Update install and init scripts to work on Debian and Red Hat (allowing the .rpm to be converted to .deb with alien, and then installed on Debian). Some noteworthy changes: - Deb - Remove unused defaults file /etc/default/distcc. - Deb - No longer uses debconf. - RH - useradd is run in post- rather than pre- install. - RH - distcc server is automatically started. - Added enable/disable commands to init scripts so the daemon can be "permanently" disabled on misbehaving hosts. - Added patches to allow building LSB-compliant binaries. - Reorganized some existing patches to better partition functionality. * Tue Feb 28 2006 Dan Kegel - removed cache again * Mon Feb 20 2006 Dan Kegel - added cache * Mon Feb 6 2006 Dan Kegel - use Josh's randomize patch instead of Michael's, since Josh's seems to perform better in our tests - added disk space statistic on http interface - lsdistcc now has -x option to output info even on down hosts (will be useful for server side caching) * Tue Jan 2 2006 Dan Kegel - removed load shedding patch (we have swap turned on, so overload isn't as bad) - added stats for timeout * Wed Dec 8 2005 Dan Kegel - lsdistcc now has -l option, better -v output - distccd now has nicer logging, --limit-load option, bugfixes in load shedding * Tue Nov 22 2005 Dan Kegel - rejects jobs if load too high - serves up stats via http on port 3633 - lsdistcc now has new -p and -c0 options * Wed Nov 2 2005 Dan Kegel - updated lsdistcc to use the longer of the two of HOST and HOSTNAME to handle shells that set HOST to the nonqualified hostname, but HOSTNAME to the FQDN * Thu Oct 13 2005 Dan Kegel - updated lsdistcc patch - removed gcc as a dependency, since we want to use it with a wide range of other compilers (and in our case, not the standard gcc), and it's impractical to list them all as dependencies * Fri Sep 16 2005 Dan Kegel - now reads /etc/distcc/hosts instead of /usr/etc/distcc/hosts - replaced distcc-2.18.3-rhl.patch with distcc-2.18.3-stringmap.patch The stringmap patch updates the rhl init.d script to know about all installed crosstool toolchains, and enables fuzzy path matching This is useful if the toolchains are not installed at the same prefix on all systems - removed distcc-domain.patch - added distcc-2.18.3-lsdistcc.patch * Sat Sep 3 2005 Dan Kegel - now reads /etc/distcc/hosts instead of /usr/etc/distcc/hosts - applied distcc-domain-2.patch * Thu Jun 15 2005 Dan Kegel - Updated to 2.18.3 - applied --randomize patch and cpp_locking patch - redhat init.d script reads /etc/distccd.allow to construct --allow arguments - added scriptlets from dag's package, but don't start service on install, and call it distcc rather than distccd (to match the current packaging's old practice) ## These changes are from when development was done under bzr. ## bzr branch: http://bazaar.launchpad.net/%7Embp/distcc/trunk/ 2008-03-14 13:31:23 +1100 Martin Pool revno: 4 message: Locks taken through F_SETLK or lockf() must be explicitly released, because closing the file does not do so. (Sascha Demetrio) 2007-09-22 21:32:03 +1000 Martin Pool revno: 3 message: merge avahi patch from Lennart Poettering (http://0pointer.de/public/distcc-avahi.patch) 2007-09-22 21:32:03 +1000 Martin Pool revno: 2 message: Add more ignored files ## These changes are from when development was done under arch. ## arch-tag: automatic-ChangeLog--mbp@sourcefrog.net--2004/distcc--devel--2 2006-04-05 23:35:36 GMT Martin Pool patch-183 Summary: ignore tags file Revision: distcc--devel--2--patch-183 modified files: ChangeLog {arch}/=tagging-method 2006-04-03 17:56:54 GMT Martin Pool patch-182 Summary: build fix for --as-needed Revision: distcc--devel--2--patch-182 modified files: ChangeLog Makefile.in NEWS 2006-03-03 00:10:56 GMT Martin Pool patch-181 Summary: fix error check in dcc_connect_by_add Revision: distcc--devel--2--patch-181 Found in code review from recent list thread -- error check was done incorrectly for nonblocking commits. modified files: ChangeLog src/clinet.c 2006-02-21 05:38:41 GMT Martin Pool patch-180 Summary: draft patch for substituting compiler command name Revision: distcc--devel--2--patch-180 new files: patches/.arch-ids/distcc-substitute-command.diff.id patches/distcc-substitute-command.diff modified files: ChangeLog 2006-01-20 23:40:53 GMT Martin Pool patch-179 Summary: More details on error 110 Revision: distcc--devel--2--patch-179 modified files: ChangeLog man/distcc.1 2006-01-11 04:03:16 GMT Martin Pool patch-178 Summary: set locale when running make maintainer-check Revision: distcc--devel--2--patch-178 modified files: ChangeLog NEWS test/comfychair.py 2006-01-11 03:58:36 GMT Martin Pool patch-177 Summary: Update more benchmark project definitions Revision: distcc--devel--2--patch-177 modified files: ChangeLog bench/ProjectDefs.py test/testdistcc.py 2006-01-05 00:20:52 GMT Martin Pool patch-176 Summary: update benchmark project urls and md5s Revision: distcc--devel--2--patch-176 modified files: ChangeLog bench/ProjectDefs.py 2006-01-05 00:12:56 GMT Martin Pool patch-175 Summary: [patch] update stale benchmark source URLS (Dongmin Zhang) Revision: distcc--devel--2--patch-175 modified files: ChangeLog bench/ProjectDefs.py 2005-12-12 05:47:20 GMT Martin Pool patch-174 Summary: update patch to fix up gdb line numbers Revision: distcc--devel--2--patch-174 Updated patch from Dan Kegel to workaround wrong source file names in debug symbols for older versions of gcc. new files: patches/.arch-ids/fix-line-numbers.diff.id patches/fix-line-numbers.diff removed files: patches/.arch-ids/distcc-line3.diff.id patches/.arch-ids/timj-line1.diff.id patches/distcc-line3.diff patches/timj-line1.diff modified files: ChangeLog 2005-11-28 03:00:58 GMT Martin Pool patch-173 Summary: [patch] cygwin improvements from Alex Besogonov Revision: distcc--devel--2--patch-173 modified files: ChangeLog NEWS src/exec.c src/tempfile.c 2005-11-28 02:50:23 GMT Martin Pool patch-172 Summary: doc Revision: distcc--devel--2--patch-172 modified files: ChangeLog src/exitcode.h 2005-11-28 02:49:19 GMT Martin Pool patch-171 Summary: doc Revision: distcc--devel--2--patch-171 modified files: ChangeLog src/exitcode.h 2005-10-05 00:44:49 GMT Martin Pool patch-170 Summary: return error on timeout in dcc_select_for_write Revision: distcc--devel--2--patch-170 modified files: ChangeLog src/io.c 2005-10-05 00:14:16 GMT Martin Pool patch-169 Summary: bump version number Revision: distcc--devel--2--patch-169 modified files: ChangeLog configure.ac 2005-10-05 00:07:50 GMT Martin Pool patch-168 Summary: use python2.4 if available Revision: distcc--devel--2--patch-168 modified files: ChangeLog NEWS configure.ac 2005-10-05 00:05:20 GMT Martin Pool patch-167 Summary: - better autogen message Revision: distcc--devel--2--patch-167 modified files: ChangeLog autogen.sh 2005-10-05 00:04:18 GMT Martin Pool patch-166 Summary: [patch] better checking for errors on connect() Revision: distcc--devel--2--patch-166 modified files: ChangeLog NEWS src/clinet.c 2005-09-05 01:36:22 GMT Martin Pool patch-165 Summary: add hosts-from-dnsdomain patch from dan Revision: distcc--devel--2--patch-165 new files: patches/.arch-ids/kegel-distcc-domain.patch.id patches/kegel-distcc-domain.patch modified files: ChangeLog 2005-08-16 01:39:54 GMT Martin Pool patch-164 Summary: add note that the mDNS patch cannot be legally merged Revision: distcc--devel--2--patch-164 modified files: ChangeLog patches/howl-mdns.diff 2005-06-10 09:58:57 GMT Martin Pool patch-163 Summary: todo Revision: distcc--devel--2--patch-163 modified files: ChangeLog TODO 2005-01-19 03:17:27 GMT Martin Pool patch-162 Summary: manpage correction from Frerich Revision: distcc--devel--2--patch-162 modified files: ChangeLog man/distcc.1 2004-12-21 02:11:57 GMT Martin Pool patch-161 Summary: args: -d must be local Revision: distcc--devel--2--patch-161 modified files: ChangeLog NEWS src/arg.c test/testdistcc.py 2004-12-20 12:40:10 GMT Martin Pool patch-160 Summary: note on .incbin from asm() Revision: distcc--devel--2--patch-160 new files: doc/todo/.arch-ids/unhandled-cases.txt.id doc/todo/unhandled-cases.txt modified files: ChangeLog 2004-12-15 00:11:05 GMT Martin Pool patch-159 Summary: remove obsolete web targets from makefile Revision: distcc--devel--2--patch-159 modified files: ChangeLog Makefile.in 2004-12-14 07:07:01 GMT Martin Pool patch-158 Summary: add pending Howl mDNS patch from Lennart Poettering Revision: distcc--devel--2--patch-158 new files: patches/.arch-ids/howl-mdns.diff.id patches/howl-mdns.diff modified files: ChangeLog 2004-11-30 19:05:36 GMT Martin Pool patch-157 Summary: Add freshmeat submission data Revision: distcc--devel--2--patch-157 new files: freshmeat/.arch-ids/2.18.3.id freshmeat/.arch-ids/=id freshmeat/2.18.3 modified files: ChangeLog new directories: freshmeat freshmeat/.arch-ids 2004-11-30 12:25:10 GMT Martin Pool patch-156 Summary: Fix for -x and -specs bug Revision: distcc--devel--2--patch-156 modified files: ChangeLog NEWS src/arg.c 2004-11-30 12:11:30 GMT Martin Pool patch-155 Summary: Better text for -x and -specs Revision: distcc--devel--2--patch-155 modified files: ChangeLog NEWS TODO configure.ac test/testdistcc.py 2004-11-12 03:33:34 GMT Martin Pool patch-154 Summary: Prepare for 2.18.2 release Revision: distcc--devel--2--patch-154 modified files: ChangeLog NEWS configure.ac 2004-11-12 03:32:54 GMT Martin Pool patch-153 Summary: Notes on performance influence of mmap Revision: distcc--devel--2--patch-153 new files: doc/.arch-ids/mmap-influence.txt.id doc/mmap-influence.txt modified files: ChangeLog 2004-11-12 03:31:51 GMT Martin Pool patch-152 Summary: fix size_t/unsigned mismatch Revision: distcc--devel--2--patch-152 modified files: ChangeLog NEWS src/distcc.h 2004-11-12 03:23:15 GMT Martin Pool patch-151 Summary: fix for checking uninitialized errno Revision: distcc--devel--2--patch-151 modified files: ChangeLog NEWS src/clinet.c 2004-11-03 02:20:56 GMT Martin Pool patch-150 Summary: gcc -specs must also be run locally Revision: distcc--devel--2--patch-150 modified files: ChangeLog NEWS src/arg.c test/testdistcc.py 2004-11-02 07:12:57 GMT Martin Pool patch-149 Summary: mon-gnome: fix tree_model warning Revision: distcc--devel--2--patch-149 modified files: ChangeLog NEWS src/mon-gnome.c 2004-10-23 08:42:53 GMT Martin Pool patch-148 Summary: fold io.h into distcc.h Revision: distcc--devel--2--patch-148 removed files: src/.arch-ids/io.h.id src/io.h modified files: ChangeLog Makefile.in src/arg.c src/argutil.c src/backoff.c src/bulk.c src/clinet.c src/clirpc.c src/compress.c src/daemon.c src/distcc.h src/dopt.c src/dparent.c src/exec.c src/h_exten.c src/h_issource.c src/h_scanargs.c src/h_strip.c src/hostfile.c src/io.c src/loadfile.c src/lock.c src/mon-gnome.c src/mon-notify.c src/mon-text.c src/mon.c src/prefork.c src/pump.c src/remote.c src/renderer.c src/rpc.c src/safeguard.c src/sendfile.c src/serve.c src/srvnet.c src/srvrpc.c src/ssh.c src/state.c src/strip.c src/timefile.c src/util.c 2004-10-23 08:23:22 GMT Martin Pool patch-147 Summary: fix some signedness/type warnings Revision: distcc--devel--2--patch-147 modified files: ChangeLog src/bulk.c src/climasq.c src/clirpc.c src/distcc.h src/hosts.c src/io.h src/mon-gnome.c src/netutil.c src/netutil.h src/rpc.c src/trace.c src/util.c src/where.c 2004-10-23 08:11:25 GMT Martin Pool patch-146 Summary: Turn off -Wunreachable-code Revision: distcc--devel--2--patch-146 modified files: ChangeLog configure.ac 2004-10-23 08:00:12 GMT Martin Pool patch-145 Summary: turn on more warnings Revision: distcc--devel--2--patch-145 modified files: ChangeLog configure.ac 2004-10-21 23:06:54 GMT Martin Pool patch-144 Summary: Allow for host files containing \r Revision: distcc--devel--2--patch-144 modified files: ChangeLog NEWS src/hosts.c test/testdistcc.py 2004-10-13 02:37:50 GMT Martin Pool patch-143 Summary: Return errors, rather than aborting. Revision: distcc--devel--2--patch-143 Don't call rs_fatal; instead return an error. It was giving warnings on non-gcc compilers because it wasn't seen as noreturn, and anyhow aborting is a bit untidy. modified files: ChangeLog src/arg.c src/bulk.c src/cleanup.c src/cpp.c src/dopt.c src/h_ccvers.c src/history.c src/hosts.c src/io.c src/lock.c src/mon.c src/pump.c src/remote.c src/rpc.c src/serve.c src/ssh.c src/trace.h src/util.c 2004-10-13 02:23:11 GMT Martin Pool patch-142 Summary: fix header problem for Solaris Revision: distcc--devel--2--patch-142 * src/distcc.h: Need sys/types.h for pid_t. modified files: ChangeLog NEWS bench/Build.py bench/Project.py bench/ProjectDefs.py src/distcc.h 2004-10-12 06:28:10 GMT Martin Pool patch-141 Summary: Add samba 3.0.7 as benchmark project Revision: distcc--devel--2--patch-141 modified files: ChangeLog bench/ProjectDefs.py 2004-10-12 05:41:38 GMT Martin Pool patch-140 Summary: benchmark: scrub results on completion by default Revision: distcc--devel--2--patch-140 modified files: ChangeLog bench/actions.py 2004-10-12 05:37:21 GMT Martin Pool patch-139 Summary: advance version to 2.19pre Revision: distcc--devel--2--patch-139 modified files: ChangeLog configure.ac 2004-10-12 05:13:54 GMT Martin Pool patch-138 Summary: Prepare for release Revision: distcc--devel--2--patch-138 modified files: ChangeLog NEWS configure.ac 2004-10-12 05:10:31 GMT Martin Pool patch-137 Summary: Always build conftest.c locally Revision: distcc--devel--2--patch-137 Problem: configure tests are typically very quick to build; also configure can be very sensitive to stderr warnings or other small variations between machines. Fix: To make things faster and safer, build conftest.* locally; also tmp.conftest.* used by ccache. * src/filename.c (dcc_source_needs_local): New function. * src/arg.c (dcc_scan_args): Check. * cases/conftest.c: Manual test case. new files: cases/conftest.c modified files: ChangeLog NEWS TODO src/arg.c src/distcc.h src/filename.c 2004-10-12 04:50:41 GMT Martin Pool patch-136 Summary: Reset PATH when running maintainer-check Revision: distcc--devel--2--patch-136 Problem: Installed copies of distcc and/or ccache were getting invoked from inside the test suite in a confusing way. Fix: Force the path to just /bin:/usr/bin:`pwd` modified files: ChangeLog Makefile.in 2004-10-12 04:43:39 GMT Martin Pool patch-135 Summary: Remove mmap when receiving uncompressed data Revision: distcc--devel--2--patch-135 Problem: Calling msync seems likely to force disk IO, but not calling it is unsafe. Fix: In fact, we can probably do fine by just using plain IO to receive data. This is already done for compressed data. * src/pump.c (dcc_r_bulk_plain): Remove. * src/pump.c (dcc_r_bulk): Just pump bytes through when receiving data; don't worry about mmap. Doc. * src/bulk.c (dcc_r_file): Output files can be WRONLY if we're not using mmap. * src/io.c (dcc_want_mmap): Remove. * man/distcc.1, man/distccd.1: No more mmap! modified files: ChangeLog NEWS man/distcc.1 man/distccd.1 src/bulk.c src/io.c src/pump.c src/sendfile.c 2004-10-12 04:38:27 GMT Martin Pool patch-134 Summary: fix headers Revision: distcc--devel--2--patch-134 modified files: ChangeLog src/history.c 2004-10-12 04:27:45 GMT Martin Pool patch-133 Summary: todo: conftest.c Revision: distcc--devel--2--patch-133 modified files: ChangeLog TODO 2004-10-12 04:20:05 GMT Martin Pool patch-132 Summary: doc Revision: distcc--devel--2--patch-132 modified files: ChangeLog src/pump.c 2004-10-12 04:10:49 GMT Martin Pool patch-131 Summary: Select-based non-blocking connect() Revision: distcc--devel--2--patch-131 * src/clinet.c (dcc_connect_by_addr): Make socket non-blocking at connect time and impose a timeout on connection attempts; currently hardcoded to 5s. modified files: ChangeLog NEWS src/clinet.c src/io.c 2004-10-12 03:10:31 GMT Martin Pool patch-130 Summary: ssh: doc Revision: distcc--devel--2--patch-130 modified files: ChangeLog src/ssh.c 2004-10-12 03:02:18 GMT Martin Pool patch-129 Summary: Ignore HTML manpages Revision: distcc--devel--2--patch-129 new files: man/.arch-inventory modified files: ChangeLog 2004-10-12 02:59:16 GMT Martin Pool patch-128 Summary: ssh: doc Revision: distcc--devel--2--patch-128 modified files: ChangeLog src/ssh.c 2004-10-12 02:15:39 GMT Martin Pool patch-127 Summary: remove signal-based timeouts Revision: distcc--devel--2--patch-127 Problem: Using alarms to enforce timeouts is inherently unsafe, because it might leave e.g. the resolver or C library in an inconsistent state. Fix: Don't use signals. We can do something simpler and safer using select() in a future commit. We no longer have a timeout on name resolution; the best fix for this is to set an appropriate timeout in resolv.conf. removed files: src/.arch-ids/timeout.c.id src/timeout.c modified files: ChangeLog Makefile.in man/distcc.1 src/distcc.h src/remote.c src/serve.c 2004-10-11 09:09:47 GMT Martin Pool patch-126 Summary: distcc(1): mention timeouts Revision: distcc--devel--2--patch-126 modified files: ChangeLog man/distcc.1 2004-10-11 08:15:05 GMT Martin Pool patch-125 Summary: no timeout on cpp Revision: distcc--devel--2--patch-125 Refactor code that waits for cpp to finish, and disarm the timeout during this phase. modified files: ChangeLog NEWS src/remote.c 2004-10-11 07:28:00 GMT Martin Pool patch-124 Summary: Adjust timeouts Revision: distcc--devel--2--patch-124 Short 5s CONNECT timeout covers only name resolution and TCP connection. SEND phase and timeout should include sending the header, and waiting for cpp to complete. 60s to send. Allow up to 20mins for compilation. modified files: ChangeLog src/remote.c src/serve.c 2004-10-11 07:17:31 GMT Martin Pool patch-123 Summary: fix timeout crash bug Revision: distcc--devel--2--patch-123 Problem: Was using longjmp() from the SIGALRM handler to return an error. This is not safe. Fix: Use siglongjmp() instead. That may not be completely safe either, but it might fix the problem. modified files: ChangeLog NEWS src/timeout.c 2004-10-11 06:24:35 GMT Martin Pool patch-122 Summary: Add test case for siglongjmp Revision: distcc--devel--2--patch-122 new files: cases/.arch-ids/.arch-inventory.id cases/.arch-ids/tryjump.c.id cases/.arch-inventory cases/tryjump.c modified files: ChangeLog NEWS 2004-10-11 06:21:43 GMT Martin Pool patch-121 Summary: todo: problems with state file sharing Revision: distcc--devel--2--patch-121 modified files: ChangeLog TODO 2004-10-09 13:26:15 GMT Martin Pool patch-120 Summary: distccmon-text(1): Clarify client requirements Revision: distcc--devel--2--patch-120 modified files: ChangeLog man/distccmon-text.1 2004-09-25 10:01:05 GMT Martin Pool patch-119 Summary: doc Revision: distcc--devel--2--patch-119 modified files: ChangeLog TODO 2004-09-25 09:57:52 GMT Martin Pool patch-118 Summary: distcc.1: make it clearer this is a client-side monitor Revision: distcc--devel--2--patch-118 modified files: ChangeLog man/distccmon-text.1 2004-09-17 00:41:14 GMT Martin Pool patch-117 Summary: --allow is now mandatory Revision: distcc--devel--2--patch-117 modified files: ChangeLog NEWS src/daemon.c src/dopt.c 2004-09-16 05:58:09 GMT Martin Pool patch-116 Summary: sa_family_t Tru64 portability cleanup -- just remove test Revision: distcc--devel--2--patch-116 modified files: ChangeLog NEWS configure.ac src/distcc.h 2004-09-16 05:20:08 GMT Martin Pool patch-115 Summary: include state.h from within distcc.h Revision: distcc--devel--2--patch-115 modified files: ChangeLog src/compile.c src/distcc.c src/distcc.h src/history.c src/mon-gnome.c src/mon-notify.c src/mon-text.c src/mon.c src/remote.c src/renderer.c src/serve.c src/state.c src/timeout.c src/where.c 2004-09-16 05:12:42 GMT Martin Pool patch-114 Summary: doc Revision: distcc--devel--2--patch-114 modified files: ChangeLog src/distcc.h 2004-09-16 05:08:07 GMT Martin Pool patch-113 Summary: Improved check for gcc>=3.4 for warn_unused_result Revision: distcc--devel--2--patch-113 modified files: ChangeLog src/distcc.h 2004-09-16 04:55:26 GMT Martin Pool patch-112 Summary: fix enum type warning from Dmitri Revision: distcc--devel--2--patch-112 modified files: ChangeLog src/distcc.h src/timeout.c 2004-09-16 04:46:42 GMT Martin Pool patch-111 Summary: fix unused var warning Revision: distcc--devel--2--patch-111 modified files: ChangeLog src/state.c 2004-09-16 04:46:26 GMT Martin Pool patch-110 Summary: bump version Revision: distcc--devel--2--patch-110 modified files: ChangeLog configure.ac 2004-08-24 12:12:50 GMT Martin Pool patch-109 Summary: Prepare for 2.17.1 release Revision: distcc--devel--2--patch-109 modified files: ChangeLog NEWS 2004-08-24 12:10:43 GMT Martin Pool patch-108 Summary: Update version to 2.17.1 Revision: distcc--devel--2--patch-108 modified files: ChangeLog configure.ac 2004-08-24 12:07:55 GMT Martin Pool patch-107 Summary: Don't use warn_unused_result on old gcc Revision: distcc--devel--2--patch-107 modified files: ChangeLog src/distcc.h 2004-08-13 22:06:05 GMT Martin Pool patch-106 Summary: distcc.1: better explanation of using distcc with ccache Revision: distcc--devel--2--patch-106 modified files: ChangeLog Makefile.in man/distcc.1 2004-08-06 00:34:21 GMT Martin Pool patch-105 Summary: doc Revision: distcc--devel--2--patch-105 modified files: ChangeLog src/compile.c 2004-08-05 23:29:15 GMT Martin Pool patch-104 Summary: Fix dcc_trace bug Revision: distcc--devel--2--patch-104 modified files: ChangeLog NEWS src/clinet.c 2004-08-02 18:41:07 GMT Martin Pool patch-103 Summary: doc Revision: distcc--devel--2--patch-103 modified files: ChangeLog src/distcc.h 2004-08-01 05:52:01 GMT Martin Pool patch-102 Summary: fix usage of dcc_timeout_arm Revision: distcc--devel--2--patch-102 modified files: ChangeLog src/serve.c 2004-08-01 05:50:45 GMT Martin Pool patch-101 Summary: prepare for 2.17 release Revision: distcc--devel--2--patch-101 modified files: ChangeLog 2004-08-01 05:49:42 GMT Martin Pool patch-100 Summary: add server-side timeouts Revision: distcc--devel--2--patch-100 modified files: ChangeLog Makefile.in NEWS src/serve.c 2004-08-01 05:45:46 GMT Martin Pool patch-99 Summary: fix usage of dcc_timeout_arm Revision: distcc--devel--2--patch-99 modified files: ChangeLog src/remote.c 2004-08-01 05:43:10 GMT Martin Pool patch-98 Summary: merge from happy Revision: distcc--devel--2--patch-98 Patches applied: * mbp@sourcefrog.net--happy/distcc--devel--2--patch-26 dcc_timeout_arm: add WARN_UNUSED * mbp@sourcefrog.net--happy/distcc--devel--2--patch-27 merge to devel * mbp@sourcefrog.net--happy/distcc--devel--2--patch-28 add WARN_UNUSED to some functions modified files: ChangeLog src/distcc.h new patches: mbp@sourcefrog.net--happy/distcc--devel--2--patch-26 mbp@sourcefrog.net--happy/distcc--devel--2--patch-27 mbp@sourcefrog.net--happy/distcc--devel--2--patch-28 2004-08-01 05:39:19 GMT Martin Pool patch-97 Summary: add WARN_UNUSED to some functions Revision: distcc--devel--2--patch-97 Patches applied: * mbp@sourcefrog.net--happy/distcc--devel--2--patch-26 dcc_timeout_arm: add WARN_UNUSED * mbp@sourcefrog.net--happy/distcc--devel--2--patch-27 merge to devel modified files: ChangeLog src/distcc.h 2004-07-29 21:38:23 GMT Martin Pool patch-96 Summary: cleanups Revision: distcc--devel--2--patch-96 Patches applied: * mbp@sourcefrog.net--happy/distcc--devel--2--patch-23 check return codes from dcc_timeout_arm * mbp@sourcefrog.net--happy/distcc--devel--2--patch-24 ifdef __attribute__ on GNUC * mbp@sourcefrog.net--happy/distcc--devel--2--patch-25 dcc_build_somewhere: cleanup modified files: ChangeLog src/compile.c src/distcc.h new patches: mbp@sourcefrog.net--happy/distcc--devel--2--patch-23 mbp@sourcefrog.net--happy/distcc--devel--2--patch-24 mbp@sourcefrog.net--happy/distcc--devel--2--patch-25 2004-07-29 21:32:11 GMT Martin Pool patch-95 Summary: doc Revision: distcc--devel--2--patch-95 Patches applied: * mbp@sourcefrog.net--happy/distcc--devel--2--patch-16 update todo items * mbp@sourcefrog.net--happy/distcc--devel--2--patch-17 merged to devel * mbp@sourcefrog.net--happy/distcc--devel--2--patch-18 doc * mbp@sourcefrog.net--happy/distcc--devel--2--patch-19 notes on timeouts * mbp@sourcefrog.net--happy/distcc--devel--2--patch-20 timeouts are done * mbp@sourcefrog.net--happy/distcc--devel--2--patch-21 correct version number * mbp@sourcefrog.net--happy/distcc--devel--2--patch-22 treat emacs temporary files as backups modified files: ChangeLog NEWS TODO configure.ac doc/roadmap.txt src/remote.c {arch}/=tagging-method new patches: mbp@sourcefrog.net--happy/distcc--devel--2--patch-16 mbp@sourcefrog.net--happy/distcc--devel--2--patch-17 mbp@sourcefrog.net--happy/distcc--devel--2--patch-18 mbp@sourcefrog.net--happy/distcc--devel--2--patch-19 mbp@sourcefrog.net--happy/distcc--devel--2--patch-20 mbp@sourcefrog.net--happy/distcc--devel--2--patch-21 mbp@sourcefrog.net--happy/distcc--devel--2--patch-22 2004-07-29 19:35:33 GMT Martin Pool patch-94 Summary: more timeouts and cleanups Revision: distcc--devel--2--patch-94 Patches applied: * mbp@sourcefrog.net--happy/distcc--devel--2--patch-11 portability fix for WCOREDUMP * mbp@sourcefrog.net--happy/distcc--devel--2--patch-12 remove obsolete patch * mbp@sourcefrog.net--happy/distcc--devel--2--patch-13 dcc_compile_remote: add more client-side timeouts * mbp@sourcefrog.net--happy/distcc--devel--2--patch-14 dcc_connect_by_addr: handle EINTR from connect() * mbp@sourcefrog.net--happy/distcc--devel--2--patch-15 bump version number removed files: patches/.arch-ids/resolver-timeout.diff.id patches/resolver-timeout.diff modified files: ChangeLog NEWS configure.ac src/clinet.c src/distcc.h src/exec.c src/remote.c new patches: mbp@sourcefrog.net--happy/distcc--devel--2--patch-11 mbp@sourcefrog.net--happy/distcc--devel--2--patch-12 mbp@sourcefrog.net--happy/distcc--devel--2--patch-13 mbp@sourcefrog.net--happy/distcc--devel--2--patch-14 mbp@sourcefrog.net--happy/distcc--devel--2--patch-15 2004-07-29 19:12:49 GMT Martin Pool patch-93 Summary: alarm-based connection timeout Revision: distcc--devel--2--patch-93 Patches applied: * mbp@sourcefrog.net--happy/distcc--devel--2--base-0 import from ozlabs * mbp@sourcefrog.net--happy/distcc--devel--2--patch-1 tweak version output more * mbp@sourcefrog.net--happy/distcc--devel--2--patch-2 Add EXIT_TIMEOUT * mbp@sourcefrog.net--happy/distcc--devel--2--patch-3 Add overall connection timeout * mbp@sourcefrog.net--happy/distcc--devel--2--patch-4 remove docs for deleted DISTCC_CONNECT_TIMEOUT * mbp@sourcefrog.net--happy/distcc--devel--2--patch-5 fold in backoff.h * mbp@sourcefrog.net--happy/distcc--devel--2--patch-6 remove select-based timeout in client connect * mbp@sourcefrog.net--happy/distcc--devel--2--patch-7 dcc_connect_by_addr: remove host and port params * mbp@sourcefrog.net--happy/distcc--devel--2--patch-8 dcc_connect_by_addr: cleanup trace * mbp@sourcefrog.net--happy/distcc--devel--2--patch-9 dcc_build_somewhere: better message on fallback * mbp@sourcefrog.net--happy/distcc--devel--2--patch-10 dcc_timeout_arm: doc new files: src/.arch-ids/timeout.c.id src/timeout.c removed files: src/.arch-ids/backoff.h.id src/backoff.h modified files: ChangeLog Makefile.in NEWS man/distcc.1 src/backoff.c src/clinet.c src/compile.c src/distcc.h src/exitcode.h src/help.c src/remote.c src/ssh.c src/util.c src/util.h src/where.c new patches: mbp@sourcefrog.net--happy/distcc--devel--2--base-0 mbp@sourcefrog.net--happy/distcc--devel--2--patch-1 mbp@sourcefrog.net--happy/distcc--devel--2--patch-2 mbp@sourcefrog.net--happy/distcc--devel--2--patch-3 mbp@sourcefrog.net--happy/distcc--devel--2--patch-4 mbp@sourcefrog.net--happy/distcc--devel--2--patch-5 mbp@sourcefrog.net--happy/distcc--devel--2--patch-6 mbp@sourcefrog.net--happy/distcc--devel--2--patch-7 mbp@sourcefrog.net--happy/distcc--devel--2--patch-8 mbp@sourcefrog.net--happy/distcc--devel--2--patch-9 mbp@sourcefrog.net--happy/distcc--devel--2--patch-10 2004-07-28 18:38:20 GMT Martin Pool patch-92 Summary: mention miniLZO in --version Revision: distcc--devel--2--patch-92 modified files: ChangeLog src/help.c 2004-07-23 13:47:05 GMT Martin Pool patch-91 Summary: Manpage fix from Jean Delvare. Revision: distcc--devel--2--patch-91 modified files: ChangeLog NEWS man/distcc.1 2004-07-15 08:27:57 GMT Martin Pool patch-90 Summary: Add CVE number for netmask problem Revision: distcc--devel--2--patch-90 modified files: ChangeLog NEWS 2004-07-14 05:32:41 GMT Martin Pool patch-89 Summary: notes on mod_backhand load balancing Revision: distcc--devel--2--patch-89 new files: doc/todo/.arch-ids/backhand.txt.id doc/todo/backhand.txt modified files: ChangeLog 2004-07-14 05:32:16 GMT Martin Pool patch-88 Summary: dcc_set_row_idle: reduce unnecessary tree model updates Revision: distcc--devel--2--patch-88 modified files: ChangeLog src/mon-gnome.c 2004-07-14 05:27:54 GMT Martin Pool patch-87 Summary: dcc_build_somewhere: don't retry if remote compiler crashed Revision: distcc--devel--2--patch-87 modified files: ChangeLog NEWS src/compile.c 2004-07-12 07:39:35 GMT Martin Pool patch-86 Summary: Cleanup Revision: distcc--devel--2--patch-86 modified files: ChangeLog src/mon-gnome.c 2004-07-12 07:23:46 GMT Martin Pool patch-85 Summary: make sure idle periods get drawn in history Revision: distcc--devel--2--patch-85 modified files: ChangeLog src/renderer.c 2004-07-12 07:21:41 GMT Martin Pool patch-84 Summary: mon-gnome: Use circular array not GQueue for history Revision: distcc--devel--2--patch-84 Using a doubly-linked list to hold integers uses a lot of time and memory. Instead we use just a simple circular array. history.c: New file holding this. new files: src/.arch-ids/history.c.id src/history.c modified files: ChangeLog Makefile.in NEWS src/mon-gnome.c src/mon.h src/renderer.c 2004-07-12 06:53:56 GMT Martin Pool patch-83 Summary: s/dcc_history/dcc_task_state/ Revision: distcc--devel--2--patch-83 modified files: ChangeLog src/mon-fake.c src/mon-gnome.c src/mon-text.c src/mon.c src/mon.h src/state.c src/state.h 2004-07-12 06:49:54 GMT Martin Pool patch-82 Summary: s/dcc_state/dcc_phase/ Revision: distcc--devel--2--patch-82 modified files: ChangeLog src/mon-fake.c src/mon-gnome.c src/mon-text.c src/mon.c src/mon.h src/renderer.c src/renderer.h src/state.c src/state.h 2004-07-12 06:46:16 GMT Martin Pool patch-81 Summary: Rename DCC_STATE_* to DCC_PHASE_* Revision: distcc--devel--2--patch-81 modified files: ChangeLog src/clirpc.c src/compile.c src/mon-fake.c src/mon-gnome.c src/mon-text.c src/mon.c src/remote.c src/renderer.c src/renderer.h src/state.c src/state.h src/where.c 2004-07-12 06:45:29 GMT Martin Pool patch-80 Summary: Fix warning Revision: distcc--devel--2--patch-80 modified files: ChangeLog src/daemon.h 2004-07-12 06:39:40 GMT Martin Pool patch-79 Summary: Doc Revision: distcc--devel--2--patch-79 modified files: ChangeLog src/mon-gnome.c 2004-07-12 06:20:10 GMT Martin Pool patch-78 Summary: dcc_draw_state_stripe: inline into the only caller Revision: distcc--devel--2--patch-78 modified files: ChangeLog src/renderer.c 2004-07-12 05:24:32 GMT Martin Pool patch-77 Summary: Doc Revision: distcc--devel--2--patch-77 modified files: ChangeLog src/renderer.c 2004-07-09 05:16:20 GMT Martin Pool patch-76 Summary: todo: monitor ideas Revision: distcc--devel--2--patch-76 new files: doc/todo/.arch-ids/monitor-clear.txt.id doc/todo/.arch-ids/monitor-count.txt.id doc/todo/monitor-clear.txt doc/todo/monitor-count.txt modified files: ChangeLog 2004-07-09 04:56:11 GMT Martin Pool patch-75 Summary: benchmark: notes on building glibc Revision: distcc--devel--2--patch-75 modified files: ChangeLog bench/ProjectDefs.py 2004-07-08 07:40:50 GMT Martin Pool patch-74 Summary: fix warnings about sockaddr Revision: distcc--devel--2--patch-74 modified files: ChangeLog src/netutil.h 2004-07-08 07:39:35 GMT Martin Pool patch-73 Summary: setuid.h: remove Revision: distcc--devel--2--patch-73 removed files: src/.arch-ids/setuid.h.id src/setuid.h modified files: ChangeLog Makefile.in src/daemon.c src/daemon.h src/dopt.c src/setuid.c 2004-07-08 07:36:08 GMT Martin Pool patch-72 Summary: filename.h: remove Revision: distcc--devel--2--patch-72 removed files: src/.arch-ids/filename.h.id src/filename.h modified files: ChangeLog Makefile.in src/arg.c src/argutil.c src/cpp.c src/distcc.c src/distcc.h src/filename.c src/h_exten.c src/h_issource.c src/implicit.c src/mon-notify.c src/mon-text.c src/mon.c src/serve.c src/srvrpc.c src/state.c 2004-07-08 07:32:43 GMT Martin Pool patch-71 Summary: cpp.h: removed Revision: distcc--devel--2--patch-71 removed files: src/.arch-ids/cpp.h.id src/cpp.h modified files: ChangeLog Makefile.in src/compile.c src/cpp.c src/distcc.h 2004-07-08 07:31:15 GMT Martin Pool patch-70 Summary: strip.h: removed Revision: distcc--devel--2--patch-70 removed files: src/.arch-ids/strip.h.id src/strip.h modified files: ChangeLog doc/roadmap.txt src/compile.c src/cpp.c src/distcc.h src/h_strip.c src/strip.c 2004-07-08 06:02:34 GMT Martin Pool patch-69 Summary: doc Revision: distcc--devel--2--patch-69 modified files: ChangeLog src/mon-text.c 2004-07-08 05:57:05 GMT Martin Pool patch-68 Summary: note leak fixes Revision: distcc--devel--2--patch-68 modified files: ChangeLog 2004-07-08 05:56:54 GMT Martin Pool patch-67 Summary: distccmon-text: fix memory leak Revision: distcc--devel--2--patch-67 modified files: ChangeLog src/mon-text.c 2004-07-08 05:52:06 GMT Martin Pool patch-66 Summary: dcc_history_free: Fix memory leak Revision: distcc--devel--2--patch-66 modified files: ChangeLog src/mon.c 2004-07-08 05:48:31 GMT Martin Pool patch-65 Summary: mon-gnome: fix leak in setting title; don't set title twice Revision: distcc--devel--2--patch-65 modified files: ChangeLog src/mon-gnome.c 2004-07-08 05:10:10 GMT Martin Pool patch-64 Summary: dcc_mon_load_state: fix leak on error path Revision: distcc--devel--2--patch-64 modified files: ChangeLog NEWS src/mon.c 2004-07-08 04:56:58 GMT Martin Pool patch-63 Summary: Prepare for 2.16 release Revision: distcc--devel--2--patch-63 modified files: ChangeLog NEWS configure.ac 2004-07-08 04:52:43 GMT Martin Pool patch-62 Summary: distccmon-gnome: use a GNOME status bar with a grab handle Revision: distcc--devel--2--patch-62 Patch from Nathan Fredrickson. modified files: ChangeLog NEWS src/mon-gnome.c 2004-07-08 04:32:35 GMT Martin Pool patch-61 Summary: testdistcc.py: update to work on ia64 linux Revision: distcc--devel--2--patch-61 modified files: ChangeLog NEWS test/testdistcc.py 2004-07-08 04:31:44 GMT Martin Pool patch-60 Summary: Rephrase news Revision: distcc--devel--2--patch-60 modified files: ChangeLog NEWS 2004-07-07 05:49:15 GMT Martin Pool patch-59 Summary: testdistcc: allow for --version output to have more than two lines Revision: distcc--devel--2--patch-59 modified files: ChangeLog test/testdistcc.py 2004-07-07 05:44:23 GMT Martin Pool patch-58 Summary: dcc_parse_mask: fix 64-bit bugs Revision: distcc--devel--2--patch-58 modified files: ChangeLog NEWS src/access.c 2004-07-07 05:21:02 GMT Martin Pool patch-57 Summary: h_parsemask: stub for trace Revision: distcc--devel--2--patch-57 modified files: ChangeLog src/h_parsemask.c 2004-07-07 04:47:00 GMT Martin Pool patch-56 Summary: dcc_show_version: Include copyright and licence Revision: distcc--devel--2--patch-56 modified files: ChangeLog NEWS src/distcc.c src/distcc.h src/dopt.c src/help.c 2004-07-07 04:38:53 GMT Martin Pool patch-55 Summary: configure: if using system popt, need to use -lpopt Revision: distcc--devel--2--patch-55 modified files: ChangeLog configure.ac 2004-07-07 02:14:54 GMT Martin Pool patch-54 Summary: dcc_log_child_exited: Fix bizarre syntax bug, remove #ifdef Revision: distcc--devel--2--patch-54 modified files: ChangeLog NEWS src/dparent.c 2004-07-07 02:07:47 GMT Martin Pool patch-53 Summary: draft patch for faster polling when blocked Revision: distcc--devel--2--patch-53 new files: patches/.arch-ids/shorter-boredom-poll.diff.id patches/shorter-boredom-poll.diff modified files: ChangeLog 2004-07-07 02:06:53 GMT Martin Pool patch-52 Summary: doc: note popt fix Revision: distcc--devel--2--patch-52 modified files: ChangeLog NEWS 2004-07-07 01:59:58 GMT Martin Pool patch-51 Summary: doc: benchmarks Revision: distcc--devel--2--patch-51 modified files: ChangeLog doc/results.txt 2004-07-07 01:59:39 GMT Martin Pool patch-50 Summary: configure.ac: fix problem detecting popt.h Revision: distcc--devel--2--patch-50 Problem: Some people might have libpopt, but no popt.h, in which case we tried to use the system copy and failed. Fix: Check for popt.h. If not present, use ./popt. modified files: ChangeLog configure.ac 2004-07-06 13:05:12 GMT Martin Pool patch-49 Summary: Prepare for 2.15 release Revision: distcc--devel--2--patch-49 modified files: ChangeLog NEWS configure.ac 2004-07-06 13:00:16 GMT Martin Pool patch-48 Summary: Notes on version checking Revision: distcc--devel--2--patch-48 modified files: ChangeLog doc/todo/version-check.txt 2004-07-06 12:47:38 GMT Martin Pool patch-47 Summary: Doc Revision: distcc--devel--2--patch-47 new files: doc/todo/.arch-ids/monitor-legend.txt.id doc/todo/monitor-legend.txt modified files: ChangeLog 2004-07-06 09:03:44 GMT Martin Pool patch-46 Summary: compress: assume a larger decompression buffer by default so less likely to retry Revision: distcc--devel--2--patch-46 modified files: ChangeLog src/compress.c 2004-07-06 08:50:24 GMT Martin Pool patch-45 Summary: remove mmap/lzo support Revision: distcc--devel--2--patch-45 modified files: ChangeLog NEWS doc/results.txt src/compress.c 2004-07-06 08:27:44 GMT Martin Pool patch-44 Summary: dcc_r_bulk_lzo1x: fix nasty bug in mmap recv lzo Revision: distcc--devel--2--patch-44 When reading in compressed data, our initial buffer might not be large enough for the actual compressed data, so we need to free it and make a larger one. When freeing the mmapped buffer, we need to pass both address and length of the mapping. The bug was that we increased the length before unmapping and therefore randomly unmapped some block of memory, causing a crash later on. Fix: don't increase the length until we're done with the old value. This code is really too complex to be safe. modified files: ChangeLog src/compress.c 2004-07-06 08:09:27 GMT Martin Pool patch-43 Summary: fix warning Revision: distcc--devel--2--patch-43 modified files: ChangeLog src/daemon.c 2004-07-06 08:09:03 GMT Martin Pool patch-42 Summary: tempfile.h: remove Revision: distcc--devel--2--patch-42 removed files: src/.arch-ids/tempfile.h.id src/tempfile.h modified files: ChangeLog Makefile.in src/backoff.c src/cleanup.c src/cpp.c src/daemon.c src/distcc.c src/distcc.h src/dparent.c src/dsignal.c src/hosts.c src/lock.c src/mon-notify.c src/mon-text.c src/mon.c src/prefork.c src/remote.c src/serve.c src/state.c src/tempfile.c src/timefile.c src/where.c 2004-07-06 08:06:57 GMT Martin Pool patch-41 Summary: distccd: chdir to $TMPDIR not / at startup Revision: distcc--devel--2--patch-41 modified files: ChangeLog NEWS src/daemon.c 2004-07-06 08:05:30 GMT Martin Pool patch-40 Summary: dcc_get_tmp_top: make public Revision: distcc--devel--2--patch-40 modified files: ChangeLog src/tempfile.c src/tempfile.h 2004-07-06 08:00:29 GMT Martin Pool patch-39 Summary: dcc_log_child_exited: indicate if core was produced Revision: distcc--devel--2--patch-39 modified files: ChangeLog src/dparent.c 2004-07-06 05:10:05 GMT Martin Pool patch-38 Summary: Revision: distcc--devel--2--patch-38 modified files: ChangeLog src/arg.c src/argutil.c src/distcc.c src/distcc.h src/implicit.c 2004-07-06 05:03:25 GMT Martin Pool patch-37 Summary: argutil.c: Doc Revision: distcc--devel--2--patch-37 modified files: ChangeLog src/argutil.c 2004-07-06 05:00:57 GMT Martin Pool patch-36 Summary: arg.h: fold into distcc.h Revision: distcc--devel--2--patch-36 removed files: src/.arch-ids/arg.h.id src/arg.h modified files: ChangeLog Makefile.in src/arg.c src/argutil.c src/clirpc.c src/compile.c src/cpp.c src/distcc.c src/distcc.h src/exec.c src/h_argvtostr.c src/h_ccvers.c src/h_scanargs.c src/h_strip.c src/implicit.c src/serve.c src/srvrpc.c src/ssh.c src/strip.c 2004-07-06 04:54:15 GMT Martin Pool patch-35 Summary: dcc_free_argv: new function Revision: distcc--devel--2--patch-35 modified files: ChangeLog src/arg.h src/argutil.c 2004-07-06 04:47:46 GMT Martin Pool patch-34 Summary: Remove redundant temporary file cleanup in non-forking mode. Revision: distcc--devel--2--patch-34 modified files: ChangeLog NEWS src/dparent.c src/serve.c 2004-06-18 23:47:56 GMT Martin Pool patch-33 Summary: roadmap update Revision: distcc--devel--2--patch-33 modified files: ChangeLog doc/roadmap.txt 2004-06-17 04:15:48 GMT Martin Pool patch-32 Summary: Doc Revision: distcc--devel--2--patch-32 modified files: ChangeLog src/lock.c 2004-06-12 08:47:59 GMT Martin Pool patch-31 Summary: dcc_service_job: Doc Revision: distcc--devel--2--patch-31 modified files: ChangeLog src/serve.c 2004-06-11 08:31:22 GMT Martin Pool patch-30 Summary: protocol-3: I think there's no need for hash after all Revision: distcc--devel--2--patch-30 modified files: ChangeLog doc/protocol-3.txt 2004-06-11 08:19:20 GMT Martin Pool patch-29 Summary: protocol-3: describe request format; propose adding CRC Revision: distcc--devel--2--patch-29 modified files: ChangeLog doc/protocol-3.txt 2004-06-10 04:55:25 GMT Martin Pool patch-28 Summary: protocol-3 design development Revision: distcc--devel--2--patch-28 modified files: ChangeLog doc/protocol-3.txt 2004-06-10 03:18:55 GMT Martin Pool patch-27 Summary: todo: notes on file permissions Revision: distcc--devel--2--patch-27 new files: doc/todo/.arch-ids/permissions.txt.id doc/todo/permissions.txt modified files: ChangeLog TODO 2004-06-10 02:47:13 GMT Martin Pool patch-26 Summary: cases/hello.c: Include more headers to trigger compression Revision: distcc--devel--2--patch-26 modified files: ChangeLog cases/hello.c 2004-06-01 06:52:14 GMT Martin Pool patch-25 Summary: distccmon-text(1) typo fix from Lisa Revision: distcc--devel--2--patch-25 modified files: ChangeLog man/distccmon-text.1 2004-05-30 05:54:37 GMT Martin Pool patch-24 Summary: Add fixme comments for places where memory is probably leaked Revision: distcc--devel--2--patch-24 modified files: ChangeLog src/arg.c src/compile.c src/cpp.c src/where.c 2004-05-30 05:48:09 GMT Martin Pool patch-23 Summary: Doc Revision: distcc--devel--2--patch-23 new files: doc/todo/.arch-ids/gnome-leak.txt.id doc/todo/gnome-leak.txt modified files: ChangeLog 2004-05-29 05:10:27 GMT Martin Pool patch-22 Summary: More TODO notes on scheduling Revision: distcc--devel--2--patch-22 new files: doc/todo/.arch-ids/host-selection.txt.id doc/todo/.arch-ids/randomize-order.txt.id doc/todo/host-selection.txt doc/todo/randomize-order.txt modified files: ChangeLog 2004-05-28 23:42:32 GMT Martin Pool patch-21 Summary: patch from joshh to randomize host list Revision: distcc--devel--2--patch-21 In http://lists.samba.org/archive/distcc/2004q2/002250.html, Dan proposed randomizing the hosts list. Here's a patch to add that feature, controlled by a special --randomize option in the hosts list. On a large shared build cluster, this helps spread the load without requiring separate hosts lists for each user. Martin, what do you think? new files: patches/.arch-ids/joshh-random.diff.id patches/joshh-random.diff modified files: ChangeLog 2004-05-08 12:16:47 GMT Martin Pool patch-20 Summary: Update plans Revision: distcc--devel--2--patch-20 new files: doc/todo/.arch-ids/window-geometry.txt.id doc/todo/window-geometry.txt modified files: ChangeLog doc/roadmap.txt 2004-05-06 03:20:08 GMT Martin Pool patch-19 Summary: 'make uninstall' note Revision: distcc--devel--2--patch-19 new files: doc/todo/.arch-ids/make-uninstall.txt.id doc/todo/make-uninstall.txt modified files: ChangeLog 2004-05-05 06:34:07 GMT Martin Pool patch-18 Summary: Doc Revision: distcc--devel--2--patch-18 modified files: ChangeLog NEWS src/remote.c 2004-05-03 00:41:02 GMT Martin Pool patch-17 Summary: Red Hat fix from Colin Revision: distcc--devel--2--patch-17 Patches applied: * walters@verbum.org--2003/distcc--devel--2.14--patch-5 merge from mbp * walters@verbum.org--2003/distcc--devel--2.14--patch-6 actually expand variables modified files: ChangeLog contrib/redhat/init contrib/redhat/logrotate contrib/redhat/xinetd new patches: walters@verbum.org--2003/distcc--devel--2.14--patch-5 walters@verbum.org--2003/distcc--devel--2.14--patch-6 2004-05-02 10:42:57 GMT Martin Pool patch-16 Summary: Note rate calculation Revision: distcc--devel--2--patch-16 modified files: ChangeLog NEWS 2004-05-02 10:40:35 GMT Martin Pool patch-15 Summary: Client calculates overall compilation rate for remote jobs Revision: distcc--devel--2--patch-15 modified files: ChangeLog src/bulk.c src/distcc.h src/remote.c 2004-05-02 10:30:00 GMT Martin Pool patch-14 Summary: Collect SSH child even when it fails Revision: distcc--devel--2--patch-14 modified files: ChangeLog src/remote.c 2004-05-02 10:22:22 GMT Martin Pool patch-13 Summary: Remove unnecessary check that cpp produced output Revision: distcc--devel--2--patch-13 modified files: ChangeLog src/remote.c 2004-05-02 10:20:01 GMT Martin Pool patch-12 Summary: Pass back size of transmitted files Revision: distcc--devel--2--patch-12 Also fix printf formats for file sizes. Remove old prototype for dcc_x_file_timed. modified files: ChangeLog src/bulk.c src/bulk.h src/remote.c src/serve.c 2004-05-02 10:06:11 GMT Martin Pool patch-11 Summary: Ignore gtags temporaries Revision: distcc--devel--2--patch-11 modified files: ChangeLog src/.arch-inventory 2004-05-02 10:05:11 GMT Martin Pool patch-10 Summary: Remove dcc_send_job_corked wrapper Revision: distcc--devel--2--patch-10 Just insert/remove corks at the right places. modified files: ChangeLog src/remote.c 2004-05-02 10:00:52 GMT Martin Pool patch-9 Summary: Split out code to wait for cpp Revision: distcc--devel--2--patch-9 modified files: ChangeLog src/remote.c 2004-05-02 09:58:22 GMT Martin Pool patch-8 Summary: Refactor code to send requests into remote.c Revision: distcc--devel--2--patch-8 modified files: ChangeLog src/clirpc.c src/distcc.h src/remote.c 2004-05-02 09:49:23 GMT Martin Pool patch-7 Summary: Plan for calculating rate Revision: distcc--devel--2--patch-7 new files: doc/todo/.arch-ids/show-rate.txt.id doc/todo/show-rate.txt modified files: ChangeLog 2004-05-02 09:38:40 GMT Martin Pool patch-6 Summary: Remove relic zip.c Revision: distcc--devel--2--patch-6 removed files: src/.arch-ids/zip.c.id src/zip.c modified files: ChangeLog Makefile.in 2004-05-02 09:35:26 GMT Martin Pool patch-5 Summary: Remove old prototypes Revision: distcc--devel--2--patch-5 modified files: ChangeLog src/daemon.h src/dparent.c 2004-05-02 08:46:14 GMT Martin Pool patch-4 Summary: Remove non-prefork mode Revision: distcc--devel--2--patch-4 Only choices now are preforking, or not forking at all. modified files: ChangeLog NEWS src/dopt.c src/dparent.c 2004-05-02 08:35:51 GMT Martin Pool patch-3 Summary: Set version to 2.15pre Revision: distcc--devel--2--patch-3 modified files: ChangeLog NEWS configure.ac 2004-05-02 08:34:49 GMT Martin Pool patch-2 Summary: Plans for upcoming releases Revision: distcc--devel--2--patch-2 modified files: ChangeLog doc/roadmap.txt 2004-05-02 08:25:17 GMT Martin Pool patch-1 Summary: New ChangeLog for new revision Revision: distcc--devel--2--patch-1 new files: ChangeLog renamed files: ChangeLog ==> ChangeLog-2.14 2004-05-02 05:07:46 GMT Martin Pool base-0 Summary: tag of mbp@sourcefrog.net--2004/distcc--devel--2.14--version-0 Revision: distcc--devel--2--base-0 (automatically generated log message) new patches: mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--base-0 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-1 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-2 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-3 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-4 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-5 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-6 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-7 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-8 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-9 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-10 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-11 mbp@sourcefrog.net--2004-happy/distcc--devel--2.14--patch-12 mbp@sourcefrog.net--2004/distcc--cvs--0--base-0 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-1 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-2 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-3 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-4 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-5 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-6 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-7 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-8 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-9 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-10 mbp@sourcefrog.net--2004/distcc--cvs--0--patch-11 mbp@sourcefrog.net--2004/distcc--devel--2.14--base-0 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-1 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-2 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-3 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-4 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-5 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-6 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-7 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-8 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-9 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-10 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-11 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-12 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-13 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-14 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-15 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-16 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-17 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-18 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-19 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-20 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-21 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-22 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-23 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-24 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-25 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-26 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-27 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-28 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-29 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-30 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-31 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-32 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-33 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-34 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-35 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-36 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-37 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-38 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-39 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-40 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-41 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-42 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-43 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-44 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-45 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-46 mbp@sourcefrog.net--2004/distcc--devel--2.14--patch-47 mbp@sourcefrog.net--2004/distcc--devel--2.14--version-0 mbp@sourcefrog.net--2004/distcc--release--2.13--base-0 walters@verbum.org--2003/distcc--devel--2.14--base-0 walters@verbum.org--2003/distcc--devel--2.14--patch-1 walters@verbum.org--2003/distcc--devel--2.14--patch-2 walters@verbum.org--2003/distcc--devel--2.14--patch-3 walters@verbum.org--2003/distcc--devel--2.14--patch-4 ## These changes are from before development was done under arch. 2004-04-10 Martin Pool * src/mon-gnome.c (dcc_gnome_make_mainwin): Check gtk version and don't use gtk_window_set_icon_from_file before 2.2.0. Reported by Dag Wieers. 2004-03-21 Martin Pool * src/exec.c (dcc_critique_status): Log input filename. * src/clirpc.c (dcc_send_job): Log input filename, * src/remote.c (dcc_compile_remote): Log input filename. * src/serve.c (dcc_run_job): Log input filename. * src/compile.c (dcc_compile_local): Log input filename. 2004-03-03 Martin Pool * src/mon-gnome.c: Quieten g_messages. * src/distcc.c (dcc_show_usage): Describe DISTCC_DIR and other things. * man/distcc.1: Document DISTCC_DIR and fix some spelling errors. Patch from Thomas Schwinge. * src/hosts.c (dcc_get_hostlist): Get hosts from $DISTCC_DIR/hosts, rather than hardcoding to ~/.distcc. * src/tempfile.c (dcc_get_top_dir): Make this public. Just log a warning if $HOME is not set. 2004-03-02 Martin Pool * src/srvnet.c (dcc_listen_by_addr): Don't create the socket, just listen() on it. (dcc_check_client): Do access control checks on ipv4-mapped or ipv4-compat IPv6 addresses. * src/srvnet.c (dcc_socket_listen) [ENABLE_RFC2553]: Try creating sockets in every returned address family until we get one that works. Fix leak of addrinfo list. * src/srvnet.c (dcc_socket_listen) [!ENABLE_RFC2553]: Create socket here. 2004-03-01 Martin Pool * src/cleanup.c (dcc_cleanup_tempfiles): If DISTCC_SAVE_TEMPS is set, then we still need to remove temp files from the list or it will overflow. * src/mon-gnome.c, src/mon.c: Don't include netutil. * src/dparent.c (dcc_standalone_server): Set defer-accept bit. * man/distccd.1: Document DISTCC_TCP_DEFER_ACCEPT. * src/netutil.c (dcc_defer_accept): New function. 2004-02-29 Martin Pool * test/testdistcc.py (ScanArgs_Case): Test -Wa,-xarch=v8. * src/arg.c (dcc_scan_args): Allow "-Wa,-xarch=v8" to be remote. Reported by Ben Scarlet. * test/testdistcc.py (ScanArgs_Case): Add test cases for -x handling. * src/arg.c (dcc_scan_args): Handle invocations like "-xcpp" with no space after -x. Suggested by Ben Scarlet. * test/testdistcc.py (CompressedCompile_Case): Add a test of compression. * src/mon-gnome.c: Include sys/loadavg.h if available. * configure.ac: Check for sys/loadavg.h. Suggested by Dimitri Papadopoulos. * man/distcc.1: Document comments in host files. * test/testdistcc.py (ParseHostSpec_Case): Add test for "localhostbutnotreally". * src/hosts.c (dcc_parse_hosts): Fix matching of hosts with names like "localhost2". 2004-02-20 Martin Pool * src/compress.c (dcc_r_bulk_lzo1x): ftruncate the file after munmapping, rather than before. Might be better on HP-UX which has problems with IO on mapped files. * README.packaging: Update description of why packagers should change version numbers. 2004-02-19 Martin Pool * src/netutil.c (dcc_sockaddr_to_string): Handle null sockaddr. * src/srvnet.c (dcc_check_client): Handle null sockaddr. * src/daemon.c (dcc_inetd_server): If there is no sockaddr, pass it as NULL. * src/netutil.c (dcc_sockaddr_to_string) [ENABLE_RFC2553]: Failure to convert the address to a string should be just a warning, not an error. Add special cases for unix-domain sockets and unknown address families. Possibly fixes SSH connections with ENABLE_RFC2553. * src/daemon.c (dcc_inetd_server): Downgrade warning on getpeername failure to just a notice message. 2004-02-19 Albert China * test/testdistcc.py: Get test suite working on most of the platforms we support: 1. Not much use in testing with the native compiler so we *force* the test suite to use gcc. 2. Rather than picking up gcc from $PATH, we pass the full path to GCC. This avoids problems when distccd is running. 3. I've added known failures on some platforms. For example, the assembler test should only run on Linux x86. Where we know the test will fail, we print: DashONoSpace_Case NOTRUN, GCC mips-tfile wants space after -o ... RemoteAssemble_Case NOTRUN, Linux x86 only PreprocessAsm_Case NOTRUN, Linux x86 only ... The tests pass on: HP-UX 10.20, 11.00, 11i; IRIX 6.5; Redhat Linux 7.1, 9; Solaris 7, 8, 9; Tru64 UNIX 4.0d, 5.1 2004-02-18 Albert China 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: * src/exitcode.h: IBM C compiler doesn't like trailing commas after last enum constant. * src/clinet.c: Define h_errno for HP-UX 10.20. * src/distcc.h: Forward declaration of 'struct sockaddr' gives problems with IBM C compiler. And, it's not needed. * src/serve.c: Forgot to include Needed on HP-UX 10.20, 11.00, 11i. * src/types.h: Remove definition of socklen_t if unavailable. We not declare it correctly via autoconf. * configure.ac: a) Better detection for socklen_t. This code is taken from curl but we submitted it so we own the copyright. Feel free to use as you please. b) Existence of mmap() doesn't imply MAP_FAILED exists. So, test and define it if unavailable. c) Replace the AC_CHECK_FUNCS(connect) mess. 2004-01-30 Martin Pool * src/hosts.c (dcc_parse_hosts): Fix problem where we accidentally detected localhost at end of string. * src/h_hosts.c (main): Fix up verbose mode. * test/testdistcc.py (ParseHostSpec_Case.runtest): Test parsing of comments in host specifications. * src/hosts.c (dcc_parse_hosts): Skip over hash comments in host specifications. 2004-01-11 Martin Pool * src/srvnet.c (dcc_check_client): Take list of allowed addresses as a new parameter so that this file doesn't depend on opt.c. * src/h_sa2str.c: New test harness. * Makefile.in (h_sa2str): new test. 2004-01-09 Martin Pool * configure.ac: Make --without-gnome, --without-gtk, --disable-profile all turn the relevant options off rather than on. * Makefile.in: Add man/distccmon-text.1, and clean up manpage handling. * man/distccmon-text.1: Fix some typos. * src/dopt.c (distccd_parse_options): Option arguments should be held in (const char *). * src/setuid.c (dcc_discard_root): Must setuid after setgid, not before. Fix from Wayne Davison. * src/mon.c (dcc_mon_check_orphans): 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. Reported by Ernst Bachmann. 2003-12-21 Shri Shrikumar * man/distccmon-text.1: New manpage. 2003-12-15 Martin Pool * man/distccd.1: Mention TMPDIR. * man/distcc.1: We don't use a subdirectory of TMPDIR anymore. 2003-11-28 Harold L Hunt II * configure.ac, Makefile.in: Add --with-docdir=PATH option to set install location for documents. The default is the same as previously: ${datadir}/doc/distcc. 2003-11-28 Martin Pool * src/distcc.h (dcc_sockaddr_storage): Different method for choosing the type for dcc_sockaddr_storage. We now use a plain sockaddr unless RFC2553 was requested, in which case we use sockaddr_storage. HAVE_SOCKADDR_STORAGE is only used as a check that the RFC2553 implementation is reasonable. * src/distcc.h (dcc_sockaddr_storage): Use a new type name for our replacement of sockaddr_storage, rather than calling it sockaddr_storage, to make it more clear that it's determined by autoconf. * src/prefork.c (dcc_preforked_child): Use dcc_sockaddr_storage. * src/dparent.c (dcc_forking_parent): Likewise. * src/daemon.c (dcc_inetd_server): Likewise. 2003-11-23 Martin Pool * src/netutil.c (dcc_sockaddr_to_string) [ENABLE_RFC2553]: Include the port number in the returned string, as for !ENABLE_RFC2553. This looks a bit wierd for IPv6 but is legible and unambiguous at least for output. Increase static buffer size. * src/clinet.c (dcc_connect_timed): Check SO_ERROR to see if the connection failed so that we can trap it at this point rather than waiting until we start doing IO. * src/distcc.h [ENABLE_RFC2553]: sockaddr_storage is required for RFC2553. * src/dparent.c (dcc_nofork_parent, dcc_forking_parent): Socket addresses should be stored on the stack in sockaddr_storage so that IPv6 addresses will fit. We always have this type, or can simulate it. * src/prefork.c (dcc_preforked_child): Likewise. * src/srvnet.c (dcc_socket_listen) [ENABLE_RFC2553]: Don't prefer to listen on IPv4 addresses, just use whatever the operating system thinks is best. * INSTALL: Suggest using --with-gnome and --enable-rfc2553. * man/distccd.1: Add description of --log-level. * src/dopt.c: New --log-level option to accomodate people who only want to log errors. * src/trace.c, src/trace.h (rs_loglevel_from_name): New function. * configure.ac, Makefile.in: Check pkg-config information for GNOME/GTK+ 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. * src/lock.c: Doc. 2003-11-17 Lionel Sausin * man/fr/distcc.1, man/fr/distccd.1: French translations of the manual pages. 2003-11-17 Martin Pool * distcc.h: MAXPATHLEN is not defined on GNU/Hurd, so supply a reasonable default value of 4096. Reported by Santiago Vila. 2003-11-17 Martin Pool * sendfile.c: Documentation updates. 2003-11-17 Allan Saddi * sendfile.c (sys_sendfile): BSD implementation of this function needs to return -1 when transmission fails with EAGAIN and no bytes were sent. 2003-11-17 Martin Pool * setuid.c (dcc_discard_root): Wayne suggests calling setgid()/setuid() before doing setgroups(). setgroups() on Mac OS X Jaguar can't seem to handle setting to 0 groups, so just set it to the same as the regular group. 2003-10-30 19:02 Martin Pool * doc/release-names.txt: [no log message] 2003-10-28 11:38 Martin Pool * configure.ac: Bump version. 2003-10-23 13:36 Martin Pool * autogen.sh: Remove check on autoconf version because it breaks on non-numeric versions like "2.57a". 2003-10-23 10:50 Martin Pool * man/distccd.1: Add some description of search paths. 2003-10-23 10:44 Martin Pool * man/distcc.1: Add some description of search paths. 2003-10-23 10:14 Martin Pool * TODO: More tasks to do. 2003-10-23 09:56 Martin Pool * NEWS, configure.ac: Prepare for 2.11.2 release 2003-10-14 14:23 Martin Pool * gnome/distccmon-gnome.desktop, NEWS: Desktop file corrections from Dag Wieers. 2003-10-13 23:57 Martin Pool * TODO: Notes on current bugs. 2003-10-13 20:05 Martin Pool * src/distcc.c: Don't trim the path at all when our invocation name is "distcc". 2003-10-13 19:52 Martin Pool * src/util.c: dcc_trim_path: Trace the compiler name. 2003-10-13 19:51 Martin Pool * src/util.c: dcc_trim_path: Doc. 2003-10-13 19:39 Martin Pool * src/distcc.c: Doc. 2003-10-13 19:24 Martin Pool * src/climasq.c: Doc. 2003-10-13 19:03 Martin Pool * NEWS, src/distcc.c, src/dsignal.c: 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. 2003-10-13 19:00 Martin Pool * src/distcc.c: Doc typo 2003-10-13 18:39 Martin Pool * src/: distcc.c, dsignal.c: Use AC_TYPE_SIGNAL to set signal handler return type for portability. 2003-10-13 18:38 Martin Pool * doc/example/xinetd, NEWS: Add type = UNLISTED to cope without an /etc/services entry. 2003-10-13 18:34 Martin Pool * configure.ac: Doc * Add check for signal return type. 2003-10-13 17:56 Martin Pool * man/distcc.1: Bump date. 2003-10-13 17:56 Martin Pool * man/distcc.1, NEWS: Clear up meaning of UNCACHED_ERR_FD. 2003-10-13 17:37 Martin Pool * README.packaging: Suggest adding to /etc/services. 2003-10-13 17:06 Martin Pool * man/distccd.1: Clarifications/corrections to --allow description. 2003-10-13 16:52 Martin Pool * NEWS: IRIX fixes. 2003-10-13 16:42 Martin Pool * src/serve.c: dcc_check_compiler_masq: Remove dead variable. 2003-10-13 16:40 Martin Pool * src/dparent.c: dcc_log_child_exited: Use appropriate log severity to match the signal severity, even on machines that don't have strsignal(). 2003-10-13 16:37 Martin Pool * TODO: Notes on better scheduling. 2003-10-13 16:26 Martin Pool * NEWS: Remove dependency on libglade. * Fix --without-gnome. 2003-10-13 16:24 Martin Pool * gnome/: distccmon-gnome.glade, distccmon-gnome.gladep: Remove Glade packages. 2003-10-13 16:20 Martin Pool * src/mon-gnome.c: Set icon on monitor window from png file. 2003-10-13 16:15 Martin Pool * src/mon-gnome.c: Remove dependency on Glade by rolling back to by-hand construction of window components, based on the code in 2.10. 2003-10-13 16:10 Martin Pool * Makefile.in: Don't require libglade. 2003-10-13 16:09 Martin Pool * configure.ac: Correct the handling of --without-gnome, etc. Previously this was treated the same as --with-gnome. * Don't require libglade. 2003-10-13 15:31 Martin Pool * configure.ac: Bump version 2003-10-08 15:47 Martin Pool * NEWS, configure.ac: Prepare for 2.11.1 release. 2003-10-08 15:45 Martin Pool * NEWS, src/arg.c, test/testdistcc.py: C++ compilation with -frepo must be local, because it emits .rpo files. 2003-10-07 16:12 Martin Pool * src/bulk.c: dcc_x_file_lzo1x should return any errors that occur. 2003-10-07 16:07 Martin Pool * src/exec.c: dcc_inside_child should be void and should never return. 2003-10-07 16:01 Martin Pool * src/: util.c, util.h: dcc_exit can be void. 2003-10-07 15:52 Martin Pool * man/distcc.1: Typo fix from Lionel Sausin. 2003-10-01 13:56 Martin Pool * src/mon.h, NEWS: Description from Frerich of how to write monitor programs, with some edits by me. 2003-09-30 12:54 Martin Pool * NEWS: Put Gnome data files into PKGDATADIR, e.g. /usr/local/share/distcc/, rather than the top-level datadir. 2003-09-30 12:49 Martin Pool * Makefile.in, src/mon-gnome.c: Put Gnome data files into PKGDATADIR, e.g. /usr/local/share/distcc/, rather than the top-level datadir. 2003-09-30 12:42 Martin Pool * configure.ac, Makefile.in: New @INSTALL_GNOME@ substitution so that Gnome/GTK data files are only installed when necessary. 2003-09-30 12:40 Martin Pool * INSTALL: Give dependencies for --with-gtk. 2003-09-30 09:54 Martin Pool * src/state.h: Remove stdint.h. We don't use it, and it does not exist on FreeBSD 4-STABLE, according to Frerich Raabe. 2003-09-29 22:23 Martin Pool * man/distcc.1: Set datestamp. 2003-09-29 22:21 Martin Pool * NEWS: Fix for state.h 2003-09-29 22:19 Martin Pool * man/distcc.1: Documentation corrections from Lionel Sausin. 2003-09-29 16:57 Martin Pool * src/tempfile.c, NEWS: Check that we have permission to write to the specified TMPDIR, or otherwise fail. 2003-09-29 16:46 Martin Pool * src/mon.h: Doc rename to dcc_history. 2003-09-29 16:44 Martin Pool * src/mon.h: Explain why dnotify is cut out. 2003-09-29 16:33 Martin Pool * NEWS: stdint.h is not on iricks or sloaris either. 2003-09-29 16:30 Martin Pool * src/access.c, src/h_parsemask.c, src/mon-text.c, src/state.c, configure.ac: Remove stdint.h. We don't use it, and it does not exist on FreeBSD 4-STABLE, according to Frerich Raabe. 2003-09-29 16:16 Martin Pool * configure.ac: Make it just --with-gtk. 2003-09-29 16:15 Martin Pool * configure.ac: Fix help string for --with-gtk+. 2003-09-29 16:13 Martin Pool * NEWS, configure.ac: Add support for building with either GNOME or plain GTK+. 2003-09-29 16:08 Martin Pool * src/mon-gnome.c: Remove unnecessary inclusion of headers for pango. * Allow compilation with either GNOME or plain GTK+, depending on WITH_GNOME and WITH_GTK. 2003-09-29 16:06 Martin Pool * src/renderer.c: Remove unnecessary inclusion of headers for gnome, pango and glade, and use of gettext macro. 2003-09-27 23:13 Martin Pool * src/state.h: Fix state.h for use with C++. Patch from Frerich Raabe. 2003-09-27 19:42 Martin Pool * configure.ac: Bump version. 2003-09-25 13:39 Martin Pool * src/mon-gnome.c: Include GTK as well. 2003-09-24 15:33 Martin Pool * Makefile.in: Change for new log archiving method. 2003-09-23 16:12 Martin Pool * NEWS: Prepare for release. 2003-09-23 15:58 Martin Pool * configure.ac: Run tests for GNOME packages when --with-gnome is set. 2003-09-23 15:51 Martin Pool * configure.ac: Bump to version 2.11. 2003-09-23 15:43 Martin Pool * NEWS, src/distcc.c: Client catches SIGINT, SIGHUP and SIGTERM and cleans up temporary files before terminating. 2003-09-23 15:26 Martin Pool * NEWS: Make directories and state files with weak mode bits, to try to avoid conflicts in shared distcc_dirs. 2003-09-23 15:24 Martin Pool * src/tempfile.c: dcc_mkdir: Make directory with weak mode bits, to try to avoid conflicts in shared distcc_dirs. 2003-09-23 15:22 Martin Pool * src/lock.c: dcc_open_lockfile: Open lockfile with weak mode bits, to try to avoid conflicts in shared distcc_dirs. 2003-09-23 15:18 Martin Pool * gnome/: .cvsignore, distccmon-gnome-icon.png, distccmon-gnome.desktop, distccmon-gnome.glade, distccmon-gnome.gladep: Merge from branch-pretty. Update desktop file to include the right name. 2003-09-23 15:12 Martin Pool * Makefile.in: Distribute and install GNOME data files. 2003-09-23 15:00 Martin Pool * NEWS: Change to --with-gnome for consistency with other packages. 2003-09-23 14:57 Martin Pool * test/testdistcc.py: The access mask 1.2.3.4/0 should match anything. 2003-09-23 14:53 Martin Pool * src/distcc.c: Fix bad bug in main() that caused us to exit through the wrong path. 2003-09-23 14:38 Martin Pool * configure.ac, INSTALL: Change to --with-gnome for consistency with other packages. 2003-09-23 14:28 Martin Pool * configure.ac: LINUXDOC is no longer a special variable. 2003-09-23 14:23 Martin Pool * INSTALL, Makefile.in, NEWS, TODO, configure.ac, doc/release-names.txt, src/clirpc.c, src/compile.c, src/distcc.c, src/distcc.h, src/mon-fake.c, src/mon-gnome.c, src/mon-text.c, src/mon.c, src/mon.h, src/remote.c, src/renderer.c, src/renderer.h, src/state.c, src/state.h, src/util.c, src/util.h, src/where.c: Merge the new GNOME monitor back from 'branch-pretty': * GNOME monitor now uses a custom GtkCellRenderer subclass (renderer.c, renderer.h) to draw a scarf-style history of the states for the slot. * Now uses binary state files that are quicker to write out and read in. Not compatible with monitors from the previous version. * Structure renamed from dcc_mon_list to dcc_history. Text fields are held directly in the structure to allow it to be directly written out. * State files are written and rewritten in place, rather than always being renamed into place. We cope reasonably gracefully when reading back files that are truncated. * New strlcpy() utility. * Clean up cruft in dcc_lock_one() from when we had transmission lock files. * Better handling of EXEEXT to allow tab completion to work in Makefiles. * GNOME monitor is now constructed using libglade-2, rather than the hard way. * New --enable-profile option for gprof. * Depends on libglade, pango, libgnome, libgnomeui, at least if you want the graphical monitor. * Change UNUSED() macro to make sure the variable is not accidentally used. * Rename state tags to consistent DCC_STATE_* 2003-09-23 14:02 Martin Pool * Makefile.in: Doc. 2003-09-23 14:00 Martin Pool * src/mon-gnome.c: Change colors to a set selected from the GNOME palette that are easier to distinguish. 2003-09-23 13:44 Martin Pool * gnome/distccmon-gnome.glade, src/mon-gnome.c: Remove About and Key windows, which don't do anything very useful at the moment. 2003-09-22 17:33 Martin Pool * src/mon.c: Check structure size when loading binary state files. 2003-09-22 17:32 Martin Pool * src/: state.c, state.h, where.c: Don't make the client's state structure global. * Don't need dcc_timeval_to_microseconds anymore. 2003-09-22 17:29 Martin Pool * TODO: Remove done items. 2003-09-22 17:24 Martin Pool * src/state.h: Add a size field to the state struct. 2003-09-22 17:22 Martin Pool * src/mon.h: Don't need dcc_timeval_to_double 2003-09-22 17:13 Martin Pool * src/mon-gnome.c: Don't need sys/time.h 2003-09-22 17:12 Martin Pool * src/lock.c: Don't need state.h anymore. 2003-09-22 17:10 Martin Pool * src/: compile.c, distcc.c: Don't use STARTUP state anymore. 2003-09-22 16:50 Martin Pool * INSTALL: Note gnome dependencies. 2003-09-22 15:53 Martin Pool * src/mon-gnome.c: Lower the priority of scanning for changes, so that we're more likely to keep the UI responsive. 2003-09-22 14:53 Martin Pool * src/mon-gnome.c: Doc 2003-09-22 14:51 Martin Pool * src/remote.c: Store hostname in state file, not the host definition string. 2003-09-20 19:36 Martin Pool * NEWS: Try safe lzo decompressor, to try to catch cases where the compressed data is corrupt or our output buffer is too small. 2003-09-20 16:42 Martin Pool * src/compress.c: Try safe lzo decompressor, to try to catch cases where the compressed data is corrupt or our output buffer is too small. 2003-09-19 17:23 Martin Pool * gnome/: distccmon-gnome-icon.png, distccmon-gnome.glade, distccmon-gnome.gladep: Move icons. * Add menu item to show color key. * Set size through allocation of scroll area, not through the window default_size. 2003-09-19 17:21 Martin Pool * src/mon-gnome.c: Add menu option to show chart key. 2003-09-19 17:21 Martin Pool * src/: renderer.c, renderer.h: Set bar width so that the whole history cell is filled. 2003-09-19 16:53 Martin Pool * gnome/.cvsignore: Rename icon PNG 2003-09-19 16:51 Martin Pool * gnome/distccmon-gnome.glade: Rename icon png. 2003-09-19 16:35 Martin Pool * gnome/distccmon-gnome.desktop: Add draft FreeDesktop .desktop definition. 2003-09-19 16:02 Martin Pool * src/renderer.c: Choose bar width such that the complete history roughly fills the cell. 2003-09-19 15:40 Martin Pool * src/mon.c: Quieten warnings when polling state files. 2003-09-19 15:39 Martin Pool * src/state.c: Change state name to "Preprocess". 2003-09-19 15:15 Martin Pool * src/renderer.c: Doc. 2003-09-19 14:57 Martin Pool * src/: mon-gnome.c, renderer.c, renderer.h: Create graphics contexts for drawing state strips just once at startup, rather than every time we draw a rectangle. Ought to be much more efficient. 2003-09-19 14:43 Martin Pool * configure.ac: Add --enable-profile option. * Cleanup CPPFLAGS generation. 2003-09-19 14:29 Martin Pool * src/dparent.c, NEWS: In non-forking mode, make sure to close the accepted fd after processing a request. 2003-09-19 14:01 Martin Pool * NEWS: Allow access masks like 0.0.0.0/0, meaning allow access from anywhere. Some adjustments required to allow for behaviour of C bitshift operators. 2003-09-19 13:58 Martin Pool * src/access.c: Allow access masks like 0.0.0.0/0, meaning allow access from anywhere. Some adjustments required to allow for behaviour of C bitshift operators. 2003-09-19 13:07 Martin Pool * Makefile.in: Use an autoconf substitution for EXEEXT, rather than a Make variable, so that bash's tab completion doesn't get confused by the targets. 2003-09-19 12:45 Martin Pool * NEWS: Manpage updates. 2003-09-19 12:44 Martin Pool * man/distcc.1: Suggest using SCons. 2003-09-19 12:41 Martin Pool * man/distcc.1: [no log message] 2003-09-19 12:35 Martin Pool * man/distcc.1: More explanation of Make and compiler errors. 2003-09-19 12:30 Martin Pool * man/distcc.1: More discussion of where to place localhost in the list. 2003-09-19 12:21 Martin Pool * src/tempfile.c: [no log message] 2003-09-19 12:06 Martin Pool * NEWS: [no log message] 2003-09-19 12:03 Martin Pool * patches/: backlog-sample.c, colorgcc, compression.patch, connect-timeout-02.diff, daemon-address-binding.diff, distcc-ethereal.diff, distcc-hostlist.diff, distcc-hostopt.patch, distccd-clean-path.diff, prefork-sample.c, state-in-home.diff, trylzo.c: Remove obsolete patches. 2003-09-19 11:47 Martin Pool * NEWS: [no log message] 2003-09-18 19:53 Martin Pool * src/mon-gnome.c: Retain history of 100 states. 2003-09-18 18:58 Martin Pool * src/renderer.c: Draw "DONE" states as empty. 2003-09-18 18:32 Martin Pool * src/renderer.c: Render the slot history as a set of state stripes. This looks great! 2003-09-18 18:18 Martin Pool * src/renderer.c: Kill dead code. 2003-09-18 18:01 Martin Pool * src/mon-gnome.c: Trim the history queue length every time we add to it. 2003-09-18 17:58 Martin Pool * src/renderer.c: Cope with the "history" property being a GQueue of state values, rather than a list of dcc_history structures. * Just the first state is drawn through the whole cell at the moment. 2003-09-18 17:57 Martin Pool * src/mon-gnome.c: Fix pointer error in prepending to an existing history queue. 2003-09-18 17:55 Martin Pool * src/mon-gnome.c: Fix up code to insert at end. 2003-09-18 17:48 Martin Pool * src/mon-gnome.c: Actually go ahead and store the state history in a queue in all rows. Create this queue when the row is first inserted. * Change appended rows to go through dcc_insert_row_from_task() so that we can set up the queue. 2003-09-18 17:25 Martin Pool * src/mon-gnome.c: Doc * Store a GQueue of state values in the table row, so that the cell renderer can easily read back all of them and draw them. * Split out code to insert a row into dcc_insert_row_from_task(), because it needs to construct a new GQueue. * rename dcc_clear_row -> dcc_set_row_idle() 2003-09-18 17:05 Martin Pool * src/mon-gnome.c: Fix number of columns. 2003-09-18 17:04 Martin Pool * src/mon-gnome.c: Add textual State column. 2003-09-18 17:00 Martin Pool * src/mon.c: Don't sort localhost specially. I think this was buggy. 2003-09-18 16:28 Martin Pool * src/mon-gnome.c: After we finish the task list, clear any rows remaining in the table. 2003-09-18 16:21 Martin Pool * src/mon-gnome.c: dcc_update_store_from_tasks: Fix bug that caused it to lock up when it hit a host with no name or file or in DONE state. 2003-09-18 16:13 Martin Pool * src/renderer.c: Silently ignore NULL "history" properties. 2003-09-18 16:12 Martin Pool * src/mon-gnome.c: Add a "Slot" column, visible in the list. * First cut at a method for updating the tree model in place, rather than deleting it and creating a new one. Takes advantage of the tree model and the task list being in the same order to detect changed, added or deleted rows. Partially working. 2003-09-18 15:40 Martin Pool * src/mon-gnome.c: Typo 2003-09-18 15:38 Martin Pool * src/mon-gnome.c: Split code for merging task list into list store into new function dcc_update_store_From_tasks(), in preparation for doing an update-in-place rather than clearing it and reloading. * COLUMN_HISTORY is currently set to NULL. It will become a pointer to a list of state values. * task_list is no longer global. It is held in memory only during the update. 2003-09-18 15:22 Martin Pool * gnome/distccmon-gnome.glade: Vertical scrollbar auto; horizontal scrollbar never. 2003-09-18 15:20 Martin Pool * src/mon-gnome.c: Doc. * Move gtk_list_store_new() to near the column number declarations to help keep them in step. * Drop unused dcc_timeval_to_double(). 2003-09-18 15:06 Martin Pool * src/renderer.c: Render the state cell solidly filled with the color for the current state. 2003-09-18 15:02 Martin Pool * src/renderer.c: Remove dead code. 2003-09-18 14:59 Martin Pool * src/mon-gnome.c: Show file name in the table too. 2003-09-18 14:54 Martin Pool * Makefile.in, gnome/distccmon-gnome.glade, src/mon-gnome.c, src/renderer.c: Roll back to using a table and cellrenderer. I think the immediately previous approach of having the monitor keep track of state history and draw an unlabelled striped bar is probably pretty good. However, I'd like to also rely on the regular table widget to give us space to draw it. This code builds and gives an empty table. The renderer is here but disabled. 2003-09-18 14:14 Martin Pool * src/compress.c: Fix up types for printing size_ts and for interfacing with minilzo. Detected when building on ia64 for Debian. 2003-09-18 10:48 Martin Pool * autogen.sh: "sed 1q" is more portable than using head to chop the version out of autoconf. Reported by Alexandre Oliva. 2003-09-18 10:39 Martin Pool * AUTHORS: [no log message] 2003-09-18 10:20 Martin Pool * NEWS: Note portability fixes. 2003-09-18 10:17 Martin Pool * src/ncpus.c, NEWS: In all cases, if we failed to determine the number of CPUs using sysconf, then assume 1. 2003-09-18 10:15 Martin Pool * src/ncpus.c: If we failed to determine the number of CPUs using sysconf, then assume 1. 2003-09-18 10:14 Martin Pool * src/ncpus.c: bsdi can use the BSD method of finding NCPUs as well. Reported by Nick Amato. 2003-09-17 17:24 Martin Pool * src/mon-gnome.c: Accumulate all task lists in a GSList (currently never truncated) and draw striped bars showing past tasks. Currently they are not placed on the right row, so the stripes are all pushed up towards the top. 2003-09-17 16:10 Martin Pool * src/: mon-gnome.c, state.c, state.h: Rework monitor yet again: :-/ * State files no longer hold a history of that process's state, just its current information, and they are removed when the process exits. This means that we cannot get very fine-grained plots of transitions between states, but it seemed to be hard to get that information displayed smoothly without burning a lot of CPU. In addition, we were getting hundreds of leftover state files, which slow down traversing the directory and are not really necessary. I'll try instead putting the burden of remembering and painting history onto the monitor, since it's the only program that really needs that information. 2003-09-17 15:44 Martin Pool * src/mon.c: Files only 60s old are now considered too old. 2003-09-17 15:41 Martin Pool * NEWS, autogen.sh: Fix autogen.sh for recent versions of GNU coreutils. Reported by Lisa Seelye. 2003-09-17 15:36 Martin Pool * src/: state.c, distcc.c: Move back towards removing state files when the client process that they belong to exits. 2003-09-17 12:27 Martin Pool * src/mon-gnome.c: Skip tasks on no host * Draw labels again * Refresh every 300ms 2003-09-17 12:24 Martin Pool * src/renderer.c: GtkCellRenderer is no longer needed 2003-09-17 12:21 Martin Pool * COPYING.FDL: The GNU FDL need not be included, because the SGML manual is gone. All the documentation is in the manpages, which are GPL'd. 2003-09-17 12:16 Martin Pool * man/distcc.1: Set date. 2003-09-17 12:14 Martin Pool * man/: distccd.1, distcc.1: Add no-warranty statement. 2003-09-17 12:11 Martin Pool * Makefile.in: COPYING.FDL is no longer included, because the manpages are GPL'd. 2003-09-16 19:27 Martin Pool * src/mon-gnome.c: Only draw rectangles of >=1 width. 2003-09-16 19:17 Martin Pool * src/: mon-gnome.c, mon.c, state.c, state.h: Handle times as microseconds-since-epoch rather than doubles. * Rework task drawing routine to correctly handle tasks that have already completed. Currently working but a bit slow. 2003-09-16 19:06 Martin Pool * patches/lisa--recursive-mkdir-uid-distccdir.patch: Patch from Lisa. 2003-09-16 19:00 Martin Pool * src/mon-gnome.c: Better attempt at drawing current and previous tasks. 2003-09-16 18:38 Martin Pool * src/distcc.c: Make a better attempt at always recording DONE when we are. 2003-09-16 18:13 Martin Pool * src/mon-gnome.c: Center text labels in bars. * Set bar height to 1.5x text height. * Draw host name once per row. 2003-09-16 18:03 Martin Pool * src/: mon-gnome.c, state.h: Much simpler fix for identifying multiple tasks in the same slot: now that things are sorted properly, we can just find neighbouring history reports and check if they're the same. That should make drawing past tasks easy... 2003-09-16 15:57 Martin Pool * src/state.h: Add a pointer to the next on this slot. 2003-09-16 15:55 Martin Pool * src/mon-gnome.c: Update every 200ms * Allocate rows for each host slot, so that we can draw multiple tasks onto each line. 2003-09-16 15:08 Martin Pool * src/mon.c: Sort localhost to the front of the list of tasks. 2003-09-16 15:04 Martin Pool * src/mon.c: Return list of running tasks sorted by hostname and slot to make monitor displays more likely to keep tasks in a stable position. 2003-09-16 14:36 Martin Pool * src/mon.c: Don't need signal.c 2003-09-16 14:23 Martin Pool * NEWS: Note that we should now work on BSD/OS. 2003-09-16 14:20 Martin Pool * NEWS: Call getpgrp() rather than getpgid(), because it's the POSIX.1 standard function. Suggestion from Nick Amato. 2003-09-16 14:19 Martin Pool * src/exec.c: Call getpgrp() rather than getpgid(), because it's the POSIX.1 standard function. 2003-09-16 13:56 Martin Pool * src/mon-gnome.c: Don't draw border. * Do get proper alignment between host names and task bars. * Include slot number in the name. 2003-09-16 13:28 Martin Pool * src/mon-gnome.c: Draw host names on left. (Not very well. :-) 2003-09-16 13:24 Martin Pool * src/mon-gnome.c: Leave space on the left to draw hostnames, and draw a splitter bar at that point. * Draw a border around the drawingarea. 2003-09-16 13:10 Martin Pool * Makefile.in: Roll back to using a GtkDrawingArea rather than a table. renderer.c is no longer needed. 2003-09-16 13:08 Martin Pool * src/mon-gnome.c: Fix up rollback. 2003-09-16 13:07 Martin Pool * src/mon-gnome.c: Roll back to 1.43.2.37, using a GtkDrawingArea rather than a table. 2003-09-16 12:42 Martin Pool * gnome/distccmon-gnome.glade: Merge back to DrawingArea in 1.1.2.14. No other changes. 2003-09-15 17:57 Martin Pool * src/mon-gnome.c: Redraw the chart more frequently than we reload the task list, so that scrolling seems smoother. 2003-09-15 17:32 Martin Pool * src/renderer.c: Fix horizontal gaps between stripes. 2003-09-15 17:30 Martin Pool * src/mon-gnome.c: Update every 200ms 2003-09-15 17:23 Martin Pool * src/renderer.c: Draw tasks as multiple strips for each state. 2003-09-15 17:18 Martin Pool * src/: mon-gnome.c, mon.h: Remove old GCs * Make dcc_timeval_to_double global 2003-09-15 17:14 Martin Pool * src/mon-fake.c: Split out code for fake monitor data; currently not used. 2003-09-15 17:02 Martin Pool * src/renderer.c: Partially merge some code from the old GtkDrawingArea implementation, so that we have better-factored code for drawing state strips. 2003-09-15 16:50 Martin Pool * src/renderer.c: Fix unused params. 2003-09-15 16:36 Martin Pool * src/distcc.h: UNUSED macro should mangle the variable name to make sure that parameters marked UNUSED are not accidentally used. 2003-09-15 16:34 Martin Pool * src/renderer.c: Draw state color and filename from the history record. 2003-09-15 16:29 Martin Pool * src/mon-gnome.c: Go back to a "history" property, being a pointer to a list of tasks. 2003-09-15 16:21 Martin Pool * src/: renderer.c, mon-gnome.c: Go back to a "history" property, being a pointer to a list of tasks. 2003-09-15 16:04 Martin Pool * src/where.c: Only enter BLOCKED state when we need to sleep waiting for a slot. 2003-09-15 16:03 Martin Pool * src/where.c: Sleep only 1s when bored. 2003-09-15 16:02 Martin Pool * src/state.h: Expose client state. 2003-09-15 16:01 Martin Pool * src/where.c: Fix code that caused us not to record the right slot number for local builds. Remove old code left over from transmission locks. 2003-09-15 15:53 Martin Pool * src/: lock.c, mon-gnome.c, renderer.c, state.c, state.h, where.c: * Store slot number as an integer in the state file. 2003-09-15 15:51 Martin Pool * src/mon-text.c: Show slot number in text display. 2003-09-15 15:33 Martin Pool * src/: mon-gnome.c, renderer.c, state.h: Change to storing slot name in the state file so that we can easily work out which tasks to draw on which line. Use a global variable to publish that information to the cell renderer. 2003-09-15 14:54 Martin Pool * src/renderer.c: Make the colored region fill the whole strip. 2003-09-15 14:46 Martin Pool * src/renderer.c: Draw text for jobs vertically centered within their rectangle. 2003-09-15 00:41 Martin Pool * src/renderer.c: Draw text into the task blocks. 2003-09-14 20:17 Martin Pool * src/renderer.c: Draw a border around the state rectangle, and try to take the padding into account when drawing. 2003-09-14 19:48 Martin Pool * Makefile.in: Cosmetic 2003-09-14 19:24 Martin Pool * src/: mon-gnome.c, renderer.c: Renderer now draws process states in something like the right color. 2003-09-14 17:43 Martin Pool * src/renderer.c: Add get/set code for history property. 2003-09-14 17:40 Martin Pool * src/: renderer.c, renderer.h: The implementation structures for the cell renderer can be more private. 2003-09-14 17:38 Martin Pool * src/renderer.c: Add a "task-history" property to the CellRenderer, currently storing only an integer that will be the current task's state. We don't handle sets/gets on it yet. 2003-09-14 17:33 Martin Pool * src/mon-gnome.c: Allow sorting by host name. * Make the tasks column in the list model store an integer, so that we can give it the current task's state. Bind this cell to the "task-history" property of the renderer. 2003-09-14 17:18 Martin Pool * src/: mon-gnome.c, mon-text.c, mon.c, mon.h, state.c, state.h: Rename dcc_client_history to just dcc_history. 2003-09-14 17:17 Martin Pool * NEWS: Add release header. 2003-09-14 17:09 Martin Pool * src/renderer.c: Doc 2003-09-12 17:23 Martin Pool * src/renderer.h: Add state field to _DccCellRendererChart 2003-09-12 17:16 Martin Pool * src/renderer.c: Implement dcc_cell_renderer_chart_get_size 2003-09-12 17:08 Martin Pool * src/renderer.c: Add a simpleminded implementation of dcc_cell_renderer_chart_render() that can draw the chart cells as black rectangles. 2003-09-12 15:58 Martin Pool * src/renderer.c: Implement the get_property and set_property methods. 2003-09-12 15:49 Martin Pool * src/renderer.c: Fix call to g_type_register_static, which needs a reference to the parent type. 2003-09-12 15:46 Martin Pool * src/: renderer.c, renderer.h: Add GTK Type boilerplate to create a new GtkCellRenderer. 2003-09-12 13:08 Martin Pool * Makefile.in, src/mon-gnome.c, src/renderer.c, src/renderer.h: Put renderer interface into renderer.h 2003-09-12 13:05 Martin Pool * Makefile.in, src/mon-gnome.c, src/renderer.c: Split out draft GtkCellRenderer into its own file. 2003-09-11 19:07 Martin Pool * src/mon-gnome.c: Start adding a custom renderer. Doesn't do anything yet. 2003-09-11 18:57 Martin Pool * src/mon-gnome.c: As an experiment, draw pixbufs into the task cells using a GtkCellRendererPixmap, rather than text. This seems to be working OK. 2003-09-11 18:47 Martin Pool * src/mon-gnome.c: Put hostname and state into the tree model as they're updated. 2003-09-11 18:47 Martin Pool * gnome/distccmon-gnome.glade: Turn off rules_hint on table. 2003-09-11 18:23 Martin Pool * src/mon-gnome.c: Add a task column. 2003-09-11 18:17 Martin Pool * gnome/distccmon-gnome.glade, src/mon-gnome.c: Move back towards using a table, but now with space for our own GtkCellRenderer to draw a chart for each host slot. At the moment nothing is in the table, just a column for host names. 2003-09-11 17:44 Martin Pool * src/mon-gnome.c: Cut out trace messages. 2003-09-11 17:31 Martin Pool * src/mon-gnome.c: Use real task information. * Avoid coloring in areas that will be hidden by the border. * Make the border the correct width. 2003-09-11 17:15 Martin Pool * src/mon-gnome.c: Draw text labels in black. * Add a second file to the fake information. * Set the start time on fake files. * Draw all states for a file, using the old code but adapted to drawing on the DrawingArea not a canvas. 2003-09-11 15:19 Martin Pool * src/mon-gnome.c: Draw tasks from a faked up list, rather than just drawing arbitrary rectangles. * Redraw window using gtk_widget_queue_draw rather than Gdk. This seems to fix a problem with redraw. Perhaps we were passing the wrong rectangle. 2003-09-11 15:02 Martin Pool * src/mon-gnome.c: Set bar height from font height. Now when you change the GNOME system font, all the bars redraw to the right height. That is so cool. :-) 2003-09-10 22:51 Martin Pool * src/mon-gnome.c: Cut out expose trace events. 2003-09-10 22:48 Martin Pool * src/mon-gnome.c: Stub out display of tasks so that we do get something correctly drawn again. 2003-09-10 18:27 Martin Pool * Makefile.in, configure.ac: We need Pango as well for GNOME. 2003-09-10 18:27 Martin Pool * src/mon-gnome.c: Start adding support for fake monitor data for testing. 2003-09-10 17:03 Martin Pool * src/mon-gnome.c: Draw tasks from the task list. 2003-09-10 16:25 Martin Pool * src/mon-gnome.c: Draw tasks by creating a new PangoLayout each time using the GTK+ helper. 2003-09-10 16:13 Martin Pool * src/mon-gnome.c: Draw labels onto file rectangles using Pango. How cool! 2003-09-10 15:27 Martin Pool * gnome/distccmon-gnome.glade: Put the chart drawing into a GtkAlignment so that we can get a 6px border around it. It was looking a bit cramped against the window border. 2003-09-10 15:17 Martin Pool * src/mon-gnome.c: Allocate GCs for all states. * Draw nice gray outlines around all task rectangles. 2003-09-10 15:05 Martin Pool * src/mon-gnome.c: Invalidate/repaint the chart widget every time we update the list. 2003-09-10 15:00 Martin Pool * src/mon-gnome.c: Factor out code for drawing state rectangles (back) into dcc_draw_state_rect(). * Draw a whole array of dummy tasks. 2003-09-10 14:55 Martin Pool * src/mon-gnome.c: Allocate a graphics context in the appropriate color and use it to draw our dummy tasks. 2003-09-10 14:32 Martin Pool * src/mon-gnome.c: Stub for on_chart_drawing_expose(). 2003-09-10 14:19 Martin Pool * gnome/distccmon-gnome.glade, src/mon-gnome.c: Rework again: * Start adding a 'key' window showing all the state colors. * Go back to a DrawingArea for showing the chart (just experimental). * Delete table view from monitor. 2003-09-09 18:17 Martin Pool * src/state.h: States must be listed in the order in which they're run. 2003-09-09 18:15 Martin Pool * src/mon-gnome.c: Update every 150ms. * Don't update the table. * Don't include DONE tasks. * Left-align filename. * Don't outline tasks. * Reorder color list for new state enum. * Make sure all states are drawn properly. This is leaking memory badly! 2003-09-09 17:54 Martin Pool * src/compile.c: Record input filename as soon as it is known. 2003-09-09 17:53 Martin Pool * src/state.c: Don't update state times that are already recorded. 2003-09-09 17:52 Martin Pool * src/where.c: Go into BLOCKED state at the start of the locking phase, so that we don't need to update repeatedly. 2003-09-09 17:29 Martin Pool * src/mon-gnome.c: Draw compilation tasks as striated rectangles. Handling of DONE tasks is not OK yet. 2003-09-09 17:14 Martin Pool * src/: compile.c, distcc.c: Go into STARTUP state earlier in the client process. 2003-09-09 17:09 Martin Pool * src/state.c: Make sure the time is recorded even for state 0. In fact, always update the time whenever dcc_note_state() is called. 2003-09-09 16:57 Martin Pool * src/compile.c: Please do use DCC_STATE_STARTUP so that we know when we started. 2003-09-09 16:43 Martin Pool * src/mon-gnome.c: Factor out code to create canvas items for the task 2003-09-09 16:21 Martin Pool * src/mon-gnome.c: Color task bars according to current state. 2003-09-08 21:12 Martin Pool * src/mon-gnome.c: Check for glade definition file in ., ./gnome, and DATADIR. 2003-09-08 21:10 Martin Pool * Makefile.in: Fix Make syntax 2003-09-08 21:09 Martin Pool * Makefile.in: Pass in DATADIR (e.g. /usr/local/share) when installing. 2003-09-08 18:11 Martin Pool * src/mon-gnome.c: More experiments in drawing. 2003-09-08 18:10 Martin Pool * gnome/distccmon-gnome.glade: Try a Canvas in a GtkAlignment 2003-09-08 17:47 Martin Pool * src/mon-gnome.c: More progress on canvas display * Skip done tasks * Show a nice vertical stack of running tasks, with the file name in each, and drawn with reasonable colors. 2003-09-08 17:33 Martin Pool * src/mon-gnome.c: More progress on canvas display * Put all bars into an overall group, so that they can all be removed every time we redraw. * Create all process bars in one group each time. 2003-09-08 16:39 Martin Pool * src/mon-gnome.c: More fixups for new state mechanism * Convert state to a string before putting it into the table. * Skip done tasks. 2003-09-08 16:26 Martin Pool * src/mon-gnome.c: Fix up (mostly renames) for new monitor interface. 2003-09-08 16:21 Martin Pool * src/mon-text.c: Skip display of Done tasks. 2003-09-08 16:20 Martin Pool * src/state.c: Add missing state names. 2003-09-08 16:19 Martin Pool * src/state.c: Make sure to actually record our state! 2003-09-08 16:12 Martin Pool * src/: state.c, state.h, mon-text.c: Put state names into a new function dcc_get_state_name, rather than into constants. 2003-09-08 16:08 Martin Pool * src/mon.c: Processes that have exited can still be returned. 2003-09-08 16:01 Martin Pool * src/mon.c: Now that we're storing client history, it's OK to return information about processes that have already exited. We just need to make sure that their state gets set to DCC_STATE_DONE. 2003-09-08 15:59 Martin Pool * src/state.c: Put the client pid into the state file. 2003-09-08 15:57 Martin Pool * src/: mon.c, state.c, state.h: Store a magic number in the binary state file as a little protection. * Align magic and pid fields to unsigned longs. 2003-09-08 15:51 Martin Pool * src/state.c: Store history of state transitions in the state file. 2003-09-08 15:48 Martin Pool * NEWS, src/clirpc.c, src/compile.c, src/distcc.c, src/mon-text.c, src/mon.c, src/mon.h, src/remote.c, src/state.c, src/state.h, src/where.c: Many changes to the representation of the client state to make it easier to draw a history. * State is now stored as a natively encoded struct in a disk file, rather than using our network protocol. This is slightly faster, makes it easier to store multiple fields, and avoids tangling up the state file handling (which ought to ignore errors) with network IO. * States can now be written and read with one atomic IO, and we don't use temporary files. * States are represented by integers not strings. * There is space in the state file for a history of times that it entered particular states. 2003-09-08 15:29 Martin Pool * src/: util.h, util.c: Add strlcpy() if missing. 2003-09-08 15:29 Martin Pool * configure.ac: Add check for strlcpy(). 2003-09-08 13:17 Martin Pool * src/mon-gnome.c: Draw rectangles onto the canvas for each job that's currently running. 2003-09-08 13:11 Martin Pool * src/mon-gnome.c: Set canvas scroll region at startup. 2003-09-08 13:04 Martin Pool * src/mon-gnome.c: Draw little rectangles into the chart from the timer callback to prove that we can. 2003-09-08 12:51 Martin Pool * src/mon-gnome.c: Prepare to update both table and chart from one timer callback. Refactor into a part that gets the process list and a new function that updates the table model. * Add some prototypes for functions called by glade to silence compiler warnings. 2003-09-08 12:45 Martin Pool * src/mon-gnome.c: Rename setup_proc_view -> setup_table_view. * Doc. 2003-09-08 12:44 Martin Pool * src/mon-gnome.c: Document design of chart view. 2003-09-07 22:54 Martin Pool * src/mon-gnome.c: Draw a rectangle onto the chart to see it working. 2003-09-07 19:09 Martin Pool * gnome/distccmon-gnome.glade: Swich from a DrawingArea to a Canvas for the chart view. 2003-09-07 19:04 Martin Pool * src/mon-gnome.c: Swich from a DrawingArea to a Canvas for the chart view. 2003-09-07 19:03 Martin Pool * Makefile.in: Move mon-gnome.c back to src/ * Pull out common list of packages to be passed to pkg-config. * Compile mon-gnome.c separate from linking. 2003-09-07 18:53 Martin Pool * gnome/mon-gnome.c, src/mon-gnome.c: Move mon-gnome.c back to src/ 2003-09-05 17:01 Martin Pool * gnome/mon-gnome.c: Abort if we can't find the glade XML file. 2003-09-04 15:20 Martin Pool * man/distcc.1: Clear up explanation of --allow option. * Note that "gcc hello.c" is not split. 2003-09-03 12:41 Martin Pool * src/where.c, NEWS: Sleep only one second when blocked, to try to reduce idle time when recovering from an overloaded period. 2003-09-01 23:20 Martin Pool * gnome/: distccmon-gnome.glade, mon-gnome.c: Draw big black ellipse in the chart area. 2003-09-01 23:15 Martin Pool * gnome/: distccmon-gnome.glade, mon-gnome.c: Try to make View menu items toggle each other. Not working yet. 2003-09-01 23:09 Martin Pool * gnome/distccmon-gnome.glade: Put tabs on the notebook just for the time being. 2003-09-01 23:02 Martin Pool * gnome/: distccmon-gnome.glade, mon-gnome.c: Flip between view notebook pages when view menu items are chosen. 2003-09-01 22:47 Martin Pool * gnome/: distccmon-gnome.glade, mon-gnome.c: Add a cute monkey icon. * Add an About box and hook it up appropriately. 2003-09-01 22:23 Martin Pool * gnome/: distccmon-gnome.glade, mon-gnome.c: Hook up process table to Glade. The existing processs monitoring functions are now working again. 2003-09-01 22:09 Martin Pool * gnome/: distccmon-gnome.glade, mon-gnome.c: Get load bar hooked up for Gnome monitor. 2003-09-01 22:04 Martin Pool * gnome/: distccmon-gnome.glade, mon-gnome.c: More merges of monitor code into Glade interface. * Set size of Glade window at startup and tweak scrollbars. 2003-09-01 21:39 Martin Pool * gnome/mon-gnome.c: Merge in all the GNOME monitor code from HEAD. 2003-09-01 21:23 Martin Pool * configure.ac: Check for other necessary libraries when --enable-gnome is given. * Bump version. 2003-09-01 13:33 Martin Pool * TODO: Idea of using gkrellm 2003-09-01 11:30 Martin Pool * man/distccd.1: Add a little more explanation of --allow. 2003-08-28 15:05 Martin Pool * TODO: Update for done tasks. 2003-08-28 15:02 Martin Pool * man/distccd.1: Note that ccache can't be called from distccd. 2003-08-28 14:33 Martin Pool * NEWS, man/distcc.1: Note about problems with no_subtree_check. 2003-08-28 14:31 Martin Pool * TODO: DEPENDENCIES_OUTPUT is not directly a problem for distcc. 2003-08-28 12:48 Martin Pool * cases/mmaptest.c: Bug has been isolated; no longer need this test case. 2003-08-28 12:45 Martin Pool * cases/mmaptest.c: More tests for NFS bug. 2003-08-26 15:56 Martin Pool * cases/mmaptest.c: Do the mmapped IO in a child process, to be more similar to ccache/distcc. 2003-08-26 12:01 Martin Pool * cases/: .cvsignore, mmaptest.c: Add test for mmap-on-NFS problems 2003-08-25 16:06 Martin Pool * src/pump.c: Doc 2003-08-25 12:48 Martin Pool * src/: arg.c, compile.c, compress.c, serve.c: Patch from Wayne Davison to fix Solaris warnings 2003-08-25 11:55 Martin Pool * src/: compress.c, io.c, io.h, pump.c: Add DISTCC_MMAP option, defaults to on. May be useful in working around bugs with mmap on NFS. 2003-08-25 11:13 Martin Pool * man/distcc.1, man/distccd.1, NEWS: Document DISTCC_MMAP. 2003-08-15 14:17 Martin Pool * Makefile.in, gnome/distccmon-gnome.glade, gnome/distccmon-gnome.gladep, gnome/mon-gnome.c: Initial stub version of the monitor. 2003-08-15 14:16 Martin Pool * src/mon-gnome.c: Move gnome monitor into its own directory. 2003-08-14 18:12 Martin Pool * TODO, gnome/distccmon-gnome.glade, gnome/distccmon-gnome.gladep, gnome/mon-gnome.c: Start doing a better GNOME monitor. 2003-08-13 13:05 Martin Pool * TODO: Note problem with DEPENDENCIES_OUTPUT. 2003-08-13 12:57 Martin Pool * configure.ac: Bump version. 2003-08-12 13:34 Martin Pool * man/distcc.1: Update manpage date. 2003-08-12 13:27 Martin Pool * test/testdistcc.py: Set DISTCC_DIR when running tests to give better isolation between tests and anything else that might be happening on the machine. 2003-08-12 13:18 Martin Pool * Makefile.in: make distcheck ought to run maintainer-check and also check that the directory can be cleaned. 2003-08-12 13:10 Martin Pool * NEWS: Note "make clean" problem is fixed. 2003-08-12 13:09 Martin Pool * configure.ac: Bump version to 2.10.1 2003-08-12 11:42 Martin Pool * Makefile.in: Fix "make clean" problem in lzo. Reported by Lisa Marie Seelye. 2003-08-11 16:09 Martin Pool * cases/hello.c: Make hello actually say hello 2003-08-11 16:07 Martin Pool * distcc-check: Allow the compiler to be changed. 2003-08-11 16:05 Martin Pool * NEWS, configure.ac: Prepare for release. 2003-08-11 15:51 Martin Pool * TODO: Suggestions from Lisa on the monitor. 2003-08-11 15:46 Martin Pool * src/tempfile.c: Fix from wayned for crash when DISTCC_DIR is set. 2003-08-11 15:43 Martin Pool * src/tempfile.c: Doc. 2003-08-11 15:40 Martin Pool * test/testdistcc.py: [no log message] 2003-08-11 15:33 Martin Pool * NEWS: [no log message] 2003-08-11 15:32 Martin Pool * man/distcc.1: Corrections from Frerich Raabe. 2003-08-11 15:18 Martin Pool * src/exec.c, NEWS: For simple compile failures, don't say "with exit code 1". 2003-08-11 15:15 Martin Pool * src/exec.c: Doc. 2003-08-07 15:42 Martin Pool * TODO: [no log message] 2003-08-05 12:09 Martin Pool * src/exitcode.h: Add include guard. 2003-08-05 11:56 Martin Pool * Makefile.in: Remove roadmap page, because it's now largely complete. 2003-08-05 11:53 Martin Pool * Makefile.in: Make sure examples get installed into doc/example. 2003-08-05 11:48 Martin Pool * doc/example-init, doc/example/init, doc/example/init-suse, doc/example/logrotate, doc/example/xinetd, Makefile.in, doc/example.xinetd: Move all example files into doc/example. 2003-07-25 17:34 Martin Pool * doc/results.txt: [no log message] 2003-07-25 17:25 Martin Pool * bench/Summary.py: Show summary table properly. 2003-07-25 15:50 Martin Pool * src/state.c, NEWS: Roll back to writing state into temporary files. 2003-07-25 15:36 Martin Pool * test/testdistcc.py: Doc 2003-07-25 15:35 Martin Pool * test/testdistcc.py: If the daemon fails to bind to the desired port, keep trying other ones. 2003-07-25 15:21 Martin Pool * NEWS: Store state files by writing and rewriting them directly, rather than renaming every time. That was starting to take a fair fraction of our syscalls. 2003-07-25 15:15 Martin Pool * src/state.c: Fix state file names. 2003-07-25 15:14 Martin Pool * src/state.c: Store state files by writing and rewriting them directly, rather than renaming every time. That was starting to take a fair fraction of our syscalls. 2003-07-25 14:56 Martin Pool * NEWS: [no log message] 2003-07-25 14:53 Martin Pool * src/tempfile.c: Make temp filenames more random. 2003-07-25 14:51 Martin Pool * src/tempfile.c: Check return code when closing the temporary file after creating it. 2003-07-25 14:47 Martin Pool * src/tempfile.c: O_NOFOLLOW is not needed with O_EXCL and O_CREAT, because they never follow symlinks. * Doc. 2003-07-25 14:39 Martin Pool * src/tempfile.c: dcc_make_tmpnam: Fix the case where the chosen name already exists. 2003-07-25 14:34 Martin Pool * src/tempfile.c: Create temporary files in a loop, with O_EXCL and O_NOFOLLOW to try to guard against collision with existing files or links. 2003-07-25 14:15 Martin Pool * src/: cpp.c, serve.c: Better template names for temporary files. 2003-07-25 14:08 Martin Pool * configure.ac: Check for gettimeofday 2003-07-25 13:52 Martin Pool * src/: tempfile.c, tempfile.h: dcc_get_top_dir can be static, and does not need to return a newly-allocated string. 2003-07-25 13:32 Martin Pool * src/: lock.c, mon.c, state.c, tempfile.c, tempfile.h: Make sure lock dir and state dir are only created the first time we use them. 2003-07-25 13:22 Martin Pool * NEWS, src/lock.c, src/mon.c, src/state.c, src/tempfile.c, src/tempfile.h: Temporary directory is now gone. Working files are created directly under $TMPDIR, as they are for gcc. Lock files and state files are stored under DISTCC_DIR. 2003-07-25 13:18 Martin Pool * src/distcc.c: Temporary directory is no longer used. 2003-07-25 12:35 Martin Pool * Makefile.in: cleanup.c is also needed by monitors. 2003-07-25 11:53 Martin Pool * src/tempfile.c: Daemon runs from root directory, not the temporary directory. * Doc. 2003-07-25 11:51 Martin Pool * src/daemon.c, src/tempfile.h, NEWS: Daemon runs from root directory, not the temporary directory. 2003-07-24 18:58 Martin Pool * src/tempfile.c: Doc 2003-07-24 18:46 Martin Pool * src/tempfile.c: Remove dead fifo code. 2003-07-24 18:45 Martin Pool * Makefile.in, src/cleanup.c, src/tempfile.c, src/tempfile.h: Factor out tempfile cleanup into a new file cleanup.c 2003-07-24 18:43 Martin Pool * patches/ccache-uncached-err.diff: Patch to ccache to avoid caching network errors. 2003-07-24 18:20 Martin Pool * NEWS: Note about tmpdir fixes. 2003-07-24 18:17 Martin Pool * src/tempfile.c: dcc_get_tempdir: Make sure that if we fail the first time we don't pass back a bogus directory on future attempts. 2003-07-24 18:12 Martin Pool * src/distcc.c: Check up front in the client that the working directory can be created, otherwise we get a whole pile of errors when it fails. 2003-07-24 17:58 Martin Pool * src/: cpp.c, lock.c, lock.h, serve.c, state.c, tempfile.c, tempfile.h, timefile.c: Change temporary filename handling to consistently use error returns and check them. 2003-07-23 17:19 Martin Pool * src/: state.c, tempfile.c, tempfile.h: dcc_make_dir: Rename to dcc_safe_mkdir. Check the ownership of the directory after it is created to help guard against an attacker creating the directory. 2003-07-23 17:18 Martin Pool * TODO: [no log message] 2003-07-23 16:56 Martin Pool * src/tempfile.c: Doc. 2003-07-23 16:11 Martin Pool * src/tempfile.c: Don't check that TMPDIR starts with '/'. * dcc_setup_tempdir can be static. 2003-07-23 16:11 Martin Pool * src/tempfile.h: dcc_setup_tempdir can be static. 2003-07-23 16:09 Martin Pool * NEWS: Don't check that TMPDIR starts with '/'. 2003-07-22 18:02 Martin Pool * src/pump.c: Doc. 2003-07-22 17:36 Martin Pool * src/lock.c: Be strict about enums. 2003-07-22 17:35 Martin Pool * src/: clirpc.c, rpc.c, rpc.h: waitstatus is not unsigned. 2003-07-22 17:34 Martin Pool * src/filename.c: dcc_output_from_source: Remove dead variable. 2003-07-22 17:33 Martin Pool * configure.ac: Remove doubled CFLAG. 2003-07-22 17:30 Martin Pool * src/exec.c: waitstatus is not unsigned. 2003-07-22 17:25 Martin Pool * src/: exec.h, distcc.h: waitstatus is not unsigned. 2003-07-22 17:24 Martin Pool * src/compile.c: Signedness warning correction; reported by Dimitri Papadopoulos. 2003-07-22 17:21 Martin Pool * src/remote.c: timeval.h is not needed. 2003-07-22 17:19 Martin Pool * src/tempfile.c: Snip out dcc_mkfifo 2003-07-22 16:58 Martin Pool * NEWS: [no log message] 2003-07-22 16:57 Martin Pool * man/distcc.1: Document UNCACHED_ERR_FD. 2003-07-22 16:55 Martin Pool * man/distcc.1: Note that ccache doesn't handle compilation from .i files. 2003-07-22 16:47 Martin Pool * src/daemon.c: Factor out code for setting the daemon's path. * Show path for daemon at startup. 2003-07-22 16:43 Martin Pool * src/daemon.c: daemon/main: The daemon no longer trims its path, because it will emit warnings if a masqueraded directory is detected. 2003-07-22 16:42 Martin Pool * src/util.c: dcc_trim_path: This is no longer called by the server, only by the client. So remove support for detecting ccache, and require the compiler name to always be specified. 2003-07-22 16:38 Martin Pool * TODO: [no log message] 2003-07-22 16:35 Martin Pool * src/distcc.c: Remove duplicated dcc_find_basename(). 2003-07-22 14:16 Martin Pool * distcc-check: Doc 2003-07-22 14:13 Martin Pool * NEWS: Default niceness is 5. 2003-07-22 14:11 Martin Pool * src/: daemon.c, dopt.c, dopt.h, util.c: Increment niceness by 5 by default. 2003-07-22 14:08 Martin Pool * man/distccd.1: Clarify that niceness is an increment not an absolute value. * Default niceness is 5. 2003-07-22 13:58 Martin Pool * NEWS: Nasty note about SCO. 2003-07-22 13:53 Martin Pool * doc/results.txt: SSH results. 2003-07-22 12:43 Martin Pool * README.packaging: More suggestions about cross compiling from Dag Wieers. 2003-07-21 17:37 Martin Pool * src/serve.c: dcc_run_job: Before executing the compiler, check the server's path and emit a warning if it looks like a symlink to distcc. 2003-07-21 17:36 Martin Pool * NEWS: Note about finding the right compiler on the volunteer. 2003-07-21 17:14 Martin Pool * src/distcc.c: Doc. 2003-07-21 16:35 Martin Pool * src/: distcc.c: Doc. 2003-07-21 16:31 Martin Pool * src/distcc.c: distcc/main: Rename variable. 2003-07-21 16:25 Martin Pool * src/distcc.c: dcc_get_my_basename: Rename to dcc_find_basename, which is a better name, and just make it work on a string, rather than looking in an argv. This function is really no longer distcc-specific. 2003-07-21 16:06 Martin Pool * configure.ac: Bump version. 2003-07-21 15:50 Martin Pool * man/distcc.1: Remove PP 2003-07-21 15:24 Martin Pool * configure.ac, NEWS: 2.9 release. 2003-07-21 15:14 Martin Pool * configure.ac: Make sure GNOME_BIN actually gets set. 2003-07-21 15:10 Martin Pool * Makefile.in: lzoconf.h needs to be distributed. 2003-07-21 15:07 Martin Pool * doc/results.txt: [no log message] 2003-07-21 14:59 Martin Pool * src/util.c, NEWS: When trimming the path to avoid recursive invocations, stop as soon as we find one non-symlink compiler. This should help avoid the path getting trimmed down far too much on the server. Patch from Wayne Davison. 2003-07-21 14:49 Martin Pool * man/distccd.1: Suggest inetd limit be raised to 6000 2003-07-21 14:42 Martin Pool * NEWS: [no log message] 2003-07-21 14:40 Martin Pool * src/compress.c: dcc_compress_lzo1x_alloc can be static. 2003-07-21 14:20 Martin Pool * src/distcc.h: dcc_compress_lzo1x_alloc can be static. 2003-07-21 12:45 Martin Pool * NEWS: Note about documentation. 2003-07-21 12:35 Martin Pool * src/compress.c: Trace message for use of mmap. 2003-07-21 12:31 Martin Pool * src/pump.c: Trace message for receipt using mmap. 2003-07-21 12:23 Martin Pool * src/daemon.c: Tweak daemon startup message. 2003-07-21 12:21 Martin Pool * src/daemon.c: Show gnu-host in daemon startup message. 2003-07-21 12:13 Martin Pool * src/: daemon.c, daemon.h, dparent.c: Factor out code to show daemon startup message, and include the daemon mode in it. 2003-07-21 12:08 Martin Pool * TODO: [no log message] 2003-07-21 12:02 Martin Pool * src/hosts.c: Update host grammar from manpage. 2003-07-21 12:01 Martin Pool * man/distcc.1: Grammar fixes: * Be consistent about quoting. * Add LOCAL_HOST. * Make USER option in SSH production. 2003-07-21 11:59 Martin Pool * man/distcc.1: Add ccache URL * Cleanup 2003-07-21 11:56 Martin Pool * man/distccd.1: Some cleanups from Tim and myself. 2003-07-21 11:42 Martin Pool * man/distcc.1: Many suggestions from Tim: * Add quickstart section. * Consistent capitalization of "make" * Grammar/readability fixes. * Move up section about ccache with distcc * Clear up host grammar section. * What to do about broken makefiles. 2003-07-21 11:21 Martin Pool * NEWS: Note mmap support. * Delete trailing whitespace. 2003-07-21 11:17 Martin Pool * man/distcc.1: Add information about compression. 2003-07-18 16:50 Martin Pool * src/pump.c: dcc_r_bulk_plain: For uncompressed data coming in, we know the exact right length and so we only need to truncate the file once. 2003-07-18 16:48 Martin Pool * src/pump.c: Receive bulk data by writing into an mmaped file, or otherwise reading in and writing out one big buffer. 2003-07-18 16:41 Martin Pool * doc/results.txt: [no log message] 2003-07-18 16:39 Martin Pool * src/pump.c: Start implementing dcc_r_bulk_plain 2003-07-18 16:32 Martin Pool * src/: bulk.c, clirpc.c, io.c, io.h, pump.c: Rename dcc_pump_in for consistency. * Doc. 2003-07-18 16:21 Martin Pool * src/: bulk.c, compress.c, compress.h, distcc.h, pump.c: Make compression function naming consistent. * Remove compress.h 2003-07-18 16:00 Martin Pool * test/testdistcc.py: Fix silly error in ParseHostSpec_Case. 2003-07-18 15:59 Martin Pool * test/testdistcc.py: Fix VersionOption_Case for new version string that mentions two protocols. 2003-07-18 15:58 Martin Pool * test/testdistcc.py: Add partial test for parsing host specifications with the LZO option. 2003-07-18 15:57 Martin Pool * src/hosts.c: ',' should also terminate TCP hostnames. 2003-07-18 15:48 Martin Pool * NEWS: More about compression. 2003-07-18 15:45 Martin Pool * NEWS: Add support for ",lzo" option at the end of host specifications. 2003-07-18 15:43 Martin Pool * src/hosts.c: ',' should also terminate SSH hostnames. 2003-07-18 15:42 Martin Pool * src/hosts.c: Add support for ",lzo" option at the end of host specifications. 2003-07-18 15:02 Martin Pool * doc/results.txt: Results from 3.4 snapshot. 2003-07-18 13:16 Martin Pool * src/: rpc.h, rpc.c: Remove obsolete dcc_compr_for_proto() 2003-07-18 13:15 Martin Pool * src/: clirpc.c, distcc.h, hosts.c, hosts.h, lock.c, remote.c: Store both protocol and compression method in the host definition. Simpler than converting between them all the way through. 2003-07-18 12:21 Martin Pool * src/distcc.h: Reorder enums to top. 2003-07-18 12:18 Martin Pool * src/distcc.h: Make dcc_compress values not be 0-based. 2003-07-18 12:01 Martin Pool * Makefile.in, src/clirpc.c, src/clirpc.h, src/distcc.h, src/remote.c: Remove clirpc.h. 2003-07-18 11:35 Martin Pool * src/: clirpc.c, distcc.h, help.c, hosts.h, lock.c, mon-gnome.c, mon-text.c, mon.c, remote.c, rpc.c, rpc.h, serve.c, srvrpc.c, state.c: Start adding support for talking either protocol 1 or 2. Store protocol in host specification and propagate it through relevant functions. 2003-07-17 22:09 Martin Pool * src/hosts.c: Document upcoming compression option for host specifications. 2003-07-17 22:01 Martin Pool * doc/protocol-2.txt: [no log message] 2003-07-17 22:00 Martin Pool * Makefile.in: Include description of protocol version 2. 2003-07-17 21:59 Martin Pool * doc/protocol-2.txt: Description of protocol version 2. 2003-07-17 17:18 Martin Pool * src/bulk.c: Doc. 2003-07-17 17:16 Martin Pool * src/: compile.c, compile.h, remote.c: Pass source filename to dcc_compile_remote and set the state file from there so that we can get the filename in the first status message. 2003-07-17 17:11 Martin Pool * src/compress.c: Doc. * Only use mmap for buffers larger than 64k. 2003-07-17 17:04 Martin Pool * TODO: [no log message] 2003-07-17 17:03 Martin Pool * man/distcc.1: Add hostspec grammar * Some formatting changes. 2003-07-17 17:00 Martin Pool * src/hosts.c: Fix grammar nit. 2003-07-17 16:39 Martin Pool * man/distccd.1, src/dopt.c: Document --wizard. 2003-07-17 16:35 Martin Pool * NEWS, man/distccd.1: Change to starting 2+NCPUS jobs by default. 2003-07-17 16:31 Martin Pool * src/dparent.c: Change to starting 2+NCPUS jobs by default. 2003-07-17 16:24 Martin Pool * Makefile.in: Clean lzo/ directory. Patch from Wayne Davison. 2003-07-17 15:52 Martin Pool * distcc-check: Doc 2003-07-17 10:37 Martin Pool * man/distccd.1: There was some confusion about the meaning of "proportional to" in the description of -j. Now make it clearer that the number of jobs is higher than the number of CPUs. 2003-07-16 12:33 Martin Pool * Makefile.in: Remove the "tested" page. 2003-07-15 19:00 Martin Pool * src/mapfile.c: Remove mapfile; mmap is now called directly. 2003-07-15 18:51 Martin Pool * src/compress.c: Quieten warning. 2003-07-15 18:50 Martin Pool * src/compress.c: Doc * dcc_receive_lzo1x: Pass the right value to munmap(). 2003-07-15 18:47 Martin Pool * src/bulk.c: dcc_r_file: We need to open the file read/write, not just wronly, to be able to mmap it. 2003-07-15 18:45 Martin Pool * src/compress.c: dcc_compress_lzo1x_file: Make sure to return an error if the munmap failed, because we might not have managed to write everything out. * dcc_receive_lzo1x: First cut at decompressing into a writable mmap'd buffer. 2003-07-15 18:23 Martin Pool * src/compile.c: Disable "startup" state. 2003-07-15 18:21 Martin Pool * src/compress.c: dcc_compress_lzo1x_file: Try to use mmap() to read the input file if mmap() is available. If not, fall back to using malloc and read(). 2003-07-15 18:20 Martin Pool * doc/results.txt: Results from compilation on 10Mbps network. 2003-07-15 18:18 Martin Pool * Makefile.in: mapfile is no longer needed -- we just mmap as necessary. 2003-07-15 18:10 Martin Pool * configure.ac, NEWS: Don't check for GTK+ unless --enable-gnome is requested, because it's a needless portability risk on platforms that don't have it. 2003-07-15 18:04 Martin Pool * configure.ac: Check for mmap() 2003-07-15 18:02 Martin Pool * src/: bulk.c, compress.c, compress.h: Factor out code to compress from a file. 2003-07-15 17:57 Martin Pool * src/bulk.c: dcc_calc_rate: Guard against division by zero (which never seems to happen). * Doc. 2003-07-15 17:51 Martin Pool * NEWS: Note compression. 2003-07-15 17:40 Martin Pool * src/: distcc.h, dopt.h, srvnet.c: Clean up dopt headers. 2003-07-15 17:38 Martin Pool * doc/results.txt: Notes on testing compression. 2003-07-15 17:23 Martin Pool * src/distcc.h: Change protocol version to 2 so that incompatibilities with old servers are trapped. Eventually we need to switch intelligently. 2003-07-15 17:12 Martin Pool * src/mon-gnome.c: Make columns in the GNOME monitor resizable, as well as auto-resizing. 2003-07-15 11:32 Martin Pool * src/bulk.c: dcc_r_file: Doc. Fix uninitialized variable for 0-length files. 2003-07-14 22:02 Martin Pool * src/compress.c: Show decompression ratio as small:large. 2003-07-14 21:51 Martin Pool * src/pump.c: dcc_pump_in: Handle 0-byte optimization too. 2003-07-14 21:45 Martin Pool * src/bulk.c: Add optimization of not doing any compression for 0-byte files. 2003-07-14 21:39 Martin Pool * src/pump.c: dcc_pump_out: No longer needed because dcc_x_file now switches based on compression. * Fix parameter ordering bug for dcc_pump_in 2003-07-14 21:38 Martin Pool * src/io.h: compress.h: New header. 2003-07-14 21:38 Martin Pool * src/dopt.c: Fix --wizard. 2003-07-14 21:38 Martin Pool * src/: compress.c, compress.h: dcc_compress_lzo1x_alloc: New function to just compress in memory without doing IO. * compress.h: New header. 2003-07-14 21:36 Martin Pool * src/bulk.c: New dcc_x_file_lzo1x: Read in the file, compress it, and then write out that buffer. This has to be done in a single level because the token has to include the compressed length. * dcc_x_file: Handle compression. 2003-07-14 21:24 Martin Pool * src/dopt.c: Rename to --wizard. 2003-07-14 21:22 Martin Pool * src/dopt.c: Add -X, --maintainer option that adds all settings for running under gdb. 2003-07-14 18:10 Martin Pool * src/: bulk.c, bulk.h, clirpc.c, serve.c: dcc_x_file doesn't need to return the file size anymore. 2003-07-14 18:07 Martin Pool * src/: bulk.c, bulk.h, remote.c, serve.c: Set default compression to LZO1X -- which is not working now, and breaks compatibility * Start factoring out code for receiving a token and file into dcc_r_token_file 2003-07-14 17:55 Martin Pool * src/: bulk.c, bulk.h, clirpc.c, clirpc.h, remote.c, serve.c: Propagate compression setting through all routines. 2003-07-14 17:49 Martin Pool * src/: bulk.c, bulk.h, clirpc.c, compress.c, distcc.h, io.h, pump.c: Start moving bulk data receipt through dcc_pump_in, which does decompression if needed. Remove null dcc_r_file_body. 2003-07-14 17:43 Martin Pool * src/: compress.c, io.h, pump.c: Rename compression functions to lzo_1x, the generic name for the algorithm family we're using. 2003-07-14 17:38 Martin Pool * src/compress.c: Doc 2003-07-14 17:35 Martin Pool * doc/results.txt: [no log message] 2003-07-14 17:35 Martin Pool * man/.cvsignore: Ignore built HTML files. 2003-07-14 16:56 Martin Pool * man/distccd.1: [no log message] 2003-07-14 16:52 Martin Pool * Makefile.in: Don't install README.packaging or SuSE example init script. 2003-07-14 16:49 Martin Pool * Makefile.in: Strip out linuxdoc, because all the information there has been merged into the manpages. 2003-07-14 16:47 Martin Pool * Makefile.in: Add upload-man target to make the manual available on the web page. * There's no need to install README.popt. * Fix targets to build html from troff. 2003-07-14 16:44 Martin Pool * man/: distccd.1, distcc.1: Credit other people. 2003-07-14 16:35 Martin Pool * man/distccd.1: Document DISTCC_SAVE_TEMPS 2003-07-14 16:34 Martin Pool * man/distccd.1: Merge option descriptions and other things. 2003-07-14 16:15 Martin Pool * man/distcc.1: Merge more information. 2003-07-14 15:50 Martin Pool * man/distccd.1: Merge more information. 2003-07-14 15:44 Martin Pool * man/distcc.1: Merge more information. 2003-07-14 15:16 Martin Pool * man/distcc.1: Merge more information. 2003-07-14 14:54 Martin Pool * Makefile.in: Add targets to build HTML from manpages. 2003-07-14 14:47 Martin Pool * man/distccd.1: Start adding more details about the server. 2003-07-14 14:46 Martin Pool * man/distcc.1: Merge stuff about cross-compiling. * More about security. 2003-07-14 14:41 Martin Pool * INSTALL: More about how to install distccd. 2003-07-14 14:33 Martin Pool * man/distcc.1: More manpage documentation. 2003-07-14 13:45 Martin Pool * man/distcc.1: Put a lot more useful information into the manual page. 2003-07-14 12:42 Martin Pool * linuxdoc/distcc.sgml: Information on reporting bugs has been merged into a separate file. 2003-07-14 12:35 Martin Pool * doc/reporting-bugs.txt: Merge more information on reporting problems from the SGML manual. 2003-07-14 12:32 Martin Pool * Makefile.in: Include information on how to report bugs effectively. 2003-07-14 12:31 Martin Pool * doc/reporting-bugs.txt: Information on how to report bugs effectively. 2003-07-14 12:20 Martin Pool * Makefile.in: Include example-init in package. 2003-07-14 12:14 Martin Pool * src/mon.c: Increase allowable age of state files to 300s. 2003-07-14 12:09 Martin Pool * Makefile.in: mon-notify.o is not currently used by the monitors. 2003-07-14 11:53 Martin Pool * bench/compiler.py: Don't put commas in path names because they can cause trouble with some linker command. 2003-07-14 10:51 Martin Pool * src/: mon-gnome.c, mon-notify.c, mon.c: Fix header ordering. 2003-07-14 10:47 Martin Pool * configure.ac: Remove standard GTK test macros because we don't use them. 2003-07-13 18:40 Martin Pool * Makefile.in: Clean up files which were duplicated in dist_files and pkgdoc_DOCS. 2003-07-13 18:09 Martin Pool * patches/.cvsignore: Add built program. 2003-07-13 18:08 Martin Pool * src/: distcc.h, h_argvtostr.c, h_exten.c, h_issource.c, h_scanargs.c, h_strip.c, io.h, mon-text.c, state.c: Clean up header inclusions. 2003-07-13 18:07 Martin Pool * src/arg.c: Doc 2003-07-13 17:57 Martin Pool * TODO: [no log message] 2003-07-13 17:55 Martin Pool * DEPENDENCIES, Makefile.in: Remove DEPENDENCIES file, which is being merged into INSTALL. 2003-07-13 17:30 Martin Pool * INSTALL: Rewrite installation instructions to be specific to distcc and to cover all the main steps. 2003-07-13 12:44 Martin Pool * configure.ac, NEWS: Autodetect the right behaviour for --enable-gnome: If explicitly enabled, insist that the GTK+ libraries be present. If explicitly disabled, don't even look for them. Otherwise, build the GTK+ monitor if possible. 2003-07-12 22:57 Martin Pool * man/distcc.1: Correction for duplicated word by Tobias Stoeckmann. 2003-07-12 17:04 Martin Pool * test/testdistcc.py: Doc. 2003-07-12 16:57 Martin Pool * test/testdistcc.py: Fix up checks for remote assembly listings: we *can* distribute these, unless a filename is specified. 2003-07-12 16:52 Martin Pool * src/arg.c, NEWS: Add checks for -Wa options that produce an assembler listing file. 2003-07-12 11:45 Martin Pool * test/testdistcc.py: Add tests for new -o and -Wa,-al handling. 2003-07-12 01:31 Martin Pool * src/compress.c: Add implementation of LZO decompression. 2003-07-12 01:30 Martin Pool * TODO: [no log message] 2003-07-12 00:58 Martin Pool * src/arg.c: Doc. 2003-07-11 18:21 Martin Pool * bench/Build.py: Make sure full paths are generated for log files. * Add support for programs that use C++. 2003-07-11 18:20 Martin Pool * bench/compiler.py: Make default compiler setups consistent with ones specified by -c * Add support for programs that use C++ 2003-07-11 18:19 Martin Pool * bench/ProjectDefs.py: Add other definitions needed for building firebird. 2003-07-11 18:18 Martin Pool * cases/simple.c: Simple test with no header files. 2003-07-11 17:27 Martin Pool * bench/compiler.py: New/better naming of build directories: now just 'dist,2'. 2003-07-11 17:26 Martin Pool * bench/ProjectDefs.py: Comment out Mozilla, which is having trouble on Debian. * Add MozillaFirebird. 2003-07-11 17:25 Martin Pool * bench/Build.py: Put build logs in the build directory so they're easier to find and use. 2003-07-11 15:19 Martin Pool * bench/ProjectDefs.py: Fix unpacked_subdir for Mozilla 2003-07-11 15:15 Martin Pool * distcc-check: Make sure we do move into the right scratch directory * Remove with -f on completion so that we don't fail if the files were never created. 2003-07-11 15:14 Martin Pool * bench/Project.py: We need wget --continue to get the intended behaviour. 2003-07-11 15:10 Martin Pool * bench/Summary.py: Don't give an error when trying to print a summary table of no compilations. 2003-07-11 15:06 Martin Pool * doc/results.txt: More benchmark stuff. 2003-07-11 14:50 Martin Pool * bench/Summary.py: Fix uname usage. 2003-07-11 14:50 Martin Pool * bench/Project.py: Use wget not snarf, because its progress bar works better with tty and non-tty setups. 2003-07-11 14:47 Martin Pool * bench/benchmark.py: Show -a in help. 2003-07-11 14:47 Martin Pool * bench/ProjectDefs.py: Fix apache 2.0.43 link, which has moved. * Add Mozilla 1.4 (not tested yet) 2003-07-11 14:28 Martin Pool * NEWS: When run as "distcc foo.o -o foo", work out that foo.o is an object file not a compiler name. This can happen with Mozilla. 2003-07-11 14:28 Martin Pool * src/implicit.c: When run as "distcc foo.o -o foo", work out that foo.o is an object file not a compiler name. This can happen with Mozilla. * Many documentation updates to reflect the way that masquerade invocation now works -- a lot of the comments in this file were written before it was added. 2003-07-11 14:20 Martin Pool * src/: filename.h, distcc.h, implicit.c: Move declarations for filename.c into filename.h. 2003-07-11 14:18 Martin Pool * src/filename.h: dcc_is_object: New function. 2003-07-11 14:17 Martin Pool * src/filename.c: dcc_is_object: New function. * filename.c: Doesn't need sys/stat.h. * Doc. 2003-07-11 14:13 Martin Pool * Doxyfile: Don't produce LaTeX 2003-07-11 14:10 Martin Pool * src/filename.c: Doc 2003-07-11 14:09 Martin Pool * patches/.cvsignore: Ignore built programs. 2003-07-11 13:34 Martin Pool * src/: exec.c, exec.h: dcc_execvp() can be static 2003-07-09 18:30 Martin Pool * src/compress.c, TODO: Start a decompressor. 2003-07-09 18:06 Martin Pool * src/compress.c: First cut at implementation of dcc_send_lzo1x1. 2003-07-09 18:05 Martin Pool * src/mapfile.c: Finish implementing dcc_map_input_file. 2003-07-09 17:52 Martin Pool * src/mapfile.c, Makefile.in, src/io.h: Add simple mmap routine for reading input files. 2003-07-09 17:42 Martin Pool * configure.ac: Check for sys/mman.h 2003-07-09 17:39 Martin Pool * src/pump.c: Call dcc_send_lzo1x1 for compressed mode. 2003-07-09 17:38 Martin Pool * src/: hostfile.c, io.h, loadfile.c: Rename dcc_load_file to dcc_load_file_string to be more clear. 2003-07-09 17:17 Martin Pool * patches/trylzo.c: Simple test harness to measure lzo1x1 compression. 2003-07-09 16:49 Martin Pool * src/compress.c: Stub file for doing bulk compression. 2003-07-09 16:28 Martin Pool * Makefile.in, src/bulk.c, src/bulk.h, src/clirpc.c, src/clirpc.h, src/io.c, src/io.h, src/pump.c, src/remote.c, src/serve.c: Refactor bulk-IO code, and start adding support for compression. Nothing is actually compressed yet. 2003-07-09 16:25 Martin Pool * src/timebuild: Remove 'timebuild' script because it's replaced by a better benchmark script. 2003-07-09 15:54 Martin Pool * src/sendfile.c: Handle EINTR from sendfile(). 2003-07-09 15:44 Martin Pool * configure.ac: Remove check for poptGetContext that made us get an unnecessary second -lpopt option. 2003-07-09 15:39 Martin Pool * Makefile.in: Doc 2003-07-09 15:38 Martin Pool * Makefile.in: Start including lzo support: include it on the include path and in the distribution and build minilzo.o. 2003-07-09 15:37 Martin Pool * configure.ac: Bump version. 2003-07-09 14:31 Martin Pool * TODO: Notes on distcc-check and globally visible state. 2003-07-09 14:17 Martin Pool * TODO: Update for current progress. 2003-07-09 13:41 Martin Pool * TODO: 0-length output files are now handled OK. 2003-07-09 13:13 Martin Pool * NEWS: Correction to NEWS: in fact the GNOME monitor is not smart about making updates only when visible. 2003-07-09 13:04 Martin Pool * NEWS: Credit Marcelo Matus. 2003-07-09 12:46 Martin Pool * NEWS: Bump version to 2.8 2003-07-09 12:01 Martin Pool * configure.ac: Bump version to 2.8 2003-07-08 17:02 Martin Pool * doc/results.txt: More results from SSH 2003-07-08 16:58 Martin Pool * src/md.c, Makefile.in: Remove md.c because we can't do anything very useful here. 2003-07-08 16:49 Martin Pool * src/arg.c: Doc. 2003-07-08 16:49 Martin Pool * Makefile.in, src/cpp.h: Remove md.c 2003-07-08 16:45 Martin Pool * Makefile.in: Add security page. 2003-07-08 16:11 Martin Pool * NEWS: [no log message] 2003-07-08 15:59 Martin Pool * src/cpp.c: Doc. 2003-07-08 15:45 Martin Pool * src/: arg.c, arg.h, argutil.c, clirpc.c, compile.c, cpp.c, distcc.c, distcc.h, exec.c, implicit.c, md.c, serve.c, srvrpc.c, ssh.c, strip.c: Move argument-handing prototypes to arg.h 2003-07-08 15:41 Martin Pool * src/arg.h, Makefile.in: arg.h: new file. 2003-07-08 15:17 Martin Pool * src/arg.c: Doc. 2003-07-08 15:11 Martin Pool * src/md.c: Doc 2003-07-08 15:05 Martin Pool * src/cpp.c: dcc_cpp_maybe: Call dcc_fudge_md. 2003-07-08 15:03 Martin Pool * src/: md.c, cpp.h: md.c: new file for dependency generation. 2003-07-08 14:59 Martin Pool * Makefile.in: md.c: new file. 2003-07-08 14:53 Martin Pool * src/strip.c: Doc. 2003-07-08 14:49 Martin Pool * src/cpp.c: Doc. 2003-07-08 14:44 Martin Pool * src/arg.c: Doc. 2003-07-08 14:36 Martin Pool * src/: arg.c, argutil.c: Move functions that are to do with handling argv[] arrays but not really distcc-specific intelligence from arg.c to argutil.c. * Delete dcc_deepcopy_argv which is no longer used. 2003-07-08 14:34 Martin Pool * Makefile.in: argutil.c: New file containing argv[] utilities. * Clean up harness object lists to use $(common_obj) 2003-07-08 14:31 Martin Pool * src/argutil.c: New file containing argv[] utilities. 2003-07-08 14:24 Martin Pool * test/testdistcc.py: Add test for distcc cc -otesttmp.o 2003-07-08 14:01 Martin Pool * NEWS: dcc_set_output: Add support for -ofoo.o. Based on a patch from Tsutomu Yasuda. 2003-07-08 13:57 Martin Pool * src/arg.c: dcc_set_output: Add support for -ofoo.o. Based on a patch from Tsutomu Yasuda. 2003-07-08 13:46 Martin Pool * distcc-check: Simple sanity-check script. 2003-07-08 13:23 Martin Pool * doc/example-init: Example Red Hat init file from Andrew Morton. 2003-07-08 13:20 Martin Pool * NEWS: Example xinetd configuration from akpm. 2003-07-08 13:19 Martin Pool * doc/example.xinetd: Doc 2003-07-08 13:16 Martin Pool * doc/example.xinetd, Makefile.in: Example xinetd configuration from akpm. 2003-07-08 13:06 Martin Pool * src/remote.c: Doc. 2003-07-08 12:42 Martin Pool * src/: clinet.c, io.c, io.h, sendfile.c: dcc_select_for_write, dcc_select_for_read: Both now take a timeout parameter, which is set by default to 15 for opening connections, and 300s for IO during a transfer. This should reduce problems with timeouts during an SSH connection. 2003-07-08 12:39 Martin Pool * NEWS: [no log message] 2003-07-08 12:18 Martin Pool * src/clinet.c: dcc_connect_timed: When connecting, we need to select() until the new socket is writeable, not readable. This bug was previously masked by the inverted call in dcc_select_for_read(). 2003-07-08 12:14 Martin Pool * src/remote.c: dcc_remote_connect: Factor out code to open a connection from dcc_compile_remote. 2003-07-07 23:57 Martin Pool * NEWS: dcc_run_job: Use separate input and output file descriptors, to support sshds that use pipes to run programs rather than local sockets. Suggestion from Felix Lee. 2003-07-07 23:53 Martin Pool * src/io.c: Handle EINTR from read and write. 2003-07-07 23:44 Martin Pool * src/io.c: dcc_select_for_write: Handle EINTR. * Doc. 2003-07-07 23:37 Martin Pool * src/io.c, NEWS: dcc_select_for_read: Fix silly parameter ordering mistake. 2003-07-07 23:31 Martin Pool * src/io.c: dcc_select_for_read: Fix warning. 2003-07-07 23:27 Martin Pool * src/io.c: dcc_select_for_read: Better trace messages. 2003-07-07 23:17 Martin Pool * src/: daemon.c, daemon.h, dparent.c, prefork.c, serve.c: dcc_run_job: Use separate input and output file descriptors, to support sshds that use pipes to run programs rather than local sockets. Suggestion from Felix Lee. 2003-07-07 23:15 Martin Pool * configure.ac: Don't give a warning about linuxdoc, because we do it during installation. 2003-07-07 23:03 Martin Pool * src/: serve.c: Doc. 2003-07-07 22:57 Martin Pool * NEWS: If Linuxdoc was not detected, just give a small warning and not an error while installing. 2003-07-07 22:25 Martin Pool * Makefile.in: If Linuxdoc was not detected, just give a small warning and not an error while installing. 2003-07-07 18:35 Martin Pool * doc/protocol-1.txt: Document the changes to support 0-byte output. 2003-07-07 18:34 Martin Pool * TODO: [no log message] 2003-07-07 18:33 Martin Pool * test/badcc: Add mode to generate empty output. 2003-07-07 18:08 Martin Pool * src/clirpc.c: Retrieval of the output file is now determined by the remote compiler status, not the DOTO length. This allows us to correctly get back a 0-length output file from a successful compile. 2003-07-07 18:03 Martin Pool * src/remote.c: Doc. 2003-07-07 17:59 Martin Pool * src/serve.c: Doc. 2003-07-07 17:48 Martin Pool * src/: bulk.h, bulk.c: Be more careful about treating token parameters as unsigned. 2003-07-07 17:28 Martin Pool * configure.ac, NEWS: Better test for vararg macro support that correctly identifies apple gcc brokenness. From Matt Watson . 2003-07-07 16:44 Martin Pool * NEWS: distccmon-text: Output should always be line-buffered, even if not writing to a terminal. 2003-07-07 15:27 Martin Pool * src/mon-text.c: distccmon-text: Output should always be line-buffered, even if not writing to a terminal. 2003-07-07 15:23 Martin Pool * src/mon-gnome.c: Doc. 2003-07-07 13:50 Martin Pool * src/state.c: dcc_note_state: Quote strings in trace message. 2003-07-07 12:55 Martin Pool * src/mon.h, NEWS: Protect against repeated inclusion. Suggestion from Fr'ed'eric Forjan. 2003-07-07 12:53 Martin Pool * src/mon.h: mon.h now uses "extern C" so that it can be included from C++ programs. Suggestion from Fr'ed'eric Forjan. 2003-06-25 17:50 Martin Pool * src/mon-gnome.c: Doc. 2003-06-25 17:48 Martin Pool * src/mon-gnome.c: Always update load, even if not onscreen, so that we don't show a dummy message at startup. 2003-06-25 17:46 Martin Pool * src/mon-gnome.c: Increase niceness at startup. 2003-06-25 17:43 Martin Pool * src/mon-gnome.c, NEWS: distccmon-gnome: Prevent selection of rows in the treeview. Emphasize horizontal rows ("rules-hint"). 2003-06-25 17:28 Martin Pool * NEWS: distccmon-gnome: Check whether the window is iconified or withdrawn, and if so then don't update. This slightly reduces the load in those cases. 2003-06-25 17:12 Martin Pool * src/mon-gnome.c: Expose a reference to the GtkTreeView widget and use that in the update callback. * Check whether the window is iconified or withdrawn, and if so then don't update. This slightly reduces the load in those cases. 2003-06-25 11:31 Martin Pool * NEWS: Prepare for 2.7.1 2003-06-25 11:28 Martin Pool * patches/state-in-home.diff: Store rolled-back ~/.distcc/state patch. 2003-06-25 11:27 Martin Pool * Makefile.in: Fix EXEEXT on gnome binaries. 2003-06-25 11:26 Martin Pool * configure.ac: Prepare for 2.7.1 * Fix EXEEXT on gnome binaries. 2003-06-25 10:59 Martin Pool * src/state.c, NEWS: Roll back: put the state in the temporary directory, because storing it in home does not seem to fix ebuild. 2003-06-24 13:40 Martin Pool * patches/hosts-from-file-raabe.diff: hosts-from-file-raabe.diff Has been merged 2003-06-21 14:21 Martin Pool * DEPENDENCIES: Note that libgnome is no longer required. 2003-06-21 13:45 Martin Pool * TODO: Updates based on work done recently. 2003-06-21 13:42 Martin Pool * NEWS, src/state.c: State files now in ~/.distcc/state 2003-06-21 13:13 Martin Pool * src/arg.c: Fix constness. 2003-06-20 17:32 Martin Pool * src/mon-gnome.c: Doc. 2003-06-20 17:29 Martin Pool * configure.ac: Add autoconf test for GTK+-2.0 (but don't call it yet.) * Change --enable-gnome to just check for GTK+. 2003-06-20 17:25 Martin Pool * src/mon-gnome.c: stdint.h is not needed. 2003-06-20 17:23 Martin Pool * Makefile.in, NEWS: distccmon-gnome now depends only on gtk+-2.0 2003-06-20 17:18 Martin Pool * src/mon-gnome.c: Follow the advice in the GTK+ 2.2 API: * Don't call gtk_widget_set_usize and gtk_window_set_policy, but instead just gtk_window_set_default_size. This gives us the same default size and allows the user to shrink the window, but doesn't let them shrink it right down to zero. 2003-06-20 17:15 Martin Pool * src/mon-gnome.c: Add some other necessary headers. 2003-06-20 17:14 Martin Pool * src/mon-gnome.c: Update to use just the GTK+ 2.0 API, and nothing from libgnomeui. 2003-06-16 18:40 Martin Pool * Makefile.in: Remove stupid autom4te.cache from distclean 2003-06-16 18:36 Martin Pool * src/arg.c: Remove TODO about -MD because the information is in TODO and I think I know how to fix it now. 2003-06-16 18:33 Martin Pool * src/cpp.c: Doc 2003-06-16 18:30 Martin Pool * configure.ac: Bump version 2003-06-16 17:51 Martin Pool * configure.ac, NEWS: Release 2.7. 2003-06-16 17:50 Martin Pool * src/arg.c: Doc 2003-06-16 17:39 Martin Pool * TODO: [no log message] 2003-06-16 17:06 Martin Pool * TODO: Notes on dnotify. 2003-06-16 16:59 Martin Pool * NEWS: [no log message] 2003-06-16 16:50 Martin Pool * Makefile.in: Need to link LIBS in to get functions like inet_ntoa on Solaris, etc. 2003-06-16 16:31 Martin Pool * src/mon-gnome.c: Make the tree sortable. 2003-06-16 14:39 Martin Pool * src/mon-gnome.c: Doc. 2003-06-16 14:38 Martin Pool * src/mon-gnome.c: Put commas in load average line. 2003-06-16 14:37 Martin Pool * src/mon-gnome.c: Load bar now actually shows the system load as we go. * Load bar is initialized at startup. 2003-06-16 14:31 Martin Pool * src/mon-gnome.c: Add a callback to update the load indicator. 2003-06-16 14:26 Martin Pool * src/mon-gnome.c: Fix up load indicator. 2003-06-16 14:17 Martin Pool * src/mon-gnome.c: Start adding a load indicator at the bottom of the window. 2003-06-16 13:48 Martin Pool * src/mon-notify.c, Makefile.in, src/mon.c: mon-notify.c: New file to keep the dnotify stuff out of mon.c 2003-06-16 13:41 Martin Pool * src/mon-gnome.c: Remove dnotify support, because the signals seem to cause trouble with GNOME, and too-frequent updates are bad for our CPU usage. 2003-06-16 13:15 Martin Pool * src/tempfile.c: Doc 2003-06-16 13:07 Martin Pool * NEWS: Check for sys/select.h, which is not present on HP-UX. 2003-06-16 13:03 Martin Pool * configure.ac, src/io.c: Check for sys/select.h, which is not present on HP-UX. 2003-06-16 12:48 Martin Pool * src/mon-gnome.c: Doc. 2003-06-16 12:43 Martin Pool * src/mon.c: Doc. 2003-06-16 12:33 Martin Pool * src/: clirpc.c, clirpc.h, compile.c, exec.c, exec.h, mon.c, rpc.c, rpc.h, serve.c, srvrpc.c: Store all token parameter values, including lengths and waitstatuses to unsigned throughout the program. Fixes some warnings on Sun and probably a bit safer. 2003-06-16 12:25 Martin Pool * src/arg.c: dcc_note_compiled: Fix constness. 2003-06-16 12:25 Martin Pool * src/util.c: snprintf.h is needed. 2003-06-16 12:24 Martin Pool * src/distcc.h: Change dcc_trace_argv macro to try to quieten warnings on Sun. 2003-06-16 12:21 Martin Pool * src/trace.h: Add RS_STMT_START macros from glib, to quieten warnings on Sun. 2003-06-16 12:19 Martin Pool * src/hosts.c: snprintf.h is needed. 2003-06-16 12:17 Martin Pool * src/: mon-gnome.c, mon.c, mon.h: Rename dcc_gnome_setup_dnotify to dcc_gnome_setup_notify to be less Linux-specific. * Add documentation on the mon interface to help people writing new monitors. 2003-06-16 12:08 Martin Pool * src/tempfile.c: Doc 2003-06-16 12:05 Martin Pool * configure.ac: Fix configure messages. 2003-06-16 12:04 Martin Pool * configure.ac: Only check for libgnomeui-2.0 if --enable-gnome was specified. 2003-06-16 11:27 Martin Pool * doc/results.txt: Notes on performance of monitor with dnotify. 2003-06-14 20:09 Martin Pool * TODO: IPv6 is now done. 2003-06-14 20:08 Martin Pool * TODO: Notes on nicely handling gcc -MD. 2003-06-13 17:30 Martin Pool * src/clinet.c: Doc. 2003-06-13 14:57 Martin Pool * src/mon-gnome.c: Change default size * Print out a star when we reread the directory. 2003-06-13 14:39 Martin Pool * src/mon-gnome.c: Even if we can use dnotify, still poll every 10s to clean up dead files. 2003-06-13 14:33 Martin Pool * src/mon.c: Also listen for deletion notifications to make sure that we notice when the last compiler quits. 2003-06-13 14:31 Martin Pool * src/mon-gnome.c: Attach to dnotify prompts from mon.c and drain them as they arrive. 2003-06-13 14:28 Martin Pool * src/mon.c: dcc_mon_setup_dnotify: Check that the fcntl to set F_NOTIFY suceeded -- this can fail on linux systems that don't have dnotify in the kernel. 2003-06-13 12:55 Martin Pool * NEWS: Fix spelling mistake. 2003-06-13 12:18 Martin Pool * src/mon.c: Dnotify stuff now actually writes to the dummy pipe when the state changes. 2003-06-13 12:14 Martin Pool * src/: mon.c, state.c: Doc. 2003-06-12 22:02 Martin Pool * src/mon.c: Doc 2003-06-12 21:58 Martin Pool * src/mon.c: Fix up half-committed code. 2003-06-12 21:55 Martin Pool * configure.ac, src/mon-gnome.c: Fix up half-committed code. 2003-06-12 18:13 Martin Pool * TODO, src/mon-gnome.c, src/mon.c, src/mon.h: Start adding dnotify support for monitor rather than polling. 2003-06-12 18:02 Martin Pool * Makefile.in: Fix distccmon-gnome 2003-06-12 18:00 Martin Pool * Makefile.in: Make sure to use the right cpp flags when building distccmon-gnome 2003-06-12 17:56 Martin Pool * Makefile.in: distccmon-gnome needs nonblocking routines from netutil.o 2003-06-12 17:50 Martin Pool * src/mon-gnome.c: Refactor 2003-06-12 17:37 Martin Pool * src/mon-gnome.c: Doc. 2003-06-12 17:27 Martin Pool * src/mon-gnome.c: GTK 2.0 manual says that gtk_timeout_add is deprecated in favour of g_timeout_add. 2003-06-12 17:26 Martin Pool * src/mon-gnome.c: Show USER@HOST in monitor title bar, because it's possible people will run this remotely. 2003-06-12 16:57 Martin Pool * NEWS: If --enable-gnome was specified, then check that libgnomeui is actually present. 2003-06-12 16:52 Martin Pool * configure.ac: Bump version * If --enable-gnome was specified, then check that libgnomeui is actually present. 2003-06-12 16:38 Martin Pool * src/mon-gnome.c: Doc 2003-06-12 16:27 Martin Pool * DEPENDENCIES: Describe dependencies for GNOME. 2003-06-12 16:25 Martin Pool * src/mon-gnome.c: The GTK tree model is now updated on each new monitor state. It seems to be working correctly. 2003-06-12 16:09 Martin Pool * src/mon-gnome.c: Reindent only. 2003-06-12 16:06 Martin Pool * src/mon-gnome.c: Add a callback every 0.5s. At the moment it does nothing. 2003-06-12 15:56 Martin Pool * TODO: More small updates. 2003-06-12 15:51 Martin Pool * TODO: Remove many done TODO items, and add notes on some continuing ones. 2003-06-12 15:40 Martin Pool * src/clirpc.c: Doc 2003-06-12 13:47 Martin Pool * src/compile.c: dcc_build_somewhere: input_fname must be initialized to NULL so that in the case of a very early fallback to local compilation we don't read an invalid pointer and crash. 2003-06-12 13:44 Martin Pool * src/: clirpc.c, remote.c, state.c: Remove infrequently-hit states. 2003-06-12 13:42 Martin Pool * src/compile.c: Remove "Startup" state because it's very unlikely to be hit. 2003-06-12 12:53 Martin Pool * configure.ac: Prepare for 2.6 release. 2003-06-12 12:41 Martin Pool * src/prefork.c: dcc_preforking_parent: Put in another 1s sleep between collecting dead children and starting new ones. 2003-06-12 12:35 Martin Pool * NEWS: Reorder sections. Patch from Sean MacLennan: * dcc_ncpus for Linux: make sure that we don't return 0 cpus. 2003-06-12 12:34 Martin Pool * src/ncpus.c: Patch from Sean MacLennan: * dcc_ncpus for Linux: make sure that we don't return 0 cpus. 2003-06-12 12:14 Martin Pool * NEWS: Get ready for 2.66 release. 2003-06-12 12:04 Martin Pool * Makefile.in: Include doc/status-1.txt in distribution. 2003-06-12 12:00 Martin Pool * doc/status-1.txt: Update to describe the implemented monitor design. 2003-06-12 09:53 Martin Pool * NEWS: Reorder items 2003-06-12 09:30 Martin Pool * NEWS: Note changed tmpdir name. 2003-06-12 00:34 Martin Pool * src/mon.c: Skip state files for which the process no longer exists. 2003-06-12 00:29 Martin Pool * src/state.c: Call the blocked state "starved". 2003-06-12 00:28 Martin Pool * src/state.c: Call the blocked state "bored" 2003-06-12 00:26 Martin Pool * src/mon.c: Doc. 2003-06-12 00:17 Martin Pool * src/clirpc.c: Doc. 2003-06-12 00:15 Martin Pool * src/clirpc.c: Add more states: distinguish more states: waiting for preprocessor, sending source, and receiving object. 2003-06-12 00:12 Martin Pool * src/: state.h, state.c: Add more states. 2003-06-12 00:09 Martin Pool * src/mon-text.c: Clip columns to appropriate widths. 2003-06-12 00:04 Martin Pool * src/: compile.c: Note input filename as soon as it has been determined. 2003-06-12 00:03 Martin Pool * src/: compile.c, compile.h, remote.c, where.c, where.h: Roll back the rest of the xmit lock code. * Rely on state code to keep track of what source file we're compiling. 2003-06-11 22:41 Martin Pool * src/: compile.c, state.c, state.h: Show another state during startup. 2003-06-11 22:38 Martin Pool * src/state.c: Doc 2003-06-11 22:37 Martin Pool * src/clirpc.c: dcc_retrieve_results: Try to keep the right file name when updating state. 2003-06-11 22:36 Martin Pool * TODO: Thoughts on -MD support. 2003-06-11 22:36 Martin Pool * NEWS: [no log message] 2003-06-11 22:34 Martin Pool * src/remote.c: Doc 2003-06-11 22:31 Martin Pool * src/remote.c: dcc_compile_remote: Try to keep the right file name when updating state. 2003-06-11 22:30 Martin Pool * src/where.c: dcc_lock_pause: Set state notification when blocked. 2003-06-11 22:29 Martin Pool * src/: state.c, state.h: dcc_note_state: constness 2003-06-11 22:29 Martin Pool * src/: filename.h, filename.c: dcc_find_basename: constness 2003-06-11 22:26 Martin Pool * src/state.c: dcc_note_state: Remember the previously-set filename and host, so that we can just change state without needing to always know the filename. 2003-06-11 22:22 Martin Pool * src/: state.c, state.h: Add STATE_BLOCKED. 2003-06-11 22:21 Martin Pool * src/state.h: Delete garbage comment. 2003-06-11 17:22 Martin Pool * src/mon.c: Doc. 2003-06-11 17:20 Martin Pool * Makefile.in: Remove done todo 2003-06-11 17:19 Martin Pool * doc/results.txt: Measurements with state notes turned on. 2003-06-11 17:18 Martin Pool * src/: compile.c, compile.h, remote.c: dcc_compile_remote: Input filename is passed in for use in state notes. 2003-06-11 17:17 Martin Pool * src/remote.c: dcc_compile_remote: xmit_lock_fd is unused for now. 2003-06-11 17:14 Martin Pool * src/remote.c: Doc. 2003-06-11 17:07 Martin Pool * src/mon-text.c: Doc. 2003-06-11 17:02 Martin Pool * NEWS: [no log message] 2003-06-11 16:59 Martin Pool * src/mon-text.c: Take one optional parameter, which sets a time to wait between refreshes. Currently done using usleep(), which may not be portable. 2003-06-11 16:58 Martin Pool * src/mon.c: dcc_mon_poll: Fix memory scribble. 2003-06-11 16:53 Martin Pool * src/state.c: Doc. 2003-06-11 16:46 Martin Pool * NEWS: [no log message] 2003-06-11 16:29 Martin Pool * src/state.c: Only unlink file before replacing on cygwin. 2003-06-11 16:24 Martin Pool * src/state.c: Write state out into temporary files and rename into place, to try to avoid monitors ever seeing half-full files. 2003-06-11 15:19 Martin Pool * src/mon.c: Reduce max age to 30s. 2003-06-11 15:06 Martin Pool * src/tempfile.c: Include hostname in tempdir name, to avoid problems when /tmp is shared. 2003-06-11 15:03 Martin Pool * NEWS: Note distccmon-text. 2003-06-11 15:00 Martin Pool * src/tempfile.c: dcc_make_tmpnam: Just use asprintf() now we have it, rather than doing the equivalent by hand. Use the plain pid in temporary filenames rather than zero-filling it. 2003-06-11 14:55 Martin Pool * src/mon-text.c: Dump out the monitor list in a simple text table form. 2003-06-11 14:50 Martin Pool * src/mon.c: Doc * dcc_mon_kill_old: Always close fd on failure. * Build up a list of dcc_mon_list structures as the files are read in. * dcc_mon_list_free: Walk down the list, freeing each link. 2003-06-11 14:24 Martin Pool * src/mon.c: Read host and file variabels from state. 2003-06-11 14:22 Martin Pool * src/mon.c: Put in constant for the time to allow statefiles to live, and reduce to 60s. * Read state string. 2003-06-11 14:19 Martin Pool * src/mon.c: Check for and kill old state files. * Read in the start of the state file. 2003-06-11 14:15 Martin Pool * src/: rpc.c, rpc.h, srvrpc.c: dcc_r_token_string: New function factored out. 2003-06-11 14:06 Martin Pool * src/exitcode.h: Add EXIT_GONE 2003-06-11 12:41 Martin Pool * src/mon-text.c: distccmon-gnome: Emit blank at end. 2003-06-11 12:41 Martin Pool * src/mon.c: dcc_mon_do_file: Open each state file and handle missing ones. * dcc_mon_poll: Fix reference to freed memory. 2003-06-11 12:35 Martin Pool * src/: state.c, state.h: dcc_state_prefix: Export identifying prefix for state files. 2003-06-11 12:35 Martin Pool * src/mon.c: dcc_mon_do_file: New function. Skip everything but state files. 2003-06-11 12:31 Martin Pool * src/mon.c: dcc_mon_poll: Partial implementation that just traverses the directory. 2003-06-11 12:30 Martin Pool * src/mon-text.c: Set trace level from environment. 2003-06-11 12:30 Martin Pool * src/distcc.c, src/distcc.h, src/traceenv.c, Makefile.in: dcc_set_trace_from_env: Split out into new file src/traceenv.c, so that this can also be used from monitor programs. 2003-06-11 12:29 Martin Pool * .cvsignore: Ignore distccmon-text binary. 2003-06-11 12:24 Martin Pool * src/trace.c: Default trace should get all messages allowed by log level. 2003-06-11 12:22 Martin Pool * Makefile.in: Build and install distccmon-text 2003-06-11 12:19 Martin Pool * src/trace.c: Typo 2003-06-11 12:18 Martin Pool * src/trace.c: If no logger has been initialized when the first message goes out, then write to stderr. 2003-06-11 12:13 Martin Pool * src/mon.h: Declare part of the monitor API 2003-06-11 12:13 Martin Pool * src/mon-text.c: Hook in to trace code. 2003-06-11 12:11 Martin Pool * Makefile.in: More routines are needed for monitors 2003-06-11 12:06 Martin Pool * src/mon-text.c: Hook in to trace code. * Doc. 2003-06-11 12:04 Martin Pool * src/: exec.c, util.c: dcc_remove_if_exists: Move to util.c 2003-06-11 12:04 Martin Pool * Makefile.in: Add mon_obj variable for building monitor programs. 2003-06-11 11:58 Martin Pool * src/mon-text.c: src/mon-text.c: New file. 2003-06-11 11:57 Martin Pool * Makefile.in: Include src/mon-gnome.c in distribution * src/mon-text.c: New file. 2003-06-11 11:51 Martin Pool * src/state.c: dcc_note_state: Put client pid in state. 2003-06-11 11:50 Martin Pool * Makefile.in, src/mon.c, src/mon.h: src/mon.c, src/mon.h: New files. 2003-06-11 11:48 Martin Pool * src/: clirpc.c, remote.c: Add more calls to publish state. 2003-06-11 11:43 Martin Pool * src/state.c: dcc_note_state: Handle null file or host names. 2003-06-11 11:39 Martin Pool * src/: distcc.c, state.c, state.h: Call dcc_remove_state_file from atexit in client. 2003-06-11 11:37 Martin Pool * src/state.c: dcc_remove_state_file: Implement. 2003-06-11 11:35 Martin Pool * src/state.c: dcc_open_state_file: Release memory after use. 2003-06-11 11:32 Martin Pool * src/: rpc.c, rpc.h: dcc_x_token_string: Make buffer const. 2003-06-11 11:31 Martin Pool * src/state.c: dcc_note_state: Include file and host too. 2003-06-11 11:28 Martin Pool * src/state.c: dcc_note_state: Include state string as well. 2003-06-11 11:26 Martin Pool * src/clirpc.c: dcc_x_argv: Call dcc_x_token_string rather than doing it inline. 2003-06-11 11:22 Martin Pool * src/: rpc.h, rpc.c: dcc_x_token_string: New function factored out. 2003-06-11 11:06 Martin Pool * Makefile.in: Subst in LINUXDOC. 2003-06-11 11:02 Martin Pool * configure.ac: AC_ARG_VAR LINUXDOC 2003-06-11 11:00 Martin Pool * configure.ac: Add a check for existence of linuxdoc. 2003-06-11 10:47 Martin Pool * src/snprintf.h: snprintf.h needs to include stdarg.h to get va_list. Possibly fixes IRIX. 2003-06-10 18:23 Martin Pool * NEWS: Patch from Paul Russell: * If the compiler is not found on the server and is a fully-qualified name, then strip off the full name and just look for it on the path. 2003-06-10 18:16 Martin Pool * src/exec.c: Doc. 2003-06-10 18:15 Martin Pool * src/exec.c: Patch from Paul Russell: * If the compiler is not found on the server and is a fully-qualified name, then strip off the full name and just look for it on the path. 2003-06-10 18:00 Martin Pool * doc/release-names.txt: [no log message] 2003-06-10 18:00 Martin Pool * NEWS: Note new state files. 2003-06-10 17:57 Martin Pool * src/stat.c, src/stat.h, src/state.c, src/state.h, Makefile.in, src/compile.c: Rename stat.* to state.* 2003-06-10 17:57 Martin Pool * src/stat.h: dcc_remove_state_file: New function. 2003-06-10 17:56 Martin Pool * src/stat.c: dcc_get_state_file: New function to return the name of the state file for this process. * dcc_note_state: Start writing into state file. 2003-06-10 17:43 Martin Pool * src/compile.c: Update state directory when compiling locally. 2003-06-10 17:42 Martin Pool * src/arg.c: Factor out "compile from %s to %s" message into its own function, and log only the basename. Should prevent page-widening in server logs. 2003-06-10 17:41 Martin Pool * src/: stat.c, stat.h: dcc_note_state only logs the basename of the file. 2003-06-10 17:39 Martin Pool * src/stat.c: dcc_note_state: Trim filename down to basename. 2003-06-10 17:37 Martin Pool * NEWS: Try to fix UTF-8 coding, which seemed to be mangled by CVS. 2003-06-10 17:31 Martin Pool * NEWS: In compilation log message, just show the basename of the file to make it more compact. 2003-06-10 17:23 Martin Pool * src/: stat.h, stat.c: Add compile state constants. 2003-06-10 17:16 Martin Pool * src/: filename.h, filename.c: dcc_find_basename: New function. 2003-06-10 16:57 Martin Pool * src/compile.c: Remove unneeded header. 2003-06-10 16:55 Martin Pool * src/: stat.c, stat.h: dcc_note_state: New function to record what the client's up to. 2003-06-10 16:54 Martin Pool * src/: bulk.c, distcc.h: Move O_BINARY ifdef to distcc.h 2003-06-10 15:56 Martin Pool * Makefile.in: New file stat.h 2003-06-10 15:55 Martin Pool * src/: stat.c, stat.h: New file stat.h * Add routine to open a state file. 2003-06-10 15:55 Martin Pool * .cvsignore: Ignore distccmon-gnome. 2003-06-10 15:49 Martin Pool * src/stat.c: Doc * Add function to create/return state directory. 2003-06-10 15:47 Martin Pool * src/tempfile.h: Split code for idempotent directory creation out into a new function dcc_make_dir, so that it can be used by state file code. 2003-06-10 15:33 Martin Pool * src/tempfile.c: Split code for idempotent directory creation out into a new function dcc_make_dir, so that it can be used by state file code. 2003-06-10 15:23 Martin Pool * src/mon-gnome.c: Add columns for file and host * Add more sample data * Refactor code to create table view. 2003-06-10 15:14 Martin Pool * src/mon-gnome.c: Set a more reasonable default size. 2003-06-10 15:09 Martin Pool * src/mon-gnome.c: Refactor into smaller functions * Remove horizontal scrollbar; vertical only as needed. * Remove dummy text entry 2003-06-10 15:00 Martin Pool * NEWS: Start adding a GNOME-based monitor. 2003-06-10 14:58 Martin Pool * Makefile.in: make clean: Remove distccmon-gnome, even if it's currently not configured on. 2003-06-10 14:57 Martin Pool * Makefile.in, configure.ac: Add --enable-gnome configure option. When set, build and install distccmon-gnome. 2003-06-09 23:09 Martin Pool * src/mon-gnome.c: Add more sample data. 2003-06-09 23:07 Martin Pool * Makefile.in: Add hardcoded rule for distccmon-gnome. 2003-06-09 23:05 Martin Pool * doc/status-1.txt: Update status indicator notes. 2003-06-09 23:03 Martin Pool * src/stat.c: Stub for status indicator. 2003-06-09 19:23 Martin Pool * src/mon-gnome.c: Start of a monitor implementation in GTK+-2.2. Displays a window with a list containing only "42". 2003-06-09 18:37 Martin Pool * src/: mon-gnome.c, mon-gtk.c: Stub implementation of GNOME monitor. 2003-06-09 18:35 Martin Pool * src/: netutil.c, netutil.h: Add implementation of hstrerror() for systems that don't have it. 2003-06-09 18:28 Martin Pool * Makefile.in: src/stat.c: New file. 2003-06-09 15:23 Martin Pool * src/mon-gtk.c: Add a stub GTK+ monitor interface -- compiles and shows an empty window but does nothing. 2003-06-09 14:26 Martin Pool * NEWS: Note that hstrerror() is now supplied. 2003-06-09 12:47 Martin Pool * src/remote.c: Remove more unneeded headers. 2003-06-09 12:43 Martin Pool * src/: distcc.c, compile.c: Remove more unneeded headers. 2003-06-09 12:36 Martin Pool * src/distcc.c: Remove more unneeded headers. 2003-06-09 12:33 Martin Pool * src/distcc.c: Remove unneeded headers. 2003-06-08 20:05 Martin Pool * test/testdistcc.py, NEWS: Fix silly typo that made maintainer-check fail in ParseHostSpec_Case. 2003-06-08 19:52 Martin Pool * Makefile.in, src/compile.c, src/compile.h, src/distcc.c: Split other client-side compile functionality into src/compile.c. src/distcc.c now only has the top-level client code. * src/compile.c: New file. 2003-06-08 19:43 Martin Pool * Makefile.in, src/compile.h, src/distcc.c, src/remote.c: Split dcc_compile_remote into src/remote.c, and make it public. * compile.h, remote.c: New files. 2003-06-08 19:36 Martin Pool * TODO: Multiple updates to TODO file. 2003-06-08 19:19 Martin Pool * src/distcc.c, NEWS: Look for UNCACHED_ERR_FD environment variable, to allow distcc networking errors to avoid being cached by ccache. 2003-06-06 13:07 Martin Pool * TODO: OpenMOSIX autodiscovery 2003-06-05 17:44 Martin Pool * TODO: Rearrange comments on DNS A and SRV records. * Move question about --enable-final to web. 2003-06-05 17:34 Martin Pool * TODO: 2.5 bug is fixed. 2003-06-05 17:26 Martin Pool * Makefile.in: Include doc/protocol-1.txt in distribution. 2003-06-05 17:21 Martin Pool * configure.ac: Bump version back to 2.6cvs 2003-06-05 17:03 Martin Pool * NEWS: Note connection timeout added in 2.5.1. 2003-06-05 16:53 Martin Pool * NEWS, configure.ac: Prepare for 2.5.1 release. 2003-06-05 16:48 Martin Pool * src/io.c, NEWS: sys/time.h might be needed for select on SuSE 7.1 (spe158). 2003-06-05 16:45 Martin Pool * src/hosts.c, NEWS: dcc_parse_multiplier must advance over the multiplier to be able to read things like "angry/30:3000" correctly. Patch from Wayne Davison. 2003-06-05 16:43 Martin Pool * linuxdoc/distcc.sgml: Get out these fixes in 2.5.1. 2003-06-05 16:42 Martin Pool * test/testdistcc.py, NEWS: Add check for support of old multiplier format. (angry/44:300) 2003-06-05 16:41 Martin Pool * test/testdistcc.py: Doc 2003-06-05 16:39 Martin Pool * configure.ac: Get out these fixes in 2.5.1. 2003-06-05 16:36 Martin Pool * NEWS: Get out these fixes in 2.5.1. 2003-06-05 16:17 Martin Pool * src/: clinet.c, netutil.c, netutil.h, srvnet.c: Rename everything called 'sa_len' because this is #defined on IRIX. (Yuk) 2003-06-05 16:12 Martin Pool * NEWS: Fix IRIX. 2003-06-05 16:09 Martin Pool * NEWS: Recode as UTF-8. 2003-06-05 16:08 Martin Pool * NEWS: Solaris fixes from Tomas. 2003-06-05 16:08 Martin Pool * src/daemon.h: dcc_master_pid is really a pid_t. 2003-06-05 16:07 Martin Pool * src/netutil.c: Can't use "sun" as an identifier on gcc Solaris 8. 2003-06-05 16:03 Martin Pool * doc/release-names.txt: [no log message] 2003-06-04 23:19 Martin Pool * src/dparent.c: Doc. 2003-06-04 11:22 Martin Pool * doc/status-1.txt: Notes on design possibilities. 2003-06-03 08:37 Martin Pool * doc/noent.txt: Transient bug while compiling. 2003-06-03 08:23 Martin Pool * doc/status-1.txt: Notes on status reporting 2003-06-02 15:48 Martin Pool * src/netutil.c: This file needs snprintf.h * AF_LOCAL might be missing on Solaris. 2003-06-02 15:45 Martin Pool * TODO: [no log message] 2003-06-02 14:46 Martin Pool * doc/release-names.txt: [no log message] 2003-06-02 13:20 Martin Pool * src/dparent.c: Clarify "%d CPUs online" message. http://groups.google.com/groups?q=distcc&hl=en&lr=&ie=UTF-8&oe=UTF-8&scoring=d&selm=1054494726.347698%40auth2.dns.griffin.net.uk&rnum=1 2003-06-02 13:13 Martin Pool * survey.txt: Clarify privacy clause for survey. 2003-06-02 13:11 Martin Pool * NEWS: [no log message] 2003-05-31 00:29 Martin Pool * doc/protocol-1.txt: Start handling empty output files. 2003-05-31 00:29 Martin Pool * TODO: [no log message] 2003-05-30 23:49 Martin Pool * src/: bulk.c, distcc.h: dcc_open_read can be static. 2003-05-30 23:47 Martin Pool * src/bulk.c: Remove dead code. 2003-05-30 12:58 Martin Pool * linuxdoc/distcc.sgml: Add section about Mailing lists. 2003-05-30 12:45 Martin Pool * src/dsignal.c: Doc. 2003-05-29 09:00 Martin Pool * src/access.c: Doc 2003-05-28 17:34 Martin Pool * src/: clinet.c, io.c: Increase timeout to 15s. * Move select() check into dcc_select_for_read 2003-05-28 17:28 Martin Pool * src/clinet.c: dcc_connect_timed: Add trace. 2003-05-28 17:16 Martin Pool * src/clinet.c: Doc 2003-05-28 17:13 Martin Pool * TODO, doc/results.txt: [no log message] 2003-05-28 17:01 Martin Pool * src/clinet.c: Impose 5s timeout on opening TCP connections. Change to using nonblocking sockets (just while opening). 2003-05-28 16:16 Martin Pool * Makefile.in: Move check functionality to maintainer-check, because I don't want it to run by default on the build farm. 2003-05-28 16:13 Martin Pool * NEWS: [no log message] 2003-05-28 16:11 Martin Pool * src/distcc.c: Include hostdef string in "failed to distribute" warning. 2003-05-28 16:03 Martin Pool * src/: netutil.h, ssh.c, netutil.c: dcc_set_nonblocking, dcc_set_blocking: Move to netutil.h 2003-05-28 15:57 Martin Pool * TODO: The server in fact already generates the right extension name for temporary files. But this might be a problem for the proposed new protocol. 2003-05-28 15:50 Martin Pool * src/serve.c: dcc_run_job: Split some code out into dcc_input_tmpnam. 2003-05-28 15:50 Martin Pool * doc/results.txt: [no log message] 2003-05-28 15:46 Martin Pool * TODO: Preforking is now done. 2003-05-28 15:45 Martin Pool * TODO: Thoughts on boredom and temporary file extensions. 2003-05-28 15:29 Martin Pool * linuxdoc/distcc.sgml, NEWS: Document use from inetd. * Document -j option. 2003-05-28 15:08 Martin Pool * linuxdoc/distcc.sgml: Notes on running daemon from init and standalone. 2003-05-28 14:51 Martin Pool * NEWS: dcc_setpgid: Rename to dcc_new_pgrp. * dcc_new_pgrp: Don't call setpgid() if we're already a process group leader, because this fails with EPERM if we happen to also be a session group leader. 2003-05-28 14:42 Martin Pool * src/: dparent.c, exec.c, exec.h: dcc_setpgid: Rename to dcc_new_pgrp. * dcc_new_pgrp: Don't call setpgid() if we're already a process group leader, because this fails with EPERM if we happen to also be a session group leader. 2003-05-28 14:31 Martin Pool * configure.ac: Bump version 2003-05-28 14:13 Martin Pool * NEWS: Need types.h 2003-05-28 14:03 Martin Pool * src/daemon.c: Need types.h 2003-05-27 19:18 Martin Pool * src/serve.c: Tweak trace message. 2003-05-27 19:17 Martin Pool * src/bulk.c: Disable dcc_x_file_timed, which is no longer called. 2003-05-27 19:12 Martin Pool * configure.ac, NEWS, doc/release-names.txt: Prepare for 2.5 release. 2003-05-27 19:11 Martin Pool * src/daemon.c: Doc. * If getpeername() fails on a socket then continue anyhow. 2003-05-27 19:08 Martin Pool * TODO: SSH child is now collected by the client. 2003-05-27 18:55 Martin Pool * NEWS: [no log message] 2003-05-27 18:54 Martin Pool * src/distcc.c: Only collect SSH child if we actually started one. (How embarrassing.) 2003-05-27 18:48 Martin Pool * src/distcc.c: Log elapsed time for whole compilation. 2003-05-27 18:42 Martin Pool * src/: serve.c, clirpc.c: Don't time transmission of a file: because a large fraction of it can be stuck in network buffers it is not a very accurate measure. 2003-05-27 18:39 Martin Pool * TODO: [no log message] 2003-05-27 18:35 Martin Pool * TODO: Note on handling SIGCHLD from cpp. 2003-05-27 18:17 Martin Pool * src/: distcc.c: Doc. 2003-05-27 18:16 Martin Pool * src/: clirpc.c, distcc.c, exec.c, exec.h, serve.c: dcc_report_rusage: Merge into dcc_collect_child because they're coupled. * dcc_collect_child: Don't pass back rusage. Do take a descriptive name for the child. * dcc_compile_remote: Collect the SSH child after the connection is closed. 2003-05-27 18:06 Martin Pool * src/distcc.c: Add pointer to manual in usage message. 2003-05-27 17:54 Martin Pool * src/netutil.c: dcc_sockaddr_to_string: Remove "INET" from IP address. 2003-05-27 17:54 Martin Pool * src/clinet.c: dcc_connect_by_addr: Print sockaddr in raw form. 2003-05-27 15:11 Martin Pool * test/testdistcc.py: ParseMask_Case: Better error message. 2003-05-27 14:58 Martin Pool * doc/results.txt: Notes on prefork mode. 2003-05-27 14:43 Martin Pool * src/daemon.h: Fix decl. 2003-05-27 14:42 Martin Pool * src/hosts.c: Fix C syntax. 2003-05-27 14:41 Martin Pool * TODO: Update notes on fsh/ssh. 2003-05-27 12:26 Martin Pool * src/serve.c: Tweak log messages. 2003-05-27 11:44 Martin Pool * linuxdoc/distcc.sgml: Recommend using log files. 2003-05-27 11:41 Martin Pool * src/prefork.c: dcc_preforked_child can be static. 2003-05-27 11:07 Martin Pool * src/exec.c: dcc_critique_status: Tweak log output. 2003-05-27 11:05 Martin Pool * src/exec.c: dcc_critique_status: Better message for termination by signal. 2003-05-27 11:00 Martin Pool * src/lock.c: Show lock fd in trace messages. 2003-05-27 10:59 Martin Pool * src/srvnet.c: dcc_sockaddr_to_ip now indicates which AF it is. 2003-05-27 10:58 Martin Pool * src/netutil.c: Better description of AF_UNIX sockets. 2003-05-27 10:54 Martin Pool * src/netutil.c: dcc_sockaddr_to_string: Handle AF_LOCAL and unknown AF addresses. Return "INET 1.2.1.2:323" to distinguish AFs. 2003-05-27 10:49 Martin Pool * src/: netutil.c, netutil.h, srvnet.c: dcc_sockaddr_to_ip: Rename to dcc_sockaddr_to_string. 2003-05-27 10:46 Martin Pool * src/bulk.c: Doc 2003-05-27 10:43 Martin Pool * src/bulk.c: Tweak trace message. 2003-05-27 10:42 Martin Pool * src/sendfile.c: Doc. 2003-05-27 10:28 Martin Pool * src/: distcc.c, where.c: Disable XMIT locks for the moment. 2003-05-26 18:43 Martin Pool * doc/results.txt: More testing. 2003-05-26 18:39 Martin Pool * doc/results.txt: More testing. 2003-05-26 18:09 Martin Pool * NEWS: Client no longer considers NCPUs. 2003-05-26 18:08 Martin Pool * src/bulk.c: Tweak trace message. 2003-05-26 17:53 Martin Pool * TODO: [no log message] 2003-05-26 17:45 Martin Pool * src/hosts.c: Fix warning. 2003-05-26 17:44 Martin Pool * src/hosts.c, Makefile.in: Don't look at the number of CPUs on the client; it's too expensive. 2003-05-26 17:39 Martin Pool * src/srvnet.c, src/dparent.c, NEWS: Log full passive sockaddr in listen message. 2003-05-26 17:36 Martin Pool * src/dparent.c: Shuffle startup messages. 2003-05-26 17:34 Martin Pool * src/dsignal.c, NEWS: Make sure to remove handler before re-raising signal, or Valgrind gets its kickers in a knot. 2003-05-26 17:30 Martin Pool * src/serve.c: dcc_service_job: Split off code for checking access control. 2003-05-26 17:13 Martin Pool * src/: daemon.c, daemon.h, distcc.h, dparent.c, prefork.c, serve.c, srvnet.c, srvnet.h: Use the sockaddr passed in by accept() when a connection is accepted, rather than doing an extra getpeername() call. * dcc_accept_job: Rename to dcc_service_job, since accept() is no longer called from here. 2003-05-26 17:00 Martin Pool * NEWS: dcc_listen_by_addr: Show sockaddr if bind fails. 2003-05-26 16:58 Martin Pool * src/netutil.c: dcc_sockaddr_to_ip: sin_port is in network byte order. 2003-05-26 16:57 Martin Pool * src/srvnet.c: Fix silly typo. 2003-05-26 16:56 Martin Pool * src/srvnet.c: dcc_listen_by_addr: Show sockaddr if bind fails. 2003-05-26 16:53 Martin Pool * src/netutil.c: dcc_sockaddr_to_ip: Show port number as well as IP address. 2003-05-26 16:46 Martin Pool * src/srvnet.c: Split out "address family" part from "connection from" message. 2003-05-26 16:35 Martin Pool * src/daemon.c: Fix syntax problem and missing header. 2003-05-26 16:34 Martin Pool * NEWS: Move daemon into temporary directory during startup. 2003-05-26 16:33 Martin Pool * src/daemon.c: Doc. 2003-05-26 16:32 Martin Pool * src/daemon.c: main: Refactor error handling. * Move daemon into temporary directory during startup. 2003-05-26 16:29 Martin Pool * src/: tempfile.c, tempfile.h: dcc_enter_tempdir: New function. 2003-05-26 16:27 Martin Pool * src/tempfile.c, NEWS: Just use decimal userid rather than username in temporary directory. 2003-05-26 16:22 Martin Pool * src/setuid.c: Undo 1.3 2003-05-26 16:21 Martin Pool * src/setuid.c: Move opt_user to somewhere it can be reached by tmpfile. 2003-05-26 16:19 Martin Pool * NEWS: Use username or decimal userid for temporary directory name. 2003-05-26 15:55 Martin Pool * src/serve.c: Doc. 2003-05-26 15:54 Martin Pool * src/serve.c: Fix naming of stdout, stderr temporary files. * Call server object file .o. 2003-05-26 15:51 Martin Pool * src/serve.c: dcc_accept_job: Close down ecolog connection to server error log, so that we don't leak fds in prefork mode. 2003-05-26 15:48 Martin Pool * src/trace.c: rs_remove_logger: New function to allow turning off loggers without shutting everything down. 2003-05-26 15:42 Martin Pool * src/trace.h: rs_remove_logger: New function. 2003-05-26 15:38 Martin Pool * src/prefork.c: Message when child exits. 2003-05-26 15:13 Martin Pool * test/testdistcc.py: Add tests for new host multiplicity specifications. 2003-05-26 15:12 Martin Pool * src/dsignal.c: Remove unneeded headers. 2003-05-26 15:07 Martin Pool * linuxdoc/distcc.sgml: TCP hosts can now be specified in the more logical form of HOST:PORT/MUL. * Explain when and where to list localhost. 2003-05-26 15:02 Martin Pool * src/hosts.c, NEWS: TCP hosts can now be specified in the more logical form of HOST:PORT/MUL. 2003-05-26 14:58 Martin Pool * src/h_hosts.c: Log to stderr. 2003-05-26 14:54 Martin Pool * src/hosts.c: dcc_parse_multiplier: Remove unnecessary string copy. 2003-05-26 14:51 Martin Pool * src/hosts.c: Doc. 2003-05-26 14:48 Martin Pool * src/dsignal.c: dcc_parent_terminate: Rename to dcc_daemon_terminate because it's now done in both parent and children. 2003-05-26 14:47 Martin Pool * test/testdistcc.py: Run tests in prefork mode. 2003-05-26 14:46 Martin Pool * src/: daemon.h, dparent.c, dsignal.c, prefork.c, serve.c: Don't change the signal handler when starting a child, because this is racy and not straightforward. Instead, keep track of the pid of the master daemon, and in the signal handler check if that's who we are when running cleanup. 2003-05-26 14:34 Martin Pool * NEWS: Call server-side output object files .o, not .out. Patch from rishikesh shetty. 2003-05-26 14:28 Martin Pool * src/prefork.c: Doc. 2003-05-26 14:24 Martin Pool * test/testdistcc.py: Assume localhost has one CPU when checking host parsing. 2003-05-26 14:20 Martin Pool * test/testdistcc.py: Wait status for a terminated daemon is now TERM, not 0. * Use --no-prefork for the moment to check nothing was broken. 2003-05-26 14:13 Martin Pool * src/dparent.c: Don't catch signals until we've established our own process group, because we don't want to accidentally kill the caller's process group. * More trace messages. 2003-05-26 14:12 Martin Pool * src/: exec.h, exec.c: dcc_setpgid: Return an error if we fail to create a process group, because we rely on being separated for proper shutdown. 2003-05-26 13:55 Martin Pool * src/exec.c: dcc_setpgid: Return an error if we fail to create a process group, because we rely on being separated for proper shutdown. 2003-05-26 13:34 Martin Pool * src/tempfile.c: Fix warning 2003-05-26 13:14 Martin Pool * src/tempfile.c: tmpfile list must be volatile. 2003-05-26 13:10 Martin Pool * src/dparent.c: dcc_standalone_server: Even in --no-detach mode, create a new process group. 2003-05-26 13:09 Martin Pool * src/prefork.c: dcc_preforking_parent: We don't need to create a new process group because it has already been done at a higher level. 2003-05-26 13:08 Martin Pool * src/exec.c: Doc. 2003-05-26 12:15 Martin Pool * Makefile.in: h_hosts now needs ncpus.c 2003-05-26 12:08 Martin Pool * NEWS: Note prefork support. 2003-05-26 12:06 Martin Pool * src/: srvrpc.c, serve.c: Split server-specific RPC code into its own file. 2003-05-26 12:05 Martin Pool * Makefile.in, src/rpc.h: src/srvrpc.c: New file. 2003-05-26 12:00 Martin Pool * src/daemon.c: Doc. 2003-05-26 11:53 Martin Pool * NEWS: Kill process group on termination signal. 2003-05-26 11:50 Martin Pool * src/: prefork.c, dparent.c: "up to n children" is only a debug message. 2003-05-26 11:49 Martin Pool * src/dparent.c: Split out code for logging terminated children. * Show signal names if appropriate when a child exits. * If a child is terminated, this is just an info log not an error. 2003-05-26 11:49 Martin Pool * src/daemon.c: Doc 2003-05-26 11:44 Martin Pool * src/dsignal.c: dcc_child_terminate: No log message when the child is terminated, the parent can do it. 2003-05-26 11:40 Martin Pool * src/dsignal.c: Termination signal handlers re-raise the signal and therefore should not _exit, because the signal is blocked until we try to return. 2003-05-26 08:38 Martin Pool * src/: daemon.h, dparent.c, dsignal.c, prefork.c: Use a separate signal handler for daemon children, that cleans up temporary files but doesn't kill the group. 2003-05-25 21:10 Martin Pool * src/: daemon.h, dparent.c, dsignal.c, prefork.c, serve.c, util.c: Rework some daemon signal handling designs to better suit a preforking server. * Daemon now runs in a single process group in all modes. * Use signal() rather than sigaction() for simplicity. * Killing the daemon kills all running children. This is more consistent with other daemons like Apache. Any clients ought to fall back to local compilation, as they will have to do anyhow. Daemon is killed by reraising the signal, rather than exiting. * Print a message when terminated by a signal that fits better with the strsignal() output. * When terminated, explicitly run cleanups rather than relying on exit(). * Accepted children are not run in a separate group, because this will not work for preforked jobs. 2003-05-25 17:39 Martin Pool * src/prefork.c: Doc * dcc_preforking_parent: Should wait until a child exits before bothering about starting a new one. 2003-05-25 17:32 Martin Pool * src/prefork.c: Doc 2003-05-25 17:29 Martin Pool * src/: daemon.h, dparent.c, prefork.c: dcc_reap_kids: Flags ought to allow distinguishing between needing to reap at least one child, and just checking for any of them. We don't want to wait until all the children exited. This fixes the problem of the preforked parent waiting until all the children have exited before starting any more. 2003-05-25 16:34 Martin Pool * linuxdoc/distcc.sgml: Note that DISTCC_LOG doesn't change the server. * Add section on how to shut down distccd. 2003-05-25 16:23 Martin Pool * linuxdoc/distcc.sgml: Bump version to 2.5. * Add descriptions of some new error codes. 2003-05-23 19:19 Martin Pool * src/dparent.c: Doc 2003-05-23 19:15 Martin Pool * src/daemon.c, NEWS: Make sure that the right syslog facility is opened. 2003-05-23 19:04 Martin Pool * src/: .cvsignore, daemon.c, daemon.h, distcc.h, dparent.c, dsignal.c, prefork.c: Split prefork stuff into prefork.c. * Split daemon stuff into daemon.h. 2003-05-23 19:03 Martin Pool * Makefile.in: No more recursive Make. 2003-05-23 18:33 Martin Pool * src/: distcc.h, dopt.c, dopt.h, dparent.c: New option --no-prefork * Add simple implementation of preforking: just create max_jobs children and let them all accept connections. They time out after a few requests. 2003-05-23 15:50 Martin Pool * NEWS, src/dopt.c, src/dopt.h, src/dparent.c: Add new --jobs, -j option to server to set limit on incoming jobs. 2003-05-23 15:48 Martin Pool * configure.ac: Bump version to 2.5cvs 2003-05-23 15:48 Martin Pool * README.libiberty: Remove libiberty stuff 2003-05-23 14:54 Martin Pool * src/dparent.c: Remove quote. 2003-05-23 14:51 Martin Pool * src/dparent.c: dcc_reap_kids: Add option to block until a child exits. * dcc_forking_parent: Block waiting for a child to complete before accepting any new connections when we've exceeded the maximum number of connections. 2003-05-23 14:30 Martin Pool * src/dparent.c: Rename /_loop/_parent/ 2003-05-23 14:29 Martin Pool * src/dparent.c: max_kids: New variable to impose a limit on concurrent servers. 2003-05-23 14:21 Martin Pool * src/dparent.c: Fix prototype 2003-05-23 14:20 Martin Pool * src/dparent.c: Refactor daemon parent loop into separate versions for nofork and forking mode, so that we don't need checks for mode at more than one place. 2003-05-23 14:05 Martin Pool * src/hosts.c: Doc 2003-05-23 14:04 Martin Pool * src/hosts.c: Set default local task limit to twice the number of CPUs. 2003-05-23 13:38 Martin Pool * TODO: Remove done items. 2003-05-23 13:02 Martin Pool * NEWS, configure.ac: Prepare for 2.4.2 release 2003-05-23 12:58 Martin Pool * src/serve.c: Doc. 2003-05-23 12:47 Martin Pool * src/netutil.c, NEWS: Fix string allocation bug in dcc_sockaddr_to_ip that could cause a server crash. 2003-05-23 12:17 Martin Pool * NEWS, src/distcc.h, src/hostfile.c, src/hosts.c: Better error messages if DISTCC_HOSTS or host files are empty. Patch from Wayne Davison. 2003-05-22 19:06 Martin Pool * doc/results.txt: [no log message] 2003-05-22 19:05 Martin Pool * TODO: More notes on feeding from a FIFO. 2003-05-22 17:39 Martin Pool * src/sendfile.c: Doc. 2003-05-22 16:40 Martin Pool * Makefile.in: libiberty is no longer used by distcc. 2003-05-22 16:24 Martin Pool * src/bulk.c, NEWS: Open output files in the same way that GNU as does, by only trying to remove them if they're >0 bytes, and ignoring failure to remove. This fixes compilation directed to /dev/null, which is used by some configure scripts. Reported by Hal Duston. 2003-05-22 16:12 Martin Pool * cases/fooey.c: Another developer scratch test. 2003-05-22 16:09 Martin Pool * test/testdistcc.py: Fix /dev/null test. 2003-05-22 15:51 Martin Pool * test/testdistcc.py: Add test case for "-o /dev/null", reported by Hal Duston. Currently fails. 2003-05-22 15:48 Martin Pool * configure.ac: Update to 2.5cvs 2003-05-22 15:24 Martin Pool * configure.ac: Update to 2.4.1 2003-05-22 15:21 Martin Pool * NEWS: Patch from Frerich Raabe: * Add strndup on platforms that don't have it. 2003-05-22 11:25 Martin Pool * src/hosts.c, NEWS: Patch from Frerich Raabe: * Add strndup on platforms that don't have it. 2003-05-22 11:13 Martin Pool * configure.ac: Bump version to 2.4.1cvs * Check for function and declaration of strndup. 2003-05-22 10:03 Martin Pool * man/: distcc.1, distccd.1: Add email addresses. 2003-05-21 16:57 Martin Pool * TODO: Note on waking up bored clients. 2003-05-21 16:47 Martin Pool * configure.ac, NEWS: Get ready for 2.4 release 2003-05-21 16:45 Martin Pool * test/testdistcc.py: NoHosts_Case needs to reset DISTCC_FALLBACK=1 to test the desired behaviour. 2003-05-21 16:41 Martin Pool * src/: clirpc.c, distcc.c, exec.c, exec.h, serve.c: dcc_critique_status: Add butt-ugly verbose parameter, so that diagnostics on command completion are only given high status in cases where the user is likely to want to see them. 2003-05-21 16:39 Martin Pool * doc/results.txt: Notes on backoff. 2003-05-21 16:30 Martin Pool * src/timefile.c: dcc_remove_timefile: Better messages. 2003-05-21 16:26 Martin Pool * src/h_hosts.c: Renamed to dcc_get_hostlist 2003-05-21 16:25 Martin Pool * NEWS: [no log message] 2003-05-21 16:24 Martin Pool * src/clinet.c: Doc. 2003-05-21 16:16 Martin Pool * src/distcc.c: dcc_build_somewhere: Allow for the fallback code to be invoked because of failure to choose a host, e.g. because they're all down or none were defined. 2003-05-21 16:10 Martin Pool * src/where.c: dcc_pick_host_from_list: Return EXIT_NO_HOSTS on failure, not 0. This makes sure that all failures are caught in common code and that DISTCC_FALLBACK is always applied. 2003-05-21 16:09 Martin Pool * src/exitcode.h: New code EXIT_NO_HOSTS 2003-05-21 16:07 Martin Pool * src/: where.h, where.c, distcc.c: dcc_pick_host_from_env: rename to dcc_pick_host_from_list, since hosts can now come from files too. 2003-05-21 16:04 Martin Pool * src/where.c: If removing disliked hosts leaves us with nothing, then use localhost instead. 2003-05-21 15:55 Martin Pool * src/backoff.c: Doc 2003-05-21 15:55 Martin Pool * doc/results.txt: [no log message] 2003-05-21 15:54 Martin Pool * src/: backoff.c, backoff.h, hosts.c, where.c: Backoff from disliked hosts for 60 seconds. 2003-05-21 15:53 Martin Pool * NEWS: Note sleep changes and backoff. 2003-05-21 15:38 Martin Pool * src/: hosts.h, hosts.c: dcc_free_hostdef: New function. 2003-05-21 15:25 Martin Pool * src/: hosts.h, hosts.c, where.c: Rename dcc_preferred_hosts to dcc_get_hostlist. 2003-05-21 15:23 Martin Pool * src/where.c: Sleep for just 2s if a host is not free. 2003-05-21 14:09 Martin Pool * src/where.c, NEWS: dcc_lock_pause: Replace simple 0.1s sleep with a truncated exponential backoff starting at 1s and going up to 8s. 0.1s is very short compared to the period a compile typically takes to complete, and if we hit this code at all then we're probably overloaded. 2003-05-21 14:01 Martin Pool * src/lock.c: Doc. 2003-05-21 14:00 Martin Pool * src/timefile.c: dcc_mark_timefile: Fix error check 2003-05-21 13:57 Martin Pool * src/: backoff.c, distcc.c: backoff.c, backoff.h: New files. 2003-05-21 13:56 Martin Pool * src/distcc.c: dcc_build_somewhere: Remember when a server failed or not. 2003-05-21 13:55 Martin Pool * src/: backoff.h, backoff.c: dcc_enjoyed_host, dcc_disliked_host: New function that remember when a server failed. 2003-05-21 13:51 Martin Pool * Makefile.in: backoff.c, backoff.h: New files. 2003-05-21 13:44 Martin Pool * src/timefile.c: dcc_remove_timefile, dcc_check_timefile: Cope with timestamp files that don't exist. 2003-05-21 13:35 Martin Pool * src/timefile.c: dcc_mark_timefile, dcc_remove_timefile: add trace messages. 2003-05-21 13:34 Martin Pool * src/: timefile.c, timefile.h: dcc_remove_timefile, dcc_check_timefile: New functions. 2003-05-21 13:30 Martin Pool * src/timefile.h, Makefile.in, src/lock.h: timefile.h: New header for timefile.c 2003-05-21 13:22 Martin Pool * doc/release-names.txt: [no log message] 2003-05-21 13:21 Martin Pool * Makefile.in, src/lock.c, src/lock.h, src/timefile.c: timefile.c: New file. * Export some functions from lock.c needed to do timestamps. * dcc_mark_timefile: Very simple implementation of time markers. 2003-05-21 13:19 Martin Pool * src/climasq.c: Doc 2003-05-21 13:14 Martin Pool * test/testdistcc.py: Doc. 2003-05-21 11:49 Martin Pool * doc/release-names.txt: [no log message] 2003-05-20 22:35 Martin Pool * doc/release-names.txt: [no log message] 2003-05-20 12:00 Martin Pool * survey.txt: Add request to send misconfigurations to the list rather than to the survey. 2003-05-19 18:21 Martin Pool * TODO: Describe use of SSH. * Notes about localhost scheduling. 2003-05-19 18:17 Martin Pool * linuxdoc/distcc.sgml: Bump version. 2003-05-19 18:16 Martin Pool * linuxdoc/distcc.sgml, NEWS: Describe use of SSH. 2003-05-19 18:02 Martin Pool * doc/results.txt: Results from SSH. 2003-05-19 17:50 Martin Pool * src/lock.c: dcc_lock_host: Use hostdef_string, not hostname. 2003-05-19 17:47 Martin Pool * TODO, src/hosts.c: Move notes about multi-A-records to TODO, since it probably won't happen. 2003-05-19 17:43 Martin Pool * NEWS: dcc_critique_status now takes a hostdef, not a hostname, so that it can give better error messages. Update all callers. 2003-05-19 17:41 Martin Pool * src/exec.c: dcc_critique_status: Don't print function name in errors. 2003-05-19 17:39 Martin Pool * src/: clirpc.c, distcc.c, exec.c, exec.h, hosts.c, serve.c: dcc_critique_status now takes a hostdef, not a hostname, so that it can give better error messages. Update all callers. 2003-05-19 17:29 Martin Pool * src/: distcc.c, exec.c, exec.h, lock.c: Move towards passing around hostdefs, rather than hostnames, because they provide better explanations now that we have multiple protocols and different ports. At the moment done just for dcc_note_execution. 2003-05-19 17:20 Martin Pool * src/hosts.h: Add verbatim name to hostdef struct. 2003-05-19 17:18 Martin Pool * NEWS: If remote compilation fails, give an error rather than just a notice. People might want to know. 2003-05-19 17:16 Martin Pool * cases/bad.c: Test case for errors. 2003-05-19 17:15 Martin Pool * src/exec.c: If remote compilation fails, give an error rather than just a notice. People might want to know. 2003-05-19 17:10 Martin Pool * src/arg.c: Doc. 2003-05-19 16:58 Martin Pool * src/: filename.c: Doc. 2003-05-19 16:43 Martin Pool * NEWS, src/clinet.c, src/netutil.c, src/srvnet.c: Don't use the RFC2553 getaddrinfo/getnameinfo API by default, because it seems to be slower on OS X and possibly problematic on other systems. It can be enabled with --enable-rfc2553 if you want to use IPv6, multi-homed servers, or want to test the new API. 2003-05-19 16:08 Martin Pool * doc/results.txt: Notes on getaddrinfo vs gethostinfo. 2003-05-19 16:08 Martin Pool * configure.ac: Add --enable-rfc2553 configuration option. 2003-05-19 16:08 Martin Pool * TODO: Notes on name handling and statistics. 2003-05-19 16:07 Martin Pool * NEWS: Patch from Paul Green to start supporting VOS: * Use autoconf EXEEXT in Makefile. Remove sbin_programs. * Add VOS implementation of dcc_ncpus. * Once socklen_t, in_addr_t and in_port_t have been typedef'd, set the feature macros for them. * src/util.c needs netdb.h 2003-05-19 13:08 Martin Pool * src/hosts.c, TODO: Merge comment from Alexandre about keeping the HOSTS syntax such that it can be handled from the shell. 2003-05-19 12:25 Martin Pool * Makefile.in, src/ncpus.c, src/types.h, src/util.c: Patch from Paul Green to start supporting VOS: * Use autoconf EXEEXT in Makefile. Remove sbin_programs. * Add VOS implementation of dcc_ncpus. * Once socklen_t, in_addr_t and in_port_t have been typedef'd, set the feature macros for them. * src/util.c needs netdb.h 2003-05-16 17:52 Martin Pool * src/where.c, NEWS: If an IO error occurs while trying to get a lock, bail out rather than getting stuck. 2003-05-16 17:47 Martin Pool * src/filename.c: Doc. 2003-05-16 17:43 Martin Pool * src/cpp.c: dcc_cpp_maybe: Doc, add trace. 2003-05-16 17:40 Martin Pool * src/cpp.c: dcc_cpp_maybe: Pull out all the preprocessor-extension logic and just call dcc_preproc_exten, which already knows all about C++ and ObjC and ObjC++. 2003-05-16 17:37 Martin Pool * src/cpp.c: Logic cleanup on Dara's patch. * For C++ source files, call the preprocessor output .ii. 2003-05-16 17:24 Martin Pool * Makefile.in: Fix upload-dist. 2003-05-16 17:23 Martin Pool * src/cpp.c, src/filename.c, NEWS: Merge cleaned-up patch from Dara Hazeghi to recognize ObjC extensions. Still not clear. 2003-05-16 17:18 Martin Pool * doc/results.txt: Update from experiments today on kernel. 2003-05-16 17:16 Martin Pool * NEWS: Bump to 2.4cvs. * Merge patch to recognize Objective C files, by Dara Hazeghi. 2003-05-16 17:14 Martin Pool * configure.ac: Bump to 2.4cvs. 2003-05-16 17:10 Martin Pool * cases/hello-objc.m: Add compile-command. 2003-05-16 17:09 Martin Pool * cases/hello-objc.m: Example case for Objective C, from Dara Hazeghi. 2003-05-16 15:15 Martin Pool * src/distcc.c: Fix typo in usage message. 2003-05-16 15:07 Martin Pool * doc/release-names.txt: [no log message] 2003-05-16 14:46 Martin Pool * linuxdoc/distcc.sgml: Prepare for 2.3 release. 2003-05-16 14:09 Martin Pool * NEWS: Prepare for 2.3 release. 2003-05-16 13:43 Martin Pool * configure.ac: Prepare for 2.3 release. 2003-05-15 15:14 Martin Pool * src/util.c: Update trace message. 2003-05-14 10:47 Martin Pool * src/util.c: dcc_trim_path: More trace information. 2003-05-13 15:47 Martin Pool * src/srvnet.c: HAVE_GETADDRINFO version of dcc_socket_listen: check that the port is in range, because getaddrinfo doesn't trap it. 2003-05-13 15:37 Martin Pool * src/: daemon.c, distcc.c, util.c, util.h: Patch from Wayne Davison: * When trimming our path, look for the name we were invoked under rather than "cc". 2003-05-13 15:26 Martin Pool * NEWS: Doc updates. 2003-05-13 11:46 Martin Pool * TODO: [no log message] 2003-05-11 12:31 Martin Pool * src/daemon.c, NEWS: dcc_setup_startup_log: Send startup errors to stderr, unless that is a socket. Perhaps a better heuristic for working out when we can stand to have e.g. bad option warnings go there. 2003-05-11 12:21 Martin Pool * src/daemon.c: dcc_set_lifetime: Remove "set alarm for" message, which tends to leak into syslog when testing. 2003-05-11 12:18 Martin Pool * NEWS: Update status of IPv6. 2003-05-11 12:17 Martin Pool * src/srvnet.c: Coallesce log entries. * Doc. 2003-05-11 12:04 Martin Pool * TODO: [no log message] 2003-05-09 14:05 Martin Pool * linuxdoc/distcc.sgml: Remove chapter on "internals", because this is covered in the protocol documentation file, etc. 2003-05-08 18:02 Martin Pool * linuxdoc/distcc.sgml: Document DISTCC_SSH, host list files, and execution over SSH. 2003-05-08 17:17 Martin Pool * NEWS: Updates to manual. 2003-05-08 17:13 Martin Pool * linuxdoc/distcc.sgml: Better description of how --help and --version work with the client. * Document DISTCC_FALLBACK. 2003-05-08 17:05 Martin Pool * linuxdoc/distcc.sgml: Rename "Invoking" section to "Setting up", because this is what it's really about now. * Add SGML markup. * Rephrase some sections about masquerading. 2003-05-08 17:01 Martin Pool * linuxdoc/distcc.sgml: Update section about security to describe ssh and new options. 2003-05-08 16:52 Martin Pool * src/srvnet.c: Restore access control checking for IPv4 connections. 2003-05-08 16:51 Martin Pool * test/testdistcc.py: AccessDenied_Case depends on falling back to local compilation. 2003-05-08 16:44 Martin Pool * src/h_hosts.c: dcc_parse_hosts_env renamed to dcc_preferred_hosts. 2003-05-08 16:43 Martin Pool * src/clinet.c: non-GETADDRINFO version of dcc_connect_by_name: Pass the right socklen. 2003-05-08 16:42 Martin Pool * test/testdistcc.py: Set DISTCC_FALLBACK=0 for most compilations so that we can be more sure that distribution failures will be visible. 2003-05-08 15:47 Martin Pool * src/clinet.c: Remove unused vars. 2003-05-07 17:27 Martin Pool * src/srvnet.c: dcc_socket_listen, dcc_prefer_ipv4: Try to listen on an IPv4 address if there is an acceptable one, because that's the least disruptive change from the previous code and it avoids ugly "::127.0.0.1" strings. 2003-05-07 17:02 Martin Pool * src/srvnet.c: dcc_check_client: Update to be AF-indepedent. Does not do checks yet. 2003-05-07 16:58 Martin Pool * src/: netutil.c, netutil.h: dcc_sockaddr_to_hostname renamed to dcc_sockaddr_to_ip, which is more accurate. Add a non-getnameinfo() implementation. 2003-05-07 16:48 Martin Pool * Makefile.in, src/netutil.c, src/netutil.h: netutil.c, netutil.h: New files. * dcc_sockaddr_to_hostname: New function that hides inet_ntoa vs getnameinfo. 2003-05-07 16:38 Martin Pool * configure.ac: Check for sockaddr_storage.ss_family, since ss_len doesn't seem to exist in glibc. If we have it, define HAVE_SOCKADDR_STORAGE. 2003-05-07 16:24 Martin Pool * configure.ac: Check for inet_ntop and inet_ntoa 2003-05-07 16:18 Martin Pool * src/srvnet.c, NEWS: dcc_socket_listen: Dual implementations for getaddrinfo and old API. The new implementation specifies AI_PASSIVE if no --listen address is given, so it should be able to accept connections on all ports or protocols. 2003-05-07 16:06 Martin Pool * src/srvnet.c: dcc_listen_by_addr, dcc_socket_listen: Factor out the code that creates and listens on a socket from the code that works out the address to use, so that we can use getaddrinfo when available. Also, remove assumptions about socket addresses always being IPv4. 2003-05-07 16:04 Martin Pool * src/clinet.c: Doc. 2003-05-07 15:57 Martin Pool * doc/dietlibc-distcc.trace: strace using dietlibc, just for interest. 2003-05-07 15:56 Martin Pool * NEWS, src/clinet.c, src/clinet.h, src/distcc.c: Use getaddrinfo() if it's available for opening connections, to better handle multihomed servers and start supporting IPv6. 2003-05-07 15:26 Martin Pool * src/clinet.c: dcc_open_socket_out: Add a second definition of this function to be used on machines with getaddrinfo. 2003-05-07 15:25 Martin Pool * configure.ac: Check for getaddrinfo, getnameinfo, and struct sockaddr_storage. 2003-05-07 15:20 Martin Pool * src/clinet.c: dcc_open_socket_out: Check client name before creating a socket. (Not a big deal for now, but will be needed for AF-independence.) 2003-05-07 12:23 Martin Pool * NEWS: hostlist.c fix * snprintf.c fixes. 2003-05-07 12:21 Martin Pool * configure.ac: Add check from Samba for va_copy, which is needed for building our snprintf. 2003-05-07 12:21 Martin Pool * cases/.cvsignore: Ignore built programs. 2003-05-07 12:20 Martin Pool * TODO: [no log message] 2003-05-07 12:07 Martin Pool * src/snprintf.c: Update ifdefs to make sure that this file compiles to an (almost) empty object file on systems that already have all the functions we need. 2003-05-07 11:53 Martin Pool * src/hosts.c: dcc_parse_hosts_env: Remove obsolete function. 2003-05-07 11:52 Martin Pool * src/hosts.c: Trace messages when reading in host lists. 2003-05-07 11:50 Martin Pool * src/hostfile.c: Remove unnecessary recursion protection. * Trace message when reading a file. 2003-05-07 11:49 Martin Pool * src/loadfile.c: Fix silly pointer error when loading a host file. 2003-05-07 11:15 Martin Pool * src/snprintf.h: Fix all HAVE_DECL_ uses: these are defined to zero rather than left undefined by autoconf if the decl is missing. 2003-05-07 11:14 Martin Pool * src/snprintf.c: Merge from samba HEAD: * Fix floating point handling. * Make snprintf test work better. * If the system's vsnprintf is not C99 compliant, then we need to override both vsnprintf and snprintf to make sure the correct code is always called. Also: * Make sure LDOUBLE, VA_COPY, etc are defined even if the system already has some snprintf routines. * Always include snprintf.h, so that we get declarations for the functions in this file. 2003-05-07 10:27 Martin Pool * README.packaging: Note about using ./configure options to set directories, and DESTDIR. 2003-05-07 10:23 Martin Pool * linuxdoc/distcc.sgml: "for 2.2" 2003-05-07 10:23 Martin Pool * NEWS, linuxdoc/distcc.sgml: Document --listen, plus other cleanups. Patch from Frerich Raabe. 2003-05-07 10:13 Martin Pool * cases/lzotest.c: Hacky test to examine efficiency of minilzo. 2003-05-06 18:21 Martin Pool * TODO: Merge some stuff. 2003-05-06 18:18 Martin Pool * doc/scheduling.txt: Merge into TODO 2003-05-06 18:16 Martin Pool * doc/new-scheduler.txt: Merged into doc/results.txt 2003-05-06 18:16 Martin Pool * doc/results.txt: Move "new-scheduler.txt" results (from February) into the results.txt file. 2003-05-06 17:36 Martin Pool * doc/protocol-3.txt: Only a draft 2003-05-06 17:34 Martin Pool * doc/protocol-3.txt: Rephrase. * Don't compress 0-length data. * Insert COMP packets. * Questions about how to describe temporaries. 2003-05-06 17:11 Martin Pool * doc/protocol-3.txt: Describe input and output files. * Start updating request and response descriptions. 2003-05-06 16:54 Martin Pool * doc/protocol-3.txt: Describe handshaking on reused connections. * Describe compression. 2003-05-06 16:02 Martin Pool * doc/protocol-3.txt: More updates towards version 3 protocol. 2003-05-06 14:55 Martin Pool * TODO: [no log message] 2003-05-06 13:12 Martin Pool * src/dparent.c, src/ncpus.c, NEWS: Two Mac OS X fixes from Benjamin Reed: Use the BSD method to discover the number of CPUs, and include types.h where it is needed. 2003-05-05 22:42 Martin Pool * src/trace.h: Doc 2003-05-05 22:31 Martin Pool * src/HACKING: Just about everything in this file has been implemented! The ideas which are not done yet are now in TODO. We're almost a year old now. 2003-05-05 22:29 Martin Pool * src/rpc.c: Fix printf formatting error. 2003-05-05 18:46 Martin Pool * src/trace.h: Doc 2003-05-05 18:40 Martin Pool * src/distcc.h: Doc 2003-05-05 18:07 Martin Pool * TODO: Remove page marks 2003-05-05 18:01 Martin Pool * TODO: Notes on feeding from fifo. 2003-05-05 17:56 Martin Pool * TODO: Notes on streaming output 2003-05-05 17:49 Martin Pool * doc/protocol-3.txt: Start writing notes about a version 3 protocol. 2003-05-05 17:44 Martin Pool * NEWS: Better description of network error detection. 2003-05-05 17:36 Martin Pool * src/rpc.c: dcc_explain_mismatch: After a protocol problem, show up to 200 bytes of printable context. 2003-05-05 17:26 Martin Pool * NEWS, src/rpc.c: dcc_explain_mismatch: New function, to give more information in the case of a protocol mismatch. Most importantly, if an unexpected response is seen then we give a bit more text from the network in the hope that it will help diagnose the problem. 2003-05-05 16:58 Martin Pool * src/clirpc.c: Doc. 2003-05-05 16:54 Martin Pool * src/: clirpc.c, rpc.c: dcc_r_result_header, dcc_r_cc_status: These are client-specific, so move them to clirpc.c. 2003-05-05 16:53 Martin Pool * configure.ac: Bump version. 2003-05-05 16:28 Martin Pool * NEWS, configure.ac: Prepare for 2.2 release. 2003-05-05 16:27 Martin Pool * src/hosts.h: Remove CVS tag. 2003-05-05 16:23 Martin Pool * TODO: [no log message] 2003-05-05 16:21 Martin Pool * TODO: Add a basic --listen option, based on a patch by Neil Mansilla. 2003-05-05 16:17 Martin Pool * src/dopt.c, src/dopt.h, src/dparent.c, src/srvnet.c, src/srvnet.h, NEWS: Add a basic --listen option, based on a patch by Neil Mansilla. 2003-05-05 16:05 Martin Pool * patches/andresen-gcc-wrapper-r2.tbz2: Remove Gentoo-only patch. 2003-05-05 15:54 Martin Pool * TODO: Update TODO list. 2003-05-05 15:30 Martin Pool * src/distcc.c: (dcc_show_usage): Describe where the host list comes from -- this is important because it is a configurable option. Add documentation for SSH syntax. 2003-05-05 15:16 Martin Pool * test/testdistcc.py, NEWS: Test host file support. 2003-05-05 15:15 Martin Pool * NEWS: Note about support for host files. 2003-05-05 15:14 Martin Pool * Makefile.in: h_hosts: Now needs hostfile.o and io.o 2003-05-05 15:08 Martin Pool * src/: hosts.c, hosts.h, where.c: If DISTCC_HOSTS is not set, look in ~/.distcc/hosts, or otherwise /etc/distcc/hosts. 2003-05-05 15:03 Martin Pool * src/hostfile.c: Doc 2003-05-05 15:01 Martin Pool * cases/empty.s: Empty assembler file for testing. 2003-05-05 15:01 Martin Pool * Makefile.in: SYSCONFDIR must be quoted for C. 2003-05-05 14:37 Martin Pool * src/: hosts.c, hosts.h, util.c, util.h: (dcc_dup_part): Move to util.c. 2003-05-05 14:35 Martin Pool * TODO: Build .debs or .rpms? 2003-05-05 14:24 Martin Pool * TODO: Build .debs or .rpms? 2003-05-05 14:19 Martin Pool * src/hostfile.c: (dcc_parse_hosts_file): New function. 2003-05-05 12:59 Martin Pool * Makefile.in, src/hostfile.c: New file: src/hostfile.c * where.o and hosts.o don't need to be linked into the server, only the client. 2003-05-05 12:56 Martin Pool * Makefile.in: (SRC): Sort. 2003-05-05 12:53 Martin Pool * src/loadfile.c: dcc_load_file: Move everything back into a single function. Actually allocate a buffer and read into it. 2003-05-04 23:17 Martin Pool * src/loadfile.c: dcc_load_file: Split into a second function to ease error checking. * dcc_load_fd: New function. Allocate a memory buffer for the file after discovering its size. 2003-05-04 23:13 Martin Pool * src/loadfile.c: dcc_load_file: Check size of file and complain about those that are too large. 2003-05-04 23:06 Martin Pool * Makefile.in, src/exitcode.h, src/io.h, src/loadfile.c: Start adding code to load a whole file in to memory, so that we can read hosts from a file. 2003-05-04 23:00 Martin Pool * patches/hosts-from-file-raabe.diff: Old patch from Frerich to read hosts from a file. 2003-05-04 22:48 Martin Pool * src/: arg.c, bulk.c, clinet.c, dopt.c, exec.c, filename.c, h_argvtostr.c, h_exten.c, h_hosts.c, h_issource.c, h_scanargs.c, h_strip.c, help.c, hosts.c, lock.c, rpc.c, sendfile.c, serve.c, srvnet.c, tempfile.c, trace.c, util.c, where.c, zip.c: Remove all dependencies on assert.h. Most of them were not used, and the rest are better written using our standard error handling library. 2003-05-04 22:43 Martin Pool * configure.ac: More spacing in output. 2003-05-04 22:42 Martin Pool * Makefile.in: Start adding support for a host list file: define SYSCONFDIR, and show it when displaying paths. 2003-05-04 22:31 Martin Pool * configure.ac: Bump version to 2.2cvs 2003-05-04 22:29 Martin Pool * TODO: Notes about compression and reading hosts from a file. 2003-05-04 21:38 Martin Pool * doc/protocol-1.txt: Suggestions from Brad Hards: * Correction about SOUT. * Explain a bit more about waitstatus. 2003-05-04 17:24 Martin Pool * NEWS, linuxdoc/distcc.sgml: Add documentation for --allow and --user, by Frerich Raabe. 2003-05-04 12:01 Martin Pool * TODO: Update todo list. 2003-05-04 11:21 Martin Pool * NEWS, news.el: Roll over NEWS for new release. * Move news.el into mode variables at the bottom of the NEWS file. 2003-05-03 23:57 Martin Pool * NEWS, configure.ac: Prepare for 2.1 release. 2003-05-03 17:56 Martin Pool * doc/protocol-1.txt: Ask for questions. * Describe all the packets in the request and the response. 2003-05-03 13:39 Martin Pool * TODO: Note about preprocessing remotely. 2003-05-03 12:05 Martin Pool * TODO: Note about never running locally. 2003-04-30 12:17 Martin Pool * TODO: Link to API for async name lookups. 2003-04-27 00:18 Martin Pool * doc/protocol-1.txt: Add some documentation of the protocol in the current version. Pretty good but does not cover the complete sequence yet. 2003-04-19 23:08 Martin Pool * NEWS: Test harnesses may need snprintf.o linked in as well. Reported by Joe Meslovich as broken on Solaris. 2003-04-19 21:55 Martin Pool * Makefile.in: Test harnesses may need snprintf.o linked in as well. Reported by Joe Meslovich as broken on Solaris. 2003-04-17 12:26 Martin Pool * doc/release-names.txt: [no log message] 2003-04-14 13:05 Martin Pool * TODO: [no log message] 2003-04-14 13:02 Martin Pool * TODO: [no log message] 2003-04-13 19:00 Martin Pool * TODO: Notes from UML. 2003-04-13 17:35 Martin Pool * TODO: Note about setting listen address. 2003-04-13 17:18 Martin Pool * TODO: Notes about DISTCC_HOSTS syntax. 2003-04-10 16:42 Martin Pool * src/help.c: Add quote. 2003-04-08 16:23 Martin Pool * TODO: [no log message] 2003-04-08 13:58 Martin Pool * patches/n_cpus.txt: n_cpus.txt Remove merged code 2003-04-04 17:39 Martin Pool * patches/: distcc-path.patch, distccd-path.patch: distcc-path.patch distccd-path.patch Delete merged patches 2003-04-04 17:38 Martin Pool * TODO: [no log message] 2003-04-04 17:32 Martin Pool * TODO: [no log message] 2003-04-04 17:28 Martin Pool * src/io.c: tcp_cork_sock: Don't complain about ENOTSUPP when uncorking. 2003-04-04 17:24 Martin Pool * src/: rpc.c, io.h: dcc_read_int: Remove dead function. 2003-04-04 17:20 Martin Pool * src/: io.c: Doc. 2003-04-04 17:19 Martin Pool * src/io.c: dcc_pump_readwrite: Increase transfer buffer to 256kB, and move it off the stack. 2003-04-04 17:16 Martin Pool * src/io.c: dcc_pump_readwrite: Doc. 2003-04-04 17:12 Martin Pool * src/io.c, NEWS: dcc_pump_readwrite: Should print an error on unexpected end of input, rather than treating it as success. Why did I do that? 2003-04-04 17:11 Martin Pool * NEWS: Note about nonblocking support. 2003-04-04 16:59 Martin Pool * src/io.c: dcc_pump_readwrite: Only select on file descriptors after we get EAGAIN. * dcc_readx, dcc_writex: Clarify. 2003-04-04 15:54 Martin Pool * linuxdoc/distcc.sgml: Patch from Wayne Davison to document DISTCCD_PATH. 2003-04-04 15:51 Martin Pool * cases/hello.m: Example ObjC program from Dara Hazeghi 2003-04-04 12:19 Martin Pool * TODO: [no log message] 2003-04-04 12:06 Martin Pool * src/util.c: dcc_abspath: Memory overflow ought to be fatal. 2003-04-04 12:00 Martin Pool * NEWS, src/climasq.c, src/daemon.c, src/distcc.c, src/util.c, src/util.h: Merged patch from Wayne Davison: Try to prevent distcc from invoking itself recursively either on the server, or as cc -E on the client. * dcc_trim_path: New code to remove from the PATH any directories that contain "cc" as a link to something that looks like ccache or distcc. * climasq.c: Munge path as appropriate. * daemon.c/main: Use DISTCCD_PATH if set, otherwise trim path. * distcc.c/main: Trim path. 2003-04-04 11:45 Martin Pool * src/daemon.c: Factor out code for checking whether to be inetd. 2003-04-04 10:41 Martin Pool * README.packaging: Note about ssh and path to distccd * Note about --allow * Note about distcc user * Prefer --daemon 2003-04-04 10:33 Martin Pool * TODO: [no log message] 2003-04-04 10:32 Martin Pool * NEWS: Change behaviour of distccd for log messages encountered during startup, before options are parsed. These are now written to stderr only if that is a tty, and otherwise to syslog. This is intended to prevent log messages from distccd getting mixed into the network protocol when it is run from inetd. 2003-04-04 10:21 Martin Pool * test/testdistcc.py: NoDetachDaemon_Case: Specify --daemon to suppress diagnostic message. 2003-04-04 10:19 Martin Pool * src/daemon.c: dcc_setup_startup_log: Split out code for sending startup messages to either stderr or syslog. * distccd/main: refactor code for deciding whether to be inetd or standalone. * dcc_setup_real_log: Rename function for setting final log destination. * Doc. 2003-04-04 10:04 Martin Pool * src/daemon.c: Change behaviour of distccd for log messages encountered during startup, before options are parsed. These are now written to stderr only if that is a tty, and otherwise to syslog. This is intended to prevent log messages from distccd getting mixed into the network protocol when it is run from inetd. 2003-04-04 10:01 Martin Pool * src/: distcc.c, distcc.h, help.c: Show version in log at client startup. 2003-04-04 09:43 Martin Pool * patches/distcc-path.patch: Patch from Wayne to clean path of masquerade links. 2003-04-03 16:21 Martin Pool * NEWS: Note rusage format fix. 2003-04-03 14:39 Martin Pool * TODO: [no log message] 2003-04-03 14:37 Martin Pool * test/comfychair.py: Better log message. 2003-04-03 14:29 Martin Pool * src/distcc.c: Factor out code to find basename from argv. 2003-04-03 10:23 Martin Pool * src/: distcc.h, serve.c: Patch from Wayne Davison: * Removed prototype for dcc_trace_argv() (since it's a define now). * Use "else while(0)" instead of "else {}" so that using the dcc_trace_argv() define doesn't result in two C statements. * Return the "ret" value in dcc_r_request_header() when it's non-0. 2003-04-02 17:26 Martin Pool * src/util.c: dcc_exit: Remove silly printf bug that made all rusage messages inaccurate. 2003-04-02 17:16 Martin Pool * patches/: distcc-hostopt.patch, distccd-path.patch, distccd-version.patch: Patches from Wayne 2003-04-02 17:12 Martin Pool * TODO: More protocol wonderings. 2003-04-02 16:43 Martin Pool * test/testdistcc.py: Update todos. 2003-04-02 16:37 Martin Pool * src/: arg.c, distcc.h: dcc_trace_argv: Convert to a macro so that it shows the right function name in trace messages. 2003-04-02 16:33 Martin Pool * src/: io.c: dcc_readx, dcc_writex: Only select() on the fd after we've got EAGAIN. It might not be necessary in many cases. 2003-04-02 16:30 Martin Pool * src/sendfile.c: dcc_pump_sendfile: Check for select() failure. 2003-04-02 16:27 Martin Pool * src/io.c: Doc 2003-04-02 15:25 Martin Pool * src/: climasq.c, distcc.c, distcc.h: Make dcc_support_masquerade() return standard error codes. 2003-04-02 15:16 Martin Pool * src/: util.c, arg.c: Remove incorrect EXIT_FAULURE 2003-04-02 15:10 Martin Pool * Makefile.in, src/climasq.c, src/distcc.c, src/distcc.h: Split masquerade support into climasq.c 2003-04-02 15:10 Martin Pool * src/safeguard.c: Doc 2003-04-02 15:05 Martin Pool * src/distcc.c: Doc 2003-04-02 14:57 Martin Pool * src/serve.c: Remove one more old "-1" error code. Patch from Wayne Davison. 2003-04-02 14:54 Martin Pool * src/distcc.c: Doc 2003-04-02 14:49 Martin Pool * src/: io.c, rpc.c: Move rpc-specific functions from io.c into rpc.c. 2003-04-02 14:46 Martin Pool * src/dopt.c: Make --no-fork undocumented. 2003-04-02 14:43 Martin Pool * src/sendfile.c: dcc_pump_sendfile: Only select() on the output socket after sendfile has failed with EAGAIN. Otherwise we can miss the case where the remote host has closed the connection on us, as can happen if we connect contrary to --allow. 2003-04-02 14:42 Martin Pool * src/io.c: Trace message when select()ing 2003-04-02 14:41 Martin Pool * src/distcc.h, src/exec.c, src/exec.h, src/safeguard.c, Makefile.in: Split safeguard functions out into their own file. 2003-04-02 12:39 Martin Pool * doc/results.txt: SSH results. 2003-04-02 12:27 Martin Pool * NEWS: Note removal of "return -1". 2003-04-02 11:55 Martin Pool * NEWS: Update SSH news. 2003-04-02 11:00 Martin Pool * TODO: Notes on DISTCC_SSH. 2003-04-02 10:58 Martin Pool * src/ssh.c: Doc 2003-04-02 10:46 Martin Pool * TODO: Note about documenting SSH. 2003-04-01 13:59 Martin Pool * Makefile.in: Split binary downloads onto their own page. 2003-03-31 23:16 Martin Pool * src/bulk.c: Show more precision when printing transfer rates. 2003-03-31 18:48 Martin Pool * src/sendfile.c: Check network is ready to write before attempting sendfile. 2003-03-31 18:47 Martin Pool * src/: io.h, io.c: Export select_for_* 2003-03-31 18:46 Martin Pool * src/io.c: Before reading or writing a socket, select() on it to make sure it's available. Makes things work when our network socket is really a nonblocking connection to ssh. 2003-03-31 18:43 Martin Pool * src/ssh.c: Don't send server log to stderr by default. 2003-03-31 18:36 Martin Pool * src/serve.c: Doc. 2003-03-31 18:36 Martin Pool * src/io.c: dcc_readx: Handle reading from nonblocking socketpairs/pipes. 2003-03-31 18:34 Martin Pool * src/ssh.c: Use nonblocking pipes to ssh. * Add --log-stderr when invoking the remote daemon. 2003-03-31 18:30 Martin Pool * src/bulk.c: Doc. 2003-03-31 18:18 Martin Pool * configure.ac: Bump version 2003-03-31 18:17 Martin Pool * src/distcc.c: For ssh support, we need to allow for separate fds writing to and reading from the network, because our connection to the ssh client may be over pipes, which are one-way connections. Therefore split them out into separate fds in the code. 2003-03-31 18:14 Martin Pool * NEWS: Preliminary support for ssh. 2003-03-31 18:08 Martin Pool * src/ssh.c: Make the dcc end of the socketpairs/pipes talking to ssh be blocking, even if ssh needs blocking ones. Does this work? 2003-03-31 18:02 Martin Pool * src/io.c: dcc_readx: Stub handler for EAGAIN. 2003-03-31 18:00 Martin Pool * src/io.c: Reindent only. 2003-03-31 17:55 Martin Pool * test/testdistcc.py: Fix silly Python bug. 2003-03-31 17:49 Martin Pool * test/testdistcc.py: Giving a bogus port number now gives you EXIT_BAD_ARGUMENTS. 2003-03-31 17:48 Martin Pool * src/: dparent.c, srvnet.c, srvnet.h: open_socket_in: Rename to conventional name 'dcc_socket_listen', and return an exit code. 2003-03-31 17:44 Martin Pool * test/testdistcc.py: Allow default daemon lifetime of 60s, and 300s for BigAssFile. 2003-03-31 17:42 Martin Pool * patches/.cvsignore: Ignore built test programs. 2003-03-31 17:42 Martin Pool * src/: arg.c, bulk.c, clirpc.c, distcc.c, dparent.c, exec.c, filename.c, hosts.c, io.c, sendfile.c, serve.c, srvnet.c, tempfile.c, util.c: Get medieval on "return -1" in old code. Everything ought to return a standard error code now. 2003-03-31 17:30 Martin Pool * src/distcc.c: Doc 2003-03-31 17:22 Martin Pool * src/distcc.c, NEWS: Add DISTCC_FALLBACK environment variable. If set to 0, means that failure to distribute will be considered an overall failure. By default, a networking error means that compilation will be retried locally. 2003-03-31 17:11 Martin Pool * src/io.c, NEWS: Better error handling when corks are not supported on a particular system or socket. 2003-03-31 17:08 Martin Pool * test/testdistcc.py: Revert r1.129: sending logs to stderr doesn't work very well. The daemon can get sigpipe while writing them and similar problems. 2003-03-31 17:02 Martin Pool * test/testdistcc.py, NEWS: Test invalid --allow masks. 2003-03-31 17:00 Martin Pool * src/: distcc.h, ssh.c: dcc_ssh_connect: Fix const-ness of strings. 2003-03-31 17:00 Martin Pool * src/distcc.c: First cut of support for distcc-over-ssh. * dcc_compile_remote: For ssh-mode connections, try to open up using dcc_ssh_connect. 2003-03-31 16:59 Martin Pool * src/arg.c: Undo constness of argv[] arguments, it just doesn't work well in gcc. 2003-03-31 16:55 Martin Pool * src/: distcc.h, ssh.c: Undo constness of argv[] arguments, it just doesn't work well in gcc. 2003-03-31 16:54 Martin Pool * TODO: More notes on new scheduler. 2003-03-31 16:54 Martin Pool * doc/release-names.txt: [no log message] 2003-03-31 16:45 Martin Pool * src/distcc.h: dcc_trace_argv: Fix constness of parameter. * dcc_ssh_connect: Export prototype. 2003-03-31 16:44 Martin Pool * src/arg.c: dcc_trace_argv: Fix constness of parameter. 2003-03-31 16:39 Martin Pool * Makefile.in: Include ssh.o in client build. 2003-03-31 16:38 Martin Pool * src/ssh.c: dcc_ssh_connect: If no username is specified, don't pass the -l option. If no machine is specified, abort. If no path is given, just use "distccd". 2003-03-31 16:33 Martin Pool * src/ssh.c: Remove blocking_io support; it shouldn't be needed if we're only using ssh not rsh. * Update to build cleanly in this tree. * dcc_run_piped_cmd: Make sure pipes are always closed because the program will not necessarily abort if we fail to connect and we don't want to leak file descriptors. * dcc_ssh_connect: Build connection command in argv[] not a string, so that we can avoid invoking a shell. 2003-03-31 16:02 Martin Pool * TODO: Many more notes about single-queue multi-server scheduler. 2003-03-31 15:59 Martin Pool * src/serve.c: Remove dead code. 2003-03-31 15:37 Martin Pool * patches/backlog-sample.c: Sample that tries to use TCP connection backlogs to give the client some information about whether the server is busy. Doesn't seem to work very well. 2003-03-31 14:59 Martin Pool * TODO: Update 2003-03-31 14:54 Martin Pool * test/testdistcc.py: Doc. 2003-03-31 14:53 Martin Pool * test/testdistcc.py: Add new case exercising dcc_check_address and h_parsemask. 2003-03-31 14:48 Martin Pool * src/access.c: Doc 2003-03-31 14:34 Martin Pool * test/testdistcc.py: NoDetachDaemon_Case: prevent logs from background process getting into build process's stderr. 2003-03-31 14:28 Martin Pool * src/dsignal.c, NEWS: dcc_parent_terminate: No need to explicitly remove pid file; it will be cleaned up in atexit(). 2003-03-31 14:25 Martin Pool * test/testdistcc.py: Allow log output from the server into stderr so that it can be presented if a test case fails. 2003-03-31 14:22 Martin Pool * NEWS, test/testdistcc.py: Add test that --allow does in fact deny connections as it should. 2003-03-31 14:14 Martin Pool * TODO, doc/ssh-notes.txt, doc/to-test.txt: Move notes on future design options into ./TODO. 2003-03-31 14:14 Martin Pool * doc/lock-deadlock.txt: Remove old bug report. 2003-03-31 14:10 Martin Pool * test/testdistcc.py: Remove done TODOs 2003-03-31 14:09 Martin Pool * patches/prefork-sample.c: Doc 2003-03-29 11:06 Martin Pool * NEWS: Retrospective release name. 2003-03-28 18:57 Martin Pool * TODO: Notes about preforking. 2003-03-28 18:43 Martin Pool * patches/prefork-sample.c: Experimental code to see if we can just have every preforked child accept() on the socket 2003-03-28 18:20 Martin Pool * doc/interceptor.txt: interceptor.txt Remove old file 2003-03-28 18:12 Martin Pool * configure.ac, NEWS: Prepare for 2.0.1 release. 2003-03-28 18:12 Martin Pool * Makefile.in: Dereference symbolic files when producing tarball. 2003-03-28 17:33 Martin Pool * linuxdoc/distcc.sgml: Masquerade came out in 2.0, not 1.3. 2003-03-28 16:47 Martin Pool * doc/release-names.txt: [no log message] 2003-03-28 16:17 Martin Pool * linuxdoc/distcc.sgml: Get ready for 2.0 release. 2003-03-28 16:13 Martin Pool * NEWS, configure.ac: Get ready for 2.0 release. 2003-03-28 16:11 Martin Pool * Makefile.in: Remove old doc/ files from the distribution. 2003-03-28 16:02 Martin Pool * src/distcc.c: Remove "HOST/MAX:PORT" syntax from --help. I don't want to make this fully "public" yet because I'm not sure this is the ideal way to set this value in the future. 2003-03-28 15:58 Martin Pool * NEWS, test/testdistcc.py: Test DISTCC_LOG being set to an unwriteable file. 2003-03-28 15:55 Martin Pool * NEWS: Test suite now works with Python 1.5 or later. 2003-03-28 15:53 Martin Pool * test/comfychair.py: Remove dependency on os.spawnvp, which is not in Python1.5 2003-03-28 15:52 Martin Pool * test/testdistcc.py: NoHosts_Case: Python 1.5 can't delete environment variables, so just set them to empty. 2003-03-28 15:50 Martin Pool * src/distcc.c, NEWS: If the file specified by DISTCC_LOG can't be opened, then show an error and use stderr. Previously all errors were just lost. 2003-03-28 15:45 Martin Pool * src/distcc.c, NEWS: If DISTCC_LOG is an empty string, treat as undefined. 2003-03-28 15:42 Martin Pool * test/testdistcc.py: runcmd_background now takes a string, not a sequence. * Python1.5 doesn't have ''.split. 2003-03-28 15:27 Martin Pool * test/: comfychair.py, testdistcc.py: Remove dependency on popen4, which is not present in Python 1.5. * runcmd and related functions now return stdout and stderr messages separately. Many tests must be updated to allow for this. * Refactor some tests towards a flatter hierarchy. * Assert that the compiler should not normally produce errors or other messages. 2003-03-28 13:58 Martin Pool * test/comfychair.py: Remove list comprehension, which is not available in Python 1.5. 2003-03-28 13:54 Martin Pool * TODO: Note on static linking. 2003-03-28 13:51 Martin Pool * test/testdistcc.py, NEWS: On BSD, 'true' and 'false' are in /usr/bin (?) not /bin. 2003-03-28 13:44 Martin Pool * NEWS: Notes on test improvments. 2003-03-28 13:40 Martin Pool * Makefile.in: Makefile (check, installcheck): If Python is not found then just print "tests skipped" rather than failing. This should make the results on the build farm a bit more clear. 2003-03-28 13:37 Martin Pool * configure.ac: If Python is not found in the path, then just leave $(PYTHON) blank rather than setting it to 'false'. 2003-03-28 11:59 Martin Pool * Makefile.in: Remove redundant setting of $(LIBS): autoconf puts -lpopt in there if it's needed. 2003-03-28 11:57 Martin Pool * configure.ac: (Hopefully) better check for socket() and gethostbyname() that will avoid unnecessarily linking libnsl on Linux. Taken from Samba, which got it from CVS. 2003-03-27 19:16 Martin Pool * TODO: Note on DNS timeouts. 2003-03-27 15:58 Martin Pool * src/rpc.h: dcc_x_token_int: Token parameters are unsigned. 2003-03-27 15:54 Martin Pool * NEWS: [no log message] 2003-03-27 15:45 Martin Pool * src/rpc.c: dcc_x_token_int: Remove call to snprintf to format outgoing packets. It really sticks out in valgrind and this is a reasonably common function. 2003-03-27 15:33 Martin Pool * src/: io.c, io.h: dcc_write_int: Remove dead function. 2003-03-27 15:31 Martin Pool * src/: io.h, io.c: dcc_write_str: Remove dead function. 2003-03-27 15:29 Martin Pool * src/clirpc.c: dcc_x_argv: Avoid redundant strlen() computation. 2003-03-27 15:08 Martin Pool * src/arg.c, src/distcc.h, src/exec.c, src/serve.c, src/ssh.c, src/strip.c, NEWS: Factor out code for tracing argv[] arrays. By avoiding conversion unless it is actually going to be logged we save a few cycles. This also addresses some cases where the printable form was not freed after creation, although that shouldn't ever matter much in such a short-lived program. 2003-03-27 11:39 Martin Pool * Makefile.in: Allow for implementations of 'install' that can only process one file at a time. GNU's 'install-sh' is one such. 2003-03-27 11:08 Martin Pool * NEWS: Don't install linuxdoc-info by default, either from CVS or distributions. 2003-03-27 10:37 Martin Pool * Makefile.in: Don't install linuxdoc-info by default, either from CVS or distributions. 2003-03-27 10:30 Martin Pool * Makefile.in: Remove overall 'upload' target: we don't want to upload the manual when the web site is uploaded. 2003-03-26 23:36 Martin Pool * linuxdoc/distcc.sgml: Manual is for 1.3cvs. 2003-03-23 12:18 Martin Pool * Makefile.in: Don't ship unmerged patches in the tarball. 2003-03-23 12:17 Martin Pool * patches/resolver-timeout.diff: resolver-timeout.diff Resolver timeout draft patch from Jonas Jensen 2003-03-22 09:44 Martin Pool * patches/connect-timeout.diff: Remove old draft patch. 2003-03-21 19:02 Martin Pool * test/testdistcc.py: Get rid of Python 2 ism. 2003-03-21 18:59 Martin Pool * src/ncpus.c: Try looking for the predefined "__hpux" or "__hpux__" not "hpux". 2003-03-21 18:47 Martin Pool * NEWS, test/testdistcc.py: Use randomly chosen TCP port for the server when running tests. 2003-03-21 18:46 Martin Pool * NEWS: Use --allow=127.0.0.1 when starting daemon 2003-03-21 18:41 Martin Pool * test/testdistcc.py: Use --allow=127.0.0.1 when starting daemon * killDaemon: if the daemon has already exited, perhaps because of an alarmclock, and removed it's pid file, then don't worry about killing it. 2003-03-21 18:32 Martin Pool * test/testdistcc.py: SimpleDistCC_Case.__init__: remove redundant code: logging has moved into comfychair.TestCase. * SimpleDistCC_Case: Allow subclasses to change lifetime of daemon or command used to start it. * By default daemon only lives 10s. For ThousandFold_Case and Concurrent_Case it needs to live up to 2 minutes. 2003-03-21 18:24 Martin Pool * test/testdistcc.py: NoDetachDaemon_Case: Shouldn't need --lifetime for this test. 2003-03-21 18:21 Martin Pool * test/testdistcc.py, NEWS: Specify limited lifetime when running daemon, so that if it is not cleaned up by the tests it will go away after a little while anyhow. 2003-03-21 18:18 Martin Pool * NEWS, configure.ac, src/dsignal.c: If we have strsignal(), then log the signal name rather than number when terminating. 2003-03-21 18:12 Martin Pool * src/dsignal.c: Also print a message when terminating on SIGALRM. 2003-03-21 18:11 Martin Pool * Makefile.in, src/distcc.h, src/dparent.c, src/dsignal.c: Split signal-handling code into new file dsignal.c 2003-03-21 17:56 Martin Pool * src/: daemon.c, distcc.h, dparent.c: Make sure lifetime limit applies even when the daemon detaches: after forking to dissociate from the session, reset the alarm clock. 2003-03-21 17:25 Martin Pool * test/testdistcc.py: NoHosts_Case: Cleanup to get it working with the new framework. 2003-03-21 16:27 Martin Pool * test/testdistcc.py: NoHosts_Case: Better log message. 2003-03-21 16:24 Martin Pool * test/testdistcc.py: NoDetachDaemon_Case: Make sure daemon is killed off. 2003-03-21 16:21 Martin Pool * test/comfychair.py: Update from Subversion 2003-03-21 16:21 Martin Pool * test/testdistcc.py: Move code for entering rundir into comfychair. * Change killing of daemon to be a cleanup rather than part of teardown. 2003-03-21 14:00 Martin Pool * src/: daemon.c, dopt.c, dparent.c, serve.c: Rename opt.h to dopt.h, to be consistent with dopt.c. 2003-03-21 13:59 Martin Pool * TODO: CCACHE_ERR_FD 2003-03-21 13:56 Martin Pool * Makefile.in: Remove "=distcheck" directory on successful completion. 2003-03-21 13:55 Martin Pool * Makefile.in: Include types.h in distribution. 2003-03-21 13:54 Martin Pool * Makefile.in, src/dopt.h, src/opt.h: Rename opt.h to dopt.h, to be consistent with dopt.c. 2003-03-21 13:46 Martin Pool * NEWS, src/daemon.c, src/dopt.c, src/opt.h: * Add new undocumented (heh) "--lifetime" option that causes the daemon to expire after a certain period. 2003-03-21 13:44 Martin Pool * test/comfychair.py: Doc. 2003-03-21 12:58 Martin Pool * src/sendfile.c: printf type correctness. 2003-03-21 12:51 Martin Pool * TODO: [no log message] 2003-03-21 12:34 Martin Pool * NEWS: types.h: New file, to give typedefs for missing systems types. Include this in files that need it. Move typedefs from random source files into here. * Add in_addr_t, which is int by default. 2003-03-21 12:34 Martin Pool * src/types.h: in_addr_t should perhaps be ulong by default. 2003-03-21 12:31 Martin Pool * src/: access.c, clinet.c, dopt.c, h_parsemask.c, srvnet.c, types.h: types.h: New file, to give typedefs for missing systems types. Include this in files that need it. Move typedefs from random source files into here. * Add in_addr_t, which is int by default. 2003-03-21 12:21 Martin Pool * configure.ac: Check for existence of sys/socket.h * Check for in_addr_t 2003-03-21 12:20 Martin Pool * src/srvnet.c: If socklen_t is missing, make it a size_t. 2003-03-21 12:14 Martin Pool * src/snprintf.h, NEWS: Fix incorrect config macro names: should be HAVE_DECL_ASPRINTF not HAVE_ASPRINTF_DECL. Fixes declaration warnings on Solaris. 2003-03-21 12:02 Martin Pool * NEWS: Should build on IRIX. 2003-03-21 11:58 Martin Pool * NEWS: Don't include Info file in the distribution. It's a bit redundant to ship the documentation in three forms (SGML, HTML, Info), and people can build it or download it if they want to. * Don't rebuild all Linuxdoc files for distribution, only the ones which need to be included. 2003-03-21 11:54 Martin Pool * Makefile.in: Don't include Info file in the distribution. It's a bit redundant to ship the documentation in three forms (SGML, HTML, Info), and people can build it or download it if they want to. * Don't rebuild all Linuxdoc files for distribution, only the ones which need to be included. 2003-03-19 09:34 Martin Pool * configure.ac: Change check for in_port_t, which exists on Solaris, but which isn't found in just sys/types.h and netinet/in.h. 2003-03-19 09:28 Martin Pool * src/ncpus.c: Try to fix BSD dcc_ncpus(). 2003-03-18 21:18 Martin Pool * src/ssh.c: piped_child: Update to take an argv[] array rather than a simple command so that we can avoid running a shell. 2003-03-18 18:15 Martin Pool * configure.ac: Check whether the C compiler supports inlining, etc. Needed for popt. 2003-03-18 17:47 Martin Pool * src/tempfile.c: Cast to int when calling printf. 2003-03-18 17:46 Martin Pool * src/snprintf.h: Add conditional declaration of vsnprintf. 2003-03-18 17:45 Martin Pool * src/ncpus.c: Add FreeBSD/OpenBSD/NetBSD implementation. 2003-03-18 17:36 Martin Pool * src/ncpus.c: Fix includes. 2003-03-18 17:35 Martin Pool * src/ncpus.c: Add a separate definition of dcc_ncpus for HP-UX (not tested), and URLs describing this. 2003-03-18 17:27 Martin Pool * src/ncpus.c, NEWS: Add credit to Dimitri PAPADOPOULOS-ORFANOS for reporting how to do this on various systems. 2003-03-18 17:25 Martin Pool * src/ncpus.c: Check for definition of _SC_NPROCESSORS_ONLN (linux), and _SC_NPROC_ONLN (Irix), and call the appropriate sysconf. 2003-03-18 17:21 Martin Pool * src/ncpus.c: Include prototypes for this file. 2003-03-18 17:20 Martin Pool * NEWS: Clean up some warnings on IRIX. 2003-03-18 17:20 Martin Pool * src/ncpu.c, src/ncpus.c, Makefile.in: Rename ncpu.c to ncpus.c to be consistent with the function name. 2003-03-18 17:18 Martin Pool * src/tempfile.c: Cast mode_t to int when passing to printf. 2003-03-18 17:17 Martin Pool * src/: rpc.c, tempfile.c: Include snprintf.h for systems that don't have these functions. 2003-03-18 17:15 Martin Pool * src/: exec.c: Cast pid_t to long when passing to printf. 2003-03-18 17:13 Martin Pool * src/trace.c: Update copyright. * Remove done TODOs. * Include snprintf.h to quieten warning on machines that don't have vsnprintf, such as IRIX. 2003-03-18 17:11 Martin Pool * NEWS, src/dparent.c: Print number of online CPUs when daemon starts up. 2003-03-18 17:09 Martin Pool * src/distcc.h: Add prototype for dcc_ncpus. 2003-03-18 17:04 Martin Pool * Makefile.in, src/ncpu.c: Add basic code to detect the number of online processors, at least on Linux. 2003-03-18 16:56 Martin Pool * NEWS: Reorder news items. 2003-03-18 15:21 Martin Pool * TODO: Add note to try out masquerade with make-kpkg. 2003-03-18 14:27 Martin Pool * patches/daemon-address-binding.diff: Patch from Neil Mansilla: * Add --address option to daemon, to make it bind only a particular address. I don't know if this is bloat (should be done through inetd?) or a good idea. Therefore not merged yet. 2003-03-18 14:24 Martin Pool * test/comfychair.py: Decode waitstatus values when a command fails. 2003-03-17 22:25 Martin Pool * doc/release-names.txt: [no log message] 2003-03-14 15:49 Martin Pool * TODO: Update status: * Kernel 2.5 bug * SQMS scheduler * --allow is done * Distributed caching 2003-03-13 17:33 Martin Pool * NEWS: Note that SIGTERM handling race for server is now fixed. 2003-03-13 17:31 Martin Pool * test/comfychair.py: Merge from svn r30 2003-03-13 17:29 Martin Pool * patches/distccd-clean-path.diff: Draft patch from Wayne Davison to try to keep masquerade connections off the server's $PATH. 2003-03-13 17:28 Martin Pool * patches/: compression.patch, swhite-lzo-compress.diff: Updated draft patch from Stephen White to do LZO compression. 2003-03-13 17:27 Martin Pool * patches/distcc-ethereal.diff: Draft patch to Ethereal to decode/dissect distcc connections. 2003-03-12 19:08 Martin Pool * src/dparent.c: Fix small signal handling race that would occasionally cause distccd not to exit when signalled. Pointed out by Vance Lankhaar, solution advice from Andrew Tridgell. The problem was that a signal could arrive after we checked the global indicator, but before entering accept(). So the daemon would need to wait for the accept to complete before it could respond to the signal. Since the daemon only needs to do very simple cleanup, we now simply do it in line in the signal handler and never return. 2003-03-12 18:56 Martin Pool * src/dparent.c: FIXME about bug reported by Vance: the daemon sometimes doesn't exit on receipt of SIGTERM, which makes the test suite hang. 2003-03-12 17:12 Martin Pool * test/testdistcc.py: assert_regexp renamed to assert_re_search 2003-03-12 17:09 Martin Pool * test/testdistcc.py: Fix incorrect regexp assertion 2003-03-12 16:51 Martin Pool * test/testdistcc.py: explainFailure, fail, assertEquals, assertNotEqual, assertReMatch: these are now present in ComfyChair and don't need to be in this file. 2003-03-12 16:40 Martin Pool * test/comfychair.py: Update from Subversion r24: ------------------------------------------------------------------------ rev 24: mbp | 2003-03-12 16:32:53 +1100 (Wed, 12 Mar 2003) | 4 lines * Fix calls to explain_failure() * comfychair.main: If test names are specified, run them. ------------------------------------------------------------------------ rev 23: mbp | 2003-03-12 16:28:29 +1100 (Wed, 12 Mar 2003) | 2 lines * Fix --help message. 2003-03-12 16:37 Martin Pool * NEWS: Many internal updates to ComfyChair framework. 2003-03-12 16:11 Martin Pool * test/testdistcc.py: Change to using new ComfyChair.main() method, rather than implementing it by hand. 2003-03-12 15:43 Martin Pool * test/comfychair.py: Import updated ComfyChair from Subversion: renamed methods, new main() method, etc. 2003-03-12 15:42 Martin Pool * test/testdistcc.py: SimpleDistCC_Case.__init__ needs to call the base constructor method. * Update for renamed methods in latest ComfyChair. 2003-03-11 17:42 Martin Pool * doc/release-names.txt: [no log message] 2003-03-10 15:34 Martin Pool * src/util.c: IRIX might need sys/time.h before sys/resource.h 2003-03-10 15:13 Martin Pool * src/util.c: Check for sys/resource.h 2003-03-10 15:10 Martin Pool * configure.ac: Check for sys/resource.h 2003-03-10 15:08 Martin Pool * configure.ac: Check for getrusage. 2003-03-10 14:12 Martin Pool * NEWS: Give credit for masquerade mode. 2003-03-10 13:46 Martin Pool * configure.ac: Test for getwd and getcwd 2003-03-10 10:58 Martin Pool * Makefile.in: Remove ssh.o from client for the time being. 2003-03-10 10:16 Martin Pool * patches/: distcc-1.2.1-masquerade.patch, masquerade.patch: Remove merged 'masquerade' patch. 2003-03-10 10:07 Martin Pool * src/io.c: sendfile.h no longer needed here. Thanks to Wayne Davison. 2003-03-09 20:28 Martin Pool * linuxdoc/distcc.sgml: Re-add "if your disks are too empty". 2003-03-09 10:43 Martin Pool * configure.ac: Advance version to 1.3cvs. 2003-03-09 10:14 Martin Pool * Makefile.in: Add ssh module to build. 2003-03-08 22:48 Martin Pool * .cvsignore: Ignore =distcheck directory 2003-03-08 21:53 Martin Pool * NEWS: Note about merged masquerade mode. * Reindent stuff. 2003-03-08 21:47 Martin Pool * doc/release-names.txt: [no log message] 2003-03-08 10:43 Martin Pool * src/sendfile.c: Fix cast in call to sprintf for platforms where ssize_t != int. Found on Alpha Linux in the hp Compaq testdrive. 2003-03-08 10:39 Martin Pool * src/implicit.c: Doc 2003-03-08 10:29 Martin Pool * NEWS: Fix cast in call to sprintf for platforms where ssize_t != int. Found on Alpha Linux in the hp Compaq testdrive. 2003-03-05 13:02 Martin Pool * configure.ac, linuxdoc/distcc.sgml, src/distcc.c, src/exec.c, src/exec.h, src/serve.c, src/util.c, src/util.h: masquerade patch from Wayne Davison: * Add 'masquerade' option, where a link to distcc is created in e.g. /usr/lib/distcc/bin/cc so that it can catch calls to 'cc'. * Check for getwd in configure * Update manual to document 'masquerade' * Update manual to say default port is 3632. * Document /MAX syntax in --help. 2003-03-03 12:42 Martin Pool * doc/release-names.txt: [no log message] 2003-03-02 10:31 Martin Pool * configure.ac: Update for release. 2003-03-02 09:52 Martin Pool * NEWS: Update for release. 2003-03-01 23:54 Martin Pool * README.popt: URL for popt. 2003-03-01 23:49 Martin Pool * src/: setuid.c, setuid.h: Fix constness of opt_user. 2003-03-01 09:12 Martin Pool * src/lock.c, NEWS: SUSv3 says that locking functions can return EACCES for contention. HP-UX does this; perhaps Cygwin does too. 2003-02-28 14:18 Martin Pool * configure.ac, NEWS: Check existence of ctype.h. Pointed out by Tom Matelich. 2003-02-28 14:15 Martin Pool * patches/masquerade.patch: Masquerade patch from Wayne Davison 2003-02-28 10:45 Martin Pool * NEWS: Header for 1.2.3 release. * dcc_make_lock_filename: Windoze can't handle ':' in filenames. Pointed out by Heiko Elger. 2003-02-28 10:41 Martin Pool * src/lock.c: dcc_make_lock_filename: Windoze can't handle ':' in filenames. Pointed out by Heiko Elger. 2003-02-28 10:40 Martin Pool * src/lock.c: Doxygen janitor 2003-02-28 08:02 Martin Pool * src/lock.c: Fix unreachable trace message. Thanks to Dimitri Papadopoulos-Orfanos. 2003-02-27 16:07 Martin Pool * Makefile.in: analog-resolve: Tweak jdresolve invocation 2003-02-27 15:58 Martin Pool * Makefile.in: analog-resolve: Tweak jdresolve invocation 2003-02-27 13:23 Martin Pool * patches/n_cpus.txt: n_cpus.txt Notes on determining NCPUs, from Dimitri PAPADOPOULOS 2003-02-27 13:14 Martin Pool * patches/connect-timeout-02.diff: connect-timeout-02.diff Connection timeout patch from Oscar Esteban 2003-02-27 13:09 Martin Pool * patches/connect-timeout.diff: connect-timeout.diff Connection timeout patch from Oscar Esteban 2003-02-27 12:52 Martin Pool * Makefile.in, OLDNEWS: Remove empty/dead OLDNEWS file. 2003-02-27 12:36 Martin Pool * NEWS: Add missing release comments. 2003-02-27 12:32 Martin Pool * NEWS: Add release date. 2003-02-27 12:20 Martin Pool * test/testdistcc.py: Doc 2003-02-27 12:18 Martin Pool * Makefile.in: Be more selective in uploading linuxdoc files. 2003-02-27 11:52 Martin Pool * Makefile.in: Make distcheck should use $MAKE. 2003-02-27 11:50 Martin Pool * Makefile.in: Distribute the uncompressed info file: this makes patch across the source distribution work, and possibly helps bzip2 compress the whole distribution. 2003-02-27 11:38 Martin Pool * src/sendfile.c: Add HP-UX implementation of sys_sendfile, based on a note from Tom Matelich and the manual. Not tested on an HP-UX machine yet. 2003-02-27 11:17 Martin Pool * Makefile.in: clirpc.h: New header 2003-02-27 11:14 Martin Pool * Makefile.in, NEWS: Add a simple distcheck target. 2003-02-27 11:10 Martin Pool * Makefile.in: Remove deleted tests from $(test_SOURCE) 2003-02-27 11:06 Martin Pool * Makefile.in: Fix command to remove dist dir before building. 2003-02-27 10:25 Martin Pool * src/access.c: The FreeBSD manual suggests might be needed here to make in_addr_t work. 2003-02-27 10:20 Martin Pool * configure.ac: Check for stdint.h 2003-02-27 10:18 Martin Pool * doc/release-names.txt: [no log message] 2003-02-27 10:17 Martin Pool * NEWS: Call this release 1.2.2. * Note about updated Makefile. 2003-02-26 16:36 Martin Pool * test/: basecases.py, testdistcc.py: Move basecases back into testdistcc 2003-02-26 12:35 Martin Pool * test/: setuidcases.py, testdistcc.py: Splitting tests across several files seems not to be a good idea at the moment. It doesn't really make it easier to navigate. A new factoring is desirable. * setuidcases.py merged back into testdistcc.py 2003-02-26 12:33 Martin Pool * test/: EmptySource.py, ScanArgs.py, testdistcc.py: Splitting tests across several files seems not to be a good idea at the moment. It doesn't really make it easier to navigate. A new factoring is desirable. * EmptySource.py, ScanArgs.py merged back into testdistcc.py 2003-02-26 12:28 Martin Pool * test/ScanArgs.py: Remove RunCmd_Case, whose functionality has now migrated up into ComfyChair. 2003-02-26 12:27 Martin Pool * test/.cvsignore: Ignore ./testtmp/ if it happens to be here. 2003-02-26 12:27 Martin Pool * test/testdistcc.py: Remove RunCmd_Case, whose functionality has now migrated up into ComfyChair. * Add GPL. 2003-02-26 12:25 Martin Pool * test/basecases.py: Remove RunCmd_Case, whose functionality has now migrated up into ComfyChair. 2003-02-26 12:22 Martin Pool * test/comfychair.py: runCmdNoWait: add missing "import os" 2003-02-26 12:21 Martin Pool * test/comfychair.py: Copy from distcc HEAD * Make sure to print out any errors that happen while running tests, not only the ComfyChair-specific exceptions. 2003-02-26 12:18 Martin Pool * test/comfychair.py: Merge from tpot's comfychair HEAD checkin: * report failure to construct * add skip_on_noexec to runCmdUnchecked 2003-02-26 12:13 Martin Pool * test/comfychair.py: Add GPL. * Add runCmdNoWait to run things in the background. * Don't use '+=' to support Python 1.5. 2003-02-26 11:52 Martin Pool * NEWS: ./configure should not be removed by distclean, only by maintainer-clean. * Make Makefile work with pmake 2003-02-26 11:51 Martin Pool * Makefile.in: Remove '$^' variable, which doesn't work with pmake. 2003-02-26 11:47 Martin Pool * Makefile.in: ./configure should not be removed by distclean, only by maintainer-clean. 2003-02-26 11:44 Martin Pool * Makefile.in: Change to old-style implicit rules, in the hope of getting this to compile on non-GNU Make. 2003-02-25 23:29 Martin Pool * src/ssh.c: More cleanups/merges. Still not working. 2003-02-25 23:14 Martin Pool * src/ssh.c: Merge more code from rsync. Still not working. 2003-02-25 23:10 Martin Pool * configure.ac: Add socketpair test from rsync. 2003-02-25 22:50 Martin Pool * src/ssh.c: ssh.c Check in non-working skeleton ssh code from rsync and cvs 2003-02-25 22:37 Martin Pool * src/clinet.c: Doc 2003-02-25 22:36 Martin Pool * src/trace.h: Don't use __FUNCTION__ if not building on gnuc. 2003-02-25 22:26 Martin Pool * configure.ac, NEWS: Check for inet_aton in libresolv, which might fix Solaris 2.6. 2003-02-25 22:23 Martin Pool * src/distcc.c: Clear up unused vars * Doc 2003-02-25 22:22 Martin Pool * NEWS, src/distcc.c: Avoid repeatedly locking localhost when it's chosen from the host list, because we don't have reentrant locks on Cygwin. 2003-02-25 22:09 Martin Pool * src/distcc.c: Typo 2003-02-25 22:08 Martin Pool * Makefile.in, src/clirpc.c, src/clirpc.h, src/distcc.c: Split client RPC code into its own file to slim distcc.c. 2003-02-25 22:04 Martin Pool * patches/distcc-1.2.1-masquerade.patch: Patch from Wayne Davison to masquerade as cc. 2003-02-25 22:01 Martin Pool * src/distcc.c: Doc 2003-02-25 21:49 Martin Pool * configure.ac: Bump version to 1.3cvs 2003-02-25 21:26 Martin Pool * .cvsignore: Ignore linbot-report. 2003-02-25 21:25 Martin Pool * Makefile.in: Delete directory used to make distribution tarball before starting to build it. 2003-02-25 21:23 Martin Pool * TODO: Notes about asprintf and Linuxdoc. 2003-02-25 16:59 Martin Pool * NEWS: Note about libiberty redaction. 2003-02-25 16:57 Martin Pool * NEWS, configure.ac: Update for 1.2.1 release. 2003-02-25 16:51 Martin Pool * Makefile.in: Fix typo 2003-02-25 16:48 Martin Pool * src/snprintf.c: Quieten compiler warning. 2003-02-25 16:47 Martin Pool * configure.ac: Also check for snprintf 2003-02-25 16:38 Martin Pool * src/arg.c: Fix small memory leak. 2003-02-25 16:33 Martin Pool * src/exec.c: Remove dead function dcc_close_extra_fds. 2003-02-25 16:28 Martin Pool * Makefile.in: Don't use "python -V" because it apparently doesn't work on 1.5. Just look directly in sys.version. 2003-02-25 16:14 Martin Pool * Makefile.in: Print Python version before running tests to help in debugging remote problems. 2003-02-25 16:08 Martin Pool * test/testdistcc.py: Remove unnecessary 'unittest' import 2003-02-25 16:07 Martin Pool * test/testdistcc.py, NEWS: Return code from running the tests now indicates whether they worked or not. 2003-02-25 16:06 Martin Pool * test/comfychair.py: Refactor function * comfychair.runtests now returns a value that can be returned from system.exit 2003-02-25 15:53 Martin Pool * test/testdistcc.py: Remove += operator not supported in old Pythons. 2003-02-25 15:22 Martin Pool * test/testdistcc.py: Don't use fn(*tup) calling convention, because it's not supported in earlier Python versions. Use apply instead. 2003-02-25 15:18 Martin Pool * configure.ac: Don't worry about -Winline, because nothing in distcc is explicitly inlined. 2003-02-25 15:14 Martin Pool * DEPENDENCIES: We need autoconf >=2.53 2003-02-25 15:13 Martin Pool * configure.ac: Check for vsnprintf as well. 2003-02-25 15:06 Martin Pool * Makefile.in: Make sure snprintf.o actually gets linked in. 2003-02-25 11:28 Martin Pool * src/lock.c: Include local declarations for asprintf if necessary. 2003-02-25 11:27 Martin Pool * Makefile.in, NEWS, configure.ac, src/h_hosts.c, src/hosts.c, src/lock.c, src/tempfile.c, src/trace.c, src/where.c: Remove libiberty asprintf. Might fix problems with headers on Solaris and BSD. * Add asprintf etc from Samba HEAD. * Define _GNU_SOURCE in CPPFLAGS so that it is set for autoconf tests. * Add configure test for C99-compliant vsnprintf from Samba HEAD. 2003-02-25 11:07 Martin Pool * src/: snprintf.c, snprintf.h: Add *printf implementation from Samba HEAD. 2003-02-24 16:39 Martin Pool * configure.ac: Remove -Wredundant-decls, because it causes noise with some system headers. 2003-02-24 16:35 Martin Pool * configure.ac: Remove -W options that are implied by -Wall. 2003-02-24 16:29 Martin Pool * Makefile.in: Include %.o target for Makes that have a wierd built-in definition. 2003-02-24 16:24 Martin Pool * NEWS: Add ansidecl.h from libiberty (from gdb-5.3) 2003-02-24 16:20 Martin Pool * Makefile.in: Add ansidecl.h from libiberty (from gdb-5.3) 2003-02-24 16:15 Martin Pool * NEWS: Update NEWS 2003-02-24 16:12 Martin Pool * src/io.c: Remove redundant inclusion of assert.h 2003-02-24 16:10 Martin Pool * configure.ac, Makefile.in: Try to find Python during configuration. 2003-02-24 15:56 Martin Pool * Makefile.in: Allow installation to complete even if the tools to build Linuxdoc are missing. 2003-02-24 15:05 Martin Pool * Makefile.in: installcheck needs to look in the build directory as well as in the installed path to find the harness programs. In the future perhaps there ought to be a subset of tests that skips the harnesses. 2003-02-24 14:58 Martin Pool * Makefile.in: Add "installcheck" target that can be called by the buildfarm. 2003-02-24 14:48 Martin Pool * configure.ac: Check autoconf >= 2.53 * Don't use AC_CONFIG_LIBOBJ_DIR because it's not in ac 2.53 2003-02-24 14:39 Martin Pool * configure.ac: FIXME 2003-02-24 13:59 Martin Pool * autogen.sh: Merge back from the samba/HEAD autogen.sh 1.2, which jerry updated to work on more systems, including RH7.2. 2003-02-24 13:33 Martin Pool * NEWS: foo 2003-02-24 13:19 Martin Pool * NEWS: foo 2003-02-24 13:15 Martin Pool * NEWS: Dummy checkin to test build farm. 2003-02-24 11:54 Martin Pool * NEWS: Dummy checkin to test build farm. 2003-02-24 09:52 Martin Pool * configure.ac: Update version to 1.2.1cvs. 2003-02-22 20:29 Martin Pool * NEWS: Get ready for 1.2 release. 2003-02-22 20:22 Martin Pool * configure.ac: Set bug report address to the list, not me. 2003-02-22 20:21 Martin Pool * configure.ac: Get ready for 1.2 release. 2003-02-22 12:55 Martin Pool * Makefile.in: Remove Docbook from distribution. 2003-02-22 12:53 Martin Pool * Makefile.in: filename.h: New file. 2003-02-22 12:41 Martin Pool * src/: arg.c, cpp.c, distcc.c, distcc.h, exec.c, exec.h, filename.c, filename.h, hosts.c, implicit.c, lock.c, serve.c, strip.c, trace.h: Cleanups to fix various gcc warnings. 2003-02-22 12:20 Martin Pool * src/distcc.h: Remove redundant decls. 2003-02-22 12:19 Martin Pool * configure.ac: Turn on more compiler warnings. 2003-02-22 12:16 Martin Pool * TODO: Turn on more compiler warnings. * Note about statistics. 2003-02-22 12:07 Martin Pool * src/hosts.c: Refactor code into new function dcc_parse_localhost. 2003-02-22 11:58 Martin Pool * src/hosts.c: Fix comments 2003-02-22 11:56 Martin Pool * NEWS: Roll back to Linuxdoc for the manual. 2003-02-22 11:37 Martin Pool * linuxdoc/distcc.sgml: Ask people to report bugs to the mailing list, not to me. 2003-02-22 11:35 Martin Pool * linuxdoc/distcc.sgml: distcc.sgml Resurrect Linuxdoc manual 2003-02-22 11:25 Martin Pool * Makefile.in: Use rsync --delete when uploading manual to delete unneeded files. 2003-02-22 11:12 Martin Pool * Makefile.in: Roll back to Linuxdoc for the manual. Docbook tools seem to be still too unstable. 2003-02-21 11:54 Martin Pool * Makefile.in: Add "links" web page 2003-02-21 10:13 Martin Pool * patches/distcc-line3.diff: Patch from Tim Janik to absolutize #line directives. 2003-02-21 10:08 Martin Pool * doc/lca2003/slides/.cvsignore: Ignore built Postscript 2003-02-21 10:05 Martin Pool * Makefile.in: Include additional Python files in distribution. 2003-02-19 13:09 Martin Pool * test/testdistcc.py: By default only one job is run locally now. 2003-02-18 17:55 Martin Pool * NEWS: Postscript and PDF turned off for now. 2003-02-18 17:44 Martin Pool * Makefile.in: Add target to build "nochunks" (one big page) manual. 2003-02-18 17:22 Martin Pool * Makefile.in: Add upload-usermanual target. 2003-02-18 15:15 Martin Pool * Makefile.in: Put usermanual files correctly into distribution. 2003-02-18 15:14 Martin Pool * Makefile.in: Add targets/rules to build, distribute and install the Docbook-XML manual. 2003-02-18 14:37 Martin Pool * doc/aoss2002/slides/: README.aoss2002, aoss4.mgp, flow.dia, flow.png: Move AOSS2002 slides 2003-02-14 15:40 Martin Pool * TODO: Add note about slow networks. 2003-02-13 18:10 Martin Pool * src/where.c: Don't use XMIT locks for localhost, because there is no transmission phase. 2003-02-13 18:00 Martin Pool * src/distcc.c: Change completion message for remote compile to "compile on FOO" rather than "gcc on FOO". Easier to grep for. 2003-02-13 17:56 Martin Pool * src/hosts.c: /N syntax now *sets* the number of slots, rather than setting a multiplier. * Default for localhost is now 1. 2003-02-13 17:13 Martin Pool * src/hosts.c: Add HOST/NSLOTS syntax to limit number of tasks. Patch from Rusty. 2003-02-13 16:50 Martin Pool * src/where.c: dcc_lock_one: New implementation: The previous code was far too heavily biased towards the first machine, because it tried to find any empty CPU slot there even if other machines were idle. Now, the outer loop is the slot number, and we try all hosts with at least that many slots. We acquire the CPU lock before getting the XMIT lock. 2003-02-13 16:27 Martin Pool * src/where.c: Typo: didn't set CPU slot properly. 2003-02-13 16:19 Martin Pool * src/: distcc.c, lock.c, where.c, where.h: Update new scheduler to use two locks: one controlling access to the remote machine's CPU, and one serializing the network connection to the machine to avoid inadvertent synchronization. 2003-02-13 15:52 Martin Pool * TODO: Add compiler warnings from Daniel Veilard 2003-02-12 18:24 Martin Pool * test/testdistcc.py: Import new setuidcases module. 2003-02-12 18:12 Martin Pool * test/setuidcases.py: New file to check --user option. 2003-02-12 18:08 Martin Pool * test/comfychair.py: require(), require_root(): New functions that causes a test to be skipped unless particular conditions are met. 2003-02-12 17:46 Martin Pool * test/comfychair.py: Merge from comfychair CVS 2003-02-11 11:18 Martin Pool * src/lock.c: Fixme. 2003-02-07 21:17 Martin Pool * src/: distcc.c, where.c, where.h: Rename dcc_pick_buildhost to dcc_pick_host_from_env 2003-02-05 23:11 Martin Pool * TODO: [no log message] 2003-02-05 23:07 Martin Pool * Makefile.in: Don't delete config.status with plain "make clean", because it's really at the same level as the Makefile. 2003-02-05 23:05 Martin Pool * src/bulk.c, NEWS: Add O_BINARY bit needed for Cygwin. Based on a patch from Helind. 2003-02-05 22:43 Martin Pool * DEPENDENCIES: Note about dietlibc. 2003-02-05 22:41 Martin Pool * Makefile.in: Update "*clean" targets: cleaning should remove configure state files; maintainer-clean should remove all autoconf files that can be regenerated. From a patch by Paul Russell. 2003-02-05 21:52 Martin Pool * TODO: Note about manpages. 2003-02-05 19:14 Martin Pool * src/distcc.h: opt_allowed needs to be declared extern. Found by tcc. 2003-02-05 19:11 Martin Pool * TODO: [no log message] 2003-02-05 19:10 Martin Pool * src/io.c: Change assert to trace call to make dietlibc happy 2003-02-05 19:08 Martin Pool * src/clinet.c: fixme 2003-02-04 23:02 Martin Pool * src/where.c: Cleanup comments. 2003-02-04 22:58 Martin Pool * NEWS, src/bulk.c, src/bulk.h, src/distcc.c, src/serve.c: Show timing on transmission of DOTI and DOTO files. 2003-02-04 22:48 Martin Pool * src/bulk.c: Remove dcc_r_fifo, which is no longer called because we no longer support feeding the compiler from a fifo. 2003-02-04 19:58 Martin Pool * Makefile.in, src/bulk.c, src/bulk.h, src/distcc.c, src/serve.c: Show transfer rate for transmitted files. 2003-02-04 19:55 Martin Pool * src/: timeval.c, timeval.h: Add GNU function for calculating the difference between timevals. 2003-02-04 19:29 Martin Pool * doc/release-names.txt: [no log message] 2003-02-04 19:21 Martin Pool * configure.ac: Add ./lib to include path so libiberty.h can be found. 2003-02-03 12:50 Martin Pool * src/rpc.h: Doc 2003-02-03 12:49 Martin Pool * TODO: [no log message] 2003-02-03 01:15 Martin Pool * doc/new-scheduler.txt: Notes on new scheduler 2003-02-03 00:59 Martin Pool * NEWS: Describe new scheduling algorithm. 2003-02-03 00:44 Martin Pool * src/where.c: Better message 2003-02-03 00:43 Martin Pool * src/distcc.c: Fixme 2003-02-03 00:28 Martin Pool * src/where.c: Doc 2003-02-03 00:27 Martin Pool * src/distcc.c: Hold transmit lock only while sending request. 2003-02-03 00:27 Martin Pool * src/where.c: Doc 2003-02-03 00:27 Martin Pool * src/: lock.c, lock.h: (dcc_unlock): New function. 2003-02-03 00:13 Martin Pool * src/: distcc.c, lock.c, lock.h, where.c, where.h: Lock functions pass back their fd so that it can be released later. * (dcc_lock_host): Clean up error handling. 2003-02-03 00:06 Martin Pool * src/lock.h: Add lock_fd parameter to dcc_lock_host and dcc_lock_local functions 2003-02-03 00:04 Martin Pool * src/lock.c: Doc 2003-02-03 00:04 Martin Pool * src/lock.c: Remove redundant dcc_get_tempdir call. 2003-02-03 00:03 Martin Pool * src/lock.c: Split lockfile creation into dcc_open_lockfile 2003-02-03 00:01 Martin Pool * src/: where.c, where.h: Document locking system. * Add a "lockname" parameter to allow for multiple locks in the future. * WORK IN PROGRESS: Start moving towards new transmission-based locking, where we hold the lock only while sending. Not done yet. 2003-02-03 00:00 Martin Pool * src/: lock.c, lock.h: Document locking system. * Add a "lockname" parameter to allow for multiple locks in the future. 2003-02-02 23:44 Martin Pool * Makefile.in: Remove linuxdoc targets from the Makefile to allow for transition to Docbook. Docbook manual is not built yet because of issues with Debian's xsltproc. 2003-02-02 23:34 Martin Pool * TODO: [no log message] 2003-02-02 23:31 Martin Pool * Makefile.in: Add README.libiberty to distributed files. 2003-02-02 23:31 Martin Pool * README.libiberty: Check in some files from libiberty. 2003-02-02 23:30 Martin Pool * src/lock.c: (dcc_lock_host): Add doc. Change "already locked" to less ambiguous "%s is busy". Update to use standard exit codes. 2003-02-02 23:24 Martin Pool * src/exitcode.h: Add EXIT_BUSY. 2003-02-02 22:56 Martin Pool * src/lock.c: Use libiberty for asprintf(). * (dcc_make_lock_filename): Rewrite to use asprintf() rather than a fixed-length buffer. Safer and simpler. Lock filenames now take into account the port as well as the hostname, and it supports ssh schemes. 2003-02-02 22:54 Martin Pool * NEWS: [no log message] 2003-02-02 22:48 Martin Pool * Makefile.in: Include libiberty source in distribution. 2003-02-02 22:48 Martin Pool * configure.ac: Add lib/ directory * Check for asprintf() and vasprintf() and replace them if not present. 2003-02-02 22:06 Martin Pool * TODO: Notes on Docbook. * Notes on a minimal gcc for clients. 2003-02-02 16:30 Martin Pool * linuxdoc/: distcc.sgml, footer.html: Remove Linuxdoc documentation now that it's been converted to Docbook XML 2003-02-02 16:30 Martin Pool * NEWS: Note conversion of user manual. 2003-02-02 16:18 Martin Pool * patches/timj-line1.diff: Patch from Tim Janik to post-process the preprocessor output to absolutify file names. It works and it's nicely written, but I'm not yet convinced that the benefit is justified. 2003-02-02 14:38 Martin Pool * src/.cvsignore: Don't ignore .d and .i files, since they shouldn't be generated anymore. 2003-02-02 14:37 Martin Pool * Makefile.in, contrib/distcc-absolutify, contrib/netpwd, contrib/stage-cc-wrapper.patch: Additional contributed scripts by Alexandre Oliva useful in building gcc using distcc. From his mail of 14 Aug 2002. 2003-01-31 15:03 Martin Pool * src/where.c: Doc 2003-01-31 11:48 Martin Pool * analog/.cvsignore: Ignore generated files. 2003-01-31 11:17 Martin Pool * TODO: Notes on corks, scheduling, and tcp options. 2003-01-31 10:56 Martin Pool * TODO: Notes about scheduling from BBQ 2003-01-31 10:42 Martin Pool * TODO: Note about #pragma implementation 2003-01-29 15:52 Martin Pool * linuxdoc/distcc.sgml: Grammar fixes. 2003-01-29 12:14 Martin Pool * src/dopt.c: (distccd_show_usage): Remove vestigial argument to printf * (distccd_parse_options): Fix return code handling * Doc 2003-01-29 00:52 Martin Pool * Makefile.in: Typo 2003-01-29 00:50 Martin Pool * test/testdistcc.py: TODO 2003-01-29 00:49 Martin Pool * src/: access.h, distcc.h, dopt.c, srvnet.c: Add --allow, -a option to distccd. Build up a list of allowed client addresses. Check against them when a client connects; drop the connection if it's not allowed. 2003-01-29 00:46 Martin Pool * NEWS: Note new --allow option. 2003-01-29 00:19 Martin Pool * src/: access.c, access.h, h_parsemask.c: Add code to actually check whether access ought to be allowed. 2003-01-29 00:08 Martin Pool * src/: access.c, access.h, h_parsemask.c: Start adding IP-based access control. So far, a function to parse matchers like 10.0.0.0/8. 2003-01-29 00:07 Martin Pool * Makefile.in, .cvsignore: Add new h_parsemask test harness. 2003-01-29 00:02 Martin Pool * doc/lca2003/slides/: .cvsignore, distcc-lca2003.mgp, flow.dia, flow.png: Add LCA2003 slides. 2003-01-28 23:14 Martin Pool * Makefile.in: Add access.c and access.h 2003-01-28 19:57 Martin Pool * NEWS, src/exec.c: * Use putenv() rather than setenv() to fit into SUSv2 and work on Solaris 8. Pointed out by Dimitri Papadopoulos. 2003-01-28 19:52 Martin Pool * test/testdistcc.py: TODO 2003-01-28 01:24 Martin Pool * src/access.c: Empty file 2003-01-28 01:21 Martin Pool * src/lock.c: Doc 2003-01-28 01:19 Martin Pool * src/dopt.c: Fix string syntax problem. 2003-01-28 01:18 Martin Pool * configure.ac: Version to 1.2cvs 2003-01-28 01:18 Martin Pool * src/help.c: Please send bugs to the mailing list 2003-01-28 01:17 Martin Pool * src/help.c: Update copyright 2003-01-28 01:06 Martin Pool * Makefile.in: Add missing Python source. 2003-01-28 01:05 Martin Pool * TODO: [no log message] 2003-01-28 01:01 Martin Pool * src/: dparent.c, daemon.c: srvnet.h: new header 2003-01-28 00:56 Martin Pool * NEWS, configure.ac: Update for 1.1 2003-01-28 00:52 Martin Pool * NEWS: Updates to manual 2003-01-28 00:21 Martin Pool * analog/extract_version_downloads.py: Simple script to show the number of downloads of each version. 2003-01-27 23:23 Martin Pool * src/lock.c: Doc 2003-01-27 23:19 Martin Pool * TODO: Note about taking host list from a file. 2003-01-27 23:16 Martin Pool * src/distcc.h: New srvnet.h header 2003-01-27 23:16 Martin Pool * patches/andresen-gcc-wrapper-r2.tbz2: Patch from Eric Andresen for Gentoo bug #13897 to add some kind of wrapper. 2003-01-27 23:13 Martin Pool * src/distcc.c: Doxygen cleanups 2003-01-27 23:11 Martin Pool * src/dparent.c: Just refuse root once at the top level of distccd. We don't support binding reserved ports so there's no need to do it any later as far as I can see. 2003-01-27 23:06 Martin Pool * src/dopt.c: Doc * Add new --user option. Warning is printed if this is used when not started by root. * Sort option table into alphabetical order. 2003-01-27 23:03 Martin Pool * src/: exec.h, exec.c: Doc 2003-01-27 23:01 Martin Pool * src/exitcode.h: Give the exitcode enum a name * Add EXIT_SETUID_FAILED and EXIT_ACCESS_DENIED 2003-01-27 22:59 Martin Pool * src/hosts.h: Fix Doxygen glitch 2003-01-27 22:58 Martin Pool * src/io.c: Split sendfile wrappers out into src/sendfile.c 2003-01-27 22:55 Martin Pool * src/: setuid.c, setuid.h: New code for discarding privileges when run by root. 2003-01-27 22:54 Martin Pool * src/serve.c: src/srvnet.h: New header * Log client name (and in the future, check access) very early in connection handling. * Doc. 2003-01-27 22:53 Martin Pool * src/trace.h: Update Doxygen. 2003-01-27 22:50 Martin Pool * src/util.h: Move srvnet functions to srvnet.h 2003-01-27 22:41 Martin Pool * src/util.c: Message when exiting should always just be level 'info'. * Just show 4 decimal places in time measurements. Higher than that may not be very meaningful. 2003-01-27 22:36 Martin Pool * src/srvnet.c: src/srvnet.h: New header * Doc * Prepare for IP access-control checks 2003-01-27 22:35 Martin Pool * src/srvnet.h: src/srvnet.h: New header 2003-01-27 22:33 Martin Pool * src/sendfile.c: Move sendfile support into sendfile.c * Doc * Better handling of unsupported systems 2003-01-27 22:30 Martin Pool * Makefile.in: src/sendfile.c: Split sendfile into a separate source file * src/setuid.c, src/setuid.h: Add new ability to change persona when started by root * src/srvnet.h: Move server-side network functions to their own file. 2003-01-27 22:28 Martin Pool * src/daemon.c: Update Doxygen tags * Remove unneeded headers * Discard root privileges if we have them. 2003-01-27 22:27 Martin Pool * src/: arg.c, clinet.c: Update Doxygen tags 2003-01-27 22:25 Martin Pool * NEWS: tcpwrappers isn't in after all, because it's poorly documented and I'm not convinced it's a good fit for distccd. For example, it can only normally be configured by root, but we want to make sure that distccd can be installed and run by ordinary users. 2003-01-27 22:24 Martin Pool * bench/: Build.py, Project.py: Better messages while build is in progress. 2003-01-27 22:23 Martin Pool * bench/ProjectDefs.py: Point at glibc 2.3.1 rather than 2.3 in the hope that this will work better. (It doesn't build yet unfortunately.) 2003-01-27 22:21 Martin Pool * doc/release-names.txt: [no log message] 2003-01-27 22:21 Martin Pool * README.packaging: Please use shlibs * Please use proper gcc names 2003-01-27 22:18 Martin Pool * configure.ac: Doc * Fix help string for --with-included-popt * Some cleanups * Look for setgroups() 2003-01-27 22:17 Martin Pool * NEWS, OLDNEWS: Update NEWS for recent commits * Keep all change notes in the NEWS file per GNU standards. OLDNEWS is now empty. 2003-01-27 22:15 Martin Pool * README: Update performance for current project status 2003-01-27 22:12 Martin Pool * TODO: Many TODO updates. 2003-01-27 22:06 Martin Pool * test/testdistcc.py: Doc 2003-01-27 21:49 Martin Pool * .cvsignore, Doxyfile: Add Doxygen configuration. Not called from Makefile. 2003-01-27 21:35 Martin Pool * linuxdoc/distcc.sgml: Just show CVS date, not version. * Update to version 1.1. * Update: distccd now sends error messages back to the client as well as to its local log file. * Remove "author" section left over from man page. * Describe --verbose option. * Add description of new EXIT_RECURSION code * Move "Compatibility" section into a new chapter. * Move "Cross compilation" into a new chapter, because it's not relevant to many users. * Reformat Huxley quote to make it fit better. * Rearrange introduction. * Warning not to use --no-fork. * Document --no-detach. 2003-01-24 20:16 Martin Pool * NEWS, src/srvnet.c: Don't log client hostname, only the IP address. It's not really necessary and can slow us down. 2003-01-24 20:08 Martin Pool * NEWS, src/distcc.c, src/distcc.h, src/exec.c, src/exec.h, src/exitcode.h: Add environment variable to check for inadvertent recursion. 2003-01-24 20:03 Martin Pool * bench/buildutil.py: Better error message for command failures 2003-01-24 19:54 Martin Pool * NEWS: Add check for inadvertent recursion 2003-01-24 19:52 Martin Pool * TODO: Many updates to TODO 2003-01-24 19:51 Martin Pool * bench/compiler.py: Don't explicitly say "gcc-3.2", because it's not available under that name on Red Hat 8.0. 2003-01-20 11:22 Martin Pool * NEWS, configure.ac: Fix configure test for hstrerror(). (Frerich Raabe) 2003-01-19 20:50 Martin Pool * bench/Summary.py: Fix bugs in printing statistics. 2003-01-19 20:29 Martin Pool * bench/buildutil.py: Better formatting time messages. 2003-01-19 20:27 Martin Pool * bench/Summary.py: Better handling of statistics generation or build failures. 2003-01-19 18:45 Martin Pool * src/arg.c: Doc. 2003-01-19 18:43 Martin Pool * test/: ScanArgs.py, basecases.py, testdistcc.py: Split some Python classes out into separate files. 2003-01-19 18:19 Martin Pool * src/arg.c: Doc. 2003-01-19 15:10 Martin Pool * src/dopt.c: Remove ifdef'd code. 2003-01-18 23:57 Martin Pool * configure.ac: TODO about finding Python. 2003-01-18 23:55 Martin Pool * test/testdistcc.py: Roll back change to version number format. 2003-01-18 23:48 Martin Pool * src/: .cvsignore, config.h.in: Build config.h.in, rather than storing in CVS. 2003-01-18 23:46 Martin Pool * src/io.c, NEWS: Flag platforms that have a sendfile() function, but that aren't explicitly supported, because it seems to vary substantially. At the moment only FreeBSD and Linux are known. 2003-01-18 23:43 Martin Pool * configure.ac: Fix text formatting. 2003-01-18 23:41 Martin Pool * test/testdistcc.py, NEWS: Be less strict in checking the output from the plain text preprocessor, because this seems to have changed in gcc 3.2. 2003-01-18 23:36 Martin Pool * test/testdistcc.py: Update copyright * Allow for new --version output * Fix accidental extra newline in C source, when we wanted the escape sequence "\n" * Change way the preprocessor is called -- not working yet. 2003-01-18 22:53 Martin Pool * .cvsignore: Ignore files produced by autoconf. 2003-01-18 22:51 Martin Pool * bench/benchmark.py, NEWS: Projects can now be selected by unambiguous name prefix 2003-01-18 22:39 Martin Pool * configure.ac: Update copyright 2003-01-18 22:38 Martin Pool * config.guess, config.sub: Update from Debian autotools-dev 2003-01-18 22:27 Martin Pool * config.sub: Resurrect 2003-01-18 22:22 Martin Pool * bench/: Build.py, Summary.py, actions.py, benchmark.py, statistics.py: Make std dev and variance methods handle too-short sequences by returning None, rather than failing. * Add -n option to run benchmarks repeatedly. 2003-01-18 22:21 Martin Pool * aclocal.m4, config.guess, config.sub, configure: Stop storing autoconf junk in CVS 2003-01-18 22:19 Martin Pool * TODO: Need to document benchmark. 2003-01-18 22:10 Martin Pool * Makefile.in: Invite people to pass BENCH_ARGS to Make to control the benchmark. 2003-01-18 22:02 Martin Pool * Makefile.in: Include bench/statistics.py in distribution. 2003-01-18 22:00 Martin Pool * bench/Summary.py, bench/statistics.py, NEWS: Start to add support in the Summary class for repeated runs of a benchmark, plus a new "statistics" library containing code to do mean and std dev. 2003-01-18 21:50 Martin Pool * NEWS: Roll over news 2003-01-18 21:49 Martin Pool * OLDNEWS: Put in correct version of old news file. 2003-01-18 21:36 Martin Pool * OLDNEWS: Roll over NEWS. 2003-01-17 12:05 Martin Pool * configure, configure.ac: Bump version to 1.1cvs 2003-01-17 12:00 Martin Pool * src/daemon.c: FIXME about running as root. 2003-01-17 11:37 Martin Pool * src/daemon.c: fixme 2003-01-16 11:36 Martin Pool * configure: Prepare for 1.0 release. 2003-01-16 11:32 Martin Pool * configure.ac: Prepare for 1.0 release. 2003-01-16 11:28 Martin Pool * NEWS, configure.ac: Prepare for 1.0 release. 2003-01-16 11:06 Martin Pool * Makefile.in: Include benchmark source in tarball. * bzip tarball rather than gzipping it, to save a little space. 2003-01-15 22:22 Martin Pool * bench/benchmark.py: Doc 2003-01-14 16:25 Martin Pool * NEWS: Build .bz2 tarball rather than .tgz * Remove PS and PDF from tarball. 2003-01-14 16:03 Martin Pool * NEWS: [no log message] 2003-01-14 15:46 Martin Pool * Makefile.in: Do not include PDF or PS in the tarball, or install them by default. This may save some space in the distribution. They can be built from source using the Linuxdoc tool, or downloaded. 2003-01-14 15:03 Martin Pool * Makefile.in: Resolve logfile lines in order. 2003-01-14 15:01 Martin Pool * bench/.cvsignore: Ignore bench.log 2003-01-14 00:54 Martin Pool * src/io.c: Correct calling of sendfile on BSD 2003-01-13 14:47 Martin Pool * TODO: [no log message] 2003-01-13 12:24 Martin Pool * Makefile.in: Benchmark must be run from bench/ directory. 2003-01-12 23:59 Martin Pool * bench/Summary.py: Show uname in summary. 2003-01-12 23:51 Martin Pool * bench/Summary.py: Show uname in summary. 2003-01-12 23:40 Martin Pool * bench/Project.py: Doc snarf bug. 2003-01-12 23:24 Martin Pool * Makefile.in, NEWS: * Remove Plucker file: nobody seems to be downloading it, and it's easy enough for people to build if they're interested. 2003-01-12 23:09 Martin Pool * bench/Summary.py: Store results into Summary in the order in which they are generated. 2003-01-12 23:05 Martin Pool * bench/: Build.py, actions.py: Add action to "make clean" if desired. Off by default. 2003-01-12 22:58 Martin Pool * bench/: Build.py, CompilerSpec.py, benchmark.py, compiler.py: Add -c option to specify compilers to run. * Remove 'CompilerSpec' module to 'compiler' so that it can more easily have some static methods. 2003-01-12 22:43 Martin Pool * bench/Summary.py: Print a heading on the results, plus the date and the host list. 2003-01-12 22:37 Martin Pool * bench/: actions.py, benchmark.py: Split intelligence about action selection into a new module. * Auto-generation action help table. * Turn 'scrub' off by default. 2003-01-12 22:20 Martin Pool * bench/: Summary.py, buildutil.py: Show all times in %.4f format -- about the right amount of precision. 2003-01-12 22:18 Martin Pool * bench/: Build.py, Project.py, benchmark.py: Put intelligence about running various Actions in order into the Build and Project classes. * More --help documentation for actions. 2003-01-12 22:10 Martin Pool * bench/: Build.py, Project.py, Summary.py, benchmark.py, buildutil.py: Further refactoring: put the combination of a project and a compiler into a new Build object. * Put each Build in a separate directory, rather than using one directory per Project that is overwritten every time. More scope now for retrying or investigating failed builds. 2003-01-12 22:09 Martin Pool * bench/CompilerSpec.py: Don't use commas in directory names because it causes trouble with some Makefiles. 2003-01-12 21:43 Martin Pool * bench/Project.py: Doc 2003-01-12 21:38 Martin Pool * bench/: CompilerSpec.py, benchmark.py: Split CompilerSpec into its own file. 2003-01-12 21:32 Martin Pool * bench/: Project.py, ProjectDefs.py, Summary.py, benchmark.py: Split Project class and project definitions out into two new source files. * Rename Compiler to CompilerSpec and change name format. 2003-01-12 20:50 Martin Pool * bench/: Summary.py, benchmark.py: Split Summary class out into its own file, and print summaries out in a tabular form rather than as Python data definitions. 2003-01-12 20:50 Martin Pool * bench/.cvsignore: Ignore download directory and .pyc files. 2003-01-09 11:06 Martin Pool * bench/benchmark.py: Run snarf quietly * Doc 2003-01-08 18:28 Martin Pool * bench/benchmark.py: Add GNU Hello so that there's something small for testing the benchmark program. * Add --list-projects option. * Allow selection of actions to perform with --actions=ACTIONS. 2003-01-08 18:03 Martin Pool * bench/benchmark.py: Push mainline code into a main() routine. 2003-01-08 18:01 Martin Pool * bench/benchmark.py: Add Project configuration for Wine * Implement the 'unpacked_subdir' Project option, to handle projects like Wine whose unpacked directory is named differently from the tarball. * Doc. 2003-01-06 15:53 Martin Pool * bench/benchmark.py: Doc 2003-01-06 11:24 Martin Pool * doc/release-names.txt: [no log message] 2003-01-06 11:24 Martin Pool * Makefile.in: Split old news items out into a separate page. 2003-01-02 19:52 Martin Pool * NEWS: Doc macrobenchmark. 2003-01-02 16:31 Martin Pool * TODO: Explanation of KDE's --enable-final option, and impact on parallelism. * Half explain "Supermarket scheduler" idea. * Half explain load balancer. 2003-01-02 15:58 Martin Pool * DEPENDENCIES: Add notes about macrobenchmark. 2003-01-01 10:01 Martin Pool * Makefile.in: Add new "benchmark" target to invoke the macrobenchmark suite. The Makefile prints a notice and checks that the hosts are set up before starting the script. 2003-01-01 09:24 Martin Pool * bench/benchmark.py: Use env(1) to find python2.2. (Frerich Raabe) Really the right way is to call through the Makefile to use $(PYTHON). 2003-01-01 09:22 Martin Pool * bench/: benchmark, benchmark.py: Rename bench/benchmark to bench/benchmark.py. 2003-01-01 09:19 Martin Pool * Makefile.in: Use a $(PYTHON) variable so that it can be overridden if the name varies. 2002-12-17 17:17 Martin Pool * news.el, news.emacs: Store settings in elisp rather than as mode variables. 2002-12-17 10:27 Martin Pool * bench/benchmark: If a build fails, then record that but continue. If the overall build is interrupted, just stop. 2002-12-16 21:29 Martin Pool * bench/benchmark: Doc * Better link for kernel 2002-12-16 21:21 Martin Pool * bench/benchmark: Add gdb * Add md5sum and configure command for linux-2.4.20 * Automatically detect and resume interrupted downloads. Do downloads into a temporary directory and move them on completion. 2002-12-16 21:15 Martin Pool * bench/benchmark: b* Project._rm_files: Do this silently and only as necessary. 2002-12-16 21:12 Martin Pool * bench/benchmark: Remove log files at the start of a build. (We use separate logfiles for each case and phase, so this loses no information.) 2002-12-16 21:08 Martin Pool * bench/benchmark: Rename /SourceTree/Project/ 2002-12-16 21:07 Martin Pool * bench/benchmark: Doc. * Just check for download once when we start working on a project. * Scrub the tree just once when finished on a project. 2002-12-16 21:03 Martin Pool * bench/benchmark: Doc. * Add MD5 for GIMP. * When configuring GIMP, turn off Perl support because it seems not to work on Sid and it's not really necessary. 2002-12-16 20:59 Martin Pool * bench/benchmark: Scrub source directories after successful build to save disk space. * Try boring slow gcc build first, to see if it works. 2002-12-16 20:50 Martin Pool * bench/benchmark: Doc 2002-12-16 20:43 Martin Pool * bench/benchmark: SourceTree.build: Accumulate statistics in Summary object on completion of building. Fix syntax error. * Take list of project names from command line. If none are specified, build all known projects. 2002-12-16 20:38 Martin Pool * bench/benchmark: SourceTree.run_cmd: Return status and elapsed time. * SourceTree.build: Remove obsolete make_args argument. * Summary: New class holding overall results of building. 2002-12-16 20:34 Martin Pool * bench/benchmark: Doc. * Try to make shell commands more readable. * Add GIMP URL. 2002-12-16 20:24 Martin Pool * bench/benchmark: Store separate make and distcc logs for configuring and building, in a per-project per-compiler directory. DISTCC_LOG no longer needs to be set beforehand. * Add more MD5sums. * Add correct configuration and build commands for the kernel. 2002-12-16 20:15 Martin Pool * bench/benchmark: Add new Compiler class, encapsulating $(CC) and Make options. * Add URLs for GNU Make and Linux-2.4.20. * Store build logs into a directory identified by both project and compiler. 2002-12-16 19:59 Martin Pool * bench/benchmark: Add support for packages which need to be built from a subdirectory of their unpacked directory. In particular, Samba needs to be built from "samba-2.2.7/source". 2002-12-16 19:54 Martin Pool * bench/benchmark: Add MD5 sums for other packages. * Add Samba tree. (Doesn't work yet, needs a different configure command to handle source being in source/) 2002-12-16 19:49 Martin Pool * bench/.cvsignore: Ignore output files. 2002-12-16 19:48 Martin Pool * bench/benchmark: Send all build log messages to a persistent file in a standard location. * make_dir: New utility function. * Properly check MD5sum for files before unpacking. 2002-12-16 19:41 Martin Pool * bench/benchmark: Store MD5sum of files in the benchmark source and verify them before use. * Allow overriding $(CC) when the program is configured. * Add glib-2.0.7 test. * Test with distcc and plain cc. 2002-12-16 19:24 Martin Pool * bench/benchmark: (SourceTree.configure, SourceTree.build): Redirect configure and build output into log files so that the display is uncluttered. 2002-12-16 19:21 Martin Pool * bench/benchmark: (SourceTree): Cleaner handling of directories. 2002-12-16 19:11 Martin Pool * bench/benchmark: (SourceTree.run_cmd): Show time to execute each command. * (SourceTree): Don't use the time(1) command, but just measure elapsed time. 2002-12-16 19:03 Martin Pool * bench/benchmark: (SourceTree.run_cmd): Show commands as they're executed. * (SourceTree): Time commands as they're run. * (SourceTree.scrub): Remove build trees before starting to build them. * (SourceTree.build): Allow passing options such as -j to make. 2002-12-16 16:49 Martin Pool * bench/benchmark, NEWS: New macro-benchmark and test suite for distcc. This is the start of a script that runs distcc to build various open source programs, as an overall test of correctness, and to measure performance of a distcc installation. It relies on the user to install and configure distcc servers and clients, but handles the work of downloading, preparing, and building packages by itself. * benchmark: New file. 2002-12-16 16:44 Martin Pool * lzo/.cvsignore: Ignore built files for minilzo 2002-12-16 14:43 Martin Pool * lzo/: Makefile, README.LZO, lzoconf.h, minilzo.c, minilzo.h, testmini.c: Import minilzo-1.08 library. Not linked in to main program yet. 2002-12-16 14:42 Martin Pool * doc/release-names.txt: [no log message] 2002-12-16 11:56 Martin Pool * patches/swhite-lzo-compress.diff: Patch from Stephen White * First cut at adding LZO compression, turned on by client-side environment variable and setting a high bit in the protocol number to indicate its use. Uses static copy of lzo. 2002-12-16 11:40 Martin Pool * src/: h_scanargs.c, h_argvtostr.c: Reindent to java / 4-space style. 2002-12-16 11:32 Martin Pool * patches/README.patches: Disclaim warranty on these patches. 2002-12-13 12:06 Martin Pool * linuxdoc/distcc.sgml: Bump version to 0.16cvs. 2002-12-13 12:04 Martin Pool * NEWS, linuxdoc/distcc.sgml: (Cross-Compilation): The recommended convention for gcc names is -gcc-, and GCC 3.3 will install itself under this name. (Alexandre Oliva, Claes Wallin) 2002-12-13 11:06 Martin Pool * configure, configure.ac: Bump version to 0.16cvs. 2002-12-13 09:58 Martin Pool * NEWS, OLDNEWS: Roll over NEWS. 2002-12-12 20:57 Martin Pool * NEWS, configure, configure.ac: Bump version to 0.15. 2002-12-12 20:45 Martin Pool * doc/results.txt: Current linux-2.4.19 benchmark results. 2002-12-12 20:40 Martin Pool * configure: Run autoconf. 2002-12-12 20:17 Martin Pool * linuxdoc/distcc.sgml: Suggest using qualified compiler names rather than -b and -V options, because those options didn't work very well in earlier gcc versions. Based on an explanation from Alexandre Oliva. 2002-12-12 20:06 Martin Pool * Makefile.in, NEWS: Rename TARGET_ROOT variable to the more standard name of DESTDIR. (Alexandre Oliva) 2002-12-12 20:03 Martin Pool * doc/irc/openprojects-distcc-20020807.txt: Random notes about distcc 2002-12-12 19:45 Martin Pool * src/help.c: [Tests are more useful if they're actually run. :-/] * (dcc_show_version): Use intended syntax in --version output. 2002-12-12 19:41 Martin Pool * test/testdistcc.py, src/help.c: (dcc_show_version, VersionOption_Case): --version now shows default port. 2002-12-12 19:38 Martin Pool * doc/flood.txt: flood.txt: Notes on network performance. 2002-12-12 19:38 Martin Pool * src/: distcc.c, distcc.h, dopt.c, hosts.c: Put default port into DISTCC_DEFAULT_PORT preprocessor constant, rather than copying it everywhere. 2002-12-12 19:34 Martin Pool * aclocal.m4: Rerun autoconf. 2002-12-12 19:33 Martin Pool * TODO: TODO: New file. Many random notes about things to do, moved from the user manual. 2002-12-12 19:31 Martin Pool * src/distcc.c, src/dopt.c, src/hosts.c, test/testdistcc.py, NEWS: * Change default port from 4200 to IANA-assigned standard for distcc service "3632". 2002-12-12 19:30 Martin Pool * analog/.cvsignore: Ignore generated files. 2002-12-12 19:29 Martin Pool * analog/: httplog.py, print_referers: httplog.py: New file to parse Apache logs. * print_referers: Change to using httplog.py library. 2002-12-12 19:19 Martin Pool * analog/day.gnuplot: day.gnuplot: New gnuplot file to plot daily traffic. 2002-12-12 18:59 Martin Pool * linuxdoc/distcc.sgml: (Author): Rephrase. 2002-12-12 18:56 Martin Pool * linuxdoc/distcc.sgml: Move "Reporting Bugs" and "Test Suite" sections into the introduction chapter. 2002-12-12 18:43 Martin Pool * linuxdoc/distcc.sgml: Remove empty tag. 2002-12-12 18:41 Martin Pool * NEWS: Only show non-maintainer names in the NEWS file, as in Subversion. 2002-12-12 18:38 Martin Pool * linuxdoc/distcc.sgml, NEWS: Move "Bugs" chapter into TODO. (Martin Pool) 2002-12-12 18:36 Martin Pool * linuxdoc/distcc.sgml: Remove "results" chapter, because this information is more appropriate for the web site. * Start moving bugs/features into TODO. 2002-12-12 18:12 Martin Pool * NEWS: [no log message] 2002-12-12 18:09 Martin Pool * linuxdoc/distcc.sgml: (distcc Compatibility): Remove section about MOC, because we have nothing at the moment to say. Add a new section describing the complex situation for -MD with gcc 2.95 and 3.2. 2002-12-12 17:55 Martin Pool * Makefile.in: (dist_files): Add TODO to distribution. 2002-12-12 17:39 Martin Pool * linuxdoc/distcc.sgml: (Bugs): Need a performance regression suite. * (Bugs): Perhaps need to migrate the manual from Linuxdoc to Docbook Lite. 2002-12-12 16:53 Martin Pool * analog/traffic.py: traffic.py: Add a new first command line parameter, either 'day' or 'week' to set grouping quantum. 2002-12-12 15:47 Martin Pool * src/lock.c: lock.c: Add quotation. 2002-12-06 11:32 Martin Pool * analog/traffic.gnuplot: traffic.gnuplot: Use log y scale. 2002-12-06 11:29 Martin Pool * analog/traffic.py: traffic.py: New utility to produce weekly counts of downloads and accesses. 2002-12-06 11:07 Martin Pool * analog/traffic.gnuplot: Simple plot of traffic 2002-12-06 10:19 Martin Pool * linuxdoc/distcc.sgml, NEWS: Remove "Results" chapter from manual: there are now many more detailed results on the web site, and this information is better suited to storage there, because it will be updated on a different cycle. End-users don't really need to have it in their reference. 2002-12-05 15:22 Martin Pool * doc/release-names.txt: [no log message] 2002-12-05 14:07 Martin Pool * doc/interceptor.txt: Notes on using an external interceptor 2002-12-05 10:02 Martin Pool * src/srvnet.c: srvnet.c: (dcc_log_clientname): Clearer error messages for failure to look up client hostname. 2002-12-05 10:01 Martin Pool * NEWS: [no log message] 2002-11-28 04:48 Martin Pool * linuxdoc/distcc.sgml: We now use ComfyChair not PyUnit 2002-11-28 04:45 Martin Pool * NEWS: Add section on how to report bugs well 2002-11-28 04:40 Martin Pool * linuxdoc/distcc.sgml: Add section on how to report bugs well 2002-11-28 04:20 Martin Pool * src/dopt.c: Say that --no-fork is for debugging ONLY 2002-11-23 04:35 Martin Pool * linuxdoc/distcc.sgml: Add TODO Bump version to 0.14 2002-11-22 19:00 Martin Pool * NEWS: Add note about -MF 2002-11-21 18:53 Martin Pool * src/cpp.c: Doc 2002-11-21 18:50 Martin Pool * src/cpp.c: Doc 2002-11-21 18:46 Martin Pool * NEWS, src/cpp.c, src/strip.c, src/strip.h: Run the preprocessor with output sent to stdout and redirected to a file, rather than by using the -o option. This should fix some compilers that can't handle "-E -o". It may improve gcc behaviour with -MD, but because gcc behaviour has changed over time it may not be a complete fix. 2002-11-21 18:38 Martin Pool * test/testdistcc.py: Doc 2002-11-21 18:24 Martin Pool * Makefile.in, src/cpp.c, src/cpp.h, src/distcc.c: dcc_cpp_maybe: Split code to run preprocessor into its own file. 2002-11-21 18:09 Martin Pool * test/testdistcc.py: DaemonBadPort_Case: avoid polluting system log files. 2002-11-21 18:06 Martin Pool * src/distcc.c: Doc 2002-11-21 18:02 Martin Pool * Makefile.in: Remove obsolete/uncalled dist-python target Move comfychair into test/ 2002-11-21 17:21 Martin Pool * analog/.cvsignore: Ignore generated refererlog 2002-11-21 17:16 Martin Pool * test/: .cvsignore, comfychair.py: Move comfychair into test/ 2002-11-21 17:06 Martin Pool * cases/empty.i: empty .i file 2002-11-21 17:05 Martin Pool * DEPENDENCIES: popt is now included in package 2002-11-21 17:02 Martin Pool * src/serve.c: Doc 2002-11-21 12:04 Martin Pool * doc/to-test.txt: Add list of trees that would be interesting to test 2002-11-20 11:47 Martin Pool * NEWS, configure, configure.ac, src/config.h.in: Fix autoconf detection of resolv.h on Solaris. (Dimitri Papadopoulos) 2002-11-20 11:30 Martin Pool * NEWS: Add badly-behaved compiler drop-in for use in testing. 2002-11-19 14:23 Martin Pool * test/badcc: Add badly-behaved compiler drop-in for use in testing. 2002-11-19 13:11 Martin Pool * NEWS, src/exec.c: * Fix waitpid() takes three options. Required for Irix. (Michael Santy) 2002-11-19 12:49 Martin Pool * Makefile.in: Remove obsolete comment. 2002-11-19 12:42 Martin Pool * Makefile.in: OK, now we use install-sh 2002-11-19 09:09 Martin Pool * analog/print_referers: Better line parser 2002-11-19 08:57 Martin Pool * analog/distcc.analog: Show more search words. 2002-11-19 08:54 Martin Pool * Makefile.in: Copy new EmptySource.py file into distribution 2002-11-19 08:52 Martin Pool * test/.cvsignore: Ignore .pyc files. 2002-11-19 08:48 Martin Pool * Makefile.in, NEWS, configure, configure.ac: Use the correct autoconf macros to detect whether install(1) is available and working, and if not, fall back to using the included install-sh script. This should fix "make install" on Solaris. (Mike Santy, Martin Pool) 2002-11-19 07:45 Martin Pool * test/testdistcc.py: todo 2002-11-18 13:05 Martin Pool * analog/report/.cvsignore: Ignore built files 2002-11-18 13:03 Martin Pool * NEWS, test/EmptySource.py, test/testdistcc.py: Add test case for transmission of a zero-byte file. 2002-11-18 13:01 Martin Pool * configure: autoconf 2002-11-16 12:27 Martin Pool * analog/images/: analogo.png, barc1.png, barc16.png, barc2.png, barc32.png, barc4.png, barc8.png, html2.png: Add analog images 2002-11-16 12:24 Martin Pool * analog/print_referers: Python script to print web referers 2002-11-16 12:22 Martin Pool * analog/distcc.analog: Get ready to include bar images in cvs 2002-11-16 12:19 Martin Pool * configure.ac: Bump version to 0.16cvs 2002-11-16 12:18 Martin Pool * Makefile.in: Include Scenarios page 2002-11-16 11:13 Martin Pool * OLDNEWS, NEWS: roll over news 2002-11-16 09:57 Martin Pool * configure, configure.ac: Bump version to 0.14 2002-11-15 18:10 Martin Pool * contrib/distccd-init: distccd Debian init.d script contributed by Jason Thomas. (Debian #161136) 2002-11-15 18:07 Martin Pool * NEWS: reformat only 2002-11-15 18:07 Martin Pool * NEWS: distccd Debian init.d script contributed by Jason Thomas. (Debian #161136) 2002-11-15 18:06 Martin Pool * Makefile.in: Include contrib files in distribution. 2002-11-15 10:06 Martin Pool * src/trace.h: Doc 2002-11-14 14:09 Martin Pool * NEWS: Make sure PreprocessPlainText_Case runs in the right directory. 2002-11-14 14:09 Martin Pool * test/testdistcc.py: TODO (thanks Oscar) 2002-11-14 14:00 Martin Pool * test/testdistcc.py: Make sure PreprocessPlainText_Case runs in the right directory. 2002-11-14 12:58 Martin Pool * Makefile.in: Make sure that if Latte processing fails, the output file is removed Remove obsolete maintainer-clean dependencies 2002-11-13 08:56 Martin Pool * configure, configure.ac, src/config.h.in, src/exec.c: Handle machines without wait4 by using waitpid instead. 2002-11-13 08:48 Martin Pool * configure.ac, NEWS: Test for wait4 and wait3, which are missing on IRIX (Mike Santy) 2002-11-13 08:46 Martin Pool * src/serve.c: Fix parameter type (suggestion from Dimitri Papadopoulos) 2002-11-13 07:47 Martin Pool * configure: autoconf 2002-11-13 07:44 Martin Pool * Makefile.in, NEWS: Fix silly bug that caused HTML documentation to be missing from the tarball 2002-11-13 07:43 Martin Pool * configure.ac: Bump version to 0.14 2002-11-13 07:14 Martin Pool * NEWS: Bump version to 0.14 2002-11-13 07:11 Martin Pool * src/distcc.c: Take lock on localhost only when compiling locally, not for all compilations. 2002-11-13 07:03 Martin Pool * OLDNEWS, NEWS: Roll over news 2002-11-13 07:01 Martin Pool * src/where.c: Remove dead code. 2002-11-13 06:02 Martin Pool * configure.ac: Bump version to 0.13.1cvs 2002-11-12 18:40 Martin Pool * README: Update README 2002-11-12 18:38 Martin Pool * configure, configure.ac: Prepare for 0.13 release 2002-11-12 18:34 Martin Pool * NEWS: Prepare for release. 2002-11-12 18:25 Martin Pool * test/testdistcc.py: More ComfyChair merges. 2002-11-12 18:24 Martin Pool * configure: autoconf 2002-11-12 18:23 Martin Pool * configure.ac: Remove --with-extra-includes and --with-extra-libs, because they just don't work well with autoconf, since they can only be specified once and repeated appearances will cause only the last to have effect. The official way for autoconf 2.5 is to set CPPFLAGS and LDFLAGS. 2002-11-12 18:21 Martin Pool * configure.ac: Change --with-included-popt if not specified, use if necessary if specified, then always (or never) use it 2002-11-12 18:20 Martin Pool * NEWS: If popt is missing and not specified, get it 2002-11-12 18:14 Martin Pool * configure.ac: If popt is missing and not specified, get it 2002-11-12 18:11 Martin Pool * Makefile.in: doh 2002-11-12 18:10 Martin Pool * Makefile.in: Clean popt, binaries, and testtmp from "clean" target. 2002-11-12 17:53 Martin Pool * NEWS: Merge tpot's comfychair patch 2002-11-12 17:47 Martin Pool * NEWS, configure, configure.ac, src/config.h.in: Add config options for included popt 2002-11-12 17:39 Martin Pool * configure.ac: Add --with-included-popt option 2002-11-12 17:37 Martin Pool * Makefile.in: Make 'all' the default 2002-11-12 17:36 Martin Pool * Makefile.in: Include other necessary files in distribution 2002-11-12 17:33 Martin Pool * Makefile.in: Clean up some Makefile targets Remove GNU makeisms Include popt in tarball 2002-11-12 17:17 Martin Pool * test/testdistcc.py: Make MissingCompiler_Case actually test what it's meant to test. Doc. 2002-11-12 17:11 Martin Pool * NEWS: Update news 2002-11-12 17:08 Martin Pool * linuxdoc/distcc.sgml: Add new exit codes. Bump version to 0.13. 2002-11-12 17:03 Martin Pool * src/: exitcode.h, exec.c: Add EXIT_COMPILER_MISSING 2002-11-12 16:28 Martin Pool * Makefile.in: Doc 2002-11-12 08:16 Martin Pool * aclocal.m4, configure, configure.ac, src/config.h.in, src/srvnet.c: Make inclusion of arpa/nameser.h and resolv.h conditional 2002-11-08 18:51 Martin Pool * src/distcc.c: Fix prototypes 2002-11-08 18:51 Martin Pool * src/exec.c: Doc 2002-11-08 18:50 Martin Pool * src/distcc.c: On the client, we should take locks only when compiling locally. cpp is cheap enough that it doesn't really need to be taken into account. 2002-11-08 18:49 Martin Pool * src/exec.c: Do not take a lock on localhost when spawning commands. This is intended to get rid of a race condition that will sometimes deadlock the client: Two clients, P1 and P2, are both trying to compile on remote machine R. Therefore, they both need to get a lock on localhost to run cpp, and on R. If they acquire the locks in the opposite order, then they will block holding locks, and deadlock. The ordering is indeterminate because the cpp lock is acquired from the separate process forked to run cpp. This was not evident in 0.12 and earlier because there was no limit on the number of locks that could be taken. On the server side, there are better places to regulate process load than here. We should instead hold off on accepting connections until we have space to handle them. On the client, we should take locks only when compiling locally. cpp is cheap enough that it doesn't really need to be taken into account. 2002-11-08 17:39 Martin Pool * cases/: cpp-set-path.c, foo.h, hello.c: Add small files for exploring gcc behaviour 2002-11-05 05:47 Martin Pool * src/exec.c: BSD needs signal.h. Thanks to Ajay Agrawalla. 2002-11-01 19:12 Martin Pool * test/testdistcc.py: MissingCompiler_Case: Fix function name 2002-11-01 19:11 Martin Pool * src/serve.c: dcc_accept_job: Fix little prototype consistency mistake 2002-11-01 19:08 Martin Pool * test/testdistcc.py: Doc 2002-11-01 19:08 Martin Pool * src/serve.c: Drop support for using fifos on the server. Run compilers in their own process group, and kill them if the daemon is killed. Copy server's output into the error log, and try to always send it back to the client even if something goes wrong. 2002-11-01 19:06 Martin Pool * src/: io.c, rpc.c: Use error codes more consistently 2002-11-01 19:06 Martin Pool * src/exitcode.h: Add EXIT_TRUNCATED and EXIT_PROTOCOL_ERROR 2002-11-01 19:05 Martin Pool * src/: exec.c, exec.h: Add new utilities: dcc_reset_signal, and dcc_setpgid Doc 2002-11-01 19:03 Martin Pool * src/dparent.c: Better doc and messages 2002-11-01 19:02 Martin Pool * src/distcc.c: If cpp returns an error, don't bother trying to run the compilation locally. Upgrade notice -> warning on failure to distribute. Only show warning or higher on the client by default. Don't abruptly close the connection if the remote compiler fails. 2002-11-01 18:58 Martin Pool * src/bulk.c: Tidyup 2002-11-01 18:58 Martin Pool * README: Mention DISTCC_LOG and possible future ssh support 2002-11-01 18:57 Martin Pool * NEWS: Temporarily remove limit on number of local tasks, because this can cause a deadlock. Client does not abruptly drop network connection on compiler failure but rather reads the 0-byte object file token. (Martin Pool) Rework logger library to allow multiple logger callbacks to be active at once. This is used for the server, which can write to its own log files and also send a copy of messages to a buffer to be sent to the client. 2002-11-01 18:53 Martin Pool * samples/: bad.c, badcpp.c, hello.c: Add small sample source files 2002-11-01 17:54 Martin Pool * test/testdistcc.py: * Allow distcc's version to be set to something like "0.13cvs-nofifo". * Add test for handling of a compiler missing from the server. 2002-11-01 17:51 Martin Pool * src/distcc.c, src/dparent.c, src/exec.c, src/serve.c, src/where.c, NEWS: * Remove support for feeding the compiler from a fifo. The gain from using fifos does not seem to justify the maintenance burden. (Martin Pool) - This makes the behaviour more consistent, because some platforms (Cygwin) or filesystems (NFS, strangely) can't use fifos. It removes a code path and a slightly complex autodetection. - Using fifos makes some potential scheduling improvements hard: the server can't make good decisions about how many tasks to run, because each one will only use a fraction of the CPU. The client cannot serialize file transmission, which would probably be desirable. - Using fifos makes reliably handling compiler failures slightly harder: the compiler may crash or exit at any time, which will in turn cause the server to hang if it later tries to open or write to the fifo. In previous versions, distcc tried to handle this by catching SIGCHLD when the child terminated, and aborting the operation, but I am not sure that the method is completely reliable. * Use return codes more consistently * Change log levels slightly to try to make sure nothing is emitted for successful compilation or even only compiler errors. * Detached daemon now ignores hangup signal. * Follow Unix convention of returning 128+SIGNAL if the compiler exits with a signal. (Martin Pool) * Write server error messages to a log file and send them back to the client on completion. 2002-11-01 17:25 Martin Pool * src/daemon.c: Doc 2002-10-31 13:40 Martin Pool * NEWS: More news 2002-10-31 13:28 Martin Pool * Makefile.in: Add TARGET_ROOT Makefile variable for installation, when building binary packages. 2002-10-31 13:15 Martin Pool * NEWS, src/daemon.c, src/exec.c, src/serve.c: Log messages on the server of severity "warning" or higher are captured and sent back to the client. Do not use atexit() to clean up temporary files, because this can cause havoc if it's ever called from a child process that forked but failed to exec. 2002-10-31 13:11 Martin Pool * src/tempfile.c: Show trace message when temporary files are deleted 2002-10-31 13:11 Martin Pool * src/: trace.c, trace.h, distcc.c: Change the logger callback system so that multiple loggers may be attached at any time. 2002-10-31 12:35 Martin Pool * src/exec.c: Add trace message for EINTR failure of wait4, because we don't really expect it to happen. Doc. 2002-10-31 12:34 Martin Pool * src/distcc.h: Define true and false for clarity 2002-10-31 12:33 Martin Pool * Makefile.in: Include autogen.sh in dist 2002-10-31 12:32 Martin Pool * configure.ac, src/distcc.c: Doc 2002-10-31 12:32 Martin Pool * news.emacs: No tabs please 2002-10-21 20:33 Martin Pool * analog/distcc.analog: Exclude distcc.samba.org from referrer calculations 2002-10-18 16:45 Martin Pool * DEPENDENCIES: Add URL for popt 2002-10-18 11:58 Martin Pool * NEWS: Note Makefile fixes 2002-10-18 11:57 Martin Pool * configure, configure.ac: Don't use -MD because there seems not to be a portable way to include the results in the Makefile 2002-10-18 11:55 Martin Pool * Makefile.in: Check that programs have been built before trying to install them 2002-10-18 11:53 Martin Pool * Makefile.in: Put back pkgdoc_DOCS, which somehow got lost Distribute pkgdocs as well 2002-10-18 11:46 Martin Pool * aclocal.m4, configure: Run autoconf 2002-10-18 11:45 Martin Pool * popt/: findme.c, findme.h, popt.c, popt.h, poptconfig.c, popthelp.c, poptint.h, poptparse.c, system.h: Import popt-1.7 2002-10-18 11:41 Martin Pool * README.popt: Start adding included popt 2002-10-18 11:38 Martin Pool * README.packaging, Makefile.in: Add note to packagers 2002-10-18 11:29 Martin Pool * Makefile.in, configure.ac: Remove reference to src/Makefile.in 2002-10-18 11:29 Martin Pool * NEWS, src/Makefile.in: Get rid of Makefile recursion; build all source from the toplevel Makefile 2002-10-18 11:22 Martin Pool * Makefile.in, .cvsignore: Get rid of Makefile recursion; build all source from the toplevel Makefile Binaries are now deposited into the top-level directory Drop obsolete pyunit rules 2002-10-18 10:36 Martin Pool * src/distcc.c: Test that the .i file exists before trying to transmit it to the server. Doc. 2002-10-17 18:33 Martin Pool * src/arg.c: Better message for object or output files 2002-10-17 18:32 Martin Pool * NEWS, test/testdistcc.py: Add test case for invocations like "distcc -c test1.c test2.c". 2002-10-17 18:22 Martin Pool * test/testdistcc.py: Doc 2002-10-17 18:21 Martin Pool * NEWS, test/testdistcc.py: Add test case for preprocessing non-C text, as is done by (for example) xrdb. Remove done TODOs 2002-10-17 18:07 Martin Pool * test/testdistcc.py: Add test case for #error directive 2002-10-17 13:40 Martin Pool * NEWS, linuxdoc/distcc.sgml: More Gentoo notes from Ernesto 2002-10-17 13:29 Martin Pool * linuxdoc/distcc.sgml, NEWS: Add Gentoo documentation from Dean Bailey 2002-10-16 11:00 Martin Pool * Makefile.in: Don't use "make -C" because some non-GNU makes don't support -C. Instead, explicitly cd, and do it in a way that better allows parallelism. 2002-10-11 11:45 Martin Pool * NEWS, test/testdistcc.py: Split out tests for implied compiler name into their own class 2002-10-11 11:40 Martin Pool * doc/lock-deadlock.txt: Doc deadlock observed in 0.13cvs 2002-10-10 12:56 Martin Pool * Makefile.in: Include where.h 2002-10-10 12:56 Martin Pool * src/Makefile.in: Cope when there are no .d files 2002-10-10 12:52 Martin Pool * Makefile.in: Clean up the dist targets; include new patches 2002-10-10 12:33 Martin Pool * packaging/SuSE/init.d/distcc, NEWS: SuSE init.d script from Brandon Forehand 2002-10-10 11:47 Martin Pool * patches/: colorgcc, distcc-hostlist.diff: Patches from Charles Samuels to store hosts in a file, and to run distcc through colorcc. 2002-10-10 10:54 Martin Pool * src/distcc.c: Add FIXME 2002-10-10 00:33 Martin Pool * src/: distcc.c, distcc.h, exec.c, exec.h, lock.h, serve.c, where.c, where.h: In lock debug messages, show whether we're running the compiler or the preprocessor. 2002-10-07 23:20 Martin Pool * NEWS: Doc 2002-10-07 23:13 Martin Pool * src/where.c: Add trace 2002-10-07 23:03 Martin Pool * src/lock.c: Fix parameters for fcntl locks 2002-10-07 23:02 Martin Pool * src/where.c: Add trace Use pid+ppid as a seed for randomly choosing a host when we can't find a free one. 2002-10-07 22:54 Martin Pool * src/: Makefile.in, distcc.c, distcc.h, hosts.h, lock.c, lock.h, where.c: Add code to wait for a blocking lock if no host is immediately free. 2002-10-07 22:10 Martin Pool * NEWS, src/dparent.c: When the parent is terminated, don't kill its process group. Allow children to finish in their own time. 2002-10-07 22:08 Martin Pool * src/Makefile.in: Include generated dependencies 2002-10-07 18:17 Martin Pool * test/testdistcc.py: NoDetachDaemon_Case: Fix bug in arguments for starting --no-detach daemon Correctly wait for daemon after signalling Fix log message 2002-10-07 15:07 Martin Pool * test/testdistcc.py: Move code for explaining failures into test case Move setUp/runTest/tearDown structure into framework runCmdNoWait(): take a list Add test case for --no-detach (broken) 2002-10-07 14:37 Martin Pool * NEWS: Nicer handling of ^C while running tests: print "INTERRUPT" and terminate the whole test 2002-10-07 14:36 Martin Pool * test/testdistcc.py: New runCmdNoWait function needs argument as string, not list 2002-10-07 14:28 Martin Pool * test/testdistcc.py: When killing daemon, ping every 200ms to try to notice faster that it's finished. Clean up some function names. Add unused DetachDaemon_Case 2002-10-07 13:57 Martin Pool * NEWS, src/dopt.c, src/dparent.c, src/opt.h: Add --no-detach option 2002-10-07 13:52 Martin Pool * NEWS, src/h_hosts.c, src/hosts.c, src/hosts.h, src/lock.c, src/where.c, test/testdistcc.py: Add per-host limit on number of compile slots to dcc_hostdef structure. Not used yet, and always set to 4. 2002-10-07 13:06 Martin Pool * NEWS, OLDNEWS, configure, configure.ac: Advance version to 0.13cvs 2002-10-07 12:39 Martin Pool * NEWS, aclocal.m4, configure, configure.ac: Bump version to 0.12 2002-10-07 12:34 Martin Pool * src/where.c: Doc 2002-10-07 12:29 Martin Pool * linuxdoc/distcc.sgml: Bump to version 0.12 2002-10-07 12:16 Martin Pool * linuxdoc/distcc.sgml: Note on adaptive scheduling 2002-10-07 11:35 Martin Pool * NEWS, src/clinet.c, src/clinet.h, src/distcc.c, src/exec.c, src/exec.h, src/hosts.c, src/hosts.h, src/lock.c, src/where.c: Roll back multi-A-record patch: seems to break the test suite, and on further consideration I think just SRV records might be cleaner. 2002-10-07 11:19 Martin Pool * test/testdistcc.py: Doc 2002-10-07 11:15 Martin Pool * src/hosts.c: Doc about handling host list. 2002-10-07 11:04 Martin Pool * linuxdoc/distcc.sgml: Add note about performance test suite. 2002-10-06 21:37 Martin Pool * aclocal.m4, configure, configure.ac: Bump version to 0.12cvs 2002-10-04 11:53 Martin Pool * NEWS: foo 2002-10-02 15:03 Martin Pool * src/arg.c: Add fixme 2002-10-02 14:55 Martin Pool * src/distcc.c: Add fixme 2002-10-02 13:03 Martin Pool * linuxdoc/distcc.sgml: Note about starting the daemon 2002-10-02 12:47 Martin Pool * doc/irc/: slashnet-distcc-20020919.txt, slashnet-distcc-20021002.txt: Check in IRC logs 2002-09-30 23:06 Martin Pool * src/h_hosts.c: Fix extra headers to allow for host definitions that now include an IP address. 2002-09-30 23:01 Martin Pool * NEWS, configure, src/clinet.c, src/clinet.h, src/distcc.c, src/exec.c, src/exec.h, src/hosts.c, src/hosts.h, src/lock.c, src/where.c: Handle DNS A records that give multiple IP addresses for a host by distributing work across all the addresses. This should allow you to create "linux.build.squick.net" that resolves to all the relevant machines. Patch from Andreas Granig, but seems to break some tests. 2002-09-30 16:06 Martin Pool * NEWS, src/serve.c: wait4() on Solaris can't handle a pid of -1, which means "any child" on Linux and BSD. Use pid of 0 instead to collect any children from the same process group. (Kevin Bailey) 2002-09-30 15:44 Martin Pool * NEWS, src/arg.c, test/testdistcc.py: Add tests for "gcc -S -o - foo.c" 2002-09-30 14:04 Martin Pool * linuxdoc/distcc.sgml: Update version to 0.11 2002-09-30 14:00 Martin Pool * linuxdoc/distcc.sgml: Remove done TODO 2002-09-30 13:46 Martin Pool * Makefile.in: Add roadmap 2002-09-27 14:50 Martin Pool * NEWS, src/arg.c: Handle "gcc -S foo.c -o -", which ought to write assembly to stdout. 2002-09-27 14:20 Martin Pool * src/where.c: Add fixme 2002-09-27 14:03 Martin Pool * Makefile.in: Add results page 2002-09-27 13:55 Martin Pool * survey.txt: Add qn about distcc version 2002-09-26 16:19 Martin Pool * NEWS, OLDNEWS: Roll over NEWS 2002-09-25 16:36 Martin Pool * src/implicit.c: Doc 2002-09-25 11:54 Martin Pool * NEWS, configure, configure.ac: Bump version to 0.11 2002-09-25 11:43 Martin Pool * Makefile.in, patches/README.patches, patches/granig_distcc_multi-A-record.diff: Add patches/README, and Andrea Granig's multi-A-record patch 2002-09-25 11:39 Martin Pool * Makefile.in: Include patches in distributed tarball 2002-09-25 11:37 Martin Pool * linuxdoc/distcc.sgml: GNU Info can't handle having two sections with the same heading 2002-09-24 18:18 Martin Pool * NEWS, src/strip.c: Fix (non-exploitable) buffer overrun bug. 2002-09-23 22:47 Martin Pool * NEWS: Update news 2002-09-23 22:31 Martin Pool * src/strip.c: List -MD, etc, separately, because we don't know how other -M options will be parsed in the future. 2002-09-23 22:29 Martin Pool * src/strip.c: Strip -MF -MT -MQ options that are followed by a filename 2002-09-23 22:24 Martin Pool * src/arg.c: Add support for gcc-3.2 new -M options (-MG, etc) 2002-09-23 15:25 Martin Pool * linuxdoc/distcc.sgml: Update todo list. Add section discussing ccache and distcc 2002-09-23 15:17 Martin Pool * patches/joerg-proof-build-01.diff: Patch from Joerg to do "proof" by compiling a file on all machines and checking that they're the same. 2002-09-23 14:56 Martin Pool * NEWS, src/daemon.c: Do not object to running as group 0, because on BSD this is "wheel" and many non-privileged users are in it. 2002-09-23 12:46 Martin Pool * doc/scheduling.txt: More notes 2002-09-20 12:37 Martin Pool * src/arg.c: Doc 2002-09-20 11:39 Martin Pool * NEWS, src/strip.c, test/testdistcc.py: Strip more local-only options Add more tests for argument stripping dcc_strip_local_args: trace result on completion 2002-09-20 10:30 Martin Pool * test/testdistcc.py: Doc 2002-09-20 10:14 Martin Pool * src/arg.c: Doc. 2002-09-19 00:33 Martin Pool * src/bulk.c: Mode on received files should be 0666&~umask 2002-09-19 00:06 Martin Pool * src/serve.c: Doc 2002-09-18 22:58 Martin Pool * src/serve.c: Doc 2002-09-18 21:36 Martin Pool * NEWS, src/bulk.c, src/daemon.c, test/testdistcc.py: Make permissions on output files obey umask, etc. Add test case for this. Add option to test case driver to run particular specified tests. 2002-09-18 16:57 Martin Pool * src/distcc.c, src/h_scanargs.c, src/implicit.c, src/implicit.h, test/testdistcc.py: Rename dcc_add_implicit to dcc_find_compiler Remove "distcc hello.o -o hello" case -- too hard at the moment. 2002-09-18 16:47 Martin Pool * src/: distcc.c, h_scanargs.c, implicit.c, implicit.h: Reduce too-long function name 2002-09-18 16:42 Martin Pool * src/implicit.c: Doc. 2002-09-18 16:39 Martin Pool * test/testdistcc.py: Add implicit linker test: "distcc testtmp.o -o testtmp" 2002-09-18 16:36 Martin Pool * test/testdistcc.py: Fix tests for -MD that were giving a false pass Add basic tests for implict compiler names. 2002-09-18 16:33 Martin Pool * NEWS, src/Makefile.in, src/h_scanargs.c, test/testdistcc.py: Add more test cases for implicit compiler name handling. Extend h_scanargs to exercise this. 2002-09-18 16:32 Martin Pool * src/arg.c: Fix doc. 2002-09-18 13:29 Martin Pool * NEWS: Release name 2002-09-18 10:45 Martin Pool * doc/results.txt: Add results on building inside VMWare 2002-09-17 18:49 Martin Pool * src/io.c: Doc. 2002-09-17 13:59 Martin Pool * src/srvnet.c: resolv.h might need sys/types.h on BSD? 2002-09-17 13:58 Martin Pool * src/implicit.c: Might need sys/types.h on BSD? 2002-09-16 18:14 Martin Pool * src/clinet.c: Fix docs 2002-09-16 11:02 Martin Pool * Makefile.in: Upload "tested" page 2002-09-16 11:01 Martin Pool * README: Update readme text 2002-09-14 19:02 Martin Pool * src/srvnet.c: Cope without hstrerror(). Thanks to Richard Zidlicky 2002-09-14 18:59 Martin Pool * configure, configure.ac, src/config.h.in: Check for presence of hstrerror function. Richard Zidlicky reports that it is missing in libc5 2002-09-14 18:54 Martin Pool * src/srvnet.c: Cope without socklen_t. Thanks to Richard Zidlicky 2002-09-14 18:53 Martin Pool * configure, configure.ac, src/config.h.in: Check for socklen_t 2002-09-14 18:46 Martin Pool * src/clinet.c, NEWS: Remove unnecessary sa_family_t cast. (Richard Zidlicky) 2002-09-14 13:35 Martin Pool * NEWS: Doc 2002-09-14 13:20 Martin Pool * NEWS, configure, configure.ac, src/config.h.in: More helpful message explaining that popt is needed if it is missing at build time. 2002-09-14 10:58 Martin Pool * configure.ac: Doc 2002-09-14 10:52 Martin Pool * src/dparent.c: Don't set cloexec() on the accept fd -- this seems to make it close after the first compiler runs. 2002-09-14 10:51 Martin Pool * NEWS, test/testdistcc.py: Create and use a separate TMPDIR for each test case. Also, rename subdirectories of testtmp 2002-09-14 10:46 Martin Pool * src/serve.c: Doc. 2002-09-14 10:38 Martin Pool * src/serve.c: Doc. 2002-09-14 10:11 Martin Pool * src/: dparent.c, exec.c: Don't close all fds when starting the compiler, because this gets a bit confusing with logs and lock files. However, do set CLOEXEC on the network fds, because the compiler should never be writing to them. 2002-09-14 09:52 Martin Pool * src/lock.c, NEWS: Fix leakage of fds when trying to get a lock. 2002-09-14 09:51 Martin Pool * src/util.c: Doc. 2002-09-14 09:50 Martin Pool * src/exec.c: Move lock prototypes to lock.h 2002-09-14 09:48 Martin Pool * src/: lock.h, distcc.h: Rearrange prototypes 2002-09-14 09:47 Martin Pool * Makefile.in, src/Makefile.in, src/exec.c, src/hosts.c, src/lock.c, src/lock.h, src/where.c: Split locking code out into a separate file so that it can be used by the server as well 2002-09-14 09:46 Martin Pool * test/testdistcc.py: Run daemon with --verbose 2002-09-14 09:33 Martin Pool * src/exec.c: dcc_execvp doesn't return 2002-09-14 09:32 Martin Pool * NEWS: Whenever a command by either the client or the server, it counts towards the load on that machine. This covers undistributed commands, cpp, and compilation. 2002-09-14 09:32 Martin Pool * src/distcc.c: dcc_compile_local: Don't need to take a lock as a special case; this is always done now 2002-09-14 09:30 Martin Pool * src/exec.c: dcc_inside_child: Take a lock on localhost for all executed commands 2002-09-14 09:08 Martin Pool * test/testdistcc.py: Doc 2002-09-14 08:42 Martin Pool * src/serve.c: Doc 2002-09-14 08:41 Martin Pool * src/exec.c, NEWS: dcc_inside_child: new function to handle setup and execution of children. Now checks return codes, and makes sure (very important!) that we can never return above the fork() call. 2002-09-14 08:33 Martin Pool * src/exec.c: dcc_redirect_fds: If any redirection fails, return that error. 2002-09-14 08:32 Martin Pool * src/util.c: Needs exitcode.h 2002-09-14 08:31 Martin Pool * src/util.c: dcc_redirect_fd: Return EXIT_IO_ERROR not -1 for error 2002-09-14 08:30 Martin Pool * src/util.c: dcc_redirect_fd: Remove calls to rs_fatal() in favour of returning an error. 2002-09-14 08:28 Martin Pool * src/tempfile.c: Doc 2002-09-14 08:26 Martin Pool * OLDNEWS, NEWS: Roll over NEWS 2002-09-14 08:25 Martin Pool * src/io.c: Failure to write should be an error, but not fatal. We might want to do something to make sure the process unwinds properly. 2002-09-14 08:23 Martin Pool * src/serve.c: Doc 2002-09-13 17:52 Martin Pool * linuxdoc/distcc.sgml: Update libtool situation. 2002-09-13 15:40 Martin Pool * doc/ssh-notes.txt: Back-of-envelope calculations on using SSH. 2002-09-13 13:08 Martin Pool * src/: arg.c: Doc. 2002-09-13 13:02 Martin Pool * src/arg.c: Doc. 2002-09-13 12:58 Martin Pool * src/serve.c: Doc. 2002-09-13 12:55 Martin Pool * src/serve.c: Remove done todo 2002-09-13 12:29 Martin Pool * Makefile.in: Remove done TODO 2002-09-13 12:28 Martin Pool * Makefile.in: Include new header file 2002-09-13 12:27 Martin Pool * configure, configure.ac: Bump version to 0.10.1 2002-09-13 12:24 Martin Pool * src/serve.c: Define W_EXITCODE with standard Unix meaning if it is missing. 2002-09-13 12:22 Martin Pool * src/: distcc.c, distcc.h, exec.c, exec.h, serve.c: Split headers, also fix fact that pid_t is in sys/types.h. 2002-09-13 12:20 Martin Pool * configure, configure.ac: Bump version to 0.10.1cvs 2002-09-12 21:38 Martin Pool * linuxdoc/distcc.sgml, src/distcc.c: Update for new syntax, 'distcc -c hello.c' 2002-09-12 21:28 Martin Pool * configure, configure.ac: Bump version to 0.10. 2002-09-12 21:20 Martin Pool * NEWS: Add release name. 2002-09-12 21:00 Martin Pool * NEWS: Strip emacs stuff. 2002-09-12 20:43 Martin Pool * NEWS, src/filename.c, test/testdistcc.py: It turns out that .s and .S files in fact cannot be assembled remotely, because they might use the gas '.include' pseudo op, which is resolved by the assembler and would end up reading something from the volunteer's disk. Thanks to Richard Zidlicky for pointing this out. 2002-09-12 20:15 Martin Pool * test/testdistcc.py: Doc. 2002-09-12 14:30 Martin Pool * src/: arg.c: Note about difficulties of included files in .s and .S. 2002-09-12 12:14 Martin Pool * test/testdistcc.py: Update regexp to handle new "cannot distribute" message format. 2002-09-12 11:20 Martin Pool * src/strip.c: Remove dumb overoptimization that mangled command lines 2002-09-12 11:17 Martin Pool * src/strip.c, NEWS: Strip -M* from remote command lines as well. 2002-09-12 11:13 Martin Pool * configure.ac: If using gcc, use -MMD for dependency files. 2002-09-12 11:03 Martin Pool * src/distcc.c, NEWS: If distribution fails, show the name of the server that we were trying to use. 2002-09-12 10:58 Martin Pool * src/implicit.c: Document design tradeoffs about implicit compiler names. 2002-09-12 10:34 Martin Pool * src/: distcc.c, distcc.h, hosts.c, implicit.c, implicit.h, where.c: Allow distcc to be directly used with the same syntax as a compiler: "distcc -c hello.c". At the moment, always calls "cc". 2002-09-11 17:19 Martin Pool * Makefile.in, NEWS, src/Makefile.in, src/arg.c, src/distcc.c, test/testdistcc.py: Allow distcc to be directly used with the same syntax as a compiler: "distcc -c hello.c". At the moment, always calls "cc". 2002-09-11 17:02 Martin Pool * src/: distcc.c, arg.c: Remove done todos. 2002-09-11 16:44 Martin Pool * NEWS, src/distcc.c, src/h_strip.c, src/strip.c, src/strip.h: Also strip -L arguments before passing across the network. There's no good reason why they should be on compilation lines, but it does happen in GNOME. 2002-09-11 16:26 Martin Pool * src/distcc.c: Strip -D and -I options before passing the command line across the network, for clarity (and perhaps a tiny performance improvement.) 2002-09-11 16:22 Martin Pool * NEWS: Strip -D and -I options before passing the command line across the network, for clarity (and perhaps a tiny performance improvement.) 2002-09-11 16:20 Martin Pool * NEWS, test/testdistcc.py: Add test case that uses -D on the compiler command line 2002-09-11 16:00 Martin Pool * test/testdistcc.py: Add test cases for scanning -Mfoo 2002-09-11 15:56 Martin Pool * test/testdistcc.py: Add test case for arg stripping 2002-09-11 15:37 Martin Pool * Makefile.in, src/.cvsignore, src/Makefile.in, src/h_strip.c, src/strip.c, src/strip.h, src/util.h: Add code to strip -D and -I from command lines before passing them, and test harness for same. 2002-09-11 13:08 Martin Pool * src/distcc.c: Doc 2002-09-11 12:43 Martin Pool * src/distcc.c: Doc from tpot 2002-09-09 22:44 Martin Pool * test/testdistcc.py, NEWS: Add a test for running 100 compilations simultaneously. 2002-09-09 18:56 Martin Pool * src/serve.c: Doc. 2002-09-09 18:31 Martin Pool * src/dopt.c: Doc. 2002-09-09 16:13 Martin Pool * src/bulk.c: Log info message giving length after receiving files. 2002-09-09 16:09 Martin Pool * src/arg.c: Fix docs. 2002-09-09 13:19 Martin Pool * NEWS, src/arg.c: Allow -MD and -MMD to be distributed, since the compiler will produce a little file locally. 2002-09-09 12:58 Martin Pool * test/testdistcc.py: Add todo 2002-09-09 11:23 Martin Pool * src/distcc.c, NEWS: Try to make sure to uncork client socket before closing if cpp fails, to work around Linux 2.2 bug that causes the socket to jam in FIN_WAIT1. 2002-09-09 10:34 Martin Pool * src/arg.c: Doc 2002-09-08 18:13 Martin Pool * NEWS, test/testdistcc.py: Test many simple compilations, in case there is an infrequent error. 2002-09-08 17:17 Martin Pool * test/testdistcc.py: Actually run CppError_Case 2002-09-08 17:15 Martin Pool * src/exec.c: Remove old doc. dcc_collect_child: Show pid returned from wait4, not input pid. Much better if called with -1. 2002-09-08 17:12 Martin Pool * src/serve.c: Factor out code for trapping child exit into new routine. 2002-09-08 17:08 Martin Pool * NEWS: update news 2002-09-08 17:08 Martin Pool * src/util.h: dcc_remove_if_exists: new function 2002-09-08 17:07 Martin Pool * src/serve.c: Remove pid variable which was causing trouble by not being initialized before the child exited. Instead, just wait(-1) to collect whatever child was started. 2002-09-08 17:03 Martin Pool * src/exec.c: When redirecting an fd in a new process, remove the file if it already exists. 2002-09-08 16:59 Martin Pool * src/tempfile.c: dcc_remove_if_exists: new common function 2002-09-08 16:56 Martin Pool * src/: util.h, exec.c: dcc_redirect_fd: Make name consistent. 2002-09-08 16:56 Martin Pool * src/util.c: dcc_redirect_fd: Make name consistent. Better error messages. 2002-09-08 15:54 Martin Pool * NEWS, src/distcc.c: If .o file is 0 bytes or not created on the server, do not create it on the client either. 2002-09-08 15:53 Martin Pool * NEWS, src/serve.c: Attempt to fix a race where the compiler process could exit without opening its input before we started writing to the FIFO. In that case, the daemon would hang forever waiting for the compiler to arrive. In the new code, SIGCHLD causes a longjmp to break out of trying to feed the compiler. 2002-09-08 15:25 Martin Pool * src/serve.c: Doc. 2002-09-08 15:01 Martin Pool * NEWS, src/serve.c: If the volunteer compiler exits without reading all of its input, return the compiler's own exit code across the network, rather than EXIT_DISTCC_FAILED. 2002-09-08 14:54 Martin Pool * src/serve.c: remove done todo 2002-09-08 14:48 Martin Pool * NEWS, test/testdistcc.py: Test compiler that succeeds without reading input. 2002-09-08 14:29 Martin Pool * NEWS, test/testdistcc.py: Test handling of a file that causes a preprocessor error. 2002-09-08 14:19 Martin Pool * Makefile.in: Don't upload Latte source. 2002-09-06 14:39 Martin Pool * src/distcc.c: Add fixmes. 2002-09-05 17:56 Martin Pool * src/zip.c: Doc. 2002-09-05 11:05 Martin Pool * test/testdistcc.py: todo 2002-09-05 10:07 Martin Pool * src/exec.c: Doc waitstatus requirements. 2002-09-04 16:14 Martin Pool * NEWS: Modified patch from Alexandre Oliva to handle "distcc -c -S testtmp.c". 2002-09-04 16:11 Martin Pool * test/testdistcc.py: Test case for "distcc -c -S testtmp.c", reported by Alexandre Oliva 2002-09-04 16:08 Martin Pool * src/arg.c: Modified patch from Alexandre Oliva to handle "distcc -c -S testtmp.c". 2002-09-04 15:53 Martin Pool * test/testdistcc.py: Test case for "distcc -c -S testtmp.c", reported by Alexandre Oliva 2002-09-04 13:48 Martin Pool * src/serve.c: Doc. 2002-09-04 13:46 Martin Pool * linuxdoc/distcc.sgml: Notes on getloadavg() 2002-09-04 12:59 Martin Pool * doc/lzo-notes.txt: Notes on LZO compression 2002-09-04 12:53 Martin Pool * src/srvnet.c: Use additional headers possibly required on Solaris. 2002-09-04 12:52 Martin Pool * src/config.h.in: Check for -lresolv 2002-09-04 12:51 Martin Pool * NEWS: Solaris portability fixes 2002-09-04 12:49 Martin Pool * configure: Look for -lresolv, needed on Solaris. http://docs.sun.com/?q=hstrerror&p=/doc/816-3322/6m9k32d1v&a=view Suggestion from Dimitri PAPADOPOULOS-ORFANOS. 2002-09-04 12:47 Martin Pool * analog/.cvsignore: Ignore downloaded logs 2002-09-04 12:40 Martin Pool * Makefile.in, src/Makefile.in: Solaris "install -d" can only create a single directory at a time. Suggestion from Dimitri PAPADOPOULOS-ORFANOS. 2002-09-04 12:38 Martin Pool * configure.ac: Look for -lresolv, needed on Solaris. http://docs.sun.com/?q=hstrerror&p=/doc/816-3322/6m9k32d1v&a=view Suggestion from Dimitri PAPADOPOULOS-ORFANOS. 2002-09-04 12:14 Martin Pool * src/distcc.c: Patch from Dimitri PAPADOPOULOS-ORFANOS to fix signedness warning. 2002-09-04 10:06 Martin Pool * linuxdoc/distcc.sgml: Note that server log messages stay on the server. 2002-09-03 18:13 Martin Pool * NEWS, OLDNEWS: Roll over NEWS 2002-09-03 18:12 Martin Pool * man/distccd.1: troff fix 2002-09-03 18:12 Martin Pool * man/distcc.1: Tiny troff fix 2002-09-03 18:09 Martin Pool * configure.ac: Set version to 0.10cvs 2002-09-03 18:02 Martin Pool * src/arg.c: Doc. 2002-09-03 18:00 Martin Pool * analog/distcc.analog: Turn on weekly report. Adjust floors. 2002-09-03 17:49 Martin Pool * Makefile.in: analog-download: Get archived log files 2002-09-03 15:45 Martin Pool * NEWS, configure, configure.ac: Bump version to 0.9 2002-09-03 14:03 Martin Pool * doc/results.txt: More results. 2002-09-03 14:02 Martin Pool * Makefile.in: Fix linuxdoc targets so that .ps and .info files don't get rebuilt if the .gz files are up-to-date. 2002-09-03 13:49 Martin Pool * Makefile.in: Doc. 2002-09-03 13:49 Martin Pool * Makefile.in: Change .gz rule to compress "in-place" 2002-09-03 13:48 Martin Pool * Makefile.in: Add new header files to list of things to distribute! 2002-09-03 13:40 Martin Pool * news.emacs: emacs stub to set up NEWS file. 2002-09-03 10:55 Martin Pool * linuxdoc/distcc.sgml: Split TODOs about load balancing out into their own section. Add nice suggestion from Oscar Esteban about allowing some jobs to be remotely queued. 2002-09-02 10:33 Martin Pool * linuxdoc/distcc.sgml: Add RFC for DNS SRV. 2002-09-02 10:32 Martin Pool * linuxdoc/distcc.sgml: More todo notes. 2002-09-02 09:21 Martin Pool * Makefile.in: Apache logs have moved on new samba.org machine 2002-09-02 09:17 Martin Pool * Makefile.in: Add analog-all target 2002-09-02 07:38 Martin Pool * src/distcc.c: Doc. 2002-09-02 07:16 Martin Pool * src/distcc.c: dcc_retrieve_results: If the remote compiler exited non-zero, but the transfer was successful, return 0, indicating that there is no point trying to re-run the job locally. 2002-09-02 07:12 Martin Pool * src/serve.c: If something went wrong running the compiler, then make sure the overall status is failure. However, only overwrite the status code if it was not already !0. 2002-09-02 07:07 Martin Pool * test/testdistcc.py: Set up a distcc client log file for all tests. 2002-09-02 07:02 Martin Pool * test/testdistcc.py: Add test case that runs /bin/false to simulate a compiler that fails without reading its input. 2002-09-01 15:33 Martin Pool * NEWS: Doc recent changes 2002-09-01 15:30 Martin Pool * src/bulk.c: Better message for the case where the compile command exits without opening the fifo. 2002-09-01 15:27 Martin Pool * src/serve.c: Fix message 2002-09-01 15:26 Martin Pool * src/serve.c: If compilation failed, then still collect the compiler child, and send back a reply, with the waitstatus forced to be failure. 2002-09-01 15:15 Martin Pool * src/distcc.c, NEWS: dcc_compile_remote: If transmission to the server fails, close the socket sooner rather than later so as not to make the server process wait around unnecessarily. 2002-09-01 15:12 Martin Pool * src/distcc.c: dcc_compile_remote: Split into smaller functions. 2002-09-01 15:02 Martin Pool * src/bulk.c: Doc. 2002-09-01 14:28 Martin Pool * NEWS: Add common routine for setting SIGPIPE handling. 2002-09-01 14:27 Martin Pool * src/serve.c: Split server-side compile code into slightly smaller functions If a network error is detected while feeding data to the compiler, then it is sent a SIGHUP. 2002-09-01 14:08 Martin Pool * NEWS, src/exec.c: Set SIGPIPE handler back to default before starting compiler tasks. 2002-09-01 14:06 Martin Pool * src/: clinet.c, serve.c, util.c, util.h: Add common routine for setting SIGPIPE handling. 2002-09-01 14:05 Martin Pool * test/testdistcc.py: Send distccd log to a file while testing -- easier for postmortems. 2002-09-01 13:56 Martin Pool * NEWS, src/dparent.c: Do not try to collect daemon children if --no-fork was specified. Otherwise that routine collects compilers, and gives crazy messages like "-2 children". 2002-09-01 13:43 Martin Pool * src/serve.c: Doc. 2002-09-01 09:18 Martin Pool * src/serve.c: Doc. 2002-09-01 09:09 Martin Pool * src/serve.c: Doc. 2002-09-01 09:07 Martin Pool * src/distcc.c: dcc_compile_remote: Better log message 2002-09-01 09:06 Martin Pool * src/serve.c: dcc_accept_job: Better log message 2002-09-01 09:05 Martin Pool * src/distcc.c: Fix silly parameter order bug. 2002-09-01 08:55 Martin Pool * src/dparent.c: Get rid of cloexec, just close fds by hand. 2002-09-01 08:52 Martin Pool * src/serve.c: Typo 2002-09-01 08:50 Martin Pool * src/exec.c, NEWS: Close extra file descriptors before starting the compiler. 2002-09-01 08:46 Martin Pool * src/dparent.c: Set close-on-exec flags on listen and accepted fds. 2002-09-01 08:43 Martin Pool * src/: util.c, util.h: set_cloexec_flag: new function 2002-09-01 08:39 Martin Pool * src/serve.c: Doc 2002-09-01 08:38 Martin Pool * src/: distcc.c, serve.c: dcc_accept_job: * Use new dcc_mkfifo routine to make sure the fifo is created properly. * Use new dcc_r_file_body, dcc_r_file and dcc_r_fifo routines to make sure each type of temporary file is opened in the right way. 2002-09-01 08:36 Martin Pool * src/daemon.c: tempfile.h: new header 2002-09-01 08:34 Martin Pool * NEWS: Doc mkfifo changes and BigAssFile_Case 2002-09-01 08:31 Martin Pool * src/tempfile.c: dcc_mkfifo: * New routine. * We now unlink before trying to create a fifo, to make sure that if somehow that name is already in use by a file or fifo we won't get confused. 2002-09-01 08:29 Martin Pool * src/: rpc.h, bulk.h: bulk.h: new header 2002-09-01 08:28 Martin Pool * src/io.c: needs exitcode.h 2002-09-01 08:27 Martin Pool * src/: bulk.c, dparent.c, where.c: tempfile.h: new header 2002-09-01 07:52 Martin Pool * src/: tempfile.h, distcc.h: Split out tempfile.c routines into their own header 2002-09-01 07:49 Martin Pool * src/bulk.c: Doc. dcc_r_file: * Unlink the name before starting to receive the file. This may prevent bugs where the name already existed as a fifo. The old code would have opened the fifo rather than replacing it, and therefore would hang. Afterwards, create with O_EXCL. * Check that the file is successfully closed. (Might catch ENOSPC or similar.) dcc_r_fd: Fix return code to be the result of transferring the contents of the file. 2002-09-01 07:40 Martin Pool * src/io.c: dcc_close: make return code consistent (EXIT_IO_ERROR, not errno) 2002-09-01 07:39 Martin Pool * src/exitcode.h: Add EXIT_IO_ERROR 2002-09-01 07:37 Martin Pool * src/io.c: dcc_close: log file descriptor correctly. 2002-08-31 14:50 Martin Pool * src/bulk.c: Doc 2002-08-31 14:45 Martin Pool * test/testdistcc.py, src/clinet.c: Doc 2002-08-31 14:43 Martin Pool * src/clinet.c: Doc. Make variables consistent. 2002-08-31 14:31 Martin Pool * src/distcc.c: Doc. 2002-08-31 14:23 Martin Pool * src/: bulk.c, serve.c: Doc. 2002-08-31 14:13 Martin Pool * src/: bulk.c, io.c, io.h, rpc.c, rpc.h, serve.c: dcc_r_token_int: Add common routine for reading token and parameter value. 2002-08-31 14:01 Martin Pool * src/rpc.c: Doc. 2002-08-31 13:58 Martin Pool * src/: io.c, io.h: dcc_write_token: remove dead function 2002-08-31 13:56 Martin Pool * src/io.c: Cleanup sendfile code somewhat. 2002-08-31 13:48 Martin Pool * NEWS, linuxdoc/distcc.sgml, src/distcc.c, src/io.c, src/tempfile.c, src/util.c, src/util.h: dcc_getenv_bool: Add parameter giving default value so that things can default to either on or off. Add new environment variable for client and server, DISTCC_TCP_CORK. Defaults to on, intended mostly for performance comparison or debugging. 2002-08-31 13:44 Martin Pool * src/rpc.c: Fix prototype Use dcc_x_token_int in one case I missed before 2002-08-31 12:41 Martin Pool * NEWS, src/bulk.c, src/distcc.c, src/rpc.c, src/rpc.h: Write token/parameters using a single write() call. May be very slightly more efficient in CPU and perhaps packets. 2002-08-31 12:13 Martin Pool * src/io.c: Doc. 2002-08-30 10:53 Martin Pool * src/dparent.c: Doc. 2002-08-30 10:51 Martin Pool * src/serve.c: Put cork in correct hole. 2002-08-29 11:43 Martin Pool * src/trace.c: Doc. 2002-08-29 11:18 Martin Pool * NEWS, src/io.c: Handle the case of sendfile() transmitting only part of the supplied data, similarly to a short write on a socket. This doesn't often happen, but can occur if a ptrace debugger attaches while sendfile is running. 2002-08-29 10:35 Martin Pool * NEWS, src/distcc.c: Message for completion of local cpp now gives the correct hostname. 2002-08-29 10:21 Martin Pool * src/Makefile.in: Include $CFLAGS when linking so that profiling works 2002-08-29 10:17 Martin Pool * NEWS: Display test names while they're running so that long tests are easier to follow. 2002-08-29 10:06 Martin Pool * NEWS: Doc 2002-08-29 10:05 Martin Pool * test/testdistcc.py: When trying to kill the daemon, keep pinging it to make sure it actually died. This prevents the cases sometimes tripping over each other. Fix damage to assembly cases from previous commit Doc Remove some dead code 2002-08-29 09:49 Martin Pool * src/dparent.c: Create the pid file from the parent process, so that we can be sure that it exists before the parent exits. 2002-08-29 09:24 Martin Pool * src/dparent.c: Turn on signal handlers in parent. Why were they off? 2002-08-29 08:50 Martin Pool * test/testdistcc.py: Add missing newline 2002-08-29 08:50 Martin Pool * test/testdistcc.py: Add test for compilation of a large file (200,000 lines) 2002-08-29 08:13 Martin Pool * src/serve.c: Uncork sock before exiting. 2002-08-29 06:50 Martin Pool * src/bulk.c: quote 2002-08-28 11:33 Martin Pool * test/testdistcc.py: Doc. 2002-08-28 10:35 Martin Pool * NEWS, src/tempfile.c: Properly support platforms with 32-bit pids, such as Cygwin. Patch from Aaron Lehmann. 2002-08-28 10:18 Martin Pool * src/Makefile.in: Remove 'check' target because it must be run from the parent 2002-08-26 09:37 Martin Pool * linuxdoc/distcc.sgml: Notes about Cygwin and LNX-BBC volunteers into TODO list. 2002-08-26 08:52 Martin Pool * NEWS, configure, configure.ac: On FreeBSD, the sa_family_t type is defined in (Patch from Dennis Taylor) 2002-08-26 08:48 Martin Pool * aclocal.m4, configure, configure.ac, NEWS: Bump version to 0.9cvs 2002-08-26 08:43 Martin Pool * NEWS, OLDNEWS: roll over news 2002-08-15 18:51 Martin Pool * configure: autoconf 2002-08-15 18:41 Martin Pool * configure.ac: Set version 2002-08-15 14:39 Martin Pool * NEWS: Ready for release. 2002-08-15 12:56 Martin Pool * src/distcc.c: Tweak message 2002-08-15 12:45 Martin Pool * test/testdistcc.py: Add assertReMatch utility function When testing invalid server names, look in the log for the warning message. 2002-08-15 12:24 Martin Pool * src/distcc.c: Only emit the "running locally" notice when the job ought to be distributed but is not. So having the host set to be local, or non-distributable arguments just silently works. 2002-08-15 12:10 Martin Pool * src/tempfile.c: Add headers, remove dead variable 2002-08-15 12:03 Martin Pool * src/filename.c: Doc 2002-08-15 11:59 Martin Pool * src/serve.c: dcc_accept_job: patch from Chris Halls to make us more robust against files where we can't work out the preprocessor extension. 2002-08-15 11:57 Martin Pool * NEWS, src/filename.c: Correctly handle compilation of C++ code under ccache, by properly recognizing the .ii extension. Same patch from both Stephen White and Chris Halls. 2002-08-15 11:17 Martin Pool * configure: Run autoconf 2002-08-12 06:36 Martin Pool * configure.ac: Fix quoting. 2002-08-10 15:28 Martin Pool * src/where.c: Doc. Don't truncate lock files, open them with open(). 2002-08-10 15:26 Martin Pool * src/bulk.c: Doc. 2002-08-10 15:19 Martin Pool * src/: distcc.c, exec.c: Doc. 2002-08-10 15:13 Martin Pool * linuxdoc/distcc.sgml: Explain that we don't keep trying if we fail to connect. 2002-08-10 15:11 Martin Pool * src/distcc.c: Doc. 2002-08-10 15:08 Martin Pool * NEWS, src/distcc.c, test/testdistcc.py: If anything goes wrong with remote compilation other than the remote compiler returning an error, then run it locally instead. 2002-08-10 15:07 Martin Pool * src/tempfile.c: dcc_getenv_bool(): new function to make behaviour of DISTCC_VERBOSE etc consistent. 2002-08-10 15:05 Martin Pool * src/: arg.c, dparent.c: Adjust error severity levels. 2002-08-10 15:04 Martin Pool * src/trace.c: rs_format_msg: put the function name before the severity rather than after. I hate to change message formats but this seems more readable. 2002-08-10 15:01 Martin Pool * src/: util.c, util.h: dcc_getenv_bool(): new function to make behaviour of DISTCC_VERBOSE etc consistent. 2002-08-10 14:59 Martin Pool * src/trace.c: Make notice messages have a "Notice: " prefix. 2002-08-10 14:50 Martin Pool * src/clinet.c: Doc 2002-08-10 14:39 Martin Pool * test/testdistcc.py: Put all scratch directories under 'testtmp' to keep things tidy. 2002-08-10 14:19 Martin Pool * configure: Run autoconf 2002-08-09 18:10 Martin Pool * linuxdoc/distcc.sgml: Clearer text about env vars. 2002-08-09 18:08 Martin Pool * linuxdoc/distcc.sgml: Add doc for DISTCC_SAVE_TEMPS 2002-08-09 18:02 Martin Pool * survey.txt: Better text. 2002-08-09 17:59 Martin Pool * survey.txt: Better text. 2002-08-09 17:56 Martin Pool * Makefile.in: Upload survey. 2002-08-09 17:55 Martin Pool * Makefile.in: Install survey.txt into docs 2002-08-09 17:53 Martin Pool * configure, configure.ac, survey.txt, src/survey.txt: Running configure now shows a click-wrapish version of the GPL, plus information on installation directories, and a request to complete the survey. 2002-08-09 17:42 Martin Pool * README: Add survey 2002-08-09 17:33 Martin Pool * src/survey.txt: Add survey 2002-08-09 16:43 Martin Pool * NEWS: Add documentation for --no-fifo and --log-stderr. 2002-08-09 16:29 Martin Pool * linuxdoc/distcc.sgml: Add documentation for --no-fifo and --log-stderr. 2002-08-09 16:15 Martin Pool * NEWS: Show host specification syntax in --help 2002-08-09 16:13 Martin Pool * src/distcc.c: Better --help message 2002-08-09 16:11 Martin Pool * src/distcc.c: Show host specification syntax in --help 2002-08-09 16:02 Martin Pool * NEWS, OLDNEWS: Roll over NEWS 2002-08-09 16:01 Martin Pool * linuxdoc/distcc.sgml: Document that $DISTCC_HOSTS can now specify ports. 2002-08-08 12:27 Martin Pool * contrib/dmake: Example script contributed by Luke Gorrie 2002-08-05 23:33 Martin Pool * Makefile.in: There's always one. 2002-08-05 23:25 Martin Pool * Makefile.in: Add rules to build NEWS and signature files, and to upload everything to the ftp site. 2002-08-05 23:19 Martin Pool * configure, configure.ac: Bump version to 0.7; run autoconf. 2002-08-05 23:19 Martin Pool * README: Note that it probably works on Cygwin now. 2002-08-05 23:07 Martin Pool * DEPENDENCIES: Add --with-extra-includes and --with-extra-libs configure options, as in CVS. This helps people on platforms such as Solaris and BSD where some things install into /usr/local, but that is not on the default path. 2002-08-05 23:01 Martin Pool * configure.ac, src/Makefile.in: Add --with-extra-includes and --with-extra-libs configure options, as in CVS. This helps people on platforms such as Solaris and BSD where some things install into /usr/local, but that is not on the default path. 2002-08-05 19:47 Martin Pool * Makefile.in: Another attempt at packaging and installing the manual, but coping on machines without linuxdoc. 2002-08-05 19:46 Martin Pool * src/serve.c: Doc. 2002-08-05 19:39 Martin Pool * Makefile.in: Make 'all' the default target again. 2002-08-05 19:28 Martin Pool * Makefile.in: Fix packaging of Linuxdoc html. 2002-08-05 19:22 Martin Pool * NEWS: Set version for release. 2002-08-05 15:44 Martin Pool * Makefile.in: Make all latte HTML files depend on style.latte 2002-08-05 15:15 Martin Pool * linuxdoc/distcc.sgml: Add todo 2002-08-03 23:31 Martin Pool * NEWS: Doc 2002-08-03 23:29 Martin Pool * NEWS: Add release name 2002-08-03 23:28 Martin Pool * NEWS: Note that documentation is shipped. 2002-08-03 18:21 Martin Pool * linuxdoc/distcc.sgml: We could strip -D and -I from command lines. 2002-08-02 15:00 Martin Pool * test/testdistcc.py: Remove debugging stub 2002-08-02 14:58 Martin Pool * src/exec.c: Remove old message 2002-08-02 14:56 Martin Pool * test/testdistcc.py: Don't try to link file which is expected not to compile. 2002-08-02 14:43 Martin Pool * test/testdistcc.py: Run daemon on port 42000 for testing. Check that compiling an invalid file produces no output file. Use absolute path for pid file so that it's not confused by changing directories. 2002-08-02 14:28 Martin Pool * NEWS: host:port syntax now supported. 2002-08-02 14:23 Martin Pool * src/: distcc.c, distcc.h, dparent.c, exec.c, hosts.c, hosts.h, serve.c, where.c: Move towards using passing around dcc_hostdef structures, rather than just hostnames, so that we can start supporting nonstandard ports and eventually ssh. 2002-08-02 14:20 Martin Pool * src/filename.c: Use strrchr() rather than rindex(): they ought to be identical, but Valgrind seems to dislike rindex() 2002-08-02 14:19 Martin Pool * src/arg.c: Doc 2002-08-02 11:59 Martin Pool * NEWS: --log-stderr 2002-08-02 11:56 Martin Pool * src/: daemon.c, dopt.c, opt.h: Add --log-stderr option, intended mainly for testing/debugging 2002-08-02 11:39 Martin Pool * .cvsignore: Ignore *.tmp 2002-08-02 11:36 Martin Pool * test/testdistcc.py: Run all test cases within their own scratch directory. 2002-08-01 23:58 Martin Pool * src/serve.c: Add the ability to use either a fifo or a regular temporary file for input to the compiler, controlled by --no-fifo or failure to create the fifo. 2002-08-01 23:39 Martin Pool * src/: daemon.c, dparent.c, serve.c: dcc_accept_job: return standard exit code 2002-08-01 23:34 Martin Pool * src/: daemon.c, dparent.c, io.c, io.h: Explicitly close the socket before exiting, so that we have a better chance of catching network transmission errors. 2002-08-01 23:20 Martin Pool * NEWS, src/dopt.c, src/opt.h: Add --no-fifo option. Doesn't do anything yet. 2002-08-01 23:19 Martin Pool * Makefile.in: Fix cvsplot target. 2002-08-01 23:17 Martin Pool * NEWS: Doc 2002-08-01 23:12 Martin Pool * contrib/distcc.sh: This file, contributed by Dimitri PAPADOPOULOS-ORFANOS may be installed as "cc" somewhere on your $PATH ahead of the real gcc. That allows you to just use regular Makefiles without modifying them to change hardcoded calls to cc. This script will be a bit slow because of the overhead of running things through a shell. In a future release, this function should be supported directly by distcc, which should be a bit faster. 2002-08-01 23:02 Martin Pool * src/dparent.c: Define WAIT_ANY if it is missing, as seems to be the case on Cygwin. 2002-08-01 22:11 Martin Pool * src/exec.c: Doc. 2002-08-01 22:07 Martin Pool * src/serve.c: Cygwin needs not 2002-08-01 21:44 Martin Pool * src/exec.c: Cope without WCOREDUMP, which is missing on Cygwin. 2002-08-01 21:34 Martin Pool * NEWS, configure, configure.ac, src/config.h.in, src/distcc.h: If sa_family_t is missing, try just defining it as int. Might help Cygwin. 2002-08-01 21:16 Martin Pool * src/where.c: Try using fcntl locks in addition to lockf and flock. Perhaps this will fix Cygwin. Thanks to Marco Alanen. 2002-08-01 17:41 Martin Pool * src/: daemon.c, dopt.c, opt.h: Make errors from command-line options go to stderr. 2002-08-01 17:14 Martin Pool * Makefile.in: Always build check programs before running checks, even with -j. Specify complete PATH to binaries when running tests, so that they can change into subdirectories. 2002-07-25 17:14 Martin Pool * Makefile.in: Remove file that's no longer in CVS from distro. 2002-07-25 17:11 Martin Pool * doc/results.txt: Add results file; not much here yet. 2002-07-25 16:58 Martin Pool * Makefile.in: Add a somewhat-hacky "make dist" target to build a tarball. Compared to just "cvs export", this means we get to include built versions of the documents, which is nice for people who can't easily get the Linuxdoc SGML tools to work. It does make the binary bigger because there are so many formats, though. Also, we omit things that end users might not want, such as the Latte web site source. People can get it from CVS (or rsync) if they care. 2002-07-25 16:08 Martin Pool * configure, configure.ac: Bump version 2002-07-24 19:03 Martin Pool * test/testdistcc.py: Clear the environment before running the child -- this avoids any problems with the developer's environment. 2002-07-24 19:02 Martin Pool * src/dparent.c: Change the semantics for detaching a little bit: we now do it once the socket is listening. This is rather more useful for the test suite, because the suite now knows for sure that when the parent exits, it can go ahead and try to connect. 2002-07-24 18:58 Martin Pool * DEPENDENCIES, Makefile.in: Test case now requires python 2.2 for proper unsetenv() semantics 2002-07-24 18:50 Martin Pool * NEWS: foo 2002-07-24 18:49 Martin Pool * src/tempfile.c: Avoid using asprintf() because it's missing on Solaris 2002-07-24 18:49 Martin Pool * src/where.c: dcc_make_lock_filename: new function Avoid using asprintf() because it's missing on Solaris 2002-07-24 18:48 Martin Pool * src/exitcode.h: Doc 2002-07-24 17:57 Martin Pool * src/dparent.c: remove pid file if daemon exits on signal 2002-07-24 17:55 Martin Pool * src/dparent.c, NEWS: Log pid even if running with --no-fork. Remove pid file on exit. 2002-07-24 14:39 Martin Pool * Makefile.in, configure, configure.ac, patches/distc, patches/distc++: Suggestion from Dimitri PAPADOPOULOS-ORFANOS: should check for -lnsl and -lsocket on Solaris. 2002-07-24 14:38 Martin Pool * OLDNEWS, NEWS: Roll over news 2002-07-23 11:36 Martin Pool * Makefile.in: Add the start of an FAQ, and the AOSS4 slides. 2002-07-22 16:45 Martin Pool * Makefile.in: Doc. 2002-07-12 11:46 Martin Pool * configure: Rerun autoconf 2002-07-12 11:44 Martin Pool * Makefile.in: "make install" doesn't imply install-linuxdoc 2002-07-12 11:38 Martin Pool * Makefile.in: "make install" doesn't imply install-linuxdoc 2002-07-12 11:34 Martin Pool * test/testdistcc.py: Start adding to the test framework a way for test cases to provide their own explanation of why they failed. In particular, for ones that run shell commands, dump out all the commands that were run, and their output. 2002-07-12 11:33 Martin Pool * src/distcc.c: Give a proper error message for "distcc --fubar", even when we would have chosen to run the command locally. 2002-07-12 11:32 Martin Pool * src/daemon.c: If stdin is neither a socket nor a tty assume --daemon mode. This is more compatible with previous usage. 2002-07-12 11:19 Martin Pool * src/arg.c: Correct message for "distcc --bad-option" 2002-07-12 10:51 Martin Pool * configure.ac: Set version for release. 2002-07-12 10:45 Martin Pool * NEWS: Update news for release. 2002-07-12 10:39 Martin Pool * DEPENDENCIES: Clarify requirements for libpopt 2002-07-12 10:37 Martin Pool * Makefile.in: Install info files into the right directory 2002-07-10 15:37 Martin Pool * src/arg.c: dcc_set_action_opt: Need to also understand how to transform "gcc -S hello.c" to "gcc -o hello.i -E hello.c" for the client. 2002-07-10 15:11 Martin Pool * NEWS, src/arg.c, src/distcc.h, src/filename.c: distcc will now distribute jobs which use -s to compile but not assemble. Previously they were always run locally, but there's no strong reason why they must be. Unfortunately you need to upgrade both the client and server for this to work, because old servers will refuse to run gcc with -s. 2002-07-10 14:07 Martin Pool * NEWS, src/tempfile.c: dcc_cleanup_tempfiles: If $DISTCC_SAVE_TEMPS is set to "1", then files are not actually deleted -- good for debugging. 2002-07-09 14:38 Martin Pool * Makefile.in: Add page with current problems 2002-07-09 12:06 Martin Pool * Makefile.in: Add target to run Linbot to check for broken links. 2002-07-08 17:20 Martin Pool * configure: autogen 2002-07-08 17:18 Martin Pool * src/: daemon.c, distcc.h: Fix prototypes 2002-07-08 17:17 Martin Pool * src/dopt.c: distccd_show_usage: Document new options 2002-07-08 17:16 Martin Pool * NEWS: dcc_scan_args: -M causes the preprocessor to produce a list of make-style dependencies on header files, either to stdout or to a local file. It implies -E, so only the preprocessor is run, not the compiler. There would be no point trying to distribute it even if we could. 2002-07-08 17:13 Martin Pool * src/daemon.c, linuxdoc/distcc.sgml: Change --inetd and --daemon defaults: - if both are specified, die - if either is specified, do that - if stdin is a socket or tty assume inetd or daemon respectively - otherwise, complain 2002-07-08 17:03 Martin Pool * linuxdoc/distcc.sgml: Document more distccd command-line options 2002-07-08 17:00 Martin Pool * man/distcc.1: Syntax fix 2002-07-08 16:57 Martin Pool * DEPENDENCIES: Clarify dependencies 2002-07-08 16:54 Martin Pool * linuxdoc/distcc.sgml: Clarify that distcc returns the same value as the compiler. 2002-07-08 16:53 Martin Pool * linuxdoc/distcc.sgml: Clarify description how to get environment variables set properly. 2002-07-08 16:50 Martin Pool * linuxdoc/distcc.sgml: Clarify description of jobs which are distributed or local, give an example of a typical command that can be distributed. 2002-07-08 16:46 Martin Pool * src/arg.c: dcc_scan_args: -M causes the preprocessor to produce a list of make-style dependencies on header files, either to stdout or to a local file. It implies -E, so only the preprocessor is run, not the compiler. There would be no point trying to distribute it even if we could. 2002-07-08 16:33 Martin Pool * Makefile.in: Doc. 2002-07-07 22:23 Martin Pool * NEWS: Works on FreeBSD? 2002-07-07 22:12 Martin Pool * src/Makefile.in: Have to respect $LDFLAGS so we can build on BSD. Thanks Lauri! 2002-07-07 22:11 Martin Pool * test/testdistcc.py: SyntaxError_Case: Be less fussy about the exact compiler error message 2002-07-07 21:58 Martin Pool * configure.ac: Doc. 2002-07-07 21:52 Martin Pool * test/testdistcc.py: --version output has changed to include build date and to just say "protocol 1" 2002-07-07 21:46 Martin Pool * src/arg.c: Temporary fix for "distcc -c hello.c" 2002-07-07 21:43 Martin Pool * NEWS: Note about valgrind fix 2002-07-07 21:02 Martin Pool * Makefile.in: We don't build the web pages or manual by default, because many people will not have the tools to do it. Just use all-web or all-linuxdoc if you want them. 2002-07-07 21:01 Martin Pool * DEPENDENCIES, README: Put the documentation of dependencies in a separate file where it can be more easily found by people doing ports. 2002-07-07 20:08 Martin Pool * src/arg.c: dcc_argv_tostr: If out of memory, give an error and exit, rather than aborting. Apparently Valgrind doesn't like using strchr(s, 0) to find the terminating nul. I wonder why? 2002-07-07 19:51 Martin Pool * src/distcc.h: Add missing prototype 2002-07-07 19:40 Martin Pool * src/: .cvsignore, h_argvtostr.c: Start new test case h_argvtostr 2002-07-07 19:38 Martin Pool * src/: Makefile.in, arg.c, filename.c, distcc.h: Split filename manipulation code out into new file filename.c 2002-07-07 19:36 Martin Pool * src/distcc.c: Get ready to handle command lines with implied compiler. 2002-07-06 18:24 Martin Pool * src/arg.c: Doc about the idea of handling "distcc -c hello.c" 2002-07-06 18:11 Martin Pool * src/distcc.c: Remove old docs. 2002-07-06 18:07 Martin Pool * linuxdoc/distcc.sgml: Document --ping option. 2002-07-06 18:00 Martin Pool * linuxdoc/distcc.sgml: The log now shows execution time; remove this from the todo list. 2002-07-06 16:49 Martin Pool * src/: clinet.c, clinet.h, distcc.c, distcc.h: dcc_open_socket_out: use the standard error return mechanism 2002-07-06 16:44 Martin Pool * src/: daemon.c, dparent.c: Include build date/time in daemon startup message 2002-07-06 16:41 Martin Pool * src/help.c: dcc_show_version: Include build date/time 2002-07-06 16:32 Martin Pool * src/clinet.c: dcc_open_socket_out: Return EXIT_CONNECT_FAILED if it did (or indeed for all client socket-opening errors at the moment.) 2002-07-06 16:24 Martin Pool * linuxdoc/distcc.sgml: Notes about distcc with autoconf.Doc. 2002-07-06 16:18 Martin Pool * src/: distcc.c, distcc.h, exec.c, serve.c, util.c, util.h: myhostname: rename to dcc_gethostname for consistency dcc_spawn_child, dcc_redirect_fds: add another parameter specifying redirection for stdin, so that the same routine can be used on the client (with regular stdin) or on the server (with /dev/null) dcc_compile_local: Run the compiler as a child process, not over the top of us. distcc/main: Log exit code. 2002-07-06 16:02 Martin Pool * src/distcc.c: Rename dcc_run_remote and dcc_build_locally to dcc_compile_* to be consistent. 2002-07-06 15:57 Martin Pool * src/exec.c: Doc. 2002-07-06 15:56 Martin Pool * NEWS: dcc_exit: Show self and children's CPU time usage when exiting. 2002-07-06 15:54 Martin Pool * linuxdoc/distcc.sgml, src/where.c: dcc_pick_buildhost: If the host specification is invalid or missing, fall back to building locally with a warning. 2002-07-06 15:51 Martin Pool * src/where.c: dcc_pick_buildhost: bug fix: if we fail to parse the host specification, then return the right error. 2002-07-06 15:50 Martin Pool * linuxdoc/distcc.sgml: More detail on handling of invalid hostspecs. 2002-07-06 15:46 Martin Pool * src/util.c: dcc_exit: Show self and children's CPU time usage when exiting. 2002-07-05 17:12 Martin Pool * linuxdoc/distcc.sgml: Note about libtool. 2002-07-05 16:48 Martin Pool * linuxdoc/distcc.sgml: Add note about Makefiles which don't use $(CC). 2002-07-05 12:48 Martin Pool * NEWS, src/daemon.c, src/dopt.c, src/opt.h: Add --daemon and --inetd options, so that you can properly start a remote daemon with a single-line ssh command. 2002-07-05 12:32 Martin Pool * src/dparent.c: Need sys/ioctl.h 2002-07-05 11:31 Martin Pool * configure, configure.ac: Put docs in $prefix/share/doc 2002-07-05 11:21 Martin Pool * Makefile.in: Add "make showpaths" target to show where "make install" will put things. 2002-07-04 23:42 Martin Pool * NEWS: Show CPU usage of compiler, cpp, etc 2002-07-04 23:39 Martin Pool * .cvsignore, src/daemon.c, src/distcc.c, src/distcc.h, src/exec.c, src/serve.c: Show CPU usage of compiler, cpp, etc 2002-07-04 23:38 Martin Pool * Makefile.in: Fix "make install" 2002-07-04 23:23 Martin Pool * Makefile.in: Shush linuxdoc 2002-07-04 23:10 Martin Pool * src/exec.c: Doc. 2002-07-04 23:06 Martin Pool * src/exec.c: Better trace message. 2002-07-04 23:06 Martin Pool * src/dparent.c: Doc. 2002-07-04 23:05 Martin Pool * src/exec.c: Fix inverted test on waitpid() result. Doc. 2002-07-04 23:01 Martin Pool * src/serve.c: Doc (passing server errors back to client) 2002-07-04 22:56 Martin Pool * linuxdoc/distcc.sgml: Note about tcpwrappers. Note that you can now set the server port number. 2002-07-04 22:46 Martin Pool * src/daemon.c: Doc. 2002-07-04 22:15 Martin Pool * Makefile.in: distclean removes config.log Better maintainer-clean rules 2002-07-04 22:12 Martin Pool * test/testdistcc.py: Doc. 2002-07-04 22:03 Martin Pool * Makefile.in, linuxdoc/.cvsignore, man/.cvsignore: More Makefile fiddling - make "all" the default rule again - add "upload-linuxdoc" - try make SGML stuff build properly 2002-07-04 21:48 Martin Pool * Makefile.in, configure, configure.ac, linuxdoc/Makefile.in: Move linuxdoc stuff into top-level Makefile too 2002-07-04 21:31 Martin Pool * Makefile.in, configure, configure.ac, man/Makefile.in: Move man/ makefile into top level 2002-07-03 23:11 Martin Pool * Makefile.in: New design of the web site, now using Latte. 2002-07-03 20:31 Martin Pool * Makefile.in, analog/Makefile, analog/distcc.analog: Fiddle analog Make rules; use jdresolve to do DNS resolution. 2002-07-03 19:58 Martin Pool * analog/.cvsignore: Ignore more stuff 2002-07-03 16:57 Martin Pool * Makefile.in: Further Makefile fudging 2002-07-03 16:54 Martin Pool * analog/.cvsignore: Ignore built files. 2002-07-03 16:47 Martin Pool * Makefile.in: Move web/latte rules into top-level Makefile. Add more maintainer-clean rules 2002-07-02 17:14 Martin Pool * linuxdoc/distcc.sgml: We now have proper C++ support, so s/C/C or C++/ where appropriate. 2002-07-02 17:11 Martin Pool * man/: distcc.1, distccd.1: Update manpages, and remove information that is redundant with the SGML manual. I think between them, the big manual and --help are more useful than man pages, and they're certainly easier to maintain. 2002-07-02 12:05 Martin Pool * linuxdoc/distcc.sgml: Add bug. 2002-07-01 19:39 Martin Pool * linuxdoc/distcc.sgml: Clearer explanation of multiprocessor scheduling. 2002-07-01 19:36 Martin Pool * linuxdoc/distcc.sgml: Add CVS revision. 2002-07-01 19:35 Martin Pool * linuxdoc/distcc.sgml: Add new error codes 105, 106 2002-07-01 19:32 Martin Pool * linuxdoc/distcc.sgml: Make titles consistent 2002-07-01 19:31 Martin Pool * linuxdoc/distcc.sgml: Remove redundant SMP section 2002-07-01 19:27 Martin Pool * linuxdoc/distcc.sgml: "Leaky buckets" explanation of scheduling algorithm. 2002-07-01 09:38 Martin Pool * src/serve.c: Doc 2002-07-01 09:34 Martin Pool * src/dopt.c: Fix small syntax error 2002-07-01 09:34 Martin Pool * src/dopt.c: Add --verbose option for daemon 2002-07-01 09:23 Martin Pool * NEWS: emacs-fu 2002-07-01 09:22 Martin Pool * NEWS: Reformat 2002-07-01 09:15 Martin Pool * NEWS, src/daemon.c, src/distcc.h, src/dparent.c, src/serve.c: Move check for !getuid() up to a higher level so that the daemon refuses to start at all. 2002-07-01 09:08 Martin Pool * linuxdoc/distcc.sgml: Improved quick-start guide. 2002-06-30 22:01 Martin Pool * linuxdoc/: distcc.sgml: Better URL link. 2002-06-30 21:59 Martin Pool * linuxdoc/distcc.sgml: Add link to ccache. 2002-06-30 21:59 Martin Pool * linuxdoc/distcc.sgml: Clarify bug about compilers which touch local files. 2002-06-30 21:58 Martin Pool * linuxdoc/distcc.sgml: Clarify large-file message. 2002-06-30 21:55 Martin Pool * linuxdoc/distcc.sgml: Substantially improved section on cross-compilation; give more details on how to use -b. 2002-06-30 17:32 Martin Pool * analog/distcc.analog: Show more referers 2002-06-30 17:32 Martin Pool * test/testdistcc.py: Fix regexp for new error message. 2002-06-30 17:31 Martin Pool * src/: .cvsignore, Makefile.in, hosts.c, where.c: Change to new hostspec parser 2002-06-30 00:34 Martin Pool * test/testdistcc.py: All tests now moved across to new framework 2002-06-30 00:26 Martin Pool * test/testdistcc.py: Go back to purely object-based definitions of test cases 2002-06-30 00:02 Martin Pool * test/testdistcc.py: Fiddle with comfychair interface 2002-06-30 00:00 Martin Pool * src/: trace.c, trace.h: Rename rs_trace_stderr to rs_trace_to_file, a more correct name. 2002-06-29 23:59 Martin Pool * src/dopt.c: Add --log-file option 2002-06-29 23:58 Martin Pool * src/: dparent.c, distcc.h: Make dcc_become_daemon private 2002-06-29 23:57 Martin Pool * analog/Makefile: Fix Makefile 2002-06-29 23:28 Martin Pool * test/testdistcc.py: Make comfychair more OO. 2002-06-29 23:14 Martin Pool * src/serve.c: Refuse to run daemon as root. 2002-06-29 23:13 Martin Pool * src/hosts.c: Doc. 2002-06-29 23:00 Martin Pool * doc/scheduling.txt: Notes on scheduling 2002-06-29 16:39 Martin Pool * src/OLDNEWS: Moved 2002-06-29 01:49 Martin Pool * test/testdistcc.py: Add more host parser cases. 2002-06-29 01:44 Martin Pool * src/hosts.c: Correctly handle ssh tokens with command specified. 2002-06-29 01:42 Martin Pool * src/h_hosts.c, src/hosts.c, src/hosts.h, test/testdistcc.py: Add special host type for local compilation. 2002-06-29 01:38 Martin Pool * test/testdistcc.py: Better hosts parser test 2002-06-29 01:37 Martin Pool * src/hosts.c: Fix parser bug in tcp with specified port. 2002-06-29 01:32 Martin Pool * test/testdistcc.py: Doc. 2002-06-29 01:25 Martin Pool * test/testdistcc.py: Add test case for host specification parser. 2002-06-29 01:24 Martin Pool * src/hosts.c: Hosts parser that works better with missing components. 2002-06-29 00:53 Martin Pool * test/testdistcc.py: Move more tests from pyunit to comfychair. It's definitely more comfortable! 2002-06-29 00:39 Martin Pool * test/testdistcc.py: Move more tests from pyunit to comfychair. It's definitely more comfortable! 2002-06-28 23:23 Martin Pool * src/srvnet.c: Also show numeric client address in connection message 2002-06-28 23:19 Martin Pool * linuxdoc/Makefile.in: Fix Makefile a bit more 2002-06-28 23:15 Martin Pool * linuxdoc/Makefile.in: Fix Makefile 2002-06-28 23:14 Martin Pool * linuxdoc/distcc.sgml: Bump version. Note about IPv6 2002-06-28 23:03 Martin Pool * src/dparent.c: Doc. 2002-06-28 23:01 Martin Pool * src/dparent.c: When in no-fork mode, clean up files after each job 2002-06-28 22:59 Martin Pool * src/Makefile.in: Drop sbin install target. 2002-06-28 22:49 Martin Pool * src/tempfile.c: Doc. 2002-06-28 22:14 Martin Pool * src/: dopt.c, dparent.c, opt.h: Add --no-fork option to daemon to help with some debugging stuff. 2002-06-28 21:51 Martin Pool * man/distcc.1: Add newline 2002-06-28 21:50 Martin Pool * man/distccd.1: Make a slightly more useful distccd manpage 2002-06-28 21:41 Martin Pool * analog/Makefile: Create report/ subdir if it doesn't exist. 2002-06-28 21:40 Martin Pool * linuxdoc/Makefile.in: Create html/ subdir if it doesn't exist. 2002-06-28 18:35 Martin Pool * README: Make it clear that we do C++ too! Try to explain relationship to gcc. 2002-06-28 18:20 Martin Pool * test/testdistcc.py: test_option_version: Handle host triples like i386-unknown-freebsd4.4 (Claes Wallin) 2002-06-28 16:57 Martin Pool * src/dparent.c: Doc. 2002-06-28 16:53 Martin Pool * src/: dparent.c, exec.c: The two routines that call waitpid() must handle EINTR, in case a signal arrives while waiting. (Perhaps on BSD if a child exits, you will break out with SIGCHLD and then need to wait again? Not sure.) 2002-06-28 16:49 Martin Pool * Makefile.in: Add target to run old (currently broken) pyunit tests 2002-06-28 16:47 Martin Pool * src/distcc.h: Add prototypes for hosts.c 2002-06-28 16:33 Martin Pool * src/serve.c: Doc. 2002-06-28 16:19 Martin Pool * src/: io.c: Better message. 2002-06-28 16:13 Martin Pool * src/Makefile.in: distccd ought to be in bin/; add rationale. 2002-06-28 16:04 Martin Pool * NEWS, src/io.c: If the system supports sendfile, but the particular filesystem we're on (e.g. tmpfs) doesn't, then fall back to using read/write. 2002-06-28 16:02 Martin Pool * src/Makefile.in: Makefile must properly inherit configured variables 2002-06-28 16:01 Martin Pool * man/Makefile.in: Remove old Makefile target to do with pre-processed manpages 2002-06-28 16:00 Martin Pool * configure: foo 2002-06-28 15:59 Martin Pool * man/Makefile.in: distccd can be run by ordinary users, so arguably belongs in section 1. 2002-06-28 13:20 Martin Pool * NEWS: Foo 2002-06-28 13:18 Martin Pool * README: Update README. 2002-06-28 13:12 Martin Pool * src/Makefile.in: Make directories before installing into them. 2002-06-28 13:08 Martin Pool * OLDNEWS: Merge news from 0.5 and make format consistent. 2002-06-28 13:07 Martin Pool * Makefile.in: Also install top-level documentation (e.g. README) 2002-06-28 13:05 Martin Pool * configure.ac, linuxdoc/Makefile.in, man/Makefile.in, src/Makefile.in: More work on 'make install' 2002-06-28 12:49 Martin Pool * configure.ac, analog/distcc.analog, man/Makefile.in: More automake removal, mostly for man/ 2002-06-28 12:48 Martin Pool * Makefile.in: If any sub-make fails, the top-level one should fail too. 2002-06-28 12:06 Martin Pool * Makefile.in, configure, configure.ac, linuxdoc/.cvsignore, src/Makefile.in: More work on conversion away from automake 2002-06-28 11:56 Martin Pool * linuxdoc/Makefile.in: Cleanup. Only remove documents with maintainer-clean. 2002-06-28 11:50 Martin Pool * linuxdoc/Makefile.in: Remove automake cruft. 2002-06-28 11:42 Martin Pool * src/io.c: Merge fixup 2002-06-28 11:41 Martin Pool * patches/ChangeLog: kill changelogs 2002-06-28 11:40 Martin Pool * missing: remove automake cruft 2002-06-28 11:38 Martin Pool * .cvsignore, linuxdoc/distcc.sgml, src/arg.c, src/distcc.c, src/distcc.h, src/exec.c, src/h_scanargs.c, src/io.c, src/serve.c: Merge changes from freeze_0_5 branch: - avoid argv[] overrun bug - more trace messages - some refactoring/cleanups - FreeBSD sendfile portability fix - better exit codes 2002-06-28 11:23 Martin Pool * analog/: Makefile, distcc.analog: Add analog config. 2002-06-27 22:45 Martin Pool * test/testdistcc.py: Also test hostspec parser. 2002-06-27 22:43 Martin Pool * src/hosts.c: Better messages for EXIT_BAD_HOSTSPEC 2002-06-27 22:41 Martin Pool * src/hosts.c: dcc_parse_hosts() needs to return EXIT_BAD_HOSTSPEC if no hosts are defined. 2002-06-27 22:29 Martin Pool * test/testdistcc.py: Port more tests from PyUnit. 2002-06-27 22:27 Martin Pool * Makefile.in: Run tests against just-built executables. 2002-06-27 22:12 Martin Pool * test/testdistcc.py: Add a slightly nontrivial test that we can call --version on distcc and distccd. 2002-06-27 21:59 Martin Pool * Makefile.in: Don't run pyunit by default any more. 2002-06-27 21:58 Martin Pool * Makefile.in: Call comfy chair and pyunit tests 2002-06-27 21:57 Martin Pool * test/testdistcc.py: Start of conversion of Python tests to use comfy chair 2002-06-27 21:45 Martin Pool * Makefile.in, aclocal.m4: Start getting 'make check' working without automake. 2002-06-27 21:45 Martin Pool * src/Makefile.in: Add non-automake rules to build test harnesses. 2002-06-27 21:34 Martin Pool * src/exitcode.h: Cleanup. 2002-06-27 21:33 Martin Pool * src/: daemon.c, dparent.c: Fixes for removal of automake. 2002-06-27 21:29 Martin Pool * src/distcc.h: Add a new host specification string parser (not called yet except from test case.) 2002-06-27 21:28 Martin Pool * src/io.c: Reindent. Emit trace messages when (un)corking sockets. 2002-06-27 21:25 Martin Pool * src/trace.h: Change rs_log_critical to rs_log_crit to be consistent. 2002-06-27 21:24 Martin Pool * src/srvnet.c: Doc 2002-06-27 21:24 Martin Pool * src/: hosts.c, where.c: Add a new host specification string parser (not called yet except from test case.) 2002-06-27 21:24 Martin Pool * src/h_hosts.c: Print out the results of parsing the host specification. Pass exit code from scanner out. 2002-06-27 21:23 Martin Pool * src/exitcode.h: Add additional exit codes: compiler crashed, out of memory, bad hostspec. Doc. 2002-06-27 21:20 Martin Pool * src/dparent.c: Log an info message when standalone daemon starts, including version. 2002-06-27 21:20 Martin Pool * src/daemon.c: Log an info message when inetd daemon starts. 2002-06-27 20:36 Martin Pool * configure, configure.ac: Bump version to 0.5 2002-06-27 20:32 Martin Pool * NEWS: Add date, etc. 2002-06-27 20:28 Martin Pool * NEWS: Update NEWS 2002-06-27 20:25 Martin Pool * src/io.c: Doc. 2002-06-27 14:34 Martin Pool * configure, configure.ac: Bump version. 2002-06-27 13:46 Martin Pool * src/io.c: Try to handle FreeBSD's different API for sendfile() by introducing a sys_sendfile() portability wrapper. 2002-06-27 13:23 Martin Pool * Makefile.am, Makefile.in, NEWS, aclocal.m4, autogen.sh, configure, configure.ac, linuxdoc/Makefile.am, man/Makefile.am, src/Makefile.am, src/Makefile.in, src/config.h.in, src/help.c: Get rid of automake, just use plain autoconf 2.53. What a mess! Building the basic executables should still work; test cases etc is probably broken at the moment. 2002-06-27 10:39 Martin Pool * ChangeLog, Makefile.in, aclocal.m4, contrib/ChangeLog, doc/ChangeLog, linuxdoc/ChangeLog, linuxdoc/Makefile.in, man/ChangeLog, man/Makefile.in, src/ChangeLog, src/Makefile.in: Run autogen Remove dumb ChangeLogs 2002-06-26 21:59 Martin Pool * Makefile.in, aclocal.m4, configure, depcomp, missing, linuxdoc/Makefile.in, man/Makefile.in, src/Makefile.in: Upgrade automake to 1.5. 2002-06-26 21:59 Martin Pool * NEWS: Set version. 2002-06-26 21:58 Martin Pool * autogen.sh, .cvsignore: ChangeLogs no longer stored in CVS. 2002-06-26 21:56 Martin Pool * src/dparent.c: Handle EINTR from waitpid(), which is expected on FreeBSD. 2002-06-26 14:49 Martin Pool * linuxdoc/distcc.sgml: Document EXIT_COMPILER_CRASHED. 2002-06-26 14:44 Martin Pool * src/distcc.c: Doc. Clearer message for remote compiler failure. 2002-06-26 14:35 Martin Pool * ChangeLog, contrib/ChangeLog, doc/ChangeLog, linuxdoc/ChangeLog, man/ChangeLog, patches/ChangeLog, src/ChangeLog: Remove ChangeLogs -- I'm not convinced that keeping them in CVS makes much sense. If you want them, autogenerate them. 2002-06-26 14:21 Martin Pool * configure, configure.ac: Set version to 0.5rc1 2002-06-26 14:19 Martin Pool * NEWS, src/arg.c, src/distcc.c, src/distcc.h, src/exec.c, src/exitcode.h, src/h_hosts.c, src/h_scanargs.c, src/serve.c: Fix bug in h_hosts that caused us to write off the end of the real argv[], rather than a copy. Thanks to Julian Seward. Use more specific return codes when the remote compiler fails: EXIT_COMPILER_CRASHED for a signal, or the return code from the compiler if it exited non-0. Refactor client main() to be a bit clearer. 2002-06-22 14:44 Martin Pool * src/: t_exten, t_issource, t_version: Remove unused sh-based tests. 2002-06-22 03:58 Martin Pool * Makefile.in, NEWS, aclocal.m4, configure, configure.ac, linuxdoc/Makefile.in, man/Makefile.in, src/Makefile.in: Bump version to 0.5. 2002-06-22 03:56 Martin Pool * src/trace.h: Doc. 2002-06-21 19:48 Martin Pool * src/: distcc.h, h_hosts.c, hosts.c, where.c: Make everything build again :) 2002-06-21 19:46 Martin Pool * src/hosts.c: Doc. 2002-06-21 19:34 Martin Pool * src/hosts.c: dcc_parse_hosts_env: Better parser that splits things into words and recognizes the two types of host definition. Doesn't do the whole job yet though. 2002-06-21 19:33 Martin Pool * src/h_hosts.c: h_hosts: Actually print out the results of the test. Exit 1 if something went wrong or is inconsistent. 2002-06-21 19:15 Martin Pool * src/: .cvsignore, Makefile.am, Makefile.in, distcc.h, h_hosts.c, hosts.c, hosts.h, where.c: Start splitting out new host parser. Doesn't do anything yet. 2002-06-18 08:50 Martin Pool * linuxdoc/Makefile.in: Keep Makefile.in to allow building without automake. 2002-06-13 15:42 Martin Pool * src/: trace.c, trace.h: Cope without varargs macros. All trace routines are redirected to plain functions. 2002-06-13 15:41 Martin Pool * Makefile.in, configure, src/config.h.in: Run autoconf 2002-06-13 15:22 Martin Pool * src/: h_exten.c, h_issource.c, h_scanargs.c: - cope without varargs macros or __attribute__ 2002-06-13 15:14 Martin Pool * NEWS, configure.ac, src/arg.c, src/bulk.c, src/distcc.c, src/distcc.h, src/dopt.c, src/dparent.c, src/exec.c, src/io.c, src/rpc.c, src/tempfile.c, src/trace.c, src/trace.h, src/util.c, src/util.h, src/where.c: Modified patch from Petter Reinholdtsen to try to build on Solaris with Forte cc. Specifically: - cope without varargs macros or __attribute__ - use lockf rather than flock if missing - fix bashism - put config.h in all files 2002-06-13 15:02 Martin Pool * Makefile.in, man/Makefile.in: run automake 2002-06-13 15:01 Martin Pool * README: Remove old performance numbers Add supported platforms 2002-06-13 15:00 Martin Pool * patches/freebsd-mknod.diff: committed 2002-06-13 14:58 Martin Pool * NEWS, src/serve.c: FreeBSD mknod/mkfifo fix. (Claes Wallin) 2002-06-13 14:54 Martin Pool * src/dopt.c: Doc. 2002-06-12 02:44 Martin Pool * NEWS, man/Makefile.am: Makefile.am patch from Petter Reinholdtsen to correctly install and distribute manpages. (They need to be updated to include just quick reference information and to point to the sgml manual.) 2002-06-12 02:15 Martin Pool * packaging/: README.rpm, distcc.spec: RPM spec file from Ben Elliston. 2002-06-12 01:53 Martin Pool * NEWS, OLDNEWS: Roll over NEWS 2002-06-12 01:52 Martin Pool * src/: bulk.c, distcc.h: Refactor bulk file transfer code in preparation for gzip compressiong. 2002-06-12 01:51 Martin Pool * src/io.c: Doc. 2002-06-12 01:47 Martin Pool * src/zip.c: Skeleton of zip compression. Not used yet. 2002-06-12 01:39 Martin Pool * man/: .cvsignore, Makefile.in: Keep files generated by automake, but not by configure. 2002-06-12 01:39 Martin Pool * patches/freebsd-mknod.diff: Patch from Claes Wallin for FreeBSD. 2002-06-12 01:37 Martin Pool * man/.cvsignore: Ignore autoconf generated files. 2002-06-12 01:36 Martin Pool * linuxdoc/.cvsignore: Ignore generated files. 2002-06-09 02:58 Martin Pool * linuxdoc/distcc.sgml: Bump version to 0.4 2002-06-09 02:53 Martin Pool * ChangeLog, contrib/ChangeLog, doc/ChangeLog, linuxdoc/ChangeLog, man/ChangeLog, patches/ChangeLog, src/ChangeLog: update ChangeLogs 2002-06-09 02:51 Martin Pool * configure, linuxdoc/Makefile, linuxdoc/Makefile.am, man/Makefile, man/Makefile.am, src/Makefile.in: Shuffle Makefiles 2002-06-09 02:50 Martin Pool * NEWS: Update news 2002-06-09 02:40 Martin Pool * src/Makefile.am: Add missing file 2002-06-09 02:38 Martin Pool * configure.ac: Bump version to 0.4 Get rid of old test scripts Add new Makefiles 2002-06-09 02:34 Martin Pool * NEWS: Doc. 2002-06-09 02:32 Martin Pool * src/dopt.c: Hide --tasks from help since it does nothing. 2002-06-09 02:09 Martin Pool * linuxdoc/distcc.sgml: Add section on SMP. 2002-06-09 02:02 Martin Pool * src/dparent.c: Doc. 2002-06-09 01:58 Martin Pool * ChangeLog, contrib/ChangeLog, linuxdoc/ChangeLog, patches/ChangeLog, src/ChangeLog: update changelog 2002-06-09 01:50 Martin Pool * src/dparent.c: Factor out code to collect children. Keep track of how many are running. 2002-06-09 01:44 Martin Pool * src/: daemon.c, dparent.c: Change server to a more traditional Unix model of forking after accepting -- possibly less efficient, but I was having trouble managing an orderly shutdown of all children and this is simpler. 2002-06-09 01:43 Martin Pool * src/Makefile.in: Run autoconf 2002-06-09 01:42 Martin Pool * NEWS: Doc 2002-06-09 00:23 Martin Pool * NEWS: .S and .s probably works now. 2002-06-09 00:21 Martin Pool * src/: arg.c, distcc.h, serve.c: Correctly infer preprocessed filename from source filename. So for example if we're processing a .S file, then we need to call the tmpfile .s so that the compiler driver understands that it should just run the assembler. 2002-06-09 00:08 Martin Pool * linuxdoc/distcc.sgml: Note that network errors will not be detected. 2002-06-09 00:05 Martin Pool * src/dopt.c: Doc. 2002-06-09 00:03 Martin Pool * src/arg.c: Server should log input and output filename too. 2002-06-08 23:54 Martin Pool * src/: arg.c: Log input and output filename. 2002-06-08 23:45 Martin Pool * src/dparent.c: Daemon parent tries to close listen_fd after forking children, because it's no longer required. 2002-06-08 23:43 Martin Pool * src/: Makefile.am, daemon.c, distcc.h, dparent.c: Split daemon-standalone-parent code into a separate file. 2002-06-08 23:35 Martin Pool * src/daemon.c: Lots of doc updates. 2002-06-08 23:30 Martin Pool * src/daemon.c: Update docs. 2002-06-08 23:24 Martin Pool * NEWS: Note --pid-file. 2002-06-08 23:10 Martin Pool * src/daemon.c: Add log message for stdin being a socket 2002-06-08 23:09 Martin Pool * src/srvnet.c: open_socket_in: check that port number is reasonable 2002-06-08 22:54 Martin Pool * linuxdoc/: .cvsignore, Makefile: Fix Plucker filename 2002-06-08 22:49 Martin Pool * linuxdoc/.cvsignore: Add Plucker-ized manual 2002-06-08 22:48 Martin Pool * linuxdoc/Makefile: Better name for Plucker file. 2002-06-08 22:40 Martin Pool * src/daemon.c: Consistently call dcc_exit(). Notice immediately when one of our children dies, and reap all of them. When all children die or the parent is signalled, the parent should kill the process group and itself. 2002-06-08 22:31 Martin Pool * src/util.h: Fix function attributes. 2002-06-08 22:16 Martin Pool * src/distcc.h: Clean up prototypes. 2002-06-08 22:11 Martin Pool * src/daemon.c: Clean up exit codes. If fork() fails, log an error, but keep trying. Try to listen on socket before going into background, so that failure is visible to the calling script. 2002-06-08 22:00 Martin Pool * src/distcc.c: Detect invocations like "distcc -c" 2002-06-08 22:00 Martin Pool * src/exitcode.h, linuxdoc/distcc.sgml: Renumber exit codes so that 100 is a generic distcc failure. 2002-06-08 21:44 Martin Pool * src/dopt.c: Fix help message for --pid-file 2002-06-08 21:43 Martin Pool * src/: daemon.c, dopt.c, opt.h: Add --pid-file option to save daemon's pid. 2002-06-08 21:42 Martin Pool * Makefile.in: Update autoconf stuff 2002-06-08 14:24 Martin Pool * linuxdoc/Makefile: Don't build Linuxdoc by default because many machines won't have the tools. 2002-06-08 13:49 Martin Pool * src/dopt.c: Fix overzealous memory mistake. 2002-06-07 16:17 Martin Pool * ChangeLog, doc/ChangeLog, linuxdoc/ChangeLog, man/ChangeLog, src/ChangeLog: auto-update ChangeLog 2002-06-07 11:09 Martin Pool * man/: .cvsignore, Makefile, distcc.1, distccd.1: Correction from Juan F. Codagnone for Makefile -- should call groff, not man, to transform manpages Also, add a little stub distccd page. Both need to be updated to show just the basic information and refer to the manual for more info. 2002-06-06 18:21 Martin Pool * linuxdoc/distcc.sgml: Improve cross-compile section. 2002-06-06 17:52 Martin Pool * linuxdoc/distcc.sgml: Update doc: test suite has now been written. 2002-06-06 00:22 Martin Pool * Makefile.in, NEWS, configure, configure.ac, src/config.h.in, src/daemon.c, src/distcc.h, src/dopt.c, src/exitcode.h, src/opt.h: Improvements to demon: - make daemon put itself into background when running alone - daemon preforks children according to --tasks option, notes if they die, and kills them when terminated - --port option to set listening port (currently not useful, since you can't set port on client) 2002-06-05 19:00 Martin Pool * src/dopt.c: Fix mostly-harmless leaks of poptContext. Detected by valgrind -- how cool! 2002-06-05 18:53 Martin Pool * NEWS, src/tempfile.c: Add support for TMPDIR. Not tested. 2002-06-05 17:22 Martin Pool * src/: bulk.c, daemon.c, distcc.c, exec.c, where.c: Doc. 2002-06-02 15:02 Martin Pool * NEWS: Test cvs 2002-06-02 14:28 Martin Pool * linuxdoc/Makefile, man/Makefile: Fix recursive make targets 2002-06-02 14:18 Martin Pool * linuxdoc/Makefile, man/Makefile: Fix recursive make targets 2002-06-02 14:10 Martin Pool * Makefile.in, linuxdoc/Makefile: automake 2002-06-02 14:09 Martin Pool * src/: Makefile.in, daemon.c, exitcode.h: Start using consistent return codes across all programs. 2002-06-02 14:07 Martin Pool * contrib/make-j: make-j script from Alexandre Oliva for use with distcc Tests which machines are up, and runs Make with concurrency set appropriately. 2002-06-02 13:59 Martin Pool * src/: .cvsignore, Makefile.am, Makefile.in, arg.c, clinet.c, daemon.c, distcc.c, exitcode.h, h_scanargs.c, help.c, serve.c, srvnet.c, trace.c, trace.h, util.c, util.h, where.c: Many changes: Start using consistent return codes across all programs. Add h_scanargs to allow pyunit to test argument analysis. If -fprofile-args, -ftest-coverage or -x is seen in arguments, run locally. Handle "gcc -c -c hello.c" Better help message. Start handling .s files (doesn't work yet) Fix insertion of program/pid into trace msgs. 2002-06-02 13:56 Martin Pool * configure, configure.ac: FreeBSD installs its version of libpopt into /usr/local/, but does not put that on the default library and header path. We used to add that path if building on *bsd*, but bje points out that will break cross-compilation, and it's kind of ugly anyhow. 2002-06-02 13:55 Martin Pool * autogen.sh: Don't configure from autogen.sh 2002-06-02 13:54 Martin Pool * Makefile.am, Makefile.in: Also descend into linuxdoc, pyunit and man directories. 2002-06-02 13:51 Martin Pool * linuxdoc/distcc.sgml: More documentation, especially about bugs. 2002-06-02 13:50 Martin Pool * NEWS, OLDNEWS: Roll over news. 2002-05-31 16:36 Martin Pool * configure, configure.ac: Apparently FreeBSD needs sys/types.h before netinet/in.h. From Frerich Raabe. 2002-05-31 16:20 Martin Pool * linuxdoc/distcc.sgml: Add distcc link. 2002-05-31 16:10 Martin Pool * linuxdoc/Makefile: Move to distcc.samba.org. 2002-05-31 16:09 Martin Pool * linuxdoc/distcc.sgml: Manual is now current for 0.3 2002-05-31 16:08 Martin Pool * linuxdoc/footer.html: Fix distcc homepage link. 2002-05-30 08:31 Martin Pool * configure.ac: Documentation from ben 2002-05-29 14:35 Martin Pool * linuxdoc/distcc.sgml: More notes from recent discussions. 2002-05-29 14:21 Martin Pool * src/arg.c: Doc. 2002-05-28 23:11 Martin Pool * ChangeLog, Makefile.am, Makefile.in, linuxdoc/ChangeLog, src/ChangeLog: Commit Makefile rule 2002-05-28 23:09 Martin Pool * Makefile.am: Need to distribute ChangeLogs across directories 2002-05-28 23:04 Martin Pool * ChangeLog: Update ChangeLog from CVS 2002-05-28 23:00 Martin Pool * Makefile.in, aclocal.m4, src/Makefile.in: autoconf 2002-05-28 22:58 Martin Pool * Makefile.in, src/Makefile.in: update autoconf 2002-05-28 22:58 Martin Pool * src/NEWS: Moved to parent directory 2002-05-28 22:56 Martin Pool * NEWS: Go ahead and release. 2002-05-28 22:38 Martin Pool * aclocal.m4, configure, configure.ac, src/Makefile.am: Bump version to 0.3. Try to get "make dist" working. 2002-05-28 19:50 Martin Pool * Makefile.in, configure, src/Makefile.in: rerun autoconf 2002-05-28 19:32 Martin Pool * configure.ac: Suggestion from Frerich to fix check for *bsd*. 2002-05-28 15:38 Martin Pool * src/.cvsignore: Ignore temp file. 2002-05-28 15:29 Martin Pool * aclocal.m4, configure.ac, src/Makefile.am, src/Makefile.in, src/t_version: Add another trivial test suggested by bje 2002-05-28 15:18 Martin Pool * Makefile.in, configure, configure.ac, src/config.h.in, src/help.c: Export gnu host triple in --version 2002-05-28 15:07 Martin Pool * Makefile.in, aclocal.m4, config.guess, config.sub, configure, configure.ac, src/Makefile.in: Detect BSD, and add /usr/local/ to the CFLAGS and LDFLAGS. 2002-05-28 14:31 Martin Pool * aclocal.m4: Silly autoconf 2002-05-28 14:24 Martin Pool * patches/: distc, distc++: Single files that call 'distcc gcc' -- possibly needed for Makefiles that assume the compiler is a single word. (Does this include libtool?) 2002-05-28 14:18 Martin Pool * src/: .cvsignore, Makefile.in, config.h.in: Check in extra autoconf-generated files. 2002-05-28 14:17 Martin Pool * src/timebuild: Very primitive script for timing tests. 2002-05-28 13:52 Martin Pool * src/: h_exten.c, h_issource.c: Additional fixes for rs_program_name. 2002-05-28 13:48 Martin Pool * Makefile.in, configure, configure.ac, src/serve.c: BSD needs sys/signal.h. 2002-05-28 12:43 Martin Pool * .cvsignore, COPYING.FDL, Makefile.am, Makefile.in, aclocal.m4, configure, install-sh, missing, mkinstalldirs: Keep a copy of autotools files in CVS, to help people on machines with different versions. Bah, humbug! 2002-05-28 12:37 Martin Pool * ChangeLog, doc/ChangeLog, linuxdoc/ChangeLog, man/ChangeLog: Regenerate ChangeLogs 2002-05-28 12:28 Martin Pool * src/: ChangeLog, daemon.c, distcc.c, trace.c, trace.h: Clean up rs_program_name shmozlle 2002-05-27 00:58 Martin Pool * src/srvnet.c: Doc 2002-05-27 00:14 Martin Pool * configure.ac: Doc 2002-05-26 01:44 Martin Pool * .cvsignore, src/.cvsignore: Ignore extra garbage 2002-05-26 01:38 Martin Pool * configure.ac: Need to also look in sys/types.h for in_port_t on BSD. 2002-05-26 01:35 Martin Pool * src/arg.c: Good fix from Ian Reinhart Geiser for silly mistake in dcc_set_file_extension that I think would show up in "gcc -c hello.c". 2002-05-26 01:27 Martin Pool * NEWS, src/serve.c: Ignore SIGPIPE in daemon as well as client. Thanks to Ben Elliston. 2002-05-26 01:21 Martin Pool * configure.ac, src/clinet.c, NEWS: Try to cope without in_port_t. Thanks to Luke Gorrie. 2002-05-26 01:11 Martin Pool * src/: daemon.c, distcc.c, h_exten.c, h_issource.c, trace.c: Cope without program_invocation_short_name, as some GNU libc/cc combinations don't seem to have it (???) 2002-05-26 00:54 Martin Pool * src/trace.c: Replace calls to strnlen with strlen, because it will always be short enough and FreeBSD doesn't have strnlen 2002-05-26 00:49 Martin Pool * configure.ac, src/help.c: Ignore strange new automake variables, just use PACKAGE and VERSION 2002-05-26 00:47 Martin Pool * NEWS: Fix Ian's name. 2002-05-26 00:46 Martin Pool * NEWS: M-/ strikes again :-) 2002-05-26 00:42 Martin Pool * src/io.c: If there are no corks on this computer, don't try to use them. 2002-05-26 00:32 Martin Pool * configure.ac, src/arg.c, src/bulk.c, src/clinet.c, src/daemon.c, src/distcc.c, src/exec.c, src/h_exten.c, src/h_issource.c, src/io.c, src/rpc.c, src/serve.c, src/srvnet.c, src/tempfile.c, src/util.c, src/where.c, NEWS: Test for sys/sendfile.h and sendfile(), and if we don't have them use plain read/write instead. Remove unnecessary dependencies on sys/sendfile.h 2002-05-26 00:23 Martin Pool * autogen.sh: Don't say "make all", because on some platforms you might really need gmake. 2002-05-26 00:08 Martin Pool * autogen.sh: Need to also run aclocal to install automake stuff. Also need to run autoheader early on in the process, because automake depends on finding config.h.in. 2002-05-26 00:04 Martin Pool * NEWS: Note help with automake 2002-05-26 00:01 Martin Pool * autogen.sh: Handle ChangeLog 2002-05-25 23:57 Martin Pool * src/.cvsignore: More test cases 2002-05-25 23:55 Martin Pool * src/Makefile.am: Get rid of editing mistake. _SOURCES is a magic name for automake, so don't use it for common source. Thanks to Frerich Raabe. 2002-05-25 23:50 Martin Pool * autogen.sh: Add a script to do everything necessary to build from CVS. This is needed because automake requires a spliff to get out of bed, and the generated files are shipped in tarballs but not stored in CVS. 2002-05-25 23:47 Martin Pool * configure.ac: Fix shell syntax: square brackets can't be used in configure.ac because they clash with m4. 2002-05-25 19:23 Martin Pool * src/: Makefile.am, h_issource.c, t_issource: Add another test 2002-05-25 19:23 Martin Pool * configure.ac: chmod test files 2002-05-25 18:57 Martin Pool * src/: arg.c, distcc.c, distcc.h: Recognize the .ii extension that ccache uses for preprocessed C++ code. (Ian Reinhart Geiser) 2002-05-25 18:55 Martin Pool * NEWS: * Convert to using GNU automake and autoconf, so that distcc can better handle portability, distribution and testing. (Martin Pool) * Start adding some "make check" tests. (Martin Pool) 2002-05-25 18:51 Martin Pool * src/arg.c: Recognize the .ii extension that ccache uses for preprocessed C++ code. 2002-05-25 18:50 Martin Pool * src/: .cvsignore, Makefile.am, arg.c, distcc.h, h_exten.c, t_exten: Add a test harness and script to test the simplest function we have -- finding the extension of a filename. 2002-05-25 18:34 Martin Pool * src/GNUmakefile: This Makefile is no longer needed because we have automake. 2002-05-25 18:33 Martin Pool * .cvsignore, src/.cvsignore: Ignore automake-generated files 2002-05-25 16:02 Martin Pool * configure.ac, src/Makefile.am, src/help.c, src/trace.c: More automake integration fixes. Builds properly now. 2002-05-25 15:47 Martin Pool * .cvsignore, AUTHORS, COPYING, INSTALL, Makefile, Makefile.am, NEWS, OLDNEWS, configure.ac, src/.cvsignore, src/Makefile.am: Convert to automake. Don't know if it works yet. 2002-05-24 16:45 Martin Pool * linuxdoc/distcc.sgml: Add GNU FDL stuff. 2002-05-24 15:17 Martin Pool * src/: distcc.c, distcc.h, exec.c, NEWS: Only fiddle with the compiler's stdin/out/err when running on the server, not on the client. This should make cpp from stdin work. (Reported by Ian Reinhart Geiser from KDE.) 2002-05-24 15:15 Martin Pool * src/distcc.c: Doc. 2002-05-24 15:11 Martin Pool * src/: distcc.h, exec.c: Split out code to redirect stdin/out/err, because we don't want to do this locally. 2002-05-24 13:49 Martin Pool * Makefile: Add always_ChangeLog target 2002-05-24 13:47 Martin Pool * src/serve.c: Use a FIFO to feed preprocessed source from the daemon into the compiler, so that compilation can be overlapped with network transit. 2002-05-24 13:22 Martin Pool * src/NEWS: Support C++ compilation by correctly detecting prefixes. 2002-05-24 13:22 Martin Pool * src/arg.c: Better error messages for when we encounter an argument that is not a source file name. 2002-05-24 13:19 Martin Pool * src/arg.c: Fix little syntax error. 2002-05-24 13:18 Martin Pool * src/arg.c: Change code to recognize source files so that it will detect all the C++ variants. Based on a patch from ian reinhart geiser. Factor source file recognition into its own function. 2002-05-24 13:03 Martin Pool * src/arg.c: Refactor code to set file extension, so that we can handle things like "foo.cpp" where the source extension is longer than ".o". Based on a patch from ian reinhart geiser, but more defensive. 2002-05-23 16:19 Martin Pool * linuxdoc/distcc.sgml: Fix SGML. 2002-05-23 16:17 Martin Pool * linuxdoc/distcc.sgml: Texinfo can't handle having two headings with the same name. 2002-05-23 16:12 Martin Pool * linuxdoc/distcc.sgml: Add explanation of special meaning of "localhost" in DISTCC_HOSTS. Move results around. 2002-05-21 18:17 Martin Pool * src/: NEWS, OLDNEWS: Roll over NEWS 2002-05-21 18:10 Martin Pool * src/GNUmakefile: Set version to 0.2.99 2002-05-21 17:20 Martin Pool * src/serve.c: Doc. 2002-05-20 16:00 Martin Pool * linuxdoc/distcc.sgml: Fix SGML 2002-05-20 15:57 Martin Pool * linuxdoc/distcc.sgml: Add section about libtool. Add results for building glib-1.2. 2002-05-20 14:38 Martin Pool * src/GNUmakefile: linuxdoc/ subdir is no longer here. 2002-05-20 14:30 Martin Pool * linuxdoc/distcc.sgml: Cleaner CVS stuff. 2002-05-20 14:26 Martin Pool * linuxdoc/distcc.sgml: Cleaner CVS stuff. 2002-05-20 14:25 Martin Pool * linuxdoc/distcc.sgml: Better explanation of issues around SSH. 2002-05-20 14:06 Martin Pool * src/trace.c: Doc. 2002-05-20 14:02 Martin Pool * linuxdoc/distcc.sgml: Clarify handling of compiler error messages. 2002-05-20 13:54 Martin Pool * linuxdoc/.cvsignore: Better exclude specification 2002-05-20 13:54 Martin Pool * linuxdoc/: Makefile, footer.html: Add HTML footer 2002-05-20 13:46 Martin Pool * Makefile, cvs2cl.ufile: Add top-level makefile 2002-05-20 13:35 Martin Pool * src/NEWS: News for something that happened last week! 2002-05-20 13:23 Martin Pool * src/HACKING: Cleanup 2002-05-20 13:21 Martin Pool * linuxdoc/distcc.sgml: Add results. 2002-05-19 18:09 Martin Pool * linuxdoc/: .cvsignore, Makefile, distcc.sgml: Move directory 2002-05-17 15:45 Martin Pool * src/GNUmakefile: Set version to 0.2 2002-05-17 14:10 Martin Pool * src/help.c: Add email address 2002-05-17 14:09 Martin Pool * src/: GNUmakefile, distcc.c, distcc.h, dopt.c, help.c: Improve --help messages, and make all programs response to --version properly. 2002-05-17 13:45 Martin Pool * src/daemon.c: Doc. 2002-05-16 17:56 Martin Pool * src/arg.c: If -o is not specified, gcc dumps the object file in the current directory, not the source directory. Make our behaviour the same. 2002-05-16 17:27 Martin Pool * src/: arg.c, distcc.c, distcc.h: Try to handle cases like "gcc -c hello.c" by appending "-o hello.o" to the end. This doesn't work yet for files not in the current directory. 2002-05-16 15:53 Martin Pool * .cvsignore, src/GNUmakefile: Add a nice simple user manual 2002-05-16 13:48 Martin Pool * src/HACKING: Note about cpp performance. 2002-05-15 23:13 Martin Pool * src/HACKING: Doc. 2002-05-15 18:19 Martin Pool * src/: HACKING, tempfile.c, where.c: Doc. 2002-05-15 17:45 Martin Pool * src/where.c: Better trace msg 2002-05-15 17:44 Martin Pool * man/.cvsignore: Ignore generated 2002-05-15 17:44 Martin Pool * doc/distcc-irc.txt: Rough notes from irc 2002-05-15 17:38 Martin Pool * src/: distcc.h, tempfile.c, where.c: Use simple file locks to spread work across hosts 2002-05-15 17:23 Martin Pool * src/where.c: Split out code for parsing list of hosts, and actually picking a host to use. Doc about locking method for distributing work. 2002-05-15 16:15 Martin Pool * src/: GNUmakefile, bulk.c, distcc.c, distcc.h, rpc.h, serve.c, where.c: Back out of the compression changes; they seem like a premature optimization 2002-05-15 16:07 Martin Pool * src/HACKING: Scratch numbers on compression 2002-05-15 15:57 Martin Pool * src/serve.c: Use correct proto version 2002-05-15 15:54 Martin Pool * src/: bulk.c, distcc.c, io.h, rpc.h, serve.c: zlevel is passed everywhere but ignored 2002-05-15 15:51 Martin Pool * src/: GNUmakefile, distcc.c, serve.c: Server accepts GZIP token 2002-05-15 15:45 Martin Pool * src/HACKING: Note about server-side error handling 2002-05-15 15:42 Martin Pool * src/: distcc.c, distcc.h: Bump proto version to 2; send GZIP token in header to request compression 2002-05-15 15:35 Martin Pool * src/: distcc.c, distcc.h, where.c: Parse zlevel out of _HOSTS 2002-05-15 15:27 Martin Pool * src/: bulk.c, io.c, io.h: Factor out common methods of bulk transfer 2002-05-15 15:26 Martin Pool * src/GNUmakefile: Bump version 2002-05-15 15:20 Martin Pool * man/distcc.1: Note about mtimes 2002-05-15 15:13 Martin Pool * src/bulk.c: Doc 2002-05-15 15:10 Martin Pool * src/GNUmakefile: Set version to 1.0 2002-05-15 15:09 Martin Pool * .cvsignore, man/distcc.1, src/HACKING, src/distcc.c, src/trace.c, src/trace.h: Allow log messages from distcc to be separated from stderr 2002-05-15 15:01 Martin Pool * src/: GNUmakefile, bulk.c, rpc.c: Split out file transfer code 2002-05-15 14:56 Martin Pool * src/tempfile.c: Add quote 2002-05-15 14:56 Martin Pool * src/distcc.c: Handle --help 2002-05-15 14:56 Martin Pool * man/distcc.1: Add more links 2002-05-15 14:55 Martin Pool * man/Makefile: Add PDF target 2002-05-15 14:50 Martin Pool * src/distcc.c: Show environment variables in usage message for distcc 2002-05-13 13:30 Martin Pool * src/GNUmakefile: Add "install" target. 2002-05-13 13:27 Martin Pool * src/dopt.c: Fix dumb "break" mistake in option parsing. 2002-05-06 09:10 Martin Pool * src/dopt.c: Add --nice option 2002-05-05 19:23 Martin Pool * src/: GNUmakefile, daemon.c, distcc.h, dopt.c: Start adding daemon command-line handling 2002-05-05 19:22 Martin Pool * src/trace.c: Better formatting when not using the pid. 2002-05-05 19:21 Martin Pool * README: Note library dependencies 2002-05-02 15:17 Martin Pool * man/distcc.1: More stuff. 2002-05-02 14:25 Martin Pool * man/distcc.1: More manpage updates. 2002-05-02 13:26 Martin Pool * man/: Makefile, distcc.1: Add the start of a man page. 2002-05-01 12:42 Martin Pool * src/io.c: "i've always wanted to use sendfile(), but never had a reason until now" 2002-05-01 12:31 Martin Pool * README: Add author name. 2002-04-30 20:48 Martin Pool * README, src/README: Rearrange 2002-04-30 18:15 Martin Pool * src/: exec.c: Doc. 2002-04-30 18:06 Martin Pool * src/serve.c: Make file sizes correct even if compilation fails. 2002-04-30 18:05 Martin Pool * src/: distcc.h, serve.c, srvnet.c: daemon logs client names 2002-04-30 18:04 Martin Pool * src/exec.c: Doc 2002-04-30 17:50 Martin Pool * src/trace.c: you're never going to want program or pid in a syslog message, because it's redundant. 2002-04-30 17:48 Martin Pool * src/: serve.c, exec.c: Log job completion 2002-04-30 17:45 Martin Pool * src/daemon.c: Log opening of port 2002-04-30 17:38 Martin Pool * src/exec.c: If compiler finished OK, that's an INFO level message 2002-04-30 17:34 Martin Pool * src/: distcc.c, rpc.c, rpc.h, serve.c: Record size of files transferred 2002-04-30 17:31 Martin Pool * src/: daemon.c, trace.c, trace.h: More flexible trace formatting 2002-04-30 17:22 Martin Pool * src/trace.c: Fix stderr logging. 2002-04-30 17:19 Martin Pool * src/: daemon.c, trace.c, trace.h: distccd logs to syslog/daemon. 2002-04-30 17:13 Martin Pool * src/: trace.c, trace.h: Big rework of trace system so that the trace implementation gets to format the string, possibly using a helper function. 2002-04-30 16:35 Martin Pool * src/srvnet.c: Delete dead code 2002-04-30 15:46 Martin Pool * src/io.c: Don't ever just exit 2002-04-30 15:45 Martin Pool * src/daemon.c: Don't abort if accept() fails. 2002-04-30 15:29 Martin Pool * src/tempfile.c: Make cleanup code reusable. 2002-04-30 15:28 Martin Pool * src/srvnet.c: Need to listen() on socket before accept() 2002-04-30 15:20 Martin Pool * src/distcc.c: Fix silly pointer bug 2002-04-30 15:17 Martin Pool * src/: GNUmakefile, daemon.c, srvnet.c, util.h: Really simple standalone mode. 2002-04-30 14:43 Martin Pool * src/: GNUmakefile, daemon.c, distcc.h, serve.c: Split out daemon stuff in preparation for listening on our own socket. 2002-04-30 14:41 Martin Pool * src/io.c: Cast from gcc warning 2002-04-30 14:41 Martin Pool * src/distcc.c: Trace 2002-04-30 14:22 Martin Pool * src/: README, distcc.c: Add DISTCC_VERBOSE env var 2002-04-30 14:09 Martin Pool * src/rpc.c: Add necessary cast, thanks to gcc. 2002-04-30 14:09 Martin Pool * src/HACKING: Doc. 2002-04-30 14:04 Martin Pool * src/rpc.c: If we fail to receive a file, delete the destination rather than leaving it truncated. 2002-04-30 14:03 Martin Pool * src/: daemon.c, distcc.c: Don't send the .o file unless compilation succeeded. 2002-04-30 13:54 Martin Pool * src/distcc.c: If no build hosts are set, just run here. 2002-04-30 13:53 Martin Pool * src/GNUmakefile: Add targets to run cflow. 2002-04-30 13:50 Martin Pool * src/distcc.c: Doc. 2002-04-30 13:02 Martin Pool * src/distcc.c: Do clean up temporary files. 2002-04-30 13:00 Martin Pool * src/distcc.c: Better help message. 2002-04-30 12:58 Martin Pool * src/GNUmakefile: Turn on more warnings 2002-04-30 12:54 Martin Pool * src/where.c: Fix gcc warning. 2002-04-29 20:08 Martin Pool * src/clinet.c: Note from Huxley 2002-04-29 15:28 Martin Pool * src/where.c: Doc. 2002-04-29 15:23 Martin Pool * src/daemon.c: Doc. 2002-04-29 15:20 Martin Pool * src/: clinet.c, distcc.c: Doc. 2002-04-29 15:17 Martin Pool * src/clinet.c: Handle EPIPE as a regular error 2002-04-29 14:52 Martin Pool * src/daemon.c: Clean up temp files if build is successful 2002-04-29 14:50 Martin Pool * src/daemon.c: Docs about better performance. 2002-04-29 14:45 Martin Pool * src/where.c: Docs about better methods of choosing compile hosts. 2002-04-28 23:46 Martin Pool * src/: arg.c, clinet.c, daemon.c, io.c, where.c: Clean up 2002-04-28 23:43 Martin Pool * src/README: Notes on building the kernel 2002-04-28 23:05 Martin Pool * src/GNUmakefile: Change version to 0.1cvs 2002-04-28 22:50 Martin Pool * src/exec.c: Better messages 2002-04-28 22:50 Martin Pool * src/arg.c: Better quoting for commands 2002-04-28 22:45 Martin Pool * src/: README, distcc.c, distcc.h, exec.c: Make the magic name localhost Better execution messages 2002-04-28 22:32 Martin Pool * src/: README, distcc.c: Make the magic name LOCALHOST, not LOCAL 2002-04-28 22:30 Martin Pool * src/where.c: Randomize by pid/ppid, rather than time(), because it is likely that multiple copies might be forked within a second by make -j. 2002-04-28 22:29 Martin Pool * src/io.c: Fix headers 2002-04-28 20:54 Martin Pool * src/README: Add title. 2002-04-28 20:41 Martin Pool * src/: clinet.c, daemon.c, distcc.h, io.c, io.h: Also cork response from the server 2002-04-28 20:41 Martin Pool * src/trace.c: Larger log buffer for chunky gcc lines 2002-04-28 20:37 Martin Pool * src/distcc.c: Cork and uncork socket around request. 2002-04-28 20:36 Martin Pool * src/distcc.c: Cope properly when not running cpp. 2002-04-28 20:35 Martin Pool * src/: clinet.c, distcc.h: Add code to cork a socket 2002-04-28 20:26 Martin Pool * src/: exec.c, rpc.c: Better trace 2002-04-28 20:15 Martin Pool * src/: daemon.c, distcc.c: Fiddle debug and tempfile stuff to better support debugging. 2002-04-28 20:13 Martin Pool * src/README: Some initial numbers on performance building rsync. 2002-04-28 19:38 Martin Pool * src/clinet.c: Fix messages 2002-04-28 19:31 Martin Pool * src/io.c: Quieten trace 2002-04-28 19:27 Martin Pool * src/: distcc.c, distcc.h, exec.c, util.c, util.h: Show program and hostname in completion message. 2002-04-28 19:19 Martin Pool * src/io.c: Fix nasty bug that caused us to read much more than we wanted. 2002-04-28 19:16 Martin Pool * src/rpc.c: More trace 2002-04-28 19:16 Martin Pool * src/daemon.c: Fix tempfile names. 2002-04-28 19:07 Martin Pool * src/distcc.c: Better messages. 2002-04-28 19:04 Martin Pool * src/where.c: Typo. 2002-04-28 19:03 Martin Pool * src/tempfile.c: Better error message. 2002-04-28 19:02 Martin Pool * src/: clinet.c, distcc.c, distcc.h: Actually try to use a random remote host. 2002-04-28 18:58 Martin Pool * src/where.c: Add routine to pick a random build host 2002-04-28 18:58 Martin Pool * src/trace.h: Add rs_log_warning 2002-04-28 18:57 Martin Pool * src/io.c: Quieten warning 2002-04-28 18:55 Martin Pool * src/README: Doc 2002-04-28 17:02 Martin Pool * src/rpc.c: dcc_x_file: If a file does not exist, send it as empty rather than aborting. 2002-04-28 17:00 Martin Pool * src/distcc.c: If the remote compiler fails, we don't need to try again locally. (Actually, we might want to, but don't worry about that for now.) 2002-04-28 16:55 Martin Pool * src/: distcc.c, rpc.c, rpc.h: Receive and display remote stdout/stderr. 2002-04-28 16:52 Martin Pool * src/daemon.c: Capture and send compiler's stdout/stderr. 2002-04-28 16:47 Martin Pool * src/: daemon.c, distcc.c, distcc.h, exec.c, util.c, util.h: Get ready for catching compiler stdout/stderr. 2002-04-28 15:20 Martin Pool * src/distcc.c: Show proto ver in version info. 2002-04-28 15:19 Martin Pool * src/: clinet.c, distcc.c, daemon.c: Doc. 2002-04-28 15:15 Martin Pool * src/: GNUmakefile, where.c: Add where.c 2002-04-28 15:14 Martin Pool * src/: README, distcc.c, distcc.h, exec.c: Run cpp in background while trying to connect. 2002-04-28 15:13 Martin Pool * src/GNUmakefile: Should use CFLAGS to link too 2002-04-28 13:22 Martin Pool * src/distcc.c: Better message when compiler fails. 2002-04-28 13:19 Martin Pool * src/: distcc.c, distcc.h, exec.c: Get ready for async subcommands 2002-04-28 13:14 Martin Pool * src/arg.c: Better message 2002-04-28 13:12 Martin Pool * src/: GNUmakefile, arg.c, clinet.c, daemon.c, distcc.c, distcc.h, io.h, tempfile.c, util.c: More splint-based checks 2002-04-28 12:37 Martin Pool * src/tempfile.c: Check permissions on temporary dir 2002-04-28 12:33 Martin Pool * src/tempfile.c: Automatically set up temp dir when needed Fix temp dir permissions 2002-04-28 12:32 Martin Pool * src/GNUmakefile: Turn off dynamic dependencies for the moment 2002-04-28 12:29 Martin Pool * src/: GNUmakefile, arg.c, clinet.c, daemon.c, distcc.c, io.c, io.h, rpc.c, trace.c, trace.h, util.c: Splint codeups 2002-04-28 12:16 Martin Pool * src/trace.h: Remove broken non-gcc stuff 2002-04-28 12:15 Martin Pool * src/GNUmakefile: Add SPLINT target 2002-04-28 12:08 Martin Pool * src/: distcc.h, tempfile.c: Add routine to cleanup temporary files. 2002-04-28 12:03 Martin Pool * src/: daemon.c, distcc.c, distcc.h, io.c, tempfile.c: Better (secure?) temporary name routine. 2002-04-28 12:03 Martin Pool * src/arg.c: Doc 2002-04-25 20:03 Martin Pool * src/distcc.c: Doc. 2002-04-25 20:00 Martin Pool * src/io.c: Use a larger copy buffer. 2002-04-25 19:59 Martin Pool * src/distcc.c: Be quiet by default 2002-04-25 19:32 Martin Pool * src/: arg.c, daemon.c: Fix filename substitution code. 2002-04-25 19:26 Martin Pool * src/arg.c: Fix message 2002-04-25 19:24 Martin Pool * src/: daemon.c, exec.c, io.c, io.h: Split out code for reading length-preceded strings. 2002-04-25 19:11 Martin Pool * src/daemon.c: Properly nul-terminate argv strings 2002-04-25 19:07 Martin Pool * src/distcc.h: Fix header 2002-04-25 19:05 Martin Pool * src/: daemon.c, distcc.h: Drop job structure altogether. The server no longer needs to use the client's argument parsing system. 2002-04-25 19:00 Martin Pool * src/: arg.c, distcc.h: Drop dead code 2002-04-25 18:57 Martin Pool * src/rpc.c: Better log 2002-04-25 18:56 Martin Pool * src/: io.h, rpc.c: Rename to dcc_r_token 2002-04-25 18:54 Martin Pool * src/io.c: IO errors need not cause us to abort. 2002-04-25 18:52 Martin Pool * src/daemon.c: Generate our slightly more proper temporary names. 2002-04-25 18:51 Martin Pool * src/trace.h: Add rs_log_critical convenience. 2002-04-25 18:48 Martin Pool * src/io.c: dcc_expect_token: check expected token is sane, and if read fails then say what we were hoping for 2002-04-25 18:44 Martin Pool * src/trace.c: Show pid in log messages. 2002-04-25 18:43 Martin Pool * src/: arg.c, distcc.h: Add dcc_set_input 2002-04-25 18:37 Martin Pool * src/: arg.c, daemon.c, distcc.c, distcc.h, rpc.c, rpc.h: Clean argc, argv, wait status stuff out of job structure. 2002-04-25 18:28 Martin Pool * src/arg.c: Better log messages from arg scanner 2002-04-25 18:18 Martin Pool * src/distcc.c: Actually go ahead and run cpp if necessary. 2002-04-25 18:07 Martin Pool * src/exec.c: Doc. 2002-04-25 18:06 Martin Pool * src/: daemon.c, distcc.h, exec.c: Cleanup dcc_run_child 2002-04-25 18:01 Martin Pool * src/: arg.c, distcc.h, exec.c: Show whole command being executed. 2002-04-25 17:50 Martin Pool * src/distcc.c: log message 2002-04-25 17:42 Martin Pool * src/GNUmakefile: Sketchy routines to build temporary filenames 2002-04-25 17:38 Martin Pool * src/tempfile.c: Sketchy routines to build temporary filenames 2002-04-25 17:38 Martin Pool * src/distcc.c: Get closer to running cpp locally 2002-04-25 17:37 Martin Pool * src/: arg.c, distcc.h: Add more argv[] utilities 2002-04-25 17:09 Martin Pool * src/arg.c: Fix harmless glitch. Better message. 2002-04-25 17:07 Martin Pool * src/util.c: Fix inverted sense in str_startswith 2002-04-25 16:59 Martin Pool * src/: arg.c, daemon.c, distcc.c, distcc.h, exec.c: Prepare to run preprocessor on client 2002-04-25 15:46 Martin Pool * src/arg.c: Better handle the case of being passed a non-preprocessed file. 2002-04-25 14:12 Martin Pool * src/arg.c: Fix headers. 2002-04-25 14:12 Martin Pool * src/: util.c, util.h: Add str_startswith 2002-04-25 14:08 Martin Pool * src/: distcc.c, distcc.h: Start adding support for running cpp ourselves before going across the network. 2002-04-25 14:07 Martin Pool * src/daemon.c: Error out if we somehow get a request to run cpp on the server. 2002-04-25 14:04 Martin Pool * src/arg.c: Parse out -o options; also work out whether we ought to call cpp. 2002-04-25 13:34 Martin Pool * src/: arg.c, daemon.c, distcc.c, distcc.h: Start refactoring argument scanner. 2002-04-25 13:15 Martin Pool * src/rpc.c: Must truncate temp file as we start receiving. 2002-04-25 12:00 Martin Pool * src/GNUmakefile: Doc. 2002-04-25 11:59 Martin Pool * src/: GNUmakefile, Makefile: The dependency stuff in the makefile current requires GNU Make, so change the filename to reflect that. 2002-04-25 01:33 Martin Pool * src/: daemon.c, distcc.c, io.c, rpc.c, rpc.h: client now receives DOTO file from the server and stores it in the destination 2002-04-25 01:23 Martin Pool * src/: daemon.c, distcc.c, io.c, io.h, rpc.c, rpc.h: Send back compiler wait-status and .o file 2002-04-25 01:11 Martin Pool * src/: daemon.c, distcc.c, rpc.c, rpc.h: Client now waits for the start of the response from the server 2002-04-25 01:11 Martin Pool * src/Makefile: Add rpc.c Make clean cleans .d files 2002-04-25 00:27 Martin Pool * src/: distcc.h, exec.c: Examine and remember the cc exit code. 2002-04-25 00:18 Martin Pool * src/: daemon.c, distcc.c, distcc.h, exec.c, io.h: Server now starts sending a response back. 2002-04-25 00:04 Martin Pool * src/: arg.c, daemon.c, distcc.c, distcc.h: Improve server-side argument argument parsing 2002-04-24 23:52 Martin Pool * src/arg.c: Better debug for server-side substitution 2002-04-24 23:44 Martin Pool * src/util.c: fix file-style 2002-04-24 23:44 Martin Pool * src/distcc.c: message when sending is complete 2002-04-24 23:43 Martin Pool * src/: daemon.c, util.h: redirect stderr to prevent fouling socket 2002-04-24 23:30 Martin Pool * src/distcc.c: Clean up; add error checks. 2002-04-24 23:30 Martin Pool * src/clinet.c: Clean up imported code, and in particular log messages 2002-04-24 23:29 Martin Pool * src/arg.c: Fix comment 2002-04-24 23:29 Martin Pool * src/Makefile: Store version in Makefile 2002-04-24 23:17 Martin Pool * src/clinet.c: Copy in network code from rsync. Currently hardcoded to localhost:4200. 2002-04-24 18:05 Martin Pool * src/: .cvsignore, Makefile, clinet.c, distcc.c, distcc.h: Start changes to connect across the network rather than dumping to a file. 2002-04-24 16:29 Martin Pool * src/distcc.c: Doc 2002-04-24 16:13 Martin Pool * src/: Makefile, arg.c, daemon.c, distcc.c, distcc.h, exec.c, io.c: daemon will now actually compile programs 2002-04-24 00:51 Martin Pool * src/: daemon.c, distcc.c, distcc.h, exec.c, io.c, io.h: Make the server receive the .i file into a temporary file. 2002-04-24 00:50 Martin Pool * src/Makefile: Fix 'make clean' 2002-04-24 00:49 Martin Pool * src/.cvsignore: Ignore any .i files that might be around 2002-04-24 00:21 Martin Pool * src/: Makefile, distcc.c, distcc.h, exec.c: Split out code to run the compiler 2002-04-24 00:10 Martin Pool * src/: README, daemon.c, distcc.c, distcc.h, io.c, io.h, trace.h: Server now reads argv from network. 2002-04-23 17:37 Martin Pool * src/: daemon.c, distcc.c, distcc.h, io.c: Start adding code to let the daemon read requests. 2002-04-23 16:39 Martin Pool * src/io.c: Split out more common code. Send the bulk of the file. Add a no-op distccd. 2002-04-23 16:33 Martin Pool * src/: .cvsignore, Makefile, daemon.c, distcc.c, distcc.h: Split out more common code. Send the bulk of the file. Add a no-op distccd. 2002-04-23 14:55 Martin Pool * src/: .cvsignore, Makefile, distcc.c, distcc.h, trace.c, util.c: Split utilities into their own file 2002-04-23 14:44 Martin Pool * src/distcc.c: Add framework for sending requests to server, but just send them to a tmpfile instead. 2002-04-23 14:24 Martin Pool * src/distcc.c: Put arguments into a jobinfo_t struct. 2002-04-23 14:14 Martin Pool * src/distcc.c: Try to detect .i and .o files 2002-04-23 13:47 Martin Pool * src/distcc.c: Handle empty command line. 2002-04-23 13:25 Martin Pool * src/.cvsignore: Ignore built files 2002-04-23 13:24 Martin Pool * src/: trace.c, trace.h: Copy trace routines from librsync 2002-04-23 13:22 Martin Pool * src/: distcc.c, .cvsignore, HACKING, Makefile: Copy very simple code into public samba cvs