From 37108874bfbdd3d3e71b6bccaf9b3576a34e57fc Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Mon, 5 Sep 2005 22:10:58 +0000 Subject: Add pktcdvd init script, based off work by John Ross Hunt and Eugeny in bug #77726 (Portage version: 1.589-cvs) --- sys-fs/udftools/files/digest-udftools-1.0.0b-r5 | 2 + sys-fs/udftools/files/pktcdvd.init | 58 +++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 sys-fs/udftools/files/digest-udftools-1.0.0b-r5 create mode 100644 sys-fs/udftools/files/pktcdvd.init (limited to 'sys-fs/udftools/files') diff --git a/sys-fs/udftools/files/digest-udftools-1.0.0b-r5 b/sys-fs/udftools/files/digest-udftools-1.0.0b-r5 new file mode 100644 index 000000000000..55f8b9eb6f1d --- /dev/null +++ b/sys-fs/udftools/files/digest-udftools-1.0.0b-r5 @@ -0,0 +1,2 @@ +MD5 2f491ddd63f31040797236fe18db9e60 udftools-1.0.0b3.tar.gz 293257 +MD5 4fe44166cf7c636ec41758ae763d79be udftools-1.0.0b3.patch.bz2 3372 diff --git a/sys-fs/udftools/files/pktcdvd.init b/sys-fs/udftools/files/pktcdvd.init new file mode 100644 index 000000000000..c4055e99344c --- /dev/null +++ b/sys-fs/udftools/files/pktcdvd.init @@ -0,0 +1,58 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/udftools/files/pktcdvd.init,v 1.1 2005/09/05 22:10:58 dsd Exp $ + +depend() { + need localmount modules +} + +checkconfig() { + if [[ ! -e /dev/pktcdvd/control ]]; then + eerror "Could not find packet-writing control device at /dev/pktcdvd/control" + eerror "Please ensure that your kernel includes packet writing support," + eerror "and if modular, ensure that the module is loaded." + return 1 + fi +} + +get_rw_devices() { + devices_raw=$(sed -re '/^drive name:/I!d; s/.*:\s+//' /proc/sys/dev/cdrom/info) + devices=($devices_raw) + devs="" + + cdrw_caps=$(sed -re '/^Can write CD-RW:/I!d; s/.*:\s+//' /proc/sys/dev/cdrom/info) + + count=0 + for i in $cdrw_caps; do + [[ $i == 1 ]] && devs="${devs} ${devices[$count]}" + ((count++)) + done + + echo ${devs} +} + +start() { + checkconfig || return 1 + + for i in $(get_rw_devices) + do + devnode="/dev/${i}" + [[ ! -e ${devnode} ]] && continue + + /usr/bin/pktsetup ${i} ${devnode} > /dev/null + [[ ! -e /dev/pktcdvd/${i} ]] && continue + chmod 660 /dev/pktcdvd/${i} + chgrp cdrw /dev/pktcdvd/${i} + done +} + +stop() { + checkconfig || return 1 + + for i in $(get_rw_devices) + do + /usr/bin/pktsetup -d ${i} > /dev/null + done +} + -- cgit v1.2.3-65-gdbad