[dl-x86solaris-devel 42] CVS update: dlkit2

Zurück zum Archiv-Index

SAWADA Keiji card_capto****@users*****
2006年 2月 26日 (日) 23:44:28 JST


Index: dlkit2/sv.non-std-driver-setup
diff -u dlkit2/sv.non-std-driver-setup:1.4 dlkit2/sv.non-std-driver-setup:1.5
--- dlkit2/sv.non-std-driver-setup:1.4	Sun Feb 26 04:16:54 2006
+++ dlkit2/sv.non-std-driver-setup	Sun Feb 26 23:44:28 2006
@@ -1,4 +1,7 @@
 #!/bin/sh
+# -*- shell-script -*-
+# sv.non-std-driver-setup - create script to install third party driver.
+#
 # Usage: sv.non-std-driver-setup <name>
 
 NAME=${1:?}
@@ -52,6 +55,16 @@
     ) > $root/etc/name_to_major
 }
 
+add_etc_system() {
+    echo "$NAME: Configuring etc/system"
+    backup_distfile $root/etc/system
+    (cat $root/etc/system.dist
+	echo ""
+	echo "* Added by dl-x86solaris kit"
+	echo "forceload: drv/$NAME"
+    ) > $root/etc/system
+}
+
 add_devicedb_master() {
     echo "$NAME: Configuring boot/solaris/devicedb/master"
     backup_distfile $root/boot/solaris/devicedb/master
@@ -64,28 +77,32 @@
     add_driver_aliases
     add_minor_perm
     add_name_to_major
+    add_etc_system
     add_devicedb_master
 }
 
 case "$1" in
     server)
-	# assuming $CWD/config.in exists
+	# assuming $CWD/config.in exists. ran at server-side.
+	# modifies install-time root filesystem.
 	. ./config.in
 	if [ "x$BOOT_TYPE" = xnewboot ]; then
 	    targetdir=$SV_INSTROOT/kernel/drv
 	    root=$SV_INSTROOT
 	else
-	    targetdir=$SV_INSTROOT/fake
-	    root=$SV_INSTROOT
+	    echo "ERROR: BOOT_TYPE should be 'newboot'"
 	fi
 	;;
     offline)
-	# assuming $CWD/config.in exists
+	# assuming $CWD/config.in exists. ran at server-side.
+	# modifies postinstall-time root filesystem.
 	. ./config.in
 	targetdir=$SV_FIN_ROOT/kernel/drv
 	root=$SV_FIN_ROOT
 	;;
     client)
+	# ran at client-side.
+	# modifies postinstall-time root filesystem.
 	targetdir=/a/kernel/drv
 	root=/a
 	;;
@@ -94,12 +111,32 @@
 	;;
 esac
 
-for ext in '' '.amd64' '.conf'; do
-    if [ -f ${NAME}${ext} ]; then
-	cp_drv ${NAME}${ext} $targetdir/${NAME}${ext}
+# installs driver executables
+copied=n
+for srcdir in . site_drv; do
+    if [ -f ${srcdir}/${NAME} ]; then
+	cp_drv ${srcdir}/${NAME} ${targetdir}/${NAME}
+	copied=y${copied}
+    fi
+    if [ -f ${srcdir}/${NAME}.i386 ]; then
+	cp_drv ${srcdir}/${NAME}.i386 ${targetdir}/${NAME}
+	copied=y${copied}
+    fi
+    if [ -f ${srcdir}/${NAME}.amd64 -a -d ${targetdir}/amd64 ]; then
+	cp_drv ${srcdir}/${NAME}.amd64 ${targetdir}/amd64/${NAME}
+	copied=y${copied}
+    fi
+    if [ -f ${srcdir}/${NAME}.conf ]; then
+	cp_drv ${srcdir}/${NAME}.conf ${targetdir}/${NAME}.conf
     fi
 done
+if [ $copied = n ]; then
+    echo "ERROR: ${NAME} driver not copied"
+fi
+
+# update driver registration configuration
 fake_add_drv
+
 EOF
 }
 
Index: dlkit2/sv.get-non-std-drivers
diff -u /dev/null dlkit2/sv.get-non-std-drivers:1.1
--- /dev/null	Sun Feb 26 23:44:28 2006
+++ dlkit2/sv.get-non-std-drivers	Sun Feb 26 23:44:28 2006
@@ -0,0 +1,51 @@
+#!/bin/sh
+# -*- shell-script -*-
+# sv.get-non-std-drivers - get third party drivers
+
+WGET=wget
+mkdir -p site_drv
+cd site_drv
+
+#----------------------------------------------------------------------
+
+xlink() {
+    # find a file specified by given glob, and make link to it
+    LINK=${1:?}; FILE=${2:?}
+    if [ -f "$FILE" ]; then
+	echo "  Found $NAME driver at $FILE ($LINK)"
+	rm -f "$LINK"
+	ln "$FILE" "$LINK"
+    else
+	echo "ERROR: link=$LINK file=$FILE"
+    fi
+}
+
+#----------------------------------------------------------------------
+MURAYAMA_URL=homepage2.nifty.com/mrym3/taiyodo
+
+murayama_extract() {
+    # usage: murayama_extract NAME MAJOR_VERSION
+    NAME=${1:?}; MAJ=${2:?}
+    TGZ="$MURAYAMA_URL/$NAME-$MAJ*.tar.gz"
+    echo "Extracting $NAME driver archive"
+    gzip -dc $TGZ | tar xf -
+    xlink $NAME.i386  $NAME-$MAJ*/i386/$NAME
+    xlink $NAME.amd64 $NAME-$MAJ*/amd64/$NAME
+}
+
+echo "Fetching archives from http://$MURAYAMA_URL/eng/ ..."
+$WGET -q -m -l 1 http://$MURAYAMA_URL/eng/
+murayama_extract alta 1
+murayama_extract bcf 0
+murayama_extract gani 0
+murayama_extract ife 0
+murayama_extract nfo 0
+murayama_extract ni 0
+murayama_extract rf 1
+murayama_extract rh 1
+#murayama_extract rh 2
+murayama_extract sfe 1
+murayama_extract tne 0
+murayama_extract tu 0
+murayama_extract vel 0
+


dl-x86solaris-devel メーリングリストの案内
Zurück zum Archiv-Index