[2055] in SIPB_Linux_Development

home help back first fref pref prev next nref lref last post

Re: thoughts about packaging AFS for new release

daemon@ATHENA.MIT.EDU (Aaron M. Ucko)
Sun Aug 2 12:57:15 1998

To: Derek Atkins <warlord@MIT.EDU>
Cc: linux-dev@MIT.EDU
From: amu@MIT.EDU (Aaron M. Ucko)
Date: 02 Aug 1998 12:56:52 -0400
In-Reply-To: Derek Atkins's message of "02 Aug 1998 12:30:33 -0400"

Derek Atkins <warlord@MIT.EDU> writes:

> amu@MIT.EDU (Aaron M. Ucko) writes:
> 
> > ** Perhaps don't redirect so much to /dev/console.
> 
> Unfortunately this isn't as easy as you would think...  Much of the
> output of AFS (certainly during bootup) is output from the kernel
> module -- you can't redirect that easily.

Well, right, but I was thinking more of the userspace stuff.  As it
stands, it's very difficult to get useful diagnostics when starting
AFS remotely with your scripts.

> > ** Perhaps split off Athenaisms (aklog, newpag, config_afs) (glibc only)
> 
> Remember that the Linux-AFS distribution is not just for Athena -- it
> needs to be useful everywhere.  I don't want to make an Athena
> distribtion and a world-wide distribution.  I think these programs
> should stay with the AFS distribution -- they don't make any sense
> being anywhere else.

OK...but do Transarc's distributions for other platforms include any
of those?  In particular, aklog is only really useful at sites using
"real" krb4, and config_afs is kind of Athena-centric.

> > ** Rename to /etc/rc.d/init.d/afs
> 
> Well, I'd make it afs.init, but sounds good.

In Red Hat 5.1, nothing in /etc/rc.d/init.d has the .init extension.

> > ** Symlink into /etc/rc.d/rc?.d
> 
> How do you make sure that the network is actually turned on?

The customary method is

	. /etc/sysconfig/network
	
	# Check that networking is up.
	[ ${NETWORKING} = "no" ] && exit 0

but of course that screws people on normally-disconnected machines.  Hrm.

> > ** Insist on being invoked with "start" or "stop"
> 
> I thought this was already done (well, it assumes "start" if it
> doesn't get anything).  I don't mind this changing.

Right, it currently treats anything other than "stop" as "start"

> > ** Obtain AFSSRV, AFSCLIENT, and AFSADJUST from /etc/athena/rc.conf if
> >    present. (perhaps also for libc5 packages?)
> 
> Hmm.. At one point I thought I did this; I guess I didn't.  Oops.
> Yes, this should go in.  There just needs to be a way to assume
> defaults, for example, if /etc/athena/rc.conf doesn't exist.

Yeah, I was thinking something like

	if [ -r /etc/athena/rc.conf ]; then
		. /etc/athena/rc.conf
	else
		AFSSRV=false
		AFSCLIENT=true
		AFSADJUST=false
	fi

> > * Changes to /usr/vice/etc/rc.dkload.client:
> > 
> > ** Use /var/tmp, not /usr/tmp.
> 
> I've changed this in my source tree.  I just need to remember to
> incorporate this into the new package.  Also, should it perhaps use
> /var/vice insted of /usr/vice?

In principal, yes.  In practice, that would cause problems for people
upgrading their systems, especially if they had dedicated cache
partitions.

> > ** Perhaps try to figure out which libafs module to load.
> >    (Unfortunately, this is easier said than done, because a single
> >    Linux-AFS release may work with multiple kernel releases, and I
> >    don't see a reliable way to distinguish SMP from UP kernels on UP
> >    systems.  Sigh.)
> 
> Actually, I already made this change.  Basically, what it
> distinguishes is whether you are running an SMP-enabled kernel or not,
> regardless of the number of processors.  It does this by looking at
> /proc/cpuinfo, since the output is different for SMP and non-SMP
> kernels, regardless of the number of processors (I believe).

Ah, it always has a "number of processors" line or something?  Cool.

-- 
Aaron M. Ucko, KB1CJC <amu@mit.edu> (finger amu@monk.mit.edu)

home help back first fref pref prev next nref lref last post