#!/bin/bash

# devs.SlackBuild

# Paths to skeleton port's source & real Slackware source tree:
export CWD=$SLACKSOURCE/$PKGSERIES/$PKGNAM
export PORTCWD=$PWD

# Temporary build locations:
export TMPBUILD=$TMP/build-$PKGNAM
export PKG=$TMP/package-$PKGNAM
mkpkgdirs # Delete and re-create temporary directories

# Start fakeroot server:
start_fakeroot

# Explode the package framework:
( cd $PKG
  explodepkg $CWD/_devs.tar.gz )

# The Iyonix uses a USB mouse (/dev/input);
# The RiscStation & A7000+ is ps2 (/dev/psaux)
# The Omega uses .. who knows; does anyone *have* one? ;-)
# The StrongARM RiscPC & SUN SPARC use /dev/sunmouse 
mknod $PKG/dev/sunmouse c 10 6
chgrp sys $PKG/dev/sunmouse
# And for clarity:
# nah -- I don't like this after all. Not now it's /dev/input/mice
# for Linux 2.6; this is just crufty.
#if [ "${PORTARCH}" = "arm" ]; then
#   ( cd $PKG/dev && ln -fs sunmouse riscpcmouse )
#fi
#
# Additional device nodes that are required for the Raspberry Pi:
( cd $PKG/dev
  mknod -m 660 mmcblk0 b 179 0
  mknod -m 660 mmcblk0p1 b 179 1
  mknod -m 660 mmcblk0p2 b 179 2
  mknod -m 660 mmcblk0p3 b 179 3
  mknod -m 660 mmcblk0p4 b 179 4
  mknod -m 660 mmcblk0p5 b 179 5
  mknod -m 660 mmcblk0p6 b 179 6
  mknod -m 660 mmcblk0p7 b 179 7
  chown root:disk mmcblk*

  mknod -m 600 usbdev1.1 c 189 0
  mknod -m 600 usbdev1.2 c 189 1
  mknod -m 600 usbdev1.3 c 189 2
  chown root:root usbdev*
  mknod -m 660 ttyAMA0 c 204 64
  chown root:dialout ttyAMA* )

# Extract source:
tar xvvf $CWD/makedev_${VERSION}.orig.tar.gz
cd MAKEDEV-* || exit 1
slackhousekeeping
zcat $CWD/makedev_2.3.1-46.2.diff.gz | patch -p1 -E
# Add many more IDE devices:
zcat $CWD/makedev_2.3.1.hd.diff.gz | patch -p1 -E
# Still not enough:
zcat $CWD/makedev.hd.diff.gz | patch -p1 -E

# Install the package's guts:
install -vpm644 MAKEDEV $PKG/dev/
install -vpm644 README $PKG/dev/README.MAKEDEV
install -vpm644 MAKEDEV.man $PKG/usr/man/man8/MAKEDEV.8

# Apply some of the generic Slackware packaging policies:
cd $PKG
slackgzpages -i # compress man & info pages and delete usr/info/dir
slackdesc       # install slack-desc and doinst.sh
slackmp         # run makepkg -l y -c n

# Perform any final checks on the package:
cd $PKG
# Not on this package - using find over nodes isn't a good idea.
#slackhlinks     # search for any hard links
