On Fri, Apr 28, 2006 at 10:18:44PM +0200, Frans Pop wrote:
> On Thursday 27 April 2006 20:38, Robert Millan wrote:
> > I'm attaching a patch that adds support for kernel of FreeBSD.
> >
> > It's very non-intrusive.  Only two scripts are modified minimaly.
> 
> There's two things I think should be improved.
> - in commands/copy-modules an if statement is added without increasing the
>   indentation of lines between the if and fi
> - in commands/install-files the current "else" condition is changed into
>   an "elseif" and the kfreebsd case is left as a cach-all "else" case;
>   it seems more logical to me to have the kfreebsd case as a special
>   condition instead or maybe have all cases specified and to throw an
>   error if none of them match

Ok.  Here's a new patch.

-- 
Robert Millan
Index: commands/copy-modules
===================================================================
--- commands/copy-modules       (revision 36777)
+++ commands/copy-modules       (working copy)
@@ -56,7 +56,7 @@
                        # Prefer modules in the kernel subdir, but failing
                        # that search the whole thing, to find third-party,
                        # etc modules.
-                       match="$(find $moddir/kernel $moddir \
+                       match="$(find `ls -d $moddir/kernel 2>/dev/null` 
$moddir \
                                    -name $module.o -or -name $module.ko \
                                | head -n 1 | sed "s!$moddir/!!")"
                        
@@ -78,6 +78,7 @@
 flavour=$2
 installedname=$3
 arch=$(dpkg-architecture -qDEB_HOST_ARCH)
+os=$(dpkg-architecture -qDEB_HOST_ARCH_OS)
 home=$PWD
 
 trap 'rm -rf $tmpdir' EXIT
@@ -105,29 +106,31 @@
        modlistdir=modules/$arch
 fi
 
-if [ ! -e "$moddir/modules.dep" ]; then
-       echo "no $moddir/modules.dep. This file is required by kernel-wedge" >&2
-       exit 1
-fi
+if [ "$os" = "linux" ] ; then
+       if [ ! -e "$moddir/modules.dep" ]; then
+               echo "no $moddir/modules.dep. This file is required by 
kernel-wedge" >&2
+               exit 1
+       fi
 
-# get module dependencies from modules.dep
-# sort it by field 2
-perl -lne '
-       @words=split(" ");
-       s!'/lib/modules/$installedname'/!! foreach (@words);
-       if ($words[0] =~ /:$/) {
-               $words[0]=~s/:$//;
-               $module=shift @words;
-       }
-       foreach (@words) {
-               print "$module\t$_" unless $_ eq "\\";
-       }
-' $moddir/modules.dep | sort -k 2,2 > $tmpdir/deps
-
-if [ ! -s $tmpdir/deps ] && [ ! -e $home/no-modules ]; then
-       echo "No module interdependencies found. This probably means your 
modules.dep is broken." >&2
-       echo "If this is intentional, touch $home/no-modules" >&2
-       exit 1
+       # get module dependencies from modules.dep
+       # sort it by field 2
+       perl -lne '
+               @words=split(" ");
+               s!'/lib/modules/$installedname'/!! foreach (@words);
+               if ($words[0] =~ /:$/) {
+                       $words[0]=~s/:$//;
+                       $module=shift @words;
+               }
+               foreach (@words) {
+                       print "$module\t$_" unless $_ eq "\\";
+               }
+       ' $moddir/modules.dep | sort -k 2,2 > $tmpdir/deps
+       
+       if [ ! -s $tmpdir/deps ] && [ ! -e $home/no-modules ]; then
+               echo "No module interdependencies found. This probably means 
your modules.dep is broken." >&2
+               echo "If this is intentional, touch $home/no-modules" >&2
+               exit 1
+       fi
 fi
 
 mkdir $tmpdir/module-deps $tmpdir/module-list
Index: commands/install-files
===================================================================
--- commands/install-files      (revision 36777)
+++ commands/install-files      (working copy)
@@ -44,11 +44,19 @@
                        "$sourcedir/boot/vmlinux-$installedname",
                        
"debian/kernel-image-$kernelversion-$flavour-di/boot/vmlinux$extraname");
        }
