1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-30 01:15:52 +00:00

A new file to document some generalization of scripts on a package

building server.  For security reasons, the scripts themselves will
not be checked in to this repository.

Please do not commit to this file without the approval of portmgr.

Feature safe:	yes
This commit is contained in:
Mark Linimon 2010-06-22 23:48:07 +00:00
parent 408042ec04
commit e8f9e57eca
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=256850

View File

@ -0,0 +1,32 @@
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