- Timestamp:
- Jun 13, 2010, 12:36:38 PM (15 years ago)
- Location:
- devel
- Files:
-
- 2 deleted
- 4 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
devel/mr/Makefile.PL
r2539 r2650 5 5 # the contents of the Makefile that is written. 6 6 WriteMakefile( 7 NAME=> 'PBPKG',8 DISTNAME=> 'PBPKG',9 VERSION=> 'PBVER',10 7 NAME => 'PBPKG', 8 DISTNAME => 'PBPKG', 9 VERSION => 'PBVER', 10 INST_SCRIPT => 'blib/bin', 11 11 INSTALLDIRS => 'perl', 12 PREREQ_PM=> {13 #HTTP::Headers 14 #Template 15 },# e.g., Module::Name => 1.112 PREREQ_PM => { 13 #HTTP::Headers => 1.59, 14 #Template => 0, 15 }, # e.g., Module::Name => 1.1 16 16 #ABSTRACT_FROM => 'bin/', # retrieve abstract from module 17 AUTHOR=> 'Bruno Cornec <bruno#mondorescue.org>',18 EXE_FILES 19 MAN1PODS => {20 'sbin/mranalyze-lvm' => '$(INST_MAN1DIR)/mranalyze-lvm.$(MAN1EXT)', 21 'sbin/mrcheck-lvm' => '$(INST_MAN1DIR)/mranalyze-lvm.$(MAN1EXT)', 17 AUTHOR => 'Bruno Cornec <bruno#mondorescue.org>', 18 EXE_FILES => [ qw( sbin/mranalyze-lvm sbin/mrcheck-lvm ) ], 19 MAN1PODS => { 20 'sbin/mranalyze-lvm' => '$(INST_MAN1DIR)/mranalyze-lvm.$(MAN1EXT)', 21 'sbin/mrcheck-lvm' => '$(INST_MAN1DIR)/mranalyze-lvm.$(MAN1EXT)', 22 22 }, 23 MAN3PODS => { 24 'lib/MondoRescue/Base.pm' => '$(INST_MAN3DIR)/MondoRescue::Base.$(MAN3EXT)', 25 'lib/MondoRescue/LVM.pm' => '$(INST_MAN3DIR)/MondoRescue::LVM.$(MAN3EXT)', 26 'lib/MondoRescue/Inventory.pm' => '$(INST_MAN3DIR)/MondoRescue::Inventory.$(MAN3EXT)', 23 MAN3PODS => { 24 'lib/MondoRescue/Base.pm' => '$(INST_MAN3DIR)/MondoRescue::Base.$(MAN3EXT)', 25 'lib/MondoRescue/LVM.pm' => '$(INST_MAN3DIR)/MondoRescue::LVM.$(MAN3EXT)', 26 'lib/MondoRescue/Inventory.pm' => '$(INST_MAN3DIR)/MondoRescue::Inventory.$(MAN3EXT)', 27 'lib/MondoRescue/DynConf.pm' => '$(INST_MAN3DIR)/MondoRescue::DynConf.$(MAN3EXT)', 27 28 }, 28 29 ); 30 31 package MY; 32 33 sub postamble { 34 35 # Determine location of etc conf files 36 my $text =""; 37 38 # Grab out any CONFDIR or other build param 39 my $confdir = undef; 40 my $target = undef; 41 my $mandir = undef; 42 my $cachedir = undef; 43 my $sharedir = undef; 44 45 while (my $arg = shift @ARGV) { 46 my ($key, $value) = split /=/, $arg; 47 if ($key =~ /^CONFDIR$/) { 48 $confdir = $value; 49 } elsif ($key =~ /^MANDIR$/) { 50 $mandir = $value; 51 } elsif ($key =~ /^CACHEDIR$/) { 52 $cachedir = $value; 53 } elsif ($key =~ /^SHAREDIR$/) { 54 $sharedir = $value; 55 } elsif ($key =~ /^TARGET$/) { 56 $target = $value; 57 } 58 } 59 60 if (not defined $target) { 61 $target = "/usr/local"; 62 if (not defined $confdir) { 63 $confdir = "/usr/local/etc"; 64 } 65 } else { 66 $sharedir = $sharedir || "$target/share"; 67 $mandir = $mandir || "$sharedir/man"; 68 $cachedir = $cachedir || "$target/var/cache"; 69 if (not defined $confdir) { 70 die "CONFDIR should be defined if PREFIX is defined"; 71 } 72 } 73 74 my $conff = "etc/PBPROJ.conf"; 75 open(CONF, ">> $conff") || die "Unable to append to $conff"; 76 print CONF << "EOF"; 77 # 78 # Configuration information added at install time 79 # 80 # 81 # installation target 82 # 83 mr_install_dir default = $target 84 # 85 # 86 # conf dir 87 # 88 mr_conf_dir default = $confdir/PBPROJ 89 # 90 # cache directory 91 # 92 mr_cache_dir default = $cachedir/PBPROJ 93 # 94 # share directory 95 # 96 mr_share_dir default = $sharedir/PBPROJ 97 EOF 98 close(CONF); 99 # Create the dynamic content for MondoRescue 100 my $dynf = "lib/MondoRescue/DynConf.pm"; 101 open(DYN, "> $dynf") || die "Unable to create $dynf"; 102 103 $text .= "install ::\n"; 104 $text .= "\t".'@echo PBPKG PBVER-PBREV will be installed under $(DESTDIR)'."\n"; 105 $text .= "\t".'install -m 755 -d $(DESTDIR)'."$confdir/PBPROJ".' $(DESTDIR)'."$cachedir/PBPROJ".' $(DESTDIR)'."$sharedir/PBPROJ\n"; 106 $text .= "\t".'cp etc/PBPROJ.conf $(DESTDIR)'."$confdir/PBPROJ/PBPROJ.conf.dist ; install -m 755 -d ".' $(DESTDIR)'."$mandir/man5 ; pod2man etc/PBPROJ.conf > ".'$(DESTDIR)'."$mandir/man5/PBPROJ.conf.5\n"; 107 $text .= "\t".'md5sum $(DESTDIR)'."$confdir/PBPROJ/PBPROJ.conf.dist > ".'$(DESTDIR)'."$confdir/PBPROJ/PBPROJ.conf.dist.md5\n"; 108 $text .= "\t".'cp lib/MondoRescue/DynConf.pm $(DESTDIR)/$(INST_LIBDIR)/'."\n"; 109 $text .= "\t".'md5sum $(DESTDIR)'."$confdir/PBPROJ/PBPROJ.conf.dist > ".'$(DESTDIR)'."$confdir/PBPROJ/PBPROJ.conf.dist.md5\n"; 110 #$text .= "\t".'if [ -f etc/PBKG.conf ]; then cp etc/PBPKG.conf $(DESTDIR)'."$confdir/PBPROJ/PBKG.conf.dist ; install -m 755 -d ".' $(DESTDIR)'."$mandir/man5 ; pod2man etc/PBPKG.conf > ".'$(DESTDIR)'."$mandir/man5/PBPKG.conf.5 ; fi\n"; 111 #$text .= "\t".'md5sum $(DESTDIR)'."$confdir/PBPROJ/PBPKG.conf.dist > ".'$(DESTDIR)'."$confdir/PBPROJ/PBPKG.conf.dist.md5\n"; 112 113 # Now generate a perl module used by every other one in the project 114 print DYN << "EOF"; 115 #!/usr/bin/perl -w 116 # 117 # Declare variables for the MondoRescue project 118 # This module has been GENERATED at installation time 119 # DO NOT MODIFY WITHOUT GOOD REASONS. 120 # 121 # Copyright B. Cornec 2008 122 # Provided under the GPL v2 123 # 124 package MondoRescue::DynConf; 125 126 use strict 'vars'; 127 128 # Inherit from the "Exporter" module which handles exporting functions. 129 130 use Exporter; 131 132 # Export, by default, all the functions into the namespace of 133 # any code which uses this module. 134 our \@ISA = qw(Exporter); 135 our \@EXPORT = qw(mr_dynconf_init); 136 137 =pod 138 139 =head1 NAME 140 141 MondoRescue::DynConf, part of the mondorescue.org project 142 143 =head1 DESCRIPTION 144 145 This modules provides environment variables setup for the Mondorescue project 146 147 =head1 USAGE 148 149 =over 4 150 151 =item B<mr_dynconf_init> 152 153 This function returns all the installation PATH info needed by the project 154 It takes no parameter and returns 3 values 155 First value is the conf dir 156 Second value is the project name 157 158 =cut 159 160 sub mr_dynconf_init { 161 return($confdir,PBPROJ); 162 } 163 1; 164 =pod 165 =back 166 167 =head1 WEB SITES 168 169 The main Web site of the project is available at L<http://www.mondorescue.org/>. Bug reports should be filled using the trac instance of the project at L<http://trac.mondorescue.org/>. 170 171 =head1 USER MAILING LIST 172 173 The mailing list of the project is available at L<mailto:mondo\@lists.sf.net> 174 175 =head1 AUTHORS 176 177 The Mondorescue.org team L<http://www.mondorescue.org/> lead by Bruno Cornec L<mailto:bruno\@mondorescue.org>. 178 179 =head1 COPYRIGHT 180 181 mrmini is distributed under the GPL v2.0 license 182 described in the file C<COPYING> included with the distribution. 183 184 =cut 185 186 187 EOF 188 close(DYN); 189 return($text); 190 } -
devel/mr/etc/mondorescue.conf
r2648 r2650 7 7 # DO NOT CHANGE THAT FILE IN ANYWAY AS ITS MD5 SUM IS USED AS A CHECK !! 8 8 # Anyway changing some values in your own configuration file may render 9 # mrminiinstable or cause failures. Use with care.9 # MondoRescue tools instable or cause failures. Use with care. 10 10 11 11 # Temporary directory -
devel/mr/lib/MondoRescue/Base.pm
r2541 r2650 60 60 } 61 61 62 62 63 # Get the various location determined at installation time 63 my ($ confdir,$localdir,$pbproj) = mr_dynconf_init();64 my ($etcdir,$pbproj) = mr_dynconf_init(); 64 65 65 66 # Temp dir … … 68 69 # First use the main configuration file 69 70 pb_conf_init($pbproj); 70 pb_conf_add("$confdir/$pbproj.conf"); 71 # 72 # Conf files Management 73 # the $MRMINI_CONF/mondorescue.conf.dist is delivered as part of the project and 74 # its checksum is verified as we need good default values that we can trust 75 # 76 open(MD5,"$etcdir/$pbproj.conf.dist.md5") || die "Unable to read mandatory $etcdir/$pbproj.conf.dist.md5: $!"; 77 my $omd5 = <MD5>; 78 chop($omd5); 79 close(MD5); 80 open(CONF,"$etcdir/$pbproj.conf.dist") || die "Unable to read mandatory $etcdir/$pbproj.conf.dist: $!"; 81 my $md5 = Digest::MD5->new; 82 binmode(CONF); 83 $md5->addfile(CONF); 84 die "Invalid MD5 found sum for $etcdir/$pbproj.conf.dist: $md5->hexdigest" if ($omd5 ne $md5->hexdigest); 85 close(CONF); 86 87 pb_conf_add("$etcdir/$pbproj.conf.dist"); 71 88 } 72 89 -
devel/mr/lib/MondoRescue/LVM.pm
r2648 r2650 277 277 s/^[\s]*//; 278 278 279 =pod 280 281 The structure contains an array of LVs called lvs and starting at 1, containing the name of the PV as provided by the pv_name attribute of the pvs command 282 283 =cut 284 279 285 my ($vg_name,$lv_uuid,$lv_name,$lv_attr,$lv_major,$lv_minor,$lv_read_ahead,$lv_kernel_major,$lv_kernel_minor,$lv_kernel_read_ahead,$lv_size,$seg_count,$origin,$origin_size,$snap_percent,$copy_percent,$move_pv,$convert_lv,$lv_tags,$mirror_log,$modules) = split(/:/); 280 =pod281 282 The structure contains an array of LVs called lvs and starting at 1, containing the name of the PV as provided by the pv_name attribute of the pvs command283 pv_name - Name of the physical volume PV284 285 =cut286 287 # Array of PVs for that VG288 $lvm->{$vg_name}->{'pvs'}->[$lvm->{$vg_name}->{'pvnum'}] = $pv_name;289 286 290 287 =pod -
devel/mrmini/sbin/mrmini
r2648 r2650 57 57 # Handle options 58 58 # 59 60 =pod 61 =over 4 62 =item B<-v|--verbose> 63 64 Print a brief help message and exits. 65 66 =item B<-q|--quiet> 67 68 Do not print any output. 69 70 =item B<-h|--help> 71 72 Print a brief help message and exits. 73 74 =item B<--man> 75 76 Prints the manual page and exits. 77 78 =item B<-i|--iso iso_image> 79 80 Name of the ISO image you want to created. 81 82 =item B<-u|--usb usb_device> 83 84 Name of the USB device on which you want to created your image. 85 86 =item B<-t|--tape tape_device> 87 88 Name of the Tape device on which you want to created your image. 89 90 =item B<-o|--obdr> 91 92 Activate OBDR mode for tape (Bootable tape devices) 93 94 =item B<-V|--version> 95 96 Display mrmini version and exit 97 98 =item B<-f|--force> 99 100 Force usage of defaults parameters or values without asking questions 101 102 =item B<-p|--printvars variable> 103 104 Prints the value of the variable passed as parameter 105 106 =cut 59 107 GetOptions( 60 61 =over 462 63 =cut64 108 "verbose|v+" => \$opts{'v'}, 65 66 =item B<-v|--verbose>67 68 Print a brief help message and exits.69 70 =cut71 109 "quiet|q" => \$opts{'q'}, 72 73 =item B<-q|--quiet>74 75 Do not print any output.76 77 =cut78 110 "help|?|h" => \$opts{'h'}, 79 80 =item B<-h|--help>81 82 Print a brief help message and exits.83 84 =cut85 111 "man" => \$opts{'man'}, 86 87 =item B<--man>88 89 Prints the manual page and exits.90 91 =cut92 112 "iso|i=s" => \$opts{'i'}, 93 94 =item B<-i|--iso iso_image>95 96 Name of the ISO image you want to created.97 98 =cut99 113 "usb|u=s" => \$opts{'u'}, 100 101 =item B<-u|--usb usb_device>102 103 Name of the USB device on which you want to created your image.104 105 =cut106 114 "tape|t=s" => \$opts{'t'}, 107 108 =item B<-t|--tape tape_device>109 110 Name of the Tape device on which you want to created your image.111 112 =cut113 115 "obdr|o" => \$opts{'o'}, 114 115 =item B<-o|--obdr>116 117 Activate OBDR mode for tape (Bootable tape devices)118 119 =cut120 116 "version|V" => \$opts{'V'}, 121 122 =item B<-V|--version>123 124 Display mrmini version and exit125 126 =cut127 117 "force|f" => \$opts{'f'}, 128 129 =item B<-f|--force>130 131 Force usage of defaults parameters or values without asking questions132 133 =cut134 118 "printvar|p=s" => \$opts{'p'}, 135 136 =item B<-p|--printvars variable>137 138 Prints the value of the variable passed as parameter139 140 =cut141 119 "log-files|l=s" => \$opts{'l'}, 142 120 ) || pb_syntax(-1,0); 143 121 122 =pod 144 123 =back 145 124 … … 215 194 # Global variables 216 195 # 196 my ($MRMINI_PREFIX,$MRMINI_CONF,$MRMINI_LIB) = mr_setup_var(); 217 197 my $MRMINI_VERSION = "PBVER-rPBREV"; 218 my $MRMINI_PREFIX = "XXX";219 my $MRMINI_CONF = "YYY";220 my $MRMINI_LIB = "LLL";221 198 my $MRMINI_SBIN = "$MRMINI_PREFIX/sbin"; 222 199 my $MRMINI_FDISK = "$MRMINI_SBIN/parted2fdik"; … … 231 208 pb_temp_init(); 232 209 233 #234 # Conf files Management235 # the $MRMINI_CONF/mondorescue.conf.dist is delivered as part of the project and236 # its checksum is verified as we need good default values that we can trust237 #238 open(MD5,"$MRMINI_CONF/mondorescue.conf.dist.md5") || die "Unable to read mandatory $MRMINI_CONF/mondorescue.conf.dist.md5: $!";239 my $omd5 = <MD5>;240 chop($omd5);241 close(MD5);242 open(CONF,"$MRMINI_CONF/mondorescue.conf.dist") || die "Unable to read mandatory $MRMINI_CONF/mondorescue.conf.dist: $!";243 my $md5 = Digest::MD5->new;244 binmode(CONF);245 $md5->addfile(CONF);246 die "Invalid MD5 found sum for $MRMINI_CONF/mondorescue.conf.dist: $md5->hexdigest" if ($omd5 ne $md5->hexdigest);247 close(CONF);248 249 210 # Adds conf files in order 250 pb_conf_add("$ENV{'HOME'}/.mondorescuerc","$MRMINI_CONF/mondorescue.conf" ,"$MRMINI_CONF/mondorescue.conf.dist");211 pb_conf_add("$ENV{'HOME'}/.mondorescuerc","$MRMINI_CONF/mondorescue.conf"); 251 212 252 213 #
Note:
See TracChangeset
for help on using the changeset viewer.