Commit 4c290819 authored by Mike Hibler's avatar Mike Hibler

Add frisbee-mfs and frisbee-mfs-install targets that account for the

non-standard installation of client software in the frisbee MFS.
parent 8a98cc75
......@@ -118,7 +118,13 @@ destdircheck:
false; \
fi
mfs:
mfsoscheck:
@if [ `uname -s` != "FreeBSD" ]; then \
echo "Must build MFS files on a FreeBSD system!"; \
false; \
fi
mfs: mfsoscheck
@$(MAKE) -C os mfs
@$(MAKE) -C sensors mfs
@$(MAKE) -C tmcd mfs
......@@ -128,6 +134,16 @@ mfs-install: destdircheck mfs
@$(MAKE) -C sensors mfs-install
@$(MAKE) -C tmcd mfs-install
frisbee-mfs: mfsoscheck
@$(MAKE) -C cdrom/groklilo client
@$(MAKE) -C os frisbee-mfs
@$(MAKE) -C tmcd frisbee-mfs
frisbee-mfs-install: destdircheck frisbee-mfs
@CLIENT_BINDIR=/etc/testbed $(MAKE) -e -C cdrom/groklilo client-install
@$(MAKE) -C os frisbee-mfs-install
@$(MAKE) -C tmcd frisbee-mfs-install
#
# A check to see if this is a 'real' install. Kinda hacky, but as far as I can
# tell, you can't put ifeq()'s inside of targets
......
......@@ -18,8 +18,10 @@ CFLAGS += -O -g -Wall -I${OBJDIR} -UINBOOTLOADER
groklilo: groklilo.c
$(CC) $(CFLAGS) -static -g -o groklilo $< $(LFLAGS)
client-install: groklilo
$(INSTALL_PROGRAM) groklilo $(DESTDIR)$(CLIENT_BINDIR)
client: groklilo
client-install: client
$(INSTALL_PROGRAM) -s groklilo $(DESTDIR)$(CLIENT_BINDIR)
clean:
rm -f *.o core groklilo
......@@ -48,15 +48,19 @@ endif
$(MAKE) -C genhostsfile client-install
mfs:
ifeq ($(SYSTEM),FreeBSD)
$(MAKE) -C imagezip client
endif
mfs-install: mfs
ifeq ($(SYSTEM),FreeBSD)
$(INSTALL_PROGRAM) $(SRCDIR)/create-image $(LBINDIR)/create-image
$(MAKE) -C imagezip client-install
endif
frisbee-mfs:
$(MAKE) -C frisbee.redux client
$(MAKE) -C growdisk client
frisbee-mfs-install: frisbee-mfs
CLIENT_BINDIR=/etc/testbed $(MAKE) -e -C frisbee.redux client-install
CLIENT_BINDIR=/etc/testbed $(MAKE) -e -C growdisk client-install
remote-install:
$(INSTALL) -m 755 -o root -g wheel -d $(LBINDIR)
......
......@@ -83,7 +83,9 @@ trace.o: decls.h trace.h log.h
install: $(INSTALL_SBINDIR)/frisbeed
client-install: frisbee
client: frisbee
client-install: client
$(INSTALL_PROGRAM) frisbee $(DESTDIR)$(CLIENT_BINDIR)
clean:
......
......@@ -26,7 +26,7 @@ install:
client: all
client-install: client
$(INSTALL_PROGRAM) growdisk $(DESTDIR)$(CLIENT_BINDIR)
$(INSTALL_PROGRAM) -s growdisk $(DESTDIR)$(CLIENT_BINDIR)
clean:
rm -f *.o growdisk growdisk.debug
......@@ -107,6 +107,11 @@ mfs: client
mfs-install: mfs
@$(MAKE) -C $(MDSUBDIR) mfs-install
frisbee-mfs: client
frisbee-mfs-install: frisbee-mfs
@$(MAKE) -C $(MDSUBDIR) frisbee-mfs-install
$(INSTALL_BINDIR)/tmcd/%: %
@echo "Installing $<"
-mkdir -p $(INSTALL_BINDIR)/tmcd
......
#!/bin/sh
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2003 University of Utah and the Flux Group.
# Copyright (c) 2000-2004 University of Utah and the Flux Group.
# All rights reserved.
#
......@@ -31,6 +31,8 @@ elif [ -d /etc/testbed ]; then
BINDIR=/etc/testbed
VARDIR=/etc/testbed
BOOTDIR=/etc/testbed
LOGDIR=/tmp
LOCKDIR=/tmp
DBDIR=/etc/testbed
elif [ -d /etc/rc.d/testbed ]; then
ETCDIR=/etc/rc.d/testbed
......
......@@ -28,7 +28,6 @@ all: supfile injail $(SCRIPTS)
include $(TESTBED_SRCDIR)/GNUmakerules
DESTDIR =
SYSETCDIR = $(DESTDIR)/etc
JAILDIR = $(SYSETCDIR)/jail
ETCDIR = $(DESTDIR)$(CLIENT_ETCDIR)
......@@ -46,6 +45,10 @@ destdircheck:
echo "You must define DESTDIR for this target!"; \
false; \
fi
@if [ "$(DESTDIR)" = "/" ]; then \
echo "DESTDIR is '/', really really bad idea!"; \
false; \
fi
install client-install: common-install etc-install \
sup-install script-install bin-install jail-install
......@@ -58,6 +61,36 @@ mfs-install: destdircheck common-install etc-install \
echo >$(ISMFS) "This file indicates its the MFS. DO NOT DELETE!"; \
fi
#
# XXX butt-uglies live here:
# - hardwire /etc/testbed instead of $(ETCDIR)
# - rather than keep a special copy of the master.passwd file that has
# root's shell as sh instead of csh, we just link sh to csh in the MFS.
# - no ismfs file since we don't run any perl scripts that need it
#
frisbee-mfs-install: destdircheck
$(INSTALL) -m 644 $(SRCDIR)/mfs-frisbee-rc.conf $(SYSETCDIR)/rc.conf
$(INSTALL) -m 644 $(SRCDIR)/mfs-frisbee-rc.local $(SYSETCDIR)/rc.local
$(INSTALL) -m 755 $(SRCDIR)/dhclient-exit-hooks \
$(SYSETCDIR)/dhclient-exit-hooks
@if [ -r $(SRCDIR)/master.passwd ]; then \
$(INSTALL) -m 600 $(SRCDIR)/master.passwd $(SYSETCDIR); \
pwd_mkdb -d $(SYSETCDIR) $(SYSETCDIR)/master.passwd; \
if [ ! -e $(DESTDIR)/bin/csh ]; then \
ln $(DESTDIR)/bin/sh $(DESTDIR)/bin/csh; \
fi \
fi
@if [ -r $(SRCDIR)/group ]; then \
$(INSTALL) -m 644 $(SRCDIR)/group $(SYSETCDIR); \
fi
$(INSTALL) -m 755 $(SRCDIR)/control_interface $(SYSETCDIR)/testbed
$(INSTALL) -m 755 $(SRCDIR)/dhclient $(SYSETCDIR)/testbed
$(INSTALL) -m 755 $(SRCDIR)/rc.frisbee $(SYSETCDIR)/testbed
$(INSTALL) -m 755 $(SRCDIR)/rc.ipod $(SYSETCDIR)/testbed
$(INSTALL) -m 755 $(SRCDIR)/slicefix $(SYSETCDIR)/testbed
$(INSTALL) -m 755 -s ../tmcc-nossl $(SYSETCDIR)/testbed/tmcc
$(INSTALL) -m 755 -s ../findif $(SYSETCDIR)/testbed
cdboot-install: destdircheck common-install etc-install \
script-install bin-install
$(INSTALL) -m 755 $(SRCDIR)/cdboot/rc.conf $(SYSETCDIR)/rc.conf
......
sendmail_enable="NONE"
sshd_enable="NO"
syslogd_enable="NO"
inetd_enable="NO"
cron_enable="NO"
ldconfig_paths=""
ldconfig_paths_aout=""
blanktime="NO"
update_motd="NO"
network_interfaces="lo0"
ifconfig_lo0="DHCP"
dhcp_program="/etc/testbed/dhclient"
#!/bin/sh
if [ -x /etc/testbed/rc.frisbee ]; then
echo "Playing Frisbee ..."
/etc/testbed/rc.frisbee
fi
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