diff --git a/xen-create-image b/xen-create-image index 3aff870..b117f90 100755 --- a/xen-create-image +++ b/xen-create-image @@ -203,7 +203,7 @@ broadcast = 255.255.255.0 -- http://www.steve.org.uk/ - $Id: xen-create-image,v 1.35 2005-12-20 00:35:10 steve Exp $ + $Id: xen-create-image,v 1.36 2005-12-20 13:27:03 steve Exp $ =cut @@ -249,12 +249,17 @@ my %CONFIG; # # Constants for filesystem usage. # +my %FILESYSTEM_BINARY; my %FILESYSTEM_CREATE; my %FILESYSTEM_MOUNT; -$FILESYSTEM_CREATE{'ext3'} = '/sbin/mkfs.ext3 -F '; -$FILESYSTEM_CREATE{'xfs'} = '/sbin/mkfs.xfs -d name='; -$FILESYSTEM_CREATE{'reiserfs'} = '/sbin/mkfs.reiserfs -f -q '; +$FILESYSTEM_BINARY{'ext3'} = '/sbin/mkfs.ext3'; +$FILESYSTEM_BINARY{'xfs'} = '/sbin/mkfs.xfs'; +$FILESYSTEM_BINARY{'reiserfs'} = '/sbin/mkfs.reiserfs'; + +$FILESYSTEM_CREATE{'ext3'} = $FILESYSTEM_BINARY{'ext3'}. ' -F '; +$FILESYSTEM_CREATE{'xfs'} = $FILESYSTEM_BINARY{'xfs'}. ' -d name='; +$FILESYSTEM_CREATE{'reiserfs'} = $FILESYSTEM_BINARY{'reiserfs'}. ' -f -q '; $FILESYSTEM_MOUNT{'ext3'} = '-t ext3'; $FILESYSTEM_MOUNT{'xfs'} = '-t xfs'; @@ -276,7 +281,7 @@ $CONFIG{'swap'} = '128M'; $CONFIG{'fs'} = 'ext3'; $CONFIG{'mirror'} = 'http://ftp.us.debian.org/debian'; $CONFIG{'dist'} = 'sarge'; - +$CONFIG{'xm'} = '/usr/sbin/xm'; # # Read configuration file(s) if they exist. @@ -635,7 +640,7 @@ if ( $CONFIG{'boot'} ) } else { - system( "xm create $CONFIG{'hostname'}.cfg" ); + system( "$CONFIG{'xm'} create $CONFIG{'hostname'}.cfg" ); } } @@ -798,6 +803,21 @@ EOF exit; } + # + # Make sure we have every binary we need + # + if ( ! -x $CONFIG{'xm'} ) + { + print "Could not find " .$CONFIG{'xm'}. ".\n"; + exit; + } + + my $binpath = $FILESYSTEM_BINARY{lc( $CONFIG{'fs'} ) }; + if ( ! -x $binpath ) { + print "Unable to find required executable ". $binpath. ".\n"; + exit; + } + # # Make sure we have a valid size # diff --git a/xen-duplicate-image b/xen-duplicate-image index ef7a262..b2ad24a 100755 --- a/xen-duplicate-image +++ b/xen-duplicate-image @@ -100,7 +100,7 @@ Specify the virtual instance that we should copy. -- http://www.steve.org.uk/ - $Id: xen-duplicate-image,v 1.3 2005-12-19 15:04:25 steve Exp $ + $Id: xen-duplicate-image,v 1.4 2005-12-20 13:27:03 steve Exp $ =cut @@ -138,6 +138,8 @@ use Pod::Usage; # my %CONFIG; +$CONFIG{'xm'} = '/usr/sbin/xm'; + # # Read configuration file(s) if they exist. @@ -326,7 +328,7 @@ if ( $CONFIG{'boot'} ) } else { - system( "xm create $CONFIG{'hostname'}.cfg" ); + system( "$CONFIG{'xm'} create $CONFIG{'hostname'}.cfg" ); } } @@ -445,6 +447,18 @@ EOF exit; } + if (!defined ($CONFIG{'from'} ) ) + { + print<