freebsd-ports/Tools/portbuild/conf
Mark Linimon 937750f8bc Add CLIENT_MALLOC_OPTIONS.
Feature safe:	yes
2010-06-30 14:46:27 +00:00
..
.cvsignore Note the files that shouldn't be checked into the repository (they 2010-06-25 21:42:24 +00:00
client.conf Add CLIENT_MALLOC_OPTIONS. 2010-06-30 14:46:27 +00:00
make.conf Some configuration information that is shipped to the clients of a 2010-06-22 23:46:55 +00:00
README.dotunnel A new file to document some generalization of scripts on a package 2010-06-22 23:48:07 +00:00
server.conf

Various package build nodes require us to set up TCP tunnels to talk
to them.  (Some systems don't pass certain ports; some systems have
firewalls; some systems have multiple nodes on one IP address.)

These have always been hardcoded in crontab lines of the form "while true;
do <hardcoded-tunnel-stuff>; done".  Other than the magic hardcoding,
there's a problem with this.  When the tunnel command exits, such as if
the host suddenly becoming unreachable, it doesn't send mail -- instead
it just accumulates a huge file in /var/spool/clientmqueue which never
gets sent.  To add insult to injury, /var is on the root partition on
pointyhat.

To cure these problems, we now have

   /var/portbuild/conf/<arch>/dotunnel.XXX

where XXX corresponds to one line in the old crontab.  Each script sets
up one tunnel, sends mail to the user(s) in

  /var/portbuild/<arch>/portbuild.conf

once the command exits, and then sleeps.

Why not put it in /var/portbuild/<arch> you ask?  That directory is
propogated to all nodes for that arch.  This would be a security leak.
The intention is that none of the dotunnel files will be checked into
CVS.

Final note: each script figures out which arch it is for by fiddling
with its $0, so invoke it with its full pathname.

mcl