Compare commits
12 Commits
domaindir
...
febootstra
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d20fef0b7 | ||
|
|
74219834d8 | ||
|
|
db714d444c | ||
|
|
ce0fd617a5 | ||
|
|
c151721271 | ||
|
|
68ac01cfac | ||
|
|
e10c67e87c | ||
|
|
a3b9715a9a | ||
|
|
b5dfcd3dec | ||
|
|
5cbecd8e66 | ||
|
|
e11626a95c | ||
|
|
9e69b0f5ab |
14
Makefile
14
Makefile
@@ -150,13 +150,13 @@ install-hooks:
|
||||
cp -R hooks/fedora-core-6/*-* ${prefix}/usr/lib/xen-tools/fedora-core-6.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-4.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-5.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-7.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-8.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-9.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-10.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-11.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-12.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-13.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-7.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-8.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-9.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-10.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-11.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-12.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-13.d
|
||||
mkdir -p ${prefix}/usr/lib/xen-tools/debian.d/
|
||||
cp -R hooks/debian/*-* ${prefix}/usr/lib/xen-tools/debian.d
|
||||
-cd ${prefix}/usr/lib/xen-tools/ && ln -s debian.d sarge.d
|
||||
|
||||
4
TODO
4
TODO
@@ -153,6 +153,10 @@ Maybe for a 4.3 or 5.0 release
|
||||
"type" of configuration you want, and a set of options specific to
|
||||
that flag could be parsed from xen-tools.conf
|
||||
|
||||
* Do not run copyDebFiles on RPM based installations.
|
||||
|
||||
Write a proper clone of it for caching RPMs.
|
||||
|
||||
Stuff from Steve's TODO list / Generic TODOs
|
||||
--------------------------------------------
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ xen-create-image - Easily create new Xen instances with networking and OpenSSH.
|
||||
Installation options:
|
||||
|
||||
--arch=arch Pass the given architecture to debootstrap, rinse,
|
||||
or rpmstrap when installing the system. This argument
|
||||
or febootstrap when installing the system. This argument
|
||||
is ignored for other install methods.
|
||||
|
||||
--dist=dist Specify the distribution you wish to install.
|
||||
@@ -216,35 +216,19 @@ xen-create-image - Easily create new Xen instances with networking and OpenSSH.
|
||||
|
||||
Mandatory options:
|
||||
|
||||
--domaindir=dir
|
||||
--dir=dir Specify where the output images should go.
|
||||
Subdirectories will be created for each guest.
|
||||
|
||||
Using --dir will create subdirectory domains as before
|
||||
for backwards compatibility, e.g. if you use
|
||||
--dir=foo, the default disk image will go to
|
||||
foo/domains/$hostname/disk.img.
|
||||
|
||||
Using --domaindir will create direct subdirectories
|
||||
named after the hostname as discussed in
|
||||
http://bugs.debian.org/477238, e.g. if you use
|
||||
--domaindir=foo, the default disk image will go to
|
||||
foo/$hostname/disk.img.
|
||||
|
||||
If you do not wish to use loopback images specify
|
||||
--lvm or --evms. (These three respectively four
|
||||
options are mutually exclusive.)
|
||||
Subdirectories will be created for each guest
|
||||
If you do not wish to use loopback images specify --lvm
|
||||
or --evms. (These three options are mutually exclusive.)
|
||||
|
||||
--lvm=vg Specify the volume group to save images within.
|
||||
If you do not wish to use LVM specify --evms. or
|
||||
--dir/--domaindir (These three respectively four
|
||||
options are mutually exclusive.)
|
||||
If you do not wish to use LVM specify --dir or --evms.
|
||||
(These three options are mutually exclusive.)
|
||||
|
||||
--evms=lvm2/container
|
||||
Specify the container to save images within, i.e. '--evms
|
||||
lvm2/mycontainer'. If you do not wish to use EVMS specify
|
||||
--dir/--domaindir or --lvm. (These three respectively
|
||||
four options are mutually exclusive.)
|
||||
--dir or --lvm. (These three options are mutually exclusive.)
|
||||
|
||||
--hostname=host.example.org
|
||||
Set the hostname of the new guest system. Ideally
|
||||
@@ -363,7 +347,7 @@ Create a Xen configuration file in so that xm can start the new domain.
|
||||
|
||||
#
|
||||
# Installation method:
|
||||
# One of "copy", "debootstrap", "rinse", "rpmstrap", or "tar".
|
||||
# One of "copy", "debootstrap", "rinse", "febootstrap", or "tar".
|
||||
#
|
||||
install-method = debootstrap
|
||||
|
||||
@@ -539,7 +523,7 @@ Create a Xen configuration file in so that xm can start the new domain.
|
||||
The new guest images may be installed in several different ways:
|
||||
|
||||
1. Using the debootstrap command, which must be installed and present.
|
||||
2. Using the rpmstrap command, which must be installed and present.
|
||||
2. Using the febootstrap command, which must be installed and present.
|
||||
3. using the rinse command, which must be installed and present.
|
||||
4. By copying an existing installation.
|
||||
5. By untarring a file containing a previous installation.
|
||||
@@ -774,6 +758,25 @@ my $RELEASE = '4.2rc1';
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Release Aliases
|
||||
#
|
||||
my %RELEASE_ALIASES = (qw(
|
||||
stentz fedora-core-4
|
||||
bordeaux fedora-core-5
|
||||
zod fedora-core-6
|
||||
moonshine fedora-7
|
||||
werewolf fedora-8
|
||||
sulphur fedora-9
|
||||
cambridge fedora-10
|
||||
leonidas fedora-11
|
||||
constantine fedora-12
|
||||
goddard fedora-13
|
||||
laughlin fedora-14
|
||||
));
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Setup default options.
|
||||
#
|
||||
@@ -878,7 +881,7 @@ checkBinariesPresent();
|
||||
if ( !$#PARTITIONS )
|
||||
{
|
||||
populatePartitionsData()
|
||||
if ( ( $CONFIG{ 'domaindir' } ) ||
|
||||
if ( ( $CONFIG{ 'dir' } ) ||
|
||||
( $CONFIG{ 'evms' } ) ||
|
||||
( $CONFIG{ 'lvm' } ) );
|
||||
}
|
||||
@@ -894,7 +897,7 @@ showSummary();
|
||||
#
|
||||
# Create and format the images if we're using loopback filesystems.
|
||||
#
|
||||
if ( $CONFIG{ 'domaindir' } )
|
||||
if ( $CONFIG{ 'dir' } )
|
||||
{
|
||||
|
||||
#
|
||||
@@ -1463,7 +1466,6 @@ sub parseCommandLineArguments
|
||||
my %install;
|
||||
$install{ 'evms' } = undef;
|
||||
$install{ 'dir' } = undef;
|
||||
$install{ 'domaindir' } = undef;
|
||||
$install{ 'lvm' } = undef;
|
||||
$install{ 'image-dev' } = undef;
|
||||
|
||||
@@ -1486,7 +1488,6 @@ sub parseCommandLineArguments
|
||||
|
||||
# Locations
|
||||
"dir=s", \$install{ 'dir' },
|
||||
"domaindir=s", \$install{ 'domaindir' },
|
||||
"evms=s", \$install{ 'evms' },
|
||||
"kernel=s", \$CONFIG{ 'kernel' },
|
||||
"initrd=s", \$CONFIG{ 'initrd' },
|
||||
@@ -1575,22 +1576,12 @@ sub parseCommandLineArguments
|
||||
|
||||
|
||||
#
|
||||
# Now make ensure that the command line setting of '--lvm', '--evms',
|
||||
# '--domaindir=x' and '--dir=x' override anything specified in the
|
||||
# configuration file.
|
||||
# Now make ensure that the command line setting of '--lvm', '--evms'
|
||||
# and '--dir=x' override anything specified in the configuration file.
|
||||
#
|
||||
if ( $install{ 'dir' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'domaindir' } = $install{ 'dir' }.'/domains';
|
||||
$CONFIG{ 'evms' } = undef;
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
$CONFIG{ 'image-dev' } = undef;
|
||||
}
|
||||
if ( $install{ 'domaindir' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'domaindir' } = $install{ 'domaindir' };
|
||||
$CONFIG{ 'dir' } = $install{ 'dir' };
|
||||
$CONFIG{ 'evms' } = undef;
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
$CONFIG{ 'image-dev' } = undef;
|
||||
@@ -1598,7 +1589,6 @@ sub parseCommandLineArguments
|
||||
if ( $install{ 'evms' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'domaindir' } = undef;
|
||||
$CONFIG{ 'evms' } = $install{ 'evms' };
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
$CONFIG{ 'image-dev' } = undef;
|
||||
@@ -1606,7 +1596,6 @@ sub parseCommandLineArguments
|
||||
if ( $install{ 'lvm' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'domaindir' } = undef;
|
||||
$CONFIG{ 'evms' } = undef;
|
||||
$CONFIG{ 'lvm' } = $install{ 'lvm' };
|
||||
$CONFIG{ 'image-dev' } = undef;
|
||||
@@ -1614,7 +1603,6 @@ sub parseCommandLineArguments
|
||||
if ( $install{ 'image-dev' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'domaindir' } = undef;
|
||||
$CONFIG{ 'evms' } = undef;
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
$CONFIG{ 'image-dev' } = $install{ 'image-dev' };
|
||||
@@ -1718,11 +1706,10 @@ sub checkArguments
|
||||
}
|
||||
|
||||
#
|
||||
# NOTE: FAKE!
|
||||
# Check for release alias names
|
||||
#
|
||||
if ( $CONFIG{ 'dist' } eq 'fedora-core4' )
|
||||
{
|
||||
$CONFIG{ 'dist' } = 'stentz';
|
||||
if (exists $RELEASE_ALIASES{$CONFIG{ 'dist' }}) {
|
||||
$CONFIG{ 'dist' } = $RELEASE_ALIASES{$CONFIG{ 'dist' }};
|
||||
}
|
||||
|
||||
#
|
||||
@@ -1740,7 +1727,7 @@ sub checkArguments
|
||||
my $err = <<E_OR;
|
||||
|
||||
We are trying to configure an installation of $CONFIG{'dist'} in
|
||||
$CONFIG{'domaindir'} - but there is no hook directory for us to use.
|
||||
$CONFIG{'dir'} - but there is no hook directory for us to use.
|
||||
|
||||
This means we do not know how to configure this installation.
|
||||
|
||||
@@ -1783,7 +1770,7 @@ E_OR
|
||||
if ( defined( $CONFIG{ 'install-method' } ) )
|
||||
{
|
||||
foreach my $recognised (
|
||||
qw/ copy debootstrap rinse rpmstrap tar /)
|
||||
qw/ copy debootstrap rinse febootstrap tar /)
|
||||
{
|
||||
$valid = 1
|
||||
if ( lc( $CONFIG{ 'install-method' } ) eq lc($recognised) );
|
||||
@@ -1816,7 +1803,7 @@ E_OR
|
||||
--install-method=copy --install-source=/some/path
|
||||
--install-method=debootstrap
|
||||
--install-method=rinse
|
||||
--install-method=rpmstrap
|
||||
--install-method=febootstrap
|
||||
--install-method=tar --install-source=/some/file.tar
|
||||
|
||||
EOF
|
||||
@@ -2138,7 +2125,7 @@ sub checkBinariesPresent
|
||||
#
|
||||
# Image type specific binaries
|
||||
#
|
||||
if ( defined( $CONFIG{ 'domaindir' } ) )
|
||||
if ( defined( $CONFIG{ 'dir' } ) )
|
||||
{
|
||||
|
||||
# loopback image
|
||||
@@ -2673,7 +2660,7 @@ sub createLoopbackImages
|
||||
#
|
||||
# Make sure we have the relevant output directory.
|
||||
#
|
||||
my $output = $CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' };
|
||||
my $output = $CONFIG{ 'dir' } . "/domains/" . $CONFIG{ 'hostname' };
|
||||
|
||||
if ( !-d $output )
|
||||
{
|
||||
@@ -2697,7 +2684,7 @@ sub createLoopbackImages
|
||||
foreach my $partition (@PARTITIONS)
|
||||
{
|
||||
my $disk =
|
||||
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . '/' .
|
||||
$CONFIG{ 'dir' } . '/domains/' . $CONFIG{ 'hostname' } . '/' .
|
||||
$partition->{ 'name' } . '.img';
|
||||
|
||||
if ( -e $disk )
|
||||
@@ -2716,7 +2703,7 @@ sub createLoopbackImages
|
||||
foreach my $partition (@PARTITIONS)
|
||||
{
|
||||
my $disk =
|
||||
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . '/' .
|
||||
$CONFIG{ 'dir' } . '/domains/' . $CONFIG{ 'hostname' } . '/' .
|
||||
$partition->{ 'name' } . '.img';
|
||||
|
||||
#
|
||||
|
||||
@@ -15,12 +15,9 @@ xen-delete-image - Delete previously created Xen instances.
|
||||
--verbose Show diagnostic output.
|
||||
|
||||
General options:
|
||||
--dir Specify the output directory where images were previously
|
||||
saved. (old style)
|
||||
--domaindir Specify the output directory where images were previously
|
||||
saved. (new style)
|
||||
--lvm Specify the LVM volume to use.
|
||||
--evms Specify the EVMS container to use.
|
||||
--dir Specify the output directory where images were previously saved.
|
||||
--lvm Specify the LVM volume to use.
|
||||
--evms Specify the EVMS container to use.
|
||||
|
||||
Specifying hosts:
|
||||
--hostname Specify the image name to delete.
|
||||
@@ -36,14 +33,7 @@ xen-delete-image - Delete previously created Xen instances.
|
||||
=over 8
|
||||
|
||||
=item B<--dir>
|
||||
Specify the output directory where images were previously saved. Looks
|
||||
for directories named after the hostname in a subdirectory
|
||||
"domains". (old style, see xen-create-image(1) for details)
|
||||
|
||||
=item B<--domaindir>
|
||||
Specify the output directory where images were previously saved. Looks
|
||||
for directories named after the hostname directorly in this
|
||||
directory. (new style, see xen-create-image(1) for details)
|
||||
Specify the output directory where images were previously saved.
|
||||
|
||||
=item B<--evms>
|
||||
Specify the EVMS container where images were previously saved.
|
||||
@@ -355,7 +345,6 @@ sub parseCommandLineArguments
|
||||
# Parse options.
|
||||
#
|
||||
GetOptions( "dir=s", \$CONFIG{ 'dir' },
|
||||
"domaindir=s", \$CONFIG{ 'domaindir' },
|
||||
"dry-run", \$CONFIG{ 'dry-run' },
|
||||
"lvm=s", \$CONFIG{ 'lvm' },
|
||||
"evms=s", \$CONFIG{ 'evms' },
|
||||
@@ -370,6 +359,7 @@ sub parseCommandLineArguments
|
||||
pod2usage(1) if $HELP;
|
||||
pod2usage( -verbose => 2 ) if $MANUAL;
|
||||
|
||||
|
||||
if ($VERSION)
|
||||
{
|
||||
my $REVISION = '$Revision: 1.41 $';
|
||||
@@ -383,11 +373,6 @@ sub parseCommandLineArguments
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
if ($CONFIG{ 'dir' }) {
|
||||
$CONFIG{ 'domaindir' } = $CONFIG{ 'dir' }.'/domains';
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -416,7 +401,7 @@ sub checkArguments
|
||||
# Make sure we got one and only one installation method.
|
||||
#
|
||||
my $count = 0;
|
||||
foreach my $type (qw/dir domaindir lvm evms/)
|
||||
foreach my $type (qw/dir lvm evms/)
|
||||
{
|
||||
$count += 1 if defined( $CONFIG{ $type } );
|
||||
}
|
||||
@@ -429,7 +414,6 @@ sub checkArguments
|
||||
{
|
||||
print "Please select one and only one of the installation methods:\n";
|
||||
print " --dir\n";
|
||||
print " --domaindir\n";
|
||||
print " --evms\n";
|
||||
print " --lvm\n";
|
||||
exit;
|
||||
@@ -520,9 +504,9 @@ sub deleteXenImage
|
||||
}
|
||||
|
||||
|
||||
if ( defined( $CONFIG{ 'domaindir' } ) )
|
||||
if ( defined( $CONFIG{ 'dir' } ) )
|
||||
{
|
||||
my $prefix = $CONFIG{ 'domaindir' } . '/';
|
||||
my $prefix = $CONFIG{ 'dir' } . "/domains/";
|
||||
|
||||
#
|
||||
# Now remove the directory.
|
||||
|
||||
@@ -15,11 +15,10 @@ xen-resize-guest - Resize a loopback or LVM based xen guest.
|
||||
--verbose Show diagnostic output.
|
||||
|
||||
General Options:
|
||||
--add Specify the amount of space to add, e.g. --add=1gb
|
||||
--dir Specify the path to the loopback image root. (old style)
|
||||
--domaindir Specify the path to the loopback image root. (new style)
|
||||
--force Force the resize to happen without a last-chance delay.
|
||||
--hostname Specify the hostname of the guest to resize.
|
||||
--add Specify the amount of space to add, e.g. --add=1gb
|
||||
--dir Specify the path to the loopback image root.
|
||||
--force Force the resize to happen without a last-chance delay.
|
||||
--hostname Specify the hostname of the guest to resize.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -29,14 +28,10 @@ xen-resize-guest - Resize a loopback or LVM based xen guest.
|
||||
=over 8
|
||||
|
||||
=item B<--add>
|
||||
Specify the amount of storage to add to the primary disk. Looks
|
||||
for directories named after the hostname in a subdirectory
|
||||
"domains". (old style, see xen-create-image(1) for details)
|
||||
Specify the amount of storage to add to the primary disk.
|
||||
|
||||
=item B<--domaindir>
|
||||
Specify the directory where the loopback files are based. Looks
|
||||
for directories named after the hostname directorly in this
|
||||
directory. (new style, see xen-create-image(1) for details)
|
||||
=item B<--dir>
|
||||
Specify the directory where the loopback files are based.
|
||||
|
||||
=item B<--force>
|
||||
Don't pause for 10 seconds prior to commencing.
|
||||
@@ -148,14 +143,14 @@ testArguments();
|
||||
#
|
||||
my $path = undef;
|
||||
|
||||
if ( $CONFIG{ 'domaindir' } )
|
||||
if ( $CONFIG{ 'dir' } )
|
||||
{
|
||||
|
||||
#
|
||||
# Make sure we can find the disk
|
||||
#
|
||||
$path =
|
||||
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . "/disk.img";
|
||||
$CONFIG{ 'dir' } . "/domains/" . $CONFIG{ 'hostname' } . "/disk.img";
|
||||
if ( !-e $path )
|
||||
{
|
||||
print <<EOF;
|
||||
@@ -397,7 +392,6 @@ sub parseCommandLineArguments
|
||||
# Misc. options
|
||||
"add=s", \$CONFIG{ 'add' },
|
||||
"dir=s", \$install{ 'dir' },
|
||||
"domaindir=s",\$install{ 'domaindir' },
|
||||
"lvm=s", \$install{ 'lvm' },
|
||||
"hostname=s", \$CONFIG{ 'hostname' },
|
||||
"force", \$CONFIG{ 'force' },
|
||||
@@ -432,15 +426,7 @@ sub parseCommandLineArguments
|
||||
}
|
||||
if ( $install{ 'dir' } )
|
||||
{
|
||||
$CONFIG{ 'domaindir' } = $install{ 'dir' }.'/domains';
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
delete $CONFIG{ 'lvm' };
|
||||
}
|
||||
if ( $install{ 'domaindir' } )
|
||||
{
|
||||
$CONFIG{ 'domaindir' } = $install{ 'domaindir' };
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'dir' } = $install{ 'dir' };
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
delete $CONFIG{ 'lvm' };
|
||||
}
|
||||
@@ -507,20 +493,18 @@ EOF
|
||||
if ( defined( $CONFIG{ 'lvm' } ) && length( $CONFIG{ 'lvm' } ) );
|
||||
$options += 1
|
||||
if ( defined( $CONFIG{ 'dir' } ) && length( $CONFIG{ 'dir' } ) );
|
||||
$options += 1
|
||||
if ( defined( $CONFIG{ 'domaindir' } ) && length( $CONFIG{ 'domaindir' } ) );
|
||||
|
||||
#
|
||||
# Report
|
||||
#
|
||||
if ( $options == 0 )
|
||||
{
|
||||
print "Please specify one of --lvm, --domaindir or --dir\n";
|
||||
print "Please specify one of --lvm or --dir\n";
|
||||
exit 1;
|
||||
}
|
||||
if ( $options > 1 )
|
||||
{
|
||||
print "Please specify only one of --lvm, --domaindir or --dir - not several of them!\n";
|
||||
print "Please specify only one of --lvm or --dir - not both!\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,7 @@ xen-update-image - Update the software installed upon offline Xen images.
|
||||
--version Show the version number and exit.
|
||||
|
||||
General Options:
|
||||
--dir Specify the directory which contains the image(s). (old style)
|
||||
--domaindir Specify the directory which contains the image(s). (new style)
|
||||
--dir Specify the directory which contains the image(s).
|
||||
--lvm Specify the LVM volume group which contains the image(s).
|
||||
--evms Specify the EVMS container which contains the image(s).
|
||||
|
||||
@@ -28,14 +27,7 @@ xen-update-image - Update the software installed upon offline Xen images.
|
||||
=over 8
|
||||
|
||||
=item B<--dir>
|
||||
Specify the directory which contains the image(s). Looks
|
||||
for directories named after the hostname in a subdirectory
|
||||
"domains". (old style, see xen-create-image(1) for details)
|
||||
|
||||
=item B<--domaindir>
|
||||
Specify the directory which contains the image(s). Looks
|
||||
for directories named after the hostname directorly in this
|
||||
directory. (new style, see xen-create-image(1) for details)
|
||||
Specify the directory which contains the image(s).
|
||||
|
||||
=item B<--evms>
|
||||
Specify the EVMS container which contains the image(s).
|
||||
@@ -222,7 +214,7 @@ sub updateXenImage
|
||||
{
|
||||
|
||||
# The loopback image.
|
||||
$img = $CONFIG{ 'domaindir' } . '/' . $name . "/disk.img";
|
||||
$img = $CONFIG{ 'dir' } . "/domains/" . $name . "/disk.img";
|
||||
|
||||
if ( !-e $img )
|
||||
{
|
||||
@@ -446,7 +438,6 @@ sub parseCommandLineArguments
|
||||
# Parse options.
|
||||
#
|
||||
GetOptions( "dir=s", \$CONFIG{ 'dir' }, "lvm=s", \$CONFIG{ 'lvm' },
|
||||
"domaindir=s", \$CONFIG{ 'dir' },
|
||||
"evms=s", \$CONFIG{ 'evms' }, "help", \$HELP,
|
||||
"manual", \$MANUAL, "version", \$VERSION
|
||||
);
|
||||
@@ -466,11 +457,6 @@ sub parseCommandLineArguments
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
if ($CONFIG{ 'dir' }) {
|
||||
$CONFIG{ 'domaindir' } = $CONFIG{ 'dir' }.'/domains';
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -491,7 +477,7 @@ sub checkArguments
|
||||
# Make sure we got one and only one installation method.
|
||||
#
|
||||
my $count = 0;
|
||||
foreach my $type (qw/dir domaindir lvm evms/)
|
||||
foreach my $type (qw/dir lvm evms/)
|
||||
{
|
||||
$count += 1 if defined( $CONFIG{ $type } );
|
||||
}
|
||||
@@ -504,7 +490,6 @@ sub checkArguments
|
||||
{
|
||||
print "Please select one and only one of the installation methods:\n";
|
||||
print " --dir\n";
|
||||
print " --domaindir\n";
|
||||
print " --evms\n";
|
||||
print " --lvm\n";
|
||||
exit;
|
||||
|
||||
@@ -419,7 +419,7 @@ sub createXenConfig
|
||||
}
|
||||
else
|
||||
{
|
||||
$ENV{ 'image_prefix' } = "file:$ENV{'domaindir'}/$ENV{'hostname'}/";
|
||||
$ENV{ 'image_prefix' } = "file:$ENV{'dir'}/domains/$ENV{'hostname'}/";
|
||||
$ENV{ 'image_suffix' } = '.img';
|
||||
importPartitionsFromEnvironment();
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ xt-install-image - Install a fresh copy of GNU/Linux into a directory
|
||||
--dist The name of the distribution which has been installed.
|
||||
|
||||
Misc Options:
|
||||
--arch Pass the given arch setting to debootstrap or rpmstrap.
|
||||
--arch Pass the given arch setting to debootstrap or febootstrap.
|
||||
--config Read the specified config file in addition to the global
|
||||
configuration file.
|
||||
--mirror The mirror to use when installing with 'debootstrap'.
|
||||
@@ -69,8 +69,8 @@ Copy the given directory recursively. This local directory is assumed to contai
|
||||
=item B<rinse>
|
||||
Install the distribution specified by B<--dist> using the rinse command.
|
||||
|
||||
=item B<rpmstrap>
|
||||
Install the distribution specified by B<--dist> using the rpmstrap command.
|
||||
=item B<febootstrap>
|
||||
Install the distribution specified by B<--dist> using the febootstrap command.
|
||||
|
||||
=item B<tar>
|
||||
Untar a .tar file into the new installation location. This tarfile is assumed to contain a complete archived system. Specify the directory to copy with the B<--install-source> argument.
|
||||
@@ -141,8 +141,8 @@ my %dispatch = (
|
||||
"rinse" => { sub => \&do_rinse,
|
||||
needBinary => "/usr/sbin/rinse",
|
||||
},
|
||||
"rpmstrap" => { sub => \&do_rpmstrap,
|
||||
needBinary => "/usr/bin/rpmstrap",
|
||||
"febootstrap" => { sub => \&do_febootstrap,
|
||||
needBinary => "/usr/bin/febootstrap",
|
||||
},
|
||||
"tar" => { sub => \&do_tar,
|
||||
needBinary => "/bin/tar",
|
||||
@@ -532,7 +532,7 @@ E_OR
|
||||
|
||||
--install-method=copy --install-source=/some/path
|
||||
--install-method=debootstrap
|
||||
--install-method=rpmstrap
|
||||
--install-method=febootstrap
|
||||
--install-method=tar --install-source=/some/file.tar
|
||||
|
||||
EOF
|
||||
@@ -717,29 +717,13 @@ sub do_debootstrap
|
||||
print("Done\n");
|
||||
}
|
||||
|
||||
#
|
||||
# Propogate --verbose appropriately.
|
||||
#
|
||||
my $EXTRA = '';
|
||||
if ( $CONFIG{ 'verbose' } )
|
||||
{
|
||||
$EXTRA = ' --verbose';
|
||||
}
|
||||
|
||||
#
|
||||
# Propogate the --arch argument
|
||||
#
|
||||
if ( $CONFIG{ 'arch' } )
|
||||
{
|
||||
$EXTRA .= " --arch $CONFIG{'arch'}";
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# This is the command we'll run
|
||||
#
|
||||
my $command =
|
||||
"$cmd $EXTRA $CONFIG{'dist'} $CONFIG{'location'} $CONFIG{'mirror'}";
|
||||
my $dist = $CONFIG{'dist'};
|
||||
$dist =~ s/fedora-core/fedora/;
|
||||
|
||||
my $command = "$cmd $dist $CONFIG{'location'}";
|
||||
|
||||
#
|
||||
# Run the command.
|
||||
@@ -805,13 +789,13 @@ sub do_rinse
|
||||
|
||||
=begin doc
|
||||
|
||||
Install a new distribution of GNU/Linux using the rpmstrap tool.
|
||||
Install a new distribution of GNU/Linux using the febootstrap tool.
|
||||
|
||||
=end doc
|
||||
|
||||
=cut
|
||||
|
||||
sub do_rpmstrap
|
||||
sub do_febootstrap
|
||||
{
|
||||
|
||||
#
|
||||
@@ -840,7 +824,7 @@ sub do_rpmstrap
|
||||
#
|
||||
# The command we're going to run.
|
||||
#
|
||||
my $command = "rpmstrap $EXTRA $CONFIG{'dist'} $CONFIG{'location'} $mirror";
|
||||
my $command = "febootstrap $EXTRA $CONFIG{'dist'} $CONFIG{'location'} $mirror";
|
||||
runCommand($command);
|
||||
}
|
||||
|
||||
|
||||
2
debian/changelog
vendored
2
debian/changelog
vendored
@@ -41,8 +41,6 @@ xen-tools (4.2~rc1-1) UNRELEASED; urgency=low
|
||||
- Checks for debootstrap and cdebootstrap, uses debootstrap if both
|
||||
are installed (Changed "Depends: debootstrap" to "Depends:
|
||||
debootstrap | cdebootstrap" in debian/control)
|
||||
- Introduces the --domaindir option as alternative to --dir which
|
||||
always appends "/domains/" to the path. (Closes: #477238)
|
||||
* Removal of /etc/bash_completion.d/xm from the package since
|
||||
bash-completion ships a more elaborate version of that file. (Closes:
|
||||
#566683, #550590, LP: #538917, #484098)
|
||||
|
||||
@@ -119,7 +119,7 @@ _xen_create_image()
|
||||
return 0
|
||||
;;
|
||||
--install-method)
|
||||
COMPREPLY=( $( compgen -W 'copy debootstrap rinse rpmstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
COMPREPLY=( $( compgen -W 'copy debootstrap rinse febootstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
return 0
|
||||
;;
|
||||
--ip)
|
||||
@@ -360,7 +360,7 @@ complete -F _xt-create-xen-config xt-create-xen-config
|
||||
#
|
||||
_xt-customize-image()
|
||||
{
|
||||
local cur prev dists
|
||||
local cur prev
|
||||
|
||||
COMPREPLY=()
|
||||
cur=${COMP_WORDS[COMP_CWORD]}
|
||||
@@ -369,16 +369,9 @@ _xt-customize-image()
|
||||
# Determine arguments dynamically. Avoids out-of-dateness.
|
||||
opts=$(xt-customize-image --help|grep -- --|awk '{print $1}'|grep -- -- | sort -u)
|
||||
|
||||
#
|
||||
# Available distributions, from rpmstrap
|
||||
#
|
||||
if [ -d /usr/lib/rpmstrap/scripts ]; then
|
||||
dists=`/bin/ls -1 /usr/lib/rpmstrap/scripts`
|
||||
fi
|
||||
|
||||
case "$prev" in
|
||||
--dist)
|
||||
COMPREPLY=( $( compgen -W '${dists} sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
COMPREPLY=( $( compgen -W 'sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
return 0
|
||||
;;
|
||||
--location)
|
||||
@@ -401,7 +394,7 @@ complete -F _xt-customize-image xt-customize-image
|
||||
#
|
||||
_xt-install-image()
|
||||
{
|
||||
local cur prev dists
|
||||
local cur prev
|
||||
|
||||
COMPREPLY=()
|
||||
cur=${COMP_WORDS[COMP_CWORD]}
|
||||
@@ -411,14 +404,6 @@ _xt-install-image()
|
||||
opts=$(xt-install-image --help|grep -- --|awk '{print $1}'|grep -- -- | sort -u)
|
||||
|
||||
|
||||
#
|
||||
# Available distributions, from rpmstrap
|
||||
#
|
||||
if [ -d /usr/lib/rpmstrap/scripts ]; then
|
||||
dists=`/bin/ls -1 /usr/lib/rpmstrap/scripts`
|
||||
fi
|
||||
|
||||
|
||||
case "$prev" in
|
||||
--cache)
|
||||
COMPREPLY=( $( compgen -W 'yes no' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
@@ -429,11 +414,11 @@ _xt-install-image()
|
||||
return 0
|
||||
;;
|
||||
--dist)
|
||||
COMPREPLY=( $( compgen -W '${dists} sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
COMPREPLY=( $( compgen -W 'sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
return 0
|
||||
;;
|
||||
--install-method)
|
||||
COMPREPLY=( $( compgen -W 'copy debootstrap rinse rpmstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
COMPREPLY=( $( compgen -W 'copy debootstrap rinse febootstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) )
|
||||
return 0
|
||||
;;
|
||||
--location)
|
||||
|
||||
Reference in New Issue
Block a user