#!/bin/csh
#
#	GNU-Darwin net install
#	0.0.1a6 (untested)
#	proclus (GPL)
#	Thu Dec 27 20:37:35 EST 2001
#

# For OSX, you should be able to go directly to essential_binaries 
# after installing wget.  Just uncomment the line below and run 
# the network installer with "source gdNet-install"
# For now, you will have to download wget to a second computer,
# then scp it to your Darwin machine
# wget http://gnu-darwin.sourceforge.net/packages/wget
# chmod 755 wget
# cp wget /usr/bin
#

#goto essential_binaries

# Darwin network and user setup

setenv IPnumber  ?.?.?.?
setenv Router    ?.?.?.?
setenv NameServer    ?.?.?.?
setenv your_hostname ????
setenv user_name ?????          # one word

# For Darwin, Set the variables above, and run this script.
# Install wget, then uncomment "goto essential_binaries" above

goto network
#goto various_edits

network:
ifconfig en0 $IPnumber up
route add default $Router
sshd
hostname $your_hostname
niutil -create . /locations/resolver
niutil -createprop . /locations/resolver nameserver $NameServer

make_user:
mkdir /Users/$user_name
niutil -create . /users/$user_name
niutil -createprop . /users/$user_name uid 1001
niutil -createprop . /users/$user_name gid 0
niutil -createprop . /users/$user_name shell /bin/tcsh
niutil -createprop . /users/$user_name home /Users/$user_name
echo enter password for $user_name
passwd $user_name
chown -R $user_name /Users/$user_name
chown -R .wheel /Users/$user_name

restart_netinfo:
# kill netinfod and lookupd with -HUP
kill -HUP `ps -ax | grep netinfod | grep -v grep | awk '{print $1}'`
kill -HUP `ps -ax | grep lookupd | grep -v grep | awk '{print $1}'`
exit


#  Everything below depends on wget.

essential_binaries:
#scp love@moerbeke:/usr/bin/wget /usr/bin/
cd /usr/bin
mv tar ~
wget http://gnu-darwin.sourceforge.net/packages/tar
chmod 755 /usr/bin/tar
cd /usr/sbin/
wget http://gnu-darwin.sourceforge.net/packages/pkg_add
chmod 755 pkg_add
rehash
cd /usr/lib
# sorry for this kludge ;(
wget http://gnu-darwin.sourceforge.net/libtcl8.3.dylib


more_binaries:
cd ~;mkdir basefiles
cd basefiles/
wget http://gnu-darwin.sourceforge.net/packages/killall
cp killall /usr/bin/killall
chmod 755 /usr/bin/killall
wget http://proclus.tripod.com/darwin/ls
mv /usr/bin/ls ~
chmod 755 ls
cp ls /usr/bin/
ln -s /usr/bin/install /usr/bin/install-info
ln -s /usr/bin/install /usr/local/bin/install-info

# install the package manager
#

pkg_installer:
wget http://prdownloads.sourceforge.net/gnu-darwin/g-d-package-install-2.tgz
pkg_add -v g-d-package-install-2.tgz
mkdir /var/db/pkg/gettext-0.10.35
pkg_add -f http://prdownloads.sourceforge.net/gnu-darwin/g-d-package-install-2.tgz http://prdownloads.sourceforge.net/gnu-darwin/dlcompat-20010831.tgz http://prdownloads.sourceforge.net/gnu-darwin/wget-1.6_2.tgz
rehash

add_packages:
wget http://gnu-darwin.sourceforge.net/getPackages
mkdir packages
cd packages
source ../getPackages