-       else {
+       elsif (-e "$sourcedir/boot/vmlinuz-$installedname") {
                doit("install", "-D", "-m", 644,
                        "$sourcedir/boot/vmlinuz-$installedname",
                        
"debian/kernel-image-$kernelversion-$flavour-di/boot/vmlinuz$extraname");
        }
+       elsif (-e "$sourcedir/boot/kfreebsd-$installedname.gz") {
+               doit("install", "-D", "-m", 644,
+                       "$sourcedir/boot/kfreebsd-$installedname.gz",
+                       
"debian/kernel-image-$kernelversion-$flavour-di/boot/kfreebsd$extraname.gz");
+       }
+       else {
+               die "could not find kernel image";
+       }
        doit("install", "-D", "-m", 644,
                "$sourcedir/boot/System.map-$installedname",
                
"debian/kernel-image-$kernelversion-$flavour-di/boot/System.map$extraname")
Index: modules/kfreebsd/floppy-modules
===================================================================
--- modules/kfreebsd/floppy-modules     (revision 0)
+++ modules/kfreebsd/floppy-modules     (revision 0)
@@ -0,0 +1,2 @@
+fdc
+atapifd ?
Index: modules/kfreebsd/loop-modules
===================================================================
--- modules/kfreebsd/loop-modules       (revision 0)
+++ modules/kfreebsd/loop-modules       (revision 0)
@@ -0,0 +1,3 @@
+loop ?
+# aka cloop
+geom_uzip ?
Index: modules/kfreebsd/nic-modules
===================================================================
--- modules/kfreebsd/nic-modules        (revision 0)
+++ modules/kfreebsd/nic-modules        (revision 0)
@@ -0,0 +1,16 @@
+# Some very common nic modules.
+# 3Com Etherlink III
+if_ep ?
+# RealTek 8129/8139
+if_rl ?
+# Intel PRO/100 Ethernet
+if_fxp ?
+# National Semiconductor
+sis
+# ne2k
+if_ed ?
+#tg3
+# aka "tulip" ?
+if_dc ?
+# Winbond W89C840F
+if_wb ?
Index: modules/kfreebsd/fat-modules
===================================================================
--- modules/kfreebsd/fat-modules        (revision 0)
+++ modules/kfreebsd/fat-modules        (revision 0)
@@ -0,0 +1,2 @@
+msdosfs
+msdosfs_iconv ?
Index: modules/kfreebsd/acpi-modules
===================================================================
--- modules/kfreebsd/acpi-modules       (revision 0)
+++ modules/kfreebsd/acpi-modules       (revision 0)
@@ -0,0 +1 @@
+acpi
Index: modules/kfreebsd/serial-modules
===================================================================
--- modules/kfreebsd/serial-modules     (revision 0)
+++ modules/kfreebsd/serial-modules     (revision 0)
@@ -0,0 +1 @@
+sio ?
Index: modules/kfreebsd/reiserfs-modules
===================================================================
--- modules/kfreebsd/reiserfs-modules   (revision 0)
+++ modules/kfreebsd/reiserfs-modules   (revision 0)
@@ -0,0 +1,2 @@
+# Not available currently on all kernel versions, so marked optional.
+reiserfs ?
Index: modules/kfreebsd/ext2-modules
===================================================================
--- modules/kfreebsd/ext2-modules       (revision 0)
+++ modules/kfreebsd/ext2-modules       (revision 0)
@@ -0,0 +1 @@
+ext2fs
Index: modules/kfreebsd/ipv6-modules
===================================================================
--- modules/kfreebsd/ipv6-modules       (revision 0)
+++ modules/kfreebsd/ipv6-modules       (revision 0)
@@ -0,0 +1,2 @@
+if_gif
+if_faith
Index: modules/kfreebsd/nfs-modules
===================================================================
--- modules/kfreebsd/nfs-modules        (revision 0)
+++ modules/kfreebsd/nfs-modules        (revision 0)
@@ -0,0 +1 @@
+nfsclient
Index: modules/kfreebsd/scsi-core-modules
===================================================================
--- modules/kfreebsd/scsi-core-modules  (revision 0)
+++ modules/kfreebsd/scsi-core-modules  (revision 0)
@@ -0,0 +1,4 @@
+scbus ?
+ch ?
+da ?
+sa ?
Index: modules/kfreebsd/scsi-common-modules
===================================================================
--- modules/kfreebsd/scsi-common-modules        (revision 0)
+++ modules/kfreebsd/scsi-common-modules        (revision 0)
@@ -0,0 +1,4 @@
+aic ?
+aic7xxx ?
+bt ?
+sym ?
Index: modules/kfreebsd/parport-modules
===================================================================
--- modules/kfreebsd/parport-modules    (revision 0)
+++ modules/kfreebsd/parport-modules    (revision 0)
@@ -0,0 +1,2 @@
+ppc ?
+ppbus ?
Index: modules/kfreebsd/ide-core-modules
===================================================================
--- modules/kfreebsd/ide-core-modules   (revision 0)
+++ modules/kfreebsd/ide-core-modules   (revision 0)
@@ -0,0 +1 @@
+ata ?
Index: modules/kfreebsd/usb-modules
===================================================================
--- modules/kfreebsd/usb-modules        (revision 0)
+++ modules/kfreebsd/usb-modules        (revision 0)
@@ -0,0 +1,4 @@
+ohci ?
+uhci ?
+ehci ?
+usb ?
Index: modules/kfreebsd/cdrom-core-modules
===================================================================
--- modules/kfreebsd/cdrom-core-modules (revision 0)
+++ modules/kfreebsd/cdrom-core-modules (revision 0)
@@ -0,0 +1,3 @@
+# SCSI cd
+cd ?
+atapicd ?
Index: modules/kfreebsd/usb-storage-modules
===================================================================
--- modules/kfreebsd/usb-storage-modules        (revision 0)
+++ modules/kfreebsd/usb-storage-modules        (revision 0)
@@ -0,0 +1 @@
+umass ?
Index: modules/kfreebsd/pcmcia-modules
===================================================================
--- modules/kfreebsd/pcmcia-modules     (revision 0)
+++ modules/kfreebsd/pcmcia-modules     (revision 0)
@@ -0,0 +1,6 @@
+# cardbus (yenta) bridge
+cbb ?
+# PC Card (16-bit) bus
+pccard ?
+# CardBus (32-bit) bus
+cardbus ?
Index: modules/kfreebsd/ufs-modules
===================================================================
--- modules/kfreebsd/ufs-modules        (revision 0)
+++ modules/kfreebsd/ufs-modules        (revision 0)
@@ -0,0 +1 @@
+ufs ?
Index: modules/kfreebsd/ppp-modules
===================================================================
--- modules/kfreebsd/ppp-modules        (revision 0)
+++ modules/kfreebsd/ppp-modules        (revision 0)
@@ -0,0 +1,5 @@
+if_ppp
+ng_ppp
+ng_pppoe
+ng_sppp
+sppp
Index: modules/kfreebsd/md-modules
===================================================================
--- modules/kfreebsd/md-modules (revision 0)
+++ modules/kfreebsd/md-modules (revision 0)
@@ -0,0 +1 @@
+md ?
Index: modules/kfreebsd/nic-usb-modules
===================================================================
--- modules/kfreebsd/nic-usb-modules    (revision 0)
+++ modules/kfreebsd/nic-usb-modules    (revision 0)
@@ -0,0 +1,12 @@
+# ADMtek USB Ethernet
+aue ?
+# ASIX Electronics USB Ethernet
+axe ?
+# Generic USB over Ethernet
+cdce ?
+# CATC USB Ethernet
+cue ?
+# Kawasaki LSI USB Ethernet
+kue ?
+# RealTek RTL8150 USB Ethernet
+rue ?
Index: modules/kfreebsd/xfs-modules
===================================================================
--- modules/kfreebsd/xfs-modules        (revision 0)
+++ modules/kfreebsd/xfs-modules        (revision 0)
@@ -0,0 +1,2 @@
+# Not available currently on all kernel versions, so marked optional.
+xfs ?
Index: modules/kfreebsd/ide-modules
===================================================================
--- modules/kfreebsd/ide-modules        (revision 0)
+++ modules/kfreebsd/ide-modules        (revision 0)
@@ -0,0 +1,4 @@
+atadisk ?
+ataraid ?
+cd9660 ?
+cd9660_iconv ?
Index: modules/kfreebsd/firewire-core-modules
===================================================================
--- modules/kfreebsd/firewire-core-modules      (revision 0)
+++ modules/kfreebsd/firewire-core-modules      (revision 0)
@@ -0,0 +1,5 @@
+firewire ?
+# SCSI over FireWire (Requires scbus and da)
+sbp ?
+# Ethernet over FireWire (non-standard!)
+fwe ?
Index: modules/kfreebsd/nic-pcmcia-modules
===================================================================
--- modules/kfreebsd/nic-pcmcia-modules (revision 0)
+++ modules/kfreebsd/nic-pcmcia-modules (revision 0)
@@ -0,0 +1,2 @@
+# Common pcmcia nic modules.
+if_ed ?
Index: modules/kfreebsd/plip-modules
===================================================================
--- modules/kfreebsd/plip-modules       (revision 0)
+++ modules/kfreebsd/plip-modules       (revision 0)
@@ -0,0 +1 @@
+plip
Index: modules/kfreebsd/isa-pnp-modules
===================================================================
--- modules/kfreebsd/isa-pnp-modules    (revision 0)
+++ modules/kfreebsd/isa-pnp-modules    (revision 0)
@@ -0,0 +1 @@
+isa ?

Reply via email to