summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2010-09-14 02:18:49 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2010-09-14 02:18:49 +0200
commit7cd42984d306f3a06b7e2b72aadbc4d41c0e3ebf (patch)
treeb98ffeb4c727028a7cc0013e39e99d0494a772c2 /templates
parenta9a7249c1b32d1f17cac5471e8352aa574d84971 (diff)
downloadplay-7cd42984d306f3a06b7e2b72aadbc4d41c0e3ebf.tar.gz
play-7cd42984d306f3a06b7e2b72aadbc4d41c0e3ebf.tar.bz2
play-7cd42984d306f3a06b7e2b72aadbc4d41c0e3ebf.zip
Split iso-implementations
Diffstat (limited to 'templates')
-rw-r--r--templates/cdemu25
-rw-r--r--templates/fuseiso18
-rw-r--r--templates/iso20
3 files changed, 48 insertions, 15 deletions
diff --git a/templates/cdemu b/templates/cdemu
new file mode 100644
index 0000000..2a07fa0
--- /dev/null
+++ b/templates/cdemu
@@ -0,0 +1,25 @@
+
+_cdemu_dev () {
+ exc "cdemu device-mapping | grep \"^${CDEMU_NO}\" | tr -s ' ' | cut -f 2 -d' '"
+}
+
+iso_prepare () {
+ default_prepare
+
+ declare -g MOUNT CDEMU_NO
+
+ [[ $MOUNT != /* ]] && MOUNT="$HOME/isos/spiele/$MOUNT"
+ CDEMU_NO=${CDEMU_NO:-0}
+
+ exc cdemu load $CDEMU_NO "$MOUNT"
+ exc mount $(_cdemu_dev)
+}
+
+iso_cleanup () {
+ exc umount $(_cdemu_dev)
+ exc cdemu unload $CDEMU_NO
+}
+
+EXPORT iso prepare cleanup
+
+# vim:ft=sh
diff --git a/templates/fuseiso b/templates/fuseiso
new file mode 100644
index 0000000..3b08b02
--- /dev/null
+++ b/templates/fuseiso
@@ -0,0 +1,18 @@
+
+iso_prepare () {
+ default_prepare
+
+ declare -g MOUNT MOUNTTARGET
+
+ [[ $MOUNT != /* ]] && MOUNT="$HOME/isos/spiele/$MOUNT"
+ [[ -z $MOUNTTARGET ]] && MOUNTTARGET="$HOME/isos/mnt"
+ exc fuseiso $MOUNT $MOUNTTARGET
+}
+
+iso_cleanup () {
+ exc fusermount -u $MOUNTTARGET
+}
+
+EXPORT iso prepare cleanup
+
+# vim:ft=sh
diff --git a/templates/iso b/templates/iso
index 3b08b02..4f4c52c 100644
--- a/templates/iso
+++ b/templates/iso
@@ -1,18 +1,8 @@
-iso_prepare () {
- default_prepare
-
- declare -g MOUNT MOUNTTARGET
-
- [[ $MOUNT != /* ]] && MOUNT="$HOME/isos/spiele/$MOUNT"
- [[ -z $MOUNTTARGET ]] && MOUNTTARGET="$HOME/isos/mnt"
- exc fuseiso $MOUNT $MOUNTTARGET
-}
-
-iso_cleanup () {
- exc fusermount -u $MOUNTTARGET
-}
-
-EXPORT iso prepare cleanup
+if [[ $ISO_TYPE == 'fuseiso' || -n $MOUNTTARGET ]]; then
+ inherit fuseiso
+else
+ inherit cdemu
+fi
# vim:ft=sh