make_links:
echo Making links.  
cd /usr/X11R6/lib
ln -s /usr/X11R6/lib/libICE.6.3.dylib libICE.6.dylib
ln -s /usr/X11R6/lib/libICE.6.3.dylib libICE.6.dylib
ln -s /usr/X11R6/lib/libICE.6.3.dylib libICE.dylib
ln -s /usr/X11R6/lib/libSM.6.0.dylib libSM.6.dylib
ln -s /usr/X11R6/lib/libSM.6.0.dylib libSM.dylib
ln -s /usr/X11R6/lib/libX11.6.2.dylib libX11.6.dylib
ln -s /usr/X11R6/lib/libX11.6.2.dylib libX11.dylib
ln -s /usr/X11R6/lib/libXaw.6.1.dylib libXaw.6.dylib
ln -s /usr/X11R6/lib/libXaw.7.0.dylib libXaw.7.dylib
ln -s /usr/X11R6/lib/libXaw.7.0.dylib libXaw.dylib
ln -s /usr/X11R6/lib/libXext.6.4.dylib libXext.6.dylib
ln -s /usr/X11R6/lib/libXext.6.4.dylib libXext.dylib
ln -s /usr/X11R6/lib/libXfont.1.3.dylib libXfont.1.dylib
ln -s /usr/X11R6/lib/libXfont.1.3.dylib libXfont.dylib
ln -s /usr/X11R6/lib/libXft.1.0.dylib libXft.1.dylib
ln -s /usr/X11R6/lib/libXft.1.0.dylib libXft.dylib
ln -s /usr/X11R6/lib/libXi.6.0.dylib libXi.6.dylib
ln -s /usr/X11R6/lib/libXi.6.0.dylib libXi.dylib
ln -s /usr/X11R6/lib/libXmu.6.2.dylib libXmu.6.dylib
ln -s /usr/X11R6/lib/libXmu.6.2.dylib libXmu.dylib
ln -s /usr/X11R6/lib/libXmuu.1.0.dylib libXmuu.1.dylib
ln -s /usr/X11R6/lib/libXmuu.1.0.dylib libXmuu.dylib
ln -s /usr/X11R6/lib/libXp.6.2.dylib libXp.6.dylib
ln -s /usr/X11R6/lib/libXp.6.2.dylib libXp.dylib
ln -s /usr/X11R6/lib/libXpm.4.11.dylib libXpm.4.dylib
ln -s /usr/X11R6/lib/libXpm.4.11.dylib libXpm.dylib
ln -s /usr/X11R6/lib/libXrandr.1.0.dylib libXrandr.1.dylib
ln -s /usr/X11R6/lib/libXrandr.1.0.dylib libXrandr.dylib
ln -s /usr/X11R6/lib/libXrender.1.0.dylib libXrender.1.dylib
ln -s /usr/X11R6/lib/libXrandr.1.0.dylib libXrandr.dylib
ln -s /usr/X11R6/lib/libXrender.1.0.dylib libXrender.1.dylib
ln -s /usr/X11R6/lib/libXrender.1.0.dylib libXrender.dylib
ln -s /usr/X11R6/lib/libXt.6.0.dylib libXt.6.dylib
ln -s /usr/X11R6/lib/libXt.6.0.dylib libXt.dylib
ln -s /usr/X11R6/lib/libXtst.6.1.dylib libXtst.6.dylib
ln -s /usr/X11R6/lib/libXtst.6.1.dylib libXtst.dylib
ln -s /usr/X11R6/lib/libdps.1.0.dylib libdps.1.dylib
ln -s /usr/X11R6/lib/libdps.1.0.dylib libdps.dylib
ln -s /usr/X11R6/lib/libdpstk.1.0.dylib libdpstk.1.dylib
ln -s /usr/X11R6/lib/libdpstk.1.0.dylib libdpstk.dylib 
ln -s /usr/X11R6/lib/libfreetype.6.0.dylib libfreetype.6.dylib
ln -s /usr/X11R6/lib/libfreetype.6.0.dylib libfreetype.7.dylib
ln -s /usr/X11R6/lib/libfreetype.6.0.dylib libfreetype.dylib
ln -s /usr/X11R6/lib/liboldX.6.0.dylib liboldX.6.dylib
ln -s /usr/X11R6/lib/liboldX.6.0.dylib liboldX.dylib
ln -s /usr/X11R6/lib/libpsres.1.0.dylib libpsres.1.dylib
ln -s /usr/X11R6/lib/libpsres.1.0.dylib libpsres.dylib

echo Fixing directories.
cd /usr/local/
cd share/
ln -s misc/terminfo .
cd /usr/local/
cp -rf share/* /usr/X11R6/share/
rm -rf share
ln -s /usr/X11R6/bin/XDarwin /usr/X11R6/bin/XFree86
ln -s /usr/X11R6/share .
ln -s /usr/X11R6/bin/enlightenment /bin
ln -s /usr/X11R6/lib/libfreetype.7.0.dylib /usr/X11R6/lib/libfreetype.6.dylib
ln -s /usr/local/bin/dillo /usr/X11R6/bin/mozilla
ln -s /usr/local/bin/dillo /usr/X11R6/bin/netscape
ln -s /usr/local/bin/dillo /usr/X11R6/bin/netscape.bin
ln -s /usr/bin/cc /usr/local/bin/gcc      
ln -s /usr/bin/c++ /usr/local/bin/g++
ln -s /usr/bin/cc /usr/bin/gcc
ln -s /usr/bin/c++ /usr/bin/g++
ln -s /usr/include/limits.h /usr/local/include/values.h
touch /usr/include/malloc.h
cd share/
echo Making GNOME files universal...
cp -rf gnome/* ./
echo removing duplicates...
rm -rf gnome
echo Linking...
ln -s /usr/X11R6/share gnome
echo Done

misc:
/usr/libexec/locate.updatedb &
rehash
killall mtree
echo Done!
echo If you know VI and Darwin networking, then set \"goto various_edits\"
echo Otherwise, see the Darwinfo FAQ http://darwinfo.org/ about how to make the
echo network settings permanent.
exit

# Some of these edits are required to make the network settings permanent.
# See Darwinfo FAQ for more info.  http://darwinfo.org/faq.shtml#resolv
# Everything below requires some manual entry 
# Just use this as a guide

various_edits:
cd ~
#scp $Router:/etc/hosts .
#cat hosts >> /etc/hosts
vi /etc/hostconfig
vi /etc/hosts
vi /etc/iftab
niload hosts / < /etc/hosts
echo The following hosts have been added to the NetInfo database.
nidump hosts /
kill -HUP `ps -ax | grep netinfod | grep -v grep | awk '{print $1}'`
kill -HUP `ps -ax | grep lookupd | grep -v grep | awk '{print $1}'`