source: MondoRescue/devel/mrmini/lib/MondoRescue/Mini/Base.pm@ 2666

Last change on this file since 2666 was 2666, checked in by Bruno Cornec, 14 years ago

r3927@localhost: bruno | 2010-06-23 02:13:19 +0200

  • Improved version for log file mngt
File size: 3.0 KB
Line 
1#!/usr/bin/perl -w
2#
3# Base subroutines for mrmini
4# Mini-distribution maker for the MondoRescue project
5#
6# $Id$
7#
8# Copyright B. Cornec 2008-2010
9# Provided under the GPL v2
10
11package MondoRescue::Mini::Base;
12
13use strict 'vars';
14use Data::Dumper;
15use English;
16use lib qw (lib);
17use ProjectBuilder::Base;
18use ProjectBuilder::Conf;
19use MondoRescue::DynConf;
20use MondoRescue::Base;
21use MondoRescue::LVM;
22
23# Inherit from the "Exporter" module which handles exporting functions.
24
25use Exporter;
26
27# Export, by default, all the functions into the namespace of
28# any code which uses this module.
29
30our @ISA = qw(Exporter);
31our @EXPORT = qw(mr_mini_main);
32
33=pod
34
35=head1 NAME
36
37MondoRescue::Mini::Base, part of the mondorescue.org
38
39=head1 DESCRIPTION
40
41This modules provides low level and generic functions for the mrmini tool
42
43=head1 USAGE
44
45=item B<mr_mini_main>
46
47Main function for mini. Can be called from outside
48
49=cut
50
51sub mr_mini_main {
52
53#
54# Configuration parameters
55#
56# Checks
57die "mr->mini_conf not declared in environment" if (not defined $mr->{'confdir'});
58
59# Better ?
60my $ARCH = `uname -m`;
61chomp($ARCH);
62
63pb_conf_add("$mr->{'confdir'}/$ENV{'PBPROJ'}.conf.dist");
64($mr->{'boot_size'},$mr->{'boot_cd'},$mr->{'boot_usb'},$mr->{'boot_tape'},$mr->{'kernel'},$mr->{'fstab'}) = mr_conf_get("mr_boot_size","mr_boot_cd","mr_boot_usb","mr_boot_tape","mr_kernel","mr_fstab");
65($mr->{'tape_mods'},$mr->{'scsi_mods'},$mr->{'ide_mods'},$mr->{'pcmcia_mods'},$mr->{'usb_mods'},$mr->{'net_mods'},$mr->{'cdrom_mods'},$mr->{'deny_mods'},$mr->{'force_mods'}) = mr_conf_get("mr_tape_mods","mr_scsi_mods","mr_ide_mods","mr_pcmcia_mods","mr_usb_mods","mr_net_mods","mr_cdrom_mods","mr_extra_mods","mr_deny_mods","mr_force_mods");
66($mr->{'cache_dir'},$mr->{'boot_msg'},$mr->{'burn_cmd'},$mr->{'burn_opt'}) = mr_conf_get("mr_cache_dir","mr_boot_msg","mr_burn_cmd","mr_burn_opt");
67
68#
69# Manage log file
70#
71$pbLOG = $mr->{'logdesc'};
72$pbdebug = 1 if ($pbdebug == -1);
73pb_log_init($pbdebug, $pbLOG);
74
75my $sep = "-----------------------------------------------\n";
76
77pb_log(0,"$ENV{'PBPKG'} v$mr->{'version'} start date: $mr->{'start_date'}\n");
78pb_log(0,$sep);
79pb_log(0,"$ARCH architecture detected\n");
80pb_log(0,"$ENV{'PBPKG'} called with the following arguments: ".join(" ",@ARGV)."\n");
81pb_log(0,$sep);
82pb_log(1,"CONFDIR: $mr->{'confdir'}\n");
83pb_log(1,"SBIN: $mr->{'install_dir'}/sbin\n");
84if (-r "$ENV{'HOME'}/.mondorescuerc") {
85 pb_log(0,$sep);
86 pb_log(0,"Conf file $ENV{'HOME'}/.mondorescuerc\n");
87 pb_display_file("$ENV{'HOME'}/.mondorescuerc",$pbLOG);
88}
89if (-r "$mr->{'confdir'}/mondorescue.conf") {
90 pb_log(0,$sep);
91 pb_log(0,"Conf file $mr->{'confdir'}/mondorescue.conf\n");
92 pb_display_file("$mr->{'confdir'}/mondorescue.conf",$pbLOG);
93}
94pb_log(0,$sep);
95
96#
97# Prepare cache dir
98#
99pb_rm_rf("$mr->{'cache_dir'}/*");
100pb_mkdir_p($mr->{'cache_dir'});
101
102my $mrmini_fdisk = "$mr->{'install_dir'}/parted2fdik";
103my $mrmini_deplist = "$mr->{'confdir'}/deplist.d";
104
105#
106# LVM setup
107#
108my ($lvmver,$lvmcmd) = mr_lvm_check();
109
110pb_log(0,"LVM $lvmver command set to $lvmcmd\n");
111pb_log(0,$sep);
112}
Note: See TracBrowser for help on using the repository browser.