summaryrefslogtreecommitdiffstats
path: root/draklive2
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2017-12-19 09:53:02 +0000
committerMartin Whitaker <mageia@martin-whitaker.me.uk>2017-12-19 10:03:54 +0000
commit9b2567c9a9ea6815168ad1ea563f4c91cc90ffe3 (patch)
treef969d0c231db6c4b26cce24ddd9d41fda4a860d4 /draklive2
parent7f97b53ea0cadced2321414a2b7054a4811eda6f (diff)
downloaddrakiso-9b2567c9a9ea6815168ad1ea563f4c91cc90ffe3.tar
drakiso-9b2567c9a9ea6815168ad1ea563f4c91cc90ffe3.tar.gz
drakiso-9b2567c9a9ea6815168ad1ea563f4c91cc90ffe3.tar.bz2
drakiso-9b2567c9a9ea6815168ad1ea563f4c91cc90ffe3.tar.xz
drakiso-9b2567c9a9ea6815168ad1ea563f4c91cc90ffe3.zip
Renamed draklive2 back to draklive.
As it's now in a different package, we can use package conflicts to handle the name collision.
Diffstat (limited to 'draklive2')
-rwxr-xr-xdraklive2220
1 files changed, 0 insertions, 220 deletions
diff --git a/draklive2 b/draklive2
deleted file mode 100755
index 1fac358..0000000
--- a/draklive2
+++ /dev/null
@@ -1,220 +0,0 @@
-#!/usr/bin/perl
-
-# Copyright (C) 2005 Mandriva
-# Olivier Blin <oblin@mandriva.com>
-# Copyright (C) 2017 Mageia
-# Martin Whitaker <mageia@martin-whitaker.me.uk>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-use lib qw(/usr/lib/libDrakX);
-
-use strict;
-
-use MDK::Common;
-use common;
-
-use Getopt::Long;
-use Pod::Usage;
-
-use MGA::DrakISO::Config;
-use MGA::DrakISO::Live;
-use MGA::DrakISO::Utils;
-
-use MGA::DrakISO::BuildRoot;
-use MGA::DrakISO::BuildBoot;
-use MGA::DrakISO::BuildLoop;
-use MGA::DrakISO::BuildISO;
-
-###############################################################################
-# Actions
-###############################################################################
-
-sub clean {
- my ($live) = @_;
- # make sure no external filesystems are mounted before cleaning
- umount_external_fs($live);
- rm_rf($_) foreach grep { -e $_ } $live->get_builddir, $live->get_system_root;
-}
-
-sub prepare_root {
- my ($live) = @_;
- MGA::DrakISO::BuildRoot::install_live_system($live);
- MGA::DrakISO::BuildRoot::customise_live_system($live);
-}
-
-sub prepare_boot {
- my ($live) = @_;
- MGA::DrakISO::BuildBoot::prepare_live_system_boot($live);
- MGA::DrakISO::BuildBoot::prepare_iso_bootloader($live);
-}
-
-###############################################################################
-# Main Program
-###############################################################################
-
-my @actions = (
- { name => 'dump-config', do => \&MGA::DrakISO::Config::dump_config },
- { name => 'clean', do => \&clean },
- { name => 'root', do => \&prepare_root },
- { name => 'root-create', do => \&MGA::DrakISO::BuildRoot::install_live_system },
- { name => 'root-customise', do => \&MGA::DrakISO::BuildRoot::customise_live_system },
- { name => 'boot', do => \&prepare_boot },
- { name => 'boot-system', do => \&MGA::DrakISO::BuildBoot::prepare_live_system_boot },
- { name => 'boot-loader', do => \&MGA::DrakISO::BuildBoot::prepare_iso_bootloader },
- { name => 'loop', do => \&MGA::DrakISO::BuildLoop::build_live_loopback_files },
- { name => 'master', do => \&MGA::DrakISO::BuildISO::build_live_iso },
-);
-my @all = qw(root boot loop master);
-
-die "you must be root to run this program\n" if $>;
-
-my $live_object = 'MGA::DrakISO::Live'->new;
-my $config_root = $MGA::DrakISO::Config::default_config_root;
-my $config_path = $MGA::DrakISO::Config::default_config_path;
-my $settings_path = $MGA::DrakISO::Config::default_settings_path;
-
-GetOptions(
- "help" => sub { Pod::Usage::pod2usage('-verbose' => 1) },
- "all" => sub { $_->{to_run} = 1 foreach grep { member($_->{name}, @all) } @actions },
- (map { $_->{name} => \$_->{to_run} } @actions),
- "all-regions" => sub { $live_object->{all_regions} = 1 },
- "config-root=s" => \$config_root,
- "config=s" => \$config_path,
- "settings=s" => \$settings_path,
- "define=s" => \%{$live_object->{settings}},
-) or Pod::Usage::pod2usage();
-
-require standalone;
- every { !$_->{to_run} } @actions and Pod::Usage::pod2usage();
-
- MGA::DrakISO::Config::read_config($live_object, $config_root, $config_path, $settings_path);
- MGA::DrakISO::Config::check_config($live_object);
- MGA::DrakISO::Config::complete_config($live_object);
-
- foreach my $region ($live_object->{all_regions} ? sort(keys %{$live_object->{regions}}) : $live_object->{settings}{region}) {
- $region and print qq(=== proceeding with region "$region"\n);
- $live_object->{settings}{region} = $region;
- foreach (grep { $_->{to_run} } @actions) {
- print qq(* entering step "$_->{name}"\n);
- $_->{do}->($live_object);
- print qq(* step "$_->{name}" done\n);
- }
- }
-
-__END__
-
-###############################################################################
-# Documentation
-###############################################################################
-
-=head1 NAME
-
-draklive2 - A live distribution mastering tool
-
-=head1 SYNOPSIS
-
-draklive2 [options]
-
- Options:
- --help long help message
-
- --root install and customise Live system in chroot
- --boot prepare system boot and ISO bootloader files
- --loop build compressed loopback files
- --master build master image
-
- --all run all the above steps
-
- --clean clean installation chroot and work directory
-
- --root-install (for debug) run base install of Live system
- --root-customise (for debug) run system customisation steps
-
- --boot-system (for debug) prepare kernel and initrd for system boot
- --boot-loader (for debug) prepare bootloader for ISO
-
- --config-root <dir>
- root directory containing config and additional files
- defaults to current directory if it contains a
- configuration file, otherwise to "/etc/draklive"
-
- --config <file> use this configuration file as live description
- defaults to "config/live.cfg"
-
- --settings <file> use this file as live settings (key=value format)
- defaults to "config/settings.cfg"
-
- --define key=value
- set setting "key" to "value"
- takes precedence over values from a settings file
-
- --all-regions proceed with all configured regions
-
-Examples:
-
- draklive2 --clean
-
- draklive2 --all
-
- draklive2 --config config/live.cfg --root
-
-=head1 OPTIONS
-
-=over 8
-
-=item B<--config>
-
-Makes draklive2 use the next argument as a configuration file.
-This file should contain a hash describing the live distribution.
-See the "draklive2" page on the Mageia Wiki for details.
-
-=item B<--settings>
-
-Makes draklive2 load the next argument as a file in key=value format into
-the $live->{settings} hash ($live being the global live configuration hash).
-
-Built-in keys:
-
- arch: build architecture
-
- builddir: directory hosting build files (initrd, loopbacks, images)
-
- chroot: directory hosting chrooted installations
-
- region: use the matching set of langs from the regions configuration hash
-
- repository: path to the Mandriva distribution repository (ftp/http/local)
-
-Example keys:
- desktop
- media
- product
-
-=back
-
-=head1 DESCRIPTION
-
-B<draklive2> builds a live distribution according to a configuration file,
-creates a master image, and optionally installs it on a device.
-
-See L<https://wiki.mageia.org/en/Draklive2>
-
-=head1 AUTHORS
-
-Olivier Blin <oblin@mandriva.com>
-Martin Whitaker <mageia@martin-whitaker.me.uk>
-
-=cut