Commit 5ca38dbb authored by Mike Hibler's avatar Mike Hibler
Browse files

Finish off support for the new version of the tftp server

parent d39f0391
Information necessary for keeping boss and ops node up-to-date. This
file contains updates that must be made outside of the database and
the intall tree (ie. /usr/testbed).
the install tree (ie. /usr/testbed).
This file is in the same format at the FreeBSD UPDATING file, whis is
to say, in reverse chronological order, with the date of the change
......@@ -18,6 +18,47 @@ Note that some instructions may have steps that need to occur at a few
different points in the install process - these are marked with the
earliest time one of the steps needs to occur.
20070320: Time to upgrade your tftpd. This has only been tested on
FreeBSD 6.x, so if you are still running FreeBSD 4.10, then
you can skip this. The only significant difference (other
than going from version 0.33 to 0.48, which is ancillary) is
a change to make tftpd work better under load when it hits its
"maxchildren" limit.
* See if you tftpd is already up to date on your boss:
pkg_info -E 'emulab-tftp-hpa-*'
If it reports anything other than "emulab-tftp-hpa-0.48",
you should continue.
* Grab the new package:
cd /var/tmp
* Shutdown and deinstall the old server:
sudo /usr/local/etc/rc.d/ stop
sudo pkg_delete -f emulab-tftp-hpa-0.33
* Install and start the new server:
sudo pkg_add /var/tmp/emulab-tftp-hpa-0.48.tbz
sudo /usr/local/etc/rc.d/ start
If you do want to update in a FreeBSD 4.10 environment, you will
have to build from it from the port. Make sure you have the
recommended port tree installed as /usr/ports and then:
cd <emulab-srcdir>/install/ports; sudo ./ports-install
cd /usr/ports/misc/emulab-tftp-hpa
sudo make
sudo /usr/local/etc/rc.d/ stop
sudo pkg_delete -f emulab-tftp-hpa-0.33
sudo make install
sudo /usr/local/etc/rc.d/ start
20070317: Before build.
Due to a change in gcc's handling of c++ bools in functions with
......@@ -64,6 +64,7 @@ my $PATCH = "/usr/bin/patch";
my $SSH_KEYGEN = "/usr/bin/ssh-keygen";
my $PKG_INFO = "/usr/sbin/pkg_info";
my $PKG_ADD = "/usr/sbin/pkg_add";
my $PKG_DEL = "/usr/sbin/pkg_delete";
my $TOUCH = "/usr/bin/touch";
my $SSH_INIT = "/usr/bin/ssh -1";
my $SCP_INIT = "/usr/bin/scp -1";
......@@ -144,6 +145,11 @@ my $APACHE_KEYPEM_OPS = "apache-ops_key.pem";
# XXX temporary for tftp
my $TFTPD_PKG = "emulab-tftp-hpa-0.48";
# Some directories we care about
......@@ -410,6 +416,20 @@ Phase "ports", "Installing ports", sub {
ExecQuietFatal("$ENV PKG_PATH=$packagedir ".
# XXX temporary: only needed til emulab-boss package updated
Phase "tftpd", "Updating tftpd installation", sub {
my $pname = `$PKG_INFO -E 'emulab-tftp-hpa-*' 2>/dev/null`;
if ($pname eq $TFTPD_PKG) {
PhaseSkip("tftpd already up to date");
if (!$packagedir) {
PhaseSkip("No package directory provided");
ExecQuietFatal("$ENV PKG_PATH=$packagedir $PKG_DEL -f $pname")
if ($pname);
ExecQuietFatal("$ENV PKG_PATH=$packagedir $PKG_ADD $TFTPD_PKG");
PhaseSkip("Package directory provided; not installing from sources")
#!/usr/bin/perl -w
# Copyright (c) 2003-2006 University of Utah and the Flux Group.
# Copyright (c) 2003-2007 University of Utah and the Flux Group.
# All rights reserved.
......@@ -375,8 +375,6 @@ sub CreateFileFatal($@) {
# context.
sub ExecQuiet(@) {
my @commnads = @_;
# Use a pipe read, so that we save away the output
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment