summaryrefslogtreecommitdiffstats
path: root/lib/MGA/DrakISO/Utils.pm
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2017-12-22 00:29:27 +0000
committerMartin Whitaker <mageia@martin-whitaker.me.uk>2017-12-22 00:29:27 +0000
commit4b4b3e37c0025a512df5967ae9e46353caadf6bc (patch)
tree68c543a60986f3bada47c909b0be609801d8059a /lib/MGA/DrakISO/Utils.pm
parentfcdc9d5967cbf861db391a777bb129afc2e2560b (diff)
downloaddrakiso-4b4b3e37c0025a512df5967ae9e46353caadf6bc.tar
drakiso-4b4b3e37c0025a512df5967ae9e46353caadf6bc.tar.gz
drakiso-4b4b3e37c0025a512df5967ae9e46353caadf6bc.tar.bz2
drakiso-4b4b3e37c0025a512df5967ae9e46353caadf6bc.tar.xz
drakiso-4b4b3e37c0025a512df5967ae9e46353caadf6bc.zip
Complete support for building classic installer ISOs.
Diffstat (limited to 'lib/MGA/DrakISO/Utils.pm')
-rw-r--r--lib/MGA/DrakISO/Utils.pm10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/MGA/DrakISO/Utils.pm b/lib/MGA/DrakISO/Utils.pm
index ee1068f..c3533a4 100644
--- a/lib/MGA/DrakISO/Utils.pm
+++ b/lib/MGA/DrakISO/Utils.pm
@@ -30,7 +30,7 @@ use IO::Select;
use Exporter;
our @ISA = qw(Exporter);
-our @EXPORT = qw(directory_usage run_ mount_system_fs umount_external_fs);
+our @EXPORT = qw(directory_usage run_ copy_or_link mount_system_fs umount_external_fs);
sub directory_usage {
my ($dir, $o_apparent) = @_;
@@ -81,6 +81,14 @@ sub device_mkfs {
}
}
+sub copy_or_link {
+ my ($src_file, $dst_file) = @_;
+ # TODO: support remote sources.
+ mkdir_p(dirname($dst_file));
+ symlinkf($src_file, $dst_file)
+ or die "ERROR: couldn't link $src_file to $dst_file\n";
+}
+
sub mount_system_fs {
my ($build) = @_;
run_('mount', '-t', 'devtmpfs', '/dev', $build->get_system_root . '/dev');