summaryrefslogtreecommitdiffstats
path: root/examples/gui/files/halt.local
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2018-03-05 23:44:04 +0000
committerMartin Whitaker <mageia@martin-whitaker.me.uk>2018-03-05 23:44:04 +0000
commit820b7dcaf0515c8c1c59e1d87185401693b0cf52 (patch)
treea80d6c708c6308e4da439546f34c220e16c84327 /examples/gui/files/halt.local
parent55b6bf3e3187a8454853805a955749044f043724 (diff)
downloaddrakiso-820b7dcaf0515c8c1c59e1d87185401693b0cf52.tar
drakiso-820b7dcaf0515c8c1c59e1d87185401693b0cf52.tar.gz
drakiso-820b7dcaf0515c8c1c59e1d87185401693b0cf52.tar.bz2
drakiso-820b7dcaf0515c8c1c59e1d87185401693b0cf52.tar.xz
drakiso-820b7dcaf0515c8c1c59e1d87185401693b0cf52.zip
Add draklive2 examples.
Diffstat (limited to 'examples/gui/files/halt.local')
-rwxr-xr-xexamples/gui/files/halt.local24
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/gui/files/halt.local b/examples/gui/files/halt.local
new file mode 100755
index 0000000..e27ad1d
--- /dev/null
+++ b/examples/gui/files/halt.local
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+use lib qw(/usr/lib/libDrakX);
+use MDK::Common;
+use detect_devices;
+use c;
+
+my ($device) = cat_("/proc/mounts") =~ m!(/dev/\S+)\s+/live/media\s+iso9660!;
+$device or exit;
+
+# try to put halt/reboot in cache, if not called directly from them
+# mount is also needed by end of /etc/init.d/halt
+system("$_ --help &>/dev/null") foreach qw(halt mount reboot);
+
+my $f = detect_devices::tryOpen($device);
+# see openCdromTray() from install::any
+ioctl($f, c::CDROM_LOCKDOOR(), 0); # unlock door
+ioctl($f, c::CDROMEJECT(), 0);
+
+system("clear");
+print "\n\n\nPlease press <Enter> (or <CTRL><J>) once the medium is removed.\n";
+system("read < /dev/console");
+
+ioctl($f, c::CDROMCLOSETRAY(), 0);