view darwinfixlib.sh @ 8575:1d15ca298dda

Fix DVD authentication on Solaris 9. Solaris 9 does not allow USCSICMD ioctls for non-root users on vold devices any more; they are failing with an EPERM "permission denied" error. Now, only root is allowed to run USCSICMD ioctls on vold devices. Fortunatelly there's a new subroutine exported from libsmedia.so (smedia_uscsi_cmd) which allows non-root users to perform user mode SCSI commands on a vold device. (This works with a help of a daemon running as user root, /usr/lib/smedia/rpc.smserverd) This change detects the presence of function "smedia_uscsi_cmd" in library libsmedia.so at runtime, and uses this function if it's found (i.e. on solaris 9 smedia_uscsi_cmd() is used to execture user mode scsi commands). On solaris 8 or older, "smedia_uscsi_cmd" is not available and the code falls back to the old ioctl(.. USCSICMD ..) method.
author jkeil
date Fri, 27 Dec 2002 16:29:11 +0000
parents 184f37880f90
children
line wrap: on
line source

#!/bin/sh
if [ `uname -s` = 'Darwin' ]; then
  echo "Fixing libs with ranlib for Darwin (MacOSX)"
  for i in $* ; do
    if (echo $i | grep \\.a) >/dev/null 2>&1; then
      echo "ranlib $i"
      (ranlib $i) >/dev/null 2>&1
    fi
  done
fi
exit 0