Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Distributing Unix tools over NFS network

0 views
Skip to first unread message

Jim Dennis

unread,
Sep 2, 1997, 3:00:00 AM9/2/97
to


In article <5tuko3$gum$2...@frontier.tno.nl> bru...@iwma22.wt.tno.nl
(Frank Brugman) writes:

> Dear reader,

> I am in the not so happy position to port some developed Unix tools
> ( Bourne Shell, Lex, Yacc, C scripts ) to several different Unix machines
> in our NFS network.
> I am aiming to the maintenance central on the server disk and
> then releasing these tools at a certain moment all over our machines
> in our NFS network.

This depends quite a bit on what the differences between
your tools and platforms are.

Bourne shell is nearly universal. So you start with it
as the common element -- and write a script that figures
out which flavor of Unix it's running under (using commands
like 'arch' and 'uname' -- possibly even using 'hostname' and
doing a case statement). From there you should be able to
set an environment variable that controls which machine
specific binaries and script variants you use for the rest
of your work.

Typically you'd have an NFS export structure that would
account for the platforms you need to support. For example
you might have

/export/
aix
bsdi
freebsd
hpux9
hpux10
linux
sco5
solaris
sunos

On your NFS server -- and you migh have a .../bin/ directory
under each of those. On each of your clients you might have a
symlink from /opt/share/bin -> /mnt/NFS/????/bin (where the
???? depends on the client's OS).

There was an article in one of the USENIX proceedings about using
sh as a "dispatcher" for run-time cross-platform support.
Unfortunately I don't remember the full reference.

As for source level configuration management and cross-platform
support -- look at the GNU autoconf tool. This is supposed to
help you create 'configure' scripts which can automatically
adapt makefile's to specific system configurations. I don't
have any experience in this field, so you're on you own there.
However I've used a number of 'configure' scripts that were
generated by autoconf -- and some of them do some amazing work.

> Is there any Unix tool that supports such an multiple platform tool
> creation and distribution?

It's called Bourne shell. Beyond that your problem description
is far to vague to provide more specific suggestions.

As for "creation" and "distribution" -- those seem different
than the scenario you described in your first paragraph. Porting
sources to different platform shouldn't have anything to do with
how you share them over NFS (or AFS or whatever). You can look
at the GNU sources to see how they manage multi-platform support
(which, in addition to being "free" are probably the some of the
most extensive available). You could also get the O'Reilly books
on 'make' -- which cover these issues in some detail. Finally
you could get the sources for CKermit. This compiles for
about 700 different versions of Unix -- so it might offer some
examples of cross-plaform strategy.

> I think I can write it by myself, but if it allready exists,
> why should I re-invent it again?

This is much more of a programming than an administrative
issue. I'd suggestion follow-ups to a more appropriate
newsgroup.

> Many thanks in advance & best regards,
> Frank Brugman

--
Jim Dennis (800) 938-4078 consu...@starshine.org
Proprietor, Starshine Technical Services: http://www.starshine.org
PGP 1024/2ABF03B1 Jim Dennis <j...@starshine.org>
Key fingerprint = 2524E3FEF0922A84 A27BDEDB38EBB95A

0 new messages