xen-tools-4.9.2/0000755000175000017500000000000014370055613011522 5ustar abeabexen-tools-4.9.2/bin/0000755000175000017500000000000014370055613012272 5ustar abeabexen-tools-4.9.2/bin/xt-install-image0000755000175000017500000004466014370055613015411 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xt-install-image - Install a fresh copy of GNU/Linux into a directory =head1 SYNOPSIS xt-install-image [options] Help Options: --help Show this scripts help information. --manual Read this scripts manual. --version Show the version number and exit. Debugging Options: --verbose Be verbose in our execution. Mandatory Options: --location The location to use for the new installation --dist The name of the distribution which has been installed. Misc Options: --arch Pass the given arch setting to debootstrap or rpmstrap. --config Read the specified config file in addition to the global configuration file. --mirror The mirror to use when installing with 'debootstrap'. --apt_proxy The proxy to use when installing with 'debootstrap'. --keyring The keyring to use when installing with 'debootstrap'. Installation Options: --install-method Specify the installation method to use. --install-source Specify the installation source to use. --debootstrap-cmd Specify which debootstrap command to use. Defaults to debootstrap if both, debootstrap and cdebootstrap are installed. All other options from xen-create-image will be passed as environmental variables. =head1 NOTES This script is invoked by xen-create-image after to create a new distribution of Linux. Once the script has been created the companion script xt-customize-image will be invoked to perform the network configuration, etc. =head1 INSTALLATION METHODS There are several available methods of installation, depending upon the users choice. Only one option may be chosen at any given time. The methods available are: =over 8 =item B Install the distribution specified by the B<--dist> argument using the debootstrap. If you use this option you must specify a mirror with B<--mirror>. =item B Copy the given directory recursively. This local directory is assumed to contain a complete installation. Specify the directory to copy with the B<--install-source> argument. =item B Install the distribution specified by B<--dist> using the rinse command. =item B Install the distribution specified by B<--dist> using the rpmstrap command. =item B 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. =back =head1 AUTHORS Steve Kemp, https://steve.fi/ Axel Beckert, https://axel.beckert.ch/ Dmitry Nedospasov, http://www.nedos.net/ Stéphane Jourdois =head1 LICENSE Copyright (c) 2005-2009 by Steve Kemp, (c) 2010 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut use strict; use Env; use File::Copy; use Getopt::Long; use Pod::Usage; use Xen::Tools::Common; # # Configuration values read from the command line. # my %CONFIG; # # Release number. # my $RELEASE = '4.9.2'; # # Dispatch table mapping installation types to their names. # # The names are the methods, and the hash keys are: # # sub The routine to execute. # needBinary If set the name of an executable we need to exist. # needFile Defined if we need an install-source file specified. # needDirectory Defined if we need an install-source directory specified. # # my $debootstrap_cmd; my %dispatch = ( "copy" => { sub => \&do_copy, needBinary => "/bin/cp", needDirectory => 1, }, "debootstrap" => { sub => \&do_debootstrap, needBinary => ["/usr/sbin/debootstrap", "/usr/bin/cdebootstrap", "/usr/bin/cdebootstrap-static"], var => \$debootstrap_cmd, }, "cdebootstrap" => { sub => \&do_debootstrap, needBinary => ["/usr/sbin/cdebootstrap", "/usr/bin/cdebootstrap-static"], var => \$debootstrap_cmd, }, "rinse" => { sub => \&do_rinse, needBinary => "/usr/sbin/rinse", }, "rpmstrap" => { sub => \&do_rpmstrap, needBinary => "/usr/bin/rpmstrap", }, "tar" => { sub => \&do_tar, needBinary => "/bin/tar", needFile => 1, } ); # # Read the global configuration file. # readConfigurationFile("/etc/xen-tools/xen-tools.conf", \%CONFIG); # # Parse the command line arguments. # parseCommandLineArguments(); # # If we received a configuration file then read it. # if ( $CONFIG{ 'config' } ) { my $path = $CONFIG{ 'config' }; # If not fully-qualified then read from /etc/xen-tools. if ( $path !~ /^[\/]/ ) { $path = "/etc/xen-tools/" . $path; } # Read the file, if it exists. readConfigurationFile($path, \%CONFIG) if ( -e $path ); } # # Check our arguments # checkArguments(); # # Now lookup our installation type and dispatch control to it. # if ( defined( $CONFIG{ 'install-method' } ) && length( $CONFIG{ 'install-method' } ) ) { # # Get the entry from the dispatch table. # my $installer = $dispatch{ lc( $CONFIG{ 'install-method' } ) }; if ( defined($installer) ) { # # If we found it. # # Do we need to test for a binary. if ( $installer->{ 'needBinary' } ) { if ( 'ARRAY' eq ref $installer->{ 'needBinary' } ) { unless (ref $installer->{ 'var' }) { die "Assertion: If dispatch->->needBinary is an array ref, dispatch->->var must exist"; } foreach my $binary (@{$installer->{ 'needBinary' }}) { if (-x $binary) { ${$installer->{ 'var' }} = $binary; last; } } unless ( ${$installer->{ 'var' }} ) { print "One of the following binaries are required for the installation, but none was found\n"; print "\t" . join(', ', @{$installer->{ 'needBinary' }}) . "\n"; exit 1; } } else { if ( !-x $installer->{ 'needBinary' } ) { print "The following required binary for the installation was not found\n"; print "\t" . $installer->{ 'needBinary' } . "\n"; exit 1; } } } # Do we need a directory specified as the installation source? if ( ( $installer->{ 'needDirectory' } ) && ( !$CONFIG{ 'install-source' } || !-d $CONFIG{ 'install-source' } ) ) { print "Please specify the source directory with --install-source\n"; if ( $CONFIG{ 'install-source' } ) { print "The specified directory $CONFIG{'install-source'} does not exist.\n"; } exit 1; } # Do we need a file specified as the installation source? if ( ( $installer->{ 'needFile' } ) && ( !$CONFIG{ 'install-source' } || !-e $CONFIG{ 'install-source' } ) ) { print "Please specify the source file with --install-source\n"; if ( $CONFIG{ 'install-source' } ) { print "The specified file $CONFIG{'install-source'} does not exist.\n"; } exit 1; } # # Now we can call the appropriate handler. # $installer->{ 'sub' }->(); # # Did the operation succeed? # # Test that we have some "standard" files present. # checkForCommonFilesInChroot($CONFIG{ 'location' }, "installed system"); # # All done. # exit 0; } else { print "The installation method specified is invalid.\n"; exit 1; } } else { print "An installation method is mandatory\n"; exit 1; } =begin doc Parse the command line arguments this script was given. =end doc =cut sub parseCommandLineArguments { my $HELP = 0; my $MANUAL = 0; my $VERSION = 0; # # Parse options. # GetOptions( # Mandatory "location=s", \$CONFIG{ 'location' }, "dist=s", \$CONFIG{ 'dist' }, "hostname=s", \$CONFIG{ 'hostname' }, # Installation method "install-method=s", \$CONFIG{ 'install-method' }, "install-source=s", \$CONFIG{ 'install-source' }, "debootstrap-cmd=s", \$CONFIG{ 'debootstrap-cmd' }, # Misc "arch=s", \$CONFIG{ 'arch' }, "cache=s", \$CONFIG{ 'cache' }, "cachedir=s", \$CONFIG{ 'cachedir' }, "config=s", \$CONFIG{ 'config' }, "mirror=s", \$CONFIG{ 'mirror' }, "keyring=s", \$CONFIG{ 'keyring' }, "apt_proxy=s", \$CONFIG{ 'apt_proxy' }, # Help. "verbose", \$CONFIG{ 'verbose' }, "help", \$HELP, "manual", \$MANUAL, "version", \$VERSION ); pod2usage(1) if $HELP; pod2usage( -verbose => 2 ) if $MANUAL; if ($VERSION) { print "xt-install-image release $RELEASE\n"; exit; } } =begin doc Test that the command line arguments we were given make sense. =end doc =cut sub checkArguments { # # We require a location. # if ( !defined( $CONFIG{ 'location' } ) ) { print "The '--location' argument is mandatory\n"; exit 1; } # # Test that the location we've been given exists # if ( !-d $CONFIG{ 'location' } ) { print "The installation directory we've been given doesn't exist\n"; print "We tried to use : $CONFIG{'location'}\n"; exit 1; } # # We require a distribution name. # if ( !defined( $CONFIG{ 'dist' } ) ) { print "The '--dist' argument is mandatory\n"; exit 1; } # # Test that the distribution name we've been given # to configure has a collection of hook scripts. # # If there are no scripts then we clearly cannot # customise it! # my $dir = "/usr/share/xen-tools/" . $CONFIG{ 'dist' } . ".d"; if ( !-d $dir ) { print < $dest\n"; # # Loop over only .deb files. # foreach my $file ( sort ( glob( $source . "/*.deb" ) ) ) { my $name = $file; if ( $name =~ /(.*)\/(.*)/ ) { $name = $2; } # # Only copy if the file doesn't already exist. # if ( !( -e $dest . "/" . $name ) ) { File::Copy::cp( $file, $dest ); } } print "Done\n"; } ### # # Installation functions follow. # ### =begin doc Install a new image of a distribution using `cp`. =end doc =cut sub do_copy { # # Check if the copy source has at least some "standard" files present. # checkForCommonFilesInChroot($CONFIG{ 'install-source' }, "installation source"); # # Find the copy command to run from the configuration file. # my $cmd = $CONFIG{ 'copy-cmd' }; if ( !defined($cmd) ) { print "Falling back to default copy command\n"; $cmd = '/bin/cp -a $src/* $dest'; # Note: single quotes. } # # Expand the source and the destination. # $cmd =~ s/\$src/$CONFIG{'install-source'}/g; $cmd =~ s/\$dest/$CONFIG{'location'}/g; # # Run the copy command. # runCommand($cmd, \%CONFIG); } =begin doc Install a new image of Debian using 'debootstrap'. =end doc =cut sub do_debootstrap { # # The command is a little configurable - mostly to allow you # to use cdebootstrap. # my $cmd = $CONFIG{ 'debootstrap-cmd' } || $debootstrap_cmd; print "Using $cmd as debootstrap command\n"; my $cachedir = $CONFIG{ 'cachedir' }; # # Cache from host -> new installation if we've got caching # enabled. # if ( $CONFIG{ 'cache' } eq "yes" ) { print "\nCopying files from host to image.\n"; unless( -d $cachedir ) { my $xtcache = '/var/cache/xen-tools/archives/'; print("$cachedir not found, defaulting to $xtcache\n"); unless ( -d $xtcache ) { system "mkdir -p $xtcache"; } $cachedir = $xtcache; } runCommand("mkdir -p $CONFIG{'location'}/var/cache/apt/archives", \%CONFIG); copyDebFiles( "$cachedir", "$CONFIG{'location'}/var/cache/apt/archives" ); print("Done\n"); } # # Propagate --verbose appropriately. # my $EXTRA = ''; if ( $CONFIG{ 'verbose' } ) { $EXTRA = ' --verbose'; } # # Propagate the --arch argument # if ( $CONFIG{ 'arch' } ) { $EXTRA .= " --arch $CONFIG{'arch'}"; } # # Propagate the --keyring argument # if ( $CONFIG{ 'keyring' } ) { $EXTRA .= " --keyring=$CONFIG{'keyring'}"; } # # Setup http_proxy so that debootstrap pulls files through the apt-proxy # if ( $CONFIG{ 'apt_proxy' } ) { print("Using apt_proxy: $CONFIG{'apt_proxy'}\n"); $ENV{'http_proxy'} = $CONFIG{'apt_proxy'}; } # # This is the command we'll run # my $command = "$cmd $EXTRA $CONFIG{'dist'} $CONFIG{'location'} $CONFIG{'mirror'}"; # # Run the command. # runCommand($command, \%CONFIG); # # Cache from the new installation -> the host if we've got caching # enabled. # if ( $CONFIG{ 'cache' } eq "yes" ) { print "\nCopying files from new installation to host.\n"; copyDebFiles( "$CONFIG{'location'}/var/cache/apt/archives", "$cachedir" ); print("Done\n"); } } =begin doc Install a new distribution of GNU/Linux using the rinse tool. =end doc =cut sub do_rinse { # # The command we're going to run. # my $command = "rinse --distribution=$CONFIG{'dist'} --directory=$CONFIG{'location'}"; # # Propagate the --arch argument # if ( $CONFIG{ 'arch' } ) { $command .= " --arch $CONFIG{'arch'}"; } else { my $uname_machine = `uname -m`; chomp($uname_machine); if ($uname_machine eq 'x86_64') { $command .= " --arch amd64"; } elsif ($uname_machine =~ /^i[3-6]86$/) { $command .= " --arch i386"; } else { die "Local architecture ($uname_machine) not supported by rinse.\n". "Please choose a supported installation architecture (i386 or amd64) explicitly." } } # # Propagate the verbosity setting. # if ( $CONFIG{ 'verbose' } ) { $command .= " --verbose"; } runCommand($command, \%CONFIG); } =begin doc Install a new distribution of GNU/Linux using the rpmstrap tool. =end doc =cut sub do_rpmstrap { # # Propagate the verbosity setting. # my $EXTRA = ''; if ( $CONFIG{ 'verbose' } ) { $EXTRA .= " --verbose"; } # # Propagate any arch setting we might have. # if ( $CONFIG{ 'arch' } ) { $EXTRA .= " --arch $CONFIG{'arch'}"; } # # Setup mirror if present. # my $mirror = ""; $mirror = $CONFIG{ 'mirror' } if ( $CONFIG{ 'mirror' } ); # # The command we're going to run. # my $command = "rpmstrap $EXTRA $CONFIG{'dist'} $CONFIG{'location'} $mirror"; runCommand($command, \%CONFIG); } =begin doc Install a new image of a distribution using `tar`. =end doc =cut sub do_tar { # # Find the tar command to run from the configuration file. # my $cmd = $CONFIG{ 'tar-cmd' }; if ( !defined($cmd) ) { print "Falling back to default tar command\n"; $cmd = '/bin/tar --numeric-owner -xvf $src'; # Note: single quotes. } # # Expand the tarfile. # $cmd =~ s/\$src/$CONFIG{'install-source'}/g; # # Run a command to copy an installed system into the new root. # runCommand("cd $CONFIG{'location'} && $cmd", \%CONFIG); } xen-tools-4.9.2/bin/xt-guess-suite-and-mirror0000755000175000017500000001233314370055613017200 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xt-guess-suite-and-mirror - Tries to guess the most suitable suite and mirror for DomUs on Debian and Ubuntu Dom0s. =head1 SYNOPSIS --suite Show suite --mirror Show mirror --sources-list= Parse this file as sources.list Shows both if no parameter is given. Help Options: --help Show the help information for this script. --manual Show the manual for this script. --version Show the version number and exit. =head1 DESCRIPTION xt-guess-suite-and-mirror tries to find the mirror and suite the Xen Dom0 is currently using and returns them in a way suitable for xen-create-image(1) or the backticks feature in xen-tools.conf. =head1 AUTHORS Axel Beckert, https://axel.beckert.ch/ Stéphane Jourdois =head1 LICENSE Copyright (C) 2010-2012 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut ### ### Configuration ### # Fallback to Debian or Ubuntu in case we can't find anything my $fallback = 'Debian'; # Which mirrors to use if everything else fails (deb.debian.org # redirects to a working mirror nearby) my %fallback_mirror = ( Debian => 'http://deb.debian.org/debian/', Ubuntu => 'http://archive.ubuntu.com/ubuntu/' ); # Which suite to use if everything else fails. For Debian "stable" # should be the best choice independent of the time. Ubuntu does not # have aliases like stable or testing, so we take the nearest LTS # release which is 10.04 at the time of writing. my %fallback_suite = ( Debian => 'stable', Ubuntu => 'jammy' ); # Where to look for the sources.list to parse my @sources_list_files = ( '/etc/apt/sources.list', glob('/etc/apt/sources.list.d/*.list')); use File::Slurp; use Getopt::Long; use Pod::Usage; use File::Which; use strict; # # Release number. # my $RELEASE = '4.9.2'; # Init my $mirror = ''; my $suite = ''; my $found = 0; # Parsing command line options my $want_mirror = 0; my $want_suite = 0; my $want_version = 0; my $want_help = 0; my $want_manual = 0; my $sources_list = undef; my $result = GetOptions( 'mirror|m' => \$want_mirror, 'suite|s' => \$want_suite, 'version' => \$want_version, 'manual' => \$want_manual, 'sources-list=s' => \$sources_list, 'help' => \$want_help ); if ($want_help) { pod2usage(0); } if ($want_manual) { pod2usage( -verbose => 2 ); } if (defined $sources_list) { @sources_list_files = ($sources_list); } all_sources_list_files: foreach my $sources_list_file (@sources_list_files) { if (-r $sources_list_file) { # sources.list file exists, so it's something debianoid. # read sources.list and split it into lines my @sources_list = read_file($sources_list_file); # Find the first line which is a Debian or Ubuntu mirror but not # an updates, backports, volatile or security mirror. foreach my $sources_list_entry (@sources_list) { # Normalize line chomp($sources_list_entry); $sources_list_entry =~ s/^\s*(.*?)\s*$/$1/; # Skip definite non-entries next if $sources_list_entry =~ /^\s*($|#)/; # Split up into fields my @source_components = split(/\s+/, $sources_list_entry); # Minimum number of components is 4 next if $#source_components < 3; # Don't use deb-src entries. next if $source_components[0] eq 'deb-src'; # Skip updates, backports, volatile or security mirror. next if $source_components[2] !~ /^[a-z]+$/; if ($source_components[1] =~ m(/debian/?$|/ubuntu(-ports)?/?$)) { # Seems a typical mirror. Let's use that one $mirror = $source_components[1]; $suite = $source_components[2]; $found = 1; last all_sources_list_files; } } } } die "Couldn't find a useful entry in the sources.list files of the Dom0. Tried:\n ". join("\n ", @sources_list_files)."\n" unless $found; my $lsb_release = which('lsb_release'); if (!$found and defined($lsb_release) and -x $lsb_release) { my $vendor = `$lsb_release -s -i`; if ($vendor eq 'Debian' or $vendor eq 'Ubuntu') { $suite = `$lsb_release -s -c`; chomp($suite); unless ($suite) { $suite = $fallback_suite{$vendor}; warn "Dom0 seems to be $vendor, but couldn't determine suite. Falling back to $suite.\n"; } $mirror = $fallback_mirror{$vendor}; $found = 1; } } if ($found) { unless ($want_help || $want_version || $want_suite || $want_mirror) { print "$mirror $suite\n"; } else { if ($want_mirror) { print "$mirror"; } if ($want_suite) { print "$suite"; } print "\n"; } } else { $suite = $fallback_suite{$fallback}; $mirror = $fallback_mirror{$fallback}; } xen-tools-4.9.2/bin/xt-customize-image0000755000175000017500000001733414370055613015763 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xt-customize-image - Customize a freshly installed copy of GNU/Linux =head1 SYNOPSIS xt-customize-image [options] Help Options: --help Show this scripts help information. --manual Read this scripts manual. --version Show the version number and exit. Debugging Options: --verbose Be verbose in our execution. Mandatory Options: --location The location of the new installation --dist The name of the distribution which has been installed. All other options from xen-create-image, such as the new IP address(es) to give to the new instance, will be passed as environmental variables. =head1 NOTES This script is invoked by xen-create-image after it has created a fresh installation of Linux within a temporary location. This script will be invoked with a full copy of the arguments from xen-create-image in its environment, along with several command line arguments. The command line arguments which are mandatory are: --location - The temporary installation root of the new install --dist - The distribution which has been installed. =head1 HOOK SCRIPTS The distribution name is used to locate an appropriate collection of scripts, or hooks, to execute to do the actual customisation. The hooks will each be executed with a single parameter which is the directory path to the new instance. This argument is taken from the --location option. For the distribution named 'foo' the scripts will be loaded and executed from '/usr/share/xen-tools/foo.d'. Each executable will be loaded and executed in sorted order. The systems administrator can optionally provide site-specific revisions of those same hooks by placing them in the directory '/etc/xen-tools/hooks.d/' in which case a script with the same name as the one in the 'foo.d' directory above will take precedence. In this way certain hooks can be prevented from running, expanded with site-specific features which won't get overwritten on upgrades, or patched with critical bug-fixes before the upstream OS distribution provider reacts. =head1 AUTHORS Steve Kemp, https://steve.fi/ Axel Beckert, https://axel.beckert.ch/ Stéphane Jourdois =head1 LICENSE Copyright (c) 2005-2009 by Steve Kemp, (c) 2010 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut use strict; use Env; use Getopt::Long; use Pod::Usage; # # Configuration values read from the command line. # # We do not need to read any configuration file. # my %CONFIG; # # Release number. # my $RELEASE = '4.9.2'; # # Parse the command line arguments. # parseCommandLineArguments(); # # Check our arguments. # checkArguments(); # # Run each relevant hook scripts. # runDistributionHooks(); # # Exit cleanly - any errors which have already occurred will result # in "exit 1". # exit 0; =begin doc Parse the command line arguments this script was given. =end doc =cut sub parseCommandLineArguments { my $HELP = 0; my $MANUAL = 0; my $VERSION = 0; # # Parse options. # GetOptions( "location=s", \$CONFIG{ 'location' }, "dist=s", \$CONFIG{ 'dist' }, "verbose", \$CONFIG{ 'verbose' }, "help", \$HELP, "manual", \$MANUAL, "version", \$VERSION ); pod2usage(1) if $HELP; pod2usage( -verbose => 2 ) if $MANUAL; if ($VERSION) { print "xt-customize-image release $RELEASE\n"; exit; } } =begin doc Test that the command line arguments we were given make sense. =end doc =cut sub checkArguments { # # We require a location. # if ( !defined( $CONFIG{ 'location' } ) ) { print "The '--location' argument is mandatory\n"; exit 1; } # # Test that the location we've been given exists # if ( !-d $CONFIG{ 'location' } ) { print "The installation directory we've been given doesn't exist\n"; print "We tried to use : $CONFIG{'location'}\n"; exit 1; } # # We require a distribution name. # if ( !defined( $CONFIG{ 'dist' } ) ) { print "The '--dist' argument is mandatory\n"; exit 1; } # # Test that the distribution name we've been given # to configure has a collection of hook scripts. # # If there are no scripts then we clearly cannot # customise it! # my $dir = "/usr/share/xen-tools/" . $CONFIG{ 'dist' } . ".d"; if ( !-d $dir ) { print < 2 ) if $MANUAL; if ($VERSION) { print "xt-create-xen-config release $RELEASE\n"; exit; } } =begin doc Test that the command line arguments we were given make sense. =end doc =cut sub checkArguments { # # We require an output location. # if ( !defined( $CONFIG{ 'output' } ) ) { print "The '--output' argument is mandatory\n"; exit 1; } # # The output location should be a directory which exists. # if ( !-d $CONFIG{ 'output' } ) { print "The output directory we've been given, $CONFIG{'output'}, doesn't exist\n"; print "Aborting\n"; exit 1; } # # Make sure that any specified template file exists. # if ( defined( $CONFIG{ 'template' } ) ) { if ( !-e $CONFIG{ 'template' } ) { print "The specified template file, $CONFIG{'template'} does not exist.\n"; exit 1; } } else { print "A template file was not specified. Aborting\n"; exit 1; } } =begin doc Reconstructs the internal partitions array from the text representation exported by the xen-create-image script. =end doc =cut sub importPartitionsFromEnvironment { @PARTITIONS = (); return unless exists $ENV{ 'NUMPARTITIONS' }; for ( my $i = 1 ; $i <= $ENV{ 'NUMPARTITIONS' } ; $i++ ) { my @parts = split( /:/, $ENV{ 'PARTITION' . $i }, 7 ); push( @PARTITIONS, { 'name' => $parts[0], 'size' => $parts[1], 'type' => $parts[2], 'mountpoint' => $parts[3], 'options' => $parts[4], 'imagetype' => $parts[5], 'image' => $parts[6] } ); } } =begin doc This function does the real work of creating the Xen configuration file. We modify some of the variables contained in our environment and then process the template file with B. =end doc =cut sub createXenConfig { # # The output file we're going to process. # my $file = $CONFIG{ 'output' } . '/' . $ENV{ 'hostname' } . $CONFIG{ 'extension' }; # # The template we're going to read from. # my $template = new Text::Template( TYPE => 'FILE', SOURCE => $CONFIG{ 'template' } ); # # The device we're using. # my $device = 'xvda'; if ( defined( $ENV{ 'ide' } ) ) { $device = 'hda'; } elsif ( defined( $ENV{ 'scsi' } ) ) { $device = 'sda'; } elsif ( defined( $ENV{ 'disk_device' } ) ) { $device = $ENV{ 'disk_device' }; # strip /dev/, if present. if ( $device =~ /^(.*)\/(.*)$/ ) { $device = $2; } } $ENV{ 'device' } = $device; # # The memory size: Convert Gb -> Mb. # if ( $ENV{ 'memory' } =~ /^(\d+)Gb?.*$/i ) { $ENV{ 'memory' } = $1 * 1024; } # # Remove any trailing Mb. # $ENV{ 'memory' } =~ s/^(\d+)Mb?.*$/$1/i; # # The maxmem size: Convert Gb -> Mb. # if ( exists($ENV{ 'maxmem' }) and defined($ENV{ 'maxmem' })) { if ($ENV{ 'maxmem' } =~ /^(\d+)Gb?.*$/i ) { $ENV{ 'maxmem' } = $1 * 1024; } # # Remove any trailing Mb. # $ENV{ 'maxmem' } =~ s/^(\d+)Mb?.*$/$1/i; } # # Images as presented to Xen - either loopback images, or LVM partitions. # if ( $ENV{ 'lvm' } ) { $ENV{ 'image_prefix' } = "phy:$ENV{'lvm'}/$ENV{'hostname'}-"; $ENV{ 'image_suffix' } = ''; importPartitionsFromEnvironment(); } elsif ( $ENV{ 'evms' } ) { $ENV{ 'image_prefix' } = "phy:/dev/evms/$ENV{'hostname'}-"; $ENV{ 'image_suffix' } = ''; importPartitionsFromEnvironment(); } elsif ( $ENV{ 'image_dev' } ) { $ENV{ 'image_vbd' } = "phy:$ENV{'image_dev'}"; if ( $ENV{ 'swap_dev' } ) { $ENV{ 'swap_vbd' } = "phy:$ENV{'swap_dev'}"; } else { $ENV{ 'swap_vbd' } = undef; } } else { $ENV{ 'image_prefix' } = "file:$ENV{'dir'}/domains/$ENV{'hostname'}/"; $ENV{ 'image_suffix' } = '.img'; importPartitionsFromEnvironment(); } # # The xen-tools version. # $ENV{ 'xen_tools_version' } = $RELEASE; # # Now we should have a suitable environment. What we want to # do now is to make sure that these environmental variables are # made available to our template file. # my %vars; foreach my $key ( sort keys %ENV ) { $vars{ $key } = $ENV{ $key }; } $vars{ 'PARTITIONS' } = \@PARTITIONS; # # Now output the data. # open( FILE, ">", $file ); # # The template file gets a complete copy of our configuration values. # my $result = $template->fill_in( HASH => \%vars ); # # Write the output of processing the template file, if it succeeds. # if ( defined $result ) { print FILE $result; } else { print FILE "Error creating configuration file\n"; } # # Close the output file. # close(FILE); } xen-tools-4.9.2/bin/xen-update-image0000755000175000017500000002254514370055613015362 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xen-update-image - Update the software installed upon offline Xen images. =head1 SYNOPSIS xen-update-image [options] imageName1 imageName2 .. imageNameN Help Options: --help Show this scripts help information. --manual Read this scripts manual. --version Show the version number and exit. General Options: --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). =head1 OPTIONS =over 8 =item B<--dir> Specify the directory which contains the image(s). =item B<--evms> Specify the EVMS container which contains the image(s). =item B<--help> Show the script help. =item B<--lvm> Specify the LVM volume group which contains the image(s). =item B<--manual> Read the manual. =item B<--version> Show the version number and exit. =back =head1 DESCRIPTION xen-update-image is a simple script which allows you to update a Xen image of Debian which has been created with xen-create-image. It does this by mounting the image inside a temporary directory then running: apt-get update apt-get upgrade NOTE If the image is already running within Xen this will cause corruption otherwise it will allow you to update your image without booting it. =head1 EXAMPLES The following assumes there are two images which are not currently running. The images are called 'test.my.flat', and 'x11.my.flat'. Updating both images can be accomplished by executing: xen-update-images --dir=/home/xen test.my.flat x11.my.flat =head1 AUTHORS Steve Kemp, https://steve.fi/ Axel Beckert, https://axel.beckert.ch/ Stéphane Jourdois =head1 LICENSE Copyright (c) 2005-2009 by Steve Kemp, (c) 2010 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut use strict; use English; use File::Temp qw/ tempdir /; use File::Copy qw/ mv cp /; use Getopt::Long; use Pod::Usage; use Xen::Tools::Common; # # Configuration options, initially read from the configuration file # but may be overridden by the command line. # # Command line flags *always* take precedence over the configuration file. # my %CONFIG; # # Release number. # my $RELEASE = '4.9.2'; # # Find xen toolstack command # $CONFIG{ 'xm' } = findXenToolstack(); # # Read configuration file if it exists. # if ( -e "/etc/xen-tools/xen-tools.conf" ) { readConfigurationFile("/etc/xen-tools/xen-tools.conf", \%CONFIG); } # # Parse command line arguments, these override the values from the # configuration file. # parseCommandLineArguments(); # # Test that our arguments are sane. # checkArguments(); # # Abort if non-root user. # if ( $EFFECTIVE_USER_ID != 0 ) { print < 1 ); my $img = ''; my $mount_cmd = ''; # # If we're dealing with loopback images find the main one, # and mount it. # if ( $CONFIG{ 'dir' } ) { # The loopback image. $img = $CONFIG{ 'dir' } . "/domains/" . $name . "/disk.img"; if ( !-e $img ) { print "Disk image '$img' for host '$name' not found\n"; return; } $mount_cmd = "mount -t auto -o loop $img $tmp"; } elsif ( $CONFIG{ 'lvm' } ) { # The LVM volume $img = "/dev/" . $CONFIG{ 'lvm' } . "/$name-disk"; # make sure it exists. if ( !-e $img ) { print "Logical volume '$img' for host '$name' not found\n"; return; } $mount_cmd = "mount -t auto $img $tmp"; } elsif ( $CONFIG{ 'evms' } ) { # The EVMS volume -- note, unlike LVM, you don't need the # $CONFIG{'evms'} to see it and mount the # volume. $CONFIG{'evms'} is only used for manipulating the # underlying object. Still, I don't want to mess with the # parse code and make it confusing - otherwise --evms takes an # argument everywhere but here, which will confuse users. The # better solution is to make it so that --evms can take a # following container, but doesn't require it. For the # moment, it is better to leave it as it is, take a container, # and then ignore it. # The best way to do it is to just read it out of the # configuration file, tell the user what you got and where you # got it from, and not bother the user with picking --dir or # --lvm or --evms at all, but infer it from the config file's # disk = parameter. xen-delete-image might work the same way, # but it could be *slightly* more dangerous in the context of # deleting. $img = "/dev/evms/$name-disk"; # make sure it exists. if ( !-e $img ) { print "EVMS volume '$img' for host '$name' not found\n"; return; } $mount_cmd = "mount -t auto $img $tmp"; } else { die "Can't happen?\n"; } # # Mount the image. # `$mount_cmd`; # # Make sure this is a Debian image. # if ( ( -e $tmp . "/usr/bin/apt-get" ) && ( -x $tmp . "/usr/bin/apt-get" ) ) { # # Copy dom0's resolv.conf to domU # mv("$tmp/etc/resolv.conf", "$tmp/etc/resolv.conf.old") if -f "$tmp/etc/resolv.conf"; cp("/etc/resolv.conf", "$tmp/etc/resolv.conf"); # # Now run the update command. # system("chroot $tmp /usr/bin/apt-get update"); # # Now upgrade # system( "DEBIAN_FRONTEND=noninteractive chroot $tmp /usr/bin/apt-get upgrade --yes" ); # # Restore domU's resolv.conf if needed # if (-f "$tmp/etc/resolv.conf") { mv("$tmp/etc/resolv.conf.old", "$tmp/etc/resolv.conf"); } else { unlink "$tmp/etc/resolv.conf"; } } else { print "Xen image $name is not a Debian GNU/Linux image. Skipping\n"; } # # Unmount # `umount -l $tmp`; `umount $tmp 2>/dev/null >/dev/null`; } =begin doc Parse the arguments specified upon the command line. =end doc =cut sub parseCommandLineArguments { my $HELP = 0; my $MANUAL = 0; my $VERSION = 0; # # We record the installation method here because we want # to ensure that we allow the method supplied upon the command line # to overwrite the one we might have ready read from the configuration # file. # my %install; $install{ 'evms' } = undef; $install{ 'dir' } = undef; $install{ 'lvm' } = undef; # Parse options. # GetOptions( "dir=s", \$install{ 'dir' }, "lvm=s", \$install{ 'lvm' }, "evms=s", \$install{ 'evms' }, "help", \$HELP, "manual", \$MANUAL, "version", \$VERSION ); # # Now make ensure that the command line setting of '--lvm', '--evms', '--zpool' # and '--dir=x' override anything specified in the configuration file. # if ( $install{ 'dir' } ) { $CONFIG{ 'dir' } = $install{ 'dir' }; $CONFIG{ 'evms' } = undef; $CONFIG{ 'lvm' } = undef; $CONFIG{ 'zpool' } = undef; } if ( $install{ 'evms' } ) { $CONFIG{ 'dir' } = undef; $CONFIG{ 'evms' } = $install{ 'evms' }; $CONFIG{ 'lvm' } = undef; $CONFIG{ 'zpool' } = undef; } if ( $install{ 'lvm' } ) { $CONFIG{ 'dir' } = undef; $CONFIG{ 'evms' } = undef; $CONFIG{ 'lvm' } = $install{ 'lvm' }; $CONFIG{ 'zpool' } = undef; } pod2usage(1) if $HELP; pod2usage( -verbose => 2 ) if $MANUAL; if ($VERSION) { print "xen-update-image release $RELEASE\n"; exit; } } =begin doc Test that the options we received from the command line, or our configuration file, make sense. =end doc =cut sub checkArguments { # # Make sure we got one and only one installation method. # my $count = 0; foreach my $type (qw/dir lvm evms/) { $count += 1 if defined( $CONFIG{ $type } ); } # # Show a decent error for when either zero or more than one options # were selected. # if ( $count != 1 ) { print "Please select one and only one of the installation methods:\n"; print " --dir\n"; print " --evms\n"; print " --lvm\n"; exit; } } xen-tools-4.9.2/bin/xen-resize-guest0000755000175000017500000002013114370055613015433 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xen-resize-guest - Resize a loopback or LVM based xen guest. =head1 SYNOPSIS xen-resize-guest [options] Help Options: --help Show help information. --manual Read the manual for this script. --version Show the version information and exit. --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. --force Force the resize to happen without a last-chance delay. --hostname Specify the hostname of the guest to resize. =head1 OPTIONS =over 8 =item B<--add> Specify the amount of storage to add to the primary disk. =item B<--dir> Specify the directory where the loopback files are based. =item B<--force> Don't pause for 10 seconds prior to commencing. =item B<--help> Show help information. =item B<--hostname> Specify the hostname to delete. =item B<--lvm> Specify the volume group to use. =item B<--manual> Read the manual for this script. =item B<--version> Show the version number and exit. =back =head1 DESCRIPTION This tool will ease the resizing of Xen guests, whether they are based upon loopback files or LVM partitions. Whilst the process of resizing a guest is pretty simple it can be fiddly to do the steps correctly in the right order: 1. Shutdown the guest. 2. Unmount the volume, if it is mounted. 3. Add to the space. 4. Check the filesystem. 5. Resize the filesystem. 6. Restart the guest. More than once I've heard of users making mistakes and breaking their filesystems; hence this tool. =head1 AUTHORS Steve Kemp, https://steve.fi/ Axel Beckert, https://axel.beckert.ch/ =head1 LICENSE Copyright (c) 2005-2009 by Steve Kemp, (c) 2010 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut use strict; use English; use Env; use Getopt::Long; use Pod::Usage; use Text::Template; use Xen::Tools::Common; # # Configuration values read from the command line, or configuration file. # my %CONFIG; # # Release number. # my $RELEASE = '4.9.2'; # # Find xen toolstack command # $CONFIG{ 'xm' } = findXenToolstack(); # # Read the global configuration file. # readConfigurationFile("/etc/xen-tools/xen-tools.conf", \%CONFIG); # # Parse the command line arguments. # parseCommandLineArguments(); # # Validate our arguments. # testArguments(); # # The path to the file, or device, to resize. # my $path = undef; if ( $CONFIG{ 'dir' } ) { # # Make sure we can find the disk # $path = $CONFIG{ 'dir' } . "/domains/" . $CONFIG{ 'hostname' } . "/disk.img"; if ( !-e $path ) { print < 2 ) if $MANUAL; if ($VERSION) { print("xen-resize-guest release $RELEASE\n"); exit 1; } # # Setup mutually exclusive options in such a way that # they will allow the configuration values to be overridden by # the command line. # if ( $install{ 'lvm' } ) { $CONFIG{ 'lvm' } = $install{ 'lvm' }; $CONFIG{ 'dir' } = undef; delete $CONFIG{ 'dir' }; } if ( $install{ 'dir' } ) { $CONFIG{ 'dir' } = $install{ 'dir' }; $CONFIG{ 'lvm' } = undef; delete $CONFIG{ 'lvm' }; } } =begin doc Test our arguments are complete. =end doc =cut sub testArguments { # # Make sure we received a hostname. # if ( !$CONFIG{ 'hostname' } ) { print < Increase the size of the disk image by 1Gb. --add=1 -> Increase the size of the disk image by 1Mb. EOF exit 1; } # # Make sure the guest isn't running # if ( xenRunning( $CONFIG{ 'hostname' }, \%CONFIG ) ) { print "The guest $CONFIG{'hostname'} appears to be running!\n"; exit 1; } # # We should either have LVM *or* directory - not neither or both. # my $options = 0; $options += 1 if ( defined( $CONFIG{ 'lvm' } ) && length( $CONFIG{ 'lvm' } ) ); $options += 1 if ( defined( $CONFIG{ 'dir' } ) && length( $CONFIG{ 'dir' } ) ); # # Report # if ( $options == 0 ) { print "Please specify one of --lvm or --dir\n"; exit 1; } if ( $options > 1 ) { print "Please specify only one of --lvm or --dir - not both!\n"; exit 1; } # # Convert from Gb -> Mb; # if ( $CONFIG{ 'add' } =~ /^([0-9.]+)Gb*$/i ) { $CONFIG{ 'add' } = $1 * 1024; } if ( $CONFIG{ 'add' } =~ /^([0-9.]+)Mb*$/i ) { $CONFIG{ 'add' } = $1; } } xen-tools-4.9.2/bin/xen-list-images0000755000175000017500000001134314370055613015230 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xen-list-images - List all the created and configured Xen images. =head1 SYNOPSIS xen-list-image [options] Filename Options: --extension Specify the file extension to use. An empty extension is equal to any extension. Help Options: --help Show this scripts help information. --manual Read this scripts manual. --version Show the version number and exit. Testing options: --test Specify an alternate Xen configuration directory. =head1 OPTIONS =over 8 =item B<--help> Show the scripts help information. =item B<--manual> Read the manual. =item B<--test> This flag causes the script to load the Xen configuration files from a different directory than the default of B. =item B<--version> Show the version number and exit. =back =head1 DESCRIPTION xen-list-images is a simple script which will display all the Xen images which have been created. This works by iterating over all files matching the pattern /etc/xen/*.cfg which is what the xen-create-image script would create. For each instance which has been created we'll display the name, and then either the IP address configured, or "DHCP" to denote a dynamic host. =head1 TODO It should be possible to determine the disk(s) used by the images, and then display their sizes. =head1 AUTHORS Steve Kemp, https://steve.fi/ Stéphane Jourdois =head1 LICENSE Copyright (c) 2005-2009 by Steve Kemp, (c) 2010-2013 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut use strict; use English; use File::Temp qw/ tempdir /; use Getopt::Long; use Pod::Usage; use Xen::Tools::Common; # # Configuration options, initially read from the configuration files # but may be overridden by the command line. # # Command line flags *always* take precedence over the configuration file. # my %CONFIG; # # Default values # $CONFIG{ 'prefix' } = "/etc/xen"; $CONFIG{ 'extension' } = '.cfg'; # # Release number. # my $RELEASE = '4.9.2'; # # Read the global configuration file if it exists. # readConfigurationFile("/etc/xen-tools/xen-tools.conf", \%CONFIG); # # Parse command line arguments, these override the values from the # configuration file. # parseCommandLineArguments(); # # Read all the xen configuration files. # my @instances = findXenInstances(); # # Now process each instance. # my $count = 0; foreach my $instance (@instances) { if ($count) {print "\n";} displayInstance($instance); $count += 1; } # # All done. # exit; =begin doc Parse the arguments specified upon the command line. =end doc =cut sub parseCommandLineArguments { my $HELP = 0; my $MANUAL = 0; my $VERSION = 0; # Parse options. # GetOptions( "test=s", \$CONFIG{ 'prefix' }, "extension:s", \$CONFIG{ 'extension' }, "help", \$HELP, "manual", \$MANUAL, "version", \$VERSION ); pod2usage(1) if $HELP; pod2usage( -verbose => 2 ) if $MANUAL; if ($VERSION) { print "xen-list-images release $RELEASE\n"; exit; } } =begin doc Return an array containing the names of each xen configuration file we found. =end doc =cut sub findXenInstances { my @found; foreach my $file ( sort( glob( $CONFIG{ 'prefix' } . "/*" . $CONFIG{ 'extension' } ) ) ) { push @found, $file if ( -f $file and $file !~ m(~$|\.dpkg-[a-z]+$|\.sxp$|/xl\.conf$) ); } return (@found); } =begin doc Show details about the Xen instance contained in the given configuration file. =end doc =cut sub displayInstance { my ($file) = (@_); # # Read each line. # open( FILY, "<", $file ); my @LINES = ; close(FILY); # # Is it dynamic? # my $dhcp = 0; my $ip = ''; my $mac = ''; my $name = ''; my $mem = 0; foreach my $line (@LINES) { if ( $line =~ /^\s*dhcp\s*=\s*"dhcp\"/i ) { $dhcp = 1; } if ( $line =~ /^\s*name\s*=\s*["']([^'"]+)['"]/i ) { $name = $1; } if ( $line =~ /^\s*memory[^0-9]*([0-9]+)/i ) { $mem = $1; } if ( $line =~ /ip=([0-9\.]+)/ ) { $ip = $1; } if ( $line =~ /mac=['\"]([^'\"]+)['\"]/ ) { $mac = " [MAC: $1]"; } } print "Name: $name\n"; print "Memory: $mem MB\n"; print "IP: " . $ip . $mac . "\n" if length($ip); print "DHCP" . $mac . "\n" if $dhcp; print "Config: $file\n"; } xen-tools-4.9.2/bin/xen-delete-image0000755000175000017500000003353314370055613015341 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xen-delete-image - Delete previously created Xen instances. =head1 SYNOPSIS xen-delete-image [options] [--hostname=]imageName1 [--hostname=]imageName2 Filename Options: --extension Specify the file extension to use. An empty extension is equal to any extension. Help Options: --help Show help information. --manual Read the manual for this script. --version Show the version information and exit. --verbose Show diagnostic output. General options: --dir Specify the output directory where images were previously saved. --evms Specify the EVMS container to use. --lvm Specify the LVM volume to use. --zpool Specify the ZFS pool to use. Specifying hosts: --hostname Specify the image name to delete. Testing options: --test Don't complain if we're not invoked by root. =head1 OPTIONS =over 8 =item B<--dir> Specify the output directory where images were previously saved. =item B<--evms> Specify the EVMS container where images were previously saved. =item B<--help> Show help information. =item B<--hostname> Specify the hostname to delete. =item B<--lvm> Specify the LVM volume group where images were previously saved. =item B<--zpool> Specify the ZFS pool where images were previously saved. =item B<--manual> Read the manual for this script. =item B<--test> Do not complain, or exit, if the script is not executed by the root user. (Only works in conjunction with --dir.) =item B<--version> Show the version number and exit. =back =head1 DESCRIPTION xen-delete-image is a simple script which allows you to delete Xen instances which have previously been created by xen-create-image. You must be root to run this script as it removes the Xen configuration file from /etc/xen and potentially removes LVM and EVMS volumes. (When invoked with the '--test' flag the script will continue running, but will fail to remove anything which the user does not have permission to delete.) =head1 LOOPBACK EXAMPLE Assuming that you have three images 'foo', 'bar', and 'baz', stored beneath /home/xen the first two may be deleted via: xen-delete-image --dir=/home/xen foo bar You may also delete them by running: xen-delete-image --dir=/home/xen --hostname=foo --hostname=bar (The matching Xen configuration files beneath /etc/xen will also be removed.) =head1 LVM EXAMPLE Assuming that you have the volume group 'skx-vol' containing three Xen instances 'foo', 'bar', and 'baz' the first two may be deleted via: xen-delete-image --lvm=skx-vol foo bar This will remove the volumes 'foo-disk', 'foo-swap', 'bar-disk', and 'bar-swap'. Note that if the images were created with "--noswap" then the swap volumes will not be present, so will not need to be deleted. The Xen configuration files will also be removed from beneath /etc/xen. =head1 EVMS EXAMPLE Assuming that you have the container 'mycontainer' containing three Xen instances 'foo', 'bar', and 'baz' the first two may be deleted via: xen-delete-image --evms=lvm2/mycontainer --hostname=foo --hostname=bar This will remove the volumes 'foo-disk', 'foo-swap', 'bar-disk', and 'bar-swap'. Note that if the images were created with "--noswap" then the swap volumes will not be present, so will not need to be deleted. The Xen configuration files will also be removed. =head1 AUTHORS Steve Kemp, https://steve.fi/ Axel Beckert, https://axel.beckert.ch/ Stéphane Jourdois =head1 LICENSE Copyright (c) 2005-2009 by Steve Kemp, (c) 2010-2013 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut use strict; use English; use Getopt::Long; use Pod::Usage; use File::Path; use Xen::Tools::Common; # # Configuration options, initially read from the configuration files # but may be overridden by the command line. # # Command line flags *always* take precedence over the configuration file. # my %CONFIG; # # Release number. # my $RELEASE = '4.9.2'; # # Find xen toolstack command # $CONFIG{ 'xm' } = findXenToolstack(); # # Default values # $CONFIG{ 'extension' } = '.cfg'; # # Read the global configuration file if it exists. # if ( -e "/etc/xen-tools/xen-tools.conf" ) { readConfigurationFile("/etc/xen-tools/xen-tools.conf", \%CONFIG); } # # Parse command line arguments, these override the values from the # configuration file. # parseCommandLineArguments(); # # Check that we got valid arguments. # checkArguments(); # # Abort if non-root user. # if ( ( !$CONFIG{ 'test' } ) && ( $EFFECTIVE_USER_ID != 0 ) ) { print < 2 ) if $MANUAL; if ($VERSION) { print "xen-delete-image release $RELEASE\n"; exit; } } =begin doc Check that we received the arguments we expected. =end doc =cut sub checkArguments { # # When testing we only care about loopback images, not disk images. # if ( $CONFIG{ 'test' } and ( $CONFIG{ 'lvm' } or $CONFIG{ 'evms' } or $CONFIG{ 'zpool' } )) { print "Error: --test only works with --dir.\n"; exit 1; } # # Make sure we got one and only one installation method. # my $count = 0; foreach my $type (qw/dir lvm evms zpool/) { $count += 1 if defined( $CONFIG{ $type } ); } # # Show a decent error for when either zero or more than one options # were selected. # if ( $count != 1 ) { print "Please select one and only one of the installation methods to delete the DomU:\n"; print " --dir\n"; print " --evms\n"; print " --lvm\n"; print " --zpool\n"; exit 2; } } =begin doc Delete the named image, and the corresponding configuration file from /etc/xen. =end doc =cut sub deleteXenImage { my ($hostname) = (@_); # # Collect the names of files to delete. # my @delete; # # Delete the Xen auto-start file if it exists. # if ( -e "/etc/xen/auto/$hostname".$CONFIG{ 'extension' } ) { push( @delete, "/etc/xen/auto/$hostname".$CONFIG{ 'extension' } ); } # # Delete the Xen configuration file if it exists. # if ( -e "/etc/xen/$hostname".$CONFIG{ 'extension' } ) { push( @delete, "/etc/xen/$hostname".$CONFIG{ 'extension' } ); } # # If we're working on disk images remove them. # foreach my $file (@delete) { if ( -e $file ) { if ($CONFIG{ 'dry-run' }) { print "Would delete: $file\n"; } else { print "Deleting: $file\n"; unlink($file); } } else { print "Ignoring missing file: $file\n"; } } my %PER_HOST_CONFIG = %CONFIG; $PER_HOST_CONFIG{ 'hostname' } = $hostname; if ( defined( $CONFIG{ 'dir' } ) ) { my $prefix = $CONFIG{ 'dir' } . "/domains/"; # # Now remove the directory. # if ( -d $prefix . $hostname ) { if ($CONFIG{ 'dry-run' }) { print "Would delete: $prefix$hostname\n"; } else { print "Removing: " . $prefix . $hostname . "\n"; rmtree( $prefix . $hostname ); } } } elsif ( defined( $CONFIG{ 'lvm' } ) ) { # # LVM volumes # # # TODO: Check we're not mounted. # if ( -e "/dev/$CONFIG{'lvm'}/$hostname-swap" ) { if ($CONFIG{ 'dry-run' }) { print "Would remove LVM swap volume /dev/$CONFIG{'lvm'}/$hostname-swap\n"; } else { print "Removing swap volume\n"; runCommand("lvremove /dev/$CONFIG{'lvm'}/$hostname-swap --force", \%PER_HOST_CONFIG); } } if ( -e "/dev/$CONFIG{'lvm'}/$hostname-disk" ) { if ($CONFIG{ 'dry-run' }) { print "Would remove LVM disk volume /dev/$CONFIG{'lvm'}/$hostname-disk\n"; } else { print "Removing LVM disk volume\n"; runCommand("lvremove /dev/$CONFIG{'lvm'}/$hostname-disk --force", \%PER_HOST_CONFIG); } } } elsif ( defined( $CONFIG{ 'evms' } ) ) { # # EVMS volumes # # # TODO: Check we're not mounted. # if ( -e "/dev/evms/$hostname-swap" ) { if ($CONFIG{ 'dry-run' }) { print "Would remove EVMS swap volume: /dev/evms/$hostname-swap\n"; print "Would remove EVMS swap volume: $CONFIG{'evms'}/$hostname-swap\n"; } else { print "Removing EVMS swap volume\n"; runCommand("echo Delete : /dev/evms/$hostname-swap | evms", \%PER_HOST_CONFIG); runCommand("echo Delete : $CONFIG{'evms'}/$hostname-swap | evms", \%PER_HOST_CONFIG); } } if ( -e "/dev/evms/$hostname-disk" ) { if ($CONFIG{ 'dry-run' }) { print "Would remove EVMS disk volume: /dev/evms/$hostname-swap\n"; print "Would remove EVMS disk volume: $CONFIG{'evms'}/$hostname-swap\n"; } else { print "Removing EVMS disk volume\n"; runCommand("echo Delete : /dev/evms/$hostname-disk | evms", \%PER_HOST_CONFIG); runCommand("echo Delete : $CONFIG{'evms'}/$hostname-disk | evms", \%PER_HOST_CONFIG); } } } elsif ( defined( $CONFIG{ 'zpool' } ) ) { # # ZFS volumes # # # TODO: Check we're not mounted. # if ( -e "/dev/$CONFIG{'zpool'}/$hostname-swap" ) { if ($CONFIG{ 'dry-run' }) { print "Would remove ZFS swap volume /dev/$CONFIG{'zpool'}/$hostname-swap\n"; } else { print "Removing swap volume\n"; runCommand("zfs destroy -R $CONFIG{'zpool'}/$hostname-swap", \%PER_HOST_CONFIG); } } if ( -e "/dev/$CONFIG{'zpool'}/$hostname-disk" ) { if ($CONFIG{ 'dry-run' }) { print "Would remove ZFS disk volume /dev/$CONFIG{'zpool'}/$hostname-disk\n"; } else { print "Removing ZFS disk volume\n"; runCommand("zfs destroy -R $CONFIG{'zpool'}/$hostname-disk", \%PER_HOST_CONFIG); } } } else { print "Error: No installation type specified\n"; print "Can't happen!\n"; print "Hostname : $hostname\n"; exit 127; } } xen-tools-4.9.2/bin/xen-create-nfs0000755000175000017500000001613014370055613015040 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xen-create-nfs - Create a Xen configuration file for an NFS-root guest. =head1 SYNOPSIS xen-create-nfs [options] Help Options: --help Show help information. --manual Read the manual for this script. --version Show the version information and exit. --verbose Show diagnostic output. Networking Options: --broadcast The broadcast address to use when configured with a static IP. --dhcp Configure the guest to use DHCP for IP allocation. --gateway The gateway address to use when configured with a static IP. --hostname The hostname to configure for the guest. --ip The IP address to use when configured with a static IP. --netmask The netmask to use when configured with a static IP. --nameserver The nameserver to use when configured with a static IP. General options: --admins Specify which users should be setup as xen-shell admins. --force Force the overwriting of an existing configuration file. --initrd Specify the initial ramdisk for the guest. --kernel Specify the kernel to use for the guest. --memory Specify the memory to allocate for this guest. --mac Specify the MAC address to use for the guest. --template Specify an alternative template file to use. NFS options: --nfs_server Specify the NFS server to mount the root partition from. --nfs_root Specify the path, upon the NFS server, to mount. =head1 OPTIONS =over 8 =item B<--help> Show help information. =item B<--hostname> Specify the hostname to delete. =item B<--manual> Read the manual for this script. =item B<--version> Show the version number and exit. =back =head1 DESCRIPTION xen-create-nfs is a simple script which allows you to easily create a single configuration file for a Xen guest which will mount its remote filesystem over an NFS root. It doesn't create any images to use for local storage, and it doesn't support more than the minimal number of options to completement the existing xen-create-image script, however it is hopefully useful. =head1 REFERENCE For more details on what you'll need to support NFS-root Xen guests the following article, written by the author, might be useful: https://debian-administration.org/articles/505 =head1 AUTHORS Steve Kemp, https://steve.fi/ Stéphane Jourdois =head1 LICENSE Copyright (c) 2005-2009 by Steve Kemp, (c) 2010 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut use strict; use English; use Env; use Getopt::Long; use Pod::Usage; use Text::Template; use Xen::Tools::Common; # # Configuration values read from the command line. # # We do not need to read any configuration file. # my %CONFIG; # # Default options # $CONFIG{ 'template' } = '/etc/xen-tools/xm-nfs.tmpl'; # # Release number. # my $RELEASE = '4.9.2'; # store version number away. $CONFIG{ 'xen_tools_version' } = $RELEASE; # # Read the global configuration file. # readConfigurationFile("/etc/xen-tools/xen-tools.conf", \%CONFIG); # # Parse the command line arguments. # parseCommandLineArguments(); # # Validate our arguments. # testArguments(); # # Create the image. # if ( -e "/etc/xen/$CONFIG{'hostname'}.cfg" ) { die "Configuration file for $CONFIG{'hostname'} already exists" unless ( $CONFIG{ 'force' } ); } # # If we've been given any administrators then set them up. # if ( $CONFIG{ 'admins' } ) { setupAdminUsers(\%CONFIG); } # # Now create the NFS configuration file. # createNewConfigurationFile(); # # All done. # exit; =begin doc Parse the command line arguments this script was given. =end doc =cut sub parseCommandLineArguments { my $HELP = 0; my $MANUAL = 0; my $VERSION = 0; # # Parse options. # GetOptions( # Networking options "dhcp", \$CONFIG{ 'dhcp' }, "gateway=s", \$CONFIG{ 'gateway' }, "broadcast=s", \$CONFIG{ 'broadcast' }, "ip=s", \$CONFIG{ 'ip' }, "netmask=s", \$CONFIG{ 'netmask' }, "nameserver=s", \$CONFIG{ 'nameserver' }, "hostname=s", \$CONFIG{ 'hostname' }, "memory=s", \$CONFIG{ 'memory' }, "mac=s", \$CONFIG{ 'mac' }, # NFS options. "nfs_server=s", \$CONFIG{ 'nfs_server' }, "nfs_root=s", \$CONFIG{ 'nfs_root' }, # Misc. options "admins=s", \$CONFIG{ 'admins' }, "kernel=s", \$CONFIG{ 'kernel' }, "initrd=s", \$CONFIG{ 'initrd' }, "force", \$CONFIG{ 'force' }, "template=s", \$CONFIG{ 'template' }, # Help options "help", \$HELP, "manual", \$MANUAL, "verbose", \$CONFIG{ 'verbose' }, "version", \$VERSION ); pod2usage(1) if $HELP; pod2usage( -verbose => 2 ) if $MANUAL; if ($VERSION) { logprint("xen-create-nfs release $RELEASE\n"); exit; } } =begin doc Test that our arguments make sense. =end doc =cut sub testArguments { # # Hostname is mandatory # die "No hostname" unless ( $CONFIG{ 'hostname' } ); my @network = qw/ ip gateway netmask /; # # If DHCP then all the other options aren't needed # if ( $CONFIG{ 'dhcp' } ) { foreach my $f (@network) { delete( $CONFIG{ $f } ); } } else { foreach my $f (@network) { die "Missing --$f" unless ( $CONFIG{ $f } ); } } # # We need an NFS server + root # die "Missing NFS server." unless ( $CONFIG{ 'nfs_server' } ); die "Missing NFS root." unless ( $CONFIG{ 'nfs_root' } ); # Shorthack to fix https://bugs.debian.org/648814 -- xen-create-nfs # should better use xt-create-xen-config instead. Guess from where # this code is borrowed for now... if ( exists($CONFIG{ 'memory' }) and defined($CONFIG{ 'memory' }) ) { # # The memory size: Convert Gb -> Mb. # if ( $CONFIG{ 'memory' } =~ /^(\d+)Gb.*$/i ) { $CONFIG{ 'memory' } = $1 * 1024; } # # Remove any trailing Mb. # if ( $CONFIG{ 'memory' } =~ /^(\d+)Mb.*$/i ) { $CONFIG{ 'memory' } = $1; } } # All OK. } =begin doc Create the Xen configuration file for our new Xen guest. =end doc =cut sub createNewConfigurationFile { die "Template file missing: $CONFIG{'template'}" unless ( -e $CONFIG{ 'template' } ); # # Load the template. # my $template = new Text::Template( TYPE => 'FILE', SOURCE => $CONFIG{ 'template' } ); my $result = $template->fill_in( HASH => \%CONFIG ); # # The file we'll write to. # my $file = "/etc/xen/$CONFIG{'hostname'}.cfg"; # # Output the configuration file. # open( FILE, ">", $file ) or die "Failed to write to $file - $!"; print FILE $result; close(FILE); } xen-tools-4.9.2/bin/xen-create-image0000755000175000017500000035045714370055613015351 0ustar abeabe#!/usr/bin/perl -w =encoding utf8 =head1 NAME xen-create-image - Easily create new Xen instances with networking and OpenSSH. =head1 SYNOPSIS xen-create-image --hostname= =head1 EXAMPLES xen-create-image --hostname=some-domu --dist=wheezy --lvm=vg0 xen-create-image --hostname=some-domu --dist=precise --dir=/srv/xen See below for more specific examples: LOOPBACK EXAMPLES, LVM EXAMPLE and EVMS EXAMPLE. =head1 OPTIONS Help Options: --help Show the help information for this script. --manual Read the manual, and examples, for this script. --(no)verbose (Don't) show more of what xen-create-image is currently doing. --dumpconfig Show current configuration. --version Show the version number and exit. Size / General options: --(no)accounts (Don't) copy all non-system accounts to the guest image --admins Specify that some administrators should be created for this image, using xen-shell. --(no)boot (Don't) boot the new instance after creating it. --cache=bool Cache .deb files on the host when installing the new guest with the debootstrap tool. Accepted values: "yes" (default) and "no". --cachedir=/path/to/cache/directory Override the default .deb cache directory. Defaults to /var/cache/apt/archives/ if it exists (i.e. on Debian and Ubuntu) and /var/cache/xen-tools/archives/ else (i.e. on Fedora and CentOS). --config=file Read the specified file in addition to the global configuration file. --(no)copyhosts (Don't) copy entries from the dom0's /etc/hosts file to the guest --copy-cmd NOP: Ignored. --debootstrap-cmd=/path/to/command Specify which debootstrap command is used. Defaults to debootstrap if both, debootstrap and cdebootstrap are installed. Specifying the path is optional. --disk_device=diskname Use specified device name for virtual devices instead of the default value "xvda". --extension=ext Specify the suffix to give the Xen configuration file. (Default value: ".cfg") --(no)force (Don't) force overwriting existing images. This will remove existing images or LVM volumes which match those which are liable to be used by the new invocation. --fs=fs Specify the filesystem type to use for the new guest. Valid choices are 'ext2', 'ext3', 'ext4', 'reiserfs', 'xfs' or 'btrfs'. (Note: pygrub *DOES NOT* support xfs) --genpass=1 Generate a random root password (default, set to 0 to turn off) --genpass_len=N Override the default password length of 8 and generate a random password of length N. Note: this only works in conjunction with --genpass --hash_method=algorithm Override the default hashing method of sha256 and use the provided algorithm. Can be : md5, sha256 or sha512 --hooks=1 Specify whether to run hooks after the image is created. --ide Use IDE names for virtual devices (i.e. hda not xvda) --image=str Specify whether to create "sparse" or "full" disk images. Full images are mandatory when using LVM, so this setting is ignored in that case. --image-dev=/path/to/device Specify a physical/logical volume for the disk image. --initrd=/path/to/initrd Specify the initial ramdisk. If an image is specified it must exist. --install=1 Specify whether to install the guest system or not. --(no)keep (Don't) keep our images if installation fails. It maybe unmounted, though. --keyring=/path/to/keyring Set the path to the keyring debootstrap should use. --kernel=/path/to/kernel Set the path to the kernel to use for domU. If a kernel is specified it must exist. --memory=size Setup the amount of memory allocated to the new instance. As suffix recognized size units are "M", "MB", "G" and "GB" (case does not matter). If there's no unit given, megabytes are assumed. --maxmem=size Setup the maximum amount of memory that can be allocated to the new instance. As suffix recognized size units are "M", "MB", "G" and "GB" (case does not matter). If there's no unit given, megabytes are assumed. Required for dynamic memory ballooning. --modules=/path/to/modules Set the path to the kernel modules to use for domU. If modules are specified they must exist. --nohosts Don't touch /etc/hosts on the dom0. --noswap Do not create a swap partition. When this option is used the system will not have a swap entry added to its /etc/fstab file either. --output=dir Specify the output directory to create the xen configuration file within. --partitions=file Use a specific partition layout configuration file. See /etc/xen-tools/partitions.d/sample-server for an example partitioning configuration. Not supported with the image-dev and swap-dev options. Parameters fs, size, swap and noswap are ignored when using this option. --password=passphrase Set the root password for the new guest. Note: This overrides --genpass --(no)passwd (Don't) ask for a root password interactively during setup. NOTE: This overrides --genpass --password. --(no)pygrub DomU should (not) be booted using pygrub. --role=role Run the specified role script(s) post-install. Role scripts are discussed later in this manpage. Can be an absolute path. Otherwise it's relative to the value of --roledir. --role-args="--arg1 --arg2" Pass the named string literally to any role script. This is useful for site-specific roles. --finalrole=role Similar to role scripts. Run the specified role script(s) after cfg file creation. --roledir=/path/to/directory Specify the directory which contains the role scripts. This defaults to /etc/xen-tools/role.d/ --scsi Use SCSI names for virtual devices (i.e. sda not xvda) --serial_device=serialname Install a getty on the specified serial device instead of the default device. --size=size Set the size of the primary disk image. --swap=size Set the size of the swap partition. --swap-dev=/path/to/device Specify a physical/logical volume for swap usage. --tar-cmd NOP: Ignored. --dontformat Do not format the devices specified for installation. Useful if you want tighter control over the filesystem creation. Requires the filesystems to be created beforehand. --vcpus=num Set the number of vcpus that the new instance will have instead of the default value of "1". Installation options: --arch=arch Pass the given architecture to debootstrap, rinse, or rpmstrap when installing the system. This argument is ignored for other install methods. --dist=dist Specify the distribution you wish to install. --install-method=method Specify the installation method to use. Valid methods are: * debootstrap * cdebootstrap * rinse * rpmstrap (deprecated) * tar (needs --install-source=tarball.tar) * copy (needs --install-source=/path/to/copy/from) (Default value for Debian and Ubuntu: debootstrap) --install-source=/path/to/tarball Specify the source path to use when installing via a copy or tarball installation. --mirror=url Setup the mirror to use when installing via debootstrap. (Default value: mirror used in /etc/apt/sources.list or for Debian "http://deb.debian.org/debian/" and for Ubuntu "http://archive.ubuntu.com/ubuntu/") The above mentioned Debian mirror hostname automatically tries to choose a more or less close Debian mirror. See http://deb.debian.org/ for details. --apt_proxy=protocol://hostname:port/ Specify a proxy to be used by debootstrap, and within the guest. Needs the same syntax as APT's Acquire::http::Proxy. See apt.conf(5). --template=tmpl Specify which template file to use when creating the Xen configuration file. Networking options: --bridge=brname Optionally, set a specific bridge for the new instance. This can be especially useful when running multiple bridges on a dom0. --broadcast=123.456.789.ABC Setup the broadcast address for the new instance. --(no)dhcp The guest will (not) be configured to fetch its networking details via DHCP. --gateway=gw Setup the network gateway for the new instance. --ip=123.456.789.ABC Setup the IP address of the machine, multiple IPs are allowed. When specifying more than one IP the first one is setup as the "system" IP, and the additional ones are added as aliases. Note that Xen 3.x supports a maximum of three vif statements per guest. This option conflicts with --dhcp. --mac=AA:BB:CC:DD:EE:FF Specify the MAC address to use for a given interface. This is only valid for the first IP address specified, or for DHCP usage. (ie. you can add multiple --ip flags, but the specific MAC address will only be used for the first interface.) --randommac Creates a random MAC address. --netmask=123.456.789.ABC Setup the netmask for the new instance. --nameserver="123.456.789.ABC 123.456.789.DEF" Setup the nameserver of the machine, multiple space separated nameservers are allowed. If not provided, Dom0's /etc/resolv.conf will be copied to guest. --vifname=vifname Optionally, set a specific vif name for the new instance. --vlan=1 OpenvSwitch related, optionally you can specify a vlan where the virtual machine has connectivity. Mandatory options: --dir=/path/to/directory Specify where the output images should go. Subdirectories will be created for each guest. If you do not wish to use loopback images specify --lvm, --evms or --zpool. (These four 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, --lvm or --zpool. (These four options are mutually exclusive.) --hostname=host.example.org Set the hostname of the new guest system. Ideally this will be fully-qualified since several of the hook scripts will expect to be able to parse a domain name out of it for various purposes. --lvm=vg Specify the volume group to save images within. If you do not wish to use LVM specify --dir, --evms or --zpool. (These three options are mutually exclusive.) --lvm_thin=thin pool Specify the thin pool name on which thin LVM volumes are created. This enables thin provisioned LVM volumes. Note that you need a LVM version which supports this. --zpool=pool Specify the ZFS pool to save images within. A new ZFS volume will be created for each guest. If you do not wish to use ZFS specify --dir, --evms or --lvm. (These four options are mutually exclusive.) =head1 NOTES This script is a wrapper around three distinct external tools which complete various aspects of the new system installation. =over 8 =item B Install a new distribution. =item B Run a collection of hook scripts to customise the freshly installed system. =item B Create a Xen configuration file in so that xm/xl can start the new domain. =back The result of invoking these three scripts, and some minor glue between them, is a simple means of creating new Xen guest domains. =head1 DESCRIPTION xen-create-image is a simple script which allows you to create new Xen instances easily. The new image will be given two volumes. These volumes will be stored upon the host as either loopback files, or LVM logical volumes: 1. An image for the systems root disk. 2. An image for the systems swap device. The new virtual installations will be configured with networking, have OpenSSH installed upon it, and have most of its basic files setup correctly. If you wish you can configure arbitrary partitioning schemes, rather than being restricted to just the two standard volumes. For more details on this please see the later section in this manual "PARTITIONING". If you wish to install additional packages or do any additional configuration of your new guests, please read the section on "ROLES". =head1 CONFIGURATION To reduce the length of the command line each of the supported options may be specified inside a configuration file. The global configuration file read for options is: /etc/xen-tools/xen-tools.conf The configuration file may contain comments which begin with the hash '#' character. Otherwise the format is 'key = value'. A sample configuration file would look like this: =for example begin # # Output directory. Images are stored beneath this directory, one # subdirectory per hostname. # dir = /home/xen # # LVM users should disable the 'dir' setting above, and instead # specify the name of the volume group to use. # # lvm = myvolume # # EVMS users should disable the dir setting above and instead specify # a container. For example, if you have an lvm2 container named box, # put lvm2/box. This is how it is named in the evms interface. # # Warning... this has not been tested with anything but lvm2 but should # be generalizable. # # evms= lvm2/myvolume # # Disk and Sizing options. # size = 2Gb # Disk image size. image = full # Allocate the full disk size immediately. memory = 128Mb # Memory size maxmem = 512Mb # Memory size swap = 128Mb # Swap size fs = ext3 # use EXT3 filesystems dist = stable # Default distribution to install. # # Kernel options. # kernel = /boot/vmlinuz-`uname -r` initrd = /boot/initrd.img-`uname -r` # # Networking options. # gateway = 192.168.1.1 broadcast = 192.168.1.255 netmask = 255.255.255.0 # # Installation method: # One of "copy", "debootstrap", "cdebootstrap", "rinse", "rpmstrap", or "tar". # install-method = debootstrap =for example end Using this configuration file a new image may be created with the following command: xen-create-image --hostname=vm03.my.flat --ip=192.168.1.201 This makes use of loopback images stored beneath /home/xen and will be installed via the debootstrap command. =head1 NETWORKING AUTO-SETUP We've already seen how the "gateway" and "netmask" options can be used to specify the networking options of the freshly created Xen guests. One other useful shortcut is the use of an automatic IP address. You can specify '--ip=auto' and the system will choose and use an IP address from those listed in /etc/xen-tools/ips.txt. For example if you wished to have Xen guests automatically take an address from the range 192.168.1.100-192.168.1.200 you would first prepare the system by running this: =for example start rm /etc/xen-tools/ips.txt for i in $(seq 100 200) ; do echo 192.168.1.$i >> /etc/xen-tools/ips.txt ; done =for example end Now you can create a guest with the command: =for example start xen-create-image --ip=auto --hostname=blah [--dist=...] =for example end The first time this ran the machine would receive an IP address from the pool which we've created. This IP would be marked as used, and would no longer be available. If all the IP addresses are taken then the system will fail. =head1 PARTITIONING By default all new guests are created with two "volumes", one for the root filesystem and one for the new system's swap. If you wish you may specify an alternative partitioning scheme. Simply create a file inside the directory /etc/xen-tools/partitions.d/ specifying your partition layout. (Use the existing file "sample-server" as a template). Now when you create a new image specify the name of this file with as an argument to the --partition option. =head1 XEN CONFIGURATION FILE Once a new image has been created an appropriate configuration file for Xen will be saved in the directory /etc/xen by default. However you may change the output directory with the --output flag. The configuration file is built up using the template file /etc/xen-tools/xm.tmpl - which is a file processed via the Text::Template perl module. If you wish to modify the files which are generated please make your changes to that input file. Alternatively you can create multiple configuration files and specify the one to use with the --template option. =head1 LOOPBACK EXAMPLES The following will create a 2Gb disk image, along with a 128Mb swap file with Debian Stable setup and running via DHCP. xen-create-image --size=2Gb --swap=128Mb --dhcp --dist=stable \ --dir=/home/xen --hostname=vm01.my.flat This next example sets up a host which has the name 'vm02.my.flat' and IP address 192.168.1.200, with the gateway address of 192.168.1.1 xen-create-image --size=2Gb --swap=128Mb \ --ip=192.168.1.200 \ --netmask=255.255.255.0 --gateway=192.168.1.1 \ --nameserver=192.168.1.1 \ --dir=/home/xen --hostname=vm02.my.flat The directory specified for the output will be used to store the volumes which are produced. To avoid clutter each host will have its images stored beneath the specified directory, named after the hostname. For example the images created above will be stored as: $dir/domains/vm01.my.flat/ $dir/domains/vm01.my.flat/disk.img $dir/domains/vm01.my.flat/swap.img $dir/domains/vm02.my.flat/ $dir/domains/vm02.my.flat/disk.img $dir/domains/vm02.my.flat/swap.img The '/domains/' subdirectory will be created if necessary. =head1 LVM EXAMPLE If you wish to use an LVM volume group instead of a pair of loopback images as shown above you can instead use the --lvm argument to specify one. xen-create-image --size=2Gb --swap=128Mb --dhcp \ --lvm=myvolumegroup --hostname=vm01.my.flat The given volume group will have two new logical volumes created within it: ${hostname}-swap ${hostname}-disk The disk image may be mounted, as you would expect, with the following command: mkdir -p /mnt/foo mount /dev/myvolumegroup/vm01.my.flat-disk /mnt/foo =head1 EVMS EXAMPLE If you wish to use an EVMS storage container instead of a pair of loopback images as shown above you can instead use the --evms argument to specify one. The below example assumes an lvm2 container. xen-create-image --size=2Gb --swap=128Mb --dhcp \ --evms=lvm2/myvolumegroup --hostname=vm01.my.flat The given storage container will have two new EVMS volumes created within it: ${hostname}-swap ${hostname}-disk The disk image may be mounted, as you would expect, with the following command: mkdir -p /mnt/foo mount /dev/evms/vm01.my.flat-disk /mnt/foo =head1 INSTALLATION METHODS The new guest images may be installed in several different ways: 1. Using the [c]debootstrap command, which must be installed and present. 2. Using the rpmstrap 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. These different methods can be selected by either the command line arguments, or settings in the configuration file. Only one installation method may be specified at a time; they are mutually-exclusive. =head1 INSTALLATION SPEEDUPS After performing your first installation you can customize it, or use it untouched, as a new installation source. By doing this you'll achieve a significant speedup, even above using the debootstrap caching support. There are two different ways you can use the initial image as source for a new image: 1. By tarring it up and using the tar-file as an installation source. 2. By mounting the disk image of the first system and doing a literal copy. Tarring up a pristine, or customised, image will allow you to install with a command such as: xen-create-image --size=2Gb --swap=128Mb --dhcp \ --lvm=myvolumegroup --hostname=vm01.my.flat \ --install-method=tar --install-source=/path/to/tar.file.tar The advantage of the tarfile approach is that you'll not need to keep a disk image mounted if you were to use the --copy argument to create a new image using the old one as source: xen-create-image --size=2Gb --swap=128Mb --dhcp \ --lvm=myvolumegroup --hostname=vm01.my.flat \ --install-method=copy --install-source=/path/to/copy/from =head1 DEBOOTSTRAP CACHING When installing new systems with the debootstrap tool there is a fair amount of network overhead. To minimize this the .deb files which are downloaded into the new instance are cached by default upon the host, in the directory /var/cache/apt/archives or, if this does not exist, in /var/cache/xen-tools/archives. This can be overridden with the --cache-dir command-line and configuration option. This feature can be disabled with the command line flag --cache=no, or by the matching setting in the configuration file. When a new image is created these packages are copied into the new image - before the debootstrap process runs - this should help avoid expensive network reading. If you wish to clean the host's apt cache (/var/cache/apt/archivees) you may do so with apt-get, namely: apt-get clean If you set your cache directory to anything else, simply rm the contents of the directory. =head1 ROLES Currently there are some roles scripts included which work for the Debian and Ubuntu distributions only. They are included primarily as examples of the kind of things you could accomplish. The supplied scripts are: =over 8 =item builder Setup the new virtual images with commonly used packages for rebuilding Debian packages from their source. =item cfengine Install cfengine2 on the virtual image and copy the cfengine configuration from Dom0. =item editor Allows generalised editing of files for guests. This script works via a skeleton directory containing small sed files which will contain edits to be applied to an arbitrary tree of files upon the new domU. For example if we have the following sed file: /etc/xen-tools/sed.d/etc/ssh/sshd_config.sed this will be applied to /etc/ssh/sshd_config upon the new guest *if* it exists. If the file encoded in the name doesn't exist then it will be ignored. =item gdm Install an X11 server, using VNC and GDM =item minimal Customise the generated images to remove some packages. =item puppet Install puppet on the virtual image and copy the cfengine configuration from Dom0. =item tmpfs Sets up /tmp, /var/run and /var/lock as tmpfs in the DomU. =item udev Install udev in the DomU. Most distributions install udev by default nowadays, so this role is probably only interesting for legacy systems which need udev anyway. =item xdm Install an X11 server, using VNC and XDM =back If you'd like to include your own role scripts you'll need to create a file in /etc/xen-tools/role.d, and then specify the name of that file with "--role=filename". Additionally you may pass options to your role-script with the --role-args flag. For example the script /etc/xen-tools/role.d/gdm would be used by executing with "--role=gdm". Role scripts are invoked with the directory containing the installed system as their first argument, and anything passed as a role-arg will be passed along as additional arguments. NOTE: Role scripts are invoked before the config file generation. If you need access to the config file from within your role, use --finalrole. NOTE: Multiple role scripts may be invoked if you separate their names with commas. =head1 THE SKELETON DIRECTORY Any files present in the directory /etc/xen-tools/skel will be copied across to each new guest image. The role of this directory is analogous to the /etc/skel directory. A typical use for this would be to copy a public key across to each new system. You could do this by running: =for example start mkdir -p /etc/xen-tools/skel/root/.ssh chmod -R 700 /etc/xen-tools/skel/root cp /root/.ssh/id_rsa.pub /etc/xen-tools/skel/root/.ssh/authorized_keys2 chmod 644 /etc/xen-tools/skel/root/.ssh/authorized_keys2 =for example cut =head1 AUTHORS Steve Kemp, https://steve.fi/ Axel Beckert, https://axel.beckert.ch/ Dmitry Nedospasov, http://www.nedos.net/ Stéphane Jourdois =head1 LICENSE Copyright (c) 2005-2009 by Steve Kemp, (c) 2010-2013 by The Xen-Tools Development Team. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. =cut $SIG{INT} = \&clean_up; use strict; use English; use Digest::MD5 qw/ md5_hex /; use Env; use File::Path qw/ mkpath /; use File::Temp qw/ tempdir /; use File::Copy qw/ mv cp /; use File::Slurp; use File::Which; use Getopt::Long; use Pod::Usage; use Data::Dumper; use Data::Validate::URI qw/ is_uri /; use Data::Validate::IP qw/ is_ipv4 /; use Data::Validate::Domain qw/ is_hostname /; use Term::UI; use Term::ReadLine; use Sort::Versions; use Xen::Tools::Common; # # Configuration values read initially from the global configuration # file, then optionally overridden by the command line. # my %CONFIG; # # Distribution meta data # my %DIST; # # Mirror meta data # my %MIRROR; # # Partition layout information values read from the partitions file, # or constructed automatically if no partitions file is specified. # my @PARTITIONS = (); # # Global variable containing the temporary file where our image # is mounted for installation purposes. # # Why is this here? # # Well it makes sure that the magic "END" section can unmount it # if there are errors. # # my $MOUNT_POINT = undef; # # Release number. # my $RELEASE = '4.9.2'; # # Variable for ip addresses for output # my $IP_ADDRESSES = ''; # # Variable for generated password # my $PASSWORD = ''; # # Define some fallback password length # my $default_genpass_len = 23; # Minor helpers for reducing code duplication sub fail ($) { fail_with_config($_[0], \%CONFIG); } sub logprint ($) { logprint_with_config($_[0], \%CONFIG); } # # Read the global distributions meta data file. # readConfigurationFile("/etc/xen-tools/distributions.conf", \%DIST); # # Read the global default mirrors file. # readConfigurationFile("/etc/xen-tools/mirrors.conf", \%MIRROR); # # Setup default options. # setupDefaultOptions(); # # Read the global configuration file. # readConfigurationFile("/etc/xen-tools/xen-tools.conf", \%CONFIG); # # Parse the command line arguments. # parseCommandLineArguments(); # # If we received an additional configuration file then read it. # if ( $CONFIG{ 'config' } ) { my $path = $CONFIG{ 'config' }; # If not fully-qualified then read from /etc/xen-tools. if ( $path !~ /^[\/]/ ) { $path = "/etc/xen-tools/" . $path; } # Read the file, if it exists. if ( -e $path ) { readConfigurationFile($path, \%CONFIG); } else { logprint( "The specified configuration file does not exist: '$path'\n". "Aborting\n\n" ); $CONFIG{'FAIL'} = 1; exit 127; } } # # Process --debug # if ( $CONFIG{ 'debug' } ) { foreach my $key ( sort keys %CONFIG ) { print $key; print " : " . $CONFIG{ $key } if ( $CONFIG{ $key } ); print "\n"; } $CONFIG{'FAIL'} = 1; exit 127; } # # Check the environment - after parsing arguments. # # This is required so that the "--help" flag will work even if our support # scripts are not installed, etc. # checkSystem(); # # Ensure we're started by root at this point. This is required # to make sure we can create new LVM volumes, mount loopback images, or # carry out other privileged actions. # testRootUser(); # # Check our arguments were sane and complete. # checkArguments(); # # Make sure we have a log directory # setupLogFile(); # # Check we have binaries installed which we expect to use. # checkBinariesPresent(); # # Setup default partitioning scheme if we don't have one. # # NOTE: This must be done before we call "showSummary". # if ( !@PARTITIONS ) { populatePartitionsData() if ( ( $CONFIG{ 'dir' } ) || ( $CONFIG{ 'evms' } ) || ( $CONFIG{ 'lvm' } ) || ( $CONFIG{ 'zpool' } ) ); } # # Show a summary of what we're going to do. # showSummary(); # # Create and format the images if we're using loopback filesystems. # if ( $CONFIG{ 'dir' } ) { # # Test to see if "loop" module is loaded. This is probably # not required, except for paranoia. # testLoopbackModule(); # # Create disk + swap images. # createLoopbackImages(); } elsif ( $CONFIG{ 'lvm' } ) { # # Create our LVM partitions. # createLVMBits(); } elsif ( $CONFIG{ 'evms' } ) { # # Create our EVMS partitions. # createEVMSBits(); } elsif ( $CONFIG{ 'image-dev' } ) { # # Use physical disc # usePhysicalDevice(); } elsif ( $CONFIG{ 'zpool' } ) { # # Create our ZFS volumes # createZFSBits(); } else { # Can't happen we didn't get an installation type. logprint( "Error: No recognised installation type.\n". "Please specify a directory, lvm, zpool, or evms volume to use.\n" ); $CONFIG{'FAIL'} = 1; exit 127; } # # Mount the image. # mountImage(); # # Export our environment for the hooks/role script we might be # running later. # # Do this unconditionally now, so that we're all setup to run # a hook even if we're not installing a system. # exportEnvironment(); # # If we're installing then do so, and test that it worked with # a binary name that is reasonably likely to exist under any # distribution of GNU/Linux. # if ( $CONFIG{ 'install' } ) { # # Install the system. # installSystem(); # # Did that work? # if ( !-x $MOUNT_POINT . "/bin/ls" ) { logprint("System installation failed: /bin/ls missing. Aborting.\n"); $CONFIG{'FAIL'} = 1; exit 127; } # # Now customize the installation - setting up networking, etc. # if ( $CONFIG{ 'hooks' } ) { runCustomisationHooks(); } } # # Run any specified role scripts. # runRoleScripts( $CONFIG{ 'role' } ); # # Create the Xen configuration file. # runXenConfigCreation(); # # Run any specified role scripts. # runRoleScripts( $CONFIG{ 'finalrole' } ); # # Setup the password if the user wanted that. # setupRootPassword() if ( $CONFIG{ 'passwd' } or $CONFIG{ 'genpass' } or $CONFIG{ 'password' }); # # Report success. # logprint("All done\n"); # # Finished. # exit 0; =begin doc Test that this system is fully setup for the new xen-create-image script. This means that the companion scripts xt-* are present on the host and executable. =end doc =cut sub checkSystem { # # Make sure that we have Text::Template installed - this # will be used by `xt-create-xen-config` and if that fails then # running is pointless. # my $test = "use Text::Template"; eval($test); if ( ($@) && ( !$CONFIG{ 'force' } ) ) { print < { check => qr/^[0-9.]+[GM]B?$/i, message => "takes a suffixed (mb, MB, G, etc.) integer.\n", }, distribution => { check => sub { -d "/usr/share/xen-tools/$_[0].d" }, message => "takes a distribution name " . "(see /usr/share/xen-tools for valid values).\n", }, imageType => { check => qr/^sparse|full$/, message => "must be 'sparse' or 'full'.\n", }, existingFile => { check => sub { -e $_[0] }, message => "must be an existing file.\n", }, existingDir => { check => sub { -d $_[0] }, message => "must be an existing directory.\n", }, serialDev => { check => qr/^(?:\/dev\/)?(?:tty|[xh]vc)[0-9]+$/, message => "must be a serial device (tty[0-9]+, hvc[0-9]+ or xvc[0-9]+).\n", }, diskDev => { check => qr/^(?:\/dev\/)?(?:xvd|sd)[a-z]+$/, message => "must be a disk device (xvd[a-z]+, sd[a-z]+).\n", }, ipv4 => { check => sub { is_ipv4($_[0]) }, message => "must be valid IPv4.\n", }, ipv4_or_auto => { check => sub { is_ipv4($_[0]) or $_[0] eq 'auto' }, message => "must be valid IPv4 or the keyword 'auto'.\n", }, hostname => { check => sub { is_hostname($_[0]) }, message => "must be a valid hostname.\n", }, supportedFs => { check => qr/^(ext[234]|xfs|reiserfs|btrfs)$/, message => "must be a supported filesystem (ext2, ext3, ext4, xfs, reiserfs or btrfs).\n", }, yesNo => { check => qr/^yes|no$/i, message => "must be 'yes' or 'no'.\n", }, zeroOne => { check => qr/^0|1$/i, message => "must be '0' or '1'.\n", }, configFile => { check => sub { -e $_[0] or -e "/etc/xen-tools/" . $_[0] }, message => "must be an existing file.\n", }, filename => { check => qr/^[a-z0-9_.-]*$/, message => "must be a valid filename.\n", }, mac => { check => qr/^(?:[0-9a-f]{2}:){5}[0-9a-f]{2}$/i, message => "must be a valid ethernet mac address.\n", }, hashMethod => { check => qr/^md5|sha256|sha512$/i, message => "must be md5, sha256 or sha512.\n", }, uri => { check => sub { is_uri($_[0]) }, message => "must be an URI including the protocol\n", }, vlan => { check => qr/^([1-9][0-9]{0,2}|10[01][0-9]|102[0-4])$/i, message => "must be a number between 1 and 1024.\n", }, ); # Define what argument each option accepts. # Arguments for options not listed here will always be accepted. my %optionsTypes = ( size => 'integerWithSuffix', dist => 'distribution', swap => 'integerWithSuffix', image => 'imageType', memory => 'integerWithSuffix', maxmem => 'integerWithSuffix', kernel => 'existingFile', keyring => 'existingFile', initrd => 'existingFile', modules => 'existingDir', serial_device => 'serialDev', disk_device => 'diskDev', gateway => 'ipv4', netmask => 'ipv4', # This is dubious. broadcast => 'ipv4', hostname => 'hostname', nameserver => 'ipv4', pointopoint => 'ipv4', fs => 'supportedFs', cache => 'yesNo', cachedir => 'existingDir', config => 'configFile', install => 'zeroOne', hooks => 'zeroOne', roledir => 'existingDir', template => 'configFile', output => 'existingDir', extension => 'filename', mac => 'mac', ip => 'ipv4_or_auto', hash_method => 'hashMethod', apt_proxy => 'uri', vlan => 'vlan', ); # If given option does not exists in optionsTypes, # we just copy it to %CONFIG. unless ( exists $optionsTypes{ $option } ) { $CONFIG{ $option } = $value; } else { # we validate it before copying my $type = $optionsTypes{ $option }; # First, check if type exists fail("Type $type does not exist") unless exists $types{ $type }; my $check = $types{ $type }{ 'check' }; if ( (ref $check eq 'Regexp' and $value =~ $check) or (ref $check eq 'CODE' and &$check( $value ) ) ) { # Option did validate, copy it if ( $option eq "ip" ) { push @{ $CONFIG{ $option } }, $value; } else { $CONFIG{ $option } = $value; } } else { # Option did _not_ validate fail("ERROR: '$option' argument " . $types{ $type }{ 'message' }); } } } =begin doc Parse the command line arguments this script was given. =end doc =cut my $HELP = 0; my $MANUAL = 0; my $DUMPCONFIG = 0; my $VERSION = 0; sub parseCommandLineArguments { # # We record the installation method here because we want # to ensure that we allow the method supplied upon the command line # to overwrite the one we might have ready read from the configuration # file. # my %install; $install{ 'evms' } = undef; $install{ 'dir' } = undef; $install{ 'lvm' } = undef; $install{ 'image-dev' } = undef; $install{ 'zpool' } = undef; # # Parse options. # if ( !GetOptions( # Mandatory "dist=s", \&checkOption, # Size options. "size=s", \&checkOption, "swap=s", \&checkOption, "noswap", \&checkOption, "image=s", \&checkOption, "memory=s", \&checkOption, "maxmem=s", \&checkOption, "vcpus=i", \&checkOption, # Locations "dir=s", \$install{ 'dir' }, "evms=s", \$install{ 'evms' }, "kernel=s", \&checkOption, "initrd=s", \&checkOption, "mirror=s", \&checkOption, "keyring=s", \&checkOption, "apt_proxy=s", \&checkOption, "modules=s", \&checkOption, "lvm=s", \$install{ 'lvm' }, "zpool=s", \$install{ 'zpool' }, "image-dev=s", \$install{ 'image-dev' }, "swap-dev=s", \$install{ 'swap-dev' }, "serial_device=s", \&checkOption, "disk_device=s", \&checkOption, # Hosts options "nohosts", \$CONFIG{ 'nohosts' }, "copyhosts!", \$CONFIG{ 'copyhosts' }, # Deprecated legacy options for backwards compatibility "no-hosts", \$CONFIG{ 'nohosts' }, "copy-hosts!", \$CONFIG{ 'copyhosts' }, # Networking options "dhcp!", \$CONFIG{ 'dhcp' }, "bridge=s", \&checkOption, "gateway=s", \&checkOption, "hostname=s", \&checkOption, "ip=s@", \&checkOption, "mac=s", \&checkOption, "randommac", \$CONFIG{ 'randommac' }, "netmask=s", \&checkOption, "broadcast=s", \&checkOption, "nameserver=s", \&checkOption, "vifname=s", \&checkOption, "p2p=s", \&checkOption, "vlan=s", \&checkOption, # Exclusive # # NOTE: We set the local variable here, not the global. # "install-method=s", \$CONFIG{ 'install-method' }, "install-source=s", \$CONFIG{ 'install-source' }, "debootstrap-cmd=s", \$CONFIG{ 'debootstrap-cmd' }, # Misc. options "accounts!", \$CONFIG{ 'accounts' }, "admins=s", \&checkOption, "arch=s", \&checkOption, "fs=s", \&checkOption, "boot!", \$CONFIG{ 'boot' }, "cache=s", \&checkOption, "cachedir=s", \&checkOption, "config=s", \&checkOption, "ide", \$CONFIG{ 'ide' }, "scsi", \$CONFIG{ 'scsi' }, "install=i", \&checkOption, "hooks=i", \&checkOption, "pygrub!", \$CONFIG{ 'pygrub' }, "passwd!", \$CONFIG{ 'passwd' }, "genpass=i", \&checkOption, "genpass-len=i",\&checkOption, "genpass_len=i",\&checkOption, "password=s", \&checkOption, "hash_method=s",\&checkOption, "partitions=s", \&checkOption, "role=s", \&checkOption, "role-args=s", \&checkOption, "finalrole=s", \&checkOption, "roledir=s", \&checkOption, "force!", \$CONFIG{ 'force' }, "no-xen-ok", sub { warn "Option --no-xen-ok is deprecated and ignored."; }, "keep!", \$CONFIG{ 'keep' }, "template=s", \&checkOption, "output=s", \&checkOption, "extension:s", \&checkOption, "dontformat", \&checkOption, "lvm_thin=s", \$CONFIG{ 'lvm_thin' }, # Help options "debug!", \$CONFIG{ 'debug' }, "help", \$HELP, "manual", \$MANUAL, "dumpconfig", \$DUMPCONFIG, "verbose!", \$CONFIG{ 'verbose' }, "version", \$VERSION ) ) { $CONFIG{'FAIL'} = 2; exit; } if ( $HELP ) { $CONFIG{'FAIL'}=-1; pod2usage(1); } if ( $MANUAL ) { $CONFIG{'FAIL'}=-1; pod2usage( -verbose => 2 ); } if ($VERSION) { logprint("xen-create-image release $RELEASE\n"); exit 0; } # # Now make ensure that the command line setting of '--lvm', '--evms', '--zpool' # and '--dir=x' override anything specified in the configuration file. # if ( $install{ 'dir' } ) { $CONFIG{ 'dir' } = $install{ 'dir' }; $CONFIG{ 'evms' } = undef; $CONFIG{ 'lvm' } = undef; $CONFIG{ 'image-dev' } = undef; $CONFIG{ 'zpool' } = undef; } if ( $install{ 'evms' } ) { $CONFIG{ 'dir' } = undef; $CONFIG{ 'evms' } = $install{ 'evms' }; $CONFIG{ 'lvm' } = undef; $CONFIG{ 'image-dev' } = undef; $CONFIG{ 'zpool' } = undef; } if ( $install{ 'lvm' } ) { $CONFIG{ 'dir' } = undef; $CONFIG{ 'evms' } = undef; $CONFIG{ 'lvm' } = $install{ 'lvm' }; $CONFIG{ 'image-dev' } = undef; $CONFIG{ 'zpool' } = undef; } if ( $install{ 'zpool' } ) { $CONFIG{ 'dir' } = undef; $CONFIG{ 'evms' } = undef; $CONFIG{ 'lvm' } = undef; $CONFIG{ 'image-dev' } = undef; $CONFIG{ 'zpool' } = $install{ 'zpool' }; } if ( $install{ 'image-dev' } ) { $CONFIG{ 'dir' } = undef; $CONFIG{ 'evms' } = undef; $CONFIG{ 'lvm' } = undef; $CONFIG{ 'image-dev' } = $install{ 'image-dev' }; $CONFIG{ 'zpool' } = undef; $CONFIG{ 'size' } = undef; $CONFIG{ 'swap' } = undef; $CONFIG{ 'swap-dev' } = $install{ 'swap-dev' } if ( defined( $install{ 'swap-dev' } ) ); } if ($DUMPCONFIG) { print Dumper \%CONFIG; exit 0; } } =begin doc Make sure this script is being run by a user with UID 0. =end doc =cut sub testRootUser { if ( $EFFECTIVE_USER_ID != 0 ) { my $err = < $aa; # sort in reverse order } grep /\.\d+\.log$/, # we only care in numeric filenames glob( "/var/log/xen-tools/$CONFIG{'hostname'}.*.log" ); # Move the non-numeric filename also mv $logname, "/var/log/xen-tools/$CONFIG{'hostname'}.0.log" if -f $logname; # # Now create an empty file. # open STUB, '>', $logname; close STUB; # # Make sure the logfile is 0640 - avoid leaking root passwords. # chmod( oct("0640"), $logname ); } =begin doc Check that we have some required binaries present. =end doc =cut sub checkBinariesPresent { # # Files we demand are present in all cases. # my @required = qw ( mount mkswap ); foreach my $file (@required) { if ( !defined( which($file) ) ) { logprint("The following binary is required to run this tool\n"); logprint("\t$file\n"); $CONFIG{'FAIL'} = 1; exit 127; } } # # Image type specific binaries # if ( defined( $CONFIG{ 'dir' } ) ) { # loopback image if ( !defined( which("dd") ) ) { logprint("The following binary is required to run this tool\n"); logprint("\tdd\n"); logprint( "(This only required for loopback images, which you've selected)\n" ); $CONFIG{'FAIL'} = 1; exit 127; } } elsif ( defined( $CONFIG{ 'evms' } ) ) { # # EVMS-specific binaries. # my @evms = qw ( evms echo ); foreach my $file (@evms) { if ( !defined( which($file) ) ) { logprint("The following binary is required to run this tool\n"); logprint("\t$file\n"); logprint( "(This is only required for EVMS volumes, which you've selected)\n" ); $CONFIG{'FAIL'} = 1; exit 127; } } } elsif (defined( $CONFIG{ 'lvm' } ) ) { # LVM-specific binaries. my @lvm = qw ( lvcreate lvremove ); foreach my $file (@lvm) { if ( !defined( which($file) ) ) { logprint("The following binary is required to run this tool\n"); logprint("\t$file\n"); logprint( "(This is only required for LVM volumes, which you've selected)\n" ); $CONFIG{'FAIL'} = 1; exit 127; } } } elsif (defined( $CONFIG{ 'zpool' } ) ) { # ZFS-specific binaries. my @zfs = qw ( zfs ); foreach my $file (@zfs) { if ( !defined( which($file) ) ) { logprint("The following binary is required to run this tool\n"); logprint("\t$file\n"); logprint( "(This is only required for ZFS volumes, which you've selected)\n" ); $CONFIG{'FAIL'} = 1; exit 127; } } } } =begin doc Loads a partitions file, checks the syntax and updates the configuration variables with it =end doc =cut sub loadAndCheckPartitionsFile { my %partitions; # # Here we'll test for the required Perl module. # # This allows us to: # # a) Degrade usefully if the module isn't available. # # b) Not require the module unless the user specifies a custom # partitioning scheme. # my $test = "use Config::IniFiles"; eval($test); if ($@) { print < $CONFIG{ 'partitions' } ); @PARTITIONS = (); my $name; my $details; my $foundroot = 0; while ( ( $name, $details ) = each %partitions ) { if ( !( $name =~ /^[a-zA-Z0-9-]+$/ ) ) { logprint("The partition name $name contains invalid characters.\n"); logprint( "Only alphanumeric characters and the hyphen are allowed\n"); $CONFIG{'FAIL'} = 1; exit 127; } if ( !( $details->{ 'size' } =~ /^[0-9.]+[GgMmKk]b?$/ ) ) { logprint( "The size $details->{'size'} of partition $name contains is not recognized.\n" ); $CONFIG{'FAIL'} = 1; exit 127; } if ( $details->{ 'type' } eq 'swap' ) { push( @PARTITIONS, { 'name' => $name, 'size' => $details->{ 'size' }, 'type' => 'swap', 'mountpoint' => '', 'options' => '' } ); } else { if ( !$CONFIG{ 'make_fs_' . $details->{ 'type' } } ) { logprint( "The type $details->{'type'} of partition $name is not recognized.\n" ); $CONFIG{'FAIL'} = 1; exit 127; } if ( !( $details->{ 'mountpoint' } =~ /^\/[^: \t\r\n]*$/ ) ) { logprint( "The mount point $details->{'mountpoint'} of partition $name is invalid.\n" ); $CONFIG{'FAIL'} = 1; exit 127; } if ( !( $details->{ 'options' } =~ /^[^: \t\r\n]*$/ ) ) { logprint( "The mount options $details->{'options'} of partition $name are invalid.\n" ); $CONFIG{'FAIL'} = 1; exit 127; } if ( !$details->{ 'options' } ) { $details->{ 'options' } = 'defaults'; } if ( $details->{ 'mountpoint' } eq '/' ) { $foundroot = 1; } push( @PARTITIONS, { 'name' => $name, 'size' => $details->{ 'size' }, 'type' => $details->{ 'type' }, 'mountpoint' => $details->{ 'mountpoint' }, 'options' => $details->{ 'options' } } ); } } if ( !$foundroot ) { logprint("The root partition was not specified.\n"); $CONFIG{'FAIL'} = 1; exit 127; } # # Sort by length of the mountpoint. # # This makes it easy to mount parent folders first # (e.g. /var before /var/tmp) # @PARTITIONS = sort {length $a->{ 'mountpoint' } <=> length $b->{ 'mountpoint' }} @PARTITIONS; } =begin doc Populates the partition information using the supplied configuration arguments when not using the partitions file =end doc =cut sub populatePartitionsData { @PARTITIONS = (); # # [swap] # push( @PARTITIONS, { 'name' => 'swap', 'size' => $CONFIG{ 'swap' }, 'type' => 'swap', 'mountpoint' => '', 'options' => '' } ) unless ( $CONFIG{ 'noswap' } ); # # read the default filesystem options from the configuration file. # my $options = $CONFIG{ $CONFIG{ 'fs' } . "_options" } || undef; # # If there weren't any options in the configuration file then # revert to our defaults. # if ( !defined($options) ) { # # XFS has different default options. # $options = "errors=remount-ro"; $options = "defaults" if ( $CONFIG{ 'fs' } eq "xfs" ); } # # [root] # push( @PARTITIONS, { 'name' => 'disk', 'size' => $CONFIG{ 'size' }, 'type' => $CONFIG{ 'fs' }, 'mountpoint' => '/', 'options' => $options } ); } =begin doc Converts the internal partitions array into a text representation suitable for passing to other scripts. =end doc =cut sub exportPartitionsToConfig { $CONFIG{ 'NUMPARTITIONS' } = $#PARTITIONS + 1; my $i; for ( $i = 0 ; $i < $CONFIG{ 'NUMPARTITIONS' } ; $i++ ) { $CONFIG{ 'PARTITION' . ( $i + 1 ) } = $PARTITIONS[$i]{ 'name' } . ':' . $PARTITIONS[$i]{ 'size' } . ':' . $PARTITIONS[$i]{ 'type' } . ':' . $PARTITIONS[$i]{ 'mountpoint' } . ':' . $PARTITIONS[$i]{ 'options' } . ':' . $PARTITIONS[$i]{ 'imagetype' } . ':' . $PARTITIONS[$i]{ 'image' }; } } =begin doc Show the user a summary of what is going to be created for them =end doc =cut sub showSummary { # # Show the user what to expect. # logprint("\nGeneral Information\n"); logprint("--------------------\n"); logprint("Hostname : $CONFIG{'hostname'}\n"); logprint("Distribution : $CONFIG{'dist'}\n"); logprint("Mirror : $CONFIG{'mirror'}\n"); if ( defined $CONFIG{ 'image-dev' } ) { logprint("Root Device : $CONFIG{'image-dev'}\n"); } if ( defined $CONFIG{ 'swap-dev' } ) { logprint("Swap Device : $CONFIG{'swap-dev'}\n"); } my $info; my $partcount = 0; logprint("Partitions : "); foreach my $partition (@PARTITIONS) { next if ( !$partition ); $info = sprintf( '%-15s %-5s (%s)', ( $partition->{ 'type' } ne 'swap' ) ? $partition->{ 'mountpoint' } : 'swap', $partition->{ 'size' }, $partition->{ 'type' } ); if ( $partcount++ ) { logprint(" $info\n"); } else { logprint("$info\n"); } } logprint("Image type : $CONFIG{'image'}\n"); logprint("Memory size : $CONFIG{'memory'}\n"); if ( defined( $CONFIG{ 'maxmem' } ) ) { logprint("Max mem size : $CONFIG{'maxmem'}\n"); } if ( exists( $CONFIG{ 'pygrub' } ) && $CONFIG{ 'pygrub' } ) { logprint("Bootloader : pygrub\n"); } else { if ( defined( $CONFIG{ 'kernel' } ) && length( $CONFIG{ 'kernel' } ) ) { logprint("Kernel path : $CONFIG{'kernel'}\n"); } if ( defined( $CONFIG{ 'modules' } ) && length( $CONFIG{ 'modules' } ) ) { logprint("Module path : $CONFIG{'modules'}\n"); } if ( defined( $CONFIG{ 'initrd' } ) && length( $CONFIG{ 'initrd' } ) ) { logprint("Initrd path : $CONFIG{'initrd'}\n"); } } logprint("\nNetworking Information\n"); logprint("----------------------\n"); # # Show each IP address added. # # Note we only allow the first IP address to have a MAC address specified. # my $ips = $CONFIG{ 'ip' }; my $mac = $CONFIG{ 'mac' }; my $count = 1; if ( defined $ips ) { # # Scary magic. # if ( !UNIVERSAL::isa( $ips, "ARRAY" ) ) { # # If we're reading the value of "ip = xxx" from the configuration # file we'll have a single (scalar) value in $CONFIG{'ip'}. # # BUT we actually assume this hash element contains a reference # to an array - since that is what the command-line parsing code # sets up for us. # # So here we fake it - that was what the test above as for, # if we didn't have an array already, then fake one up. # # We reset the $ips reference to undef, then coerce it to be an # (empty) array and push on our single IP. # # It works. Even if it's nasty, (or if it is a clever hack!) # $ips = undef; push( @$ips, $CONFIG{ 'ip' } ); $CONFIG{ 'ip' } = $ips; } } if ( defined $ips ) { # # Print out each network address, and if there is a mac address # associated with it then use it too. # foreach my $i (@$ips) { my $m = undef; if ( ( $count == 1 ) && ( defined($mac) ) ) { $m = $mac; } # # Here we have special handling for the case where # IP addresses to be generated automatically. # # if ( $i =~ /auto/i ) { $CONFIG{ 'verbose' } && logprint("Automatically determining an IP."); $i = findIP($i); if ( defined($i) ) { $CONFIG{ 'verbose' } && logprint("Claimed $i\n"); } else { print <{ 'name' } . '.img'; if ( -e $disk ) { logprint("The partition image already exists. Aborting.\n"); logprint( "Specify '--force' to overwrite, or remove the following file\n" ); logprint( $disk . "\n" ); $CONFIG{'FAIL'} = 2; exit 127; } } } foreach my $partition (@PARTITIONS) { my $disk = $CONFIG{ 'dir' } . '/domains/' . $CONFIG{ 'hostname' } . '/' . $partition->{ 'name' } . '.img'; # # Save the image path to the partitions array # $partition->{ 'imagetype' } = 'file:'; $partition->{ 'image' } = $disk; # # Modify the size to something reasonable # my $size = $partition->{ 'size' }; # # Convert Gb -> Mb for the partition image size. # if ( $size =~ /^([0-9.]+)Gb*$/i ) { $size = $1 * 1024 . "M"; } # # Final adjustments to sizing. # $size =~ s/Mb*$/k/i; # # Use dd to create the partition image. # logprint("\nCreating partition image: $disk\n"); my $image_cmd; if ( $CONFIG{ 'image' } eq "sparse" ) { $CONFIG{ 'verbose' } && logprint("Creating sparse image\n"); $image_cmd = "dd if=/dev/zero of=$disk bs=$size count=0 seek=1024"; } else { $CONFIG{ 'verbose' } && logprint("Creating full-sized image\n"); $image_cmd = "dd if=/dev/zero of=$disk bs=$size count=1024"; } # Set the umask so that the images are not world readable. my $oldumask = umask; umask(0077); # run the image creation command runCommand($image_cmd, \%CONFIG); logprint("Done\n"); # Reset the umask to the previous value umask($oldumask); if ( !-e $disk ) { logprint("The partition image creation failed to create $disk.\n"); logprint("aborting\n"); $CONFIG{'FAIL'} = 1; exit 127; } # # Finally create the filesystem / swap # if ( $partition->{ 'type' } eq 'swap' ) { createSwap($disk); } else { createFilesystem( $disk, $partition->{ 'type' } ); } } } =begin doc This function is used if you want your new system be installed to a physical drive (e.g. partition /dev/hda4) or to an already existing logical volume (e.g. /dev/root_vg/xen_root_lv). Walter Reiner =end doc =cut sub usePhysicalDevice { my $phys_img; my $swap_img; @PARTITIONS = (); if ( defined $CONFIG{ 'swap-dev' } ) { $swap_img = $CONFIG{ 'swap-dev' }; if ( !-e $swap_img ) { logprint( "The physical device or logical volume for swap-dev $swap_img doesn't exist. Aborting.\n" ); logprint( "NOTE: Please provide full path to your physical device or logical volume.\n" ); $CONFIG{'FAIL'} = 1; exit 127; } push( @PARTITIONS, { 'name' => 'swap', 'size' => '', 'type' => 'swap', 'mountpoint' => '', 'options' => '', 'imagetype' => 'phy:', 'image' => $swap_img } ) unless ( $CONFIG{ 'noswap' } ); } my $options = 'errors=remount-ro'; if ( $CONFIG{ 'fs' } eq 'xfs' ) { $options = 'defaults'; } if ( defined $CONFIG{ 'image-dev' } ) { $phys_img = $CONFIG{ 'image-dev' }; push( @PARTITIONS, { 'name' => 'disk', 'size' => '', 'type' => $CONFIG{ 'fs' }, 'mountpoint' => '/', 'options' => $options, 'imagetype' => 'phy:', 'image' => $phys_img } ); } else { logprint("No image-dev parameter given. Aborting.\n"); $CONFIG{'FAIL'} = 1; exit 127; } createFilesystem( $phys_img, $CONFIG{ 'fs' } ); createSwap($swap_img) unless ( $CONFIG{ 'noswap' } ); } =begin doc This function is responsible for creating two new logical volumes within a given LVM volume group. =end doc =cut sub createLVMBits { # # Check whether the disk volume exists already, and if so abort # unless '--force' is specified. # foreach my $partition (@PARTITIONS) { my $disk = $CONFIG{ 'hostname' } . '-' . $partition->{ 'name' }; my $lvm_disk = "/dev/$CONFIG{'lvm'}/$disk"; if ( -e $lvm_disk ) { # Delete if forcing if ( $CONFIG{ 'force' } ) { unless ( xenRunning($CONFIG{ 'hostname' }, \%CONFIG)) { logprint( "Removing $lvm_disk - since we're forcing the install\n"); runCommand("lvremove --force $lvm_disk", \%CONFIG); runCommand("sync", \%CONFIG); logprint( "Sleeping a few seconds to avoid LVM race conditions...\n"); sleep(3); } else { fail("ERROR: Xen guest $CONFIG{'hostname'} appears to be running.\nAborting.\n"); } } else { logprint("The LVM disk image already exists. Aborting.\n"); logprint("Specify '--force' to delete and recreate\n"); $CONFIG{'FAIL'} = 2; exit 127; } } } # # For the calls to lvcreate below, we first need to check for the # version of LVM running as their have been incompatible API # changes somewhere between "2.02.95(2) (2012-03-06)" in Debian 7 # Wheezy and "2.02.111(2) (2014-09-01)" in Debian 8 Jessie. *sigh* # # See https://bugs.debian.org/754517 # # I currently assume that all LVM version starting with 2.02.99 # should be fine with passing --yes as that version has an # upstream changelog entry "Accept --yes in all commands so test # scripts can be simpler". # # Assumes --yes is necessary if the LVM version can't be parsed. my $lvm_needs_yes = 1; my $lvm_version_output = `lvm version`; if ($lvm_version_output =~ /^\s*LVM\s*version:\s*(\d[.\d]*)[\s(]/) { my $lvm_version = $1; my $no_yes_below_version = '2.02.99'; $lvm_needs_yes = versioncmp($lvm_version, $no_yes_below_version) >= 0; } foreach my $partition (@PARTITIONS) { my $disk = $CONFIG{ 'hostname' } . '-' . $partition->{ 'name' }; my $lvm_disk = "/dev/$CONFIG{'lvm'}/$disk"; # # Save the image path to the partitions array # $partition->{ 'imagetype' } = 'phy:'; $partition->{ 'image' } = $lvm_disk; # # The commands to create the volume. # my $disk_cmd = "lvcreate ". ($lvm_needs_yes ? '--yes ' : ''). ($CONFIG{ 'lvm_thin' } ? "-T $CONFIG{'lvm'}/$CONFIG{'lvm_thin'} -V" : "$CONFIG{'lvm'} -L"). " $partition->{'size'} -n $disk"; # # Create the volume # runCommand($disk_cmd, \%CONFIG); # # Make sure that worked. # if ( !-e $lvm_disk ) { logprint( "The LVM partition image creation failed to create $lvm_disk.\n" ); logprint("aborting\n"); $CONFIG{'FAIL'} = 1; exit 127; } # # Finally create the filesystem / swap # if ( $partition->{ 'type' } eq 'swap' ) { createSwap($lvm_disk); } else { createFilesystem( $lvm_disk, $partition->{ 'type' } ); } } } =begin doc This function is responsible for creating two new ZFS volumes within a given ZFS pool. =end doc =cut sub createZFSBits { # # Check whether the ZFS volume exists already, and if so abort # unless '--force' is specified. # foreach my $partition (@PARTITIONS) { my $disk = $CONFIG{ 'hostname' } . '-' . $partition->{ 'name' }; my $zfs_disk = "/dev/$CONFIG{'zpool'}/$disk"; my $zfs_vol = "$CONFIG{'zpool'}/$disk"; if ( -e $zfs_disk ) { # Delete if forcing if ( $CONFIG{ 'force' } ) { unless ( xenRunning($CONFIG{ 'hostname' }, \%CONFIG)) { logprint( "Removing $zfs_disk - since we're forcing the install\n"); runCommand("zfs destroy $zfs_vol", \%CONFIG); runCommand("sync", \%CONFIG); logprint( "Sleeping a few seconds to avoid ZFS race conditions...\n"); sleep(3); } else { fail("ERROR: Xen guest $CONFIG{'hostname'} appears to be running.\nAborting.\n"); } } else { logprint("The ZFS volume already exists. Aborting.\n"); logprint("Specify '--force' to delete and recreate\n"); $CONFIG{'FAIL'} = 2; exit 127; } } } foreach my $partition (@PARTITIONS) { my $disk = $CONFIG{ 'hostname' } . '-' . $partition->{ 'name' }; my $zfs_disk = "/dev/$CONFIG{'zpool'}/$disk"; my $zfs_vol = "$CONFIG{'zpool'}/$disk"; # # Save the image path to the partitions array # $partition->{ 'imagetype' } = 'phy:'; $partition->{ 'image' } = $zfs_disk; # # The commands to create the volume. # my $disk_cmd = "zfs create ". ($CONFIG{'image'} eq 'sparse' ? '-s' : ''). " -V $partition->{'size'} $zfs_vol"; # # Create the volume # runCommand($disk_cmd, \%CONFIG); sleep(2); # # Make sure that worked. # if ( !-e "$zfs_disk" ) { logprint( "The ZFS volume creation failed to create $zfs_disk.\n" ); logprint("aborting\n"); $CONFIG{'FAIL'} = 1; exit 127; } # # Finally create the filesystem / swap # if ( $partition->{ 'type' } eq 'swap' ) { createSwap($zfs_disk); } else { createFilesystem( $zfs_disk, $partition->{ 'type' } ); } } } =begin doc This function is responsible for creating two new logical volumes within a given EVMS container group (which at the moment is either LVM or LVM2), but should be compatible with any further extensions of evms. =end doc =cut sub createEVMSBits { # # Check whether the disk volume exists already, and if so abort # unless '--force' is specified. This is two steps with evms, # because two things need to be checked, the volume and the object. # foreach my $partition (@PARTITIONS) { # Check whether the EVMS volume already exists, abort unless '--force' is specified. my $evms_volume_disk = "/dev/evms/$CONFIG{'hostname'}-$partition->{'name'}"; if ( -e $evms_volume_disk ) { # Delete if forcing if ( $CONFIG{ 'force' } ) { logprint( "Removing $evms_volume_disk - since we're forcing the install\n" ); runCommand("echo Delete : $evms_volume_disk | evms", \%CONFIG); } else { logprint( "The EVMS volume $evms_volume_disk already exists. Aborting.\n" ); logprint("Specify '--force' to delete and recreate\n"); $CONFIG{'FAIL'} = 2; exit 127; } } # # Check whether the EVMS object exists, abort unless '--force' # is specified. # # Note: $evms_object_disk is not specified directly as a device # my $evms_object_disk = "$CONFIG{'evms'}/$CONFIG{'hostname'}-$partition->{'name'}"; if ( -e $evms_object_disk ) { # Delete if forcing if ( $CONFIG{ 'force' } ) { logprint( "Removing $evms_object_disk - since we're forcing the install\n" ); runCommand("echo Delete : $evms_object_disk | evms", \%CONFIG); } else { logprint( "The EVMS object $evms_object_disk already exists. Aborting.\n" ); logprint("Specify '--force' to delete and recreate\n"); $CONFIG{'FAIL'} = 2; exit 127; } } } foreach my $partition (@PARTITIONS) { my $disk = $CONFIG{ 'hostname' } . '-' . $partition->{ 'name' }; my $evms_disk = "/dev/evms/$disk"; # # Save the image path to the partitions array # $partition->{ 'imagetype' } = 'phy:'; $partition->{ 'image' } = $evms_disk; # # Modify the size to something reasonable # my $size = $partition->{ 'size' }; # # Convert Gb -> Mb for the partition image size. # if ( $size =~ /^([0-9.]+)Gb*$/i ) { $size = $1 * 1024 . "M"; } # # Final adjustments to sizing. # $size =~ s/Mb*$/k/i; # # The commands to create the objects and volumes. # # create the object # my $disk_cmd_object = "echo allocate : $CONFIG{'evms'}/Freespace, size=$CONFIG{'size'}, name=$disk | evms"; # # these will be piped to evms, but gotta check it first # my $disk_cmd_volume = "echo create : Volume, $CONFIG{'evms'}/$disk, name=$disk | evms"; # # Create the volumes # runCommand($disk_cmd_object, \%CONFIG); runCommand($disk_cmd_volume, \%CONFIG); # # Initialise the partition with the relevant filesystem. # if ( $partition->{ 'type' } eq 'swap' ) { createSwap($disk_cmd_volume); } else { createFilesystem( $disk_cmd_volume, $partition->{ 'type' } ); } } } =begin doc Format the given image in the users choice of filesystem. =end doc =cut sub createFilesystem { my ( $image, $fs ) = (@_); # # We have the filesystem the user wanted, make sure that the # binary exists. # my $command = $CONFIG{ "make_fs_" . $fs }; # # Split the command into "binary" + "args". Make sure that # the binary exists and is executable. # my ($binary, $args) = split(/ /, $command, 2); if ( !defined( which($binary) ) ) { logprint( "The binary '$binary' required to create the filesystem $fs is missing\n" ); $CONFIG{'FAIL'} = 1; exit 127; } unless ( $CONFIG{ 'dontformat' } ) { # # OK we have the command and the filesystem. Create it. # logprint("\nCreating $fs filesystem on $image\n"); $command .= " " . $image; runCommand($command, \%CONFIG); logprint("Done\n"); } } =begin doc Create the swap filesystem on the given device. =end doc =cut sub createSwap { my ($path) = (@_); logprint("\nCreating swap on $path\n"); runCommand("mkswap $path", \%CONFIG); logprint("Done\n"); } =begin doc Mount the loopback disk image into a temporary directory. Alternatively mount the relevant LVM volume instead. =end doc =cut sub mountImage { # # Create a temporary mount-point to use for the image/volume. # $MOUNT_POINT = tempdir( CLEANUP => 1 ); foreach my $partition (sort { length($a->{'mountpoint'}) <=> length($b->{'mountpoint'}) } @PARTITIONS) { if ( $partition->{ 'type' } ne 'swap' ) { my $image = $partition->{ 'image' }; my $mountpoint = $MOUNT_POINT . $partition->{ 'mountpoint' }; mkpath( $mountpoint, 0, 0755 ); # # Lookup the correct arguments to pass to mount. # my $mount_cmd; my $mount_type = $CONFIG{ 'mount_fs_' . $partition->{ 'type' } }; # # LVM partition # if ( $CONFIG{ 'lvm' } ) { $mount_cmd = "mount $mount_type $image $mountpoint"; } elsif ( $CONFIG{ 'evms' } ) { $mount_cmd = "mount $mount_type $image $mountpoint"; } elsif ( $CONFIG{ 'image-dev' } ) { $mount_cmd = "mount $mount_type $image $mountpoint"; } elsif ( $CONFIG{ 'zpool' } ) { $mount_cmd = "mount $mount_type $image $mountpoint"; } else { $mount_cmd = "mount $mount_type -o loop $image $mountpoint"; } runCommand($mount_cmd, \%CONFIG); } } } =begin doc Install the system, by invoking the xt-install-image script. The script will be given the appropriate arguments from our environment. =end doc =cut sub installSystem { # # # Basic command # my $cmd = "xt-install-image --hostname=$CONFIG{'hostname'} --location=$MOUNT_POINT --dist=$CONFIG{'dist'} --install-method=$CONFIG{'install-method'}"; # # Add on the install source if required. # $cmd .= " --install-source=$CONFIG{'install-source'}" if ( defined( $CONFIG{ 'install-source' } ) ); # # Do we have a per-image configuration file? # $cmd .= " --config=$CONFIG{'config'}" if ( defined( $CONFIG{ 'config' } ) ); # # Add on the mirror, if defined # $cmd .= " --mirror=$CONFIG{'mirror'}" if ( defined( $CONFIG{ 'mirror' } ) ); # # Add on the current cache setting # $cmd .= " --cache=$CONFIG{'cache'}" if length( $CONFIG{ 'cache' } ); # # Add on the current cachedir setting # $cmd .= " --cachedir=$CONFIG{'cachedir'}" if length( $CONFIG{ 'cachedir' } ); # # Propagate --verbose # if ( $CONFIG{ 'verbose' } ) { $cmd .= " --verbose"; } # # Propagate --arch # if ( $CONFIG{ 'arch' } ) { $cmd .= " --arch=$CONFIG{'arch'}"; } # # Propagate --keyring # if ( $CONFIG{ 'keyring' } ) { $cmd .= " --keyring=$CONFIG{'keyring'}"; } # # Propagate --debootstrap-cmd if install-method is debootstrap # if ( $CONFIG{ 'install-method' } eq 'debootstrap' and $CONFIG{ 'debootstrap-cmd' } ) { $cmd .= " --debootstrap-cmd='$CONFIG{'debootstrap-cmd'}'"; } # # Propagate --apt_proxy # if ( $CONFIG{ 'apt_proxy' } ) { $cmd .= " --apt_proxy=$CONFIG{'apt_proxy'}"; } # # Show the user what they are installing # logprint("Installation method: $CONFIG{'install-method'}\n"); # # And where from, if relevant. # if ( ( lc( $CONFIG{ 'install-method' } ) eq "copy" ) || ( lc( $CONFIG{ 'install-method' } ) eq "tar" ) ) { logprint("(Source: $CONFIG{'install-source'})\n"); } # # Run the command. # runCommand($cmd, \%CONFIG); logprint("Done\n"); } =begin doc Export our configuratione variables as a series of environmental variables. This is required so that our hook and role scripts can easily read the settings without access to the command line / configuration file we were invoked with. =end doc =cut sub exportEnvironment { # # Export partitions array to configuration # exportPartitionsToConfig(); foreach my $key ( keys %CONFIG ) { if ( defined( $CONFIG{ $key } ) ) { my $envkey = $key; $envkey =~ s/-/_/g; $ENV{ $envkey } = $CONFIG{ $key }; } } } =begin doc Run the xt-customise-system script to customize our fresh installation. Before we do this we must pass all the relevant options into our environment and mount /proc and /dev/pts. =end doc =cut sub runCustomisationHooks { # # Before running any scripts we'll mount /proc in the guest. # # 1. Make sure there is a directory. mkdir( $MOUNT_POINT . "/proc", 0755 ) if ( !-d $MOUNT_POINT . "/proc" ); # 2. Mount runCommand("mount -o bind /proc $MOUNT_POINT/proc", \%CONFIG); # # Before running any scripts we'll mount /dev/pts in the guest, too. # # 1. Make sure there is a directory. mkdir( $MOUNT_POINT . "/dev", 0755 ) if ( !-d $MOUNT_POINT . "/dev" ); mkdir( $MOUNT_POINT . "/dev/pts", 0755 ) if ( !-d $MOUNT_POINT . "/dev/pts" ); # 2. Mount runCommand("mount -t devpts devpts $MOUNT_POINT/dev/pts", \%CONFIG); # # Now update the environment for each defined IP address. # these are handled specially since we use arrays. # # Remove the value we set above. delete $ENV{ 'ip' }; # # Setup a separate ip$count value for each IP address. # my $ips = $CONFIG{ 'ip' }; my $count = 1; foreach my $i (@$ips) { $ENV{ 'ip' . $count } = $i; $count += 1; } $ENV{ 'ip_count' } = ( $count - 1 ); # # Now show the environment the children get # if ( $CONFIG{ 'verbose' } ) { logprint("Customization Script Environment:\n"); logprint("---------------------------------\n"); foreach my $key ( sort keys %ENV ) { logprint( "\t'" . $key . "' = '" . $ENV{ $key } . "'\n" ); } } # # Copy dom0's resolv.conf to domU # mv("$MOUNT_POINT/etc/resolv.conf", "$MOUNT_POINT/etc/resolv.conf.old") if -f "$MOUNT_POINT/etc/resolv.conf"; cp("/etc/resolv.conf", "$MOUNT_POINT/etc/resolv.conf"); # # Actually run the appropriate hooks # my $customize = "xt-customize-image --dist=$CONFIG{'dist'} --location=$MOUNT_POINT"; if ( $CONFIG{ 'verbose' } ) { $customize .= " --verbose"; } logprint("\nRunning hooks\n"); runCommand($customize, \%CONFIG); logprint("Done\n"); # # Restore domU's resolv.conf if needed # if (-f "$MOUNT_POINT/etc/resolv.conf") { mv("$MOUNT_POINT/etc/resolv.conf.old", "$MOUNT_POINT/etc/resolv.conf"); } else { unlink "$MOUNT_POINT/etc/resolv.conf"; } } =begin doc Find a useable IP address from the file /etc/xen-tools/ips.txt. =end doc =cut sub findIP { # Abort if we don't have the IP file. return undef if ( !-e $CONFIG{ 'ipfile' } ); # # Open and read the file. # open( RANGE, "<", $CONFIG{ 'ipfile' } ) or fail("Failed to read $CONFIG{'ipfile'} - $!"); my @lines = ; my @updated; close(RANGE); # # Find an unclaimed line. # my $ip = undef; foreach my $line (@lines) { # skip empty lines. next if ( !defined($line) ); next if ( !length($line) ); chomp($line); # find an IP. if ( ( !defined($ip) ) && ( $line =~ /^([0-9\.]+)$/ ) ) { $ip = $line; $line = $ip . ": used"; } push( @updated, $line ); } # # Now write out the new entries. # open( RANGE, ">", $CONFIG{ 'ipfile' } ) or fail("Failed to write to $CONFIG{'ipfile'} - $!"); print RANGE join( "\n", @updated ); close(RANGE); # # Sanity check - handle the old case where the format of the file # was different. # if ( defined($ip) ) { my @tmp = split( /\./, $ip ); if ( scalar(@tmp) < 3 ) { print <new('Password change failed'); while ($tryagain) { my $rc = system("chroot $MOUNT_POINT /usr/bin/passwd"); if ($rc >> 8) { $tryagain = $term->ask_yn( prompt => 'Do you want to try to change the password again??', default => 'y', ); } else { $tryagain=0; } } } else { logprint("'passwd' command not found in the new install.\n"); } } else { logprint("Generating a password for the new guest.\n"); # # Replace the password in the /etc/shadow file # my $shadow_path = $MOUNT_POINT . '/etc/shadow'; if ( -e $shadow_path ) { # # Generate a password, salt and use that to generating a hash # if ( defined( $CONFIG{ 'password' } ) ) { $PASSWORD = $CONFIG { 'password' }; } elsif ( $CONFIG{ 'genpass' } ) { $PASSWORD = generatePassword( $CONFIG{ 'genpass_len' } ); } else { fail("oops... neither passwd nor password nor genpass are set, should not happen!"); } my $salt = generatePassword(8); my $hash_method; if ($CONFIG{ 'hash_method' } eq 'md5') { $hash_method = '$1$'; } elsif ($CONFIG{ 'hash_method' } eq 'sha256') { $hash_method = '$5$'; } elsif ($CONFIG{ 'hash_method' } eq 'sha512') { $hash_method = '$6$'; } else { fail("oops... unknown hashing method, should not happen!"); } my $hash = crypt($PASSWORD, $hash_method . $salt); # # Copy the file to ensure the original retains the correct # permissions set by the System # my $tmp_shadow_path = "$shadow_path.tmp"; cp("$shadow_path","$tmp_shadow_path"); open(TMP, "<", $tmp_shadow_path) or fail($!); open(SHADOW, ">", $shadow_path) or fail($!); my $line; while(defined($line = )) { $line =~ s#^root:[^:]*:#root:$hash:#; print SHADOW $line; } # # Close the files and delete the temporary file # close(SHADOW); close(TMP); unlink($tmp_shadow_path); } else { logprint("Failed to find /etc/passwd in the install.\n"); } } } =begin doc create a random "string" =end doc =cut sub generatePassword { my $length = $_[0]; unless ($length and $length > 0) { warn "generatePassword: No (sane) password length given. Using $default_genpass_len instead."; $length = $default_genpass_len; } my $possible = 'abcdefghijkmnpqrstuvwxyz23456789ABCDEFGHJKLMNPQRSTUVWXYZ'; my $password = ''; while (length($password) < $length) { $password .= substr($possible, (int(rand(length($possible)))), 1); } return $password; } =begin doc Unmount any mount-points which are below the given path. The mountpoints are chosen by looking at /proc/mounts which might not be portable, but works for me. (tm). =end doc =cut sub unMountImage { my ($point, $fail_ok) = (@_); # # First we unmount /proc and /dev/pts in the guest install. # runCommand("umount $point/proc", \%CONFIG, $fail_ok); #runCommand("umount $point/dev/pts", \%CONFIG, $fail_ok); # # Open /proc/mount and get a list of currently mounted paths # which begin with our mount point. # my @points; open( MOUNTED, "<", "/proc/mounts" ) or fail("Failed to open mount list"); foreach my $line () { # # Split into the device and mountpoint. # my ( $device, $path ) = split( / /, $line ); if ( $path =~ /\Q$point\E/ ) { push @points, $path; } } close(MOUNTED); # # Now we have a list of mounts. We need to move the # longest first, we can do this by sorting and reversing. # # (ie. We unmount the children, then the parent.) # @points = sort @points; @points = reverse @points; foreach my $path (@points) { $CONFIG{ 'verbose' } && print "Unmounting : $path\n"; runCommand("umount $path", \%CONFIG, $fail_ok); } $MOUNT_POINT = undef; } =begin doc If we still have the temporary image mounted then make sure it is unmounted before we terminate. =end doc =cut sub clean_up () { if ( defined($MOUNT_POINT) ) { unMountImage($MOUNT_POINT, 1); } } END { # Capture exit code my $exitcode = $?; exit $exitcode if $VERSION || $HELP || $MANUAL || $DUMPCONFIG; my %host_key = (); # # Unmount the image if it is still mounted. # if ( defined($MOUNT_POINT) ) { # # Before we unmount get the host's SSH keys' fingerprints # my $key_dir = $MOUNT_POINT.'/etc/ssh'; my @pubkey_files = grep { /^ssh_host_.*\.pub$/; } read_dir($key_dir); foreach my $pubkey_file (@pubkey_files) { my $pubkey_path = "$key_dir/$pubkey_file"; my $fingerprint_line = `ssh-keygen -lf "$pubkey_path"`; if ($fingerprint_line =~ /^(\S+)\s+(\S+)/ ) { my $fingerprint = $2; my $algo = '[unspecified hashing algorithm]'; if ($fingerprint_line =~ /^\S+\s+\S+\s+\S+\s+\((\S+)\)/ ) { $algo = $1; } elsif ($pubkey_file =~ /^ssh_host_(\S+)_key\.pub$/) { $algo = uc($1); } elsif ($pubkey_file eq 'ssh_host_key.pub') { $algo = 'SSH1'; } $host_key{$algo} = $fingerprint; } else { warn "Can't parse ssh-keygen output: $fingerprint_line"; } } unMountImage($MOUNT_POINT, $CONFIG{'FAIL'}); } # # If we're supposed to start the new instance do so - note here we # have to unmount the image first. # if ( $CONFIG{ 'boot' } and !$CONFIG{'FAIL'} ) { # # If there is an /etc/xen/auto directory then link in the # domain so that it will automatically restart, if it isn't # already present. # # (Will be present if this is overwriting a previous image, # for example.) # if ( -d "/etc/xen/auto" ) { my $cfg = $CONFIG{ 'output' } . "/" . $CONFIG{ 'hostname' } . $CONFIG{ 'extension' }; if ( !-e $cfg ) { logprint("Creating auto-start symlink to: $cfg\n"); my $link = "ln -s $cfg /etc/xen/auto/"; runCommand($link, \%CONFIG); } } # # # Start the image # # Config file. my $cfg = $CONFIG{ 'output' } . "/" . $CONFIG{ 'hostname' } . $CONFIG{ 'extension' }; # Start the DomU runCommand("$CONFIG{'xm'} create $cfg", \%CONFIG); logprint("Started new Xen guest: $CONFIG{'hostname'} [$cfg]\n"); } # # Here we print out the status message when finishing. # # NOTE: We use the $CONFIG{'pid'} here to control whether the # message is displayed - since this avoids it from being displayed # twice when --boot is used. # if ( ( defined( $CONFIG{ 'hostname' } ) ) && ( -e "/var/log/xen-tools/$CONFIG{'hostname'}.log" ) && ( !$CONFIG{ 'pid' } ) ) { print "\n\nLogfile produced at:\n"; print "\t /var/log/xen-tools/$CONFIG{'hostname'}.log\n"; } # # Did we fail? If so then we should remove the broken installation, # unless "--keep" was specified. # # If we didn't fail, then we assume we succeeded, print a summary # # $CONFIG{'FAIL'} = 0 - Success # $CONFIG{'FAIL'} = 1 - Failed to install, delete the image # $CONFIG{'FAIL'} = 2 - Files exist, either .cfg or lvm... etc if ( $CONFIG{'FAIL'} == 1 && ( !$CONFIG{ 'keep' } ) ) { # # Run the command # $CONFIG{ 'verbose' } && logprint("Removing failed install: $CONFIG{'hostname'}\n"); if ($CONFIG{ 'hostname' }) { my $option = ''; if ($CONFIG{ 'lvm' }) { $option = "--lvm=$CONFIG{'lvm'}" } elsif ($CONFIG{ 'evms' }) { $option = "--evms=$CONFIG{'evms'}" } elsif ($CONFIG{ 'dir' }) { $option = "--dir=$CONFIG{'dir'}" } elsif ($CONFIG{ 'zpool' }) { $option = "--zpool=$CONFIG{'zpool'}" } if ($option) { runCommand("xen-delete-image $option --hostname=$CONFIG{'hostname'}", \%CONFIG); } else { die "Assertion that either --dir, --lvm, --dir or --zpool are given". " failed.\nThis is probably a bug, please report it."; } } } elsif ( $CONFIG{'FAIL'} == 0 ) { # # Assume success # logprint("\nInstallation Summary\n"); logprint("---------------------\n"); logprint("Hostname : $CONFIG{'hostname'}\n"); logprint("Distribution : $CONFIG{'dist'}\n"); logprint("MAC Address : $CONFIG{'mac'}\n"); logprint("IP Address(es) : "); if ( $CONFIG{ 'dhcp' } ) { logprint("dynamic"); } elsif( $CONFIG{ 'ip' } ) { logprint( $IP_ADDRESSES ); } logprint("\n"); foreach my $algo (sort keys %host_key) { logprint("SSH Fingerprint : $host_key{$algo} ($algo)\n"); } logprint("Root Password : "); if ( $PASSWORD ) { logprint("$PASSWORD\n"); } else { logprint ("N/A\n"); } logprint("\n"); } exit $exitcode; } xen-tools-4.9.2/xt/0000755000175000017500000000000014370055613012155 5ustar abeabexen-tools-4.9.2/xt/test-trailing-whitespace.t0000755000175000017500000000163314370055613017270 0ustar abeabe#!perl -w # # Test that every script in ./bin/ has no trailing whitespace. # # Steve # -- # use strict; use File::Find; use Test::More; # # Find our bin/ directory. # my $dir = undef; $dir = "./bin/" if ( -d "./bin/" ); $dir = "../bin/" if ( -d "../bin/" ); plan skip_all => "No bin directory found" if (!defined( $dir ) ); # # Process each file. # foreach my $file (sort( glob ( $dir . "*" ) ) ) { # skip backups, and directories. next if ( $file =~ /~$/ ); next if ( -d $file ); ok( -e $file, "Found file : $file" ); checkFile( $file ); } done_testing(); # # Check a file. # # sub checkFile { my( $file ) = (@_); my $trailing = 0; # Read the file. open( INPUT, "<", $file ); foreach my $line ( ) { $trailing = 1 if ( $line =~ /^(.*)[ \t]+$/ ) } close( INPUT ); is( $trailing, 0, "File '$file' has no trailing whitespace" ); } xen-tools-4.9.2/xt/quoted-strings.t0000755000175000017500000000317014370055613015336 0ustar abeabe#!perl -w # # Test that every bash script using variables uses " not ' around the # variable. # # Steve # -- # use strict; use File::Find; use Test::More; # # Find all the files beneath the current directory, # and call 'checkFile' with the name. # my $dir = undef; $dir = "../hooks" if ( -d "../hooks" ); $dir = "./hooks" if ( -d "./hooks" ); ok( defined( $dir ), "Found hook directory" ); find( { wanted => \&checkFile, no_chdir => 1 }, $dir ); done_testing(); # # Check a file; if it is a shell script. # sub checkFile { # The file. my $file = $File::Find::name; # We don't care about directories or symbolic links return if ( ! -f $file ); return if ( -l $file ); # Finally mercurial files are fine. return if ( $file =~ /\.hg\// ); # See if it is a shell script. my $isShell = 0; # Read the file. open( INPUT, "<", $file ); foreach my $line ( ) { if ( ( $line =~ /\/bin\/sh/ ) || ( $line =~ /\/bin\/bash/ ) ) { $isShell = 1; } } close( INPUT ); # # Return if it wasn't a perl file. # return if ( ! $isShell ); # # Now read the file. # open( FILE, "<", $file ) or die "Failed to open file: $file - $!"; ok( *FILE, "Opened file: $file" ); foreach my $line ( ) { chomp( $line ); next if (!length( $line ) ); next if ( $line =~ /grep|sed|echo|awk|find|policy-rc.d|chroot|logMessage/ ); if ( $line =~ /\$/ ) { ok( $line !~ /\'.*\$\.*\'/, "Non-masked line '$line' in '$file'" ); } } close( FILE ); } xen-tools-4.9.2/xt/portable-shell.t0000755000175000017500000000352214370055613015264 0ustar abeabe#!perl -w # # Test that we don't use non-portable shell syntax in our hooks. # # Specifically we test for: # # 1. "[[" & "]]" around tests. # # 2. The "function" keyword # # Steve # -- # use strict; use File::Find; use Test::More; # # Find all the files beneath the current directory, # and call 'checkFile' with the name. # find( { wanted => \&checkFile, no_chdir => 1 }, '.' ); done_testing(); # # Check a file. # # If this is a shell script then call "sh -n $name", otherwise # return # sub checkFile { # The file. my $file = $File::Find::name; # We don't care about directories or symbolic links return if ( ! -f $file ); return if ( -l $file ); # We're only testing things beneath hooks return if ( $file !~ /hooks/ ); return if ( $file =~ /\.git/ ); # See if it is a shell script. my $isShell = 0; # Read the file. open( INPUT, "<", $file ); foreach my $line ( ) { if ( ( $line =~ /\/bin\/sh/ ) || ( $line =~ /\/bin\/bash/ ) ) { $isShell = 1; } } close( INPUT ); # # Return if it wasn't a shell script. # return if ( ! $isShell ); # The result my $result = 0; # # Open the file and read it. # open( INPUT, "<", $file ) or die "Failed to open '$file' - $!"; while( my $line = ) { # [[ or ]] $result += 1 if ( $line =~ /\[\[/ ); $result += 1 if ( $line =~ /\]\]/ ); # function $result += 1 if ( $line =~ /^[ \t]*function/ ); } close( INPUT ); is( $result, 0, "Shell script passes our portability check: $file" ); if (-x "/usr/bin/checkbashisms") { # Check for bashisms $result = `/usr/bin/checkbashisms '$file'`; is( $result, '', "Shell script passes check for bashisms: $file" ); } } xen-tools-4.9.2/xt/pod-coverage.t0000755000175000017500000000110214370055613014712 0ustar abeabe#!perl use strict; use warnings; use Test::More; push @INC, 'lib'; # Ensure a recent version of Test::Pod::Coverage my $min_tpc = 1.08; eval "use Test::Pod::Coverage $min_tpc"; plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage" if $@; # Test::Pod::Coverage doesn't require a minimum Pod::Coverage version, # but older versions don't recognize some common documentation styles my $min_pc = 0.17; eval "use Pod::Coverage $min_pc"; plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage" if $@; all_pod_coverage_ok(); xen-tools-4.9.2/xt/getopt.t0000755000175000017500000000640314370055613013652 0ustar abeabe#!perl -w # # Test that every perl script accepts and processes each of the options # documented in its POD. # # Cute test :) # # Steve # -- # use strict; use File::Find; use Test::More; # # Test each file # foreach my $file ( sort( glob "./bin/*-*" ) ) { # Skip emacs and CVS backups next if $file =~ /~$/; testFile( $file ); } done_testing(); # # Check that the given file implements all the option processing it # is supposed to. # # sub testFile { my ($file ) = (@_); is( -e $file, 1, "File exists: $file" ); is( -x $file, 1, "File is executable" ); # # Run the file with "--help" and capture the output. # my $output = `perl -Ilib $file --help`; # # Parse out the options we accept # my @documented = (); foreach my $line ( split( /\n/, $output ) ) { if ( $line =~ /[ \t]*--(?:\(no\))?([a-z-_]+)/ ) { push @documented, $1 unless( $line =~ /NOP/i ); } } # # Test we discovered some documented options. # ok( $#documented > 1, "We found some options documented in $file." ); # # Now read the input file so that we can see if these advertised # options are actually used. # open( IN, "<", $file ) or die "Failed to open file for reading $file - $!"; my @LINES = ; close( IN ); # # Options accepted # my %accepted; # # Do minimal parsing to find the options we process with # Getopt::Long; # my $complete = join( "\n", @LINES ); if ( $complete =~ /GetOptions\(([^\)]+)\)/mi ) { # # Multi-line text which should have all the options we've # invoked GetOptions with. # my $opt = $1; # # Process each one. # foreach my $o ( split( /\n/, $opt ) ) { #print "O: $o "; # # Strip trailing comments. # if ( $o =~ /([^#]+)#/ ) { $o = $1; } #print " - strip comments : $o "; # # Remove "" or '' around it. # if ( $o =~ /(["'])([^"']+)\1/ ) { $o = $2; } #print " - remove quotes : $o "; # # Discard anything after "=", ":", or " " # if ( $o =~ /(.*)[ \t=:]+(.*)/ ) { $o = $1; } #print " - remove negation : $o "; # # Discard any "!" at the end # $o =~ s/!//; #print " - remove = : $o "; # # Now avoid blank lines. # next if ( $o =~ /^[ \t]*$/ ); # # Now split at pipe # foreach my $osplit (split(/\|/, $o)) { # # Phew. Now we're done. # # This option '$osplit' is something we call GetOptions with. # $accepted{$osplit} = 1; } } } # # Now we want to make sure that each documented option is # present in the list of options we pass to getopt. # foreach my $argument ( @documented ) { is( $accepted{$argument}, 1, "Option '--$argument' accepted: $file" ); } } xen-tools-4.9.2/xt/argument-check.t0000755000175000017500000000462314370055613015247 0ustar abeabe#!perl -w # # Test that the arguments in etc/xen-tools.conf match those used in # xen-create-image. # # Steve # -- # use strict; use Test::More; # # Open and parse the xen-tools.conf configuration file. # my %OPTIONS; %OPTIONS = parseConfigFile( "etc/xen-tools.conf" ); # # Test we got something back. # ok( %OPTIONS, "Options successfully parsed" ); # # Now open and read the file "xen-create-image" # my @lines = readFile( "bin/xen-create-image" ); ok ( @lines, "We read the 'xen-create-image' script" ); # # For each option we found we want to make sure it is # contained in the script, via the documentation. # foreach my $key ( sort keys %OPTIONS ) { my $found = 0; foreach my $line ( @lines ) { if ( $line =~ /--(\(no\))?$key/ ) { $found = 1; } } next if ( $key =~ /^mirror_/ ); next if ( $key =~ /_options$/ ); is( $found, 1 , " Found documentation for '$key'" ); } done_testing(); =head2 parseConfigFile Parse the 'key=value' configuration file passed to us, and return a hash of the reults. =cut sub parseConfigFile { my ($file) = ( @_ ); # # Options we read # my %CONFIG; open( FILE, "<", $file ) or die "Cannot read file '$file' - $!"; my $line = ""; while (defined($line = ) ) { chomp $line; if ($line =~ s/\\$//) { $line .= ; redo unless eof(FILE); } # Skip blank lines next if ( length( $line ) < 1 ); # skip false positive next if ( $line =~ /Otherwise/ ); # Find variable settings if ( $line =~ /([^=]+)=([^\n]+)/ ) { my $key = $1; my $val = $2; if ( $key =~ /([ \t#]*)(.*)/ ) { $key = $2; } # Strip leading and trailing whitespace. $key =~ s/^\s+//; $key =~ s/\s+$//; $val =~ s/^\s+//; $val =~ s/\s+$//; next if ( $key =~ /--/ ); # Store value. $CONFIG{ $key } = $val; } } close( FILE ); return( %CONFIG ); } =head2 readFile Read a named file and return an array of its contents. =cut sub readFile { my ($file) = ( @_ ); open( FILE, "<", $file ) or die "Cannot read file '$file' - $!"; my @LINES = ; close( FILE ); return( @LINES ); } xen-tools-4.9.2/xt/gitignore.t0000755000175000017500000000241014370055613014331 0ustar abeabe#!perl -w # # Test that .gitignore is coherent # # Stéphane (kwisatz) Jourdois # -- # use strict; use Test::More; use File::Which; if ( $ENV{TRAVIS} ) { plan( skip_all => "these tests don't make sense on a fresh checkout" ); } if (which('git') and -d '.git') { plan tests => 3; } else { plan skip_all => 'gitignore test is only thought for release testing.'; } use_ok( 'Git' ); # First, check that no tracked files are ignored my $cmd = Git::command_output_pipe('ls-files', '--cached', '--ignored', '--exclude-standard'); my $output; while (<$cmd>) { $output .= "--> $_" } close $cmd; ok(!defined $output, 'No tracked file is ignored') or diag(<) { $output .= "--> $_" } close $cmd; ok(!defined $output, 'No untracked file is present') or diag(< \&checkFile, no_chdir => 1 }, '.' ); # # Check a file. # # sub checkFile { # The file. my $file = $File::Find::name; # We don't care about directories or symbolic links return if ( ! -f $file ); return if ( -l $file ); # Nor about backup files. return if ( $file =~ /~$/ ); # Nor about Makefiles return if ( $file =~ /\/Makefile$/ ); # Nor about dot files return if ( $file =~ m{/\.[^/]+$} ); # Nor about files which start with ./debian/ return if ( $file =~ /^\.\/debian\// ); # Nor about Changlog return if ( $file =~ /^\.\/ChangeLog$/ ); # Finally mercurial and git files are fine. return if ( $file =~ /\.(hg|git)\// ); # See if it is a shell/perl file. my $isShell = 0; my $isPerl = 0; if ( $file =~ /\.sh$/ ) { $isShell = 1; } elsif ( $file =~ /\.(pl|pm|t)$/ ) { $isPerl = 1; } else { # Read the file. open( INPUT, "<", $file ); foreach my $line ( ) { if ( ( $line =~ /^#! *\/bin\/sh/ ) || ( $line =~ /^#! *\/bin\/bash/ ) ) { $isShell = 1; last; } if ( $line =~ /^#!.*\bperl\b/ ) { $isPerl = 1; last; } } close( INPUT ); } # # Run check if it is a shell file. # notabs_ok( $file ) if $isShell or $isPerl; } done_testing(); xen-tools-4.9.2/ChangeLog0000644000175000017500000170415214370055613013306 0ustar abeabecommit cf547cc102f5e35b53e7be4ed68b495f6a56b7fd Author: Axel Beckert Date: Mon Feb 6 02:44:11 2023 +0100 Release as 4.9.2 and upload to Debian as 4.9.2-1 commit 82f0669fe03623a9dc6cae884107dc2f1b612d9b Author: Axel Beckert Date: Mon Feb 6 02:38:05 2023 +0100 Mark precise as EoL, too commit eb2d3fea8f63830bc61a4a1db49650800b9a9e02 Author: Axel Beckert Date: Mon Feb 6 02:34:20 2023 +0100 Mark sarge as dont-test due to restriction to i386 commit dd051ad58b8f8a2ede29573abb26a38b1ed55711 Author: Axel Beckert Date: Mon Feb 6 02:19:28 2023 +0100 Also mention "vsyscall=emulate" in package description and README.Debian Closes: #1028388 commit 19295c5ec1816096804991ab98202bc21f7ad783 Author: Axel Beckert Date: Mon Feb 6 02:14:34 2023 +0100 Fix capitalization of "Ubuntu" commit 657b366fbfb9990a826999f62712ad83da5c8315 Author: Axel Beckert Date: Mon Feb 6 02:06:43 2023 +0100 Update NEWS.markdown and package description wrt. to Debian/Ubuntu releases Also mention other fixes in NEWS.markdown. commit e6eba80f3c824c2e23912ad7b2445d7c13cf5757 Author: Axel Beckert Date: Sun Feb 5 22:09:24 2023 +0100 Mark lunar as dont-test as debootstrap doesn't know about it yet commit 95207ed48e52f7ecc153a4c3657ebf83333832dc Author: Axel Beckert Date: Mon Jan 30 03:08:36 2023 +0100 xt-guess-suite-and-mirror: Add support for Ubuntu Ports APT repos Closes: #1023667, LP: #1995969 commit f368ae7cff94d9b952c6ae867f52cdfaccde0a2a Author: Axel Beckert Date: Mon Jan 30 03:07:07 2023 +0100 xt-guess-suite-and-mirror: Add new option --sources-list to pass a file to parse Primarily helpful for debugging and testing, but one might find other uses for it, too. commit 0ec1bed1d142aa2533c89ef39eb7c523a8043976 Author: Axel Beckert Date: Mon Jan 30 02:58:10 2023 +0100 Bump default ubuntu fallback release to 22.04 Jammy LTS commit bbd21369cfffc41d501f99413a9292acee9a1a17 Author: Axel Beckert Date: Sun Jan 29 21:57:57 2023 +0100 Depend and Build-Depend on non-(build-)essential package mount Closes: #1027383 Thanks to Santiago Vila for the bug report. Actually the build-dependency is not strictly necessary as mount is not really used at build or test time. But there's one test checking the environment for a typical make, make test, make install workflow to abort if not all required run-time dependencies can be found. Then again, for the same reason as given in the bug report, a run-time dependency on mount was missing, too. commit 2527e25bebadf457e6bf7053fbdec9ddb41bc0b4 Author: Axel Beckert Date: Sun Jan 29 21:10:38 2023 +0100 Fix bashism in release testing target "tidy" commit ede684baaa6765d11ad947adb00acebb44246e4f Author: Axel Beckert Date: Sun Jan 29 21:09:05 2023 +0100 Update list of Ubuntu and Debian releases Bump upstream version to 4.9.2. commit b7490687e2ee1b6e5b3e99fef568ebd75d353429 Author: Axel Beckert Date: Mon Jan 9 04:43:52 2023 +0100 Debian packaging: Update upstream signing key to update its expiry date commit 0982fdd0f47ecdbadd9ce673bd792643adce9705 Author: Axel Beckert Date: Sun Oct 24 06:45:45 2021 +0200 Update NEWS.markdown for 4.9.1 release Has been forgotten in the release itself. commit a39f24e7548b468258acf4d59c6fc1d1b2e4a29f Author: Axel Beckert Date: Sun Oct 24 05:39:12 2021 +0200 Release as 4.9.1 and upload to Debian unstable as 4.9.1-1 commit 8a623b30ba7d9bb46c9476ac1088cada4be67d82 Author: Axel Beckert Date: Sun Oct 24 05:36:26 2021 +0200 Also create an .orig.tar.xz signature upon "make release" commit 57302507259dae7a6ba0ec1a004d6bc1434ba289 Author: Axel Beckert Date: Sun Oct 24 05:24:56 2021 +0200 Declare compliance with Debian Policy 4.6.0 No other changes were needed. commit ac04bed0f280888bc6b255f629f37e43130d61f5 Author: Axel Beckert Date: Sun Oct 24 05:09:08 2021 +0200 This seems closer to the original semantics commit cf693d9e64df1f6311ff7953a0cfed68a75cbd88 Author: Axel Beckert Date: Sun Oct 24 02:25:19 2021 +0200 Travis CI: stop testing again Perl "dev" It no more seems to exist. commit fc7c09596a7ed5fea37cf028d62a84434c966737 Author: Axel Beckert Date: Sun Oct 24 02:23:47 2021 +0200 Make test xt/gitignore.t work with git releases ≥ 2.32.0 commit 7ebb0f41a4caaa36a196e7bfafc02efcad4032c2 Author: Axel Beckert Date: Sun Oct 24 02:23:35 2021 +0200 Fix missing "|" in regex in Debian's 20-setup-apt Closes: #997668 commit 00527f64b2a4da983422c9e59f101eadb0d83fb9 Author: Axel Beckert Date: Tue Dec 29 12:23:16 2020 +0100 Release as 4.9 and upload to Debian Unstable as 4.9-1 commit 83c37b476a7534c432ecc9941817aeb989677da6 Author: Axel Beckert Date: Tue Dec 29 12:05:39 2020 +0100 Start all Debian releases since Stretch (9) with pygrub by default commit af6ceacc4c9dcf3e12f8ce0d40d883c93dddf527 Author: Axel Beckert Date: Mon Dec 28 05:08:18 2020 +0100 Fix typo in current changelog entry commit 6cdd1eb63f2aca261abf07c9e2880fc3ed2fbac1 Author: Axel Beckert Date: Mon Dec 28 02:22:37 2020 +0100 Add debian/changelog and NEWS.md entry for GL MR !1 commit 97dd8fafc8e7e246c89e313ec4de4cf487df367d Author: Wolfgang Karall Date: Tue Aug 23 13:35:39 2016 +0000 Use 'defaults' and not the IO-bottleneck of the decade 'sync' in the options for the root filesystem. commit 58899daffe78f4749a20d937bac8eea6dc16e8a3 Author: Axel Beckert Date: Sun Dec 27 17:13:41 2020 +0100 Add debian/changelog and NEWS.md entry for GH #57 commit 239f1e4c8857fa047c0d3935cdd237af5461c7fb Merge: 1a27e59 94514a3 Author: Axel Beckert Date: Sun Dec 27 17:09:24 2020 +0100 Merge branch 'cli-fix' of https://github.com/frootmig/xen-tools commit 1a27e59df7016f545fadfd9c7b9489ce92897b4a Author: Axel Beckert Date: Sun Dec 27 17:02:04 2020 +0100 This will become a feature release, too: Update version and NEWS.md commit b7486d427c562559eb91d71b2db1d1c845ee74e2 Author: Axel Beckert Date: Sun Dec 27 16:57:28 2020 +0100 Add debian/changelog entry for GH #58 and reformat its comments a bit commit 6aeb8d9d1105b751e34f6d222fb62bd33bd6868f Merge: f5dc8cb 7fbad42 Author: Axel Beckert Date: Sun Dec 27 16:40:55 2020 +0100 Merge branch 'netplan-p2p-support' of https://github.com/frootmig/xen-tools commit f5dc8cbf37ea2774b7d358898128ce55ceb2741d Author: Axel Beckert Date: Sun Dec 27 15:55:41 2020 +0100 Add debian/changelog entry for GH #62 commit 4aa9428e3b04e04329847126e007ed9812de1b1c Merge: a58cc83 967bdcf Author: Axel Beckert Date: Sun Dec 27 15:50:56 2020 +0100 Merge branch 'arm64-debian' of https://github.com/ianmclinden/xen-tools commit a58cc83c80484cb1bf5867ae15d2c9bb81b6112b Author: Axel Beckert Date: Sun Dec 27 15:19:59 2020 +0100 Adapt distributions.conf defaults to Ubuntu keyrings of 2018 As of now, Debian's ubuntu-keyring package hasn't been updated for more than two years. See https://bugs.debian.org/978438 commit 965839812c4af89105fa72b70692105ce0fb1bb0 Author: Axel Beckert Date: Sun Dec 27 14:34:05 2020 +0100 Bump recommended debootstrap version to 1.0.117 commit a9593dabf0c59a7ff2130fc7bdb9a7ea6a2c7281 Author: Axel Beckert Date: Mon Dec 21 00:35:56 2020 +0100 Update list of supported distributions in README and debian/control commit ea95b1ef032f0cb49ec411f90bf21f7bc8a01dfb Author: Axel Beckert Date: Sun Dec 20 22:40:57 2020 +0100 t/hook-apt.t: Special case for Perl 5.10 File::Copy in Perl 5.10 does not copy permissions, so let's fix it there and check for it elsewhere. This reverts the two commits 06b3faa1bf8af440f865322de91a03ecadd04e06 and 68c20b4e4e351846c80af98db75eee3030f25fa6 which did not help to fix this issue as the initially suspected noexec mount wasn't really there. Hopefully this finally resolves the test failures with Perl 5.10 in the new t/hook-apt.t. commit 68c20b4e4e351846c80af98db75eee3030f25fa6 Author: Axel Beckert Date: Sun Dec 20 20:48:17 2020 +0100 Travis CI: Make sure shell scripts in .travis.yml also work with bash, not just dash and zsh commit 06b3faa1bf8af440f865322de91a03ecadd04e06 Author: Axel Beckert Date: Sun Dec 20 19:45:18 2020 +0100 Travis CI before_install: Make sure we can execute scripts in /tmp/ Those build failures with Perl 5.10 seem to neither be related to xen-tools nor to Perl but to how the git repo is unpacked on Travis CI as executable bits are either missing or /tmp/ is mounted with "noexec". So add some code to before_install to 1) output some debug information on that issue and 2) abort early if executing scripts in /tmp/ fails. commit 0da2ed1365dfddac54ba2e095a8d46bc4684a820 Author: Axel Beckert Date: Sun Dec 20 08:47:31 2020 +0100 Fix test suite failures in a Sid chroot Problem was that the commented variant only was a new, $dist-security one, but is also written if the security repo is disabled with other distributions than sid/unstable. commit 285d2c80b9c9573aaa087d33fdff373dc16e1964 Author: Axel Beckert Date: Sun Dec 20 08:32:12 2020 +0100 Use regexp to check for $dist/updates vs $dist-security If the security repo will be enabled or not currently depends on the host's sources.list. So the resulting files differ depending on the host where the test is run. Add a TODO item to break with that "feature". Also mention in the TODO list that a repo on archive.debian.org should be used instead security.debian.org if the release is EoL. Currently the security mirror is hardcoded into the hook. commit ed497ab39cbb9228b2ead89fbfb128ad3be38f1e Author: Axel Beckert Date: Sun Dec 20 08:13:56 2020 +0100 Some 5.0 TODOs around the security APT repo commit 85c058381940ac7c31e80bc8538fab3887b10548 Author: Axel Beckert Date: Sun Dec 20 06:44:12 2020 +0100 Add test for $dist/updates vs $dist-security Uses Test::File::Contents, add it to .travis.yml and the according package as build-dependency in debian/control. commit c0cb19eefcca1f2eb46ceff95896686e50ba774a Author: Axel Beckert Date: Sat Dec 19 08:24:16 2020 +0100 Add debian/changelog entry for previous commit commit 67603c2d7402bbf8ca503270df0f780601538b43 gpg: Signature made Sat Dec 19 08:21:05 2020 CET gpg: using RSA key 4AEE18F83AFDEB23 gpg: please do a --check-trustdb gpg: Good signature from "GitHub (web-flow commit signing) " [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23 Merge: a816cc8 f065541 Author: Axel Beckert Date: Sat Dec 19 08:21:05 2020 +0100 Merge pull request #40 from blbradley/grub-silent-failure-fix fix update-grub chroot silent failure While it probably would be nicer to mount it at the beginning and umount it at the end, we have too many hooks already doing this and changing this seems a bigger task. commit a816cc81ae9234ef9eb5f249b6a5fa659d224d0e Author: Axel Beckert Date: Sat Dec 19 08:13:20 2020 +0100 Declare compliance with Debian Policy 4.5.1 No other changes were required. commit 01d7628770f36e6e1a78d8d469d1233ae0e83cf9 Author: Axel Beckert Date: Sat Dec 19 08:08:53 2020 +0100 Bump debhelper compatibility level to 13 Build-depend on "debhelper-compat (= 13)" to replace debian/compat. commit 1150835a89a11af2ee262cf6c98bf91cad96b631 Author: Axel Beckert Date: Sat Dec 19 08:07:11 2020 +0100 Bump debian/watch version from 3 to 4 Thanks Lintian! commit 17025182ebb752ee619e0d2a094abd0aed63879f Author: Axel Beckert Date: Sat Dec 19 08:06:48 2020 +0100 Bump version in Makefile and all scripts commit e7b2f1a3e7a6e1a19e4dfb9614dea900b83c4f47 Author: Axel Beckert Date: Sat Dec 19 07:54:18 2020 +0100 Add debian/changelog entry for previous commit commit fe4a18edefe9d499e6f2b4e47fe0726cce3f56ab Author: Andreas Sundstrom Date: Sat Oct 12 21:33:07 2019 +0200 Fix support for lvm_thin Closes: #942244 commit eab2940bf6d56538159808acb174bbda6271d343 Author: Axel Beckert Date: Sat Dec 19 07:25:34 2020 +0100 Reimplement $dist/updates vs $dist-security more backwards-compatible This reverts most code, but not the implemented functionality of commit 2fba5cb90e30f2bfab07782c9fa3b99275e769da. Requiring a config file change to still be able to install old distributions would make a bump of the major version necessary according to Semantic Versioning. Let's avoid that: The list of distributions with the old path scheme is finite and will never change again. Hence it's ok and especially backwards compatible to hardcode this list in hooks/debian/20-setup-apt. It's also less and more obvious (but not necessarily easier to read) code. But it's all in one place and not scattered over three files. And it's just one line instead like a dozen or two dozens. Closes: #972749 (kinda again) commit e8897649b7f1bb9cc21e007c30ddccdb2f6f49c4 Author: Axel Beckert Date: Sat Dec 19 06:11:19 2020 +0100 Fix mostly trailing whitespace in generated sources.list commit 2fba5cb90e30f2bfab07782c9fa3b99275e769da Author: Axel Beckert Date: Sat Dec 19 05:58:21 2020 +0100 Debian DomUs: Distinguish between $dist/updates and $dist-security From Debian 11 Bullseye onwards, debian uses $dist-security instead of $dist/updates as distribution part in /etc/apt/sources.list. Mark those distributions with the old-style subdirectory path with "security-subdir" in distributions.conf. Thanks to Paul Wise for the bug report (and hence reminding me of this) and for the suggestions on how to implement this (even if I didn't follow them for the sake of simplicity and no additional dependencies). Closes: #972749 commit 19399ecc708f6fd01c94adf689630061afd7972a Author: Axel Beckert Date: Sun Nov 15 00:33:10 2020 +0100 Add preliminary support for Debian 13 Trixie commit 6f291cebe7faa792f460509cac8591a7e0807cad Author: Axel Beckert Date: Fri Oct 30 19:40:21 2020 +0100 Full code name of Ubuntu 21.04 is now known commit 54d93cf3ed06832055cbb5bd670bf94bcf3afed9 Author: Axel Beckert Date: Fri Oct 23 18:47:55 2020 +0200 Travis CI: Use https://travis-perl.github.io/init commit b40759e8d87019834700184552b36a99b6d4a194 Author: Axel Beckert Date: Fri Oct 23 14:44:13 2020 +0200 Travis CI: Test more Perl versions Enable fast finish and allow "bleed" to fail. commit f5e7a2d44186c944c53de6e52bfde9e08aa5181e Author: Axel Beckert Date: Fri Oct 23 14:41:31 2020 +0200 Fix no-tabs.t failing on Travis CI: Replace all_perl_files_ok() commit 79650b9d7052e961a4f0737bdbb702125d2ab5f0 Author: Axel Beckert Date: Fri Oct 23 13:02:55 2020 +0200 Add preliminary support for Ubuntu 21.04 Hirsute H… commit 8c7d39800104c8175f3718c707297c3637a02d60 Author: Axel Beckert Date: Fri Oct 23 08:01:33 2020 +0200 Drop "dont-test" flag from bullseye commit f6c6c35b404d84bd4c4971e26cf0e2991d76ee67 Author: Axel Beckert Date: Sun Oct 11 02:26:34 2020 +0200 Support running tests verbosely with Make target "test-verbose" commit d7b794bc2c25f5a545ccc5cfa9c5ba55a7b4e4dd Author: Axel Beckert Date: Sun Oct 11 02:09:07 2020 +0200 Makefile: Actually install xen-resize-guest tool Thanks lintian for the spare-manual-page warning! commit d278bdc89e0d43d2a6a87086057675d6ccfa90c8 Author: Axel Beckert Date: Sun Oct 11 01:59:42 2020 +0200 Mark Debian 8 Jessie as EoL Reasoning: Debian 8 Jessie has still (external) ELTS until 2022. But debian-internal LTS has ended and it will likely vanish from the normal mirrors soon. And it is already available in the archive. (And some architectures are already only available in the archive.) Also mention marking Debian 7 Wheezy as EoL in NEWS.markdown. (Was already mentioned in debian/changelog.) commit 284657f8bcecb7f25fbf8a32eb1e81f5d3572d07 Author: Axel Beckert Date: Sun Oct 11 01:55:10 2020 +0200 distributions.conf: Fix typo in release name of future Debian release Debian 12 will be called bookworm, not bookwork. commit 4ac4ae5987e79bdeaa4540a5ac41258415505c37 Author: Axel Beckert Date: Sun Oct 11 01:43:10 2020 +0200 Update list of Ubuntu releases up to Groovy Gorilla commit 61ac300e43cd8f267987e3174b92788f017e099d Author: Axel Beckert Date: Sun Oct 11 01:34:33 2020 +0200 Fix four-letter day of week abbrev. in old debian/changelog entries See discussions in https://bugs.debian.org/971974 and https://bugs.debian.org/971975 commit 967bdcfaa980549fa4a4fff99df149c92a32667f gpg: Signature made Thu May 14 19:16:09 2020 CEST gpg: using RSA key 7AAC290BC4F5340803398479E42ACDC5E712D22F gpg: Can't check signature: No public key Author: Ian McLinden Date: Thu May 14 12:16:09 2020 -0500 Add debian install rules for arm64 commit 7fbad420c9fa0f8d93fa3ff7dbbe8d64f6982af6 Author: voja Date: Wed Apr 17 20:01:48 2019 +0200 Added p2p support for Ubuntu netplan networking commit 94514a36049a468c29284f7ae24f92649338c347 Author: voja Date: Wed Apr 17 19:50:47 2019 +0200 Fix storage commandline options not overriding xen-tools.conf settings Was already fixed in xen-create-image, but neither in xen-delete-image nor in xen-update-image. Use the same code as in xen-create-image in those two tools, too. commit 7c8d466a536ccbd45bcf9393f4345e1578b2fc94 Author: Axel Beckert Date: Tue Apr 16 13:28:40 2019 +0200 Recommend deboootstrap ≥ 1.0.110~ At least debootstrap 1.0.110 (Buster/Sid) or 1.0.110~bpo9+1 (Stretch-Backports) is required for: * working bootstrapping of Ubuntu 6.06 Dapper and 6.10 Edgy (see #659360). * Support of Ubuntu 17.10 Artful, 18.04 LTS Bionic, 18.10 Cosmic, and 19.04 Disco. commit 7dbb76941db97cae2df3add3549ae967e9e75070 Author: Axel Beckert Date: Tue Apr 16 13:23:55 2019 +0200 Mark Debian 7 Wheezy as EoL commit a11c9bf1263ae5adec739b95fa7f42dcd5d4d99e Author: Axel Beckert Date: Tue Apr 2 17:38:14 2019 +0200 Travis CI: Also test against Perl 5.26 and 5.28 commit 2a9fdc71e784c7824f4cd57316433a3a2a270570 Author: Axel Beckert Date: Sat Feb 9 01:57:46 2019 +0100 Release as 4.8 and upload to unstable as 4.8-1 commit 89795d71dcbb11903309f554c028ebd7b2981ccc Author: Axel Beckert Date: Sat Feb 9 01:00:38 2019 +0100 Add a DEP-12 debian/upstream/metadata file commit 2a3c3cebfb9d882cf47ce1cb6f6dd5ef7bef3a9e Author: Axel Beckert Date: Sat Feb 9 00:49:31 2019 +0100 Add link to upstream changelog to README commit 2275c8f293d0873b4361850f53a22585779b4c58 Author: Axel Beckert Date: Sat Feb 9 00:47:12 2019 +0100 Clarification commit 449cc9a0bfb7520802a70325faa28dd39ab8b32c Author: Axel Beckert Date: Sat Feb 9 00:44:10 2019 +0100 Whitespace between footnote markers commit baee245fbd0fcd72e958dca13d6f38ebc2b9a3f6 Author: Axel Beckert Date: Sat Feb 9 00:41:36 2019 +0100 Mark those Debian/Ubuntu releases which might fail inside chroot w/o vsyscall=emulate commit ac55fba904568ad0cb487aacf13e06c30d9770be Author: Axel Beckert Date: Fri Feb 8 22:23:40 2019 +0100 Mention netplan.io also in NEWS.markdown commit 2a476d1037d3ee39201d6129f9487addaf90d271 Author: Axel Beckert Date: Fri Feb 8 17:42:40 2019 +0100 More Markdown formatting commit 19f30610a53d647a6e415283436a3214f2475903 Author: Axel Beckert Date: Fri Feb 8 17:40:27 2019 +0100 Proper Markdown formatting commit a8df6e002f1652352013fbdeddb8069cc63e12ca Author: Axel Beckert Date: Fri Feb 8 17:37:11 2019 +0100 distributions.conf now supports arbitrary keyring files Any tag ending in ".gpg" will be considered to be the according keyring file in /usr/share/keyrings/. This is at least needed for some Ubuntu releases which were eol'ed in the past few years, especially because Ubuntu split up their keyrings much more finegrained than just "archive" and "archive-removed-keys". commit 0d9a7cb12eacc7d355209df53288d0595ac6ebdb Author: Axel Beckert Date: Fri Feb 8 17:11:05 2019 +0100 Reenable release-testing of edgy and dapper since #659360 in debootstrap is now fixed commit b05087b1cb5b3fdca4b6b4032438e0c6c357e3f6 Author: Axel Beckert Date: Fri Feb 8 16:45:19 2019 +0100 Whitespace fix commit 58af2790a1f65849d7ea8cac9e7378679bfe2ebd Author: Axel Beckert Date: Fri Feb 8 16:44:22 2019 +0100 Add an explaining link under ASLR commit 1cda58c756149d025f8a8a528953c2489f829a8d Author: Axel Beckert Date: Fri Feb 8 16:41:30 2019 +0100 Make the footnotes compact description list Hopefully, this is still recognised by modern browsers. commit c66e5427ed3c75fc57f91b5de9ec2358783123d8 Author: Axel Beckert Date: Fri Feb 8 16:40:08 2019 +0100 File name and line numbers are not necessary for this warning → add \n commit ad013d7b865ba125fa48a24fee821bccaad951a9 Author: Axel Beckert Date: Fri Feb 8 16:39:07 2019 +0100 Try to make a footnote for the #659360 reference, as it's less important now commit a6389c48dfe602c883ab9ae96ad7e9247066abe0 Author: Axel Beckert Date: Fri Feb 8 15:13:58 2019 +0100 While officially being EoL, Ubuntu 17.10 Artful is still on the normal mirrors So remove to eol tag again for now. commit 8d07785c3b6dc721c295c80a157ad87ff7744112 Author: Axel Beckert Date: Fri Feb 8 14:51:39 2019 +0100 More README fine-tuning commit ead18c819a5f72ead8a9f5f733a6e8e78da29369 Author: Axel Beckert Date: Fri Feb 8 14:51:16 2019 +0100 Fix wrong URL in README commit e3ab23b55d20200d92951c787211de76a4b3ae14 Author: Axel Beckert Date: Fri Feb 8 00:27:21 2019 +0100 README fine-tuning commit 82ecd4c6d283547eeaec070aab2e8898cfda167d Author: Axel Beckert Date: Fri Feb 8 00:27:06 2019 +0100 Document potential need for the vsyscall=emulate kernel commandline option commit f50d1e37a207eb181924158b6e52e49ce72c8776 Author: Axel Beckert Date: Thu Feb 7 16:26:06 2019 +0100 Only run xen-toolstack helper script if both, xm and xl are present Avoids warning about deprecated helper script. commit c774f81e8031dafcbc6d5a92f52e4a15723c027b Author: Axel Beckert Date: Thu Feb 7 16:16:54 2019 +0100 More unconfusing of Emacs' syntax highlighting commit c8316b0076d260c7bfd82cc6c5cae358aef38fa3 Author: Axel Beckert Date: Thu Feb 7 16:10:31 2019 +0100 Unconfuse Emacs' syntax highlighting commit d5c45895195382c161499814f633644e8fbb7148 Author: Axel Beckert Date: Thu Feb 7 15:51:11 2019 +0100 Fix copy and paste "typo" commit 17d868d38d383f610984818ada48699003939323 Author: Axel Beckert Date: Thu Feb 7 15:48:19 2019 +0100 Fix output redirection in release-testing script commit 42e7dca4bf6cfcf9132d7dba07ab5a9caf3c472f Author: Axel Beckert Date: Thu Feb 7 15:35:12 2019 +0100 Mark Ubuntu's devel alias as dont-test as debootstrap doesn't know about it commit 4872d18989edff15447118c954c8a1b0fabec082 Author: Axel Beckert Date: Thu Feb 7 13:21:07 2019 +0100 Many improvements for the release-testing script * Don't abort on first failure, but log it and print a summary at the end. * Allow to choose which distributions to test via environment variable $DISTRIBUTIONS. * Don't overwrite log files from previous runs. Add a time stamp to the log file name instead. commit 1a5fd541cdf9ed1c845571cb97129b83f3b7c201 Author: Axel Beckert Date: Thu Feb 7 03:28:54 2019 +0100 Drop pygrub path detection from xm.tmpl Xen prefers a path-less bootloader='pygrub'. commit 9817ff95c3dc2172e50e5bcbb5718af5efe4f21b Author: Axel Beckert Date: Thu Feb 7 02:54:11 2019 +0100 Suggest grub-xen-host Support for pvgrub2 is not yet there, but it can be used already by tweaking configuration files. commit 26427c9dc860117b921b857a45b3801e43d0dc37 Author: Axel Beckert Date: Thu Feb 7 02:51:25 2019 +0100 Set Ubuntu fallback suite to the latest LTS, i.e. 18.04 Bionic commit 5c76eb1a7d2386b80d64065b984babcf9576e324 Author: Axel Beckert Date: Thu Feb 7 02:50:20 2019 +0100 Migrate httpredir.debian.org → deb.debian.org commit 8723db088024a2012f43a3647c289c4862d5d3a9 Author: Axel Beckert Date: Thu Feb 7 02:48:17 2019 +0100 Fix copy & paste error in 9ee1f637 which prevented netplan to work commit 76221f599957214f0a025e47f4c60f10587b82e2 Author: Axel Beckert Date: Mon Feb 4 02:04:21 2019 +0100 Add changelog items for previous commit commit 58306b928172afa7c87c1ca83d9d174dc3ab13cc Author: Pietro Stäheli Date: Tue Feb 21 14:32:30 2017 +0100 Add support for really random MAC addresses Closes: #855703 commit 7ce42e978198a58b99aadd439d0e3abfc2f4d333 Author: Axel Beckert Date: Mon Feb 4 01:35:20 2019 +0100 Use ubuntu-keyring instead of now transitional ubuntu-archive-keyring Keep the latter as alternative to allow one to install the xen-tools package also on older Debian or Ubuntu releases. commit 3daa69256bf3a6d333fbc49b98aae1cad7527110 Author: Axel Beckert Date: Mon Feb 4 01:25:19 2019 +0100 Add changelog items for previous commit commit 5587dc796a24d6b7c7d71b63b9944568c57fc5fd Author: Nico Boehr Date: Sun Feb 22 18:47:05 2015 +0100 Add support for LVM thin provisioning This adds a parameter '--lvm_thin' to xen-create-image that allows you to specify the thin pool where the thin logical volumes will be created. If '--lvm_thin' is not specified, nothing will change and thick provisioned volumes will be created. [Committer's note: Code logic taken from https://github.com/youknow0/xen-tools-thin-provisioning/commit/a6f267ef and adapted to current code. Needed more than just a rebase. All trailing whitespace has been removed, too.] Fixes xen-tools/xen-tools#47. commit 9ee1f63705b562093f7c2a6fc6d7cc456bd65128 Author: Axel Beckert Date: Sun Feb 3 20:45:56 2019 +0100 Create hooks/artful with new 40-setup-networking-deb-netplan Since Ubuntu 17.10 Artful, Ubuntu has decided to use netplan instead of ifupdown. 40-setup-networking-deb-netplan has been contributed by Arno and Peter. (see https://github.com/xen-tools/xen-tools/issues/51#issuecomment-412019510) Closes xen-tools/xen-tools#51. Since we have to make a variant of hooks/karmic/ as hook/artful/, rename hooks/karmic/80-install-kernel (which previously was unique to hooks/karmic/) to hooks/common/80-install-kernel-ubuntu and add symlinks to it from hooks/karmic/ and hook/artful/. commit cfd4406a9302093f59a7dedf4ccb5284cf7cdaf0 Author: Axel Beckert Date: Sun Feb 3 20:07:24 2019 +0100 Add preliminary support for future Debian and recent Ubuntu releases Partially addresses GH #51 commit 647efb0e123bb6879c6ce3b19ce17155b271a269 Author: Axel Beckert Date: Sun Feb 3 19:40:11 2019 +0100 Check $DEB_BUILD_OPTIONS and $DEB_BUILD_PROFILES in override_dh_auto_test Fixes lintian warning override_dh_auto_test-does-not-check-DEB_BUILD_OPTIONS. commit 0a351b4dfb8bb7bf7db490ab8a29ebb8852a9c72 Author: Axel Beckert Date: Sun Feb 3 19:37:26 2019 +0100 Separate upstream and packaging changelog items commit dccf78c65e005b1854ed829e259ef1b09f5c0686 Author: Axel Beckert Date: Sun Feb 3 19:30:34 2019 +0100 Set "Rules-Requires-Root: no" commit 3a15c11a7eb160f8250711d22feacc5b58005704 Author: Axel Beckert Date: Sun Feb 3 19:29:58 2019 +0100 Declare compliance with Debian Policy 4.3.0 No other changes were required. commit 19e117b9f305f435fb70b0f3708432f3699c89dc Author: Axel Beckert Date: Sun Feb 3 19:25:32 2019 +0100 Bump debhelper compatibility level to 10 Update versioned debhelper build-dependency accordingly. Only using dh compat level 10 allows one to still build the package on Debian 9 Stretch without backports (debhelper 10.x), on Ubuntu 18.04 LTS (debehlper 11.x) and on Ubuntu 16.04 LTS with backports (debhelper 10.x). commit f1052fcdaa1198446a81b96c828a8e6a8dcfb5d3 Author: Axel Beckert Date: Sun Feb 3 17:41:09 2019 +0100 Add changelog and NEWS entries for Yuri's pull-request #42 commit b9e0284a43ed1211536072c0919cd8809d30928f Author: Axel Beckert Date: Sun Feb 3 17:38:22 2019 +0100 Drop --quiet from installDebianPackageAndRecommends See https://github.com/xen-tools/xen-tools/pull/42#issuecomment-212903567 commit 26a698bbd646211acdad2dc3e3634c1ff0cfedf1 Merge: 1ad05c0 230167d Author: Axel Beckert Date: Sun Feb 3 17:35:52 2019 +0100 Merge branch 'no-progress-in-logs' of https://github.com/YSakhno/xen-tools into YSakhno-no-progress-in-logs commit 1ad05c0d66628c46232902174726c6396dcf5fd1 Author: Axel Beckert Date: Sun Feb 3 17:32:29 2019 +0100 Mention ZFS support in changelog and NEWS, bump version to 4.8 (unreleased) commit 8f527122c561f37fbf5fefc44e3c0736bd44e3cb Merge: c3b8d7f 1634fe5 Author: Axel Beckert Date: Sun Feb 3 17:25:08 2019 +0100 Merge branch 'zfs-volume' of https://github.com/brigriffin/xen-tools into brigriffin-zfs-volume commit c3b8d7fda5b555cc49774e0982b93d6a7b9d6e1c Author: Axel Beckert Date: Sun Feb 3 17:20:51 2019 +0100 Add some more details to previous changelog item commit 53800af963f5b764c6ab2ded1a1518e35627b2ff Author: Jelmer Vernooij Date: Tue Dec 18 21:22:28 2018 +0000 Trim trailing whitespace. Fixes lintian: file-contains-trailing-whitespace See https://lintian.debian.org/tags/file-contains-trailing-whitespace.html for more details. commit a78388dd1e3e3a9adee1ca22c41dafb0ebbc583a Author: Axel Beckert Date: Sun Feb 3 17:12:35 2019 +0100 Bump version number to 4.7.1 (yet unreleased) commit 07e56db75c4b2bf273c1226476957d4ae6d0ab87 Merge: 422f682 6485f68 Author: Axel Beckert Date: Sun Feb 3 17:09:10 2019 +0100 Merge branch 'debian' commit 1634fe5e80973bfedbd8d31b32b52b9802471bd9 Author: Marc Date: Sun May 6 00:01:16 2018 +0200 Remove tabs commit f1083cfa5587af8b833760e0ef70cd637a4c5f3c Author: Marc Date: Sat May 5 23:14:00 2018 +0200 Add support for ZFS volumes commit 6485f686b76b4b840db5ab7c0312e7d2dbec4c38 Author: Axel Beckert Date: Mon Jan 22 23:29:15 2018 +0100 Prefer btrfs-progs over now transitional package btrfs-tools Closes: #878910 commit 207c73c7bb6f347eca71787d9ccd5e7e4d691543 Author: Axel Beckert Date: Mon Jan 22 23:27:43 2018 +0100 Recommend e2fsprogs Closes: #887236 commit fff2eccbe3b7d0c7638a0be47dfe8875e81dba3c Author: Axel Beckert Date: Mon Jan 22 23:24:09 2018 +0100 Switch "activate" trigger to "activate-noawait" commit e6ffe50bb64d944468671fc174272409610c3d15 Author: Axel Beckert Date: Mon Jan 22 23:21:46 2018 +0100 debian/control: Drop "Testsuite: autopkgtest" header, no more needed commit 76a35e28d12d72ff465c53adf5f4f8c8e1cdfaa3 Author: Axel Beckert Date: Mon Jan 22 23:19:37 2018 +0100 Use "$(MAKE)" instead of "make" in debian/rules commit de1eea7fa22b86fabf6875724d9f7809cea67c20 Author: Axel Beckert Date: Mon Jan 22 23:18:16 2018 +0100 Declare compliance with Debian Policy 4.1.3 Change Priority from extra to optional. commit 422f682b37016d3d1df989265c5f7b34fdadcd33 Author: Axel Beckert Date: Fri Aug 4 00:44:20 2017 +0200 Fix comments wrt. /etc/xen-tools/skel/ commit 326bd72ebbf6b0d75770026cf09106abf337924b Author: Axel Beckert Date: Mon Jan 23 01:39:23 2017 +0100 Also fix wrong bug number for #849867 in upstream changelog commit 52c39a7c09f1d77a2b0390f2d0e1e0948ca8e437 Author: Axel Beckert Date: Mon Jan 23 01:39:04 2017 +0100 Debian: Fix wrong bug number for #849867 in previous changelog entry commit b7e8fafcb1e227e4eccd8c22e4fcf36687d6a34b Author: Axel Beckert Date: Mon Jan 23 00:41:35 2017 +0100 Release as xen-tools 4.7 Also upload to Debian as 4.7-1. commit 44fc213fc796ba7ea3f3160bec38a34d5290188c Author: Axel Beckert Date: Tue Jan 17 21:20:01 2017 +0100 release-testing: Add some helpful output and raise waiting time to 10 seconds commit 862ce3b17c96f8b76db596b6aa16fdba3d03b5b7 Author: Axel Beckert Date: Tue Jan 17 21:06:39 2017 +0100 release-testing: Untangle deletion and creation of Domus This hopefully further mitigates LVM race conditions during heavy testing. commit 03179408158491c3fbb95faa7a17db2149b7479e Author: Axel Beckert Date: Tue Jan 17 20:41:54 2017 +0100 release-testing: Further mitigate LVM race conditions by using xen-delete-image commit c3fcf5f4baaf76e82e3391fe86ed1d548de72174 Author: Axel Beckert Date: Tue Jan 17 20:03:52 2017 +0100 Don't include oldoldstable in release testing It's not always and especially currently not available. commit ab9b6c7d3828669c4746062b497545a39c1b31f9 Author: Axel Beckert Date: Tue Jan 17 20:02:35 2017 +0100 release-testing: Use exec to create the log to not cover the exit code commit d315f17effc33ff6ab4c2ef5c03ef1d64842fc2d Author: Axel Beckert Date: Tue Jan 17 18:46:39 2017 +0100 Work around LVM related race condition when using --force with LVM If an "lvremove" is immediately followed by an "lvcreate" for an LV with the same name, "mkswap" (and maybe other commands) occasionally fail with "Device or resource busy". Work around it by using sync and sleep. commit 9c0086120fc02e476ef9e04fb9dc7b4f04fcff32 Author: Axel Beckert Date: Tue Jan 17 17:58:17 2017 +0100 List new distributions.conf keywords explicitly commit 76aabb0eb5f6facfbeaabc66fcdcbbcbe0d2d18e Author: Axel Beckert Date: Tue Jan 17 17:55:38 2017 +0100 Declare testability in distributions.conf instead of hardcoding it Mark buster and bullseye as not testable, too, for now. Move comment about #659360 (debootstrap cannot build Ubuntu Edgy or earlier) from release-testing to distributions.conf, too. commit 126d0ad5bc4d06a491d43fa60460193c13d4c470 Author: Axel Beckert Date: Tue Jan 17 17:42:37 2017 +0100 release-testing: Use "set -e" instead of "|| break" commit 5b8ef34ee68c7b0b713d8b7e6a2fa10204f4f213 Author: Axel Beckert Date: Tue Jan 17 17:40:26 2017 +0100 Use per-test-unique host names Avoids race conditions with immediately re-used LVs. commit 0f1daa0b27f4c49005e002dc44bc8046a933230b Author: Axel Beckert Date: Mon Jan 16 19:38:07 2017 +0100 Support cases like Squeeze being EoL, but its key still being in the default keyring commit 9647ab082cdd2215ef6060d70971834a459ba034 Author: Axel Beckert Date: Mon Jan 16 19:32:36 2017 +0100 Fix emacs syntax highlighting At least GNU Emacs 25 doesn't seem to like HEREDOCS with underscores in its delimiters. commit 799052c2c972d24e53b7006c8266282d416dca2a Author: Axel Beckert Date: Tue Jan 10 23:58:30 2017 +0100 [release testing] Heavier workaround for LVM-related race conditions commit c84431bdb03cbf632f1cf6e96d77722433fb3184 Author: Axel Beckert Date: Tue Jan 10 22:22:07 2017 +0100 Fix missing colon Thanks Lintian! commit 9f6b91fdbfd8c213880dc717c085b498211c6877 Author: Axel Beckert Date: Tue Jan 10 22:20:57 2017 +0100 Preliminary support for Ubuntu 17.04 Zesty Zapus commit 1bd9b3e1a81f75cbd948de953cf9938d300c3360 Author: Axel Beckert Date: Tue Jan 10 21:48:42 2017 +0100 Add changelog items for previous commit commit 07d014a0d67a2096183c0c9354e9aec135c30df0 Author: Santiago Vila Date: Thu Oct 9 18:54:28 2014 +0200 Fix possible missing gateway in generated /etc/network/interfaces Closes: https://bugs.debian.org/764625 commit 66a74b6f9f4deef362035fdba374da90ebf53c2f Author: Axel Beckert Date: Tue Jan 10 21:32:18 2017 +0100 Add changelog items for previous commit commit ef096628225bd8b2ef6a8c18fd4743f5fdbfe8f6 Author: Daniel Reichelt Date: Sun Oct 30 20:23:40 2016 +0100 Fix inconsistent handling of --nopygrub parameter Closes: https://bugs.debian.org/842609 commit 40191bbd074897a040edd9cb707f902e642f31dd Author: Axel Beckert Date: Tue Jan 10 21:24:13 2017 +0100 Default file system is now ext4 (instead of ext3) commit 7a3791d1aac6de24f7505aeef4caa64cf1173f5f Author: Axel Beckert Date: Tue Jan 10 21:05:10 2017 +0100 Risen default values for RAM sizes in /etc/xen-tools/xen-tools.cfg 128 MB are no more sufficient to boot Debian Sid. It needs at least around 136 MB on amd64 as of now. Closes: https://bugs.debian.org/849867 commit 4d4daca74585661ea43cf8bc1a2b807ffc86cbc1 Author: Axel Beckert Date: Thu Aug 11 21:47:35 2016 +0200 Fix typos found by check-all-the-things/spellintian commit bdc34f7deb6e405acf77bdf3bfd9b0694296967b Author: Axel Beckert Date: Thu Aug 11 21:36:35 2016 +0200 Travis CI: Also check with Perl 5.24 commit 18b76606d2a2f5aac4487de461cc50d242cae6e3 Author: Axel Beckert Date: Thu Aug 11 21:35:41 2016 +0200 Fix typos found by check-all-the-things/codespell commit 7e6bbc01a8a96651d83018e8ccfd2efcbe045432 Author: Axel Beckert Date: Thu Aug 11 20:55:12 2016 +0200 Clarify one paragraph in SUPPORT.markdown commit ca9e091d4bea14bdadcbf3010833f4c7f64e5c08 Author: Axel Beckert Date: Thu Aug 11 20:52:05 2016 +0200 Switch many URLs to https://; update them if broken or redirected commit 32fcc069b45c772b14a5a46515e5e4cc29efc9c7 Author: Axel Beckert Date: Thu Aug 11 20:08:29 2016 +0200 Ignore debhelper stamp files commit 5d7954dde215d8e18f9a07394b3cf6c405dc220a Author: Axel Beckert Date: Thu Aug 11 20:04:28 2016 +0200 Support Ubuntu's "devel" alias commit beda1b78a50e177598013185245340c502cab0b3 Author: Axel Beckert Date: Thu Aug 11 20:02:21 2016 +0200 Update distribution list commit e53e8ed2d8f8351ca0b4506df5f0ad3b609be725 Author: Axel Beckert Date: Tue Jun 7 09:09:25 2016 +0200 TODO: Fix xdm and gdm roles wrt. to uptodate package names commit 230167d84af2d8fe4c07c03bac5b94bd301b356e Author: Yuri Sakhno Date: Wed Apr 20 14:24:08 2016 +0300 Small fix due to some messages being written to stderr rather than stdout commit 87dd127cf8578e576e7aacac97de62b3ca983119 Author: Yuri Sakhno Date: Wed Apr 20 11:45:39 2016 +0300 Eliminate progress reporting which is useless in logs commit b0177f013e8ad79d5b982a9703df08a79950defa Author: Axel Beckert Date: Sun Apr 17 01:00:18 2016 +0200 Debian packaging: Use NEWS.markdown as upstream changelog No more install it as separate documentation. commit a2438497c7d493f7eec0da1bf2b12f19ad1ee1c8 Author: Axel Beckert Date: Sun Apr 17 00:56:30 2016 +0200 Fix typo found by lintian commit 808bbe790f737710f9783296b31175edc7509a87 Author: Axel Beckert Date: Sun Apr 17 00:53:53 2016 +0200 Declare compliance with Debian Policy 3.9.8 No further changes were required to reach compliance. commit bfc7c833a7a25e13603a91fc94cbae797af737f2 Author: Axel Beckert Date: Sun Apr 17 00:51:59 2016 +0200 Add changelog entries for previous fix … and other minor stuff. commit fa276179d86b404360c1a7f2f97a162b3580175b Author: Yuri Sakhno Date: Sat Apr 16 21:45:00 2016 +0300 Fix for the exit code reporting in case of error commit f065541445ca887ecfca64b9eeec8db6f19b83bc Author: Brandon Bradley Date: Wed Feb 17 15:55:14 2016 -0600 fix update-grub chroot silent failure commit 7e7feb49b547f2c977844bca93b1d82d750a9176 Author: Axel Beckert Date: Thu Dec 24 11:04:51 2015 +0100 Add a short sleep to release-testing for umount race condition commit 0f731a049c38f2273bd065e7c86f6afa58bda7a4 Author: Axel Beckert Date: Wed Dec 23 18:07:46 2015 +0100 Prepare release 4.6.2 commit cf034d932e35f3a20de43dd14e8b83f8023aa6ff Author: Axel Beckert Date: Wed Dec 23 18:12:30 2015 +0100 Fix unescaped braces (deprecated with Perl 5.22) in t/plugin-checks.t commit 761f324a14829daa9f08dad5b08c949b09637721 Author: Axel Beckert Date: Wed Dec 16 19:55:00 2015 +0100 Travis-CI: Also test with Perl 5.22 commit b16fe289258b973612655a95deeadcb5d9563c46 Author: Axel Beckert Date: Wed Dec 16 18:01:38 2015 +0100 Make t/hooks-inittab.t using its own inittab copy Don't use the system's one. Besides being non-existent, it can look like whatever. This resolves GH-36. commit 3169cc49b7b4f8fbcb6f9d6de8c8218400f84c15 Author: Axel Beckert Date: Fri Dec 11 00:18:11 2015 +0100 Add changelog entries for the two previous pull requests commit 10fe70b923a52cc9f9a41fca3c81a466d57918ac Merge: 0f1a90c 19db4cd Author: Axel Beckert Date: Fri Dec 11 00:15:09 2015 +0100 Merge pull request #37 from nirgal/patch-1 Fixed typo in initramfs comment commit 0f1a90cc1def44f12ed8c1214f116c52c4a4b056 Merge: 411a0a3 0682c1c Author: Axel Beckert Date: Fri Dec 11 00:14:29 2015 +0100 Merge pull request #38 from olivierpierre/master In etc/xm.tmpl, added /usr/local/bin/pygrub to pygrub search path. commit 0682c1c704600aa08d91a8e08c0d38532b750bca Author: Pierre Olivier Date: Thu Dec 10 15:38:58 2015 -0500 In etc/xm.tmpl, added /usr/local/bin/pygrub to pygrub search path. commit 19db4cd9e235506d4e85b4a0abdf861e6784640b Author: nirgal Date: Sun Nov 22 14:05:20 2015 +0100 Fixed typo in initramfs comment commit 411a0a34c64a1d82ee47a98d063eb1e736309ce9 Author: Axel Beckert Date: Sat Oct 24 02:45:37 2015 +0200 Also ignore /debian/xen-tools.*.debhelper commit a9a626883a4ea20ccfd0851a3dea0a1ac150664c Author: Axel Beckert Date: Sat Oct 24 02:42:54 2015 +0200 Support checking upstream GPG signature in debian/watch commit f5c88f830f9ebb7285b61ae99aca70a4d2a852c2 Author: Axel Beckert Date: Sat Oct 24 01:15:22 2015 +0200 Release as 4.6.1 commit 919f06c8e12d64b3d37119d22899bbb1043c257c Author: Axel Beckert Date: Sat Oct 24 00:11:35 2015 +0200 No more use $#array in boolean context This fixes a regression introduced in 503db1668b595d71b45a94d7391d5c9e6b9e9d1e. `@array = undef` doesn't empty an array but fills it with one item which is undef. Hence `$#array` is zero and hence false. Since the commit above, `@array = ()` was used instead of `@array = undef`, hence `$#array` no more was false when the array seemed to be empty (but wasn't). This caused an empty partition table in the configuration file and hence prohibited the start of the DomU. This commit fixes the according `!$#array` to just `!@array` and adds the according changelog entry for both commits. (I initially thought that such a tiny commit like the one above is not worth being mentioned. I obviously was wrong.) commit 53b2743e9306134620edb992e2b3f6ef7bc194e1 Author: Axel Beckert Date: Fri Oct 23 22:27:45 2015 +0200 Fix typo in previous changelog entry commit 377e7b2f0bbedd1c7734d145389e24b92b00dffc Author: Axel Beckert Date: Fri Oct 23 21:19:32 2015 +0200 Add "(LTS)" to all Ubuntu LTS releases listed in README commit 7f16aa06fef587c59cc02cbd7de2cac2d202145a Author: Axel Beckert Date: Fri Oct 23 21:18:48 2015 +0200 Preliminary support for Ubuntu 16.04 LTS Xenial Xerus commit ae4f1587fd0b186471a9db1fc70ca5fe8e67ea18 Author: Axel Beckert Date: Fri Sep 11 12:04:54 2015 +0200 Remove obsolete conffile via dpkg-maintscript-helper commit 5c0679ca45ac4b714d56255ca29385ced2bd95fa Author: Axel Beckert Date: Thu Jul 30 18:57:52 2015 +0200 Fix Perl warning in t/hook-inittab.t if /etc/inittab isn't present aka "proper use of skip". Fixes autopkgtest which failed due to STDERR output. commit 00d283cf24a4e22434b91f26ad9c8c0c3282f6e6 Author: Axel Beckert Date: Tue Jul 28 16:13:04 2015 +0200 #787117 in debootstrap has been fixed, remove according warnings from README commit c3389230522df0b91558f5e9aac2ea2152d3d303 Author: Axel Beckert Date: Tue Jul 21 15:27:39 2015 +0200 Add note that most TODOs were moved to GitHub's issue tracker commit c2578fe537ee4bad2b49ac20771241e7c687d913 Author: Axel Beckert Date: Tue Jul 21 15:24:38 2015 +0200 Remove obsolete TODOs commit f4bcc02bdbcd046cc93aa61eff67fdd0114f8cbd Author: Axel Beckert Date: Tue Jul 21 15:23:47 2015 +0200 Remove from TODO what has been copied to GitHub Issues commit 503db1668b595d71b45a94d7391d5c9e6b9e9d1e Author: Axel Beckert Date: Tue Jul 21 13:36:01 2015 +0200 Don't use @array = undef commit 229d20b16bea536d4f2eeba550f70b44e65cdfe0 Author: Axel Beckert Date: Tue Jul 21 13:35:04 2015 +0200 Move remaining contents of KNOWN_BUGS.markdown to the GitHub issue tracker commit ec4b692c22730adea0fc7ce9eb3ce0a5747f3133 Author: Axel Beckert Date: Tue Jul 21 13:20:34 2015 +0200 Remove already fixed issue from KNOWN_BUGS According to the `mount(8)` man page, `-a` mounts the filesystems _following their order in fstab_. So reproducing that does not help in our case and the implemented workaround (sort by mountpoint length) should be sufficient. commit d04850da83acf14921dd714f2d20a8fb41112512 Author: Axel Beckert Date: Tue Jul 21 12:17:28 2015 +0200 Sort distribution-specific bug trackers last commit 00d405d71d460523e6daff613bce5d22af64c61f Author: Axel Beckert Date: Tue Jul 21 12:15:43 2015 +0200 Integrate BUGS.markdown into README.markdown commit 058cf38946ef0ace8eaef3f610d00bc3fac0b315 Author: Axel Beckert Date: Tue Jul 21 12:05:57 2015 +0200 Declare GitHub as primary hosting commit 163ea52097e545b45ff150b5a08c72e55303383d Author: Axel Beckert Date: Mon Jul 20 18:33:48 2015 +0200 Remove superfluous blank line commit e7607fa011ff4312bcc45b0ce662eed09a404f93 Author: Axel Beckert Date: Mon Jul 20 16:05:18 2015 +0200 Release as 4.6 commit 1d752fbb3e35e9b4babc80bcfe016073e3fd5b19 Author: Axel Beckert Date: Mon Jul 20 16:03:21 2015 +0200 Update NEWS.markdown Reformat older entries slightly to make them all identically formatted. commit bf73868a07936ca0848e2932a65ce592e0e73dde Author: Axel Beckert Date: Mon Jul 20 14:21:53 2015 +0200 Update changelog for commits by Félix Barbeira This closes GH-2. commit 1396c05bf7cee6d202a3e9d0a4b85b1bf3e67d38 Author: Félix Barbeira Date: Tue Apr 28 14:03:24 2015 +0200 Added support for VLAN especification commit 1df5885368de620dde5c9b49dc7695df4224cde1 Author: Félix Barbeira Date: Tue Apr 28 13:21:30 2015 +0200 VLAN integration VLAN integration with openvSwitch. commit 9f3da6c515aa832b73fdd2e95438e2099b1fa112 Author: Axel Beckert Date: Mon Jul 20 13:30:32 2015 +0200 Document how to add wily support to debootstrap until it's fixed commit b5ad1df1c12605e92f25ac73c9a6e5e280022f56 Author: Axel Beckert Date: Mon Jul 20 13:24:17 2015 +0200 README: No more Dom0 testing done for Lenny and Squeeze commit 1f4b04c2d4324cca33ff15e66d700415ae5f4d60 Author: Axel Beckert Date: Fri Jul 17 22:42:20 2015 +0200 Gah! ubuntu-archive-removed-keys.gpg is an empty file, so check for size commit 765901b8b2121f2a2e995f78122dffc816abcbf1 Author: Axel Beckert Date: Fri Jul 17 22:27:51 2015 +0200 New example script helpful for release testing commit fb808b0198c3952ed2b6a6cccb0805506432ea5c Author: Axel Beckert Date: Fri Jul 17 22:26:45 2015 +0200 Also support unstable distribution name, too commit e8d51a5a15aad719d27399b185454d1a41628eba Author: Axel Beckert Date: Fri Jul 17 22:07:37 2015 +0200 Support oldstable and oldoldstable as distribution name, too Notice: "oldoldstable" is not yet supported by debootstrap, see Also mention Debian's LTS in TODO.md wrt. distribution.conf commit 33d5c2a0469c74f44e3925474f7a224e45848ce0 Author: Axel Beckert Date: Fri Jul 17 21:09:31 2015 +0200 New option --keyring which is passed through to deboootstrap. Its default values work around bug #792729 in debootstrap. Does not yet import those keys into APT's keyring inside the DomU. (Not sure if debootstrap does that already, either.) commit 6b51ae7b7c997f28cca3b4ffb8603d85d513afbc Author: Axel Beckert Date: Fri Jul 17 20:56:30 2015 +0200 Proper indentation of GetOptions arguments commit 7862a3a8d2c5c62f5e090813deb7411bfa7318aa Author: Axel Beckert Date: Fri Jul 17 19:23:59 2015 +0200 Document new Makefile targets, move signing to "release" commit 25373a6ed6a6c44277185bb784c931a91739127c Author: Axel Beckert Date: Fri Jul 17 19:11:31 2015 +0200 Make "release" target to include "orig-tar-gz" and tagging commit 23454e715466b611f514212ea69c6b3e5324721a Author: Axel Beckert Date: Fri Jul 17 19:07:16 2015 +0200 Use maximum compression and don't store time stamps in tar ball commit 379129bad2dd57063c174ee5f77f370cc1988ffe Author: Axel Beckert Date: Fri Jul 17 19:06:19 2015 +0200 Always run the full test suite before doing a release commit 4bf1dbc54b8a5b38cdbbc43b893ba1a82d766e43 Author: Axel Beckert Date: Fri Jul 17 14:57:35 2015 +0200 Makefile: Use TMPDIR instead of TMP for temporary directories commit 796c594fc557431be0b10cd2a08f4fc09a8fa3fb Author: Axel Beckert Date: Fri Jul 17 13:21:30 2015 +0200 Consider Ubuntu 14.10 Utopic Unicorn as EoL, too. It's due next week commit 2dcea1666aa92d23a36d6bf3c74f4b959cf32235 Author: Axel Beckert Date: Tue Jul 14 21:55:41 2015 +0200 Add as-installed testing support commit e6653f1ae9b93f1b20984bb50041de7c0a86b33a Author: Axel Beckert Date: Tue Jul 14 20:59:10 2015 +0200 Move more tests to author-tests (xt) commit 581ac8b4d91a9c1322afd66167cada4af30f4e31 Author: Axel Beckert Date: Tue Jul 14 20:18:40 2015 +0200 Split up tests in functionality and author tests commit 867aef4d2c84931cf26aa8c718ef364128218fbf Author: Axel Beckert Date: Tue Jul 14 18:51:07 2015 +0200 Update debian/README.source with regards to Gitorious having closed commit 5ecffbb36a72783566a029fb2e021f279bc6b842 Author: Axel Beckert Date: Tue Jul 14 18:49:26 2015 +0200 Add trailing slash to URL commit ab7c53684e7c91e62e3f7c65599c7c9455d716f1 Author: Axel Beckert Date: Tue Jul 14 18:48:01 2015 +0200 Mark Gitorious explicitly as outdated commit 91a88c5ae692f99ca677352eb46566381bc14a76 Author: Axel Beckert Date: Sat Jul 4 01:04:19 2015 +0200 Remove obsolete or resolved TODOs commit 6b82585cc1d97bc8a5f2cacdfd0ffb61d007a626 Author: Axel Beckert Date: Sat Jul 4 01:02:34 2015 +0200 Report all SSH fingerprints of the created DomU, not only RSA one commit ff87729cfe3e5a86cb6d028002a68aec2fcf1d3c Author: Axel Beckert Date: Fri Jul 3 20:24:34 2015 +0200 TODO/Idea: As-installed testing with ci.debian.net commit d51e13a50639452c72a2e147aa4688697f842762 Author: Axel Beckert Date: Fri Jul 3 19:46:23 2015 +0200 Add Coveralls badge to the README commit 8e81bcdfd0b9d538df97bf62ac9fdc418b8fa858 Author: Axel Beckert Date: Fri Jul 3 19:39:54 2015 +0200 Fix Travis CI and Coveralls URLs after repository move from xtaran/xen-tools to xen-tools/xen-tools commit aa5456a823379d40dad5db204095358424c8bc14 Author: Axel Beckert Date: Fri Jul 3 19:17:22 2015 +0200 Recommend lvm2, it's at least required if the --lvm option is used commit 80015dfa9aafbeb808204b5082fdc7a16d928b1a Author: Axel Beckert Date: Fri Jul 3 19:15:04 2015 +0200 Add new dependency on Sort::Versions also to .travis.yml commit 4434acc7d9ddaa9ea3b01f19257429c66fec1d18 Author: Axel Beckert Date: Fri Jul 3 19:06:16 2015 +0200 Pass --yes to lvcreate only if LVM version is 2.02.99 or higher Fixes regression introduced with 4.5 by the fix for #754517. The regression has been reported upstream at http://xen-tools.org/pipermail/xen-tools-discuss/2015-January/001079.html Uses Sort::Versions for that. So add a new (build-)dependency on libsort-versions-perl in the Debian package. commit d49f4568fc94f269beba2100c9cb9c338483bc97 Author: Axel Beckert Date: Fri Jun 19 11:03:20 2015 +0200 TODO/Idea: --apt-options to pass arbitrary APT options via installDebianPackage commit b31f766d2b39061c11608ecad363cbc4bcfc2b96 Author: Axel Beckert Date: Fri Jun 12 01:39:14 2015 +0200 Introduce new config files mirrors.conf and distributions.conf Split off hardcoded release code names list and default mirrors in xen-create-image into separate configuration file which are parsed before the default settings or command-line options are set. commit 0ca84fa1a539e72f3017b51af091f93f13c8c00b Author: Axel Beckert Date: Thu Jun 11 22:58:09 2015 +0200 Use md5 as default hash method again Older Debian releases are not able to cope with sha256 hashed passwords and refuse login without any visible or accessible error message. This only affects the initially set root password and does not affect passwords which are later set with the DomU's "passwd" tool. commit 07d68bb4480865f54981b60987871a2e308f1f53 Author: Axel Beckert Date: Thu Jun 11 22:33:14 2015 +0200 Call chmod in t/Makefile instead of inside t/modules.sh commit 1d07f06953db9febe31035986f590ea7b8e80f19 Author: Axel Beckert Date: Thu Jun 11 22:32:00 2015 +0200 Testsuite: Optimize modules.sh commit a52d422ba852690acf429f0829a22a088b0be71b Author: Axel Beckert Date: Thu Jun 11 22:22:43 2015 +0200 Changelog: Order upstream changes properly Fix a spelling error found by Lintian, too. commit aacfb59fe58cdcbda660c8348ce8fe12be120b96 Author: Axel Beckert Date: Thu Jun 11 22:19:48 2015 +0200 Testsuite: Let modules.sh ignore the .git directory t/modules.t failed if a git commit message had a line starting with "use ". commit d06abe6fe2ce3b5bcd0d02e828cb4a950f6c141a Author: Axel Beckert Date: Thu Jun 11 22:07:20 2015 +0200 Use -o APT::Install-Recommends=false instead of --no-install-recommends Older APT releases bail out on unknown commandline options like "--no-install-recommends", but accept any Foo=Bar setting to their "-o" option. Using -o APT::Install-Recommends=false instead of --no-install-recommends in common.sh's installDebianPackage allows to use some of the default hooks to be used unmodified again for older Debian releases, e.g. Etch. commit 375ed5601b5abcb4c91451d3f703859a67ce862d Author: Axel Beckert Date: Thu Jun 11 22:05:27 2015 +0200 Add one forgotten occurence (long package description) of Wily Werewolf commit 43a22462e1e4b17247fdf80327a60d1256809a71 Author: Axel Beckert Date: Thu Jun 11 22:04:20 2015 +0200 Support passing commandline options with --debootstrap-cmd commit ba8eacf3ea15848b106e88f04d94d7c397e6947c Author: Axel Beckert Date: Thu Jun 11 22:01:42 2015 +0200 Use just xen-hypervisor instead of an alternative list of xen-hypervisor-* packages That way we also catch xen hypervisors on the supported ARM and potential other future supported architectures. commit 87aba7164e46ae8d425a538cd3cd447bc0979681 Author: Axel Beckert Date: Thu Jun 11 18:08:52 2015 +0200 Drop all occurrences of apt's --force-yes parameter It only forces the installation of untrusted packages and that's unwanted. Closes: #776487 commit df3075ca1c3078e8ed1078c430a0909fc9f01ddd Author: Axel Beckert Date: Thu Jun 11 16:20:08 2015 +0200 Update list of Ubuntu releases: + wily, lucid → archived/eol commit 26dbd724133aad993c69330f23f74587e05afbb8 Author: Axel Beckert Date: Thu Jun 11 13:48:16 2015 +0200 Recommend {debian,ubuntu}-archive-keyring debian-archive-keyring is needed for installing Debian DomUs on Debian derivatives like Ubuntu. And ubuntu-archive-keyring is needed for installing Ubuntu DomUs on Debian (and other derivatives). ubuntu-archive-keyring is available in Debian since Jessie (8) and Backports for Wheezy (7). commit 211a98dfac28ba20678a2f839d233c949b5d799e Author: Axel Beckert Date: Tue Apr 21 16:05:18 2015 +0200 TODO: Two ideas after an IRC discussion with nirgal commit 42438d4497b98dca26b522d49a5239ddbf0cfa7e Author: Axel Beckert Date: Tue Apr 21 15:16:29 2015 +0200 Changelog entry for previous commit commit 0ccf513cf321508fd0709c7fb8f5285d060370cb Author: Jean-Michel Nirgal Vourgère Date: Tue Apr 21 14:37:18 2015 +0200 Allow # within configuration file comments Line 20 of /etc/xen-tools/xen-tools.conf says: "Anything following a '#' character is ignored as a comment." This patch allows two or more hash characters in one row of the configuration files. Everything after the *first* hash is now ignored. Closes: #783060 commit 94341ccd435a8da503c8a7aa62a060abbe43b4eb Author: Axel Beckert Date: Sun Apr 19 17:04:18 2015 +0200 Install bash completion into /usr/share/bash-completion/ Fixes lintian warning package-install-into-obsolete-dir. commit 0d90a901d6dc80817762919f5c6c9e34d5feb21c Author: Axel Beckert Date: Sun Apr 19 16:39:48 2015 +0200 Preliminary support for the Debian release after Jessie: Stretch commit 723d64fae442f28463882f88838b43bd8dc1e51b Author: Axel Beckert Date: Sun Apr 19 16:36:30 2015 +0200 Fix typo in long description commit 5cab796fcc26afc53ee2e3f9f0fb0916b94fd925 Author: Axel Beckert Date: Sun Apr 19 16:31:41 2015 +0200 Change all occurrences of http.debian.net to httpredir.debian.org commit fd2ff2aab939821247489a53297422be06e0d682 Author: Axel Beckert Date: Tue Mar 24 16:51:45 2015 +0100 Known regression with older LVM releases and --yes to fix before the next release commit 2f05a3d03ecc9daf6b4ebbb567d02b615a09af97 Merge: 8f8d390 50ec328 Author: Axel Beckert Date: Fri Mar 6 08:59:13 2015 +0100 Merge pull request #1 from jmelowry/patch-1 Fix typo in README commit 50ec32858d88156c608b9b71d28bca4da1e7221e Author: Jamie Lowry Date: Thu Mar 5 16:49:11 2015 -0800 typo in command. commit 8f8d390c125cb4e531c873e61d45d495a98412f5 Author: Axel Beckert Date: Thu Mar 5 16:13:59 2015 +0100 Update URLs of Git repositories commit 561a69864f8301154aaf79de1a44f9b0c319e7e9 Author: Axel Beckert Date: Fri Jan 9 13:11:30 2015 +0100 Add changelog entry for Lukas Schwaighofer's patch commit a7a8028dc0b290f5d8ae8f616d63d45aaf41d296 Author: Lukas Schwaighofer Date: Fri Jan 9 13:08:07 2015 +0100 Fix usage of nonexistent variable in removeDebianPackage commit fd0a486beb68d51af97257c09f9e3eb5cfec0650 Author: Axel Beckert Date: Thu Oct 23 16:28:12 2014 +0200 Release as 4.5 commit 81ca2fb62d87171f415622b07bf270d352ee1081 Author: Axel Beckert Date: Sun Oct 26 01:43:45 2014 +0200 t/perl-syntax.t: Ignore changelog files, too commit 5b2d7d5d75b34fc368e2def9d652ad87ddb2042a Author: Axel Beckert Date: Sun Oct 26 01:43:04 2014 +0200 Makefile: Clean up coverage data in multiple targets commit 83a6d09e3dbbbc85ed4069448b467aa665e2ee39 Author: Axel Beckert Date: Sun Oct 26 01:20:35 2014 +0200 Flush output after each line in runCommand() commit 8562398af13cc821cd28733d09e72605f49ad4e7 Author: Axel Beckert Date: Sat Oct 25 22:43:11 2014 +0200 Add 15.04 Vivid, use old-releases.ubuntu.com for 13.10 Saucy commit 02730138a643d3c9d4e7731d23b91e6b6890c0e5 Author: Axel Beckert Date: Thu Oct 23 16:08:44 2014 +0200 Add lintian override for debian-news-entry-uses-asterisk I disagree. commit 1defbd3c02d607d9583d40831f3bb2eb7b7c1b2f Author: Axel Beckert Date: Wed Oct 8 13:28:13 2014 +0200 Raise default password length from 8 to 23 commit 19e07799cd0e15d156284b0c0ffcdd800dcefa32 Author: Axel Beckert Date: Wed Oct 8 17:40:32 2014 +0200 Add password length sanity check with fallback to default length commit 5d7e059668562b510ef024953802bed66a08ef3e Author: Axel Beckert Date: Wed Oct 8 13:23:11 2014 +0200 --password overrides --genpass Closes: #764143 Based on patch by Santiago Vila. commit 0a7ec4f8550fa73e77770958355fff95718c4ab7 Author: Axel Beckert Date: Mon Oct 6 00:57:26 2014 +0200 Update changelog and mention Santiago as contributor in AUTHORS commit e1a5e89502673da70cb3f909abea22e57369fe18 Author: Santiago Vila Date: Mon Oct 6 00:56:49 2014 +0200 Fix two more typos commit 47a0cfe6f44f709d603f12313b257f0f3a73b0db Author: Axel Beckert Date: Sun Oct 5 19:56:44 2014 +0200 Add changelog item for Santiago's second contribution commit 36f318dbbe34654dc9eff636b7c47cd1bf765adf Author: Santiago Vila Date: Sun Oct 5 19:55:03 2014 +0200 Fix copy & paste errors in comments in typos in roles/puppet (Closes: #764134) commit 41a30ede8360ece9b9f100ed6c7222893f4b5a68 Author: Axel Beckert Date: Sun Oct 5 18:16:26 2014 +0200 Add changelog item for Santiago's contribution commit 043b58b5ea3daee57d502eb326c1c0d54b8e1e22 Author: Santiago Vila Date: Sun Oct 5 18:16:07 2014 +0200 Fix unaligned maxmem output of xen-create-image. (Closes: #764126) commit 4d64044f296d436d919cea5590205befdd9e1ecf Author: Axel Beckert Date: Thu Sep 25 23:20:07 2014 +0200 Fix corner cases where not the latest kernel would have been checked commit 48097cd07b4d8ae0d073b37d2f40dff64bca119f Author: Axel Beckert Date: Thu Sep 25 23:18:48 2014 +0200 Fix initial configuration summary in cases where pygrub is used commit 71e5ad43450c6eac2d6457bfb1f31aad7c51c02c Author: Axel Beckert Date: Thu Sep 25 23:15:51 2014 +0200 Fix missing quoting in shell function "assert" in hooks/common.sh commit 414d67c624c317e02babd412b613316c73458c4d Author: Axel Beckert Date: Thu Sep 25 22:09:27 2014 +0200 Add changelog entry for patch by Eric Engstrom commit 58943d3b194a340f3e7a567aab88a207b907539f Author: Eric Engstrom Date: Thu Sep 25 22:07:30 2014 +0200 Fix lvcreate awaiting user input when creating swap lv commit e850ad7ab3bb5d368a941e8c308e63723d883bc9 Author: Axel Beckert Date: Thu Sep 25 21:57:33 2014 +0200 Run some tests twice, once with mocked File::Which, once with original File::Which commit 0546776c17a67073fbc188ab22cab0aaecaca333 Author: Axel Beckert Date: Thu Sep 25 21:37:37 2014 +0200 Fix lintian warning depends-on-perl-modules commit 8de0aedfc3646ac9fd596284ea0bc355d4fe9e18 Author: Axel Beckert Date: Thu Sep 25 21:31:17 2014 +0200 Travis: Install lsb-release -- should cause some more code to be tested commit d4265d6ced2331bcdf94ea60448e5e4fa442af2d Author: Axel Beckert Date: Thu Sep 25 21:24:51 2014 +0200 Mention code coverage in README commit 1e7f45d207e1748bf589e2c669857bc31d8862b7 Author: Axel Beckert Date: Thu Sep 25 21:11:20 2014 +0200 Coveralls.io: Ignore perl scripts under /usr, too commit ba4d4f6db858bb7a59e03daab63b7864c42a273c Author: Axel Beckert Date: Thu Sep 25 21:05:27 2014 +0200 Travis: Add bin to local PATH commit 1b42dc14c7c9dd913967ec4b0affdeb5ee9843a2 Author: Axel Beckert Date: Thu Sep 25 21:03:46 2014 +0200 Coveralls.io: Also pass ignore_re to report-generating cover call commit 4e43b8faf29da606f71180deb3a53254e099f033 Author: Axel Beckert Date: Thu Sep 25 20:55:35 2014 +0200 Test suite: Rename SAFE_ENV to SAVE_ENV to prevent confusion commit dc84393d6c2cb50fa46ba5ad04645f334172f64d Author: Axel Beckert Date: Thu Sep 25 20:48:30 2014 +0200 Coveralls.io: Separate runs again, as just "cover" checks coverage on .t files commit 2c0639ca21510739658d62ec50c9549d52256b7c Author: Axel Beckert Date: Thu Sep 25 20:42:56 2014 +0200 Enable Coveralls.io commit 47b100cf08c8ea869b720b13da4197ec2f9cd053 Author: Axel Beckert Date: Thu Sep 25 20:10:11 2014 +0200 Drop redundant occurrences of "./" from test suite commit 525f3ce24e0e6758b1b8b4504e9fd7daee4c99eb Author: Axel Beckert Date: Thu Sep 25 20:08:54 2014 +0200 Add Travis badge to README commit 6079dbab06544002b1f06509ae89bc43f10d7cb3 Author: Axel Beckert Date: Thu Sep 25 20:08:10 2014 +0200 Travis: Drop Perl 5.8, doesn't know about =encoding in POD commit fd0a5d2b10142450ec39c67793f3ee4e1333d38a Author: Axel Beckert Date: Thu Sep 25 19:50:24 2014 +0200 Don't run t/gitignore.t on Travis, doesn't make sense on a fresh checkout commit edc7737cb3d8b21f65e8517aa74d04fdbb2a5815 Author: Axel Beckert Date: Thu Sep 25 19:40:26 2014 +0200 Make test suite work with perl in $PATH instead of hardcoded /usr/bin/perl commit d2617ea85f1cd0436c3d96e4db249f0380a3215b Author: Axel Beckert Date: Thu Sep 25 19:34:33 2014 +0200 Travis: Add forgotten build-dependency on Text::Template commit 559eeb14b9f472f35c297d9d72e16a37f1284434 Author: Axel Beckert Date: Thu Sep 25 19:26:20 2014 +0200 Use Travis CI commit 78077e5aa3406945e64cfbf7408e8ca06a556931 Author: Axel Beckert Date: Thu Sep 25 14:57:35 2014 +0200 Update debian/changelog to separate upstream and debian changes commit 8b3625426d8529ffd2ab105cd8925e28c24748b4 Author: Axel Beckert Date: Thu Sep 25 14:55:34 2014 +0200 Bump Standards-Version to 3.9.6 (no changes needed) commit 937e440d2475f76c9b18af4fb4eaab9ca18f33fa Author: Axel Beckert Date: Thu Sep 25 14:46:14 2014 +0200 Mention Semantic versioning commit c2ead309492101f947281383a3ca7a432a2bb765 Author: Axel Beckert Date: Mon Jun 16 19:13:44 2014 +0200 pygrub detection: Prefer /usr/lib/xen-default over /usr/lib/xen-x.y Otherwise a versioned pygrub path will be used (e.g. /usr/lib/xen-4.1/bin/pygrub in the case of Debian Wheezy) and then all host configurations would need to be updated when dist-upgrading to Debian Jessie with Xen 4.3. In case you already ran into this issue, the following command should fix the issue for you: fgrep -l xen-4.1/bin/pygrub -r /etc/xen/ | xargs sed -e 's:xen-4.1/bin/pygrub:xen-default/bin/pygrub:g' -i commit 03769b27fe8d3460f0cf7ba1a66ce65a87a4edf4 Author: Axel Beckert Date: Wed Jun 11 09:52:47 2014 +0200 Add changelog entry for previous commit commit 079382302ba0fd6bb22d5ca8d502eaa4c0ac1730 Author: Joan Date: Fri May 30 17:30:23 2014 +0200 Fix gateway always empty on debian domU commit 0c894eec48a16ca5965d634cf71186b7b12d6ca6 Author: Axel Beckert Date: Sat May 17 12:07:33 2014 +0200 Update list of supported Ubuntu releases Preliminary support for Ubuntu 14.10 Utopic Unicorn commit b95c23b86f98ed16b0e262545e9225062fc92d60 Author: Axel Beckert Date: Fri Mar 28 22:33:05 2014 +0100 TODO: Debian bug #703606 commit fcebb140020866e69e1c99361d698d1d564bc20b Author: Axel Beckert Date: Fri Mar 28 22:24:21 2014 +0100 Drop all xend related sanity checks They cause more havoc nowadays than they help. Thanks Ian Campbell! Closes: #732456 commit aa54db02c31d929a24b6980d112bea398163e8b4 Author: Axel Beckert Date: Fri Mar 28 21:16:27 2014 +0100 Add Thanks/Credits for recent contributions commit 5093c731cff4481750a5fc8d3a102c80c5ca597e Author: Lionel FÉLICITÉ Date: Fri Mar 28 20:48:18 2014 +0100 Pass "-y" option ("assume yes") to yum Closes: #735675 commit 8610300206d3345535a411928b404b29dab210ac Author: Axel Beckert Date: Fri Mar 28 20:06:00 2014 +0100 Use "686-pae" kernels instead of "686" kernels on Debian Wheezy and later Thanks to Daniel Lintott! Closes: #742778 commit 29bdbdd45585ff60e636691f34e282440f360750 Author: Axel Beckert Date: Fri Mar 28 19:50:48 2014 +0100 Fix typo in comment commit e3f5230bcbf9b36c162b7a5b20775b6f28e7e61b Author: Axel Beckert Date: Wed Mar 12 00:19:39 2014 +0100 TODO: Make default source installation work on non-debianesk systems commit c5a2e2427a52d096f3015b6631e6eb429662fd66 Author: Axel Beckert Date: Sun Dec 15 17:32:32 2013 +0100 Ignore cover_db directory in t/perl-syntax.t commit 5d3f159aad498b8a3ababcc7c1b0f58d69c75d1d Author: Axel Beckert Date: Sun Dec 15 17:23:01 2013 +0100 Update d/changelog + d/dirs for Adrian C.'s patch commit 4505f7e14102f05f339f3b1d0cc7e70f2ce67ecb Author: Adrian C. (anrxc) Date: Sun Dec 15 16:08:51 2013 +0100 bin: support hook overrides in xt-customize-image The systems administrator can optionally provide site-specific revisions of upstream hooks by placing them in the directory /etc/xen-tools/hooks.d/ as a method for disabling hooks, adding site-specific extra features that don't get overwritten on upgrades, or patching bugs early. Signed-off-by: Adrian C. (anrxc) commit f20e312140aa98508378ffa8a693ebec6ac09006 Author: Axel Beckert Date: Wed Dec 11 21:11:14 2013 +0100 Release 4.4 commit 3978561a44011b81966df209843c163e82e88241 Author: Axel Beckert Date: Wed Dec 11 21:48:25 2013 +0100 Add build-dependency on "liblog-message-perl | perl (<< 5.17.0)"… … to avoid warnings with Perl 5.18 and future FTBFS commit 0feefc4179d7063808933216d4214f8b5636fe64 Author: Axel Beckert Date: Tue Dec 10 00:32:07 2013 +0100 hooks/common.sh: Split up installDebianPackage… … into installDebianPackage and installDebianPackageAndRecommends commit 8d8423fb065855fb5487c1366eb57a08aa997ac9 Author: Axel Beckert Date: Tue Nov 19 20:51:11 2013 +0100 TODOs from recent discussions and problem reports commit c8867a0f67504c39796158753995b0e51c78f5d9 Author: Axel Beckert Date: Tue Nov 19 20:25:00 2013 +0100 Rework "minimal" role to be less based on personal preferences No more installs sudo, vim, syslog-ng, etc. Fixes usage together with pygrub. commit 5dc76d12b2937cae4402837153ed09ee8d47e015 Author: Axel Beckert Date: Wed Oct 30 11:07:45 2013 +0100 Fix some typos in the README commit 4c9fd36c286f198ced8613e2de863df125d959c8 Author: Axel Beckert Date: Wed Oct 30 11:05:30 2013 +0100 Mention Ubuntu 14.04 Trusty Tahr in long description and README commit b39f85303c418598681bca78b30c0ed445904db1 Author: Axel Beckert Date: Tue Oct 29 00:10:21 2013 +0100 Also add build-dependency on "libterm-ui-perl | perl (<< 5.17.0)" commit 81511000d8169fa694c67dd3450527a2dfb34276 Author: Axel Beckert Date: Tue Oct 29 00:09:03 2013 +0100 Run t/gitignore.t only if git is installed and .git present commit e1caf2566a081595d2cf76247ddabc86cfd6ea97 Author: Axel Beckert Date: Mon Oct 28 22:39:03 2013 +0100 Declare this as 4.4 RC1 commit 2c020323f6c984bc0c2835c9805afcda1907e9d6 Author: Axel Beckert Date: Mon Oct 28 22:28:40 2013 +0100 Refactoring: xt-create-xen-config: Use s/// to strip trailing MB size suffixes commit c82cb31adce271a976816f4a4551036e5239cc6a Author: Axel Beckert Date: Mon Oct 28 21:57:10 2013 +0100 Fix cases where maxmem is not defined (which is fine) commit b676da079c3227188c83da967869585068f6e163 Author: Axel Beckert Date: Mon Oct 28 21:31:14 2013 +0100 xen-delete-image: Exit with return code != 0 in all error cases commit 4d73574a40ed1baeb06d9dbea4373c586f305113 Author: Axel Beckert Date: Mon Oct 28 21:28:45 2013 +0100 xen-delete-image: Proper error message if --test is not used with --dir Also abort earlier in this case. Closes: #704878 commit 55b303f5a9952071906bdd6e279fd9c92642edd5 Author: Axel Beckert Date: Mon Oct 28 20:54:16 2013 +0100 Add changelog entry for Patryk Ściborek's fix commit 96679edad9d29106e801484603c7ab352fab9ed9 Author: Patryk Ściborek Date: Mon Oct 28 20:48:10 2013 +0100 Fix disableStartStopDaemon() if /sbin/initctl is not present commit ca734e511f1314311c9bbfaa34fab71561d9efe1 Author: Axel Beckert Date: Mon Oct 28 10:54:50 2013 +0100 Bump Standards-Version to 3.9.5 (no changes) commit 1e76cd2da9e8fe29cdf692cb36df2cd85a2bf236 Author: Axel Beckert Date: Fri Oct 25 19:23:39 2013 +0200 Update changelog commit d9ed3e65db5983c54adde12c5c3d5b8222ef71c4 Merge: 73ced0b 42345c7 Author: Axel Beckert Date: Fri Oct 25 18:36:54 2013 +0200 Merge branch 'fix_passwd' of gitorious.org:xen-tools/aseques-xen-tools commit 73ced0b3f3b4d7d6a68329789a6be861bcf8644e Author: Axel Beckert Date: Fri Oct 25 18:36:48 2013 +0200 Update changelog commit 42345c75d4f2977eb092ed495f611fda20fa4043 Author: Joan Date: Fri Oct 25 10:51:11 2013 +0200 Fix password interation on image creation commit ff4aa11dd35e4bc6e58cb888b71bc6de9d6adda2 Merge: cfa30f0 b51936e Author: Axel Beckert Date: Wed Oct 23 13:59:16 2013 +0200 Merge branch 'maxmem' of gitorious.org:xen-tools/aseques-xen-tools commit cfa30f06b63bb65dfed5af49f0e24158423f671f Author: Axel Beckert Date: Wed Oct 23 13:54:45 2013 +0200 Preliminary support for Ubuntu 14.04 Trusty Tahr commit b51936e6ee40d8c6a949aeab2c9dedb2f0a16f51 Author: Joan Date: Fri Oct 18 14:09:59 2013 +0200 Updated changelog commit 1374208d3bca8ca1c0ae8160781278d27ac9c5eb Author: Joan Date: Fri Oct 18 12:59:50 2013 +0200 Implemente the option maxmem in xen-tools allowing to set a maximum value to enable dynamic memory ballooning. commit 0e8178ab0fe0557fb53c62e02f00e972335396e2 Author: Axel Beckert Date: Tue Oct 1 22:20:41 2013 +0200 Fix german-ish grammar and remove dash in "IP-Addresses" commit d20f832f82d77ca2dbce949a0601c176b4d5d1bf Author: Axel Beckert Date: Tue Oct 1 22:19:10 2013 +0200 Also display MAC address after the DomU has been created commit fae561aaca2e7e64db494f2f1c68f68b0165381d Author: Axel Beckert Date: Tue Sep 24 23:16:22 2013 +0200 Meaningful whitespace fixes in hooks/common/40-setup-networking-deb commit 205bf96f0aa6d7a16c6c14890a5d899b13a269e3 Author: Axel Beckert Date: Tue Sep 24 23:11:05 2013 +0200 Handle potentially empty gateway setting properly … in hooks/common/40-setup-networking-deb Thanks Simone Caruso! commit 571f540992c86ef6ebef03a758ee46946b534d2c Author: Axel Beckert Date: Tue Sep 24 22:54:05 2013 +0200 Refactoring: Replace all occurrences of "! -z" by "-n" Occurred in hooks and bash-completion. commit 86dd78c681671be388527f17c6b75483a1a02d62 Author: Axel Beckert Date: Tue Sep 24 22:41:20 2013 +0200 Drop support for memory size in kilobytes in xen-create-image Neither xt-create-xen-config nor xm support it. commit 6644afa9fd0519435c5bf6c435243ded93d8a60a Author: Axel Beckert Date: Tue Sep 24 22:36:27 2013 +0200 xen-list-images now displays a unit after the memory size commit 7bb7089c9fbd51ddf10937fc06c6fa1bfa8b770e Author: Axel Beckert Date: Tue Sep 24 22:20:14 2013 +0200 Changelog entry for Gitorious merge request #5 commit a9dfc112b9516412644a1dd1ab227558ceb5aa23 Merge: c62b053 70a30bb Author: Axel Beckert Date: Tue Sep 24 22:08:41 2013 +0200 Merge commit 'refs/merge-requests/5' of git://gitorious.org/xen-tools/xen-tools into merge-requests/5 commit c62b053a7bb945ff42f915ef44c94c2e8f38273a Author: Axel Beckert Date: Tue Sep 24 22:02:28 2013 +0200 Also declare POD encoding in Xen::Tools::Common Recode Xen::Tools::Common to UTF-8 Fixes FTBFS with Perl 5.18. Closes #720519 a second time. commit cc4e17035788fed6e5b4a5ceb81dd72e1002756d Author: Axel Beckert Date: Tue Sep 10 17:53:51 2013 +0200 Dependency on Term::UI needed for Perl >= 5.17 commit 70bf0607dbed69a794aada78e571921f0006a121 Merge: d8e4a4f 5825331 Author: Axel Beckert Date: Tue Sep 10 16:14:01 2013 +0200 Merge branch 'master' of gitorious.org:xen-tools/xen-tools commit d8e4a4f26412e6572abde85fd089d2464483f037 Author: Axel Beckert Date: Tue Sep 10 16:10:33 2013 +0200 Note that f1c7c6e1 closes #703159 commit 5825331cead55d6002befdc6c38403d0d103c76e Author: Axel Beckert Date: Sat Aug 24 04:07:16 2013 +0200 Fix typo in current changelog entry commit f1c7c6e11c878a250db32428949f25ef48fc56b3 Author: Axel Beckert Date: Sat Aug 24 00:43:09 2013 +0200 Loop around calling "passwd" to get a second chance to change the password Needs Term::UI which is part of Debian's perl-modules package, hence no new (build-) dependencies needed. commit 3b806d9f25f4c093ea239a3c973328051cf1d035 Author: Axel Beckert Date: Sat Aug 24 00:12:44 2013 +0200 Do not run "passwd" via runCommand runCommand captures STDOUT for logging which is not desired for interactive commands. Makes --passwd usable again. Thanks to Christan Herzog for the bug report. commit 97b0ed29c0845777de8f411126f3eb35e35eceea Author: Axel Beckert Date: Fri Aug 23 21:13:44 2013 +0200 Also switch from cdn.debian.net to http.debian.net in xen-tools.conf commit 12960c8f2ba41efd2da8e03742054e0ee91bec12 Author: Axel Beckert Date: Fri Aug 23 19:11:30 2013 +0200 Release 4.4 beta 1 commit 029faab59cfcb703adca29401ede0692fba9ebf5 Author: Axel Beckert Date: Fri Aug 23 19:31:27 2013 +0200 Add build-dependencies on libdata-validate-{domain,ip,uri}-perl commit cb5ce9ea5c76bf1639745a8dcef727b9f616e4bd Author: Axel Beckert Date: Fri Aug 23 19:08:42 2013 +0200 Bump Standards-Version to 3.9.4 (no changes) commit fbc903877a6c5a5858c5ed44a91253b364de522c Author: Axel Beckert Date: Fri Aug 23 09:08:43 2013 +0200 Declare POD encoding to be UTF-8 in bin/* Fixes FTBFS with Perl 5.18. Closes: #720519 commit fb8b494b41910c71f278ba7869ce38e31973ebd1 Author: Axel Beckert Date: Thu Jul 11 01:49:46 2013 +0200 Preliminary support for Ubuntu Saucy Does not yet work due to missing support for Saucy in debootstrap. Also move default mirror for Ubuntu Hardy from archive to old-releases as Hardy is now EoL. commit 516a7a1625ebd866abc4626c1cc2ccf039d312f9 Author: Axel Beckert Date: Thu Jul 11 01:20:08 2013 +0200 Update descriptions of distributions commit d0c4439a10b9aad36257b77dc51f7770d89ca5ff Author: Axel Beckert Date: Thu Jul 11 01:13:45 2013 +0200 README: Update list of required Perl modules commit 87fc2a76a03879c665f68ab1c9d06b68d689c5e6 Author: Axel Beckert Date: Thu Jul 11 00:59:33 2013 +0200 Remove some redundancy in the README commit 34838811f9f712b63334bb9ba4ebfbb30bf12e03 Author: Axel Beckert Date: Thu Jul 11 00:57:59 2013 +0200 Reorder list of Perl modules in README alphabetically commit ad68cdb46bf100098a138cef69afa0cd1cb5d354 Author: Axel Beckert Date: Thu Jul 11 00:55:51 2013 +0200 Change CPAN links from search.cpan.org to metacpan.org commit e5abe64ae01f43a67c81981727b734d1c5902a25 Author: Axel Beckert Date: Thu Jul 11 00:44:25 2013 +0200 Fix broken quoting in list of required binaries commit 9c47e5da4f1908643d698d7bfacbeb90c5dd10de Author: Axel Beckert Date: Thu Jul 11 00:39:05 2013 +0200 Use File::Which instead of findBinary or `which` commit b271bf6a63b4c815a5d7b881b5353ddaf759ae4b Author: Axel Beckert Date: Thu Jul 11 00:25:38 2013 +0200 TODO: Still to many backticks in use Also merge the two findBinary TODOs commit a72fbb5f79e0fc3a5cb68c7b359e12067acce14e Author: Axel Beckert Date: Thu Jul 11 00:16:09 2013 +0200 TODO: The mess after hitting Ctrl-C has been fixed, too commit 149ad47c5f3a8444f26846a2634690b4970a5f1f Author: Axel Beckert Date: Thu Jul 11 00:13:28 2013 +0200 TODO: Remove #623443-related stuff. Fixed in 74f35d65 commit 4442c1a17f363ceb5694c757f51aa8ab208ad88c Author: Axel Beckert Date: Thu Jul 11 00:11:54 2013 +0200 TODO: Move remaining code deduplication to Break-Backwards-Compatibility list commit be55a4a6f2fee8e74f8dfff3898036b2c14b93af Author: Axel Beckert Date: Thu Jul 11 00:07:37 2013 +0200 Remove reference to removed t/xen-tools.t from KNOWN_BUGS commit 5883b7a15c7f2d51f0e21b8ed3aefd218fc6e033 Author: Axel Beckert Date: Wed Jul 10 23:54:46 2013 +0200 TODO: Generate ECDSA host keys where possible commit 9e05298832e829c83308db371ebad87aac0359aa Author: Axel Beckert Date: Wed Jul 10 22:55:20 2013 +0200 Add dependency on ${perl:Depends} to fix dpkg-gencontrol warning commit be05397249dd2ad65e48caa58e94a946244559ca Author: Axel Beckert Date: Wed Jul 10 22:53:14 2013 +0200 Bump debhelper compatibility to 9 Update versioned debhelper build-dependency commit 3b72f2ee4baa5962f4778f1ef5c4e117fb440055 Author: Axel Beckert Date: Wed Jul 10 22:45:05 2013 +0200 Mention that #715340 is fixed by 1de424a6 commit 699025f33ef03847d51be7c7083db7c0f2912f28 Author: Axel Beckert Date: Wed Jul 10 22:38:29 2013 +0200 Use Data::Validate::{Domain,IP} for IP addresses and hostname checks Add corresponding dependencies on libdata-validate-{domain,ip}-perl. commit 74f35d65501870a7b8d78b7cfa6a26ff1b7f0873 Author: Axel Beckert Date: Wed Jul 10 21:48:33 2013 +0200 Better document and check requirements for --apt_proxy See http://bugs.debian.org/623443 for the corresponding apt issue. Also add a dependency on libdata-validate-uri-perl which is used to do the syntax check. commit 72a2a637beebfe15924df7f034625691262cd93f Author: Axel Beckert Date: Tue Jul 9 22:38:42 2013 +0200 Mention issue about #623443 in TODO commit 5ac0f15c32d289a2612805511573aa657d2d640c Author: Axel Beckert Date: Thu Apr 18 20:41:51 2013 +0200 Remove all redundant pod-inline occurrences of "=cut" Also care that there are always two blank lines before each "=head1" (except behind "=head1 NAME"). commit dcb92846365fbbb77be4ae0fe8bed35b03f82459 Author: Axel Beckert Date: Thu Apr 18 20:09:11 2013 +0200 Remove unused Perl modules Xen::Tools and Xen::Tools::Log Further developement of the (if any) will happen in the git branch "xen-tools-moose" where they are still available. Also remove the according (already disabled) tests and test modifications from the test suite. Also remove no the more needed build-dependency on Moose as well as one Makefile line installing the above mentioned Perl modules. commit 07622d8ed09a9713e275f6c34f276f71b9547d70 Author: Axel Beckert Date: Thu Apr 18 16:26:55 2013 +0200 t/xen-delete-image.t: Check xen-delete-image exit code Also run xen-delete-image verbose and print output. commit 081c0370d44f5cecde99baa68656dbcd880f66b8 Author: Axel Beckert Date: Thu Apr 18 15:31:47 2013 +0200 Properly clean up after t/xt-create-xen-config.t commit ea209f085b208ebe6d66256a18f93493f35700ba Author: Axel Beckert Date: Thu Apr 18 15:03:17 2013 +0200 Refactor some code duplication in xen-delete-image commit a70b79f63f64b544920e2670e7acec6c6b99a8fd Author: Axel Beckert Date: Thu Apr 18 14:45:27 2013 +0200 Hopefully catch all remaining "ARRAY(0x…).log" issues commit c482220b99fd0da0932fd0c9a5d17950dcee4ecb Author: Axel Beckert Date: Thu Apr 18 13:52:45 2013 +0200 Rework xci POD: New SYNOPSIS; add EXAMPLES, rename old SYNOPSIS to OPTIONS commit dcd0bf09f1564e07fec8fab648a6a6364bf59e45 Author: Axel Beckert Date: Tue Apr 16 18:03:33 2013 +0200 Add reference for the three types of MAC relevant for DomUs commit 92a825b87b0553d290f01333fbf272557eb88a5a Author: Axel Beckert Date: Tue Apr 16 17:57:12 2013 +0200 Axel's Break-Backwards-Compatibility Wishlist: MAC stuff commit 6871954f6e37f552d6006e60a496639e5b1ab6f7 Merge: e9d8bd0 555ce38 Author: Axel Beckert Date: Thu Apr 11 19:49:53 2013 +0200 Merge branch 'lib-vs-share' commit e9d8bd0896ea36068072bdde4e96dee8d322fc8f Author: Axel Beckert Date: Thu Apr 11 19:47:05 2013 +0200 xt-install-image: Don't bail out if only cdebootstrap is installed There was a duplicated check on debootstrap being installed and only one has been expanded when cdebootstrap support was added. So xen-tools bailed out if debootstrap wasn't installed even if it had been instructed to use cdebootstrap instead. This also adds support for cdebootstrap-static. Additionally xt-install-image dispatcher has been extended to hand array refs of command paths instead of just single command paths. Thanks to Elmar Heeb for reporting this issue! commit 9369fd2a037ae1f4227e4c989a1e29b327b41062 Author: Axel Beckert Date: Thu Apr 11 19:18:41 2013 +0200 Update debian/changelog commit 04dd81ec0713f3a96799ba48fa2cbe6d118416fe Author: Axel Beckert Date: Thu Apr 11 15:59:42 2013 +0200 Mention http.debian.net as default mirror also in POD commit d39255dc5ed6d09a3c1341ae1c08ebc81660dbc5 Author: Axel Beckert Date: Thu Apr 11 15:59:19 2013 +0200 Reindent options in POD commit 5a48067d9e64686fe751cf3a4bc7f0883f66615e Author: Axel Beckert Date: Thu Apr 11 15:08:30 2013 +0200 Make some x-c-i commandline options negatable Update documentation and tests accordingly. Also add pygrub = 1 as example to xen-tools.conf, now that the effect can be reversed via commandline options. commit 6fc51d20be26e2059cff8fafd7265beb195f4945 Author: Axel Beckert Date: Thu Apr 11 10:56:54 2013 +0200 Update xen-tools.conf comments to be more concise and consistent Thanks Elmar Heeb! commit 16dbe870f2522b8ee7a037751011eeb0df0b1f8a Author: Axel Beckert Date: Thu Apr 11 10:52:45 2013 +0200 TODO: test for --size constraints ... and its prerequisites commit cb3227d61b1a4d2ded8b82e31ea6f112be483ce5 Author: Axel Beckert Date: Thu Apr 11 10:32:20 2013 +0200 Don't only allow lowercase "b" for "bytes". Also put some examples in the according error message. commit a89aa86511268944bbea127e0f7d974612d25539 Author: Axel Beckert Date: Thu Apr 11 10:29:56 2013 +0200 Consistent amount of blank lines in POD commit 555ce383d3fbd1c532f165356dbf8817ad76a073 Author: Axel Beckert Date: Fri Apr 5 20:03:09 2013 +0200 Switch from /usr/lib/xen-tools/ to /usr/share/xen-tools/ to properly adhere FHS commit b29117be0282b0f8200e12a4fdbf0cb09a4e6477 Author: Axel Beckert Date: Fri Mar 22 16:58:59 2013 +0100 Ignore Devel::Cover cache commit ff7ded28e8f7cb3da33d6d210ba00152168009bc Author: Axel Beckert Date: Thu Mar 14 00:10:18 2013 +0100 Only the key for %ENV, but not for %CONFIG, needs to be modified commit f0691c9a380952633dd8a57e2595859bd2e9998d Merge: 76d9d59 01e5251 Author: Axel Beckert Date: Thu Mar 14 00:01:05 2013 +0100 Merge branch 'master' of gitorious.org:xen-tools/xen-tools Conflicts: debian/changelog commit 76d9d5951058f64fa5eff32676308e12fd4fe7a7 Author: Axel Beckert Date: Wed Mar 13 23:29:52 2013 +0100 Fix export of environment variables (dash vs underscore) Previously they could contain dashes and then were only accessible from within Perl, but not from within Bash. From now on potential dashes in environment variable names are converted to underscores ("_") before being exported. May affect some hook or role scripts. commit 5342b04ac7c510a2dead5ff33236a0efac8dafa9 Author: Axel Beckert Date: Wed Mar 13 23:17:09 2013 +0100 Some more TODOs (mostly refactoring + code cleanup) commit 01e525106b076a4084bee26758e02b11381495da Author: Axel Beckert Date: Tue Mar 5 23:07:04 2013 +0100 Use Test::NoTabs in t/no-tabs.t commit 5146706536909b906b4f3abdf8eba91926fa6419 Author: Axel Beckert Date: Sat Jan 26 01:17:49 2013 +0100 Document 4.3.1 in NEWS commit dfa32a97ca309bc8f83e0177ff05c923251a40f5 Author: Axel Beckert Date: Fri Jan 25 17:34:39 2013 +0100 Also switch xt-guess-suite-and-mirror's fallback to http.debian.net commit c409759745b5df8a3de1022b1fa3851ec053af9d Author: Axel Beckert Date: Fri Jan 25 17:32:20 2013 +0100 Rename NEWS to NEWS.markdown commit 149b92af77a75d2341a61ce7fbea93b0e9e5bb91 Author: Axel Beckert Date: Fri Jan 25 17:30:17 2013 +0100 Document 4.3 release date in NEWS commit a4b3c9c5680ff2d0fc5d0703e6233c1360be6ebe Author: Axel Beckert Date: Fri Jan 25 17:09:54 2013 +0100 Also use http.debian.net as default mirror for the debian-archive commit dbb9124666a875ccadbc8a0245ab0fcd5643f5a9 Author: Axel Beckert Date: Fri Jan 25 17:06:28 2013 +0100 Use http.debian.net as default Debian mirror if no mirror is given ... i.e. if even xt-guess-suite-and-mirror is not used. commit f2d30eaa63a4f829fafe290ff3ced273d5eb5ba2 Author: Axel Beckert Date: Fri Jan 25 15:22:42 2013 +0100 xen-delete-image no more passes $CONFIG{hostname} as array to logprint_with_config The deletion of failed attempts was logged to files named like ARRAY(0xa9dd98).log because the hostname was passed twice, i.e. as arrayref (which didn't hurt otherwise). commit 0709308c1feee5124aad114415cc4a09e6a05e29 Author: Axel Beckert Date: Fri Jan 25 13:19:36 2013 +0100 Save exit code $? at the beginning of the END block Otherwise cleaning up by doing some system() calls garbles $? with unwanted values. commit d3baf1f8babddbcfe73ada7ad326d18554ad561b Author: Axel Beckert Date: Fri Jan 25 13:03:23 2013 +0100 KNOWN BUGS: -1 +1 commit d7f219f16015212cdf4883546d8e77cfb8554713 Author: Axel Beckert Date: Thu Jan 24 22:58:28 2013 +0100 Create /boot/grub/default if non-existent Seems to be needed at least for Squeeze. commit bc054b1b02fc8f581e8a6fdc59fb7aba5993fc16 Author: Axel Beckert Date: Thu Jan 24 21:52:38 2013 +0100 chomp the output of dpkg --print-architecture commit f18285943ce510b17063b9321d98db006653c660 Author: Axel Beckert Date: Thu Jan 24 20:49:26 2013 +0100 Call update-grub at the end of 82-install-grub-legacy to update menu.lst commit 780839988de7f2af6c957b80e50381e0f92d6059 Author: Axel Beckert Date: Thu Jan 24 20:03:38 2013 +0100 Remove trailing blank line commit 025e20a1f112cc0427af85e1ef4de2fbd34285d5 Author: Axel Beckert Date: Thu Jan 24 20:02:22 2013 +0100 Better check for grub-legacy availability which ignores virtual packages commit 9330b79d51b8bcc3d2701c7ad0a7c6f38802f75f Author: Axel Beckert Date: Wed Jan 23 17:00:09 2013 +0100 hooks/common.sh: Fix syntax error in installCentOS4Package wrapper. commit 979b6fb16609f871487d5d77f23731e2d4b7d23d Author: Axel Beckert Date: Tue Jan 22 21:45:57 2013 +0100 hooks/common.sh: installDebianPackage no more installs recommends commit 57c7d13c488a47f4d468a0cc575fbbb27a275ade Author: Axel Beckert Date: Tue Jan 22 02:49:50 2013 +0100 Factor out legacy grub menu.lst generation commit 1de424a69d838a5cff19c17f019935c716fe0700 Author: Axel Beckert Date: Wed Jan 23 18:02:44 2013 +0100 Fix filesystem tools installation in 91-install-fs-tools Was broken since 4.3rc1. Merged 91-install-fs-tools back into 90-make-fstab. Added support for RPM-based distributions, too, so it's more generic now. commit 505950dae069334f7809e0e1b7dc8fbf1fe102c3 Author: Axel Beckert Date: Wed Jan 23 17:47:13 2013 +0100 isAPT: Also check for dpkg and rename it to isDeb That way we should not try to use Debian/Ubuntu package names if apt4rpm is available. commit 0c8b5d25c419bb85f99d223aa13f4ae4440c76bd Author: Axel Beckert Date: Wed Jan 23 17:40:00 2013 +0100 Factor out functions to test if we should use yum or apt commit bce580658e8d89b9be70b141ab95fae928166383 Author: Axel Beckert Date: Wed Jan 23 17:00:09 2013 +0100 hooks/common.sh: Rename installCentOS4Package to installRPMPackage Add installCentOS4Package wrapper for backward compatibility. commit b451260f0d8fd192ebc338b99800824f0ad08671 Author: Axel Beckert Date: Wed Jan 23 16:08:01 2013 +0100 TODO/KNOWN_BUGS: Add some hook issues noticed recently Found during debugging error messages and warnings in log files. commit af6e1435aa5fd91d5c693be6bf7901f99f787885 Author: Axel Beckert Date: Wed Jan 23 13:13:43 2013 +0100 Mention in error message why xen-create-image thinks that an installation failed commit 290ca338402555fea84c85a118d030c2e32d7843 Author: Axel Beckert Date: Wed Jan 23 13:11:50 2013 +0100 Fix some typos and grammar in log messages commit a1838d90303fe7584f3528d2e32c8ff7a02d46c9 Author: Axel Beckert Date: Tue Jan 22 21:49:24 2013 +0100 Also use linux-image-virtual instead of linux-image-server for >= karmic commit 30ae761c2718b87312124bda4a2d3bff37a87d9b Author: Axel Beckert Date: Tue Jan 22 02:37:44 2013 +0100 Fix typo commit 9182aaccb7ba992f155ce8010765de25b6cfa629 Author: Axel Beckert Date: Tue Jan 22 02:30:15 2013 +0100 Install grub-legacy in all pygrub-based DomUs commit a2aa1b8a0232080ac582ba394efeedf8d6004295 Author: Axel Beckert Date: Tue Jan 22 02:27:48 2013 +0100 Factor out module-init-tools (or kmod) installation commit 03506de7e44c60ef7eb70e06a05c6f3ef248f15e Author: Axel Beckert Date: Tue Jan 22 02:01:13 2013 +0100 Refactoring: Normalize 80-kernel-install for Ubuntus commit f71460358b6ff1f5e05d74363d15de0ccac9dbc8 Author: Axel Beckert Date: Tue Jan 22 01:29:13 2013 +0100 chmod 644 everything in xen-tools/misc commit 8c2a2878df7d8677d62a0b115d33515013ffa6d6 Author: Axel Beckert Date: Tue Jan 22 01:18:57 2013 +0100 Ubuntu: install linux-image-virtual instead of linux-image-server By default install linux-image-virtual instead of linux-image-server on Ubuntu Intrepid and newer. Hopefully closes: #640099, LP #839492 commit 2e69bee53104ac081ee6b3768b98857f9ed4a2ea Author: Axel Beckert Date: Tue Jan 22 00:21:10 2013 +0100 Rename misc/{xen-tools → xen-tools.bash-completion} This prevents name space cluttering and ambiguity in xen-tools/misc/. commit e985d4151b1535129ab35d7576a5fc900351ad1d Author: Axel Beckert Date: Tue Jan 22 00:03:07 2013 +0100 Ship /etc/initramfs-tools/conf.d/xen-tools with MODULES=most This is a necessary setting to generate Dom0 initrds which are also suitable for DomU usage. Trigger update-initramfs in the Debian package. commit a4a4b7a8e71223046aab0aa9816a17afe828cb71 Author: Axel Beckert Date: Mon Jan 21 21:23:41 2013 +0100 Add default mount options for ext4, identical to ext2/ext3 commit a297aa4f5b328c9033ea21de25ddf5afe5a2de32 Author: Axel Beckert Date: Mon Jan 21 16:32:10 2013 +0100 Fix quoting in hooks/common/91-install-fs-tools commit 6423a679825b40bfc500d49e15b0bafb9ee5ede7 Author: Axel Beckert Date: Mon Jan 21 16:15:55 2013 +0100 Handle module-init-tools → kmod transition in wheezy/raring gracefully commit 4dbb6fe189d80de00c575bbf04e69548f93c1d27 Author: Axel Beckert Date: Fri Jan 18 02:25:06 2013 +0100 Bump copyright years in xen-delete-image and xen-list-images commit d38718b24b80cbbe2d65a98a512bd897afdb2628 Author: Axel Beckert Date: Fri Jan 18 02:21:25 2013 +0100 xen-create-image seems to work now again, too: remove TODO commit 53c013f1cc99415065e7a6536f81e26a0f2b5a49 Author: Axel Beckert Date: Fri Jan 18 02:13:19 2013 +0100 xen-delete-image now also understand --extension commit 6a59d0fd9b85fbce796c2ca4e3056703fd5e46d9 Author: Axel Beckert Date: Fri Jan 18 02:12:22 2013 +0100 Properly ident --extension docs in xen-list-images' POD commit 4e7f58785f059a435130cbc09eb9d87ced72aa15 Author: Axel Beckert Date: Fri Jan 18 01:55:57 2013 +0100 Fix Markdown syntax of reference style links in README commit e240c63c8b5db4e42106cc58a911d316a4127581 Author: Axel Beckert Date: Fri Jan 18 01:30:24 2013 +0100 README: Installing Dapper and Edgy no more works on Wheezy due to #659360 commit c39628cbe459fe6c43824649f9063f60e4f1c06f Author: Axel Beckert Date: Fri Jan 18 01:26:11 2013 +0100 Overwork TLS disabling on Debian and Ubuntu commit 73dabead05c4518a68c5bfb762e9dcf366f4638b Author: Axel Beckert Date: Thu Jan 17 22:59:34 2013 +0100 unMountImage may fail if $CONFIG{FAIL} is already set commit ce1624b83e858614a5430c3cc29085e1b8cb6c8c Author: Axel Beckert Date: Thu Jan 17 22:59:01 2013 +0100 Remove redundant and broken second setting of mirror by distribution commit 97553c50fbb84bfaa242ab9b673aebfe587ea7e6 Author: Axel Beckert Date: Thu Jan 17 22:48:15 2013 +0100 Handle Sarge amd64 case properly Uses File::Which, (build-) dependency on libfile-which-perl added commit 3456849ec87b4c1beb026ebbab6972fe5d76a9df Author: Axel Beckert Date: Thu Jan 17 22:17:37 2013 +0100 Make t/xen-lists-images.t more strict: No more /i commit dc5b36f8ef12aa9d970d672a3e8e7a1a98373546 Author: Axel Beckert Date: Thu Jan 17 22:15:21 2013 +0100 xen-list-images now also outputs the name of the config file commit 00623e2327bd549c59d8731573c6755e4bc27dbd Author: Axel Beckert Date: Thu Jan 17 22:13:34 2013 +0100 Add --extension option to xen-list-images commit c6caa0a0adbcacc6acfab6ca4cf0268d741deff6 Author: Axel Beckert Date: Thu Jan 17 21:57:50 2013 +0100 Fix "--extension=" with empty parameter commit 13dbf657933f206c0a7029676b0f185742a993a3 Author: Axel Beckert Date: Thu Jan 17 21:19:55 2013 +0100 Mention that --keep does not prevent unmounting commit d6144d45ea4bb981f88ad2a036eaa0e91ddfea0e Author: Axel Beckert Date: Thu Jan 17 21:11:44 2013 +0100 It's said that just "END" is better style than "sub END". commit b682ad1817ecadcc349c8cdfb268cb1e05cd4f16 Author: Axel Beckert Date: Thu Jan 17 21:07:34 2013 +0100 Normalize redundant FAIL test commit 61df2a6c51e4b8df323e1b2e48d9d4162029abcc Author: Axel Beckert Date: Thu Jan 17 21:05:46 2013 +0100 Trap SIGINT to unmount to temporary mount point This makes END being called again after Ctrl-C. commit c1e7cb717a9be692281ba43ef7d5f23196d1109c Author: Axel Beckert Date: Thu Jan 17 21:02:00 2013 +0100 Add optional argument to unMountImage and hence runCommand to allow failure commit a223eedf0bd5f1fc2a61085291ed7908375e6566 Author: Axel Beckert Date: Thu Jan 17 20:55:42 2013 +0100 Remove redundant unMountImage call commit 987cf324580cdead6d5612af99e48af23ea6e498 Author: Axel Beckert Date: Thu Jan 17 18:30:39 2013 +0100 TODO: Move /usr/lib/xen-tools/ to /usr/share/xen-tools/ commit dd15b27b85a213c07d54f121e88e6294c0843d9e Author: Axel Beckert Date: Thu Jan 17 18:06:40 2013 +0100 Apply wrap-and-sort to debian/control commit 0defc0f0e349be30a22bd961fb8dd15d29a4fe7b Author: Axel Beckert Date: Thu Jan 17 18:02:20 2013 +0100 Switch to a minimal dh style debian/rules Override dh_auto_build as it triggers the nop target. commit 1f70c8f5d783313fa74de236ce904308d41a9ddb Author: Axel Beckert Date: Thu Jan 17 17:53:31 2013 +0100 Use dh_installexamples with a debian/examples file This was also the reason to move the examples around in the previous commit. :-) commit 39c6bb59743515ac25af8c3b7c6f414430b4a976 Author: Axel Beckert Date: Thu Jan 17 17:50:43 2013 +0100 Move examples from debian/examples to examples commit 02240309b3978eb577b94cc7469e4dd4f33f3fe9 Author: Axel Beckert Date: Thu Jan 17 17:09:37 2013 +0100 Bump Copyright years at multiple place commit ed2c2d5a145bd1d7e9ddf59342e0323d54de0193 Author: Axel Beckert Date: Thu Jan 17 16:49:34 2013 +0100 TODO: Obvious Sarge amd64 mirror issues commit 931f88f99a098abfb48f89f3e2bfd44b9608d9c1 Author: Axel Beckert Date: Wed Jan 16 17:44:28 2013 +0100 No more explicitly call "make manpages" It's a depedency of "make install" in the next line anyway. commit 5d0bd617e02c3bcf0b654b4b20579a04b233d9cd Author: Axel Beckert Date: Wed Jan 16 17:01:40 2013 +0100 Fix copy & paste error in binary-* targets in debian/rules commit 70e0115f940f037c96c48fd2ae4e1179c1ce1409 Author: Axel Beckert Date: Wed Jan 16 16:58:10 2013 +0100 Use dh_auto_{install,clean}; use "$(MAKE)" instead of "make" commit 1d16c86ebaeb01e5f8a5acf7a764e5a066fc2c2b Author: Axel Beckert Date: Wed Jan 16 16:55:23 2013 +0100 Remove explicit mentioning of upstream changelog in debian/rules dh_installchangelogs finds it by itself if it exist. That way building out of a freshly clone git repository does not fail due to a missing upstream changelog. commit e15d6cfd5e3b5d062abefb51e5be1c05d20a875d Author: Axel Beckert Date: Wed Jan 16 16:47:15 2013 +0100 Revert "Install upstream ChangeLog only if it exists." This reverts commit 35477c6172f62400120eb15f50b6819befd6f5f2. If the upstream ChangeLog did not exist, the debian/changelog wasn't installed either. Which was not the intention. commit ae33f606807a25c8f0e25dc0d12e38fddd97bd9e Author: Axel Beckert Date: Wed Jan 16 16:44:42 2013 +0100 Makefile: Accept "DESTDIR" instead of "prefix=", too That way it adheres more commonly used conventions and allows using dh_auto_install commit 459f418f12507d9bd007d6c590363c292fab621c Author: Axel Beckert Date: Thu Dec 13 14:49:06 2012 +0100 No more specific milestones in KNOWN_BUGS commit 448a176e58c40c530076538d1be86b25142129b3 Author: Axel Beckert Date: Wed Nov 28 01:28:48 2012 +0100 Bump version to 4.4~dev commit 0a7544c57abc189e6f5ab5ec4cde6b74f609925f Author: Axel Beckert Date: Wed Nov 28 01:10:58 2012 +0100 Replace some verbose print()s by logprint_with_config() commit 4830ce8b8a3f03fc17585f7b40255db1ff158faa Author: Axel Beckert Date: Wed Nov 28 01:10:09 2012 +0100 TODO: Unify --debug and --dumpconfig commit 00b316a2c425c1fbb780a6c286792fa42627d8fc Author: Axel Beckert Date: Wed Nov 28 01:04:39 2012 +0100 Call findXenToolstack() also in xen-{delete,resize,update}-image commit 1efbc726769383629df68940b757cf08d0163409 Author: Axel Beckert Date: Wed Nov 28 01:03:58 2012 +0100 Add --no-xen-ok option also to xen-create-image commit 8bd56bd67e3dce37f59e910cab6e2d8ae6230cdd Author: Axel Beckert Date: Wed Nov 28 00:52:20 2012 +0100 Bugfix: Can't pass @_ to templated functions which expect scalars commit ab9b033068abda4fd4938992e686c1bdb8ec65a5 Author: Axel Beckert Date: Wed Nov 28 00:04:25 2012 +0100 Fix some whitespace issues in t/argument-check.t commit 16dd2d9f2f7b9e8c995bf581dd36cfc23d85aa76 Author: Axel Beckert Date: Wed Nov 28 00:04:07 2012 +0100 Use done_testing instead of no_plan commit 00bb13701293b4d1e8beac4a7ef0da6d4e671bbb Author: Axel Beckert Date: Tue Nov 27 23:52:02 2012 +0100 New xen-delete-image option --no-xen-ok for disabling xenRunning tests commit 4c3e4abff71fb860d584c82f9a73fca87e3e7f03 Author: Axel Beckert Date: Tue Nov 27 23:42:21 2012 +0100 Move findBinary to Xen::Tools::Common commit 6b64dcc122a36c4d549298e40e2c8cdbbaae2c3f Author: Axel Beckert Date: Tue Nov 27 23:39:49 2012 +0100 Call scripts in tests with local library paths commit 9a9fa39f69ac41540f69f577c9eb44e4e34edfa7 Author: Axel Beckert Date: Tue Nov 27 23:38:26 2012 +0100 Make t/pod-coverage.t pass for Xen::Tools::Common commit ffa0ac568150471ce2a4be969deb2e39ce7d6223 Author: Axel Beckert Date: Tue Nov 27 23:37:46 2012 +0100 Fix some logprint() calls with multiple arguments commit b5499e48b4409a37037c3da10c857d3a8074e7ec Author: Axel Beckert Date: Tue Nov 27 23:37:09 2012 +0100 Define fail() and logprint() helpers as early as necessary commit 2d79f137145aa73833eb8ec6d5a1cc64e25dafb7 Author: Axel Beckert Date: Tue Nov 27 23:31:21 2012 +0100 All runCommand() calls should pass %CONFIG commit de9d3f28144396a5a8b8c263dd5acd2cfd0d7899 Author: Axel Beckert Date: Tue Nov 27 23:26:32 2012 +0100 Replace one more die by fail commit 9da26382f463f3abe31852a122f6d4d960aa0f65 Author: Axel Beckert Date: Tue Nov 27 23:26:18 2012 +0100 Fix missing trailing semicolon commit 85f7d1b9fe9365d10d0289e9bf186b33ab8cc0e9 Author: Axel Beckert Date: Tue Nov 27 23:25:29 2012 +0100 Consequently use $CONFIG{FAIL} instead of $FAIL commit d2f935b82301a9548a9ab8d102a39854d0140e55 Author: Axel Beckert Date: Tue Nov 27 23:24:10 2012 +0100 Make fail(), logprint() and logonly() get \%CONFIG, too commit 68d548ef60d41afdd7e145e17e69440caffa3c12 Author: Axel Beckert Date: Tue Nov 27 23:04:45 2012 +0100 Parameter templates for fail(), logprint() and logonly() commit ea23c79431c7f55cba1ad3d8c592621f46977b56 Author: Axel Beckert Date: Tue Nov 27 22:49:56 2012 +0100 Support Xen xl toolstack elsewhere than xen-create-image commit 76fbd234235aa2d147d25079f5d42e5615ed174b Author: Axel Beckert Date: Tue Nov 27 22:48:37 2012 +0100 Move findXenToolstack() to Xen::Tools::Common commit 494ec02a7ceeb8159b76325a959ec4f585d62379 Merge: 6f2814f 83eede6 Author: Axel Beckert Date: Tue Nov 27 22:40:08 2012 +0100 Merge branch 'master' into code-deduplication Conflicts: bin/xen-create-image bin/xen-create-nfs bin/xt-create-xen-config commit 83eede665c39ed25ea315f13823ffa43204578f4 Author: Axel Beckert Date: Tue Nov 27 22:29:04 2012 +0100 Fix warning about no_plan usage in t/hook-inittab.t commit 8f1f29855160b6656e54f7ece978a74fc7f1f18c Author: Axel Beckert Date: Tue Nov 27 22:28:38 2012 +0100 New option to dump contents of %CONFIG Probably only needed for debugging. commit e57e7f16eba58c514ce024212f100c5be9c14481 Author: Axel Beckert Date: Tue Nov 27 22:24:52 2012 +0100 Preliminary support for the Xen xl toolstack (xen-create-image supported only so far) commit b54d5b84f9e5363fdc3803aa64f61f2e72c6c15f Author: Axel Beckert Date: Tue Nov 27 18:26:47 2012 +0100 Refactoring: Replace $options with $option as it contains just one option commit b99ca853e1c3ae7c3d8bfe1b718bd4b0b80566ee Author: Axel Beckert Date: Tue Nov 27 15:59:59 2012 +0100 Replace system() by runCommand() commit e7b710d43a3fbb8a14feae76562fc459d75c2748 Author: Axel Beckert Date: Tue Nov 27 13:23:28 2012 +0100 No more refer to forking in the comments commit 6f2814f414d8a850a6284b82549c917b9205ec58 Merge: f58a9fa 874d1fc Author: Axel Beckert Date: Tue Nov 27 13:22:34 2012 +0100 Merge branch 'master' into code-deduplication Conflicts: bin/xen-create-image commit 874d1fcfb0b88dc11eddc558773cec43493d0d3d Author: Axel Beckert Date: Tue Nov 27 13:13:14 2012 +0100 No more mention xm bash-completion file. It has been removed. commit 814adbd85a0f7d94a4476e5895517cd284e6e2b6 Author: Axel Beckert Date: Thu Nov 22 20:49:00 2012 +0100 Fix typo in README commit 74ef51eb2657642e05d67a423e5a1cf665ee08a4 Author: Axel Beckert Date: Thu Nov 15 20:09:37 2012 +0100 Fix even more Markdown indenting commit ff4620c39a7d72ef3ac4661460911959577afe66 Author: Axel Beckert Date: Thu Nov 15 20:06:22 2012 +0100 Fix some Markdown indenting commit bac1d6c63b1118222e00de87d115c277c3d1605b Author: Axel Beckert Date: Thu Nov 15 18:38:26 2012 +0100 Use .markdown instead of .mdwn as GitHub doesn't recognize the latter commit 0842ddd128b4632484dbc33795a536df0fdb0ca2 Author: Axel Beckert Date: Thu Nov 15 18:29:38 2012 +0100 Converting a first bunch of documentation to Markdown format commit 026e47ac83bcc5a4f99cd7ea607cb4d703547c80 Author: Axel Beckert Date: Thu Nov 15 16:55:10 2012 +0100 Preliminary support for Debian Jessie and Ubuntu Raring Also set the default mirror for Ubuntu Natty to old-releases.ubuntu.com as it's end of life and will move there soon. commit b116f1cca7c817193446427ec83a5ad9a2971d0a Author: Axel Beckert Date: Wed Nov 14 00:18:26 2012 +0100 Update contact information in SUPPORT commit a87b0d1b2ce28f1e8528a8481f7f630cc51b55e5 Author: Axel Beckert Date: Wed Nov 14 00:02:54 2012 +0100 Remove CVS revisions from --version output commit 80edc0457307c9b50a4334d979ac0aad3fde4c6f Merge: 3b7750e 35477c6 Author: Axel Beckert Date: Tue Nov 13 23:38:30 2012 +0100 Merge branch 'master' of github.com:xtaran/xen-tools Conflicts: debian/changelog commit 3b7750e9a9ea89a7d4cabbe2d1176fb5a0a7d901 Author: Axel Beckert Date: Tue Nov 13 23:35:20 2012 +0100 Also suppport elevator=noop for pygrub commit a7cc86c567be32f85b147cefc836e506a660212d Author: Axel Beckert Date: Tue Nov 13 23:10:04 2012 +0100 Default DomUs to use the noop scheduler (Closes: #693131) commit 442021849dd52ea1bf31d4cded4bc733e02b54fe Author: Axel Beckert Date: Tue Nov 13 22:55:53 2012 +0100 Also recognize M and G as size unit for --memory (Closes: #691320) Document all recognized units. commit 446e157b80bb959ff9acaa461e9bc9e8d39b7727 Author: Axel Beckert Date: Tue Nov 13 22:41:47 2012 +0100 Move code for --boot feature to END block. Fixes missing SSH fingerprint display if --boot was used. (Closes: #679183) Remove a redundant unsetting of $MOUNT_POINT. Guard a potentially second call to the not idempotent unMountImage(). commit 1dbb1f191f570326421393a913ff5f24a0fc04e3 Author: Axel Beckert Date: Tue Nov 13 22:29:46 2012 +0100 Use local parameter instead of global variable in unMountImage commit adca82e808c4ee0d826e527e80edfc8a435fa026 Author: Axel Beckert Date: Tue Nov 13 20:45:50 2012 +0100 2 new TODOs: Remove CVS keywords, uncouple auto-start from --boot commit 324fff9f7eb452c4c365f599b0f027a229add947 Author: Axel Beckert Date: Tue Nov 13 19:47:36 2012 +0100 Execute END block not on --version/--help/--manual (Closes: #684346) commit 7b908a406916d9235cd894468b3ecff137892f29 Author: Axel Beckert Date: Tue Nov 13 18:16:02 2012 +0100 Fix symbolic link hooks/centos-6/15-setup-arch (Closes: #690299) commit b233cb614dff224d0123c2b4bee94f4bf0988974 Author: Axel Beckert Date: Tue Nov 13 18:07:42 2012 +0100 Bump version to 4.3.1+dev commit 70a30bb146676f3a1ebc727b071d7a39a51c1526 Author: Philipp Erbelding Date: Thu Nov 8 12:38:48 2012 +0100 prevent matching lines like "shadow_memory = 16" commit 8523d76c14b070862b1315842fb019d4d269b02e Author: Axel Beckert Date: Fri Oct 26 15:14:38 2012 +0200 Document ideas about authorized_keys commit 35477c6172f62400120eb15f50b6819befd6f5f2 Author: Axel Beckert Date: Mon Aug 13 00:37:41 2012 +0200 Install upstream ChangeLog only if it exists. The upstream changelog is generated during the upstream release process, but expected when building the binary .debs. Make its inclusion optional in the binary .debs. commit b692dbbe756b17407ee0a4f02a35d1a97c4fc609 Author: Axel Beckert Date: Sun Aug 12 19:49:05 2012 +0200 Add forgotten section header in gbp.conf commit 26b4c1ed90063bd7521423bc061f599c46976b48 Author: Axel Beckert Date: Sun Aug 12 19:44:36 2012 +0200 Add debian/gbp.conf for git-buildpackage support commit 7860d5ac4ec962abdb3fea98fe0cd7d81e744fee Author: Axel Beckert Date: Sat Jun 30 16:45:59 2012 +0200 Release 4.3.1 RC1 unmodified as 4.3.1 commit bb54ee7868a7fe3be9e8eb7b7b95ccd7840d04f3 Author: Axel Beckert Date: Sat Jun 30 16:07:36 2012 +0200 4.3.1 release candidate 1 Will likely just appear in the Ubuntu PPA to check if it finally build for Ubuntu again commit 6a5506768c4b7a4fc6b52961310d30d15a59412d Author: Axel Beckert Date: Wed Jun 27 01:52:12 2012 +0200 Changelog entry for t/hook-tls.t failures on 32-bit commit d6e33edb5b38483b93cd8280cdf1c54d01de1687 Author: Axel Beckert Date: Wed Jun 27 01:49:56 2012 +0200 Only run testTLSDisabling if distribution actually has 10-disable-tls commit 611d6c4eb4b5574485e614be28b3161b6f93186f Author: Axel Beckert Date: Wed Jun 27 01:49:21 2012 +0200 Ignore hooks/common in t/hook-tls.t commit 0cde7cdf39eef296a6b6e379b324f78c8baa0f0e Author: Axel Beckert Date: Wed Jun 27 01:41:42 2012 +0200 t/hook-tls.t: Always output tested distribution commit cde5617a29f18a495bd2f543d2fb534654f6090e Author: Axel Beckert Date: Wed Jun 27 01:33:47 2012 +0200 Use "rm -vf" instead of "-rm" in t/Makefile commit 74411f970b6fc806754b7df4f90990ecdf210ded Author: Axel Beckert Date: Wed Jun 27 01:31:57 2012 +0200 Remove t/modules.t in upstream's t/Makefile ... instead of remove it in debian/rules' clean target. Call clean target of t/Makefile also from clean target of toplevel Makefile. commit 3383b6dacf8a1bba535b63aa0ad36042d4b2da8d Author: Axel Beckert Date: Wed Jun 27 01:31:09 2012 +0200 Bump version to 4.3+dev commit d9f8a3fc318bb02febba751a94c83282d84f01e7 Author: Axel Beckert Date: Tue Jun 26 22:37:02 2012 +0200 Release 4.3 commit 5703f8b5c9cbc4f4ec85fbb086a0f4207df3416d Author: Axel Beckert Date: Wed Jun 27 00:02:22 2012 +0200 Remove generated file t/modules.t in clean target Otherwise the package wouldn't build twice in a row. It didn't hurt while developing since it's listed in .gitignore. :-) commit f67c7e25c8fbec6db135fa628c8bc085cee1b88f Author: Axel Beckert Date: Tue Jun 26 23:56:02 2012 +0200 Don't remove stamp files manually, dh_clean does that already commit 8dbd0ef7dc010b30575c5e74035f5d3748b906a7 Author: Axel Beckert Date: Tue Jun 26 22:32:52 2012 +0200 Switch to source format to "3.0 (quilt)" commit 58a050218f3a04868586da379cf2794ac2e4c22a Author: Axel Beckert Date: Fri Jun 8 21:45:49 2012 +0200 Remove most Mercurial traces commit 3ce7398cf604b83441b5a5965979c0d9f740e27a Author: Axel Beckert Date: Fri Jun 8 21:28:28 2012 +0200 Add bug report reference to FTBFS in testsuite commit 0ec64f6926014ae567ba5a33490ae1957d3fd3e4 Author: Axel Beckert Date: Fri Jun 8 20:36:34 2012 +0200 Rewrite current changelog entry; start new NEWS entry commit fa9a420490c18a051f6e92fb5faceafb1fec3ce3 Author: Axel Beckert Date: Fri Jun 8 20:31:05 2012 +0200 Add build-dependency on git for t/gitignore.t commit c212cfb08f2181a837ed3ed0e73d3330c5fa7da3 Author: Axel Beckert Date: Fri Jun 8 18:54:53 2012 +0200 Add build-dependency on Test::Pod::Coverage for t/pod-coverage.t commit c400b6644ad98eb018c09f2236d56a4f6e9b7769 Author: Axel Beckert Date: Fri Jun 8 18:51:28 2012 +0200 Add build-dependency on Moose for t/perl-syntax.t commit 917d3d6b2ad56e62e2baad6d00b442ffea52c6aa Author: Axel Beckert Date: Fri Jun 8 18:41:58 2012 +0200 Skip t/hook-inittab.t if /etc/inittab is not present Fixes FTBFS on Ubuntu. commit 8ba16d0e7a828e5dbe7c02c72dd43746a244c317 Author: Axel Beckert Date: Fri Jun 8 17:37:28 2012 +0200 Disable tests of not yet used Xen::Tools perl modules. Fixes FTBFS in test suite due to not satisifed Moose dependency in Xen::Tools::Log. commit 7407409c92a6974af94678779f7eea3596c1a606 Author: Axel Beckert Date: Fri Jun 8 14:44:06 2012 +0200 Mark as 4.3 Release Candidate 1 commit ebbd16a3be7f9d8c632769932850caa3cd9086de Author: Axel Beckert Date: Fri Jun 8 14:41:29 2012 +0200 Create tar.gz files in .. instead of .. Eases git handling and package generation. commit ab181b73058e39e5e01c90b6c734aae704fa2749 Author: Axel Beckert Date: Thu Jun 7 23:13:00 2012 +0200 Move xen-utils (for pygrub) from Suggests to Recommends pygrub becomes the necessary way to boot more and more often. commit eededbddbd757703e8a388e9006a430cc0c2b600 Author: Axel Beckert Date: Thu Jun 7 22:37:38 2012 +0200 Add more logMessage to centos-*/25-setup-kernel Make as similar as possible wrt to comments and installed packages. commit 895c79ac431ddc144d2d726b05dd3bf6d21b5006 Author: Axel Beckert Date: Thu Jun 7 22:24:29 2012 +0200 Anticipatory adding of symlinks for recent Fedora releases Fedora > 10 doesn't work anyway as rinse doesn't support it, at least as of now (i.e. with rinse 2.0). commit 075da536d357589cc5ff737a35187e7d5e971f90 Author: Axel Beckert Date: Thu Jun 7 22:21:39 2012 +0200 Update TODO wrt code duplication and the hooks directory commit e6ca95841834b530c8987dd8a2a95656bc041bf8 Author: Axel Beckert Date: Thu Jun 7 18:18:40 2012 +0200 Officially support CentOS as DomU commit 34526d96c9adb65458fb509ff41993c53a2bd7b6 Author: Axel Beckert Date: Thu Jun 7 18:01:42 2012 +0200 Fix kernel version detection for CentOS 6 commit c3528c23be29165eb5f43bc1715f203e6a2ac331 Author: Axel Beckert Date: Thu Jun 7 16:57:45 2012 +0200 Exchange initrd-*.img and initramfs-*.img between CentOS 5 + 6 commit 5d1b6e0c1392b2d78c774579064cc3439f2c4206 Author: Axel Beckert Date: Thu Jun 7 14:48:47 2012 +0200 Support rinse 2.0 With rinse 2.0 the --arch option in mandatory. Let it default to the Dom0's architecture. commit 05314c37cf14972a45036ea7a0dc4d80e7f2f654 Author: Axel Beckert Date: Thu Jun 7 13:39:02 2012 +0200 Enforces umask 022 in 50-setup-hostname* Hopefully closes #619630 commit 10dc941e9fd5ce81d1f39f613025853d816353f4 Author: Axel Beckert Date: Thu Jun 7 13:22:28 2012 +0200 Fix shebang line in centos-*/25-setup-kernel Also set the executable bit commit ae49cf2304933b777c71da587210a3f86f78e05c Author: Axel Beckert Date: Thu Jun 7 13:16:00 2012 +0200 Remove xen-shell from Recommends, nobody picked it up. (Closes: #603708) commit c623826bacc3f5a0d02b8a86c7fcfbb0c05970ef Author: Axel Beckert Date: Thu Jun 7 13:08:57 2012 +0200 Upgrade rinse recommendation to >= 1.9.1-1 Needed for CentOS 6 (and maybe also CentOS 5) commit bb01ea4b337bcd457adc9b1a763cf0caa17a620c Author: Axel Beckert Date: Thu Jun 7 13:06:26 2012 +0200 Mention Johan Schurer's contributions commit 107bd59724969eea01dd544d3c4cc981d565b679 Author: Johan Schurer Date: Thu Jun 7 12:56:16 2012 +0200 Add CentOS 6 support commit cab677bab0e948986b105009fdd048894ec50813 Author: Johan Schurer Date: Thu Jun 7 12:54:49 2012 +0200 Add 25-setup-kernel to get CentOS 5 working commit a3127ff40dc4c0834c1306a641ea8c53ac0ace8e Author: Axel Beckert Date: Thu Jun 7 00:50:16 2012 +0200 Use common/80-install-modules-deb also for dapper pygrub support shouldn't hurt there commit 756cbd13dee90a360941ad364444fc5426037dee Author: Axel Beckert Date: Wed Jun 6 17:39:18 2012 +0200 Merge gentoo/80-install-modules into common/80-install-modules-rpm commit 85cbbded6188cd9f5a726fc40a356fe2028f5938 Author: Axel Beckert Date: Wed Jun 6 17:21:33 2012 +0200 Merge 90-make-fstab-deb and 90-make-fstab-rpm Split off deb-specific part into common/91-install-fs-tools commit a3d53e78b5e8c8394e5c709a422e95f065478e46 Author: Axel Beckert Date: Wed Jun 6 16:50:09 2012 +0200 Use the debian/55-create-dev script as common/55-create-dev Use it also for gentoo and dapper. Add a TODO note about stuff which came up during comparing all the previously existing variants of 55-create-dev. commit a3cc982efedac388914209b6cc0b125d13094db9 Author: Axel Beckert Date: Wed Jun 6 15:15:09 2012 +0200 Change Maverick's example mirror to old-releases.ubuntu.com in the example config, too commit 9e7a34f47a69facbbe38549a65665c0bf92d2ddb Author: Axel Beckert Date: Wed Jun 6 15:13:44 2012 +0200 Dapper LTS is EoL, change its default mirror to old-releases.ubuntu.com commit 30bba7379ba6cd81c4ddbb82757f43c0a50934d9 Author: Axel Beckert Date: Wed Jun 6 14:53:40 2012 +0200 Use common/90-make-fstab-rpm also for centos-5 gid 5 is the group tty there, too See http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-users-groups-standard-groups.html commit 68db018009d5b4435a8c900deb4ff213612c36dd Author: Axel Beckert Date: Wed Jun 6 14:44:30 2012 +0200 Merge old and new Upstart terminal device handling into common/30-disable-gettys commit cc4ad9493909099a2ca81194535b9b65d900b51b Author: Axel Beckert Date: Wed Jun 6 14:30:47 2012 +0200 Fix wrong device name in handling of serial_device commit 5bd5f0169929bb200521cd11cf5306c9f35b2237 Author: Axel Beckert Date: Tue Jun 5 19:59:40 2012 +0200 Add notes about oneliners helpful for code deduplication commit 75d5a488c85ba6cc79fef6a6c74339a9f1301b3a Author: Axel Beckert Date: Tue Jun 5 19:12:38 2012 +0200 Link fedora-core-6/70-install-ssh to common/70-install-ssh-rpm (only had whitespace changes) commit e39b5a0edf5c43943231b7cf44c7ec2139ae29b4 Author: Axel Beckert Date: Tue Jun 5 18:58:31 2012 +0200 Merge all centos/fedora 99-clean-image into common/99-clean-image-rpm Rename previous common/99-clean-image to common/99-clean-image-deb; adjust all links commit 84602efdf858c4740e21fc1168d28e1acb99c137 Author: Axel Beckert Date: Tue Jun 5 18:20:49 2012 +0200 Make {centos,fedora}-*/99-clean-image identical (whitespace changes only) commit d6f4e7d32a358719ada70a7d57b8a2483888f295 Author: Axel Beckert Date: Tue Jun 5 18:17:55 2012 +0200 Link gentoo/90-make-fstab to common/90-make-fstab-rpm Only difference was one more informative logMessage commit 49db07bcf83f05a8114df8421322f95002f3a7a4 Author: Axel Beckert Date: Tue Jun 5 18:12:41 2012 +0200 Merge all centos/fedora 50-setup-hostname into common/50-setup-hostname-rpm Rename previous common/50-setup-hostname to common/50-setup-hostname-deb; adjust all links commit 522eb34694889ffc5ad8152cc283118915e71a41 Author: Axel Beckert Date: Tue Jun 5 16:46:31 2012 +0200 Link debian/90-make-fstab to common/90-make-fstab-deb They differed just by whitespace commit 93b7cb3bf2dd9ae8d35c11cfd36dc14954045cd1 Author: Axel Beckert Date: Mon Jun 4 19:01:56 2012 +0200 Make several tests not check files multiple times via symlinks commit 55c3c15d1109f54537929768f3ff4efa3229c6a5 Author: Axel Beckert Date: Mon Jun 4 19:01:31 2012 +0200 Replace tabs by blanks in hooks/common/20-setup-apt commit a8289d0d9108ba6e1a0b4d74e862503d38571ee2 Author: Axel Beckert Date: Mon Jun 4 18:57:36 2012 +0200 Make common/30-disable-gettys and {edgy,intrepid}/30-disable-gettys more similar commit 494aedab67433ba8256f26bf73debc95b983d429 Author: Axel Beckert Date: Mon Jun 4 18:47:11 2012 +0200 Merge bugfixes made to intrepid/30-disable-gettys also into edgy/30-disable-gettys commit 111765e8816225a8d14c2f524aab4d1f767d9e8a Author: Axel Beckert Date: Mon Jun 4 18:41:47 2012 +0200 Link dapper/30-disable-gettys to common/30-disable-gettys, too commit b3c834935a99f358d2b90bbc3fe7fad106d5b8b4 Author: Axel Beckert Date: Mon Jun 4 18:39:31 2012 +0200 Remove white-space and comment differences between common/20-setup-apt and debian/20-setup-apt commit 28e10bc384275876606e802ed8ab2a56ae98b625 Author: Axel Beckert Date: Mon Jun 4 18:37:26 2012 +0200 TODO: Refactor TLS disabling commit db77d621e7819bed675284da737926ed94ee8978 Author: Axel Beckert Date: Mon Jun 4 18:30:54 2012 +0200 hooks/debian/20-setup-apt: Use blacklist for libc6-xen instead of whitelist commit 5acbc5171f89c53d53916beed3900471cbad3a4a Author: Axel Beckert Date: Mon Jun 4 18:26:32 2012 +0200 Link gentoo/10-disable-tls to common/10-disable-tls, too commit 14226d382be47533667a961d69ad6fa7275afb6c Author: Axel Beckert Date: Mon Jun 4 18:24:06 2012 +0200 Remove debian-specific stuff from hooks/gentoo/10-disable-tls commit 0d1e1b7e2a0134299a486f393c3a6cde0f0a5684 Author: Axel Beckert Date: Mon Jun 4 18:19:26 2012 +0200 Merge common/10-disable-tls and dapper/10-disable-tls commit 060fc6bd194a76936501c4fb5483e7cab0f88328 Author: Axel Beckert Date: Mon Jun 4 17:57:41 2012 +0200 Merge dapper special case with libc6-xen into common/20-setup-apt commit 5dd64112edac54c49aa0a677bc7a1b67e6ed3942 Author: Axel Beckert Date: Mon Jun 4 17:32:36 2012 +0200 Refactoring: code deduplication: Merge hook files with just whitespace differences commit 4279ce6d28b2a175708ef43bea84ebe8ebc2e82b Author: Axel Beckert Date: Mon Jun 4 17:25:05 2012 +0200 Merge 35-setup-users Fedora special case into common/35-setup-users commit 98983cc9a040fb8c3e10f301c2242d25b4be90bb Author: Axel Beckert Date: Mon Jun 4 16:59:19 2012 +0200 Refactoring: Massive code deduplication in hooks directory (Part 3) All remaining hooks files just differed syntactially, but not semantically. They were merged into one file sporting the most readable syntax variant. commit 2e9394d0102c865673ae06cc9541de6e2960208c Author: Axel Beckert Date: Mon Jun 4 16:47:59 2012 +0200 Refactoring: Massive code deduplication in hooks directory (Part 2) All hooks files which were identical in two groups (debianoid and redhatoid) have been moved to the new hooks/common directory and now have symbolic links to the according new files at their old locations. commit fc736c040d7c7e7e0c6e83e149a7832e5e45ab53 Author: Axel Beckert Date: Mon Jun 4 16:26:03 2012 +0200 Refactoring: Massive code deduplication in hooks directory All hooks files which were identical and had no second group of identically named hook files have been moved to a new hooks/common directory and now have symbolic links to the new single file at their old locations. Also slightly modified to make this work: * Makefile: copy new hooks/common directory * Some tests: ignore new hooks/common directory commit 310675387107e3b6a1d4c75384167874ce0cfaab Author: Axel Beckert Date: Thu May 31 01:33:26 2012 +0200 Text deduplication in the TODO file ;-) commit f58a9faa6a971583b4d865e87e73ffcf398efb33 Merge: b147667 8b47018 Author: Axel Beckert Date: Thu May 31 01:29:11 2012 +0200 Merge branch 'master' into code-deduplication commit 8b4701875f04596070563e915d8853e55b65acba Author: Axel Beckert Date: Thu May 31 01:29:01 2012 +0200 TODO: About code deduplication in hooks/. commit b1476676fe77c9746c4db195e89dbf419073ce21 Author: Axel Beckert Date: Thu May 31 01:21:35 2012 +0200 Xen::Tools::Common should return true commit a23f31077a7aa26fa6c23ee9f76f39d86c1b2902 Author: Axel Beckert Date: Thu May 31 01:19:23 2012 +0200 Call commands in tests with proper search path for perl modules commit 34ccb63f64f62cc01d57363e6b93e6b1d71503d9 Author: Axel Beckert Date: Thu May 31 01:10:14 2012 +0200 Move functions fail, logonly and logprint to Xen::Tools::Common They're used in there commit ed91f1fc438ac467778b8110b3cb282de566a98b Merge: 65d76b6 83f736f Author: Axel Beckert Date: Thu May 31 01:07:59 2012 +0200 Merge branch 'master' into code-deduplication Conflicts: bin/xen-create-image commit 83f736f0dde7af965465a7a0563c34fe9ae416b6 Author: Axel Beckert Date: Thu May 31 00:35:44 2012 +0200 Add NEWS to debian/docs commit 0747b2fdd96d086a2c075c79e2d9a6ae3f91afa4 Author: Axel Beckert Date: Thu May 31 00:35:00 2012 +0200 Add a NEWS file with major changes starting from the 4.2 release commit a8bef1239177cb2dcfa26f7bddd32a6dc53128ca Author: Axel Beckert Date: Wed May 30 23:58:12 2012 +0200 Update copyright years in debian/copyright commit 6e0bfb965864b0ed0bb7a2d5ffb69abb507fda05 Author: Axel Beckert Date: Wed May 30 23:57:56 2012 +0200 Update copyright years at several places commit 9a0c6fa724314c6931211d9561a6e783964ef0b0 Author: Axel Beckert Date: Wed May 30 23:44:18 2012 +0200 Fix some tab characters commit e727fbbbbd089b7992204a95ad9b15a539bc7d11 Author: Axel Beckert Date: Wed May 30 23:39:24 2012 +0200 Test for $CONFIG{dontformat} just once commit 953c692b5409ca8fb0ad39eabd42c174ea301a6c Author: Axel Beckert Date: Wed May 30 23:37:36 2012 +0200 Add Pieter Barrezeele to AUTHORS commit f18cda879615a786756dadcba32e94f714ad3d6b Author: Pieter Barrezeele Date: Wed May 30 23:37:09 2012 +0200 Add --dontformat to skip filesystem creation commit ef465d987912dc7c8bbafc0e919f3366e8673c73 Author: Pieter Barrezeele Date: Wed May 30 23:34:04 2012 +0200 Add --finalrole to run role scripts after config file creation commit 9320ba661d24862513fff32ec94754f5f8cc1b8b Author: Pieter Barrezeele Date: Wed May 30 23:30:13 2012 +0200 Don't verify the availability of lvm tools unless lvm is used commit 0b820d867508b403e6686bb5ebb297e758676916 Author: Axel Beckert Date: Wed May 30 23:23:36 2012 +0200 Update AUTHORS commit 590aa44e7ca4331132be07774228cf423c02942e Author: Axel Beckert Date: Wed May 30 22:40:51 2012 +0200 TODO: wrong mirror displayed on startup summary commit 6201e24b510d0b147311ca331b93934db5e52718 Author: Axel Beckert Date: Wed May 30 21:57:31 2012 +0200 Also disable initctl in the chroot, not only start-stop-daemon Closes LP#997063. Thanks xstasi on Lauchnpad for the patch commit 625a6f6282906b356f3b4cf92f2a0efb0e8be036 Author: Axel Beckert Date: Wed May 30 21:48:39 2012 +0200 Make t/xen-tools.t not fail on package build Note down that t/xen-tools.t is not really functional yet commit 2277f433c144e0343ed202e15d533e0bbd9e27b3 Author: Axel Beckert Date: Wed May 30 20:51:30 2012 +0200 roles/editor =~ s/logPrint/logMessage/ (as everywhere else) commit 6018925b9794b8ab83e884c4f1d1b7deee16b397 Author: Axel Beckert Date: Wed May 30 20:40:51 2012 +0200 No more expect at least one option to mkfs.* calls. Fixes btrfs creation. Closes Debian bug report #609982. commit 98e590eafafbb28b86b5517920e3612d00c04984 Author: Axel Beckert Date: Wed May 30 23:03:05 2012 +0200 Changelog entry for John Hughes' fix for #609673 commit d0f85802bde041580961592491a497160b66073d Author: John Hughes Date: Wed May 30 19:40:12 2012 +0200 Always write down root partition as first physical device Otherwise pygrub fails. Closes Debian bug report #609673 commit 6a6d3876f6db03d5b17384473318414711d689ff Author: Axel Beckert Date: Tue May 8 00:58:56 2012 +0200 Use $ENV{http_proxy} instead of prepending the command with a variable commit 7c64b9e7c9b363cdda38a43683ddaf76d9e4116b Author: Axel Beckert Date: Tue May 8 00:50:51 2012 +0200 New --apt_proxy option will close #610457 commit 8780d7d9eebf0bedcd1f200273bdbd9e611646b6 Author: Axel Beckert Date: Tue May 8 00:48:12 2012 +0200 Use dh_auto_test for build time tests and add according build-dependencies commit 00586d1443cdec5017566a2be8deb882f3938e3a Author: Axel Beckert Date: Tue May 8 00:42:50 2012 +0200 Add build-dependency on devscripts for checkbashisms used in t/portable-shells.t commit fefc8c11065744e1aeadb229bd9bd0b694d085d4 Author: Axel Beckert Date: Tue May 8 00:41:21 2012 +0200 Mention Alex Tomlins' --apt_proxy option commit 9c90c93bc914beb36ca6a185c8a89c4075f9af6d Merge: c74cb00 accbe9e Author: Axel Beckert Date: Tue May 8 00:30:36 2012 +0200 Merge commit 'refs/merge-requests/2' of git://gitorious.org/xen-tools/xen-tools into merge-requests/2 commit c74cb008979a0c8e880c5edf029fd658ff07b218 Author: Axel Beckert Date: Tue May 8 00:27:39 2012 +0200 Discontinue 4.2 branch and continue towards a 4.3 release commit 03680e1ee53cfdbdae8b34cbeb02ecb3a0713eec Merge: fcb6b06 846266e Author: Axel Beckert Date: Tue May 8 00:11:29 2012 +0200 Merge branch '4.2' commit 846266eedb7cefc929fa2d341c1fad4897a67cff Author: Axel Beckert Date: Tue May 8 00:11:23 2012 +0200 Mention Alexander Mette in the changelog as he also sent a patch for #652110, just upstream commit b5175f6f3b9290c8c19283f4fe59e90decba6c49 Author: Axel Beckert Date: Mon May 7 23:42:31 2012 +0200 Properly set $FAIL instead of just calling die() commit fcb6b0645c15e5709da8b779589d163e0018ff0b Author: Axel Beckert Date: Mon May 7 23:42:31 2012 +0200 Properly set $FAIL instead of just calling die() commit 7a01a08aa4b869c34039f9a8b1e70eb275d07345 Author: Axel Beckert Date: Mon May 7 22:56:33 2012 +0200 Replace tabs with spaces commit 57e6d5d480b99f57d426546c2a4cf84296403925 Author: Axel Beckert Date: Mon May 7 22:55:33 2012 +0200 Use $ips instead of $IP_ADDRESSES to keep variable names consistent Update t/xt-create-xen-config.t to cope with the new variable commit 4d98232656d54632d54427d08a02395accde55d7 Author: Axel Beckert Date: Mon May 7 22:56:33 2012 +0200 Replace tabs with spaces commit 1b4edee2d32d23de6c8643dbe6c439af4af169bd Author: Axel Beckert Date: Mon May 7 22:55:33 2012 +0200 Use $ips instead of $IP_ADDRESSES to keep variable names consistent Update t/xt-create-xen-config.t to cope with the new variable commit 6fe6f5b09f5f6b024b3fde2d91d6ef44383be1f9 Merge: 99eb2f5 cfd615b Author: Axel Beckert Date: Mon May 7 22:23:05 2012 +0200 Merge branch '4.2' commit cfd615b62d9ed6dd98b7a8098e8c675258c82c21 Author: Axel Beckert Date: Mon May 7 22:18:34 2012 +0200 Mention Vagrant Cascadian's patch in the changelog commit 81656a9ef57c4b4e3a8edee4f735568f4f56af8e Author: Vagrant Cascadian Date: Mon May 7 22:16:39 2012 +0200 only attempt to generate the ssh host keys if not already present commit f4103617e6b67977ab25e44109028ccbbbbd0b42 Author: Axel Beckert Date: Mon May 7 22:00:03 2012 +0200 Update README and long description in debian/control for new releases commit ce626e3e9f9d5bcc292115e27c6f82c84fa4f434 Author: Axel Beckert Date: Mon May 7 21:50:36 2012 +0200 Add dependency on openssh-client for ssh-keygen (Closes: #649108) commit 3e44a19a6640d5eff9eadbbc9363d9131d068b9f Author: Axel Beckert Date: Mon May 7 21:42:03 2012 +0200 xt-guess-suite-and-mirror exits with non-zero if no proper mirror could be found commit a9aea889d8abb5ca7b8d2efb815362f6ee6773e5 Author: Axel Beckert Date: Mon May 7 21:32:00 2012 +0200 Support sources.list.d (i.e. when no sources.list exists; closes #650300) commit f55461b1bcb53e9e2a6381a6e4985c32012077fc Author: Axel Beckert Date: Mon May 7 21:22:36 2012 +0200 Mention Brian Bennett's fix in the Debian changelog commit 89e9a54b06daef9f6b54d43df87197f778a51980 Author: Brian Bennett Date: Mon May 7 21:18:36 2012 +0200 Fix misbehaviour if the --ip option is passed multiple times According to xen-create-image(8) if --ip is passed multipe times then the first IP is used as the "system" IP and the rest are used as aliases. What actually happened is the last IP is the "system" IP and all other IP's are silently ignored. (Closes Debian bug #652110) commit 99eb2f5af1b2bf4a42fd2c79d0740d99947e0cc7 Merge: caca539 e808f39 Author: Axel Beckert Date: Tue Apr 24 19:55:23 2012 +0200 Merge branch '4.2' commit e808f3989ab9b5124588e8aa39548b0125a56438 Merge: f2e97be d8561d4 Author: Axel Beckert Date: Tue Apr 24 19:55:03 2012 +0200 Merge branch '4.2' of gitorious.org:xen-tools/xen-tools into 4.2 Conflicts: debian/changelog commit caca5395f9f2a6364fa4fb754592aa807d9530c9 Merge: 76ad9e7 d8561d4 Author: Axel Beckert Date: Tue Apr 24 19:51:11 2012 +0200 Merge branch '4.2' commit d8561d4b7df0ca98117ce81b425b0e3a4ba3373b Author: Axel Beckert Date: Tue Apr 24 19:51:01 2012 +0200 Preliminary support for Ubuntu 12.10 Quantal Quetzal commit f2e97be7868df9f4423e8ee277fda968be06d42e Author: Axel Beckert Date: Fri Mar 30 18:58:11 2012 +0200 Reorder Debian changelog entry commit 359a6c13f0b9b68cf2e6cac36274d7b3d174b991 Author: Axel Beckert Date: Fri Mar 30 18:43:47 2012 +0200 Debian package: Fix lintian warning debian-rules-missing-recommended-target commit 4c7e7d8134f88cd522e80af98fcb734de9471983 Author: Axel Beckert Date: Fri Mar 30 18:41:53 2012 +0200 Debian package: Bump Standards-Version to 3.9.3 commit 76ad9e7b86a40859c0d89ceb82e3c6748ae1d624 Merge: 0d813d0 e1ff891 Author: Axel Beckert Date: Fri Mar 30 17:50:01 2012 +0200 Merge branch '4.2' commit e1ff891a246ffab1f794a082771a212760ff8e09 Author: Axel Beckert Date: Fri Jun 24 03:23:15 2011 +0200 No more suggest evms-cli. It's no more available on any supported Dom0 distribution. Thanks to Markus Waldeck for the hint. Conflicts from cherry-pick: debian/changelog commit 0d813d01c87b2367e585b71d5d2e3548b9efe0f1 Merge: cabd776 09179f2 Author: Axel Beckert Date: Fri Mar 30 17:24:06 2012 +0200 Merge branch '4.2' Conflicts: debian/changelog commit 09179f2dea6731aeed0c982eeb2ca7c30e1ac7e2 Author: Axel Beckert Date: Fri Mar 30 17:22:59 2012 +0200 Support Ubuntu 12.04 LTS Precise, update mirrors for discontinued releases commit 65d76b6aa4b3a14da871e6c4c70bebb4227c0b64 Author: Axel Beckert Date: Wed Nov 16 01:44:11 2011 +0100 Deduplicate setupAdminUsers commit 0f71f545dfdd8379ff5ec91e1d0f95d2711b9281 Author: Axel Beckert Date: Wed Nov 16 01:34:23 2011 +0100 deduplicate runCommand() Version taken from xen-create-image. Needed a small hack WRT $FAIL. commit 2de01d8cbcc06be2235a45bfc1ebb5da88991e5c Author: Axel Beckert Date: Wed Nov 16 01:10:51 2011 +0100 deduplicate xenRunning() commit 1d45cd33ab9206e212b669bc4faf277dc2b4f876 Author: Axel Beckert Date: Wed Nov 16 01:02:01 2011 +0100 Use function prototypes in Xen::Tools::Common commit eabb327786fd0b08b5db107bbd409e37665fb9ba Author: Axel Beckert Date: Wed Nov 16 00:55:12 2011 +0100 Remove all occurrences of 'sub readConfigurationFile' in bin/. Use the version from Xen::Tools::Common instead commit 8835b9134bbbd035ade083db65342e06faf0b9f9 Author: Axel Beckert Date: Wed Nov 16 00:47:57 2011 +0100 Add lib to Perl search path in t/perl-syntax.t commit fec2114cafeeee3fc138b3bb41c5c79c32cae6b4 Merge: 24cd27b cabd776 Author: Axel Beckert Date: Wed Nov 16 00:35:53 2011 +0100 Merge branch 'master' into code-deduplication commit cabd776c9731538857f56fd321b63c0f0009d095 Author: Axel Beckert Date: Wed Nov 16 00:35:42 2011 +0100 Make Code Deduplication a release goal for 5.0 commit 489c4eb3ad352a067776c12016134c1f0c9f3775 Author: Axel Beckert Date: Wed Nov 16 00:35:15 2011 +0100 Axel's Break-Backwards-Compatibility Wishlist: Make empty extension the default commit 94408fb242d914c34c1648a411b3e4a10845311a Author: Axel Beckert Date: Wed Nov 16 00:34:13 2011 +0100 Some KNOWN_BUGS about --extension commit 24cd27b737c79a3aab4f48eb1e8f6db677a45508 Author: Axel Beckert Date: Wed Nov 16 00:19:20 2011 +0100 Create new Perl module Xen::Tools::Common, start with xen-create-nfs' readConfigurationFile function commit 9a966869536a9d1efd984382c99cf8ab8f3ce000 Merge: 9c3edbc 0d1bc0e Author: Axel Beckert Date: Tue Nov 15 23:46:45 2011 +0100 Merge branch '4.2' Conflicts: debian/changelog commit 0d1bc0e61cccb9af4d9599f158ec0110b8a8c91c Author: Axel Beckert Date: Tue Nov 15 23:45:35 2011 +0100 Workaround for missing unit parsing in xen-create-nfs (Closes: #648814) commit 1725e269cf7de0015096ae0f79f1e7a80363ecdc Author: Axel Beckert Date: Tue Nov 15 22:33:15 2011 +0100 Fix wildcard vs regexp in memory configuration parsing. commit 858b47dc2ad3f215429cdb2304e0a34479d2053a Author: Axel Beckert Date: Wed Sep 14 19:37:22 2011 +0200 Also mention oneiric in the xen-tools.conf inline documentation commit 9c3edbcbd518c6897c9d0dd96fb17184b22df046 Author: Axel Beckert Date: Wed Sep 14 19:37:22 2011 +0200 Also mention oneiric in the xen-tools.conf inline documentation commit 5cf85fa261370c1867734f81d714ca3898a8f835 Merge: 98b869d e9f968c Author: Axel Beckert Date: Tue Sep 13 17:23:27 2011 +0200 Merge branch '4.2' commit e9f968c322df6603d75d6a2755860b61c045f1f6 Author: Axel Beckert Date: Tue Sep 13 17:23:18 2011 +0200 More stuff necessary for Ubuntu Oneiric support commit 98b869dbc2838f9ff8e66d353b354f69786b0cd0 Merge: 1d81bd1 edea092 Author: Axel Beckert Date: Tue Sep 13 16:47:51 2011 +0200 Merge branch 'master' of gitorious.org:xen-tools/xen-tools Conflicts: debian/changelog commit 1d81bd1d5cacf8772d21a33ca1fc92dd1fd3e5df Merge: 2aa139d 9921c9a Author: Axel Beckert Date: Tue Sep 13 16:43:51 2011 +0200 Merge branch '4.2' Conflicts: KNOWN_BUGS commit 9921c9a3e8ef8e47ebfe62dc99384cffd9d4921c Author: Axel Beckert Date: Tue Sep 13 16:39:30 2011 +0200 TODO: xen-create-image doesn't unmount the tempdir properly if /proc wasn't mounted inside commit be09f2fbf2339f1acde348d2b37c2b43a0d297ea Author: Axel Beckert Date: Tue Sep 13 16:26:22 2011 +0200 Fix Lintian warning copyright-refers-to-symlink-license. commit 85d8a3b338f270dc68a7537e4ee97da1c6519293 Author: Axel Beckert Date: Tue Sep 13 16:05:53 2011 +0200 Support Ubuntu 11.10 Oneiric (LP: #848654) commit edea092778fb307f134a68ef3e886ac88e03ed92 Author: Axel Beckert Date: Fri Jun 24 03:25:32 2011 +0200 Make a distinction between Dom0 and DomU for supported Distributions commit b227cf60d84b821960c24d5af76bee63a6d73096 Author: Axel Beckert Date: Fri Jun 24 03:23:15 2011 +0200 No more suggest evms-cli. It's no more available on any supported Dom0 distribution. Thanks to Markus Waldeck for the hint. commit 2aa139d3a09d658af158873c59db7837e7b366c8 Merge: e4ca843 8206a3c Author: Axel Beckert Date: Tue Apr 19 23:49:41 2011 +0200 Merge branch '4.2' commit 8206a3c4be1aafe7a2b8d65d1b68522719d6fb65 Author: Axel Beckert Date: Tue Apr 19 23:47:26 2011 +0200 Mention fixed bug around disk_device in changelog commit 7dd416a57a36c88579db58c426ec30609380ff36 Author: Axel Beckert Date: Tue Apr 19 23:14:52 2011 +0200 Document valid values for serialDev and diskDev more precise commit e4ca843da90e028fae46fbf05741e3745f7cc1d3 Author: Axel Beckert Date: Tue Apr 19 23:14:52 2011 +0200 Document valid values for serialDev and diskDev more precise commit 31ce92ed7ab0b8da4e89f6b9e91152b86752085c Author: Dmitry Nedospasov Date: Mon Apr 18 22:55:00 2011 +0200 Minor fix: disk_device check commit f993b860604b9524c2c8230c36fb8b91b0c321bc Author: Stéphane Jourdois Date: Sat Oct 30 16:11:55 2010 +0200 Temporary fix for disk device checks The check for disk devices was completly broken, fix it temporarily. This check is also kinda wrong, but is still an improvement over the current test, so submit it waiting for a better idea. commit 54bde967a210ab8ec393261c80fac181e1dda51d Author: Dmitry Nedospasov Date: Mon Apr 18 23:45:20 2011 +0200 Point-to-Point routing for Ubuntu commit caabc40e3ffa55d2728b5c0f85cd88004e5cb63a Author: Dmitry Nedospasov Date: Mon Apr 18 22:55:00 2011 +0200 Minor fix: disk_device check commit c01dd140e68128d7d47e71e84ee127e456d6ff9a Author: Axel Beckert Date: Thu Apr 14 11:02:24 2011 +0200 TODO: Support cpu_weight and other scheduler features commit accbe9e4e76806a33986bd024d58d58ca1e7ec48 Author: Alex Tomlins Date: Thu Mar 31 11:35:14 2011 +0100 Allow specifying apt_proxy on the commandline. commit b0bae987464d5aae02505800dfe8cebc7adccb22 Author: Alex Tomlins Date: Thu Mar 31 09:39:39 2011 +0100 Use configured apt_proxy in guests. commit 47c146e173bb66deef722f00e3f82867d7c04864 Author: Alex Tomlins Date: Thu Mar 31 09:30:44 2011 +0100 Added apt_proxy option to make debootstrap use a proxy. commit 5aad123429334ed6f8fb96078620e9f60c020bcd Merge: 09a6adc d61d55b Author: Axel Beckert Date: Thu Mar 17 03:05:13 2011 +0100 Merge changes in 4.2 branch back into master branch commit d61d55baefd0dbc2734f26ec0662b867d72417b9 Author: Axel Beckert Date: Thu Mar 17 02:59:28 2011 +0100 Bump version to 4.2.1+dev for now commit 870ec1adacb9300897a18d5ec74149c5a5067b7d Author: Axel Beckert Date: Thu Mar 17 01:01:50 2011 +0100 Call it a release (4.2.1) commit 8bd3206eff65b310f68f1f148de33e54c3aa9c1b Author: Axel Beckert Date: Wed Mar 9 00:56:14 2011 +0100 Unmount /proc and /dev/pts just before unmounting the disk image (Closes: #588783) commit 5bace3a7e2aa2400fcd7f2c0b1cfe35040597ea0 Author: Axel Beckert Date: Wed Mar 9 00:11:58 2011 +0100 Add new commandline option syntax check ipv4_or_auto (Closes: #611407) commit cf9b356e6d826425aa0d0558fa21b9ad48c15cc4 Author: Axel Beckert Date: Wed Mar 9 00:05:26 2011 +0100 tab -> 8 blanks commit 423ea8157d54be0b4b0b6e18d0218cb266795c72 Author: Axel Beckert Date: Tue Mar 8 23:51:14 2011 +0100 Mention Guillaume Pernot and his fix in AUTHORS and debian/changelog commit 0ba1ec6f557bf340bd2c4f004d49a37a383e0839 Author: Axel Beckert Date: Tue Mar 8 23:42:57 2011 +0100 Fix sarge amd64 mirror URL (it's now on archive.debian.org, too) commit bfc8051b10ebfb5651edbd652edd1683d12527dd Author: Guillaume Pernot Date: Tue Mar 8 23:40:33 2011 +0100 Fix installation of Sarge i386 on amd64 host (Closes: #611397) commit c2b16e9a50ad13b95874dd17b33f4c6e3146e83f Author: Axel Beckert Date: Tue Mar 8 23:37:46 2011 +0100 Mention Raphaël Halimi and his fix in AUTHORS and debian/changelog commit 754e1c7c0cd4a13a5dfb96ac009a2bb53fd51318 Author: Raphaël HALIMI Date: Tue Mar 8 23:21:23 2011 +0100 Fix role script editor crashes with dash (Closes: #605203) commit 47bdce47d46a60bae0d0cb007d6a8ee5ff457828 Author: Stéphane Jourdois Date: Sat Oct 30 16:03:41 2010 +0200 4.2 has been released Move KNOWN_BUGS items to 4.3 commit 7584bac3803484350d2a9453f91c8164a234d960 Author: Axel Beckert Date: Sat Oct 30 17:39:10 2010 +0200 Bump version to 4.2+dev for now, not sure if there will be a 4.2.1 or 4.3 next, maybe both commit 09a6adce291ed5c5305db929177b6876b7a9c7e7 Author: Axel Beckert Date: Wed Mar 9 00:56:14 2011 +0100 Unmount /proc and /dev/pts just before unmounting the disk image (Closes: #588783) commit 96e9e45d0d8a855d82637ebd78f4d6c028b66360 Author: Axel Beckert Date: Wed Mar 9 00:11:58 2011 +0100 Add new commandline option syntax check ipv4_or_auto (Closes: #611407) commit 729ea1599e27e8f26f6ccb056804486730379751 Author: Axel Beckert Date: Wed Mar 9 00:05:26 2011 +0100 tab -> 8 blanks commit 0fd79aa4c2d92a52a4fae980ef8fd776ffaeb770 Author: Axel Beckert Date: Tue Mar 8 23:51:14 2011 +0100 Mention Guillaume Pernot and his fix in AUTHORS and debian/changelog commit fdd6c2974431186cf8703a03e49d08f6bde54b9c Author: Axel Beckert Date: Tue Mar 8 23:42:57 2011 +0100 Fix sarge amd64 mirror URL (it's now on archive.debian.org, too) commit 615b8328a4a404d29c99f00dbcf6b1b3e9b4dfe1 Author: Guillaume Pernot Date: Tue Mar 8 23:40:33 2011 +0100 Fix installation of Sarge i386 on amd64 host (Closes: #611397) commit 0a9c2ebd502c649d052f5833e7700316a89b6ba3 Author: Axel Beckert Date: Tue Mar 8 23:37:46 2011 +0100 Mention Raphaël Halimi and his fix in AUTHORS and debian/changelog commit c4e30ad73d31ee2a527a6954476e387df76044e7 Author: Raphaël HALIMI Date: Tue Mar 8 23:21:23 2011 +0100 Fix role script editor crashes with dash (Closes: #605203) commit 90e97b05e9f84b008b5bfcebb5139b58c687cfe8 Author: Stéphane Jourdois Date: Sat Oct 30 16:11:55 2010 +0200 Temporary fix for disk device checks The check for disk devices was completly broken, fix it temporarily. This check is also kinda wrong, but is still an improvement over the current test, so submit it waiting for a better idea. commit a79d89ad3339f2efa5b57cf6b7fcab6eaea8ff2e Author: Stéphane Jourdois Date: Sat Oct 30 16:37:03 2010 +0200 Mount partitions by "shortest mountpoint" order. Partitions were mounted in config file order, so you could not see all mounted partitions. This (at least temporarily) fixes it. commit 0a7f7e3982531fe052a20112867f6db247e2f676 Author: Stéphane Jourdois Date: Sat Oct 30 16:03:41 2010 +0200 4.2 has been released Move KNOWN_BUGS items to 4.3 commit 020ddf1e948dba0b6155ebb205af0557aeffa606 Author: Axel Beckert Date: Sat Oct 30 17:39:10 2010 +0200 Bump version to 4.2+dev for now, not sure if there will be a 4.2.1 or 4.3 next, maybe both commit de28845d1301c09c2d588823c93d8ea170f4cf31 Author: Axel Beckert Date: Tue Oct 5 19:02:12 2010 +0200 debian/changelog: UNRELEASED -> unstable commit df54e1fe0c453f3bb36c4ac4cd464d6ecdd8bcea Author: Axel Beckert Date: Thu Sep 30 16:32:39 2010 +0200 Move availability info to the end of the README's About section manpage -> man page commit 638594c9ba4cfeca0a84c499c8373c72b8cf6954 Author: Dmitry Nedospasov Date: Fri Sep 24 20:00:10 2010 +0200 Minor changes to documentation of xen-create-image commit 650c8d51f6a31d63d582d31f352b2c5e23644162 Author: Dmitry Nedospasov Date: Fri Sep 24 19:59:45 2010 +0200 Alphabetical order commit a98f2feb9eb8876f54c3c287c9a9ef08cf9242ea Author: Dmitry Nedospasov Date: Fri Sep 24 19:41:22 2010 +0200 Add note for fs=xfs, sort options alphabetically commit 30617e6f8021e4652e9f759418de3710a2dc8641 Author: Dmitry Nedospasov Date: Fri Sep 24 19:27:08 2010 +0200 Minor Changes to README commit a463c15c1e94e114963c0f93b17d2dc335104985 Author: Axel Beckert Date: Wed Sep 22 18:46:30 2010 +0200 Update comment about Radu being Debian package maintainer in list of contributors commit 273d451d4bbc965bc324aee0a1d2bff5f93cbf71 Author: Axel Beckert Date: Wed Sep 22 18:38:42 2010 +0200 Add Jorge Armando Medina to list of contributors commit 730127841730a4df8e676f218f3fdd8a9ce40a64 Author: Axel Beckert Date: Wed Sep 22 18:21:10 2010 +0200 Some TODOs for xen-update-image commit d200c2ad5f78258102dced62fe997b4160382e74 Author: Axel Beckert Date: Wed Sep 22 18:18:58 2010 +0200 Update authorship and copyright in bin/* and debian/copyright commit 2eb73b5a2518aa956a60bb6475cad6b54c87bae8 Author: Axel Beckert Date: Wed Sep 22 18:10:29 2010 +0200 README: Reword some paragraphs; add xt-guess-suite-and-mirror commit 5154eb4f7ec7415b8eaf70c1081e9d2c3ba2408a Author: Axel Beckert Date: Wed Sep 22 15:48:19 2010 +0200 Encode AUTHORS in UTF-8 Only affects Stéphane's given name. commit dfdf2fed671ac5123d35efc4de0da3685667081a Author: Axel Beckert Date: Wed Sep 22 15:41:45 2010 +0200 Move Stéphane to the list of primary authors commit 2b3bf60ab03f12dda07b032645498156954300f6 Author: Axel Beckert Date: Tue Sep 21 16:37:51 2010 +0200 README: Remove nearly obsolete comment on LP#539814 as it's fixed in lucid-proposed-updates commit 308cad902b4d312d20926644ee5d879f91d58643 Author: Axel Beckert Date: Tue Sep 21 16:35:21 2010 +0200 README: Remove obsolete paragraph about older versions of Ubuntu commit 5a0964d32e16b57162a1ca395ec2dc56692a4b81 Author: Axel Beckert Date: Tue Sep 21 14:54:09 2010 +0200 TODO: I want to introduce Perl::Critic for the xen-tools developement commit 6414247eca9e4bd3c39a5429bf1b3f144a29791f Author: Axel Beckert Date: Tue Sep 21 14:53:31 2010 +0200 Update TODO categories It's quite clear that there won't be any big changes to 4.2 anymore commit 53599dd64b10ed5512586d07e0bec60ad13bf284 Author: Axel Beckert Date: Tue Sep 21 14:37:32 2010 +0200 Also add Natty and Wheezy to README commit 35a8ed530b09e2d75e2b3749696f7a09faa043a6 Author: Axel Beckert Date: Tue Sep 21 14:29:14 2010 +0200 Fix debian/changelog entry rc -> release, package build -> debian package build commit 17f6bd30a1bd4f4426630845e901a1153e6b44ad Author: Axel Beckert Date: Tue Sep 21 14:26:42 2010 +0200 Switch default mirror for EoL'ed Ubuntu 8.10 (Intrepid) and Debian 4.0 (Etch) to the distributions' archives for old releases commit 8fca20d4d8af779f2f26e13356df813b81b62239 Author: Axel Beckert Date: Tue Sep 21 14:16:58 2010 +0200 Preliminary support for Ubuntu 11.04 (Natty) and Debian 7.0 (Wheezy) commit 2c0f824f4cc8837d4ddd334d10a0cc87e652b506 Author: Axel Beckert Date: Tue Sep 21 13:57:30 2010 +0200 Add bugfix in last commit to debian/changelog commit 5f49bddca5f5cc0e7cd4772cf5efa479d5718135 Author: Jorge Armando Medina Date: Tue Sep 21 13:33:49 2010 +0200 xen-create-image: allow xvc0 in --serial_device option. commit e80568ec17969ac67bd470641d7457a03e336d10 Author: Axel Beckert Date: Mon Sep 13 14:46:33 2010 +0200 Prepare 4.2 release commit d8f8d6c8169a03f074cfc80fba9b07dc725096b2 Author: Axel Beckert Date: Mon Sep 13 14:38:50 2010 +0200 Reformat README file, update authors commit 9d3f09b50d8d96cfacb106b8b0cccd123e71f0c0 Author: Axel Beckert Date: Mon Sep 13 14:37:11 2010 +0200 Document more clearly how to build the package from a git working copy. commit 5d51730054c0b677e666179dfb00306e7dbecf77 Author: Axel Beckert Date: Thu Sep 9 12:21:21 2010 +0200 Updates examples in xen-tools.conf to better reflect current state commit 94de43cf549f20c9590ea8ded33498f2afc0e26e Author: Axel Beckert Date: Wed Sep 8 23:34:50 2010 +0200 make install: Fix broken reinstallation by removing all /usr/lib/xen-tools/*.d symlinks before creating new ones. Thanks to Roland Giesler for noticing and reporting this bug. commit 397299ed0ad1eafdfa088973c343adb8eedc440e Author: Axel Beckert Date: Tue Sep 7 02:03:42 2010 +0200 Mention last commit/revert in the debian/changelog as it fixes a bug reported via Debian BTS commit bc811daa17bec6e2e2a8446a5cab574f44fe3ebe Author: Axel Beckert Date: Tue Sep 7 01:55:25 2010 +0200 Revert "Generate ChangeLog during package build" This reverts commit 0cb518bc5af166b9a221bc5780f323a563158779 and fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595883 The changelog MUST not be generated during the Debian package build as it relies on a checked out copy of the VCS repository -- what the Debian package isn't. The Debian (and any other packaging) gets the changelog from our tar.gz balls. We will have to fix the issue, which the reverted commit tried to fix, differently. commit fd8f94935a8b6e9ef8942b536ae3ea05d3d43050 Author: Axel Beckert Date: Tue Aug 31 00:58:54 2010 +0200 Bump version number to 4.2 RC2 (may become 4.2 "final"). Start new debian/changelog entry, mention Dmitry's fix for #484652. commit 1e8b4d57c6dede21ed76185678ea08c8cba4fd4a Author: Dmitry Nedospasov Date: Mon Aug 30 22:34:31 2010 +0200 Fixed Debian Bug 484652, minor formating commit 80d002d8a81e50b8880076fe80b45b82a8b4af4e Author: Dmitry Nedospasov Date: Mon Aug 30 22:23:58 2010 +0200 swap-dev or noswap must be set with image-dev commit 8189d013bc739404aedf86b24f096647a9b77773 Author: Dmitry Nedospasov Date: Mon Aug 30 19:44:10 2010 +0200 Added TODO commit 2d84d9c6819624af32a0a8c0d53df6a195bdff4a Author: Axel Beckert Date: Wed Aug 25 15:05:20 2010 +0200 TODO: Refactor the code for less variants of calling cp, rm, mv, etc. commit f65d79851c249900c323c1493383ab03f9ce3aa6 Author: Axel Beckert Date: Sun Aug 15 19:37:52 2010 +0200 Prepare Debian package release 4.2~rc1-1 commit 1d9c25e7161a68092d6694e3d4e36957c61815d1 Author: Axel Beckert Date: Fri Aug 6 15:50:47 2010 +0200 Mention btrfs support in debian/changelog commit 8589e0ca80ac441075f2d76110b46e5d13fffa88 Author: Stéphane Jourdois Date: Tue Jul 27 21:24:01 2010 +0200 Add btrfs support. commit 3a43f3c1bc5bd72b3a4d2cd30773dd9a5a75fe15 Author: Axel Beckert Date: Thu Aug 5 17:08:27 2010 +0200 Removed some whitespace commit 3d43ec184d64693e57077e2c30d415601dfdf094 Author: Axel Beckert Date: Thu Aug 5 16:03:58 2010 +0200 Print the output of called commands on --verbose (Closes: #513126) commit e30550a2897d562e7b056e34a56b9810a6c54423 Author: Axel Beckert Date: Thu Aug 5 16:02:31 2010 +0200 Whitespace: tab -> 8 blanks commit 1df7ef41dadf5df439d0f50c1b93312ccb42d1a8 Author: Axel Beckert Date: Tue Aug 3 17:19:24 2010 +0200 xen-delete-image also needs at least one of --evms, --lvm, or --dir. This led to strange error messages from xen-delete-image if an installation failed because they looked like coming from xen-create-image. xen-delete-image now explicitly states that the error was on the deletion of the image. not on its creation. (Closes: #513138) commit 1ee85ef49373371f84622acdc5b8b602454fb525 Author: Axel Beckert Date: Tue Aug 3 16:45:58 2010 +0200 Fixes wrong loop module parameter syntax in warning. (Closes: #516902) commit ad3b08fdffbb636f1666d7fe222e47b7abb7eaf9 Author: Axel Beckert Date: Tue Aug 3 16:17:25 2010 +0200 Example config: passwd=1 is not the only alternative to genpass=1 commit ab8ee902eb0f1afa2ea29d1089830eda013f764c Author: Axel Beckert Date: Tue Aug 3 16:16:24 2010 +0200 Properly document that genpass=1 is now default commit 1df7642e7793107903dffe5a0e9ed2986a4786f2 Author: Axel Beckert Date: Tue Aug 3 16:02:48 2010 +0200 Mention commit 0f99b8b in debian/changelog commit cd258b1c13f8a74974099c61cdbfb98d60fd8c0f Author: Axel Beckert Date: Tue Aug 3 16:01:16 2010 +0200 Documentation: --debootstrap-cmd: Path is optional commit 0f99b8b995af49a4089748cd08986c07576ba481 Author: Axel Beckert Date: Tue Aug 3 15:59:10 2010 +0200 Use apt-config dump to determine Dom0's APT proxy settings. This is the official way, needs no own parsing (therefore less fault-prone) and shorter. Also fixes Debian bug #560011 -- the manual parsing did not catch all syntax variants. Also add some comments before /etc/apt/sources.list generation in the Ubuntu hooks. commit 73528d94e70d8b6cf04491a095e63c015d0b1413 Author: Axel Beckert Date: Tue Aug 3 15:51:33 2010 +0200 Mounts also /dev/pts automatically before running any hooks or rules Closes Debian bug #588783. commit 03968fd18c20bd30bf9a75c31cc36bfbf28928d8 Author: Axel Beckert Date: Tue Aug 3 15:22:51 2010 +0200 Allow --install-method=cdebootstrap It's just a shortcut for --install-method=debootstrap --debootstrap-cmd=cdebootstrap commit 467c6a88281f99fa8cc3c3904ad0fe9d2e2dc2fa Author: Axel Beckert Date: Tue Aug 3 14:52:10 2010 +0200 Remove shebang line from bash-completion file (partially reverts dff767c6) commit 469889f360d8efbac48cc24a93ae7c9fce55d0ff Author: Axel Beckert Date: Tue Aug 3 14:00:26 2010 +0200 Bump Standards-Version to 3.9.1 (no changes) commit 93a70819cfef9eb5eceb319f3e1a37b9919a9884 Author: Axel Beckert Date: Tue Aug 3 13:54:58 2010 +0200 Next release will be a release candidate commit b479e24c7d10bfd9c3089b2bafb1dd3b8bdfefc8 Author: Axel Beckert Date: Tue Aug 3 13:54:34 2010 +0200 Ignore backup files generated by 'make update-version' commit 75b0d5eeb56e781f40da5b55ba7f938c75631a40 Author: Axel Beckert Date: Tue Aug 3 13:49:38 2010 +0200 Use the better 15-disable-hwclock used for Ubuntu also for Debian (Closes: #588880) commit f6518986a33da06e0100cc522b48a079b0c0d8c5 Author: Stéphane Jourdois Date: Sat Jul 24 17:47:57 2010 +0200 Ignore git files in clean target. Factorize find command. Also generate modules.t file before running tests, and be less noisy doing that. commit 3499822e863d06105167c72b3d5983960da68cfe Author: Stéphane Jourdois Date: Sat Jul 24 17:45:47 2010 +0200 Use grep rather than rgrep. grep -r is really more standard than rgrep, and does the same thing. chmod modules.t file. commit 8dfc7d7500710253caf8e04dd86091d58d497981 Author: Stéphane Jourdois Date: Sat Jul 24 17:44:09 2010 +0200 Less noisy make modules. commit ebdf51c2625b82ff8a3bb7cbbd593c8ee56fb772 Author: Stéphane Jourdois Date: Sat Jul 24 17:43:22 2010 +0200 Ignore generated t/modules.t file. commit 3a456608d425fca0348b72ae1c05b1a14d639bf9 Author: Stéphane Jourdois Date: Sat Jul 24 13:16:36 2010 +0200 Configure a default locale. commit 395e3d0a0b9f77968ab2dc39e4cbce9c4b3daaf2 Author: Stéphane Jourdois Date: Sat Jul 24 12:01:35 2010 +0200 Ignore ChangeLog. commit 389fa94bcb7b3898ce61be88e109b1b2540b7e81 Author: Stéphane Jourdois Date: Sat Jul 24 11:22:21 2010 +0200 Move old log files rather than removing them. commit 46242f4be29786a567df2144168d794157939abe Author: Stéphane Jourdois Date: Sat Jul 24 10:56:54 2010 +0200 Add completion for some new options. commit dff767c69257ca2eb438a6886d3a39a8c2ebae37 Author: Stéphane Jourdois Date: Sat Jul 24 10:39:32 2010 +0200 Fix code styling issues. Tabs, trailing spaces, you name it. commit 64c9c8398b67d4bc72ed68a8bd584c71a0eae343 Author: Stéphane Jourdois Date: Fri Jul 23 23:03:57 2010 +0200 Remove trailing space from make_fs_ options. The "-d name=" option doesn't appear as necessary with mkfs.xfs, at least with version 3.1.2 of mkfs.xfs (of course, tested with a file instead of a device). This simplifies a TODO item. commit 669b4c8f4ffd95458bd740095795a2ca0557a8e1 Author: Stéphane Jourdois Date: Fri Jul 23 16:11:43 2010 +0200 Typo & permisions. commit 5cd664c6b079ac11248509b0abd284b5232c011d Author: Stéphane Jourdois Date: Fri Jul 23 23:42:43 2010 +0200 Encrypt root password with sha256 by default. - Use perl crypt with some magic rather than openssl to hash root password, either generated or provided by user. - Remove the undocumented dependency on openssl. - Add a hash_method option to configure the hashing algorithm. - Permit md5, sha256 and sha512, and use sha256 as default. - Remove TODO entry about "more random" passwords. - Remove an ugly system() call. commit 77a3876cbe3d3c82589fa48beaa93d248ad2c3c6 Author: Stéphane Jourdois Date: Fri Jul 23 22:10:29 2010 +0200 Do not copy host sudoers in guest. As noticed by Dmitry Nedospasov (Cf. [1]), sudoers file should not be copied by default. Move this hook to a role, and add a warning about this in role. [1] http://xen-tools.org/pipermail/xen-tools-dev/2010-July/000146.html commit 97ecedde5f2cd01c4e7774101dd7dca8fc68381b Author: Axel Beckert Date: Sat Jul 24 16:00:05 2010 +0200 reiser_options -> reiserfs_options Thanks Julien Gaulmin and Roland Stigge. commit 5943a7057474272a3e3729034cd8f09ad411a804 Author: Axel Beckert Date: Fri Jul 23 14:54:20 2010 +0200 Fix description: temporary files -> dot files commit 6f0c858a2b9d507da94436c985a9a750f2f6025d Author: Stéphane Jourdois Date: Sun Jul 18 21:58:37 2010 +0200 Add validation for ip and mac I forgot those on first pass, sorry. commit 858f47dd2e259002e19d12a91cbc483d3d2585a2 Author: Stéphane Jourdois Date: Sun Jul 18 17:22:59 2010 +0200 Add mailmap for more beautiful git shortlog. Also, do not ignore .mailmap in git. commit 0cc3c37d74d8474ede4c34df2a495f873456b68a Author: Stéphane Jourdois Date: Sun Jul 18 16:10:53 2010 +0200 Podchecker doesn't like empty paragraphs So remove them, even if t/pod-check.t doesn't currently checks for those unused modules. commit 2326ca9e23a0b8983c106156b52de23be01661c5 Author: Stéphane Jourdois Date: Sun Jul 18 16:09:40 2010 +0200 Again remove tests from TODO :-) commit ea09c86b7a7a5b1e856fbe57ed88c6794e8237c4 Author: Stéphane Jourdois Date: Sun Jul 18 16:08:50 2010 +0200 Do not ignore serial_device nor disk_device Harden mirror and options regexps also. commit 0cb0a8716c5495ed54ca6273e8ed57e567c43a1e Author: Stéphane Jourdois Date: Sun Jul 18 16:07:37 2010 +0200 Debootstrap only exists on Debian and Ubuntu Do not fail this test on other distribs. commit 231fff97858749ec9da993e33325f2272ef963a3 Author: Axel Beckert Date: Fri Jul 23 13:28:28 2010 +0200 Shebang lines with /bin/bash are not wanted. There maybe systems, especially in the BSD world, without bash. commit 19d84a3d9ef961a896a7d10b48664f6375272ab8 Author: Stéphane Jourdois Date: Sun Jul 18 16:05:57 2010 +0200 Harden this test. Read and test only the shebang, not the whole file, +typos. Ignore empty files. commit 3b26e3f54f6b53543382f9bc25981166df4dd255 Author: Stéphane Jourdois Date: Sun Jul 18 16:05:03 2010 +0200 We do not care about git files nor temporary files commit 6cc2e3c1c14146d49eb991aeaae84c6e775166c0 Author: Stéphane Jourdois Date: Sun Jul 18 16:02:27 2010 +0200 Help test to find modules Pod::Coverages wants to find perl modules in @INC. commit 85acd315bdba97fcf0106edde1f1634ba9a7358c Author: Stéphane Jourdois Date: Sun Jul 18 15:40:41 2010 +0200 Add a gitignore coherency test This tests helps to maintain .gitignore up to date, by : - testing if all ignored files have to be ignored, and - testing if all untracked files are ignored. [ Note : second version ] Make test work on older git versions I.e. the git version used on Debian stable. commit c59eb9aba494b767fde8da62d5315c731bbe9874 Author: Stéphane Jourdois Date: Sun Jul 18 14:49:41 2010 +0200 Do not track .hgtags This file is listed in .gitignore, suggesting that it is not necessary to track it. Do not accept this patch if this is not the case ! commit 2fd6828346fa5d00edc9690475899b5ea5397bcb Author: Stéphane Jourdois Date: Sun Jul 18 14:40:00 2010 +0200 This file was used by Steve Kemp Do not accept this patch if this file is still used ! commit e788e35cc148ac1079468ab7e89d6f918747327e Author: Stéphane Jourdois Date: Sun Jul 18 14:36:07 2010 +0200 Harden .gitignore - Ignore all dotfiles but .gitignore and .hgignore files - Provide a way to test this file in header - ChangeLog and debian-files are generated at root - Ignore patches and orig files commit 3951ceb718fbd11423afa316d225c5009be03a35 Author: Dmitry Nedospasov Date: Sun Jul 18 19:53:28 2010 +0200 Fix karmic/lucid gettys This was broken by a previous patch, the if statement looked for a foler that doesn't exist on karmic, but did on prior release, since ttys are no longer in /etc/event.d, but instead in /etc/init /etc/event.d -> /etc/init commit 1aeb23823c53d98df16a6d6f05785f7cb52fbb73 Author: Dmitry Nedospasov Date: Sun Jul 18 19:52:29 2010 +0200 Fix hostname regex check Set a minimal length so that the check doesn't fail commit 0e16a65d80bc92e1f7ea4ec137c6a2dddf26dfd1 Author: Stéphane Jourdois Date: Sun Jul 18 16:16:43 2010 +0200 Validate option arguments Also provide a default value for serial_device and disk_device. Remove corresponding TODO entry. Note: as shown by this patch, some needed fixes remain. Some options take yes/no, some 0/1, etc. commit 2e3924427ebb4401db31e1cb6f3f2c05a2acbe34 Author: Stéphane Jourdois Date: Sun Jul 18 16:12:32 2010 +0200 Use Dom0's resolv.conf unless nameserver is set. If nameserver config option is not set (default value), copy Dom0's /etc/resolv.conf on guest. Provide a role to show how to customize /etc/resolv.conf in guest. commit ec26ac7c9feed47031c376faaaa86454df3a8da5 Author: Dmitry Nedospasov Date: Sun Jul 18 18:21:19 2010 +0200 Added some TODOs commit 60942153a995f9c56ab5f33278626780176392c4 Author: Dmitry Nedospasov Date: Sun Jul 18 18:15:30 2010 +0200 TODO Formating commit 1ec6e7d4bba242fa2e8ec55b3e39da4130f24719 Author: Dmitry Nedospasov Date: Sun Jul 18 18:06:39 2010 +0200 Update password related TODOs Removed one password TODO, added another far less critical one. commit 34ba628f64d1a1fa8a4d1ab5385bb4b2d291191f Author: Axel Beckert Date: Fri Jul 16 18:14:47 2010 +0200 TODO: Last test which fails (no idea why yet) is t/pod-coverage.t commit 8f18a4249642bf8d87fada0cacb025d34f4f1174 Author: Axel Beckert Date: Fri Jul 16 18:07:12 2010 +0200 Replace tabs by 8 blanks (for now) commit a04bae2be0613778c1cb17d5b142264512bb7c75 Author: Axel Beckert Date: Fri Jul 16 18:00:52 2010 +0200 Skip t/xen-tools.t if not running as root (tries to mkdir -p /var/log/xen-tools) commit c67d218cef155fe48107388d641072f7bdb33bf9 Author: Axel Beckert Date: Fri Jul 16 17:52:34 2010 +0200 Tighten t/quoted-strings.t a little bit against false positives commit 74ec5d698aea95947a57447d80effb9d86021a08 Author: Axel Beckert Date: Fri Jul 16 17:42:31 2010 +0200 Fix error "Can't exec "mkdir -p": No such file or directory at lib/Xen/Tools/Log.pm" commit 806f2d0b23f6131c0e4e6db526591005df92bd50 Author: Axel Beckert Date: Fri Jul 16 17:38:37 2010 +0200 Replace tabs by 8 blanks (for now) commit a4a39191e273088527e746440e90e99ae8f6d344 Author: Axel Beckert Date: Fri Jul 16 17:33:04 2010 +0200 t/portable-shell.t: Don't check hooks under .git commit e6ebdac66fd9bebdfba630b4c348f4fa7ed0a997 Author: Axel Beckert Date: Fri Jul 16 17:30:28 2010 +0200 Big TODO: Refactor the code for less code duplication commit b7c1cd9d8ae3bceb375b2e2bf3f49ddfbc78386d Author: Axel Beckert Date: Fri Jul 16 17:30:08 2010 +0200 xen-resize-guest: Don't read config file if it doesn't exist as xen-create-image does commit cc646237522817e897fffc4d8163d501dbb80ca9 Author: Axel Beckert Date: Fri Jul 16 17:19:17 2010 +0200 Make t/getopt.t parse '|' in GetOpt definitions commit 660569dffe773565e561a7a709cc2920838d5b80 Author: Stéphane Jourdois Date: Sun Jul 11 15:25:11 2010 +0200 Use skip_all rather than SKIP block This makes prove t output less verbose commit 3d9621293c431334d4f8cb469b693d3fca25c934 Author: Axel Beckert Date: Fri Jul 16 16:56:13 2010 +0200 For now use blanks instead of tabs commit 18f25826487bf61ed5cfb03a8b7b6153ea3e1945 Author: Stéphane Jourdois Date: Sun Jul 11 15:19:59 2010 +0200 Export partitions in test and use xvda as default This test now passes. commit 05def34ca49d10a130cec8ed657f6fb38fd6aa9d Author: Stéphane Jourdois Date: Sun Jul 11 15:19:07 2010 +0200 Get extension from command line and not from environment This helps t/xt-create-xen-config to pass. commit 82fae6a5bc9ad6f6b5918dc959126da553d67a34 Author: Axel Beckert Date: Fri Jul 16 16:48:25 2010 +0200 Consistent code style for hash value accesses commit 9e738bfb5f2e7598433b742413842e974f906d6b Author: Stéphane Jourdois Date: Sun Jul 11 14:43:11 2010 +0200 Test variable before use commit 14846e85fda4837ad5ccb95acedb2404de0d0a35 Author: Stéphane Jourdois Date: Sun Jul 11 14:40:02 2010 +0200 Use rmtree not rmdir rmdir does not remove dir when not empty. Use rmtree for that. makes t/xen-delete-image test pass. commit a262d30b1a71514b391925ac1685daa2a5a551d8 Author: Stéphane Jourdois Date: Sun Jul 11 14:39:53 2010 +0200 Remove trailing space commit fabb5df2e6f36266c58382a5a894943818e4ce47 Author: Stéphane Jourdois Date: Sun Jul 11 14:28:12 2010 +0200 Typo commit bf9c56d42c1a734ed2e1de5a4c604fff878dee0b Author: Stéphane Jourdois Date: Sun Jul 11 14:26:22 2010 +0200 Remove trailing whitespace Makes t/test-trailing-whitespace.t pass commit 90b931a9061124adebc049ec7ecfd407e837cbf3 Author: Stéphane Jourdois Date: Sun Jul 11 14:26:10 2010 +0200 Print file Helps debugging commit aaa6cdc60c2cb9ea4c8abef8264bb637a2683f9e Author: Stéphane Jourdois Date: Sun Jul 11 14:23:25 2010 +0200 Replace single quotes by doubles quotes in scripts This helps make t/quoted-strings.t pass. commit 4ae530231c637c5b789d4bf93e1bc869099be2c1 Author: Stéphane Jourdois Date: Sun Jul 11 14:19:10 2010 +0200 Print file Helps debugging when this test fails commit ddb999d952d23ce491f3a4cb5a255653018fbdad Author: Stéphane Jourdois Date: Sun Jul 11 14:16:22 2010 +0200 Remove trailing spaces This helps t/pod-check.t to pass on this file. commit 1e1d3a536a0433f25812ac197a94482a43df8baa Author: Stéphane Jourdois Date: Sun Jul 11 14:16:09 2010 +0200 Typo commit 9e5ffdac00cc77f398867a4efeb4bffda897cc12 Author: Stéphane Jourdois Date: Sun Jul 11 14:12:23 2010 +0200 Remove done_testing call. done_testing appeared in Test::More 0.87, which is not in perl 5.10, and therefore not in debian stable. This makes t/perl-syntax.t pass on debian stable and causes no more trouble. commit bd840ba071ad2ace13c720ca4eef46f6788c8c01 Author: Stéphane Jourdois Date: Sun Jul 11 14:05:40 2010 +0200 Replace tabs with spaces This makes t/no-tabs.t pass. I'm responsible for some tabs in previous patches, so this fixes mine also :) Note that I find this test silly, but "dura lex, sed lex"... commit c5b4f4bc737d7451266f0d6c5b6681cbecc8390e Author: Stéphane Jourdois Date: Sun Jul 11 13:52:47 2010 +0200 Test file before modifying This shuts down errors during t/hook-inittab.t proving, and does not modify hook during real run. commit 43604afa6dd7e2da949b3e948d123ff284a08dc6 Merge: 97fd12a 0e039f3 Author: Axel Beckert Date: Thu Jul 15 19:02:17 2010 +0200 Merge Stéphane's and my commit which both changed tty1 to hvc0 in t/hook-inittab.t commit 97fd12a0790a2f5999332dc02eeda3035ff4ca91 Merge: fde912c 66a4a39 Author: Axel Beckert Date: Thu Jul 15 19:00:05 2010 +0200 Merge commit '66a4a39' commit fde912c94038f7cf65ac10b3b92463c4249bac9b Merge: e0b1d90 6a66d4f Author: Axel Beckert Date: Thu Jul 15 18:59:31 2010 +0200 Merge commit '6a66d4f' commit e0b1d9044728956257e7db5e4fa6bb2b5c003d47 Author: Axel Beckert Date: Thu Jul 15 18:56:13 2010 +0200 Also use hvc0 instead of tty1 in t/hook-inittab.t commit baf965da099e1e036c4ce34cc439606b86de5789 Author: Axel Beckert Date: Thu Jul 15 18:50:02 2010 +0200 Stay backwards compatible and still allow -s and -m commit b898cdb06430a07c06c9689db718fc75dc1568aa Merge: 3adee1b 9e43d6a Author: Axel Beckert Date: Thu Jul 15 18:47:16 2010 +0200 Merge commit '9e43d6a' commit 3adee1bc2d08fb939193281d2e08e6e09094a508 Merge: d1a653f 4021344 Author: Axel Beckert Date: Thu Jul 15 18:21:01 2010 +0200 Merge commit '4021344' commit d1a653f565518eae67b0498d7c21beb7b06f29a8 Merge: 9f517cb d36672f Author: Axel Beckert Date: Thu Jul 15 18:20:10 2010 +0200 Merge commit 'd36672f' commit 9f517cb4c329e4e11ba46e40d435987b3cc6418c Author: Axel Beckert Date: Thu Jul 15 18:18:52 2010 +0200 Re-add --genpass-len for backwards compatibility commit f115c3db602a16a7ca309ae10b7bbf12c2e51e5e Merge: e6f57bd 0f751d1 Author: Axel Beckert Date: Thu Jul 15 18:17:32 2010 +0200 Merge commit '0f751d1' commit e6f57bdebe202042a95603c6dc02ba428d6e78ff Author: Axel Beckert Date: Thu Jul 15 18:14:16 2010 +0200 Re-add --no-hosts and --copy-hosts for backwards compatibility and declare them deprecated commit 0e039f39c5cbff3399b6a460cf26df8adbaa238a Author: Stéphane Jourdois Date: Sun Jul 11 13:50:05 2010 +0200 Use hvc0 instead of tty1. hvc0 is the new default serial line. commit 66a4a399ab7cd4afb32a5ab81a4ac4ce94717554 Author: Stéphane Jourdois Date: Sun Jul 11 13:48:24 2010 +0200 Use intrepid sed script for inittab This makes t/hook-inittab.t pass for this hook. commit 6a66d4f068e7a5cd92e673870d673a8dca32f7c4 Author: Stéphane Jourdois Date: Sun Jul 11 13:47:26 2010 +0200 Disable other getty lines as debian does. This makes t/hook-inittab.t pass for this hook. commit 9e43d6a2684f9627689d5b52fb5d3c6b0705fecd Author: Stéphane Jourdois Date: Sun Jul 11 13:24:27 2010 +0200 Use long options for xt-guess-suite-and-mirror commit 4021344d9464eb084ecec70eda3b4756d16a8e65 Author: Stéphane Jourdois Date: Sun Jul 11 13:19:41 2010 +0200 Strip single quotes as well as double quotes. commit d36672f8d8dd5e7c490fb7fb6c2b6fac3616c7d9 Author: Stéphane Jourdois Date: Sun Jul 11 12:59:15 2010 +0200 Update indentation for options. This helps t/getopt.t to pass. commit 0f751d1d26ab3f74fbb8d43c2830d6a8de526b2a Author: Stéphane Jourdois Date: Sun Jul 11 12:53:23 2010 +0200 Rename genpass-len to genpass_len to match default config. This makes prove t/argument-check.t pass. commit d8e4774bcf0dccb9e514b299f74ee9cbb7c3d7a9 Author: Stéphane Jourdois Date: Sun Jul 11 12:51:00 2010 +0200 Remove hyphen in options. Options no-hosts and copy-hosts do not have hyphens in default configuration. This helps to prove t/argument-check.t. commit a6cd6d6eb07c5cd8bba50477ba5bb3abee971c87 Author: Stéphane Jourdois Date: Sun Jul 11 13:20:21 2010 +0200 Use same conventions for options as other scripts. This makes t/getopt.t pass. commit c0c5c3a8f444def88d0063b1a371c73aa9226e16 Author: Stéphane Jourdois Date: Sun Jul 11 12:44:06 2010 +0200 Skip Xen::Tools tests Those modules are not used for now. commit 4b58d7a1c434bc9bd75dbb18d389726981db091c Author: Axel Beckert Date: Thu Jul 15 09:32:30 2010 +0200 Add Stéphane Jourdois to AUTHORS commit c78dc0ab772c9a49fabc1d068c8e066be33d77d4 Author: Axel Beckert Date: Thu Jul 15 09:29:05 2010 +0200 Remove redundant * in string comparison, remove trailing whitespace commit 2bd526df23054290a1c42e84baba052bee073780 Author: Axel Beckert Date: Thu Jul 15 09:28:10 2010 +0200 Document how multiple nameservers should be delimited commit 774dbd0fb9465c54831472b4492622315a1794d8 Author: Stéphane Jourdois Date: Sat Jul 10 11:49:40 2010 +0200 Document vifname config option in xen-create-image This new option was added by Dmitry Nedospasov in commit c03029e0c6509489834312f888523dee3f7bc92d Note that this option should not appear in default configuration, as it is not meant to be used there. commit a2ea01f039656b168e2b874aae82547adbd9015c Author: Stéphane Jourdois Date: Sat Jul 10 11:43:20 2010 +0200 Document bridge config option in default configuration. This new option was added by Dmitry Nedospasov in commit c03029e0c6509489834312f888523dee3f7bc92d commit f032178de908317d46f3b85085d4800c92b13f26 Author: Stéphane Jourdois Date: Sat Jul 10 11:38:03 2010 +0200 Add new nameserver config option This optional config value is used in hooks to create domU resolv.conf. If unset, domU's resolv.conf is created by the guest distrib install. commit 09f38740c806f35eea78bc3055a5bef1a2014c3f Author: Stéphane Jourdois Date: Sat Jul 10 10:51:38 2010 +0200 Use dom0 resolv.conf when chrooting Temporarily use resolv.conf from dom0 when chrooting into domU, to be able to run apt-get and yum inside chroot. This permits to use different nameservers in domU, and does not break install nor offline update from dom0. commit 674557233f6b56cb73f439782ca03cc8ab817086 Author: Stéphane Jourdois Date: Sat Jul 10 10:07:55 2010 +0200 Use new script name in POD commit 4e9b216c8638171fa25242497e303c359e970fc2 Author: Stéphane Jourdois Date: Sat Jul 10 09:58:24 2010 +0200 Typos commit 0cb518bc5af166b9a221bc5780f323a563158779 Author: Stéphane Jourdois Date: Sat Jul 10 09:49:56 2010 +0200 Generate ChangeLog during package build dpkg-buildpackage fails to install changelog unless it is generated before. Build it after manpages. commit d6d5026484530a80f1017d990285684089389044 Author: Stéphane Jourdois Date: Sat Jul 10 09:46:46 2010 +0200 harden git usage in Makefile 1) 'git st' is an user alias. 2) 'git status' fails if in the middle of a commit (ie. local modified files). 'git ls-files' is more robust, use it in Makefile. commit be205d307ea99e9e2f1f15cf318fbb528105b8e0 Author: Dmitry Nedospasov Date: Mon Jul 5 10:19:06 2010 +0200 Typos/whitespace fixes commit 3359c103497e5a415c4454230627774327c5acb2 Author: Dmitry Nedospasov Date: Mon Jul 5 10:15:38 2010 +0200 Minor fix, can't delete image w/out hostname commit 8834e669dd00b5569fac107ec00481a1582396be Author: Dmitry Nedospasov Date: Wed Jun 23 15:06:31 2010 +0200 Correctly resolve the FQDN * The FQDN *MUST* follow the hostname in /etc/hosts * /etc/hostname need only contain the hostname * Remove the 127.0.1.1 line for hosts with ips commit 995608ca6cb738413db104611d317d48c635024f Author: Dmitry Nedospasov Date: Sun Jun 20 11:36:16 2010 +0200 Changed fail value and documented it, to ensure images aren't overwritten commit 14aead8537b6420308bbf5a34a9db63ace6ae52d Author: Dmitry Nedospasov Date: Sun Jun 20 11:12:11 2010 +0200 Spruce up installation summary for empty passwords commit aac7317f550e387f8d44eb39c326ad3f7d8b8dd7 Author: Dmitry Nedospasov Date: Sun Jun 20 11:10:33 2010 +0200 Update genpass documentation in --help and in .conf commit 12327183b20e0f28d01a39bce27045ba19c9fdd8 Author: Dmitry Nedospasov Date: Sun Jun 20 11:07:19 2010 +0200 Fix genpass whitespace whitespace fail commit bdd54fbd804637a4b855970a8b36b56bdb7031ee Author: Dmitry Nedospasov Date: Sat Jun 12 12:05:06 2010 +0200 Minor edit: Formating commit 97de622f894fce7fed956be172ebe82bc118047f Author: Dmitry Nedospasov Date: Sat Jun 12 12:04:23 2010 +0200 Fixed installation summary output on failure or usage * Set $FAIL whenever exit is called * Set $FAIL=-1 when help or manual commit 63693d4c27a9a287679cab3e0d828ed57c5641b6 Author: Dmitry Nedospasov Date: Mon Jun 7 17:58:12 2010 +0200 Added --password flag and documented it commit 39806f8ad0f2171ec5727ee46e05d5aac3dc541d Author: Dmitry Nedospasov Date: Mon Jun 7 17:35:52 2010 +0200 Added a genpass flag to generate a password and install it in the guest * We could use the same functions to set a password via a --password flag * It would nice to move more functionality to subroutines * The current generatePassword subroutine, only generates alphanum passwords and hashes commit ef0eb41e3b9462a14ec79b0fb0bbaf1e0d84acea Author: Axel Beckert Date: Mon Jun 7 13:47:30 2010 +0200 Quote some more single quotes in HERE documents for the sake of syntax highlighting commit 671db332a30d7dfde9723726b0782cc5cc1bda00 Author: Dmitry Nedospasov Date: Sat Jun 5 17:12:05 2010 +0200 Removed "Clean up setup-hostname" since its been commited commit 96f4026e33f36e12a1b7d265570c9b4235715191 Author: Dmitry Nedospasov Date: Sat Jun 5 17:09:51 2010 +0200 Updated remaining 50-setup-hostname scripts commit 83ff7c416fb7af0e13746edac9867cf7016e7319 Author: Dmitry Nedospasov Date: Sat Jun 5 16:57:37 2010 +0200 Cleaned up 50-setup-hostname, added --copy-hosts option * Long overdue clean up of 50-setup-hostname, since simply copying the dom0's /etc/hosts file isn't reliable. * Added a --copy-hosts option for those that do want to copy the dom0's /etc/hosts * Documented both options in the .conf file as well as in the scripts commit a0fba6f9c72394704b20339383dfd2980169ed1c Author: Dmitry Nedospasov Date: Sat Jun 5 16:25:46 2010 +0200 Fixed installation summary IP output commit 7eec7171db3142cffda4146d3792fb5d14e4304d Author: Dmitry Nedospasov Date: Sat Jun 5 01:37:29 2010 +0200 Fix trailing whitespace commit fd64b6efe10e606dd5e5bc97c1f50aaf22e73403 Author: Dmitry Nedospasov Date: Thu Jun 3 00:11:32 2010 +0200 Add "Log our finish", it was accidentily deleted commit 915cb05d8580f77bb7d6d9e9f5f148ef5300f1ca Author: Dmitry Nedospasov Date: Wed Jun 2 23:58:51 2010 +0200 Updated remaining 70-install-ssh files commit 8cf4c83936c7cb97b7f1b9e15910a52fa92fceca Author: Dmitry Nedospasov Date: Wed Jun 2 23:51:36 2010 +0200 Fix 70-install-ssh in debian, print RSA fingerprint This will fix 70-install-ssh, allowing it complete postinst by generating host SSH keys for it. The resulting RSA host key fingerprint is printed in an Installation summary at the end of isntall. Next step is to apply the same change to the remaining 70-install-ssh's. commit 9c6f708a0d471ebd13c462b62f5df77f55a4fffb Author: Dmitry Nedospasov Date: Wed Jun 2 20:32:15 2010 +0200 Missed a 'cachepath' on one of the last commits The variable 'cachepath' is now called 'cachedir'. I forgot to commit one of the hunks on the last commit. commit d1eb8704b57a9e146a1a687e8a655ffa702a58ae Author: Axel Beckert Date: Wed Jun 2 18:12:43 2010 +0200 Debian package: Start new changelog entry for beta2, mention GeoIP commit a6ccc91a5cb858bc7563c9022467d6ba27b63fe0 Author: Axel Beckert Date: Wed Jun 2 18:10:07 2010 +0200 Use cdn.debian.net (GeoIP) instead of ftp.debian.org by default See http://wiki.debian.org/DebianGeoMirror for the details commit 6bc050ae61b7449d1d2378c0c95a5fff454ab99c Author: Axel Beckert Date: Wed Jun 2 17:52:43 2010 +0200 POD: Add parameters to options where parameters are needed, add some possible and default values commit 473ad1ccd7a341d0cedfeecacd565ee8714e902e Author: Axel Beckert Date: Wed Jun 2 17:42:03 2010 +0200 Align all documentation the same way commit 4b2bed2ae4871c7f3a1a4ced7c1fa73558e4cb2d Author: Axel Beckert Date: Wed Jun 2 17:33:25 2010 +0200 Sync mirrors mentioned in xen-tools.conf with those used by default by xen-create-image (i.e. ftp.d.o instead of ftp.us.d.o) commit 5c5671b4498d77b8723c2e6ed704815bdd410009 Author: Axel Beckert Date: Wed Jun 2 17:29:26 2010 +0200 We still support Sarge, Dapper, Edgy, Feisty, Gutsy, Hardy and Intrepid as long as they don't need big efforts to support. commit 18cab071cacfeb594076887d11e740f5cb9202ed Author: Dmitry Nedospasov Date: Wed Jun 2 17:04:24 2010 +0200 Change example mirrors to something we actually support commit 075b1ad00eeaafeb6374e6b98694295f1e21d13b Merge: df036e4 1d47ff5 Author: Dmitry Nedospasov Date: Wed Jun 2 17:00:17 2010 +0200 Merge branch 'master' of git@gitorious.org:xen-tools/xen-tools commit df036e43549a2a6e7f8c8aedb76e8f0a24292a02 Author: Dmitry Nedospasov Date: Wed Jun 2 17:00:08 2010 +0200 Documented the cachedir option commit 1d47ff5cb6263f004c7f500e21a55549203b7f0e Author: Axel Beckert Date: Wed Jun 2 16:59:19 2010 +0200 Use consistently one blank before and one after "=" in the default config file (except where aligned) commit e95937b3146c698554c104913e294923e5703d90 Author: Axel Beckert Date: Wed Jun 2 16:56:45 2010 +0200 Use consistently blanks around "=" in the default config file commit fa51b092af33ff4ca2f8f8a244713da8def7640d Merge: f356b60 03ca47b Author: Dmitry Nedospasov Date: Wed Jun 2 16:44:53 2010 +0200 Merge branch 'master' of git@gitorious.org:xen-tools/xen-tools commit f356b6065c095211836fe83ab9e805e9d4bdc3db Author: Dmitry Nedospasov Date: Wed Jun 2 16:43:48 2010 +0200 Added cachedir option for manually setting a cache directory This way .debs actually get copied somewhere on non Debian/Ubuntu systems, and also this way the cache directory can be overriden, so that the host's apt-cache doesn't get cluttered with guest .debs. commit 03ca47b9884b32e26ed5714ae55e70938ab0566e Merge: c3eb1fe 04acc11 Author: Axel Beckert Date: Wed Jun 2 16:24:54 2010 +0200 Merge branch 'master' of gitorious.org:xen-tools/xen-tools commit c3eb1fef9e2c4954c5906b882262f2c9b8315e3b Author: Axel Beckert Date: Wed Jun 2 16:24:48 2010 +0200 Escape single quote to help syntax highlighting in HERE document commit 04acc115aba19a803ec93265bcec7f6a85fbd8e5 Author: Dmitry Nedospasov Date: Wed Jun 2 15:32:27 2010 +0200 Create .deb cache directory on systems lacking one This patch creates a cache directory on systems which do not have a /var/cache/apt/archives/ directory. Currently it creates a /var/cache/xen-tools/archives/ directory, however this can easily be set to a variable which is parsed from the configuration file. commit 3fd6e4c941639144ebcd4c9477f40ff4c9d7dc11 Author: Axel Beckert Date: Mon May 31 14:24:26 2010 +0200 xt-install-image: New helper function checkForCommonFilesInChroot Don't fail on missing /bin/ls or /bin/cp, it could be on purpose commit d9a26c8c69af4d3eca8598c272a0c4a9a0f5ff98 Author: Axel Beckert Date: Mon May 31 12:41:13 2010 +0200 Remove some more install-server cruft commit 0c4fbc1e180b36c7a41c84dda5db5390f5113128 Author: Dmitry Nedospasov Date: Mon May 31 11:29:53 2010 +0200 Check for text::Template before any other checks The text::Template check should be the first check, since otherwise some options are parsed incorrectly leading to errors like The system is missing the common file: /bin/ls commit b96d8dd06fdfaf0d985a0dce45e77c7f7fc9d5b9 Author: Axel Beckert Date: Sun May 30 23:52:43 2010 +0200 Ignore generated file t/modules.t commit 9137ee6bf1fe0395f02b19b35ce5fbf83aa797ef Author: Axel Beckert Date: Sun May 30 22:41:52 2010 +0200 Add Dmitry to debian/copyright commit 35aacbae8222360cccc913ed28e925e9b64e4f34 Author: Axel Beckert Date: Sun May 30 22:36:54 2010 +0200 Also update version number and date in debian/NEWS commit 4b3ecb7067d7b14ed12cbf0cfd9773c010feb582 Author: Axel Beckert Date: Sun May 30 22:33:40 2010 +0200 Prepare upload to Debian unstable commit c4e3a1eed06c59c4ab76239a6cfc23f286628a4a Author: Axel Beckert Date: Sun May 30 19:57:12 2010 +0200 Remove generated file t/modules.t from the repository/source commit 156c18e79caf27a90ebf311b91d80b3d842f40f7 Author: Axel Beckert Date: Sun May 30 19:54:26 2010 +0200 Declare current state as Beta instead of Release Candidate commit b39620c6da93e974bfdb0156486bc09402433289 Author: Axel Beckert Date: Sun May 30 19:50:02 2010 +0200 Fix bashism in Makefile: [^~] → [!~] commit 898abeb964e914848867df74aad2e783db10416c Author: Axel Beckert Date: Sun May 30 19:34:45 2010 +0200 Separate real bugs from TODO into KNOWN_BUGS Also mention that TODO and KNOWN_BUGS are included in the docs for the Debian package commit 3a4fda345b2cd4ae9053015640d9e1ebe0953e13 Author: Axel Beckert Date: Thu May 27 22:04:52 2010 +0200 New bug found: xen-delete-image ignores extension setting commit 24704f0bbad69c8a7a6b361e07d6ef994d179c34 Author: Axel Beckert Date: Thu May 27 22:01:57 2010 +0200 Reword necessarity of x-c-i to check integer options on non-digits commit dd2487a2e92d1cd1498d798b70a8cee9a1d5099f Author: Axel Beckert Date: Thu May 27 01:00:23 2010 +0200 TODO: Hooks: Add the idea of package-manager or -format based hook directories commit 6e8ce650fdb8245932a8738d7c9156252390ea51 Author: Axel Beckert Date: Wed May 26 23:54:25 2010 +0200 TODO: Move Non-Interactive Password Handling to post-4.2 commit 78e134ea95be66712a55c3102d7c1f386d7d897b Author: Axel Beckert Date: Wed May 26 23:26:09 2010 +0200 xen-update-image: Reformat source code comment to fit into 80 columns commit 6e5ea6a385c72c792a146531a78eca39306ae9b6 Author: Axel Beckert Date: Wed May 26 22:59:35 2010 +0200 Debian Changelog Mention the addition of cfengine2 to the list of suggested packages commit b674db90c90aeb4a5a9646bea4be7d629d4ee6e0 Author: Axel Beckert Date: Wed May 26 22:53:48 2010 +0200 Debian package: Add evms-cli to Suggests. EVMS has been removed[1] from Debian before Lenny, but it is necessary for some optional functionality of xen-tools. And since some Debian derived distributions (e.g. Ubuntu 6.06 LTS Server, Ubuntu 8.04 LTS and grml) still support it, it's included in the list of suggested dependencies for the sake of completeness and correctness. [1] http://bugs.debian.org/491808 commit e169ca95a7c1f8b604bc113ef248c64d4ddadf09 Author: Axel Beckert Date: Wed May 26 22:38:05 2010 +0200 Fix cut & paste error in error message: wrong directory mentioned commit 15b8ece37aedee03b122d33dd66b47fcc2313eed Author: Axel Beckert Date: Wed May 26 22:19:55 2010 +0200 Implement --dry-run for xen-delete-image commit a11bde091d71a9e4760b57d45d67e47bca4b32a7 Merge: e16af76 75ea318 Author: Axel Beckert Date: Wed May 26 22:13:27 2010 +0200 Merge branch 'master' of gitorious.org:xen-tools/xen-tools commit e16af7679b4a82e30527e9bab590e3ee44e63c23 Author: Axel Beckert Date: Wed May 26 22:11:47 2010 +0200 Fix spelling error: arbitary -> arbitrary commit 75ea31895510e354b1a0183a7a5a5de7f276078e Merge: e121eca 7a052cd Author: Dmitry Nedospasov Date: Wed May 26 22:09:38 2010 +0200 Merge branch 'master' of gitorious.org:xen-tools/xen-tools Conflicts: TODO commit e121eca49acb4d8fb2d742b075b4ee8574e68af9 Author: Dmitry Nedospasov Date: Wed May 26 21:58:32 2010 +0200 Updated todo with (relevant for 4.2 and later) * Removed several bullet points which are already implemented * Added or changed several bullet points for the 4.2 release, most notably: 1. Fix 70-install-ssh 2. Clean up setup-hostname * Added or changed several bullet points for a later release, most notably: 1. Generic grub support commit 7a052cde713cf49dbeddf9355e1c8633687438cf Author: Axel Beckert Date: Wed May 26 21:45:00 2010 +0200 TODO: Remove --vcpus and --bridge (implemented by Dmitry) commit 3990d298aede4377c2df54a8cb5d126b4e3dd163 Author: Axel Beckert Date: Wed May 26 21:42:22 2010 +0200 TODO: Merge passwd changing issues which were more or less listed twice commit 4c43c34025dafc11d24da0b5905f0f2d6f5091ef Author: Axel Beckert Date: Wed May 26 21:39:25 2010 +0200 TODO: Move new sources.list generation to post-4.2 commit babf60a9b798c55eb3b1d168633d53b7a6adca07 Author: Axel Beckert Date: Wed May 26 21:33:04 2010 +0200 roles/README: Hint to document new roles commit ff2867f73278adf48a4eefee7f4dda321a9634a5 Author: Axel Beckert Date: Wed May 26 21:30:36 2010 +0200 Document the udev role. commit 03532c16a62f0c3edb493cf9827dbd4daf7adf9a Author: Axel Beckert Date: Wed May 26 21:28:27 2010 +0200 Document the tmpfs role. commit c464c336bd6fe95a33a22dce19ebd651eed22bfb Author: Axel Beckert Date: Wed May 26 21:27:45 2010 +0200 roles/tmpfs: Also remove legacy comment commit 3520cc7076a6c57004d053ee7a58cf02cff9c612 Author: Axel Beckert Date: Wed May 26 21:26:39 2010 +0200 roles/tmpfs: Forgot to adjust authorship since it initially was just though for internal usage commit a0fb2e22b0c04693fbb5599dded5360ff78c9908 Author: Axel Beckert Date: Wed May 26 21:21:48 2010 +0200 Document the puppet role. commit f7316431a0312535ad3b3e1535ee7b1fbce3169d Author: Axel Beckert Date: Wed May 26 21:19:13 2010 +0200 Document the editor (sed) role. Also fix a typo in roles/editor commit d575169b42f9c4a794844577e63a1892fce65636 Author: Axel Beckert Date: Wed May 26 21:13:36 2010 +0200 Document the cfengine role, add cfengine to debian/control:Suggests. Also fix some documentation bugs in roles/cfengine commit ec848be65002f48c7ea3365a92f279e91a9f26f3 Author: Axel Beckert Date: Wed May 26 21:04:05 2010 +0200 TODO: xen-create-image(1): not all roles are listed commit b452461473a2a2c75db2e448567a72052dc44604 Author: Axel Beckert Date: Wed May 26 21:03:09 2010 +0200 xen-create-image(1): Don't talk aber Sarge and Etch, talk about Debian Stable, so we won't have to change to docs with every new Debian release. ;-) commit fa4e023e688091da52b15c33bcdcb41a91e0d879 Author: Axel Beckert Date: Wed May 26 20:54:42 2010 +0200 TODO: Password handling commit c93a08fee205b4cf14961bb055098e3239d390a5 Author: Axel Beckert Date: Tue May 25 23:45:36 2010 +0200 TODO: xen-delete-image doesn't delete all disk-images if --partitions is used commit 95a83dc5b910c5c489abad642c43482bb5a5a0e8 Author: Axel Beckert Date: Sun May 23 23:14:25 2010 +0200 Check for debootstrap and cdebootstrap installation, decide default based on that commit b55d27c290699c35e05fbeed99b980248db1bd3c Author: Axel Beckert Date: Sun May 23 23:02:48 2010 +0200 Add option --debootstrap-cmd to xen-create-image and xt-install-image commit e1c1793232dcd9cd7362d44861d00fd02f0bdde5 Author: Axel Beckert Date: Sun May 23 21:40:30 2010 +0200 Do not add security support if we're installing Sid commit df82d28c3cfd3b8b16ce2494e4a115af968122fb Author: Axel Beckert Date: Sun May 23 21:38:11 2010 +0200 Refactoring: Make check for sources.list more readable commit c03029e0c6509489834312f888523dee3f7bc92d Author: Dmitry Nedospasov Date: Wed May 19 13:46:58 2010 +0200 Added support for (optionally) setting the bridge --bridge Added support for setting the number of vcpus --vcpus commit e4eae6fcf5aa3ca6c372fa6295e10e22e723e34d Author: Axel Beckert Date: Tue May 18 17:28:53 2010 +0200 bash completion: add rinse to list of install-methods commit fcf98e6799603350ff6b72786d244a73b159f9ca Author: Axel Beckert Date: Tue May 18 17:24:41 2010 +0200 Remove image-server installation method Was used by Steve with a "semi-proprietary" service at some hoster which does no more use it (with Xen). According to Steve nobody else used it so we can rip out this unneeded legacy code. This also reverts the last commit. commit 131782b6c54ab1352e849d55b32c309bab657524 Author: Axel Beckert Date: Tue May 18 14:15:34 2010 +0200 debian/control: Add "Suggests: libwww-perl" (needed if --image-server is used) commit 838303a93908c610cb6fda0b48fab837a38f03e7 Author: Axel Beckert Date: Tue May 18 14:10:05 2010 +0200 Fix typo in error message: s/LDP/LWP/ commit 120ca27f6dee2d2d1e54f3d990ba8d9fbfc25a3e Author: Axel Beckert Date: Tue May 18 14:09:40 2010 +0200 List all possible install-methods close to the option itself commit 8634cda1ee19034e7c0b99f9ded79fd58393bab5 Merge: 9593248 5cad841 Author: Dmitry Nedospasov Date: Mon May 17 23:20:14 2010 +0200 Merge branch 'master' of gitorious.org:xen-tools/xen-tools commit 95932483e62bfc5cff84f829ff1189b0939d3f8c Merge: d5cd0fd 0d71124 Author: Dmitry Nedospasov Date: Mon May 17 23:17:09 2010 +0200 merged conflict commit 5cad8418807099fea04e5b0ddd45c2523050d0ba Author: Axel Beckert Date: Mon May 17 23:14:41 2010 +0200 Indent list of distributions in debian package description to prevent word-wrapping (fixes lintian warning possible-unindented-list-in-extended-description) commit d5cd0fd8ae85cac6c6f59481a696cd93e3c06b21 Author: Dmitry Nedospasov Date: Mon May 17 23:12:59 2010 +0200 Added some TODOs Updated Authors commit 0d71124eb16c070525e1c0521cff33075c296cd3 Author: Axel Beckert Date: Mon May 17 22:54:41 2010 +0200 Add pointer to /etc/xen-tools/partitions.d/sample-server as partitioning example. (Thanks to Antoine Benkemoun for pointing out that such a hint is missing!) commit 7b026d3f998fb33d62410f575681384bda18a5ea Author: Axel Beckert Date: Mon May 17 21:55:48 2010 +0200 Add role for making /var/run/, /var/lock/ and /tmp/ tmpfs commit ea6cacf33d2aad36449d8db48bc600c1eaa49439 Author: Axel Beckert Date: Mon May 17 20:58:50 2010 +0200 Reword and update distribution list in README and debian package description commit e556ebdbf60f2700cb0035cf27fb274012ca7d38 Author: Axel Beckert Date: Mon May 17 20:02:18 2010 +0200 Use old-releases.ubuntu.com as default mirror for Edgy, Feisty and Gutsy; add default mirror for Dapper commit 83253c0214e576d7d3da63aa9f92dc1a3c7a1ae1 Author: Axel Beckert Date: Mon May 17 17:42:07 2010 +0200 Add files generated during the build of the debian package to .gitignore commit 3a53492e6aab6d7647cf3e76cf7c0ff16cf06281 Author: Axel Beckert Date: Mon May 17 15:25:38 2010 +0200 debian/changelog: new upstream author -> new upstream authors commit 24ef3371f8367ce44511400dafad40c90f1706b9 Author: Axel Beckert Date: Mon May 17 13:33:10 2010 +0200 Update debian/README.source to reflect switch to git commit d1287f19492daeb9bac998435cf3b56617198e6a Author: Axel Beckert Date: Mon May 17 03:55:53 2010 +0200 Add Nathan O'Sullivan to contributors commit ae22845718afe926fd2c847c59560cc5bcbe78ec Author: Axel Beckert Date: Mon May 17 03:39:42 2010 +0200 Add documentation for commit af19678 commit c0549371ccb19643f0f6db63bc70caab06e18bd5 Author: Nathan O'Sullivan Date: Wed May 5 14:00:03 2010 +1000 Add installPackage() function to call the appropriate distro installation function commit 97c1bb0637fbda9f9657568213115a690e19f254 Author: Axel Beckert Date: Mon May 17 03:30:15 2010 +0200 Document changes introduced by 5b420f4 in POD commit 5b420f4cc6bf134812babfc0c9bfacb788cb97a1 Author: Nathan O'Sullivan Date: Wed May 5 10:40:35 2010 +1000 Change role argument to allow supplying a full pathname to a file outside of roledir commit f8f2915ec01e6da04aa3b9aa7fa7abccb4ae7279 Author: Nathan O'Sullivan Date: Wed May 5 13:56:38 2010 +1000 Mount /dev/pts while running apt-get to reduce unnecessary errors in logfile commit 027389244190b04c554e199e876b92999917535a Author: Nathan O'Sullivan Date: Wed May 5 16:33:40 2010 +1000 Allow disk_device and serial_device to be overridden on the command line commit 2bbd414b19dd31a8a3a4ec1fe394ce7e27e49cf7 Author: Nathan O'Sullivan Date: Wed May 5 16:50:26 2010 +1000 Copy /etc/localtime from host commit c6cb25edf9f83e39ddb8d9c8c9bca28a6f74274b Author: Axel Beckert Date: Mon May 17 03:07:29 2010 +0200 Fix cut & paste error in description of do_rinse commit cea763b669ddfa52cd4f5d249b59c109fc2c168c Author: Axel Beckert Date: Mon May 17 02:52:19 2010 +0200 Let --mirror overrule per-distro mirror defaults Previously the --mirror value was ignored if a default mirror for the --dist value has been defined. Now the --mirror value is by default unset and filled with the per-distro default mirror in that case. commit 98514d3fc204b086dbb18240ef77bfabb0febe92 Author: Axel Beckert Date: Mon May 17 02:51:39 2010 +0200 Remove redundant default mirror setting commit 29e2f7ece7a93e4786fa9cf89ac5fb17f43359c1 Author: Axel Beckert Date: Mon May 17 02:43:47 2010 +0200 Mention also Hardy and Intrepid in Debian package description commit abb37b25870904f2484a3e36223e85131f867a27 Author: Axel Beckert Date: Mon May 17 02:42:05 2010 +0200 Edgy to Hardy: Also use hvc0 als default console device commit f34afec7329c9d1ead0d5a3be867173ced601eed Author: Axel Beckert Date: Mon May 17 02:41:23 2010 +0200 hooks/intrepid: Fix log message regarding console tty commit 17b105e8e026213250f9e9a0aa625d3d763b0f76 Author: Axel Beckert Date: Mon May 17 02:32:38 2010 +0200 Use hvc0 instead of tty1 in intrepid, too commit 8df98d4198d637bd2825d39cf7d87e1bc8b8ef7f Author: Axel Beckert Date: Mon May 17 02:16:44 2010 +0200 Save the exit code of a command, but also allow its output to be saved to the log as it happens commit 620148b7822e8383c64b047e7fbb09df8492e531 Author: Axel Beckert Date: Mon May 17 02:13:29 2010 +0200 Fix lintian warning debian-news-entry-uses-asterisk commit 7a3ab22439a6ba47b58523b7df146a6b6957bdce Author: Axel Beckert Date: Mon May 17 02:09:47 2010 +0200 Split helper functions logprint into logprint and logonly commit d670d13071ebefbd032a2e918d79794c3358d9d8 Author: Axel Beckert Date: Mon May 17 01:28:01 2010 +0200 pygrub with Debian: Support the case where the local architectures is used by default (Also fixes some typos in logged messages.) commit 546a1441a9762f4cc501abfa23f5cdf73126e83e Author: Axel Beckert Date: Mon May 17 01:15:33 2010 +0200 Fix some typos in code comments commit fc973602e59ebebfbd532d1af6804d926f91082f Author: Axel Beckert Date: Mon May 17 01:13:26 2010 +0200 Correctly propagate failing hooks back to xen-create-image commit dd5edf3ccb0c783d5c9fc270ae8da28d7374ff38 Author: Axel Beckert Date: Mon May 17 00:10:02 2010 +0200 Call MAKEDEV only if it is installed. (Which is the case as long as it was a 'required' package.) commit 57cc021ba7ed7aef934d2cb84d452414276c1e4f Author: Axel Beckert Date: Sun May 16 23:39:44 2010 +0200 Refactoring: consistent variable usage: ${variable}; some double quotes to ensure valid "test" syntax. commit 5653681c95f245a3efe3d90a15573b42f9a8923f Author: Axel Beckert Date: Sun May 16 03:13:24 2010 +0200 Fix syntax error 'unexpected operator' in kernel architecture check commit d0b77772180185ae136f2623e9fcd5c380a0729e Author: Axel Beckert Date: Sun May 16 03:06:14 2010 +0200 Use double quotes for ${pygrub} check commit 40405b41df6b80c8b20c80aefb88fb3785788564 Author: Axel Beckert Date: Sun May 16 02:50:35 2010 +0200 Refactoring: Remove more differences between Karmic and Debian hooks commit db32bcffd4bf0b5d5606ad5f347a545e5bb3ee78 Author: Axel Beckert Date: Sun May 16 02:48:45 2010 +0200 Refactoring: Remove whitespace differences between Karmic and Debian hooks commit f7248b2e656cc56e30995d77bf4ddc3cd201a267 Author: Axel Beckert Date: Sun May 16 02:09:57 2010 +0200 Reword list of supported distributions commit 85e98a86d524668a9d445beeaeae38d49863a5fe Author: Axel Beckert Date: Sun May 16 02:04:12 2010 +0200 Change letter cases in the Debian package description commit b689cfd44d24e1530c02fbd26939156bbea68fc8 Author: Axel Beckert Date: Sun May 16 02:02:54 2010 +0200 Update list of supported distributions, add them to the Debian package description commit e3444880a62f2033eec0dfb6676f9faf302df03e Author: Axel Beckert Date: Sun May 16 01:31:51 2010 +0200 Fix syntax error in detection of pygrub needing Ubuntu releases commit b427cf74b25681678c257eb1f42139bc995f47bf Author: Axel Beckert Date: Sun May 16 01:31:06 2010 +0200 Different default mirror for Sarge amd64 necessary commit bbcfa3ad828228ea67072487759e529aaf1e45ff Author: Axel Beckert Date: Sun May 16 01:10:50 2010 +0200 Use regexp to catch potential lucid derivatives as well as maverick commit 1b3f0539b9aed8def4e8554e34f23dd6bd4dfe05 Author: Axel Beckert Date: Sun May 16 01:04:17 2010 +0200 Always use pygrub if installig Lucid, doesn't work without commit a1d179c9eb13043d09731584690a9d5ef98c9302 Author: Axel Beckert Date: Sun May 16 00:46:11 2010 +0200 Determine the correct pygrub path in xm.tmpl commit 49cf467f49bbe8a329fc242310946afd361c1982 Author: Axel Beckert Date: Sun May 16 00:07:41 2010 +0200 Document the --pygrub option commit f72c3869e851cab74ae70607ed72fb1b5612217c Author: Axel Beckert Date: Sat May 15 22:05:29 2010 +0200 Karmic + Lucid: Also use hvc0 instead of tty1 commit c223b0f8c6397946864da6a93295e6664d902d03 Author: Axel Beckert Date: Sat May 15 18:30:02 2010 +0200 Use ftp.debian.org instead of ftp.us.debian.org as default Debian mirror Rationale: ftp.us.debian.org is a DNS Round Robin for five IPv4-only hosts in the US. ftp.debian.org is only a single host (kassia in .nl), but also reachable via IPv6 and connected to GEANT, i.e. most European universities don't have to pay for traffic with ftp.debian.org. commit c9023d73fd00b27a49c46f80a9994dee7a22fdd8 Author: Axel Beckert Date: Sat May 15 18:24:50 2010 +0200 xen-create-image: Also output (often automatically determined) mirror commit 591f23157a64fd70cec9878954fc20221a316166 Author: Axel Beckert Date: Sat May 15 18:23:53 2010 +0200 Default mirror for Sarge (and soon Etch, too) is archive.debian.org commit 6dfbdb8fa00cef4c70126811a80b27d5913af58f Author: Axel Beckert Date: Sat May 15 18:04:23 2010 +0200 Add hint about possibly missing xen-blkfront module in initramfs commit 49d01d9a7629e77659c0e972971eedf4d14f32e7 Author: Axel Beckert Date: Sat May 15 16:04:17 2010 +0200 Use hvc0 and xvda devices by default, add --scsi option for sda names commit 28803001d3181eb59016839732315d51f80c8cab Author: Axel Beckert Date: Sat May 15 15:48:59 2010 +0200 Use hvc0 instead of tty1 for Xen console by default commit 9210c6c8bebbd094d289bcf610dc8d8285366e8b Author: Axel Beckert Date: Sat May 15 01:29:17 2010 +0200 Rudimentarily support Ubuntu Maverick Meerkat (10.10) commit 20b17ea5e15869dc28e3b12ea2ab19227c2cd72f Author: Axel Beckert Date: Sat May 15 01:17:35 2010 +0200 Implement separate default mirrors for Debian and Ubuntu commit 3fb0ee97f452399b7e171e144fa3107d2ce553da Author: Axel Beckert Date: Sat May 15 01:09:08 2010 +0200 Reduce double blank line to sigle one commit a9aa524bea55f81b538711a30032eb022a19c217 Author: Axel Beckert Date: Sat May 15 01:08:19 2010 +0200 Install 'stable' instead of 'leny' by default commit adeefd6fbb2a2fe3882b596a26aa9b8486cec135 Author: Axel Beckert Date: Sat May 15 01:07:40 2010 +0200 Also support 'stable' as suite to install commit be143d50aa986ae1d4285090745b7b977646ccf7 Author: Axel Beckert Date: Sat May 15 01:05:04 2010 +0200 TODO: Make the hooks conffiles commit 9682622321e639eb937458f829174d540fa131b1 Author: Axel Beckert Date: Sat May 15 01:04:33 2010 +0200 Install Lenny instead of Sarge by Default commit b9d96a9f187419a029621a34ff4fba1b0d1bd69f Author: Axel Beckert Date: Sat May 15 00:46:00 2010 +0200 Debian preinst: remove also karmic.d symlink if it exists to allow clean unpacking commit e2ac8b4ba1849e7d2bd8191ebbadb59cd8d92646 Author: Axel Beckert Date: Sat May 15 00:38:20 2010 +0200 Debian preinst: remove intrepid.d symlink if it exists to allow clean unpacking commit fa09493b8c22a749694502a3d35bcda9af71506f Author: Axel Beckert Date: Sat May 15 00:22:04 2010 +0200 Add forgotten backslashes commit 12997b34160b3d4dd346b0752f405268cf6e64b7 Author: Axel Beckert Date: Sat May 15 00:20:43 2010 +0200 Make VCS detection line more readable by splitting it up over several lines commit 27956bef61cf07fb4e016d3d7082615dc0f5fbce Author: Axel Beckert Date: Sat May 15 00:11:23 2010 +0200 Fix VCS detection in Makefile commit b9d1fa2e72340ea25820ba23704a5d47d3149a5c Author: Dmitry Nedospasov Date: Sun May 2 13:20:17 2010 +0200 Updated TODO commit 80a3fc020ee7c94fc38998a168a016c1c1384832 Author: Dmitry Nedospasov Date: Sat Apr 24 20:04:29 2010 +0200 * Added myself to Authors * Removed hooks - they are working! commit 6f69386f900607bef9e4a461490e21de2a155494 Author: Dmitry Nedospasov Date: Sat Apr 24 17:01:53 2010 +0200 * Test the supported distros * Added an extra hook for Intrepid and Jaunty * Cleaned up install-kernel scripts * Updated README * Updated Makefile to include the new hook commit ed816590783f2f75cf780c553eb672c67ba307b8 Author: Dmitry Nedospasov Date: Sat Apr 24 12:11:55 2010 +0200 Updated README to reflect the following: * Added the gitorious git repsoitory * Added a list of supported Distros (test by me) * Changed information on RPM-Based repositories * Other minor changes commit 23cd316a3f52706f928d19f75917332ce0ddd802 Merge: cda579c a214296 Author: Dmitry Nedospasov Date: Thu Apr 22 22:42:57 2010 +0200 Merge branch 'master' of gitorious.org:xen-tools/xen-tools commit a214296973e3651b6b3ce570bf781dd83a93d380 Author: Dmitry Nedospasov Date: Sat Apr 17 19:24:51 2010 +0200 Updated kerenl install script in edgy commit a155db033965ee2fa1ae47a4c4630189435d8dbe Author: Dmitry Nedospasov Date: Sat Apr 17 17:52:54 2010 +0200 parse distribution for grub menu.lst from /etc/issue commit 3eee05758b74039cc16aaaff793082dcb09718c7 Author: Axel Beckert Date: Sat Apr 17 15:13:18 2010 +0200 Add "Suggests: xen-utils" to debian/control for pygrub commit 99329b4a96ea492590d30b8b4aa40b1b72386f78 Author: Axel Beckert Date: Sat Apr 17 14:05:06 2010 +0200 Add missing item dash in TODO list commit 01d7921b0c15db3e814d4cc4c589cc30b0467129 Author: Axel Beckert Date: Sat Apr 17 14:04:00 2010 +0200 TODO: Add Mathieu Parent's idea of having a directory of sources.list files for each distribution commit 1a5f9e1978a8ed6788f8c0655dd9684dc5233c95 Author: Axel Beckert Date: Sat Apr 17 14:01:04 2010 +0200 TODO: Fix debian/control when being online again commit 80770d0d765942d03c2ebe075e58d659957e7d8a Author: Axel Beckert Date: Sat Apr 17 13:56:52 2010 +0200 debian/changelog: Supports pygrub commit cda579c655bfab55b1007d2271f411db5aa93031 Author: Dmitry Nedospasov Date: Sat Apr 17 14:49:01 2010 +0200 Modified TODO: Add distro name and release number to pygrub screen commit 5a0856e60dc603d237d6a5d18ff0b1061fd7365d Merge: 0ecc697 e5a3a80 Author: Dmitry Nedospasov Date: Sat Apr 17 14:41:39 2010 +0200 Merge branch 'master' of git@gitorious.org:xen-tools/xen-tools commit 0ecc697a8221be93ebc6896b2353b174e79168cc Author: Dmitry Nedospasov Date: Sat Apr 17 14:41:18 2010 +0200 1. Added pygrub support to the ubuntu scripts - Hardy still not working 2. Added karmic support - Working fully 3. Edited Makefile to install karmic hooks commit e5a3a800496abae762ee872f47f1b3bb1e7b4866 Author: Dmitry Nedospasov Date: Sat Apr 17 03:50:09 2010 +0200 Updated howto commit a82f8754dfb17ba8c7bc198fcb37f843dfe113e1 Author: Dmitry Nedospasov Date: Sat Apr 17 03:24:13 2010 +0200 Changed description of the kernel script commit efc9058c10db6a4c5864d541ef7b7c899905424e Author: Dmitry Nedospasov Date: Sat Apr 17 03:12:52 2010 +0200 50-setup-hostname: added 127.0.1.1 with hostname for static ips, with FQDN for DHCP hosts 70-install-ssh: "ssh" package doesn't fully resolve on atleast the newer distros, changed the package "ssh" to "openssh-server" 80-install-kernel: new script to install a kernel for the pygrub flag 80-install-modules: added support for pygrub, this script is essentially ignored if pygrub is set. The kernel script will install modules in that case. commit 30ad001bb2cfe71c2bf389b8ecb26be1b6d7346a Author: Axel Beckert Date: Thu Apr 15 03:12:47 2010 +0200 TODO: List of failing tests commit 631020a2a15d82de9920bb349eb93c814c174c74 Author: Axel Beckert Date: Thu Apr 15 03:12:09 2010 +0200 t/perl-syntax.t: Needs done_testing() now to declare the end of all tests commit f419491ad75a3b6758883a2b069faffd6e6478e7 Author: Axel Beckert Date: Thu Apr 15 03:01:34 2010 +0200 TODO: Test suite should pass commit a2ddaceab91eaa6749a60bbe749d9f342c844ce8 Author: Axel Beckert Date: Thu Apr 15 02:57:54 2010 +0200 t/shell-syntax.t: Skip .git directories, too commit 105e53b355d216adc99af640e4aa6478ac468b38 Author: Axel Beckert Date: Thu Apr 15 02:56:31 2010 +0200 t/portable-shell.t: Add checkbashism from Debian's devscripts (if available) commit ce8f44ed36544d9483e644c049164229acebdd46 Author: Axel Beckert Date: Thu Apr 15 02:51:05 2010 +0200 Automatically skip syntax check if Moose is not installed commit bf195706b89cf325540479189fd60a8307c0ea8f Author: Axel Beckert Date: Thu Apr 15 02:34:59 2010 +0200 Note that t/perl-syntax.t needs Moose.pm commit 4d240abd6c8ccdcec58b1ad4972bf1f5a661f51d Author: Axel Beckert Date: Thu Apr 15 02:25:09 2010 +0200 Don't check Makefiles for perl syntax commit ae5a2eab536f38a6f32bcfcd2c30ad075bd1a4c8 Author: Axel Beckert Date: Thu Apr 15 02:21:42 2010 +0200 Replace all tabs with 8 blanks to make t/no-tabs.t happy commit 3f9c79f0f200ae07b454f6f982a5c423dc460216 Author: Axel Beckert Date: Thu Apr 15 02:21:15 2010 +0200 Remove tab from blank line commit e9b9b02869f5a5d58f9b967087f589ff90626bd4 Author: Axel Beckert Date: Thu Apr 15 02:17:18 2010 +0200 Fix no-tabs.t to ignore .git as well as Makefiles commit fb1de328c9ccbdb4a86bfd26122cd0e706725792 Author: Axel Beckert Date: Thu Apr 15 00:29:13 2010 +0200 Make toplevel Makefile VCS-agnostic commit 7f70f4b1486844209dd6cdfcf18132b538409e7b Author: Axel Beckert Date: Thu Apr 15 00:01:05 2010 +0200 Change debian/control Vcs-* header to new gitorious.org URLs commit a007f0b49d2cd60a8b822b1a7620bef825f7bd4f Author: Axel Beckert Date: Wed Apr 14 23:56:48 2010 +0200 Add .gitignore based on .hgignore commit 76d62ed165d95aabcb16731ead9815d5622d3859 Author: Axel Beckert Date: Sat Apr 10 15:22:56 2010 +0200 TODO: Clean up the hooks directory commit 339116f88693b0e391b03a2ab2556452232aa869 Author: Axel Beckert Date: Sat Apr 10 15:21:52 2010 +0200 Fix another typo in TODO commit 4362775855e5584ac1d7fa044b3bd97df0b5fc1a Author: Axel Beckert Date: Sat Apr 10 13:30:56 2010 +0200 Fix typo in last commit commit a56858263d228408e8b7c27b994e82c91ea4ed00 Author: Axel Beckert Date: Sat Apr 10 13:24:25 2010 +0200 Remove resolved issues from TODO, add new ideas about --dist commit 03f1b523fc6cf938acc9dab58d7217bfecec2e8a Author: Axel Beckert Date: Fri Apr 9 11:12:40 2010 +0200 hg should ignore emacs-style backup files commit bc750e31e081c1514ce950103d41c4b0b0938ea6 Author: Axel Beckert Date: Fri Apr 9 10:55:18 2010 +0200 Fix exit code of xt-install-image when install method failed (Closes: #534290) commit 0ae7d1a8ecb38eea162b638c89b3b377543d8e47 Author: Axel Beckert Date: Fri Apr 9 10:52:49 2010 +0200 Fix grammar debian/changelog entry commit 35c4a6f61ff63ec314920532e1780c1ed3a8fe4d Author: Axel Beckert Date: Fri Apr 9 10:52:16 2010 +0200 bashism fixes belong to the upstream part of the debian/changelog entry commit 05c80ffe3a84f1c0f5de3251247959c0779ed361 Author: Axel Beckert Date: Fri Apr 9 10:39:24 2010 +0200 Avoid single quotes in here data to avoid syntax hilighting issues (nearly the same text in xt-install-image) commit e613f2088c909f1b10a7cf8a6a7e0d07b4ce6c84 Author: Axel Beckert Date: Fri Apr 9 10:35:45 2010 +0200 Avoid single quotes in here data to avoid syntax hilighting issues commit ac4ebe62460fddb39b3dc8569e5c20933cf3475e Author: Axel Beckert Date: Fri Apr 9 02:09:58 2010 +0200 Added a README.source explaining how to build xen-tools directly from the Mercurial repository commit a08b06726ab4411b0bc628f2e735f653bce385fb Author: Axel Beckert Date: Fri Apr 9 01:58:02 2010 +0200 Fix one more bashism: ${parm/?/pat[/str]} commit fb9b6347a09d0fbbe15fe2bc6f321eb1cd3c0714 Author: Axel Beckert Date: Fri Apr 9 01:56:04 2010 +0200 Fix bashism: read without parameter commit 06e4590d0a20ca083473a31c73ce7327e1af6eca Author: Axel Beckert Date: Fri Apr 9 01:48:15 2010 +0200 Fix bashisms: echo -e -> printf commit 4728dffa724a103ae13655169913c333059786a7 Author: Axel Beckert Date: Fri Apr 9 01:42:53 2010 +0200 Fix bashism: ${parm/?/pat[/str]} commit eae96c3b5a5cdb283bf628eac5915140eeb5d127 Author: Axel Beckert Date: Fri Apr 9 01:32:22 2010 +0200 Fix bashisms: kill -HUP -> kill -s HUP commit 1fded1e89798838380b8f5187a0bd89fea2413fc Author: Axel Beckert Date: Fri Apr 9 01:31:04 2010 +0200 Mention fixing of bashisms in the debian/changelog commit dd40247b133b88a094592966538acc93721225ff Author: Axel Beckert Date: Fri Apr 9 01:03:31 2010 +0200 Fix bashism in Makefile: [^y] -> [!y] commit 0dc86d6ccc914356a7f83e045ef3edcf3d025f24 Author: Axel Beckert Date: Fri Mar 26 21:53:44 2010 +0100 Add debian/source/format to silence lintian commit 23966f2a397940836b15af589c9d300c653bb255 Author: Axel Beckert Date: Fri Mar 26 21:45:50 2010 +0100 Fix e-mail address of C.J. Adams-Collier commit a53371f7ae5064ec9fddcc0e79e44a8d16429206 Author: Axel Beckert Date: Fri Mar 26 21:44:04 2010 +0100 Add myself as primary author to AUTHORS commit 467d45d1ecd1022f5c1bc6d75d458811454e386e Author: Axel Beckert Date: Fri Mar 26 21:36:18 2010 +0100 Removal of /etc/bash_completion.d/xm also fixes LP: #484098 as the feature where the bug was in will be removed commit 8ca88a9551f5000d70e44768d0a311146abad7f2 Author: Axel Beckert Date: Fri Mar 26 21:03:50 2010 +0100 Installs dhclient for CentOS and Fedora if DHCP networking is requested (LP: #241446) commit f007a6e7c5aaa54eeb74755f8acbc95524523652 Author: Axel Beckert Date: Fri Mar 26 20:52:43 2010 +0100 Also check /etc/apt/sources.list.d for security updates commit 110498e5b8d75e00da37aebdf17609ec65053211 Author: Axel Beckert Date: Fri Mar 26 20:51:35 2010 +0100 First check if /etc/apt/sources.list exists, then grep it. If it doesn't exist enable security updates by default commit 07c59a1b0de4cf722435398d1f60e2a8f1147a02 Author: Axel Beckert Date: Fri Mar 26 20:48:57 2010 +0100 Mention fix for LP: #309750 in the changelog commit b9c1b5087378bb237a066360402baf01482e4af1 Author: Axel Beckert Date: Fri Mar 26 20:46:13 2010 +0100 Just check for the string 'security' in sources.list, so it also matches local and ubuntu mirrors (LP: #309750) commit 24758e4dd39fe5f1a9ff35327882871ff21b400e Author: Axel Beckert Date: Fri Mar 26 20:35:11 2010 +0100 File conflict with bash-completion: Also close freshly reported Launchpad bug commit d6284de7e908365833a3f3e6a54e3cdc69f69a04 Author: Axel Beckert Date: Fri Mar 26 15:43:23 2010 +0100 Fix missing curly bracket. Thanks to Steve Allison for noticing commit 465a9773b7d1e537fa994ede4f1a7c56815ae0a5 Author: Axel Beckert Date: Thu Mar 11 01:07:08 2010 +0100 Also close parent Launchpad bug to #561618 commit fbc5ef984f91e847f396d1c555bb5b9b092fdec0 Author: Axel Beckert Date: Thu Mar 11 01:05:45 2010 +0100 Put rinse back to recommends, it's more or less needed for RPM based distros commit 2d8a03c5ac6885a970bf1b9bd61932145a8e11b5 Author: Axel Beckert Date: Thu Mar 11 01:04:32 2010 +0100 Reordered changelog entry, sort all upstream changes under "New upstream release candidate" commit be1ef1850b59e1e6a7948fd1cf5062fa6463607c Author: Axel Beckert Date: Thu Mar 11 00:56:48 2010 +0100 Calls pwconv and grpconv inside chroot when installing Fedora (Closes: #499476) commit 2c14aab186a95da77f3717ed01b1241124224d90 Author: Axel Beckert Date: Thu Mar 11 00:54:39 2010 +0100 Support for more recent versions of Fedora, Ubuntu and Debian (Closes: #499477) commit 74195e43f1c7cd965d73e9f85dcfaf7573862ab8 Author: Axel Beckert Date: Wed Mar 10 23:37:21 2010 +0100 Dereference pointers before hashing them to generate a MAC address. (Closes: #547265) commit ead13f17b39b2e0535bc112180515f7940a53238 Author: Axel Beckert Date: Wed Mar 10 23:24:21 2010 +0100 Don't write the FQDN into /etc/hostname (Closes: #492583) commit 814f1babd21961e7cd373935146e8d398c21061d Author: Axel Beckert Date: Wed Mar 10 23:23:59 2010 +0100 TODO: Bashisms commit f8843e523354a9cbd8c9b32779b60df5ebf4f9ad Author: Axel Beckert Date: Wed Mar 10 22:58:52 2010 +0100 Overhaul xen-create-image synopsis, show necessary option parameters commit bd2b7f2ea834af1b7a24da36b74bf76fe92f08ba Author: Axel Beckert Date: Wed Mar 10 22:26:22 2010 +0100 Add the real bug which caused PEBKAC commit ce37cac21f0fc772217fa9e695d321a78382e9f9 Author: Axel Beckert Date: Wed Mar 10 22:25:00 2010 +0100 Remove note on bug which was PEBKAC (respectively bad documentation :-) commit 5bc0f1e7a4d40d9e43dc832ae71c820435c40c44 Author: Axel Beckert Date: Wed Mar 10 22:10:06 2010 +0100 Add Backspace to ease syntax highlighting commit 368b94e4ef22e81cd775254f113bf1ebfd95838c Author: Axel Beckert Date: Wed Mar 10 22:07:12 2010 +0100 Update TODO: Installs Squeeze now, ext4 support in, but buggy, add newly found bugs commit 83af869d16b29c75d8b3281263de31c2ad561502 Author: Axel Beckert Date: Wed Mar 10 21:56:38 2010 +0100 Fix missing ';' commit 797196f23fdac167bcaac906dc7bed1212e8d514 Author: Axel Beckert Date: Wed Mar 10 21:54:22 2010 +0100 Add new xt-guess-suite-and-mirror script to install-bin target commit b66263df67b05a4ef147dbf39f2b0e34f5782aa7 Author: Axel Beckert Date: Wed Mar 10 21:29:14 2010 +0100 Set release version to 4.2rc1 and generate debian package version with ~ from it Also do not tidy or modify Emacs' *~ backup files. commit de31b27c9dbcfe2cad69c8e30999c4c37498633e Author: Axel Beckert Date: Wed Mar 10 20:17:38 2010 +0100 Add (yet untested) support for ext4 commit 878bc31dc09466ebab0f4d7500ce21bc2f77c982 Author: Axel Beckert Date: Wed Mar 10 20:17:02 2010 +0100 Add full header to NEWS.Debian commit 2c8c1ecf6291fcf00c94faa77a2372f5982942f3 Author: Axel Beckert Date: Wed Mar 10 20:05:04 2010 +0100 Revert accidentially committed generated changes to t/modules.t commit a4b4d67e766a5e52e77e19753a60ef9c7a3dc412 Author: Axel Beckert Date: Wed Mar 10 20:00:12 2010 +0100 Add (yet untested) support for Fedora 9-13. Ubuntu 9.04-10.04, Debian 6.0 Also resort the Debian releases by release date and add support for Debian "testing", too. commit 3c5940f8d34e6a03646e46ede283ebd3a1e02b24 Author: Axel Beckert Date: Wed Mar 10 19:52:50 2010 +0100 Rename xen-guess-debian-mirror to xt-guess-suite-and-mirror --HG-- rename : bin/xen-guess-debian-mirror => bin/xt-guess-suite-and-mirror commit 967f926ed2272ff759cb0223a76b3727de4ec425 Author: Axel Beckert Date: Wed Mar 10 19:46:42 2010 +0100 Debian/Ubuntu: Use Dom0's distribution by default for DomUs Includes new tool xen-guess-debian-mirror. commit 066e434e08925396fddfb253173c83a79d4a2382 Author: Axel Beckert Date: Wed Mar 10 19:32:56 2010 +0100 Updated Copyright years commit ea181e40a10df11992784b5480554c1ed2b09d83 Author: Axel Beckert Date: Wed Mar 10 19:29:02 2010 +0100 Give the example LVM volume group a more common name commit ba66ab4231e4a49d1a9450a87505bac1b1701049 Author: Axel Beckert Date: Wed Mar 10 15:55:20 2010 +0100 Some more man page todos commit e261684240eb513956708a0eca19303a9da46a5d Author: Axel Beckert Date: Wed Mar 10 15:37:26 2010 +0100 Merge in my todo list and first bugs found during testing, some more structure commit 324d0d26bac80813a317ba1f6f074c8e84bfad71 Author: Axel Beckert Date: Wed Mar 10 15:13:17 2010 +0100 Reformat Steve's TODO list into todoo-mode compatible format commit fb0575a47d19a8d917029bc58fa3ceb7f72ad55c Author: Axel Beckert Date: Wed Mar 3 02:14:49 2010 +0100 Raising Debhelper compat means also raising the Build-Dependency commit aad28f3fd3d2a95b9f6cda8b8bf98904496e1668 Author: Axel Beckert Date: Wed Mar 3 02:11:44 2010 +0100 Don't use perl syntax in shell scripts ;-) commit b6c82d9f1a296142ce712f09259929c496c11f3b Author: Axel Beckert Date: Wed Mar 3 02:08:18 2010 +0100 Only generate man pages for non-tidied scripts commit 4ddc72318bc60afda43ece8f2a6934fecb47fe51 Author: Axel Beckert Date: Wed Mar 3 02:06:37 2010 +0100 Fix some spelling errors found by lintian commit f6e224e40e73f5195703da56608a4758d1332850 Author: Axel Beckert Date: Wed Mar 3 02:05:30 2010 +0100 Also clean up .tdy files commit 962d1a4497db0e403c278e0904583ffbff40cec9 Author: Axel Beckert Date: Wed Mar 3 01:59:20 2010 +0100 Update copyright file, add missing copyright years commit 10cc9763a4f916d0d45d00643a56aca31f471e22 Author: Axel Beckert Date: Wed Mar 3 01:56:05 2010 +0100 Bump debhelper compat to 7 commit faee230c4b71f8fda859719a1f410763188090ee Author: Axel Beckert Date: Wed Mar 3 01:54:49 2010 +0100 Fix lintian warning debhelper-but-no-misc-depends commit 9fb9ea1d4ba82bb121e9babfceb81209960ffbd3 Author: Axel Beckert Date: Wed Mar 3 01:51:52 2010 +0100 Add an orig-tar-gz target commit 09a637f48e5e1aa92074fb285773c356653f3c05 Author: Axel Beckert Date: Wed Mar 3 01:46:36 2010 +0100 Prepare a 4.2~rc1 release so that at least the package builds commit 4bdd02ba9dbd03ed68cf6da7025707e2183c7425 Author: Axel Beckert Date: Thu Feb 18 14:55:35 2010 +0100 Upload will close ITP #566714 commit 44175e7369547d54993d872d646aeb8150f3cd14 Author: Axel Beckert Date: Thu Feb 18 14:27:55 2010 +0100 Add Vcs-* header since the repository is now online commit 4f6e76338ed24c779b1bd7914c8c45ba1ce92884 Author: Axel Beckert Date: Mon Feb 1 03:22:18 2010 +0100 Bump Standards-Version to 3.8.4 (no changes); change maintainer e-mail address to my debian.org address commit d0070878a7e3c58968e18e0af3c59f06dff786ca Author: Axel Beckert Date: Tue Jan 26 03:36:04 2010 +0100 Fixed typo: 3.8. -> 3.8.3 commit be71eff4717d605614214415a257f0bca054c9cc Author: Axel Beckert Date: Tue Jan 26 03:10:14 2010 +0100 Don't bail out if directory man already exists commit cdc8d3041a96d8d93471d9e7f94c0c64482402ac Author: Axel Beckert Date: Tue Jan 26 03:08:33 2010 +0100 Bump Standards-Version to 3.8. (no changes necessary) commit 98ce96a08022322d9baf4ba09804ce5f4be1f4bf Author: Axel Beckert Date: Tue Jan 26 02:57:00 2010 +0100 Downgrade reiserfsprogs, xfsprogs and rinse to Suggests. (Closes: #561618) commit e08ade08755669bac23da6c1d12996faaa74216c Author: Axel Beckert Date: Tue Jan 26 02:51:31 2010 +0100 Fix typo in /usr/lib/xen-tools/*.d/75-fixup-securetty (Closes: #503339) commit fab5bc9861cfeb663c295bca1814b01379598cc0 Author: Axel Beckert Date: Tue Jan 26 02:49:21 2010 +0100 xen-create-image: Don't delete configuration file if it already exists. (Closes: #520177) commit da302cdd1d69694846b13a29716c897d45e3c09b Author: Axel Beckert Date: Tue Jan 26 02:41:02 2010 +0100 Change rinse path to /usr/sbin/. (Closes: #511211) commit bc54d27f970a6a96ec04d48196e1df9863438926 Author: Axel Beckert Date: Tue Jan 26 02:34:46 2010 +0100 Bugs 502798 and 515228 seem the same commit 610ba4e71dffeee7bb0e26b4f364d7eb71438c39 Author: Axel Beckert Date: Tue Jan 26 02:25:03 2010 +0100 Make sure, MAKEDEV is found (Closes: #502798) commit c4bce3ea2ff34b28ed09d282554bcf05e50d721a Author: Axel Beckert Date: Tue Jan 26 02:00:36 2010 +0100 Last change justifies a new release commit dfbf5910b922adde5af9c5a20318e71ee1d816cb Author: Axel Beckert Date: Tue Jan 26 01:57:40 2010 +0100 Set umask to 0077 before creating disk images commit a1078d5908b27958c5bc5d8df88d89b51f69ec85 Author: Axel Beckert Date: Tue Jan 26 01:34:43 2010 +0100 Adjust description commit e253d89a68fb2fdb2fdc2875b536de4757ad98b0 Author: Axel Beckert Date: Tue Jan 26 01:33:52 2010 +0100 New maintainer also in debian/control commit 3e12e5c0b660b130af37217c8197fa56fe278a02 Author: Axel Beckert Date: Tue Jan 26 01:31:18 2010 +0100 Remove /etc/bash_completion.d/xm Remove /etc/bash_completion.d/xm from the package since the package bash-completion ships a more elaborate version of that file. Closes the Debian bugs #566683 and #550590. commit e28038f9007775b2a6abe7cddb4832680838bb68 Author: Axel Beckert Date: Tue Jan 26 01:29:50 2010 +0100 New upstream author, new Debian maintainer commit 5c899053cdd542302d9bb56b6747e231b68a4bc9 Author: Steve Kemp Date: Sun Jan 11 23:23:59 2009 +0000 tidy commit 3e120099d78bc15841c1236b3aab4985a6062444 Author: Steve Kemp Date: Sun Jan 11 23:22:44 2009 +0000 Added tag release-4.1 for changeset 6a10240d7c66 commit f968c9dd76e44d5ac156853917e20ee54e5cfe5a Author: Steve Kemp Date: Sun Jan 11 23:22:44 2009 +0000 Added tag release-4. for changeset d75c787add2a commit 5ed66652ad32718ceabb359a30ab538b1d03225f Author: Steve Kemp Date: Sun Jan 11 23:22:03 2009 +0000 Use perltidy with no args commit 7b29ec1bdf4b69423ebdd940611e81fffcda6220 Author: Steve Kemp Date: Sun Jan 11 23:21:25 2009 +0000 Fixed tab vs. space commit 31719505f680d5f5d17d1067cea6df2efb62b99e Author: Steve Kemp Date: Tue Jan 6 21:01:51 2009 +0000 Updated. commit 6338ba62c4ba75ba860e46f98c74eccec3fc4d86 Author: Steve Kemp Date: Tue Jan 6 20:59:55 2009 +0000 Added. commit 3c4e0160aea16bad261b3a577a71008a6d1fefb9 Author: Steve Kemp Date: Wed Dec 10 21:39:59 2008 +0000 Updated. commit 84ee1658d1514ccb710c5bb2a4e4dfdf343b0244 Author: Steve Kemp Date: Wed Dec 10 21:35:35 2008 +0000 Another fixup commit a28bced5e31b2cc57fb682e1f4aef0b62128ff60 Author: Steve Kemp Date: Tue Dec 9 14:02:04 2008 +0000 Last juggle. commit 8965988439cc1fec4ab98ce8412f8ff93b9e2e3b Author: Steve Kemp Date: Mon Dec 8 22:56:55 2008 +0000 Hardy + Intrepid now work commit 1d6771c71930dd379285af58539d80c1ed2d4960 Author: Steve Kemp Date: Mon Dec 8 22:56:28 2008 +0000 Reverse order. commit 3cb87c09e9d8125665e6d41125b417739664f826 Author: Steve Kemp Date: Mon Dec 8 20:35:13 2008 +0000 Updated. commit a95d576a4e76e66646d214198033d7434ee65f2d Author: Steve Kemp Date: Mon Nov 24 14:37:34 2008 +0000 1. Work with partitions. 2. Allow pygrub commit 9d061fe5a68f65de70655b3d1bedfa2522d76b23 Author: Steve Kemp Date: Mon Nov 24 14:37:14 2008 +0000 Always make /dev/pts available commit 22a4774cfe133734bab48bee758d161b98a0fbeb Author: Steve Kemp Date: Sun Nov 23 21:12:42 2008 +0000 Updated to work with partitions commit 1b6d3dbdeb9326b8fcff1ee594e10fdfb21a43aa Author: Steve Kemp Date: Sun Nov 23 21:12:36 2008 +0000 Delete the file if it exists commit 996e7d7e1f614649661511fb259bf44bd8e980d4 Author: Steve Kemp Date: Sun Nov 23 21:11:43 2008 +0000 Don't abort if the file exists commit 97d01456a3833815ce30a81ca2ac237e7d3f4541 Author: Steve Kemp Date: Sun Nov 23 13:13:38 2008 +0000 Attempt to fixup image-dev commit aa7a2c4c5e4ac16d6cfaa353c7313e01f9cf4d10 Author: Steve Kemp Date: Sun Nov 23 13:06:24 2008 +0000 New command line argument --no-hosts commit 3522a919cee638745d28295b917095ac8c5c5d8e Author: Steve Kemp Date: Tue Oct 14 22:04:40 2008 +0100 Allow command line flags to be unset. commit ef3a15c16c3741305d275afd62ca24dcae553fd3 Author: Steve Kemp Date: Mon Oct 13 19:24:01 2008 +0100 Updated standards version commit c85144de0f61b23d33874d48b2d2eadeefd2e859 Author: Steve Kemp Date: Mon Oct 13 19:23:15 2008 +0100 Sync commit 455c16cefe1771a5846e662c5cc5838136a22d7c Author: Steve Kemp Date: Mon Oct 13 19:18:05 2008 +0100 Abort if the generated configuration file already exists. (Closes: #499475) commit 290a30b1b1e75d84ed26f9566c986647389304a3 Author: Steve Kemp Date: Mon Oct 13 19:14:47 2008 +0100 Record the arch for rpm-based distros. Closes: 475125 commit 8e2f1236fbd113d5bdc71895fa5c90d0ce795a38 Author: Steve Kemp Date: Tue Jun 3 21:49:44 2008 +0100 Don't test for the POSIX module; per http://www.perlmonks.org/?node_id=689911 commit 15436cc018465222510547a930d211f38509d40a Author: Steve Kemp Date: Wed Apr 30 19:06:36 2008 +0100 Correctly sort custom partitions. #477334 commit 3717d0cc15dff9407c68ee6015852dc91c4eed6b Author: Steve Kemp Date: Wed Apr 30 19:05:54 2008 +0100 Correctly force purging of packages in the role script(s). #477629 commit 5d11b820b713023f1302afc8b0a18453a09ed97d Author: Steve Kemp Date: Wed Apr 30 19:05:21 2008 +0100 Add the hostname to dom0's /etc/hosts in the correct order. #477775 commit 161ee94632ff5fa619ab00bfeb60a3527123c1ca Author: Steve Kemp Date: Wed Apr 30 19:04:04 2008 +0100 Add /dev/pts to the fedora guests. #474919 commit 9ff14a400e83497b6a155c6316ca468d81ccadde Author: Steve Kemp Date: Wed Apr 30 19:02:51 2008 +0100 Updated with the debian release commit cb77db18b969c03a19abc1a119e750704fcd3d77 Author: Steve Kemp Date: Tue Apr 1 20:52:15 2008 +0100 added perltidy rule commit 8be8f39add2fe83dc0a7ae498a4155637a221984 Author: Steve Kemp Date: Tue Apr 1 20:52:08 2008 +0100 Ran through perltidy commit be306920618d743fed0cafab42e4bfc090c54e2d Author: Steve Kemp Date: Fri Mar 14 12:12:28 2008 +0000 Only show the install source if there is one. commit 7a6c7f17c95afc04836c51207042babbdff0a4c7 Author: Steve Kemp Date: Wed Feb 20 11:55:32 2008 +0000 Fixed bug where quote characters prevented interpolation. Added naive test case to catch the error next time round.. commit f6ca3cd2969c33e6fd4c5126967f8f1e04674bba Author: Steve Kemp Date: Fri Feb 1 19:31:24 2008 +0000 Removed last CVS Id: markers commit 14e8c36a855a1e596e7c0432aa643663d92eb0c5 Author: Steve Kemp Date: Fri Feb 1 19:30:45 2008 +0000 Removed obsolete $Id:$ tags from CVS import commit b5dfe1b5a496cf98108ba6ac151748d6fbf407e2 Author: Steve Kemp Date: Fri Feb 1 19:27:39 2008 +0000 Moved rules to binary-indep, not binary-arch commit 33ee4cde7a70053e79ef8ca6d20e4d0766f8cf70 Author: Steve Kemp Date: Fri Feb 1 19:26:44 2008 +0000 Updated. commit c4adaf8603162284de96d8e2a4575625fc3f311d Author: Steve Kemp Date: Fri Feb 1 19:23:20 2008 +0000 U pdated for the new release. commit a393694ad1266b8e7487c4e1bfc0c83d4a0d3085 Author: Steve Kemp Date: Fri Feb 1 19:18:32 2008 +0000 Use different exit values. commit 5d0748fbd5d41a313049cf4cd65c4c8f3de211bb Author: Steve Kemp Date: Fri Feb 1 12:03:07 2008 +0000 Updated gentoos' networking script(s). (dhcp only). commit d39f4fe8ec41357c496fcbd40645a898e1e37c12 Author: Steve Kemp Date: Wed Jan 30 19:05:33 2008 +0000 Better bash completion for xen-create-image, by Nick Anderson. commit 3edc8b3ddb9eb3d20c061f651cdb0d3a1b8dc2ac Author: Steve Kemp Date: Tue Jan 15 22:16:01 2008 +0000 Removed obsolete .cvsignore file(s). commit 7a9cf6d65448dcd64943b9acc4a67ed78affc3e6 Author: Steve Kemp Date: Tue Jan 15 22:14:23 2008 +0000 Support fedora-core-8 :) commit 9f4e7d411032e6d151162b37654a2c3ec2426e3b Author: Steve Kemp Date: Tue Jan 15 22:12:37 2008 +0000 Remove recommendation on perl-doc. Closes: 447715 commit 8a38b9a2d6ef04eec3f590123c8ed77ef8496ce8 Author: Steve Kemp Date: Tue Jan 15 22:11:48 2008 +0000 Updated. commit f02f2bcf441dff63123583e8e7b51686ca2b3fa8 Author: Steve Kemp Date: Tue Jan 15 22:10:21 2008 +0000 Show what has been deleted by default. (Closes: #452756) commit 6d8c81559c42b9820ca13ab30f9ec103ba389d8e Author: Steve Kemp Date: Tue Jan 15 22:05:13 2008 +0000 Exit with status 127 on error. 0 on success. (Closes: #455916) commit 0af9a3a045934ae4891c19f9ea998ffedbee6637 Author: Steve Kemp Date: Sun Dec 30 01:36:54 2007 +0000 Updated link commit f3b6fdae456f33a2ccfa7387155a920a4a38daae Author: Steve Kemp Date: Thu Dec 20 12:18:57 2007 +0000 Updated to point to new location commit 309ee5335c4eff66570cc52751b8a37a8c1eb498 Author: Steve Kemp Date: Thu Dec 20 12:18:46 2007 +0000 BUGFIX commit a18d68d69f20d870cfb701b409f6e7b420090662 Author: Steve Kemp Date: Thu Dec 20 12:18:37 2007 +0000 BUFXI commit b607fd49f0ae47a9489fe6067d53ec4ce55a09ea Author: Steve Kemp Date: Wed Dec 5 19:48:02 2007 +0000 Ignore mercurial files commit 61501bb76e9d57a60407c91e72356e97045a6c38 Author: Steve Kemp Date: Wed Dec 5 19:47:30 2007 +0000 Ignore mercurial files commit 2965850d5dc114bf22e3d5f45e0a8b2bbc7d2989 Author: Steve Kemp Date: Wed Dec 5 19:46:46 2007 +0000 Updated test ot ignore 'disk_device' + 'serial_device' commit 968650e04335ccfe44280b4692917e6a6eb47b3c Author: Steve Kemp Date: Wed Dec 5 19:45:04 2007 +0000 Updated so that we support LVM. commit de9944f00692b9319d4c6833643c26f71a7bc909 Author: Steve Kemp Date: Wed Dec 5 00:03:17 2007 +0000 Added stub implementation for this command. Works for loopback + ext3 commit 154d444f114ab41f89ba5d5613323b2fa544af7a Author: Steve Kemp Date: Sat Dec 1 01:35:40 2007 +0000 Updated link for the 'release' utility. commit 56082562d71ed74a8b06a67c7bd750d421e9ce56 Author: Steve Kemp Date: Sun Nov 25 14:08:28 2007 +0000 Removed the .hg* files from the release tarball. commit 60d1f5ee3e4f266d2a28c387106b58acbb1dcf5f Author: Steve Kemp Date: Sun Nov 25 13:52:15 2007 +0000 Removed auto-version stamps from CVS commit d263e49efbc1aa19f02a12c2e2ca3b00c98b33c2 Author: Steve Kemp Date: Sun Nov 25 13:51:28 2007 +0000 Removed last mentions of cvs. commit 3cb5cbde2c3026f013272a029fa9206ffafd4f84 Author: Steve Kemp Date: Sun Nov 25 13:50:39 2007 +0000 Ignore the ChangeLog file commit 55addd628ca301bc2df0b03fa51576d811eb08e6 Author: Steve Kemp Date: Sun Nov 25 13:50:06 2007 +0000 Updated to generate a changelog via the mercurial history commit f91dde4c6fca9ec3867db15cddf5d7326e690bc2 Author: Steve Kemp Date: Sun Nov 25 13:49:19 2007 +0000 Removed this file. commit cb1cbdc93963527a2178ee7faecec829a43d9797 Author: Steve Kemp Date: Sun Nov 25 13:49:01 2007 +0000 Removed mentions of CVS. commit 5d6062133d9d4d8c4313d035669481023a889229 Author: Steve Kemp Date: Wed Nov 21 18:55:39 2007 +0000 2007-11-21 18:55:39 by steve Mount /dev/pts by default. commit c8b687f76bd4858d57a253bbe6a7371d4deb4a96 Author: Steve Kemp Date: Fri Nov 2 10:50:47 2007 +0000 2007-11-02 10:50:47 by steve Added stub file. Will implement prior to next release. xen-resize-guest foo.my.flat +5G commit 8b01b135ecc73fef316951c2e3abb32f70ba2e2b Author: Steve Kemp Date: Thu Oct 25 12:27:49 2007 +0000 2007-10-25 12:27:49 by steve Updated commit d122f1141fbead5c12e04651f30b9737b7a617ed Author: Steve Kemp Date: Thu Oct 25 12:26:08 2007 +0000 2007-10-25 12:26:08 by steve More test updates commit 9a31f9bf0eea250a1ae9ffbc640a10d96812b7d7 Author: Steve Kemp Date: Thu Oct 25 12:24:33 2007 +0000 2007-10-25 12:24:33 by steve Strip trailing whitespace commit 854743fc7d804699f0039aa67fbb7f1b052bf8c2 Author: Steve Kemp Date: Thu Oct 25 12:23:53 2007 +0000 2007-10-25 12:23:53 by steve Bugfixes for the tests commit 4de5c64bf79e5d0a705d5edb9a791ce3fae9c7db Author: Steve Kemp Date: Thu Oct 25 12:19:40 2007 +0000 2007-10-25 12:19:40 by steve revert the use of Xen::Tools, but leave the code in place. commit b80872be72d77cd1fbb9f06a9e87f9e7d9e4ba5e Author: Steve Kemp Date: Thu Oct 25 12:17:53 2007 +0000 2007-10-25 12:17:53 by steve Document output + suffix settings commit ebfc2b3cacabb04b6ccee175915def7dd491c98f Author: Steve Kemp Date: Thu Oct 25 12:05:21 2007 +0000 2007-10-25 12:05:21 by steve Allow the output file to be specified via --output + --extension commit 09b0f2af3c7816ffe79368e279c1a8292ef2b292 Author: Steve Kemp Date: Tue Oct 16 21:28:56 2007 +0000 2007-10-16 21:28:56 by steve Avoid warning about scalar split. commit a3fc8ad35765785290565842673fcece115b5452 Author: Steve Kemp Date: Tue Oct 16 21:27:37 2007 +0000 2007-10-16 21:27:37 by steve Updated. commit 41432824e615efb721de41c6a014769e55a2a999 Author: Steve Kemp Date: Tue Oct 16 21:25:57 2007 +0000 2007-10-16 21:25:57 by steve Make sure /dev/tty1 exists. commit d7c4eb20ccd1b2d2defb9025144ef8ec61509463 Author: Steve Kemp Date: Wed Oct 10 11:36:28 2007 +0000 2007-10-10 11:36:28 by steve Document the location of 'release' commit 8ab9350ba930bc22ddc75036998470c40c748168 Author: Steve Kemp Date: Wed Oct 10 08:56:32 2007 +0000 2007-10-10 08:56:32 by steve Don't swallow newlines.1 commit 8c2965a16dc7bb0ff7aaa4551f27304818db6f57 Author: Steve Kemp Date: Thu Oct 4 18:03:47 2007 +0000 2007-10-04 18:03:47 by steve Updated to close #442926 commit d31eedfcf752ab927ff5a472b010d7f5abd3a4d0 Author: Steve Kemp Date: Thu Oct 4 18:03:10 2007 +0000 2007-10-04 18:03:10 by steve Sync what Radu wrote for the previous upload. commit 3689335cbe606ec75350f60b01781f41c937db17 Author: Steve Kemp Date: Thu Oct 4 17:46:22 2007 +0000 2007-10-04 17:46:19 by steve Add a script to ensure xvc0 + hvc0 are included in /etc/securetty. (Closes: #442926) commit 2a972bd73268618a9e22bda79ddf91640064f9de Author: Steve Kemp Date: Tue Oct 2 21:56:51 2007 +0000 2007-10-02 21:56:51 by steve Generalised sed-editor of files on new guests. commit 6f80cf3fbb421331ce2f3b293407da349f9f10b1 Author: Steve Kemp Date: Tue Oct 2 21:42:28 2007 +0000 2007-10-02 21:42:28 by steve When deleting guests we should free up the IP address, if present and marked as used, in ips.txt commit accce48d502b9198c2f9fa39190e1484cc447b9f Author: Steve Kemp Date: Tue Oct 2 21:41:22 2007 +0000 2007-10-02 21:41:22 by steve Updated so that the auto-allocation works correctly and also handles the case of file format being incorrect. commit 214dc52168b3ff1daff3996ad8e446877de79440 Author: Steve Kemp Date: Tue Oct 2 17:50:29 2007 +0000 2007-10-02 17:50:29 by steve Initial pass at the auto-use of IP addresses. commit 70d6e7c8fff053efd40ac3a71d0e1f578c7f6d94 Author: Steve Kemp Date: Tue Oct 2 16:18:04 2007 +0000 2007-10-02 16:18:04 by steve Updated to include LVM snapshot source. commit a0e72014cf3362f4e01c6b3d3ded556bcbebb706 Author: Steve Kemp Date: Sun Sep 30 21:23:12 2007 +0000 2007-09-30 21:23:11 by steve Use 'apt-get remove --purge' rather than 'dpkg --purge' when removing Debian packages. (#441981) commit 8d30bd634a601ec5e51045b91655db71f2c87268 Author: Steve Kemp Date: Tue Sep 25 20:06:37 2007 +0000 2007-09-25 20:06:37 by steve typo fix: netmaks -> netmask. commit a03fc1f24580bcd555359272bbff03fd9d019f97 Author: Steve Kemp Date: Tue Sep 25 20:05:16 2007 +0000 2007-09-25 20:05:16 by steve Attempt to fix logfile issues; C.J Adams-Collier. commit ec080134e2e44e64c5e25ee1e5316cf7f8386ea1 Author: Steve Kemp Date: Fri Sep 21 22:32:29 2007 +0000 2007-09-21 22:32:29 by steve Allow multiple role scripts to be specified. commit 4d534217ef1e2dde669367402043db7213d2e270 Author: Steve Kemp Date: Tue Sep 4 21:27:42 2007 +0000 2007-09-04 21:27:42 by steve Fixed stupid syntax error. commit f79531b292adbeec99d9f9fb5c9484b40898ca9f Author: Steve Kemp Date: Tue Sep 4 21:06:26 2007 +0000 2007-09-04 21:06:26 by steve The user may use disk_device=/dev/xvd[a-z] to specify their disk device name. commit 6a4964c0bd55c6db9825153abe58101f39d29656 Author: Steve Kemp Date: Tue Sep 4 21:05:11 2007 +0000 2007-09-04 21:05:11 by steve Allow the disk device to come from the environment commit 08ec2265b6f331babed01d8a8acd5294ee7efa7d Author: Steve Kemp Date: Tue Sep 4 21:03:21 2007 +0000 2007-09-04 21:03:19 by steve Updated to allow the user to specify 'disk_device' commit 23321e38f125d8c941cecc721dd52b18b1747b26 Author: Steve Kemp Date: Tue Sep 4 20:56:17 2007 +0000 2007-09-04 20:56:17 by steve Mention the use of serial_device=/dev/xvc0 commit 97b54ed7d05cbbd1035e5a02028f140f90bc2ed7 Author: Steve Kemp Date: Tue Sep 4 20:55:19 2007 +0000 2007-09-04 20:55:19 by steve Allow the user to specify 'serial_device' & 'disk_device'. commit 2b602dece7711367c836833cc043817dfcbe2c89 Author: Steve Kemp Date: Tue Sep 4 20:55:03 2007 +0000 2007-09-04 20:55:02 by steve Allow an optional serial_device setting to control which serial device is used. commit dc57d529f5a4feb9da409991a46c3696efcb72b8 Author: Steve Kemp Date: Tue Sep 4 20:39:20 2007 +0000 2007-09-04 20:39:19 by steve Correctly determine whether a xen guest is running prior to deletion. commit 645682ca866b84b296bcca0ed36309a5a002f44d Author: Steve Kemp Date: Tue Sep 4 20:37:08 2007 +0000 2007-09-04 20:37:08 by steve Changelog entry for #439874 commit be598837476ffacc66c7125c134e64dc17a5519e Author: Steve Kemp Date: Tue Sep 4 20:36:26 2007 +0000 2007-09-04 20:36:26 by steve Updated to use /bin/ls - to avoid alias side-effects. Closes: #439874 commit 727fda8860c3edd9352ad9ae1c5c584519a729a7 Author: Steve Kemp Date: Tue Sep 4 20:34:55 2007 +0000 2007-09-04 20:34:55 by steve Credit C.J. Adams-Collier for his modular contributions. commit dad05a7ce04375e679f9a5948c370cf641e2438b Author: Steve Kemp Date: Tue Sep 4 20:33:33 2007 +0000 2007-09-04 20:33:33 by steve Install our new libraries onto the system commit ad60280c87dc59c7de1e952fa2f110f06bea2daa Author: Steve Kemp Date: Tue Sep 4 20:31:19 2007 +0000 2007-09-04 20:31:19 by steve Use our new logging code. commit cf701e4f7d96bcbf5879af3ca63574a8b3846c7a Author: Steve Kemp Date: Tue Sep 4 20:31:04 2007 +0000 2007-09-04 20:31:04 by steve Added our new modular code. commit 47c7161386557a880f7d0b0c17a90bc530cce1fb Author: Steve Kemp Date: Tue Sep 4 20:30:25 2007 +0000 2007-09-04 20:30:25 by steve Added new tests for our modular code. commit 76ed3abe837a65b480650ef98c27a3fbf2a8f8a8 Author: Steve Kemp Date: Sat Sep 1 19:28:26 2007 +0000 2007-09-01 19:28:26 by steve Document the .spec file. commit 8f4cd7651895b3d6b9c98f0546b11358422d75f2 Author: Steve Kemp Date: Sat Sep 1 19:26:30 2007 +0000 2007-09-01 19:26:30 by steve Updated to work with new location. commit 8955aa696fcee355590501da0d2b3df7051b7cf4 Author: Steve Kemp Date: Sat Sep 1 19:25:44 2007 +0000 2007-09-01 19:25:44 by steve Added missing Makefile. commit ec106c1b0c236650cc6ff64bb244d99770c6a045 Author: Steve Kemp Date: Sat Sep 1 19:25:25 2007 +0000 2007-09-01 19:25:25 by steve Removed ./tests/ - contents moved to ./t/ commit eb4a542c4a1dec25c1adac97322ecd158c8d7e02 Author: Steve Kemp Date: Sat Sep 1 19:23:10 2007 +0000 2007-09-01 19:23:09 by steve Moved tests into ./t & updated Makefile to cope with new location. commit 7bbf7be9dfd3aaa87651d5d41e54bcae14ea8ad1 Author: Steve Kemp Date: Sat Sep 1 19:22:37 2007 +0000 2007-09-01 19:22:37 by steve Make explicit notice of the invalid *-cmd flags. commit e8decc8732afb38e1a87004f4742100a1150187a Author: Steve Kemp Date: Thu Aug 30 08:18:54 2007 +0000 2007-08-30 08:18:54 by steve Minor update. commit ceadb68e69d766462dc0736b14227861049f81d3 Author: Steve Kemp Date: Mon Aug 27 21:56:03 2007 +0000 2007-08-27 21:56:03 by steve Works for Etch now. Only i386 though; X11vnc segfaults on amd64. weird. commit 5bf6bc10b63048cd2482a8a76bf78f7c8ffd20c3 Author: Steve Kemp Date: Sat Aug 11 18:24:08 2007 +0000 2007-08-11 18:24:08 by steve 3 VIFs != 3 IPs. Prompted by Alex Howells. commit 23ed22a3d484e709dc7e71a9eb98ee486be4a8ea Author: Steve Kemp Date: Wed Aug 8 22:44:17 2007 +0000 2007-08-08 22:44:17 by steve Revert the password change which wasn't supposed to be commited. commit 42f5641bdd4d9cb6e26ca8116f7ff84488534b2a Author: Steve Kemp Date: Wed Aug 8 22:43:18 2007 +0000 2007-08-08 22:43:17 by steve Misc. update to fix failing test case. commit ae98402dc5abb05d7c0decfd8787f53a1d24ff09 Author: Steve Kemp Date: Wed Aug 8 22:41:44 2007 +0000 2007-08-08 22:41:43 by steve Allow the user to specify default mount options in xen-tools.conf commit 4f0cf7a83721f9200f19bf02549f1fde99e3e7b9 Author: Steve Kemp Date: Tue Aug 7 20:52:34 2007 +0000 2007-08-07 20:52:33 by steve Fix typo on pointopoint links. (Closes: #436170) commit 690e135d30467741a0e872caa9966df4d3604659 Author: Steve Kemp Date: Tue Aug 7 20:50:39 2007 +0000 2007-08-07 20:50:39 by steve Allow the user to setup an alternative debootstrap command in the configuration file. That could be used to prefer cdebootstrap. commit c3414c2c32e76211a44950d58821f3dbc9a7b23b Author: Steve Kemp Date: Tue Jul 31 17:33:30 2007 +0000 2007-07-31 17:33:27 by steve 3.7 release. commit b140e3d2ce7448399885d68d5e858cab237cedc7 Author: Steve Kemp Date: Wed Jul 25 22:45:57 2007 +0000 2007-07-25 22:45:57 by steve Updated to skip a false positive. commit 9728286b558667f2afde39ac7359d6b1ca8ff6f5 Author: Steve Kemp Date: Wed Jul 25 22:44:00 2007 +0000 2007-07-25 22:44:00 by steve BUGFIX: Make sure we have correct POD commit 51634ea3c2a7122bc987dd090075ff9ac6903e35 Author: Steve Kemp Date: Wed Jul 25 22:43:01 2007 +0000 2007-07-25 22:43:01 by steve Added .spec file for producing .rpm files. From: Gordon Messmer. commit f37c0c5dbdfbb5268286e433255c98564a20d124 Author: Steve Kemp Date: Wed Jul 25 22:39:58 2007 +0000 2007-07-25 22:39:58 by steve Updated per comments from Giuseppe Iuculano. Still seems to work for me :) commit 79c901cd09111921f90df034b567e7c004ceb0e8 Author: Steve Kemp Date: Wed Jul 25 20:51:15 2007 +0000 2007-07-25 20:51:15 by steve Change the line-break so that 'use any' isn't at the start of a line, via Gordon Messmer - RPM creator. commit d985b406d0f10778510104c7175bdb82fc8520bd Author: Steve Kemp Date: Mon Jul 23 19:56:34 2007 +0000 2007-07-23 19:56:34 by steve Remove rpmstrap. I no longer care about it and support will be dropped sooner rather than later. commit 4d0bb4f10fede5ffa63c6a09bdbe038c21001109 Author: Steve Kemp Date: Mon Jul 23 19:55:25 2007 +0000 2007-07-23 19:55:25 by steve s/relevent/relevant/g commit 654b6b91367227624ce766ba00f1a7264e49ee98 Author: Steve Kemp Date: Mon Jul 23 19:54:48 2007 +0000 2007-07-23 19:54:48 by steve Mount /proc in the new guest, prior to running customization scripts. commit d0e18025928891c872e165763a8afee6e72ac796 Author: Steve Kemp Date: Mon Jul 23 19:50:06 2007 +0000 2007-07-23 19:50:03 by steve We can support Fedora Core 7 now too. W00t. commit 9b6c927eeec935d835816d911de613948b34dedc Author: Steve Kemp Date: Sun Jul 22 21:14:12 2007 +0000 2007-07-22 21:14:12 by steve Patch [2/2] from Andrew Sutherland - Fixups installing Ubuntu lang. packs. commit bf8b212a24487e9184c2ee37b532d2fc130eba6f Author: Steve Kemp Date: Sun Jul 22 21:13:17 2007 +0000 2007-07-22 21:13:05 by steve Patch [1/2] from Andrew Sutherland - Integer fixups for dash. commit c6093b8f95e81888dd366e6e5c6661a76af68bec Author: Steve Kemp Date: Sun Jul 22 00:55:57 2007 +0000 2007-07-22 00:55:57 by steve Updated to give a better introduction, remove my name and replace it with a link to the software homepage, and update the list of supported distributions. commit 9591b5d5112f1cf65063c7f159ce521e819444a5 Author: Steve Kemp Date: Sun Jul 22 00:47:23 2007 +0000 2007-07-22 00:47:23 by steve Updated comments in a minor manner. commit 52f07ddb37b8f354c78cafbf0529ae638770e31e Author: Steve Kemp Date: Sun Jul 22 00:45:07 2007 +0000 2007-07-22 00:45:07 by steve Support the use of Fedora Core 4 & 5. commit 3ade5e23c3398af43a687505c674c8812c6cb1e7 Author: Steve Kemp Date: Wed Jul 18 17:16:25 2007 +0000 2007-07-18 17:16:25 by steve 1. Upper-case the MAC address we generate. 2. Typo fix in the error message relating to xend-config.sxp commit 2a71cb12f9109827f9e7a0f658055144c332fefb Author: Steve Kemp Date: Wed Jul 18 17:14:34 2007 +0000 2007-07-18 17:14:34 by steve Generate a 'random' MAC address if one isn't specified. commit 9a933302ec2f7553f87953236ee770ac9fe1a651 Author: Steve Kemp Date: Mon Jul 16 04:18:39 2007 +0000 2007-07-16 04:18:39 by steve Pass on the --arch flag to rins, now that this supports it. commit 619f1718b9b1661abd5ed2af9aaaa7972695e310 Author: Steve Kemp Date: Mon Jul 16 04:18:37 2007 +0000 2007-07-16 04:18:37 by steve Updated to install our newer distribution hooks. commit 17a6a5e127eea72cf384c21cb31cdfc5c3db5bf3 Author: Steve Kemp Date: Mon Jul 16 02:18:47 2007 +0000 2007-07-16 02:18:46 by steve Installation of Centos 4 & 5 & FC6 works :) commit c6ec56f7fa8fe69bbde1ecb413c87335e6fd2608 Author: Steve Kemp Date: Mon Jul 16 00:34:06 2007 +0000 2007-07-16 00:33:58 by steve Added. commit 6f6aef21553b4b71b618113c01f457c466717706 Author: Steve Kemp Date: Mon Jul 16 00:33:19 2007 +0000 2007-07-16 00:32:05 by steve Removed. commit 7cd1d940556b201b0b9454af6e83e6fbc40589f3 Author: Steve Kemp Date: Mon Jul 16 00:22:57 2007 +0000 2007-07-16 00:22:55 by steve *Minimal* support for the `rinse` utility. Not yet tested. commit 792fd155dfa0b36a4d569cdcf9d5bdac410d08c2 Author: Steve Kemp Date: Mon Jul 16 00:19:15 2007 +0000 2007-07-16 00:19:15 by steve Updated modules commit 00b631929253613037912251fddad6acd8e684a6 Author: Steve Kemp Date: Tue Jul 10 19:36:26 2007 +0000 2007-07-10 19:36:23 by steve 3.6 released. commit 7d65c0a706dd0abee65031f36554e6f01ef1c2e2 Author: Steve Kemp Date: Tue Jul 10 19:33:00 2007 +0000 2007-07-10 19:33:00 by steve Mention Config::IniFiles commit c6796aa2270d24e831fec23ded8415cf1bdda298 Author: Steve Kemp Date: Tue Jul 10 19:32:52 2007 +0000 2007-07-10 19:32:52 by steve Bugfix. commit 485b10a624c8f5a75b08703995b20a3008bf5322 Author: Steve Kemp Date: Tue Jul 10 19:31:06 2007 +0000 2007-07-10 19:31:06 by steve Only use the Config::Inifiles module when --partitions is specifed commit b5ddbbdf7a30e2f2b7ebbf3fc2a8feb80505a87a Author: Steve Kemp Date: Sun Jul 8 02:44:44 2007 +0000 2007-07-08 02:44:44 by steve Misc doucumentation fixups. Minor reordering of code. commit 922123a5960994fcf795215a07274c32e870c1c8 Author: Steve Kemp Date: Sun Jul 8 01:27:26 2007 +0000 2007-07-08 01:27:26 by steve Add a small section in the POD about the partitioning configuration. commit c63cc915f3f14bbd35504e3fdcd6595d951d0507 Author: Steve Kemp Date: Sun Jul 8 01:26:23 2007 +0000 2007-07-08 01:26:23 by steve BUGFIX: Partitioning didn't work unless you supplied --dir/--lvm/--evms upon the command line. (ie. When the configuration file was used.) commit eafc7427c2872fc4143b76e07ecca135178ef029 Author: Steve Kemp Date: Sat Jul 7 23:49:02 2007 +0000 2007-07-07 23:48:08 by steve INITIAL COMMIT: Support for arbitary partitioning systems. Patch from Sascha Kettler. commit 75151abf354067e85921aa0d99ce31b8fbdb5ca5 Author: Steve Kemp Date: Fri Jun 29 11:52:19 2007 +0000 2007-06-29 11:52:19 by steve Test that the Xen configuration file contains "valid" vif-script and network-script settings to aid beginners: http://www.debian-administration.org/articles/533#comment_2 commit c3772bf00d5b39299740bd5fef300eee78c8f909 Author: Steve Kemp Date: Tue Jun 26 12:42:37 2007 +0000 2007-06-26 12:42:37 by steve Added to repository. commit 09fb143a485ba8700c58b1494495a25554cdc7bc Author: Steve Kemp Date: Mon Jun 25 06:26:16 2007 +0000 2007-06-25 06:26:16 by steve Use "std" not "sd". commit cb593a0e09a322b25357fa8884c3f65d81780c56 Author: Steve Kemp Date: Tue Jun 19 22:35:34 2007 +0000 2007-06-19 22:35:34 by steve Search for template files in /etc/xen-tools.conf. commit 1566828f3a394c7ff4b93b921ff995e855c7f3bf Author: Steve Kemp Date: Tue Jun 19 10:47:56 2007 +0000 2007-06-19 10:47:56 by steve Added completion for "install" and "hooks". (ie. 0 or 1 ) commit 69140ab04dd78ca5301873e4acad11a29f2daf1e Author: Steve Kemp Date: Tue Jun 19 10:44:24 2007 +0000 2007-06-19 10:44:24 by steve --no-hooks => --hooks = [0|1] --no-install => --install = [0|1] commit d13087cb4ebf3172ee5794259908f7db22e5c8f1 Author: Steve Kemp Date: Sat Jun 16 21:21:21 2007 +0000 2007-06-16 21:21:21 by steve Updated common.sh such that installing and removing packages can be done with more than one package at a time. Useful for dependency problems. commit 807aeb08a21f41ce57d52bcc19f590c89256a584 Author: Steve Kemp Date: Sat Jun 16 21:20:56 2007 +0000 2007-06-16 21:20:56 by steve remove tasksel-data in addition to tasksel. commit b3623a49b90ccd766478f7cba95d3063b0b7a5d6 Author: Steve Kemp Date: Sat Jun 16 13:44:39 2007 +0000 2007-06-16 13:44:37 by steve Prepared for v3.5 release. commit 9bf7bde644de0056028f2c6d03f0e41bb635d134 Author: Steve Kemp Date: Sat Jun 16 13:36:41 2007 +0000 2007-06-16 13:36:41 by steve Added test : Make sure our scripts have no trailing whitespace, it is icky. commit 76475ec3c325a7dfb3acdb855cac5fb278080d68 Author: Steve Kemp Date: Sat Jun 16 13:31:41 2007 +0000 2007-06-16 13:31:41 by steve Removed trailing whitespace. commit f818b60e8368e4fe11a8d41bb2f3ca05fee2393f Author: Steve Kemp Date: Sat Jun 16 13:29:10 2007 +0000 2007-06-16 13:28:51 by steve Ran through spell-checker. commit 346cd033e11c1053e1a94b0de973ee032bb64aed Author: Steve Kemp Date: Sat Jun 16 13:26:58 2007 +0000 2007-06-16 13:26:58 by steve Updated word-wrapping. commit 0ab42951c5e2e117cb4806f911d5c187b6450a0a Author: Steve Kemp Date: Sat Jun 16 13:24:59 2007 +0000 2007-06-16 13:24:59 by steve Make the "clean" target be much quieter. commit 4ba2c0541b2b2138280e9795f291335fa4d1a841 Author: Steve Kemp Date: Wed Jun 13 23:56:51 2007 +0000 2007-06-13 23:56:51 by steve Typo-fix. infomation -> information. commit 5b1c1855baf6334cabd500bfbbec40086905a685 Author: Steve Kemp Date: Wed Jun 13 23:07:12 2007 +0000 2007-06-13 23:07:11 by steve Updated to use policy-rc.d in the common.sh. commit 0b8cd87ab337cb5a013089b7aee51674b9c9cf6d Author: Steve Kemp Date: Wed Jun 13 13:59:01 2007 +0000 2007-06-13 13:59:01 by steve Updated changelog for a backports release. commit 9d295570f3fd609b7f32ba92ad08efa4e8169acc Author: Steve Kemp Date: Tue Jun 12 14:40:58 2007 +0000 2007-06-12 14:40:58 by steve xen-update-image: 1. Only work with xen guest which aren't running. 2. Work correctly for LVM storage. commit ef4cfdbcb3a9b2bb12176470206fabdf1ae4b268 Author: Steve Kemp Date: Tue Jun 12 14:35:46 2007 +0000 2007-06-12 14:35:46 by steve Minor wording changes. Mostly relating to requirements. commit 777f89423f4ba6b57bc9ea5ef941bf03b217f6c8 Author: Steve Kemp Date: Tue Jun 12 14:05:38 2007 +0000 2007-06-12 14:05:38 by steve Added to the repository. commit 04f8a1e9964234db36297b2c269f027fd36ab7f0 Author: Steve Kemp Date: Tue Jun 12 14:05:25 2007 +0000 2007-06-12 14:05:25 by steve Ignore the keys mirror_$dist commit 177435bd6505c77b8bd06d79afb27d2f578497c4 Author: Steve Kemp Date: Tue Jun 12 14:04:08 2007 +0000 2007-06-12 14:04:08 by steve Ignroe Expect.pm; it is a false posivite. commit 84b2c94d4f98a49a117e052e7b81ad0f9fec70a1 Author: Steve Kemp Date: Tue Jun 12 12:57:25 2007 +0000 2007-06-12 12:57:19 by steve Use policy-rc.d to disable daemons from running inside the chroot(). commit e0d6884e3a9c59bb9f63eadf2945bcd2d66b5017 Author: Steve Kemp Date: Tue Jun 12 11:10:07 2007 +0000 2007-06-12 11:10:06 by steve Added symlinks for feisty + gutsy. commit 90842dd4c5b7b56729c64284f0ada91166b6c1ed Author: Steve Kemp Date: Tue Jun 12 00:56:31 2007 +0000 2007-06-12 00:56:30 by steve BUGFIX: When using per-distro mirrors we setup the apt.sources correctly. commit 71fb34fae7a313c60eae622784d0e6a23daa1097 Author: Steve Kemp Date: Mon Jun 11 23:33:19 2007 +0000 2007-06-11 23:33:18 by steve Allow per-dist mirrors. commit 634453b1228f9f0d07d079e88742d0a51d0e6f4b Author: Steve Kemp Date: Mon Jun 11 16:41:27 2007 +0000 2007-06-11 16:41:27 by steve Only add Debian Sources for security.debian.org to the guest if enabled upon the host. commit 8580e93a9369d954b8faef9a1796d184cd678c5d Author: Steve Kemp Date: Mon Jun 4 05:59:42 2007 +0000 2007-06-04 05:59:42 by steve Updated. commit 8ac486921b5df1acce992fdabc71fdee3c80b044 Author: Radu Spineanu Date: Sat Jun 2 11:48:20 2007 +0000 2007-06-02 11:48:18 by radu Updated kernel and initrd guessing to use the backtick function. Added new file README.Debian which currently documents the kernel and initrd updating features. commit ce3116f6bcbe2e19057f1de1c8d92b75bdcca9dd Author: Steve Kemp Date: Thu May 24 17:35:19 2007 +0000 2007-05-24 17:35:17 by steve Updated version to 3.4. New release. commit a25770311401931daddd98c5b617962a76dce7e4 Author: Steve Kemp Date: Wed May 23 16:20:51 2007 +0000 2007-05-23 16:20:51 by steve Added a symlink so we can support lenny. (Untested.) commit edf6d563810e2c5807c6bc8bf300b1a6393ee7d1 Author: Steve Kemp Date: Wed May 23 16:20:39 2007 +0000 2007-05-23 16:20:39 by steve Install locales for Debian-systems. Closes: #423385 commit 8dcfcadf4a9b0208eb14be2b0e963b23bae2d723 Author: Steve Kemp Date: Wed May 23 15:44:13 2007 +0000 2007-05-23 15:44:13 by steve xen-delete-image now actually works! commit e30f8384ba97d3231cc4b3a4a43198e89367bf1f Author: Steve Kemp Date: Wed May 23 12:16:12 2007 +0000 2007-05-23 12:16:12 by steve Don't forget what we added: Backtick expansion. commit 3d50492f580bd44cf8551ce4c1cd34f0b43c1f36 Author: Steve Kemp Date: Wed May 23 12:01:57 2007 +0000 2007-05-23 12:01:56 by steve Backtick command expansion in configuration key values. commit afd54728473ae5ad32c1a9646ebfaccd64147714 Author: Steve Kemp Date: Fri May 11 16:36:15 2007 +0000 2007-05-11 16:36:13 by steve 3.3 release. commit 56340b9829c0f35ed69ef2cea8dc067dcfded7cd Author: Steve Kemp Date: Sat Apr 28 15:49:44 2007 +0000 2007-04-28 15:49:44 by steve BUGFIX: Ignore missing release tarball + sig when running "make clean" commit cdf1e80e29bb13dca820db343baf8ff58154d41d Author: Steve Kemp Date: Sat Apr 28 15:49:00 2007 +0000 2007-04-28 15:49:00 by steve Remove the distribution tarball + signature on "make clean" commit 5d1be8e7424d5e6a0d1b6453d81878fda91c8eae Author: Steve Kemp Date: Sat Apr 28 15:43:26 2007 +0000 2007-04-28 15:43:25 by steve Updated the package recommends field. #421174 commit f36c7d7547c4b4d0acee710fc633070ce022713b Author: Steve Kemp Date: Sat Apr 28 15:34:19 2007 +0000 2007-04-28 15:34:19 by steve Refuse to delete running Xen guests. #419561 commit 05090f4b5391f60f034981ac59b24bf1f0191c1f Author: Steve Kemp Date: Tue Apr 24 21:02:39 2007 +0000 2007-04-24 21:02:39 by steve Use a pre-upload command to build the tarball. commit 3e7ed6ab07831c9d961af4dc98c8de64b97f7191 Author: Steve Kemp Date: Tue Apr 24 16:11:35 2007 +0000 2007-04-24 16:11:35 by steve Added release file. commit dfc8825012d987d700376c59abed8599ddd620fe Author: Steve Kemp Date: Tue Apr 10 22:56:46 2007 +0000 2007-04-10 22:56:46 by steve A) Added Lenny as a Debian target. B) Complete arguments via dynamic discovery, rather than lists which get out of date. commit 4808996e073867b350fa72f85d6160dfae09cad9 Author: Steve Kemp Date: Tue Apr 10 10:43:40 2007 +0000 2007-04-10 10:43:40 by steve Remove xen-create-nfs. From Alex's suggestion. commit ea02224b6db11828c63b407d2fc29df5d329bd69 Author: Steve Kemp Date: Mon Apr 9 11:56:36 2007 +0000 2007-04-09 11:56:36 by steve Added the example file to update modules. commit 233be9bda8149199ea24116d58a4b149b3b24dde Author: Steve Kemp Date: Mon Apr 9 11:54:26 2007 +0000 2007-04-09 11:54:26 by steve New example script which will update /lib/modules upon a new guest. Fragile (?) but works for me. commit f249f8e5daadc8598b058a5d8299cf143f0f41e5 Author: Steve Kemp Date: Mon Apr 9 11:53:56 2007 +0000 2007-04-09 11:53:56 by steve Fixed role-completion. commit 4ce7b7a0783ba79f808ee9c523fa699ef056dcd1 Author: Steve Kemp Date: Mon Apr 9 09:10:51 2007 +0000 2007-04-09 09:10:51 by steve Allow --mirror to work for rpmstrap. commit 94494f3ad961550cc1a4d3548a7575b393c67e43 Author: Steve Kemp Date: Tue Apr 3 00:20:43 2007 +0000 2007-04-03 00:20:43 by steve 1. Only add the auto-start link for domains which are booted if not present. 2. When deleting images remove the auto-start link. commit e387e80dbf1c18e828da0c2d7333b1b0c7b29971 Author: Steve Kemp Date: Tue Apr 3 00:14:47 2007 +0000 2007-04-03 00:14:47 by steve Tighten up the permissions of our logfiles - don't leak passwords. commit 25f2422b0d5c0d709d25744fb15e70637046c59a Author: Steve Kemp Date: Tue Apr 3 00:11:27 2007 +0000 2007-04-03 00:11:27 by steve Add libexpect-perl to the "suggests". So that the --role=passwd option works. commit 79a7d68c3df1a0f7876f38ddbd93578a505aee31 Author: Steve Kemp Date: Tue Apr 3 00:10:19 2007 +0000 2007-04-03 00:10:19 by steve Fixed badly worded text. commit 37f14d72b0de8f80dd89c9902f78e6f4ad253a54 Author: Steve Kemp Date: Tue Apr 3 00:08:10 2007 +0000 2007-04-03 00:08:10 by steve Updated required modules. commit ce0f83defa0a6acf1940e8c317000385f6b32688 Author: Steve Kemp Date: Tue Apr 3 00:07:54 2007 +0000 2007-04-03 00:07:54 by steve Removed "--role-args" since they are now supported. commit e1beeda47f0c1f7528cd7da89446e779f121f54f Author: Steve Kemp Date: Tue Apr 3 00:01:18 2007 +0000 2007-04-03 00:01:18 by steve Added password role. commit d7352684ffb1d34c35fb1f93901d3913bcaa5ca3 Author: Steve Kemp Date: Mon Apr 2 23:35:00 2007 +0000 2007-04-02 23:35:00 by steve Complete --role-args commit b4aa5f55050dd1c57cba529ed4a390446f601fd3 Author: Steve Kemp Date: Mon Apr 2 23:34:33 2007 +0000 2007-04-02 23:34:33 by steve Allow role arguments to be passed. commit afc2bf728c27318c23af929bd44d028a96fca36d Author: Radu Spineanu Date: Mon Apr 2 00:03:55 2007 +0000 2007-04-02 00:03:55 by radu Changelog updates for the 3.2 upload commit b1dd8c35c186962cca5254fcaeb58bc5ed588ea4 Author: Steve Kemp Date: Sun Apr 1 22:29:45 2007 +0000 2007-04-01 22:29:45 by steve 1. Allow trailing '.' in partial IP addresses. 2. DHCP overrides partial IP addresses when used upon the command line. commit e023a9f75a9d527d18497a46ae4fec14c85b980c Author: Steve Kemp Date: Sun Apr 1 12:33:11 2007 +0000 2007-04-01 12:33:11 by steve Updated tested modules. commit 9a53b36cf616f1f450e157147973a4b2e4a1b84b Author: Steve Kemp Date: Sun Apr 1 12:32:46 2007 +0000 2007-04-01 12:32:46 by steve Don't delete the logfile when deleting an image. commit bfc8459ea077690b8a0f0902d4bc3a7aa35a6cf4 Author: Steve Kemp Date: Sat Mar 31 20:30:29 2007 +0000 2007-03-31 20:30:29 by steve Mention Neil Wilson's Ubuntu fixup. commit f897184ffa927b0f9742939f9b1be5c361b1d714 Author: Steve Kemp Date: Sat Mar 31 20:29:38 2007 +0000 2007-03-31 20:29:38 by steve /bin/dash compatability fix. commit 6da69e4ab2b745e62dce376ec490d43293fe05cd Author: Steve Kemp Date: Tue Mar 20 20:49:59 2007 +0000 2007-03-20 20:49:57 by steve Updated for 3.2 release. Finally. commit 616e06b3dadd277ecedb805f867e1868f09a78bf Author: Steve Kemp Date: Mon Mar 19 22:16:20 2007 +0000 2007-03-19 22:16:20 by steve Skip the failing test file. (hook-tls.t) WTF is going on there?! commit fee9faf53940175ddc935f8ec23948574ef2b40c Author: Steve Kemp Date: Mon Mar 19 22:14:43 2007 +0000 2007-03-19 22:14:43 by steve Updated test to allow options with "-" in their name. (ie. --nfs-root + --nfs-server) commit cb86f0a967727245d82087184430879fd0483176 Author: Steve Kemp Date: Mon Mar 19 22:14:21 2007 +0000 2007-03-19 22:14:21 by steve Added option '--verbose' commit 514ad5a7a1cbf65ac5268b3c2e79cd938f3b1f80 Author: Steve Kemp Date: Mon Mar 19 22:10:54 2007 +0000 2007-03-19 22:10:54 by steve Deliberately don't run upon 64-bit hosts where this test makes no sense.. commit f637ee2f07582a850a4d548971d008b9e58b4b92 Author: Steve Kemp Date: Mon Mar 19 22:00:59 2007 +0000 2007-03-19 22:00:59 by steve Fixed even more broken formatting. Found by tests/no-tabs.t commit 7300c748b7018f751034c454474d5b64a1b80fc4 Author: Steve Kemp Date: Mon Mar 19 21:59:51 2007 +0000 2007-03-19 21:59:51 by steve Fixed bogus documentation markers. Found by tests/pod-check.t commit a2600beb1fc0ad933049713a499cee59cdb4e98d Author: Steve Kemp Date: Mon Mar 19 21:59:35 2007 +0000 2007-03-19 21:59:35 by steve Fixed syntax error in pod. Found via tests/pod-check.t commit 0b37d04c72bec5d49bafb7193c3923029af01c15 Author: Steve Kemp Date: Mon Mar 19 21:57:05 2007 +0000 2007-03-19 21:57:05 by steve Removed items from the TODO list which are now done. commit 9574fc52ecad3d6b149be114be190955d345427a Author: Steve Kemp Date: Mon Mar 19 21:44:34 2007 +0000 2007-03-19 21:44:34 by steve Since the --image-dev + --swap-dev options now exist #406212 may be closed when this version is released. commit b5f85f793354b624a9aeca677f78ddb27a85d8a7 Author: Steve Kemp Date: Mon Mar 19 21:42:31 2007 +0000 2007-03-19 21:42:31 by steve Added brief help section. TODO: Finish. commit d7dc0f9b32a924270c1a741509bc792d73c33079 Author: Steve Kemp Date: Mon Mar 19 16:12:51 2007 +0000 2007-03-19 16:12:51 by steve BUGFIX: Correctly call "chroot /blah yum update". commit 421eae96941735b5e2a0b9dd1ce70d461f81ec76 Author: Steve Kemp Date: Mon Mar 19 16:12:10 2007 +0000 2007-03-19 16:12:10 by steve BUGFIX: Correctly call chroot() when trying to clean the YUM repository. commit 989cccc3592a321f929927de6f48e1e1a14c70d4 Author: Steve Kemp Date: Mon Mar 19 14:01:54 2007 +0000 2007-03-19 14:01:53 by steve ip -> ip1 commit 0bad57a95930e1152b93da54f81c488d03d0be81 Author: Steve Kemp Date: Sun Mar 18 20:12:16 2007 +0000 2007-03-18 20:12:16 by steve Revert the broken formatting added by Walter, and make sure that our address-auto-completion works prior to display time. commit 153dd6221ff51b816de6d9d46794a7182ec09c6a Author: Steve Kemp Date: Sun Mar 18 20:03:49 2007 +0000 2007-03-18 20:03:47 by steve Applied patch from Walter Reiner for --image-dev + --swap-dev commit b81763688bf59e5801b8666b5132592eaf519183 Author: Steve Kemp Date: Thu Mar 15 21:48:11 2007 +0000 2007-03-15 21:48:11 by steve arch = amd64 not xen. commit 6d9e006957b2151d3e4520342c8569a0b10e56f5 Author: Steve Kemp Date: Thu Mar 15 15:09:16 2007 +0000 2007-03-15 15:09:16 by steve Added. commit a71930a154ffff10cda62b7c12935757fb9ba958 Author: Steve Kemp Date: Thu Mar 15 15:07:20 2007 +0000 2007-03-15 15:07:19 by steve Broadcast works. commit aeda5089a573711688646995ec1faf9cd812fd79 Author: Steve Kemp Date: Sun Mar 11 18:52:15 2007 +0000 2007-03-11 18:52:15 by steve Added completion for xen-create-nfs commit 9ee4f75110227b06204cec3451cb349c5f1c83ac Author: Steve Kemp Date: Sun Mar 11 17:36:22 2007 +0000 2007-03-11 17:36:22 by steve Minor update. commit dd6584afca64f649db3d2c5590e8106d2d035750 Author: Steve Kemp Date: Sun Mar 11 17:00:19 2007 +0000 2007-03-11 17:00:19 by steve Mention xen-create-nfs commit efa78104391629107384587664e57a7eb06cebec Author: Steve Kemp Date: Sun Mar 11 16:43:42 2007 +0000 2007-03-11 16:43:42 by steve Minor bugfix. commit ab484bf566936b791b31e284ba0bdbf41cf038cf Author: Steve Kemp Date: Sun Mar 11 16:37:42 2007 +0000 2007-03-11 16:37:41 by steve Added script to create new NFS-root instances. commit 6b03e45e96970aba7f46f4f9304ea1641ba62132 Author: Steve Kemp Date: Sun Mar 11 16:14:33 2007 +0000 2007-03-11 16:14:33 by steve Document the networking auto-configuration. commit b58c8892402486e6cf7f760b7337c00394932bef Author: Steve Kemp Date: Sun Mar 11 16:05:30 2007 +0000 2007-03-11 16:05:30 by steve + scary magic: If "ip=1.2.3.?" is specified in the configuration file then mangle our IP arguments into array form. This allows the auto-allocation to work as expected *both* from the command line, and the config file. commit 0565a278aec052ca68a6f5cef6af8ff3c7dfd3df Author: Steve Kemp Date: Sun Mar 11 15:40:58 2007 +0000 2007-03-11 15:40:58 by steve Allow last octet of each IP address to be dynamically determined. This allows : "--ip=192.168.1" to be specified and the last octet will automatically increment for each invokation. commit a41e116e88bef4b5b96ac2c909dd997cfed815e9 Author: Steve Kemp Date: Mon Mar 5 14:52:01 2007 +0000 2007-03-05 14:52:01 by steve BUGFIX: for image-server. commit 2c772ad9f6d65a8a682aefc6294da67891e85d3d Author: Steve Kemp Date: Thu Mar 1 10:17:50 2007 +0000 2007-03-01 10:17:50 by steve Commit the correct core. commit cbb439020e759ff9e790bf59bbeb5ef56e7da9a3 Author: Steve Kemp Date: Thu Mar 1 10:12:59 2007 +0000 2007-03-01 10:12:59 by steve Commited the tested installation-server install method. Non-public. Well public now, but non-advertised and also useless without the server implementation. :( commit 4883860ebc945dc993d5220bf0695abf9466c852 Author: Steve Kemp Date: Mon Feb 26 14:48:36 2007 +0000 2007-02-26 14:48:36 by steve link in new domains to /etc/xen/auto if that directory exists and --boot was specified. commit 5d78c814a66bcfeb74a170dbf841e3f122edd71c Author: Steve Kemp Date: Sun Feb 25 19:12:10 2007 +0000 2007-02-25 19:12:10 by steve Complete --keep commit 8df934ecfb3a35dedb624f306726cde4128c1051 Author: Steve Kemp Date: Sun Feb 25 19:11:39 2007 +0000 2007-02-25 19:11:39 by steve Add --keep. commit d4a33333d1e10c779b30d1e782d58650352eca5d Author: Steve Kemp Date: Sun Feb 25 19:11:03 2007 +0000 2007-02-25 19:11:03 by steve Minor updates to pass test case. commit b809b786f69cb48d8e0cd82c4b01f7e99db1e42a Author: Steve Kemp Date: Sun Feb 25 19:09:33 2007 +0000 2007-02-25 19:09:33 by steve Typo-fix. commit 02503c6b6c1fffc0bdf2abc2ecbda68d84d6088a Author: Steve Kemp Date: Sun Feb 25 19:07:48 2007 +0000 2007-02-25 19:07:47 by steve Rollback image creation upon failure. commit 5ba1eb00e92e5d3f301e33aded7f433fb50e7eb9 Author: Steve Kemp Date: Sun Feb 25 12:45:13 2007 +0000 2007-02-25 12:45:13 by steve --install-source=image-server has now got stub support. TODO: Finish. commit ca5fc8c978015cc638f14ff93982b43ddaa32439 Author: Steve Kemp Date: Fri Feb 23 23:52:05 2007 +0000 2007-02-23 23:52:05 by steve 1. Show what we're doing. 2. Be more robust. 3. Allow kernel + initrd image to be specified via the environment. commit 4cb8a43495476796f08a77be2b54ea280ec95864 Author: Steve Kemp Date: Fri Feb 23 22:46:22 2007 +0000 2007-02-23 22:46:22 by steve Updated to close a lot of bugs. commit dbcbf9b6b05662225dcc723fcec2f9e4d1a3edb8 Author: Steve Kemp Date: Fri Feb 23 22:46:15 2007 +0000 2007-02-23 22:46:15 by steve Install an example script to update the kernel and initrd image for both the xen-tools.conf file and any pre-existing xen domains. commit 07acbf83719fa027dc13b18d55ba82d18d7ffab1 Author: Steve Kemp Date: Fri Feb 23 22:45:17 2007 +0000 2007-02-23 22:45:17 by steve Removed redundent log line. commit 170e8296be189114144e83c2eca0b9eb65d69d7d Author: Steve Kemp Date: Fri Feb 23 22:07:13 2007 +0000 2007-02-23 22:07:13 by steve Updated comments. commit 0c5195fb95021be1af2b1a4eb42c2a16e25e9268 Author: Steve Kemp Date: Fri Feb 23 22:05:19 2007 +0000 2007-02-23 22:05:19 by steve Updated all routines so that each option is included, and listed alphabetically. commit 7520300fb8a504c4a81b0b0c991c698c9c59a464 Author: Steve Kemp Date: Fri Feb 23 21:58:34 2007 +0000 2007-02-23 21:58:34 by steve Updated modules we test for, now that we use File::Path commit bf8ae3c6c15e59b78f134714dadc72f8e5b134f9 Author: Steve Kemp Date: Fri Feb 23 21:58:20 2007 +0000 2007-02-23 21:58:20 by steve Updated year(s) in copyright sectoin. commit 497cd9d8828e43b4458c197fbfdb531f6de43ded Author: Steve Kemp Date: Fri Feb 23 21:58:12 2007 +0000 2007-02-23 21:58:12 by steve Updated comments. commit cd9d435d19271e130e73a631022f9616738557a5 Author: Steve Kemp Date: Fri Feb 23 21:56:27 2007 +0000 2007-02-23 21:56:27 by steve Use mkpath to create our directory for the images - since this will make the whole tree if any of it is missing. commit ce2def05010bd710d0efe4f5319ae77cffd6dcdf Author: Steve Kemp Date: Fri Feb 23 21:47:48 2007 +0000 2007-02-23 21:47:48 by steve Removed trailing whitespace. Made installation method test more readable. commit 1568ea76800198c0efb2f75f885e96f172cd7385 Author: Steve Kemp Date: Fri Feb 23 21:45:09 2007 +0000 2007-02-23 21:45:09 by steve Removed the mention of memory size, since we do display that nowadays. commit 61af4e050da810d164a843d142284dd50ab04ad2 Author: Steve Kemp Date: Fri Feb 23 21:42:20 2007 +0000 2007-02-23 21:42:20 by steve Typo fix: beneat -> beneath commit 7967e14de1962fb9f9a6418eca207397f3dab35e Author: Steve Kemp Date: Fri Feb 23 18:59:20 2007 +0000 2007-02-23 18:59:20 by steve Remove installation types, since these are no seperated nicely so that I can add my private image-server method. commit c17acf34fb40f1e93cc424f106440bd3b4f7b8bc Author: Steve Kemp Date: Fri Feb 23 18:58:26 2007 +0000 2007-02-23 18:58:26 by steve Update copyright year to 2007. commit 156df0874d4302770c6aeb81a3c9034a82133341 Author: Steve Kemp Date: Fri Feb 23 18:56:41 2007 +0000 2007-02-23 18:56:41 by steve Move to using a dispatch table for the installation types. commit 286e44e2df1b13a53f37b82396d5b85465fcd5f7 Author: Steve Kemp Date: Fri Feb 23 15:43:12 2007 +0000 2007-02-23 15:43:12 by steve Recommend the xen-shell - NOTE not in Sid yet... commit 692d0a2c24daa5d6c20c6c2fa20cdc93adc482fb Author: Steve Kemp Date: Fri Feb 23 15:42:50 2007 +0000 2007-02-23 15:42:50 by steve Updated. commit 1e49e77cbfad44ae22367227569c817924aa2c0c Author: Steve Kemp Date: Fri Feb 23 15:41:21 2007 +0000 2007-02-23 15:41:21 by steve Typo-fix on the installation source option - to allow test case to pass. commit 9cb33aa9b9295bc55d772b542356b1ca0742aa6e Author: Steve Kemp Date: Fri Feb 23 15:37:06 2007 +0000 2007-02-23 15:37:05 by steve Installation methods are now updated so that I can add in the image server method for use @Bytemark. commit 0687f4477d914028b56b96a6d4c184a3147e28ee Author: Steve Kemp Date: Fri Feb 23 13:35:29 2007 +0000 2007-02-23 13:35:29 by steve Setup sudoers file too. commit 5d50ab373f578dec283618ee5022764be01e3170 Author: Steve Kemp Date: Fri Feb 23 13:30:13 2007 +0000 2007-02-23 13:30:13 by steve Mention xen-shell commit eb3d6640aa4d0c863f9e3941bd1b94fa69493bf6 Author: Steve Kemp Date: Fri Feb 23 08:15:02 2007 +0000 2007-02-23 08:15:02 by steve Don't add/modify users if we're not root. Never touch the root user. commit 0b83bf0a5f4d12126ae76a20938535b2de290f33 Author: Steve Kemp Date: Thu Feb 22 19:42:49 2007 +0000 2007-02-22 19:42:49 by steve Correctly make --admins=foo,bar,baz work. commit a700941d06ea323daf775b7bf47e7c2fad1df948 Author: Steve Kemp Date: Thu Feb 22 19:39:04 2007 +0000 2007-02-22 19:39:02 by steve Added new command line flag --admins, which allows new users to be setup upon the host system with the xen-shell. commit 158515e726bc00d2aa921b99ca20f9f84584ee13 Author: Steve Kemp Date: Thu Feb 22 19:15:25 2007 +0000 2007-02-22 19:15:25 by steve Remove TAB literals. commit 5aebbc5c4fd97062f44b9f2ee22bf75010fab61a Author: Steve Kemp Date: Thu Feb 22 17:33:44 2007 +0000 2007-02-22 17:33:44 by steve Test commit to make sure the mailing list still works. commit b147a82bb27be1046c661aefe0517212585f5c63 Author: Steve Kemp Date: Tue Feb 6 20:38:22 2007 +0000 2007-02-06 20:38:21 by steve Patch from Uwe Hermann - add version info to generated xen .cfg files. (Also align stuff neatly.) commit ad63b1cd902c205e4d2c0c2798a9035c0f97d761 Author: Steve Kemp Date: Sun Jan 14 21:17:51 2007 +0000 2007-01-14 21:17:51 by steve Use $TMP not /tmp commit 2a8186d4dd691b730758f4e4ec5aa6bae8fb6648 Author: Steve Kemp Date: Sun Jan 7 02:59:35 2007 +0000 2007-01-07 02:59:35 by steve 1. Trivial documentation updates. 2. Correctly cope with detecting the filesystem creation commands. commit d806e0c2459d56cd6ae344b6ab7e8fb5619510df Author: Steve Kemp Date: Fri Jan 5 16:07:47 2007 +0000 2007-01-05 16:07:47 by steve Don't rely upon absolute paths which might differ amongst distributions. Instead try to find them dynamically and don't hardcode their locations. commit d6824655722eb45174b1275102b39671cea8d1bc Author: Steve Kemp Date: Fri Jan 5 14:05:44 2007 +0000 2007-01-05 14:05:44 by steve Felipe Scarel : Bugfix for --no-swap + LVM. commit 4ccddd12b00deae22089c7ca7425beb1f3c48011 Author: Steve Kemp Date: Tue Dec 26 22:27:25 2006 +0000 2006-12-26 22:27:25 by steve Simple test of hostname + /etc/hosts setup. commit fc88b30ea4ea6670fee0ef8e03468c23f04f8806 Author: Steve Kemp Date: Tue Dec 26 22:15:36 2006 +0000 2006-12-26 22:15:34 by steve Add stub /etc/hosts file for new instances which use DHCP. See #484683 commit a8705d4bd575d81666b9fd46761430938fd611ba Author: Steve Kemp Date: Tue Dec 26 15:43:41 2006 +0000 2006-12-26 15:43:41 by steve Make sure we use the correct dist in the security list. commit f600a779f83198dc5be8d79493c46566b26a0f95 Author: Steve Kemp Date: Tue Dec 26 01:33:00 2006 +0000 2006-12-26 01:33:00 by steve Added Joey Hess. commit 59506e1d2784a09e80516fe377ea4cd508534b5b Author: Steve Kemp Date: Tue Dec 26 00:55:58 2006 +0000 2006-12-26 00:55:56 by steve Release 3.1 commit 7a0ef68f69f789334b702205f3199637750de852 Author: Steve Kemp Date: Mon Dec 25 23:26:30 2006 +0000 2006-12-25 23:26:30 by steve Updated to show which bugs are closed. Nine! commit 51ef6b0908e83b3377c06eb5a6f06727c33b8f71 Author: Steve Kemp Date: Mon Dec 25 23:17:26 2006 +0000 2006-12-25 23:17:20 by steve Make sure that all groups exist. commit 02a5222b552b93745cbe0abc1ae9a8379bcc0fe7 Author: Steve Kemp Date: Mon Dec 25 23:13:10 2006 +0000 2006-12-25 23:13:09 by steve Fixed stupid typo. commit 52a4dca26ebb8822c9ae64f954dcde89fc64d4fa Author: Steve Kemp Date: Mon Dec 25 23:10:50 2006 +0000 2006-12-25 23:10:49 by steve Copy the group memberships too. commit 7fd127d79cfab67526dc4b0dd7f34ffcaf9b54ee Author: Steve Kemp Date: Mon Dec 25 22:56:44 2006 +0000 2006-12-25 22:56:44 by steve Updated to avoid trashing permissions on misc/CVS/ commit ba810412b98e7d86af4a3037bbd832133837ac76 Author: Steve Kemp Date: Mon Dec 25 22:46:57 2006 +0000 2006-12-25 22:46:56 by steve BUGFIX: Module installation now works correctly. D'oh. commit fdc25c74d54b5df1dc68db133d5688c28f3c3558 Author: Steve Kemp Date: Mon Dec 25 22:39:35 2006 +0000 2006-12-25 22:39:35 by steve Dont show the END message more than once. commit b973784e6e11b21e0b3a47fdb7be8d0b6f80db75 Author: Steve Kemp Date: Mon Dec 25 22:36:18 2006 +0000 2006-12-25 22:36:18 by steve Actually terminate early if we've got a populated /dev directory - rather than just reporting that we will terminate and not actually doing so. commit d7c814c7eb86a132a5bf41f221029952049ccf5f Author: Steve Kemp Date: Mon Dec 25 22:32:08 2006 +0000 2006-12-25 22:32:04 by steve apt-cache -> /usr/bin/apt-cache commit a4ae557e2a8179f6ec8fede4f20488a0c878fc4f Author: Steve Kemp Date: Mon Dec 25 22:21:53 2006 +0000 2006-12-25 22:21:52 by steve Updated to install a linux package if available. See #404508 commit f16bb6a1d8b178fe35fd354add97de39cf6f9e45 Author: Steve Kemp Date: Mon Dec 25 21:41:55 2006 +0000 2006-12-25 21:41:55 by steve s/logpring/logprint/g commit 3181b65876755f4c15e8c080bbf51b9f2882087b Author: Steve Kemp Date: Mon Dec 25 12:25:40 2006 +0000 2006-12-25 12:25:40 by steve Added new command line option "--no-hooks". commit 8390b940b68b5038126f7a09e342f55c5e7f8608 Author: Steve Kemp Date: Mon Dec 25 12:23:06 2006 +0000 2006-12-25 12:23:06 by steve Abort if the /etc/xen configuration file already exists. commit 3f15b13f7d01fe58c88d5ea798a4c850d4a3f6f5 Author: Steve Kemp Date: Mon Dec 25 12:18:12 2006 +0000 2006-12-25 12:18:12 by steve Abort if we cannot create loopback or LVM images. (Closes: #404455) commit ef042e1d94ba2dcd4ac30b84723845da1301d329 Author: Steve Kemp Date: Sun Dec 24 16:44:44 2006 +0000 2006-12-24 16:44:44 by steve Make sure we only print our "finished" message once. commit 12193d90c8f0f50ff590042dceeedc723b0ff0c8 Author: Steve Kemp Date: Sat Dec 23 23:22:28 2006 +0000 2006-12-23 23:22:27 by steve Add short hostname to /etc/host on dom0 too. commit 9508b56ca210fc929b1e4c066387ff9cff3e6033 Author: Radu Spineanu Date: Thu Dec 14 21:51:46 2006 +0000 2006-12-14 21:51:46 by radu debian package sync commit 1bb56be25b8310fca79be97adfbcebfedefac09d Author: Steve Kemp Date: Wed Dec 13 13:24:58 2006 +0000 2006-12-13 13:24:58 by steve Make start-stop-daemon changes work. See #402889 commit cf30f0ad4fb16b42c4c893eb8e389609fdd3262c Author: Steve Kemp Date: Wed Dec 13 11:20:31 2006 +0000 2006-12-13 11:20:31 by steve Changing the distribution to Etch was a bug - mark it closed. commit ab459974497aa3a8c226c31c79108d4c154312f2 Author: Steve Kemp Date: Wed Dec 13 11:17:42 2006 +0000 2006-12-13 11:17:42 by steve Added entry for 3.0 backport/release. commit 7b43da399becec58f88a85d4f7cd1c504bebc9d2 Author: Steve Kemp Date: Mon Dec 11 22:12:39 2006 +0000 2006-12-11 22:12:39 by steve Updated version number for 3.0 release. commit 17b6d1e4fe55563d7f5d2dc7e10e95630f11eb94 Author: Radu Spineanu Date: Mon Dec 11 12:53:16 2006 +0000 2006-12-11 12:53:15 by radu Fix lintian warnings commit cfba17a1b1b5daa555043ae4fcf95ea36c398e42 Author: Steve Kemp Date: Sun Dec 10 20:11:42 2006 +0000 2006-12-10 20:11:42 by steve Default distribution is now Etch. commit 5d556c458a942ea0e1d4411bd828b9dab6744622 Author: Steve Kemp Date: Sat Dec 9 19:52:28 2006 +0000 2006-12-09 19:52:28 by steve Added completion for --no-install option. commit 0cc11231cbaeeae69cd7561937863bafd830be3d Author: Steve Kemp Date: Sat Dec 9 17:51:27 2006 +0000 2006-12-09 17:51:27 by steve Allow "--no-install" to be specified to skip system installation. Loosely based upon patch from Henning Sprang. See: #402315 + #383057 commit 72d8eee4c97273b677e2c297b5f9c343235831ed Author: Steve Kemp Date: Sat Dec 9 17:37:27 2006 +0000 2006-12-09 17:37:27 by steve Abort if the file specified with --config doesn't exist. See #402328 commit 384e7a98fcc67034ad607ab5c0079f1c7f4efafe Author: Steve Kemp Date: Thu Dec 7 15:06:15 2006 +0000 2006-12-07 15:06:15 by steve Sync from sid. commit 75e6b7831876ec3352d351cb4bf65ef915770953 Author: Steve Kemp Date: Tue Dec 5 15:04:32 2006 +0000 2006-12-05 15:04:31 by steve kernel + initrd are no longer mandatory, and they will only be in the build xen configuration file if specified. commit 5438a2519aef1924915b2e5aa5e37cef7a0c8362 Author: Radu Spineanu Date: Sun Dec 3 12:16:45 2006 +0000 2006-12-03 12:16:44 by radu Fixed test errors. commit adfa670e92e9124ef3a8e3d54eee0626a835f684 Author: Steve Kemp Date: Sat Dec 2 15:30:12 2006 +0000 2006-12-02 15:30:12 by steve Radu's patch. commit 14fa7e2fb5c820b3fcafec2dcdff1bd4b9b94d74 Author: Steve Kemp Date: Fri Dec 1 12:57:55 2006 +0000 2006-12-01 12:57:55 by steve Don't ignore Mb/Gb on memory size. commit 4edb6bfbeafe58734c277fa8b889a06246021410 Author: Steve Kemp Date: Thu Nov 30 10:28:26 2006 +0000 2006-11-30 10:28:26 by steve Fixup permissions of hooks prior to install/release commit 3d6cbf9b5f4ff09670151848e19310c0bcebc48b Author: Steve Kemp Date: Thu Nov 30 09:29:43 2006 +0000 2006-11-30 09:29:43 by steve Fix syntax error. commit 1e819f422a3a600aecfe0c919c201b6e146e3f19 Author: Steve Kemp Date: Thu Nov 30 09:26:34 2006 +0000 2006-11-30 09:26:34 by steve Added. commit f5f0c74d752b227b427443d91624f54d7d00275a Author: Steve Kemp Date: Thu Nov 30 09:26:02 2006 +0000 2006-11-30 09:26:01 by steve Added to repository. commit 2de829f31e68947a156c901c323a162abc8f6c7a Author: Steve Kemp Date: Wed Nov 29 23:35:20 2006 +0000 2006-11-29 23:32:55 by steve Minor formatting updates. commit f2729f10538f0383344eefa8ed1a968e029a6781 Author: Steve Kemp Date: Wed Nov 29 23:29:48 2006 +0000 2006-11-29 23:29:48 by steve Minor comment updates commit c9287f664a049887147417d3f05fab13f34ff96f Author: Steve Kemp Date: Wed Nov 29 23:29:40 2006 +0000 2006-11-29 23:29:40 by steve Minor simplications to deleting disk images. commit 202925b0899c0945fd8397fddd813caf75e070e1 Author: Steve Kemp Date: Wed Nov 29 21:09:58 2006 +0000 2006-11-29 21:09:58 by steve Mention Neil Wilson. commit 37c78801ff589434867129f2e3a94b263b012e09 Author: Steve Kemp Date: Wed Nov 29 21:08:50 2006 +0000 2006-11-29 21:08:50 by steve Use the new start-stop-daemon code when installing packages. commit 13f407a400f49e7319b3078b959f053699e820a4 Author: Steve Kemp Date: Wed Nov 29 21:07:04 2006 +0000 2006-11-29 21:07:04 by steve Added disableStartStopDaemon + enableStartStopDaemon from Neil Wilson commit 3d8d88839fad0b1d33f1e91e2335e63e268b99a1 Author: Steve Kemp Date: Wed Nov 29 20:58:44 2006 +0000 2006-11-29 20:58:44 by steve Added TLS handling. commit ccfdf55ac3bc7d64cc754c97b76a37a6bcc8c4dd Author: Steve Kemp Date: Wed Nov 29 20:55:47 2006 +0000 2006-11-29 20:55:46 by steve s/10-generate-locale/25-generate-locale/g; commit bd9930b35d7ee506e11ad4e54591c16609c1be4e Author: Steve Kemp Date: Wed Nov 29 19:27:18 2006 +0000 2006-11-29 19:27:18 by steve Added --config argument + filename parsing to xt-install-image + xen-create-image commit dfd156098b54fc864db88bf8dee8e054530e5b24 Author: Steve Kemp Date: Wed Nov 29 19:25:52 2006 +0000 2006-11-29 19:25:52 by steve Complete --hostname=xxx for xen-delete-images commit a567bcfcf28c42c7a5585e87556d1b96db1ae240 Author: Steve Kemp Date: Wed Nov 29 19:18:07 2006 +0000 2006-11-29 19:18:07 by steve Propogate --config when invoking xt-install-image commit 2a4af9c053047dc2d7d7f58d297346af8a48550c Author: Steve Kemp Date: Wed Nov 29 19:17:55 2006 +0000 2006-11-29 19:17:55 by steve Add a --config option, just like in xen-create-image commit dbda003a407838a3f478c50b26bf78c40119d172 Author: Steve Kemp Date: Wed Nov 29 18:01:55 2006 +0000 2006-11-29 18:01:55 by steve skip dapper + edgy for this test. commit ffda7dcf21a4a3cb4b9a7c6e0ce58ef190c681fd Author: Steve Kemp Date: Wed Nov 29 17:35:41 2006 +0000 2006-11-29 17:35:40 by steve Don't run MAKEDEV if there appear to be files in /dev on the new systems. This is a potential speed gain. commit 93006ef80f0c9792585cd729a4a2c35833906579 Author: Steve Kemp Date: Wed Nov 29 11:57:47 2006 +0000 2006-11-29 11:57:46 by steve Fixed test to work with rename of initab -> disable-gettys commit 722a6127f88865630929429e55f47d6cf8b83351 Author: Steve Kemp Date: Wed Nov 29 11:53:02 2006 +0000 2006-11-29 11:52:55 by steve Moved ubuntu hooks into dapper.d/ + edgy.d/ commit 4c6a520411c4bd3d3a72c3f1b84a7a6e9d2f54d7 Author: Steve Kemp Date: Tue Nov 28 17:47:27 2006 +0000 2006-11-28 17:47:27 by steve Allow --config to override the global configuration file and the command line options. commit 7dacc33312a1d58674bc36da32261a2ff372cbb6 Author: Steve Kemp Date: Tue Nov 28 17:43:49 2006 +0000 2006-11-28 17:43:49 by steve 1. Allow "--hostname=a --hostname=b --hostname=c" or just " a b c" to delete three machines. (Or any mixture!) 2. Order option help alphabetically. commit 554235272e9fb36b8bc3bc7c8352d5b6d7c6b248 Author: Steve Kemp Date: Wed Nov 22 19:55:20 2006 +0000 2006-11-22 19:55:20 by steve Test for Text::Template if not executed with --force and terminate early. commit 21d008b18c2eca3ab1bccd23cdb7f92455bdce8c Author: Steve Kemp Date: Wed Nov 22 15:25:41 2006 +0000 2006-11-22 15:25:41 by steve Added updated changelog from sid. commit 56391d3f6f4ed6415edc269eddfa786c14f4b6d8 Author: Steve Kemp Date: Wed Nov 22 09:02:44 2006 +0000 2006-11-22 09:02:44 by steve Setup LOCALE if one isn't present prior to invoking all commands. See #399778 commit 6a31703ef6b8b275b1599d1b9fa7b9cf2a9cb076 Author: Steve Kemp Date: Wed Nov 22 08:59:11 2006 +0000 2006-11-22 08:59:11 by steve Document --mac in the manpage/POD. See #399708 commit 0d42b3e9e0e8d35d44d8fb6f0f7ead1ab522dce8 Author: Steve Kemp Date: Sun Nov 19 19:41:36 2006 +0000 2006-11-19 19:41:34 by steve Fixups for test cases. commit 2383f88d74d7411245dd626d41d1d69d38f4147d Author: Steve Kemp Date: Sun Nov 19 19:38:21 2006 +0000 2006-11-19 19:38:21 by steve Updated so that $LINENO is setup to have quotes around it. via #399153 commit cfac293c8f262d087c0e4f89e45e6443caa20d4d Author: Steve Kemp Date: Sun Nov 19 19:33:48 2006 +0000 2006-11-19 19:33:47 by steve Updated the copying of kernel modules. Patch by Neil Wilson. See #399196 commit a9e1cb7f8c2225503f0200d1e83914b0a76ebf1c Author: Steve Kemp Date: Sun Nov 19 19:32:30 2006 +0000 2006-11-19 19:32:30 by steve Updated to cope with upstart. Patch from Neil Wilson. See #399153 commit 95fca06a45a3f59016f0fd8855a9e08ff173414b Author: Steve Kemp Date: Sun Nov 19 19:31:09 2006 +0000 2006-11-19 19:31:07 by steve Move cfengine installation into a role-script. See #399152 commit 0aeea8306b378508dda675a777e934b2bf239259 Author: Steve Kemp Date: Wed Nov 15 14:33:43 2006 +0000 2006-11-15 14:33:43 by steve Don't test the TLS stuff on Debian since the results are undefined unless we mandate the use of a given distribution. (sid/etch/sarge/64/32/etc) commit 203adbb5ccfda17a26aa15999f37bb1ed028994b Author: Steve Kemp Date: Wed Nov 15 14:31:34 2006 +0000 2006-11-15 14:31:33 by steve Don't touch TLS if we're on a 64 bit host. See #397933 commit 1abc474dfc41b1868ac482d24a3236cad467b2c8 Author: Steve Kemp Date: Wed Nov 15 14:28:38 2006 +0000 2006-11-15 14:28:38 by steve Fetch libc6-xen from the configured apt source. See #397784 commit 72e43f8214ec8e29bbf206101b87a55f475fce38 Author: Steve Kemp Date: Wed Nov 15 14:25:50 2006 +0000 2006-11-15 14:25:50 by steve s/--untar/--tar/g. Via #398769 commit 8f0c5d14a9028cb09471533ed301846869178bc7 Author: Steve Kemp Date: Tue Oct 24 09:22:22 2006 +0000 2006-10-24 09:22:22 by steve Updated for v2.8 commit 89457c2bb9e0f477d6109b37a3fd06861ca71eb5 Author: Steve Kemp Date: Tue Oct 24 09:22:01 2006 +0000 2006-10-24 09:22:01 by steve Don't test the /lib/tls fix in ubuntu, since that was removed. commit f4e2ad9bd5c239d3dacad7ec6b007391d20ba5ac Author: Steve Kemp Date: Sun Oct 22 19:03:42 2006 +0000 2006-10-22 19:03:42 by steve Minor comment updates. commit 36a4c4521c8112d256849b433d62d2e434a088f0 Author: Steve Kemp Date: Sun Oct 22 18:13:39 2006 +0000 2006-10-22 18:13:39 by steve Sync with debian/ package contents. commit af66bb2149fd39286b0d4c22a91cc005e96c49cd Author: Steve Kemp Date: Sun Oct 22 18:10:48 2006 +0000 2006-10-22 18:10:48 by steve + 5. Install into dedicated partitions. commit cdf9d0a8a650c80307a99027b828ab2ac0ad1743 Author: Steve Kemp Date: Sun Oct 22 18:09:20 2006 +0000 2006-10-22 18:09:20 by steve Mention the Ubuntu improvements by Ward Vandewege commit 526a7a0a084011a1550dce5e50d04d3e367e7928 Author: Steve Kemp Date: Sun Oct 22 18:07:22 2006 +0000 2006-10-22 18:07:22 by steve Updated to remove the init script rather than remove permissions. commit c22ba8395c733510c1525b295d268f7d64830d58 Author: Steve Kemp Date: Sun Oct 22 18:06:30 2006 +0000 2006-10-22 18:06:30 by steve Added to repository; via Ward Vendewege commit 6e634282fb99cf6bfb7f34b2d272ae62a609a2f5 Author: Steve Kemp Date: Sun Oct 22 18:06:18 2006 +0000 2006-10-22 18:06:18 by steve Removed; apparently Ubuntu doesn't need a static /dev directory. commit b15c04ad658407dd6274888fafaf93526b3e9f9b Author: Steve Kemp Date: Sun Oct 22 18:04:20 2006 +0000 2006-10-22 18:04:20 by steve Removed from the repository; this file is no longer needed. commit 09373b4f5a572b6de8f773b5b18ff1d3694148ba Author: Steve Kemp Date: Thu Oct 19 17:10:31 2006 +0000 2006-10-19 17:10:31 by steve Added to repository. Test for portability issues which Eric Lemoine highlighted: [[ + ]] The function keyword commit 8f79f92a88a7a87f2b64ed9d84581ea84d12a4fa Author: Steve Kemp Date: Thu Oct 19 17:04:18 2006 +0000 2006-10-19 17:04:17 by steve Portability fixups for using a non-bash shell. Patches from Eric Lemoine. commit 3d316029348644edb268a887ab6217f0defe6749 Author: Steve Kemp Date: Sat Oct 14 17:04:40 2006 +0000 2006-10-14 17:04:40 by steve Updated the handling of /lib/tls to only disable it on Sarge installs. Use libc6-xen elsewhere if available. TODO: Fix ubuntu installation types. commit e4050d755877606e4513047f505adeea78c54930 Author: Radu Spineanu Date: Sat Oct 14 09:22:16 2006 +0000 2006-10-14 09:22:16 by radu The 'Why do I always screw up xen-tools's changelog entries?' 2.7 Debian Sync commit a23db14e9bd04d1e8da0d39cef21aef01a9bfc7b Author: Radu Spineanu Date: Sat Oct 14 09:19:19 2006 +0000 2006-10-14 09:19:19 by radu Test modificatin by Radu's account. commit 74a795d94b7a81bcc2188d511c281e38c4058b32 Author: Steve Kemp Date: Thu Oct 12 23:08:21 2006 +0000 2006-10-12 23:08:21 by steve Update version number for v2.7 release. commit dc288e3f42dd054e08155cc13883159c2d52e9fc Author: Steve Kemp Date: Thu Oct 12 23:06:43 2006 +0000 2006-10-12 23:06:43 by steve Updated formatting to allow "no-tabs.t" test to succeed. commit 4f557e2cd08461196e64ea892a189829aee0f13f Author: Steve Kemp Date: Thu Oct 12 23:02:35 2006 +0000 2006-10-12 23:02:35 by steve Updated argument testing to make sure that: --ip / --dhcp are mutually exclusive. --gateway + --netmask are used when --ip is given. commit 02ac065de61f78f93e34fee880043d8e2a1226c0 Author: Steve Kemp Date: Thu Oct 12 22:51:39 2006 +0000 2006-10-12 22:51:39 by steve Updated to latest Debian package: - uploader: skx + uploader: stigge commit 6f720b0fa7464d57b7b91beb5d76cfbe0004d164 Author: Steve Kemp Date: Thu Oct 12 22:50:55 2006 +0000 2006-10-12 22:50:55 by steve Sync with last Debian package. commit d236de9d98bc915b7b7dc65896fc4111f0324ed8 Author: Steve Kemp Date: Wed Oct 11 16:52:53 2006 +0000 2006-10-11 16:52:53 by steve Simply some of the argument testing logic. commit 01b3fbf43ca88f2c9c38cd48913e6058a569f4ba Author: Steve Kemp Date: Wed Oct 11 16:42:07 2006 +0000 2006-10-11 16:42:07 by steve Hide grep errors when files/scripts dont exist or don't work. (ie. things work when /etc/xen-tools/xen-tools.conf isn't present.) commit 0521563fe035217571e34903a526da80f82a9e34 Author: Steve Kemp Date: Wed Oct 11 16:40:55 2006 +0000 2006-10-11 16:40:54 by steve Applied patches from Ray Anthracite for evms support, with only minor changes. commit ae7fab4992b76f812caaa9eac9f6043ccea35918 Author: Steve Kemp Date: Sat Oct 7 08:38:02 2006 +0000 2006-10-07 08:38:02 by steve Attempt to unmount our temporary location along with any child mount-points which might have appeared during the installation process. See: #391501 commit aeb9d738a0f2da8b22a24928e225adc634739852 Author: Steve Kemp Date: Fri Sep 22 17:13:36 2006 +0000 2006-09-22 17:13:36 by steve Add support for edgy as a valid distribution. Change from: http://patches.ubuntu.com/x/xen-tools/xen-tools_2.1-4ubuntu2.patch commit 9c102bc9ca0d1bdee623643263b79758ea17bb7f Author: Steve Kemp Date: Mon Sep 11 16:14:37 2006 +0000 2006-09-11 16:14:37 by steve BUGFIX: vif=xxx, is broken - we only add the "," when using mac addresses commit b3d53f25ec018dff90fea3733a9645c6c2da8627 Author: Steve Kemp Date: Mon Sep 11 16:00:33 2006 +0000 2006-09-11 16:00:33 by steve Updated for 2.6-1 commit d114988f52306e7d8067e56d426d6d69ffb92602 Author: Steve Kemp Date: Mon Sep 11 15:57:57 2006 +0000 2006-09-11 15:57:57 by steve Updated versions for v2.6 release. commit 23a16f81fb6455106c9a728c73a31a41d629ca4e Author: Steve Kemp Date: Sun Sep 10 21:05:03 2006 +0000 2006-09-10 21:05:03 by steve --tar-cmd + --copy-cmd are *only* valid in the configuration file. commit 279d8e74daaa24af42579c4ea3d1af53a0305ca8 Author: Steve Kemp Date: Sun Sep 10 21:04:20 2006 +0000 2006-09-10 21:04:20 by steve Updated soley to allow tests to complete. commit de0754e17e77d57d4299f9817fbd5e307f6a35e4 Author: Steve Kemp Date: Sun Sep 10 20:51:56 2006 +0000 2006-09-10 20:51:55 by steve When using either --tar or --copy to install a new system allow that command to be specified in the configuration file. See: #385024. TODO: Completely free-form installation method?! commit 79eb1beb688920cbf6a352b2c325f3f74924c394 Author: Steve Kemp Date: Sun Sep 10 18:22:42 2006 +0000 2006-09-10 18:22:42 by steve Really use "--arch". commit 71f7b69dcc3096e98d42c86742f9e19a317e5da3 Author: Steve Kemp Date: Thu Aug 31 09:04:55 2006 +0000 2006-08-31 09:04:55 by steve Added hook, by Kirk Ismay, for automatically installing cfengine if it exists upon the host system. commit b1f7b597debc6c5f21150d6faa8a45ca0bb3ccbe Author: Steve Kemp Date: Sun Aug 27 21:46:04 2006 +0000 2006-08-27 21:46:04 by steve Don't complain about /etc/xen-tools/role.d commit 17856f3fb3341dcc1aab71cd4369b0920d41f86d Author: Steve Kemp Date: Sun Aug 27 21:40:41 2006 +0000 2006-08-27 21:40:41 by steve New release. commit ec093036860abaf7edcf4571e07093d398496aeb Author: Steve Kemp Date: Sun Aug 27 21:31:30 2006 +0000 2006-08-27 21:31:30 by steve v2.5 release. commit 05f5e1191e3293ec98596712746cb5bf3857632f Author: Steve Kemp Date: Sun Aug 27 21:30:26 2006 +0000 2006-08-27 21:30:26 by steve Documentation correction ---roledir -> --roledir. Allows tests/getopt.t to succeed. commit 5b51c61cc2d030fcdbf9af5b59aa1df6eee2f8a8 Author: Steve Kemp Date: Sun Aug 27 21:29:23 2006 +0000 2006-08-27 21:29:23 by steve Whitespace fixups - remove TAB characters. commit c23758eb8cc284ec64558562cb3e1ffbf49dee44 Author: Steve Kemp Date: Fri Aug 25 10:59:08 2006 +0000 2006-08-25 10:59:08 by steve BUGFIX: roledir was not being used due to typo. Role scripts now work. commit 4ddc86bb69064bd2687f6978c0f18b8dc5c29a14 Author: Steve Kemp Date: Fri Aug 25 10:54:25 2006 +0000 2006-08-25 10:54:25 by steve 1. Added new global function in our global functions file "removeDebianPackage". 2. Updated all role scripts to use the common function code instead of their own individual functions. commit 9c70c964730f4e6770371094b20d2616d70049db Author: Steve Kemp Date: Thu Aug 24 20:36:05 2006 +0000 2006-08-24 20:36:05 by steve Removed. commit 2ddccf430d4bb13bda56f490e7012042327d422e Author: Steve Kemp Date: Thu Aug 24 20:35:31 2006 +0000 2006-08-24 20:35:31 by steve Actually install the role scripts to the role.d commit 7107b31e694a92135c6dd0ad15be661aee8823a2 Author: Steve Kemp Date: Thu Aug 24 20:33:10 2006 +0000 2006-08-24 20:33:07 by steve Updated such that role scripts all live in one directory, regardless of the distribution to which they are meant to be applied. This role directory can be specified with "--roledir", or via the configuration file setting "roledir=/path/to/dir". See the following bug for rationale: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=383822 commit 4ead9ffa099d3b8d76e6134d81bb6d5029472ad4 Author: Steve Kemp Date: Thu Aug 24 16:26:36 2006 +0000 2006-08-24 16:26:36 by steve BUGFIX: noswap is not initialised any more, to allow the hook scripts to work as expected. commit e0ce9be7d13f6b014727813fecce81dae646286c Author: Steve Kemp Date: Thu Aug 24 12:43:06 2006 +0000 2006-08-24 12:43:06 by steve Applied patch from Eric Lemoine to perform better binary detection for /bin/dd, rpmstrap, cp, debootstrap, etc. commit 2ef5887fec75d9472189e97e76c82199a29dab57 Author: Steve Kemp Date: Tue Aug 22 20:06:42 2006 +0000 2006-08-22 20:06:42 by steve v2.4 release. commit 708a85a5b37937b1b720ace3c4bd9e47582bb584 Author: Steve Kemp Date: Sun Aug 20 09:21:11 2006 +0000 2006-08-20 09:21:11 by steve Added "watch" file for use by "uscan". commit efa5b71b1db748c1a0355e37cfd6f2c657d21392 Author: Steve Kemp Date: Sun Aug 20 01:36:54 2006 +0000 2006-08-20 01:36:54 by steve Fixed broken pod, to allow test cases to succeed. commit a8ae3c31ace877b39678e50761634e95d0015576 Author: Steve Kemp Date: Sun Aug 20 01:24:16 2006 +0000 2006-08-20 01:24:16 by steve 1. Whitespace fixups. 2. Show MAC address, if present. commit b30c4daa64daab910298d64338ab3e3e26f058f5 Author: Steve Kemp Date: Sun Aug 20 01:19:56 2006 +0000 2006-08-20 01:19:56 by steve Whitespace fixups. commit 905614a34d94b7194864b23cf30d6b2dafce6183 Author: Steve Kemp Date: Sun Aug 20 01:15:25 2006 +0000 2006-08-20 01:15:25 by steve Whitespace fixups, and minor comment updates. commit 27627f12a0b9ce4c3e7a6f64501d203945380c53 Author: Steve Kemp Date: Sun Aug 20 01:04:58 2006 +0000 2006-08-20 01:04:58 by steve 1. Remove "manpages-html" target, it was broken and not used anyway. 2. Mention GPG signature creation in the "dist" target. commit 1be76652ab9d69a7f612cd8e9bf6972252e17dd1 Author: Steve Kemp Date: Sat Aug 19 17:10:28 2006 +0000 2006-08-19 17:10:28 by steve Added 'noswap' and 'arch' to the default options. Updated description of debootstrap/rpmstrap/tar/copy. commit 6c484814f3383ba2aa2838e366596c00f85d89d1 Author: Steve Kemp Date: Sat Aug 19 17:06:25 2006 +0000 2006-08-19 17:06:25 by steve Make the list truly alphabetical by surname, as we claim it is. commit 52c56b1ab43ce2eaa8f037433f5d2fae36837669 Author: Steve Kemp Date: Sat Aug 19 17:05:37 2006 +0000 2006-08-19 17:05:37 by steve Minor update wrt. Debian BTS commit 1a714f068408d0efe984ee018412a3a13674b715 Author: Steve Kemp Date: Sat Aug 19 17:04:09 2006 +0000 2006-08-19 17:04:09 by steve Minor word tweaks commit 73f7b4df7d5f3f5575f2b0723107c48283761087 Author: Steve Kemp Date: Sat Aug 19 13:52:26 2006 +0000 2006-08-19 13:52:26 by steve feature complete for the next release. Just waiting on the current version of xen-tools to enter testing, then it will be made. Almost certainly tuesday. commit 52d45342effa22d545816292684a467c2c5f15b3 Author: Steve Kemp Date: Sat Aug 19 13:40:58 2006 +0000 2006-08-19 13:40:58 by steve Bash completion for the --mac argument. commit 0110af1aae0d63b1298cf582c57b48717241d9dc Author: Steve Kemp Date: Sat Aug 19 13:40:17 2006 +0000 2006-08-19 13:40:16 by steve Allow MAC address to be specified for the initial network interface. commit 1e97bdf024483578a01d9679007106bea42ed49d Author: Steve Kemp Date: Sat Aug 19 08:20:10 2006 +0000 2006-08-19 08:20:10 by steve Improved manpage for xt-create-xen-config commit d8a671ba6eeb04d927061238a866bb0d1e3c3565 Author: Steve Kemp Date: Sat Aug 19 08:19:27 2006 +0000 2006-08-19 08:19:27 by steve Added documentation on argument passing. commit 7924c1d00a8a9ebfdc91c9f49e3203a425dd9185 Author: Steve Kemp Date: Sat Aug 19 07:54:39 2006 +0000 2006-08-19 07:54:39 by steve Don't complain if there is no LVM swap file. Delete logfile if present. commit 60bb04328262a8cee85e7001c6f0de5cdbe0a71f Author: Steve Kemp Date: Sat Aug 19 07:46:41 2006 +0000 2006-08-19 07:46:41 by steve When no initrd is being used the xm.tmpl file shouldn't insert a ramdisk. Closes: 383703 Patch from Henning Sprang commit d27df261816b6ae006d444dc0725bd81912832b6 Author: Steve Kemp Date: Fri Aug 18 15:08:24 2006 +0000 2006-08-18 15:08:24 by steve 1. Copy "resolv.conf" before running apt-get update / yum update. Without this DNS is probably not available/working. 2. Copy /etc/sudoers from the host, if we're installing sudo. commit 4890ba9c97d9251f4e800a353c40140aee7026c8 Author: Steve Kemp Date: Fri Aug 18 13:16:55 2006 +0000 2006-08-18 13:16:55 by steve Use hostname when installing system. commit e20a1ecd4c4cd60a2bf7e47fddd36154187f1a3b Author: Steve Kemp Date: Fri Aug 18 13:14:14 2006 +0000 2006-08-18 13:14:14 by steve Reset logfile at startup time. commit 94c29a35c87fdc0148ebad6f2a37925ab27ecc21 Author: Steve Kemp Date: Fri Aug 18 13:11:48 2006 +0000 2006-08-18 13:11:48 by steve More logging. commit ff57505e0a79a6e1641547d38792c8a323017f74 Author: Steve Kemp Date: Fri Aug 18 13:10:37 2006 +0000 2006-08-18 13:10:37 by steve More logging fixups. commit e09ca7d528bbf5a2066900b49885b5e85ae52fb7 Author: Steve Kemp Date: Fri Aug 18 13:09:24 2006 +0000 2006-08-18 13:09:24 by steve Logging to /var/log/xen-tools. commit 003fe1011e4b3212c86436dce4cdbf3bd93c24ed Author: Steve Kemp Date: Fri Aug 18 12:07:46 2006 +0000 2006-08-18 12:07:46 by steve Minor update. commit da6d1cbe1882ba8bc40b7286c10da268531889b1 Author: Steve Kemp Date: Fri Aug 18 08:59:48 2006 +0000 2006-08-18 08:59:48 by steve --fs handling is correct. --noswap will produce a xen configuration file without the swap volume. commit b04f9c56b9828e8966cc388e2f55daff01130e9e Author: Steve Kemp Date: Fri Aug 18 08:58:41 2006 +0000 2006-08-18 08:58:41 by steve File given as --template argument must exist. commit 13be00930862e92d8781e47a0eace3cf00d8df0a Author: Steve Kemp Date: Fri Aug 18 08:57:49 2006 +0000 2006-08-18 08:57:49 by steve Updated changelog for pending upload. commit fb82d8faf070e14af3528cabf7c41db65188c923 Author: Steve Kemp Date: Fri Aug 18 08:57:42 2006 +0000 2006-08-18 08:57:42 by steve Switched Radu and I. commit 88498e95ee451ff0c5616dcc00841bb12787410c Author: Steve Kemp Date: Fri Aug 18 08:57:28 2006 +0000 2006-08-18 08:57:28 by steve Don't use --keep-debootstrap-dir. It isn't available in Debian Sarge's debootstrap versoin. commit 80bf100599d6b70282247e2676c0a99ec066235d Author: Steve Kemp Date: Thu Aug 17 21:01:46 2006 +0000 2006-08-17 21:01:46 by steve Updated. commit 4bf7527c773876c5fdeee26f9b61e49989b2a66c Author: Steve Kemp Date: Thu Aug 17 21:00:47 2006 +0000 2006-08-17 21:00:47 by steve Update for tests. commit 7a7d1c6b0090bd381e1a2a9e2852713dc25eb6f9 Author: Steve Kemp Date: Thu Aug 17 20:26:23 2006 +0000 2006-08-17 20:26:23 by steve BUGFIX: Only care about template files which exist. commit 5cbd4c1714135fc543ea2d99ae9c66fc78dc970e Author: Steve Kemp Date: Thu Aug 17 20:24:15 2006 +0000 2006-08-17 20:24:15 by steve BUGFIX: We don't need '{' or '}' around our devices any more. commit d58678b7341fd6278b515a9383871fa1825a2877 Author: Steve Kemp Date: Thu Aug 17 20:20:47 2006 +0000 2006-08-17 20:20:47 by steve BUGFIX: Fixed syntax error in default xm template file. commit e683eb887993c087626cc3862bd657171126e275 Author: Steve Kemp Date: Thu Aug 17 20:14:48 2006 +0000 2006-08-17 20:14:48 by steve A missing template is an error. commit bc5562d457571a123e9668a5a1fbd98656ecfc36 Author: Steve Kemp Date: Thu Aug 17 20:07:05 2006 +0000 2006-08-17 20:07:05 by steve BUGFIX: Don't run mkswap when no swap LVM is created. commit e7c0380f81050f5292cd9c29e2819121f2c31b42 Author: Steve Kemp Date: Thu Aug 17 19:55:47 2006 +0000 2006-08-17 19:55:47 by steve When --noswap is used the xen configuration file shouldn't have a "swap disk" added. commit d1580ade2f6019037d7d46d34a36105cf297343e Author: Steve Kemp Date: Thu Aug 17 19:52:14 2006 +0000 2006-08-17 19:52:14 by steve Don't create LVM swap volume if it isn't to be used. (--noswap). commit d4bace979b3357db82f76cc60e31a34b36e1e392 Author: Steve Kemp Date: Thu Aug 17 12:32:19 2006 +0000 2006-08-17 12:32:19 by steve Fixed test to work now that we no longer modify our terminal types to force them into "console" instead of "tty1" commit 59eaa22a4b4886f78552bab86a9c4ac8da39f4ca Author: Steve Kemp Date: Thu Aug 17 12:30:16 2006 +0000 2006-08-17 12:30:11 by steve Avoid changing console types to "console" so that job control remains available. commit efd53b493d4dfda7067f7116203bdc7ee8cb2785 Author: Steve Kemp Date: Thu Aug 17 10:16:46 2006 +0000 2006-08-17 10:16:46 by steve BUGFIX: from Eric Lemoine '--fs=xx' now works as expected. commit 5595eea414fd2bf7c1706af912962f33372b3395 Author: Steve Kemp Date: Thu Aug 17 08:41:32 2006 +0000 2006-08-17 08:41:32 by steve Avoid word wrapping in the --help output. commit c6e9b230d56bae523edae40321ba9c0cfa5b3461 Author: Steve Kemp Date: Wed Aug 16 09:42:44 2006 +0000 2006-08-16 09:42:44 by steve Updated release to 2.3 for new release. commit d8ba5f0877014be42c9ef9dccbcb6b668c5d4484 Author: Steve Kemp Date: Wed Aug 16 09:40:46 2006 +0000 2006-08-16 09:40:46 by steve Test the environment *after* parsing command line. commit f3b34e5ff6534c32343ae65049468c6f68d9d3c8 Author: Steve Kemp Date: Tue Aug 15 21:34:49 2006 +0000 2006-08-15 21:34:49 by steve Added command line processing for "noswap" - found by tests/getopt.t commit 113682b08f8734fa8722c1612de45694a779f171 Author: Steve Kemp Date: Tue Aug 15 21:30:57 2006 +0000 2006-08-15 21:30:57 by steve Updated thinko: $ARCH -> $EXTRA commit 7e3919688b1d9deaefece97d865c394edf9827cc Author: Steve Kemp Date: Tue Aug 15 21:30:07 2006 +0000 2006-08-15 21:30:07 by steve Updated pod so that tests/pod-check.t succeeds. Sigh. commit 9e5068c8f2e20bbcee548c3f669c10d47659bfa4 Author: Steve Kemp Date: Tue Aug 15 21:17:28 2006 +0000 2006-08-15 21:17:28 by steve Allow the --arch setting to be propogated to either debootstrap or rpmstrap. See: #383041 commit 10ad73303cfda6958be69c1c28d38139edeca058 Author: Steve Kemp Date: Tue Aug 15 21:11:32 2006 +0000 2006-08-15 21:11:31 by steve Allow command line to override the installation method, or type. This means resetting any other mutually exclusive options. This applies only to: --dir + --lvm --rpmstrap + --debootstrap + --copy + --tar. commit 6e039755ad6e2d4bc844412a069fdaf6128e4134 Author: Steve Kemp Date: Tue Aug 15 18:53:11 2006 +0000 2006-08-15 18:53:11 by steve Added new entry commit cffd5a54cc8437de734ad1b80b8a4e03c76b8a58 Author: Steve Kemp Date: Tue Aug 15 18:43:37 2006 +0000 2006-08-15 18:43:37 by steve - --debug + --noswap commit 6f76037e7e8640b8befae8227f25b5f812d87cee Author: Steve Kemp Date: Tue Aug 15 18:14:10 2006 +0000 2006-08-15 18:14:10 by steve Update so that this script mentions the new upstream release. Granted that hasn't happened yet, but with this many bugs/suggestions by the time I've gone through the list it will be a new release upstream. commit f80b518ef932ae5ccc4b6d95aae5368111bb35f4 Author: Steve Kemp Date: Tue Aug 15 18:13:31 2006 +0000 2006-08-15 18:13:31 by steve Don't run the testsuite at package-build time. Thought I'd done this already? commit acb2f1b1df42b109f9fca6bc018d4da8f5d54b34 Author: Steve Kemp Date: Tue Aug 15 18:11:33 2006 +0000 2006-08-15 18:11:33 by steve 1. Mount /proc with nodev, nosuid, noexec just to be paranoid. 2. Fix syntax srror in script. D'oh. commit f73098bab599bfb85c9957d7b80b8a19d757c706 Author: Steve Kemp Date: Tue Aug 15 18:04:14 2006 +0000 2006-08-15 18:04:14 by steve Significantly reworked the documentation for the options. See: #383032 commit 86549ab919112a2eb897ce270fc8b63fa88ac7aa Author: Steve Kemp Date: Tue Aug 15 17:34:23 2006 +0000 2006-08-15 17:34:23 by steve Added better debootstrap error detection and display. commit 0ef7fad954a4463e752373699ecdb7e1314116bd Author: Steve Kemp Date: Tue Aug 15 09:23:34 2006 +0000 2006-08-15 09:23:34 by steve Added #383058 / --noswap. commit 4ccacd18f6ec52689b00ee7a95f26d3cb83d7a5d Author: Steve Kemp Date: Tue Aug 15 09:21:05 2006 +0000 2006-08-15 09:21:05 by steve Mention Tamas, Gergely for his --initrd fixup commit 3e1e2d123bb5362a0231c50733be963145f7c222 Author: Steve Kemp Date: Tue Aug 15 09:19:25 2006 +0000 2006-08-15 09:19:24 by steve Added "--noswap" option. See: #383058 commit 843f2a54a80e870556439e7aec67b9e436cb2a70 Author: Steve Kemp Date: Tue Aug 15 09:12:03 2006 +0000 2006-08-15 09:12:03 by steve initrd path is optional. commit 501885b51d73fa63d73f8f123a0515ebfc735b78 Author: Steve Kemp Date: Mon Aug 14 21:36:28 2006 +0000 2006-08-14 21:36:28 by steve Updated. commit 6a97687923af5302827abe259e0f415eaccf1e25 Author: Steve Kemp Date: Mon Aug 14 21:03:46 2006 +0000 2006-08-14 21:03:46 by steve Added work-in-progress updates. commit 9286f858f3ea458216ddc26c3f28379809537b9a Author: Steve Kemp Date: Mon Aug 14 21:00:59 2006 +0000 2006-08-14 21:00:59 by steve Add support for --template. See: #383036 commit 8701a504751a8c792e057fe8fab9a48309ead682 Author: Steve Kemp Date: Mon Aug 14 20:55:29 2006 +0000 2006-08-14 20:55:29 by steve Don't show the documentation for internal functions in the --manual or manpage. See: #383032 Solution from here: http://www.perlmonks.org/?node_id=567327 commit e11f684f12efcc5e1cc7c33aad8ae258c631ed1c Author: Steve Kemp Date: Sat Aug 12 23:17:38 2006 +0000 2006-08-12 23:17:38 by steve Removed "pointtopoint" this is complete. commit 6314c2a1334c8e88f7f18604789f29fdb3fa1bf7 Author: Steve Kemp Date: Thu Aug 3 15:12:26 2006 +0000 2006-08-03 15:12:25 by steve 1. Setup a HTTP proxy for apt on the guests if present on the host. 2. Make the ubuntu script identical to the debian one. commit b7703a5b31340de4032b5f91394fafae28b286f9 Author: Steve Kemp Date: Tue Jul 25 15:54:22 2006 +0000 2006-07-25 15:54:22 by steve Added missing changelog entry commit 45e322c3a0bfda84e1e6ed6795d2dffd102ed5b3 Author: Steve Kemp Date: Tue Jul 25 15:49:52 2006 +0000 2006-07-25 15:49:52 by steve Patched to fix bug #379347. Radu, I'll let you handle an upload. commit 3c97c8693a01598e679a7eed456b2a61d4adb504 Author: Steve Kemp Date: Sun Jul 23 00:56:29 2006 +0000 2006-07-23 00:56:29 by steve Make sure we have an installation method specified: #379347 commit 5be29098be8608ab128cf2e8a877c15d48d27203 Author: Steve Kemp Date: Sun Jul 23 00:51:48 2006 +0000 2006-07-23 00:51:48 by steve Updated documentation only. commit c8088602590b8f68f84cc9b9ec133628ad2d5aef Author: Steve Kemp Date: Sat Jul 22 16:04:09 2006 +0000 2006-07-22 16:04:09 by steve Updated changelog per new release. commit 054bc3dee13c3b255685dbf274eeac9ff59fb72f Author: Steve Kemp Date: Fri Jul 21 20:17:41 2006 +0000 2006-07-21 20:17:40 by steve 2.2 release. (Pending) commit 2965c62978cb10e54a2984eebf8825d748edacc0 Author: Steve Kemp Date: Fri Jul 21 20:17:18 2006 +0000 2006-07-21 20:17:18 by steve Updated changelog in advance of 2.2 release. commit 16d71a6ebffaf01bbcef202769d500f883d42b26 Author: Steve Kemp Date: Fri Jul 21 20:14:30 2006 +0000 2006-07-21 20:14:30 by steve --force will work for xfs filesystem types. Closes: #377684 commit 3a627f0c30541d4f6b4b1ea63308f798f0eb2862 Author: Steve Kemp Date: Fri Jul 21 20:09:46 2006 +0000 2006-07-21 20:09:45 by steve Copy /etc/timezone into guest systems running Debina/Ubuntu. Closes: #376846 commit acf1d59116dcd2ae33c606f56d6cbb1ad4e0e39f Author: Steve Kemp Date: Fri Jul 21 20:06:51 2006 +0000 2006-07-21 20:06:51 by steve Use "defaults" when mounting reiserfs - closes: #379023 commit 59070ac212d6040e5903b3ea1b17058cee148484 Author: Steve Kemp Date: Fri Jul 21 20:06:08 2006 +0000 2006-07-21 20:06:08 by steve Use "defaults" when mounting reiserfs. Closes: #379023 commit 54b29da3a51e381b217a3d509e980b54fce4d482 Author: Steve Kemp Date: Thu Jul 13 20:11:40 2006 +0000 2006-07-13 20:11:40 by steve Credit Sven. commit 81afd9b7cb740dbb936651fa5499a927c784ad5e Author: Steve Kemp Date: Thu Jul 13 20:10:40 2006 +0000 2006-07-13 20:10:40 by steve Apply patch from Sven Hartge, to fix Debian package installation. commit e7730fd4834cab140a23bf5b6e0bdb9a12e02d5c Author: Steve Kemp Date: Wed Jul 12 14:44:33 2006 +0000 2006-07-12 14:44:33 by steve Bet extra-strict about perl syntax. commit 7d3bd8633d3aee9c7777162d69bd81485cc80acb Author: Steve Kemp Date: Fri Jun 30 10:09:56 2006 +0000 2006-06-30 10:09:56 by steve Bytemark: Add point-to-point setting. commit c1c3f8900c140ec6c4b378fd04cfd2f67d78297b Author: Steve Kemp Date: Thu Jun 29 15:35:40 2006 +0000 2006-06-29 15:35:40 by steve Show warning if the loopback module isn't loaded if the user is running with Loopback images. commit fe7a419443fadd212441a7f0853b4be243671faa Author: Steve Kemp Date: Thu Jun 29 15:31:21 2006 +0000 2006-06-29 15:31:21 by steve Test that our companion scripts are present. commit a2ac251e8cc0a73ba06c7f52366ad99f246f61e3 Author: Steve Kemp Date: Thu Jun 29 15:09:22 2006 +0000 2006-06-29 15:09:22 by steve Make the sd? devices, per suggestion from --elijah commit b28161a49736297b9a1042ae7ab9286efcba62f8 Author: Steve Kemp Date: Thu Jun 29 13:28:11 2006 +0000 2006-06-29 13:28:11 by steve Bytemark: Display p2p in summary commit 51881e8885631d1dc547cbd8c0362f6069e7987e Author: Steve Kemp Date: Thu Jun 29 13:24:53 2006 +0000 2006-06-29 13:24:51 by steve Bytemark: Add a point to point setting. commit be939aa7144978cc24be4b341d1eff01d135272a Author: Steve Kemp Date: Thu Jun 29 09:33:47 2006 +0000 2006-06-29 09:33:47 by steve Snapshot release to avoid FTBFS bug, and hence allow package into testing. commit 5be1ef457dfa0f3c82b272865467566b6046d82e Author: Steve Kemp Date: Tue Jun 27 13:49:35 2006 +0000 2006-06-27 13:49:35 by steve Updated. commit 904a0a8ca31550e92b1089766a0568688860c56a Author: Steve Kemp Date: Tue Jun 27 10:27:35 2006 +0000 2006-06-27 10:27:35 by steve Mention where to get Text::Template for non Debian people. commit 8ee135712530e804d34717a8bc75d948e02ee1ed Author: Steve Kemp Date: Mon Jun 26 10:13:21 2006 +0000 2006-06-26 10:13:21 by steve Fix the broken link to the Debian bug tracker. commit 07aa88b09da0c19f2e7c15603b954ff586aff0be Author: Steve Kemp Date: Mon Jun 26 10:12:38 2006 +0000 2006-06-26 10:12:38 by steve We don't need to complete IP addresses for invoking `xt-install-image`. commit 577b41088e3fb977c42a2430c89f97c87e9c7c05 Author: Steve Kemp Date: Mon Jun 26 10:06:52 2006 +0000 2006-06-26 10:06:52 by steve Minor comment cleanups. commit 620efc6b48942d57a83355df486894be3b0c1fd7 Author: Steve Kemp Date: Sun Jun 25 20:37:38 2006 +0000 2006-06-25 20:37:38 by steve Updated comments. Do *not* setup a default installation method. commit 02b8d65d1488fff82dba3b9cf0a60fb10835402f Author: Steve Kemp Date: Sun Jun 25 20:20:40 2006 +0000 2006-06-25 20:20:40 by steve BUGFIX: D'oh - rpmstrap was completely unimplemented commit 1e6380cba72e2563c769b4f1b6fc0b5be6d70580 Author: Steve Kemp Date: Sun Jun 25 20:17:40 2006 +0000 2006-06-25 20:17:39 by steve Hack: Force fedora-core4 to install the distro rpmstrap knows as 'stentz' commit e4438599b0d51e7bdf2655fe4bee15e20721a01b Author: Steve Kemp Date: Sun Jun 25 20:05:47 2006 +0000 2006-06-25 20:05:47 by steve Added minimal files to customise fedora core 4 commit c9d2ce03adb96f42bd86e8ca93276ae378fe3a16 Author: Steve Kemp Date: Sun Jun 25 20:02:33 2006 +0000 2006-06-25 20:02:33 by steve Updated the tests to read the list of distributions we support by searching for directories beneath hooks/ rather than having a set list. This is in preference to updating them to include fedora now, and more in the future .. commit 45615267198bab6ce284aaf8605f9c46eb3e9cc3 Author: Steve Kemp Date: Sun Jun 25 19:55:56 2006 +0000 2006-06-25 19:55:56 by steve Added Fedora role.d commit dd9c5759f2e4f9a0f9d3479196e0f31fe6e0cc4f Author: Steve Kemp Date: Sun Jun 25 19:55:16 2006 +0000 2006-06-25 19:55:16 by steve Stub support for Fedora Core 4. commit d9df08c5f4a1d532757129e13f0ad584fe01665f Author: Steve Kemp Date: Sun Jun 25 17:39:54 2006 +0000 2006-06-25 17:39:54 by steve More spell-checking fixes, found via "pod2txt" + "ispell". :) commit f86cde729e2b3132d4fc7ef638f3750050a37cca Author: Steve Kemp Date: Sun Jun 25 17:29:53 2006 +0000 2006-06-25 17:29:52 by steve Fix a couple of typos, see Debian bug #375382. commit 0c9594abefb460e3e735208a70cdfd5fe3e5e7ab Author: Steve Kemp Date: Sun Jun 25 08:57:02 2006 +0000 2006-06-25 08:57:02 by steve Remove xt-* on uninstall. commit 45144ab05b42d34720589eb82ddd9db9c52d35bc Author: Steve Kemp Date: Sat Jun 24 22:18:37 2006 +0000 2006-06-24 22:18:37 by steve Only read the configuration file if it exists. See Debian bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=375267 commit c51de7825e20ed6f3c09de738cd2bf10ddb7858b Author: Steve Kemp Date: Sat Jun 24 20:22:41 2006 +0000 2006-06-24 20:22:40 by steve Use the `prove` command to run our tests, this allows them to be shuffled, or randomised, which is a good thing. commit d43d01cb4a4df16198bac2e6b7024bb690dd536e Author: Steve Kemp Date: Sat Jun 24 20:19:17 2006 +0000 2006-06-24 20:19:17 by steve Test hooks are executable commit 07c024a3501ecdce10c52a2c7786ab69e9de504e Author: Steve Kemp Date: Sat Jun 24 20:18:27 2006 +0000 2006-06-24 20:18:27 by steve Add gentoo + ubuntu to the tests. commit 49baddb5160b6f8f6ec7ef8d9f4183ef1ace8007 Author: Steve Kemp Date: Sat Jun 24 20:17:09 2006 +0000 2006-06-24 20:17:09 by steve Added ubuntu + gentoo to the testing. commit d76738ad7d963b75af6c4d3023dc83b6469d5d69 Author: Steve Kemp Date: Sat Jun 24 14:23:33 2006 +0000 2006-06-24 14:23:33 by steve Minor formatting changes to the output of "running role command : foo". commit f1b46466d4f0fa06eaf34ad890c79d6d5e5144f9 Author: Steve Kemp Date: Fri Jun 23 19:08:46 2006 +0000 2006-06-23 19:08:45 by steve Fixed so that shadow copying works. commit 31d8958b96f4e97d62abc6477ab6bbdc35f4d828 Author: Steve Kemp Date: Fri Jun 23 18:48:16 2006 +0000 2006-06-23 18:48:15 by steve Don't trash the shadow file. commit 95f6cd6310c1d2c9a7f7bfc93daf882280f86a73 Author: Steve Kemp Date: Fri Jun 23 18:35:40 2006 +0000 2006-06-23 18:35:40 by steve Support --accounts commit c61f4c96de8d95e30d43d18802fc56e50d507239 Author: Steve Kemp Date: Fri Jun 23 18:32:31 2006 +0000 2006-06-23 18:32:26 by steve Added support for copying user accounts when given an --accounts flag. commit 2196e621ad47a8cdffde3582f5b112e6846fe291 Author: Steve Kemp Date: Fri Jun 23 17:55:40 2006 +0000 2006-06-23 17:55:40 by steve Add a stub function 'installGentooPackage' since this is called to install OpenSSH. commit c9c80687d19cb1771b5b5961e79ebc764f8e6e75 Author: Steve Kemp Date: Fri Jun 23 17:54:23 2006 +0000 2006-06-23 17:54:21 by steve Simplified 60-copy-host-files to only copy file(s) from the host and install SSH (not gentoo yet). This way we can move the /etc/passwd handling to a new file. commit 8f64d85dab7eeed0db6521469b6e07d8d2314cfc Author: Steve Kemp Date: Fri Jun 23 09:11:11 2006 +0000 2006-06-23 09:11:11 by steve Updated for the 2.1-0 release. commit 041672612030a5a7521c2aa9801c47412c3d73a8 Author: Steve Kemp Date: Fri Jun 23 08:58:42 2006 +0000 2006-06-23 08:58:42 by steve Add pointer to the xen-users mailing list. commit 6361c50d18b0baaa3bc8c196667e4b519fa2e4a1 Author: Steve Kemp Date: Fri Jun 23 08:56:32 2006 +0000 2006-06-23 08:56:32 by steve Release number -> 2.1 commit 8be924178e56a20817071dc99d8a4b4ff1a26627 Author: Steve Kemp Date: Thu Jun 22 15:22:22 2006 +0000 2006-06-22 15:22:22 by steve Updated changelog for next release. commit 6a0b67d7f08e47f94d14151c6f2546699a5f702d Author: Steve Kemp Date: Thu Jun 22 15:20:36 2006 +0000 2006-06-22 15:20:36 by steve Create swap on the swap file/partition. #374989 commit e852d10c53e1f0483514ff90c9952c737c117cbf Author: Steve Kemp Date: Thu Jun 22 15:17:21 2006 +0000 2006-06-22 15:17:21 by steve Don't allow sparse images on LVM - #374988 commit 7b591358e6a37410e60bdb6961197fecc1476cbb Author: Steve Kemp Date: Thu Jun 22 15:01:53 2006 +0000 2006-06-22 15:01:53 by steve Updated comments. commit 11f5c569e0f107edc8458c8af34929e5b9ac2988 Author: Steve Kemp Date: Thu Jun 22 14:54:12 2006 +0000 2006-06-22 14:54:12 by steve Process the argument "--mirror=xx" - found by tests/getopt.t commit 5e7a8c9dcd60f38b48e3cd20a6f76d16ee2ead44 Author: Steve Kemp Date: Thu Jun 22 14:52:58 2006 +0000 2006-06-22 14:52:58 by steve New test - make sure that every command line argument which is offered on the POD text, output with --help, is actually processed. commit 48153fb10fca601bea2e20cdb7035a0ebf6536ad Author: Steve Kemp Date: Thu Jun 22 14:21:38 2006 +0000 2006-06-22 14:21:38 by steve D'oh. Didn't handle the '--fs' argument. TODO: Write test cases for this, since we had this problem before.. commit 32b1e0582959c180c4c1382b5130b125682c79fc Author: Steve Kemp Date: Thu Jun 22 08:05:10 2006 +0000 2006-06-22 08:05:08 by steve Added role directories for gentoo + ubuntu and install them. commit 259b0a9943bff9caf1ed210db61ed15d7bb3f7c5 Author: Steve Kemp Date: Thu Jun 22 08:03:26 2006 +0000 2006-06-22 08:03:26 by steve Fix error: Centos -> Debian commit 8f2f9d24f96e8286666120d384d45b861b8e9237 Author: Steve Kemp Date: Wed Jun 21 19:34:14 2006 +0000 2006-06-21 19:34:14 by steve If the installation of a new image with `debootstrap` fails then show the output from $prefix/debootstrap/debootstrap.log. commit 147ce71ff6596318c906e98d70b7b0cb013943e7 Author: Steve Kemp Date: Wed Jun 21 16:59:34 2006 +0000 2006-06-21 16:59:34 by steve When testing ignore the LVM setting which might be in the configuration file. commit d4b3701a41216003123be996f060919add9506fb Author: Steve Kemp Date: Wed Jun 21 08:31:00 2006 +0000 2006-06-21 08:31:00 by steve Test that the specified --kernel and --initrd files exist. commit 3f18c1513524fcfcd0028a19e051f92ebc5912d3 Author: Steve Kemp Date: Tue Jun 20 23:19:51 2006 +0000 2006-06-20 23:19:51 by steve When setting up the new Gentoo system allow *all* users to 'su' to root. This is pretty mandatory if you've copied accounts over, but root logins are disabled. commit bc17023d860cacbc7db0cc080b26599687a4bcea Author: Steve Kemp Date: Tue Jun 20 23:06:05 2006 +0000 2006-06-20 23:06:05 by steve The --force flag will now delete + recreate LVM volumes if they were already present - giving a similar result to the same flag on loopback images. commit 3d1619ceb3a353925c7d891b2bb623d72d278855 Author: Steve Kemp Date: Tue Jun 20 22:52:56 2006 +0000 2006-06-20 22:52:56 by steve BUGFIX: Setup the DNSDOMAIN of the new image correctly. commit c99c903cd1977b819b1b247617dba1cf2a50850f Author: Steve Kemp Date: Tue Jun 20 22:48:35 2006 +0000 2006-06-20 22:48:35 by steve Reorder some of the POD to make it more readable. commit c002b09cf7f2e6cd0fbb47360358f51673979adc Author: Steve Kemp Date: Tue Jun 20 22:44:12 2006 +0000 2006-06-20 22:44:12 by steve Updated POD significantly. Removed the list of contributors - since these are now in AUTHORS. commit b5a15a1cefd6835eda8e5dcf995044fe2efd9941 Author: Steve Kemp Date: Tue Jun 20 21:46:08 2006 +0000 2006-06-20 21:46:08 by steve BUGFIX: Deal with quoted memory settings, so we disply the correct output. commit 0e08a539bef3fcf237822b977df2afcd84f12ab5 Author: Steve Kemp Date: Tue Jun 20 21:28:27 2006 +0000 2006-06-20 21:28:27 by steve Fixed hostname setup for Gentoo. commit 835d7781e7c7042790da2389a938166a7161c821 Author: Steve Kemp Date: Tue Jun 20 21:13:51 2006 +0000 2006-06-20 21:13:51 by steve Support setting up gentoo :) NOTE: To use this you'll need to use --copy / --tar. commit 206314126807ba1bc051d50920aed8bbc2e81f36 Author: Steve Kemp Date: Tue Jun 20 17:34:08 2006 +0000 2006-06-20 17:34:08 by steve D'oh - we didn't add code to process --boot. Fixed. commit 6f7b00bba5664b9634a7f1750e70908afa71d143 Author: Steve Kemp Date: Tue Jun 20 09:00:11 2006 +0000 2006-06-20 09:00:11 by steve Ignore 'files'. commit e1b71c7b5fae887015120e554b19f27955b8a2d0 Author: Steve Kemp Date: Tue Jun 20 08:59:56 2006 +0000 2006-06-20 08:59:56 by steve Updated for the 2.0-1 release. commit 148763b4f740316545df0bb50819f624e7625d3a Author: Steve Kemp Date: Tue Jun 20 08:48:51 2006 +0000 2006-06-20 08:48:50 by steve Updated URL(s). commit 6541993b98b1e1cd1f6d9c4424fe1fb4d8a74e48 Author: Steve Kemp Date: Tue Jun 20 08:48:25 2006 +0000 2006-06-20 08:48:25 by steve Handle the hook.d + role.d being obsolete. commit 64e8970dfe20652e896d0cebd3c3ecd2b50a17a9 Author: Steve Kemp Date: Tue Jun 20 08:37:10 2006 +0000 2006-06-20 08:37:10 by steve Make sure we install all the new files to the doc directory. commit dcb5d5d592964a3c80f5760158125fe2c1702f77 Author: Steve Kemp Date: Mon Jun 19 22:52:13 2006 +0000 2006-06-19 22:52:13 by steve Added. Stubs. TODO: Fixup URLs before release. commit ebdc7a71a99e2ce964cc5055c0cde94b2c80ce02 Author: Steve Kemp Date: Mon Jun 19 22:48:21 2006 +0000 2006-06-19 22:48:21 by steve Added brief note on requirements. commit baaaac1657403c164286123321b2449dc5ce1a76 Author: Steve Kemp Date: Mon Jun 19 22:45:56 2006 +0000 2006-06-19 22:45:56 by steve 1. When making a release update tests/modules.t *and* run the test suite. 2. Document each available Makefile target. commit 8a23372f147a974e975b25cd28b447b5258014c1 Author: Steve Kemp Date: Mon Jun 19 20:43:13 2006 +0000 2006-06-19 20:43:13 by steve Minor documentation updates. commit ed62587feec52415e64e32f4c8fc9e95a0af0af7 Author: Steve Kemp Date: Mon Jun 19 20:42:44 2006 +0000 2006-06-19 20:42:44 by steve Preparing for a 2.0-1 release. commit f693ef09134db8ab1adb2e8059905cce8dc5cc87 Author: Steve Kemp Date: Mon Jun 19 20:40:27 2006 +0000 2006-06-19 20:40:27 by steve Updated build-deps so that the test suite will pass. commit 6000380976ed80d5f2ef91de9fe84264e5e9485b Author: Steve Kemp Date: Mon Jun 19 20:40:01 2006 +0000 2006-06-19 20:40:01 by steve Updated defaults. commit dc3932064e18b2c06367b0ee11ac5569cc44a16e Author: Steve Kemp Date: Mon Jun 19 20:39:51 2006 +0000 2006-06-19 20:39:51 by steve Updated documentation. commit 4a9d28067869481b339f1fb02be5038cfe11fe6e Author: Steve Kemp Date: Mon Jun 19 20:39:37 2006 +0000 2006-06-19 20:39:37 by steve Removed need to fixup LVM; that is all complete. commit 017723c872860b358a8d338bae82dfdd27dcf527 Author: Steve Kemp Date: Mon Jun 19 20:39:27 2006 +0000 2006-06-19 20:39:27 by steve Updated. commit 7e9bd2eae3deb48251a466a52b6a660b08607b22 Author: Steve Kemp Date: Mon Jun 19 20:39:21 2006 +0000 2006-06-19 20:39:21 by steve Updated test to do more work, and removed extraneous cruft. commit 8c0a4ac32950644a88c30d808ae5d6d55ada012a Author: Steve Kemp Date: Mon Jun 19 14:42:00 2006 +0000 2006-06-19 14:42:00 by steve Recommend rpmstrap. commit 6d1aa5bcd8f80930831454ed967da270de485d0e Author: Steve Kemp Date: Mon Jun 19 14:04:05 2006 +0000 2006-06-19 14:04:05 by steve BUGFIX: Add a linefeed when DHCP is specified. commit f8d6dd88edf2bbd669791472042bab6a564bf8c6 Author: Steve Kemp Date: Mon Jun 19 14:03:52 2006 +0000 2006-06-19 14:03:52 by steve Added simple test of xt-create-xen-config. commit cb95c70b45b0629710a1fe0ff6b9d338cd46c0ba Author: Steve Kemp Date: Mon Jun 19 13:23:54 2006 +0000 2006-06-19 13:23:54 by steve Install libtest-pod-perl as a build-dep so the test suite runs completely commit 8a4d2609e38c4dd6db1f99d64863c1a9849af95a Author: Steve Kemp Date: Mon Jun 19 13:06:01 2006 +0000 2006-06-19 13:06:01 by steve Updated so the distribution list isn't hardwired any more. Added --template support for xt-create-xen-config. Updatd comments. commit 88da61b140b4b44a330a1bc9db4269e4fe353ecb Author: Steve Kemp Date: Mon Jun 19 12:51:45 2006 +0000 2006-06-19 12:51:43 by steve Removed 'xen-duplicate-image'. commit 6bb09f64b0f004f5efd94900cf6cd727246fddd1 Author: Steve Kemp Date: Mon Jun 19 12:50:12 2006 +0000 2006-06-19 12:50:12 by steve Updated modules we test against. commit 474ee42c65a47aafbb5729f8114e035e606c81ad Author: Steve Kemp Date: Mon Jun 19 12:49:36 2006 +0000 2006-06-19 12:49:34 by steve Updated to read the Xen configuration file from a template and process that with Text::Template to generate the output. This is nice and simple, and very extensible. commit 9759ac9949cc5f7752771f2b61744a2a66eac889 Author: Steve Kemp Date: Mon Jun 19 12:36:46 2006 +0000 2006-06-19 12:36:46 by steve Remove mention of xen-duplicate-image. commit 446376c6d40dea2ab4f672bdd55e4fba2cd2d9e0 Author: Steve Kemp Date: Mon Jun 19 12:35:56 2006 +0000 2006-06-19 12:35:56 by steve We don't use Term::Size any more. commit c69b06a98f7e236764cf7c7cbee293fca5a299a9 Author: Steve Kemp Date: Mon Jun 19 11:34:03 2006 +0000 2006-06-19 11:34:03 by steve We require Text::Template (Debian package libtext-template-perl.) commit cc29e9156d024d4b09bc597a6061c62b3da6c37d Author: Steve Kemp Date: Mon Jun 19 11:20:22 2006 +0000 2006-06-19 11:20:22 by steve Remove /etc/xen-tools/skel + /etc/xen-tools/xm.tmpl on uninstall. commit e32b7a2845f3f01f784db88890f31c5bd6a72b8f Author: Steve Kemp Date: Mon Jun 19 11:18:57 2006 +0000 2006-06-19 11:18:57 by steve Break up the install: target into sections to make it simpler to understand + modify. Install etc/xm.tmpl to /etc/xen-tools. commit 2e7db73e71fd452d5efc4d984029a6c046cf20bb Author: Steve Kemp Date: Sun Jun 18 22:20:08 2006 +0000 2006-06-18 22:20:08 by steve 1. Fix the spelling on 'skeleton' - I *knew* that looked wrong! 2. Add a note on the consequences of the --passwd flag. commit fa9622c362af850634c3a155c4a3de9667f269c7 Author: Steve Kemp Date: Sun Jun 18 19:00:39 2006 +0000 2006-06-18 19:00:39 by steve Updated to actually complete on hostnames correctly for xen-delete-image + xen-update-image. Removed support for xen-duplicate-image. commit 423ceb9ad59ba27846fb79736f7dcfc06be1b800 Author: Steve Kemp Date: Sun Jun 18 18:42:31 2006 +0000 2006-06-18 18:42:31 by steve xen-update-image is now working. commit 63a76f7b77227657e9945318e4096a9c0a60c693 Author: Steve Kemp Date: Sun Jun 18 18:13:16 2006 +0000 2006-06-18 18:13:16 by steve Minor change, just to allow tests/argument-check.t to work. commit e385135cedbd7d6a745a3b8360c66c7d9be8eeb0 Author: Steve Kemp Date: Sun Jun 18 18:12:04 2006 +0000 2006-06-18 18:11:57 by steve TAB-removal. commit 9419b47ed579cfa74cb6c90a1ee3c49fa37ed757 Author: Steve Kemp Date: Sun Jun 18 18:10:03 2006 +0000 2006-06-18 18:10:03 by steve Updated to work with LVM properly! commit 4b28289bb1776e4ad1e06a95ed9ac3f57b8fc4e8 Author: Steve Kemp Date: Sun Jun 18 17:52:20 2006 +0000 2006-06-18 17:52:20 by steve Added. commit 6d6aa1eec912672006a380d06bd85eee72b659b8 Author: Steve Kemp Date: Sun Jun 18 17:46:11 2006 +0000 2006-06-18 17:46:11 by steve Added commented out ubuntu mirror, and listed explictly supported distributions. commit f8cc7067c2251ecc204b69d0c3b4f3ed28905362 Author: Steve Kemp Date: Sun Jun 18 17:44:08 2006 +0000 2006-06-18 17:44:07 by steve Added support for ubuntu, so far only the --dist=dapper works, but the sources list is setup correctly and everything else is setup as well as Debian is. commit 413a9be1500134dd43dd147185024f9dc9b94e36 Author: Steve Kemp Date: Thu Jun 15 23:23:12 2006 +0000 2006-06-15 23:23:12 by steve BUGFIX: When testing for executable lvm command make sure we test the correct way round. commit 171b8d1bba0dd27e8efb756e067bf8b63b8406e6 Author: Steve Kemp Date: Thu Jun 15 23:20:22 2006 +0000 2006-06-15 23:20:22 by steve Added '--image=[sparse | full]. Added missing command line processing for --size + --swap Added completion for --image. commit 9bc77ef88e6374120ca15a1275de5746762fd9a7 Author: Steve Kemp Date: Thu Jun 15 22:53:05 2006 +0000 2006-06-15 22:53:05 by steve Sync with the debian versoin of this file. commit ff561a974149df972edc4e5094a736cee5e3ec3d Author: Steve Kemp Date: Thu Jun 15 22:52:52 2006 +0000 2006-06-15 22:52:52 by steve Patch from Sven Hartge to avoid copying /etc/hosts - which is already setup in 50-setup-hostname. commit b99254174c26560bf40cb52514386dac0f889051 Author: Steve Kemp Date: Thu Jun 15 11:10:54 2006 +0000 2006-06-15 11:10:54 by steve Added optional programs: mkfs.ext3 mkfs.reiserfs mkfs.xfs commit 2ecd4f54ffbcfe10f538a1e1dd596f16f5306abf Author: Steve Kemp Date: Thu Jun 15 11:09:30 2006 +0000 2006-06-15 11:09:30 by steve Added to repository. Test that we have some binaries present, will avoid more bug reports like last nights... commit 930787640681be798eba0d0b0adf088b28531828 Author: Steve Kemp Date: Thu Jun 15 11:03:45 2006 +0000 2006-06-15 11:03:45 by steve Avoid tarring up debian/ when making releases, but do that by removing it, rather than using --exclude=debian. That causes the hooks/debian directory to be ignored. D'oh! commit 90eaf93085ec781cbb9c5de09a10646be56ae47a Author: Steve Kemp Date: Thu Jun 15 10:59:40 2006 +0000 2006-06-15 10:59:40 by steve Don't exclude 'bin' from our release. commit f74d5f8af306a154c9bedc1ec92c3b290cde23b0 Author: Steve Kemp Date: Thu Jun 15 10:58:17 2006 +0000 2006-06-15 10:58:17 by steve Attempt to only copy relevent lines from /etc/passwd + /etc/shadow. Don't copy the group file anymore. commit b413aae0fb93e1848e1ae3ce4fa03cd315dc3ce4 Author: Steve Kemp Date: Thu Jun 15 07:47:05 2006 +0000 2006-06-15 07:47:02 by steve BUGFIX: *really* allow tests to succeed prior to installation. commit c1e4d3531bf407e44644dfacfcdab96a435cef0d Author: Steve Kemp Date: Thu Jun 15 07:42:59 2006 +0000 2006-06-15 07:42:59 by steve Source common.sh from the parent directory if the global installation isn't found. This allows "make test" to succeed *before* the tools are installed. commit 28eb33e98d56a54ebb6f851fba23658e04109e7d Author: Steve Kemp Date: Thu Jun 15 07:35:09 2006 +0000 2006-06-15 07:35:09 by steve Whitespace + formatting fixups. commit ff24cc3603a37b670b123773642ca75165cc0e7d Author: Steve Kemp Date: Thu Jun 15 07:31:49 2006 +0000 2006-06-15 07:31:49 by steve BUGFIX: Only add '-f' to filesystem creation for xfs. D'OH CHECK: Test that required binaries such as debootstrap are installed. commit 5fb22fc60e9cd645758eb192997f7b4b0fcf2ca5 Author: Steve Kemp Date: Wed Jun 14 13:46:25 2006 +0000 2006-06-14 13:46:25 by steve Updated misleading comment. commit f6398502ef1881e38b881447b0789afca19fa2fc Author: Steve Kemp Date: Wed Jun 14 08:33:09 2006 +0000 2006-06-14 08:33:09 by steve Added link to mailing lists. commit c22eb1bdc1fe0f4008a6f042baae086499ad6430 Author: Steve Kemp Date: Tue Jun 13 17:28:15 2006 +0000 2006-06-13 17:28:15 by steve Added stuff to do before 2.x commit 68970f2f06579bdfbbab63627c6d1a0410b9bea3 Author: Steve Kemp Date: Tue Jun 13 17:18:39 2006 +0000 2006-06-13 17:18:39 by steve Updated test to create random temporary xen configuration files and test that all the values are correct. commit 427a35b903d42e3ff330ba730ec8db5b706c697f Author: Steve Kemp Date: Tue Jun 13 17:04:52 2006 +0000 2006-06-13 17:04:52 by steve Removed tabs. commit d12f56100314343476357ad407322a780a89ec43 Author: Steve Kemp Date: Tue Jun 13 16:57:34 2006 +0000 2006-06-13 16:57:34 by steve Updated documentation to include lvm examples. commit e0d0b47aa2589c081b75f6e2e9ed6573e9e1b1ed Author: Steve Kemp Date: Tue Jun 13 16:51:18 2006 +0000 2006-06-13 16:51:18 by steve Removed all image mounting, so we don't need to bother with updating for LVM. Instead parse /etc/xen/*.cfg and display details from that. Simpler. Faster. Doable by non-root users. commit 2c23effd90e3cdde88e8ed54f90fd1daadfbbc2d Author: Steve Kemp Date: Tue Jun 13 13:26:01 2006 +0000 2006-06-13 13:26:00 by steve Do the same for tests, no more literal tabs. commit 2b3b14a943e81f0b2d27dfe5cf47111e827577a0 Author: Steve Kemp Date: Tue Jun 13 13:21:45 2006 +0000 2006-06-13 13:21:45 by steve Added test case to catch scripts/files with literal TAB characters. They are evil. commit 2bb8a1b394df128d1b20ddae487f0f9f26b69943 Author: Steve Kemp Date: Tue Jun 13 13:21:23 2006 +0000 2006-06-13 13:21:22 by steve TABs become spaces. Tabs are evil. commit fdcb4dbfc035653ad7d8fc8233467bac536826ef Author: Steve Kemp Date: Tue Jun 13 08:18:08 2006 +0000 2006-06-13 08:18:08 by steve Force the recreation of filesystem when the user choose both --force and the XFS filesystem. commit 2e95d6f9e3b7cf52698fcb7cd3693a3aca40ce1c Author: Steve Kemp Date: Sun Jun 11 07:37:46 2006 +0000 2006-06-11 07:37:46 by steve Misc. fixes. commit 38720acacf6d8fc205fa336521c464145c4e1539 Author: Steve Kemp Date: Sun Jun 11 07:33:45 2006 +0000 2006-06-11 07:33:45 by steve Added completion for the xt-* commands. commit aac23324821cf906094d36b97fa9db32e0557276 Author: Steve Kemp Date: Sun Jun 11 07:21:19 2006 +0000 2006-06-11 07:21:19 by steve Added completion for the --lvm parameter. commit fd56b992c0a0011be62cca21fe12defd347ca770 Author: Steve Kemp Date: Sat Jun 10 21:03:45 2006 +0000 2006-06-10 21:03:45 by steve Added an assert() function to report failures in shell scripts. commit a5d4d8f53189548facc7aa04d64ca7d220b16119 Author: Steve Kemp Date: Sat Jun 10 20:50:14 2006 +0000 2006-06-10 20:50:14 by steve Test that each of the shell script files we ship passes a syntax check, this will hopefully avoid us from shipping broken files in our release. commit b14f4b9ebc99e0d6af7148f4f16a124996680859 Author: Steve Kemp Date: Sat Jun 10 20:45:10 2006 +0000 2006-06-10 20:45:10 by steve Added perl syntax check for each perl file we ship. Hopefully this will catch simple errors like the stupid broken shell script hook we left in v1.6 commit bd470289e28be4437cce12d8c7c1545bbc907563 Author: Steve Kemp Date: Sat Jun 10 17:49:56 2006 +0000 2006-06-10 17:49:56 by steve Fix: Point to the correct location for the role script. commit 721fea9cc2795d66e8050d25fc218adeb83eb82a Author: Radu Spineanu Date: Sat Jun 10 17:48:56 2006 +0000 2006-06-10 17:48:56 by radu update standards version commit c09fcb72e962477cf32f790c502ee2fb4419aa0e Author: Steve Kemp Date: Sat Jun 10 17:36:09 2006 +0000 2006-06-10 17:36:09 by steve When a command fails show its output when running with --verbose *before* exiting commit 625e9f599f867e34f67398905384acf64ae7d167 Author: Steve Kemp Date: Sat Jun 10 17:28:41 2006 +0000 2006-06-10 17:28:41 by steve Reinstated --role support. Rather than using /etc/xen-tools/role.d we now use: /usr/lib/xen-tools/$dist.d/role.d/ This allows per-distribution roles. commit 7389276ab910a9f484b2f3db38dda97a3046b110 Author: Steve Kemp Date: Sat Jun 10 17:11:32 2006 +0000 2006-06-10 17:11:32 by steve Install the role.d subdirectory, and remove xen-tools from /usr/lib on uninstall. commit 32791eb1bef98cdcb31d1103b41d1a289d8e1fa1 Author: Steve Kemp Date: Sat Jun 10 17:06:04 2006 +0000 2006-06-10 17:06:04 by steve Added. commit fc16e8bff19eaded36ae2833c154394e79c3ffd5 Author: Steve Kemp Date: Sat Jun 10 17:04:29 2006 +0000 2006-06-10 17:04:28 by steve Moved the role.d into the per-distribution hook directory. commit 2888e3105b54eb8ffe206b5fda6c54dac073a565 Author: Steve Kemp Date: Sat Jun 10 16:48:55 2006 +0000 2006-06-10 16:48:55 by steve When running normally hide output of executed commands. When running with --verbose make sure that stderr is copied to stdout. commit 339a571df82bc6e85c55855d54f215b37b394f59 Author: Radu Spineanu Date: Sat Jun 10 16:22:07 2006 +0000 2006-06-10 16:22:07 by radu preparations for the 1.6 debian upload commit bb0cef2e41e09574453f5fc47465e2439753db44 Author: Steve Kemp Date: Sat Jun 10 15:52:09 2006 +0000 2006-06-10 15:52:09 by steve Added significant chunks of pod from the previous release. commit 38c692bcba2002f10cf4df291d9106f46ed39deb Author: Steve Kemp Date: Sat Jun 10 15:02:19 2006 +0000 2006-06-10 15:02:19 by steve Update LVM text. Fully qualify the download URL. commit 2e5213c52266b9080adb5cdf80103479a3ae8e49 Author: Steve Kemp Date: Sat Jun 10 14:57:11 2006 +0000 2006-06-10 14:57:11 by steve Reinstate contributors. They deserve credit. commit 8fde8fa63f48df72244b005f5f53b2e3ff5c1cf8 Author: Steve Kemp Date: Sat Jun 10 14:36:53 2006 +0000 2006-06-10 14:36:53 by steve BUGFIX: D'oh. Memory size is correctly defined. Everything works for LVM now :) commit 10c0a488d3bf41e6dd7dfa0d339dd5a489fe0a14 Author: Steve Kemp Date: Sat Jun 10 14:26:45 2006 +0000 2006-06-10 14:26:45 by steve Fixup. D'oh commit 4459fb7d0da5d651328dddc96595e658b97ceda4 Author: Steve Kemp Date: Sat Jun 10 14:22:27 2006 +0000 2006-06-10 14:22:27 by steve Added '--verbose' argument. commit f2128f77262f65b9a911f32e2300a7c9aba39e00 Author: Steve Kemp Date: Sat Jun 10 14:18:23 2006 +0000 2006-06-10 14:18:23 by steve LVM fixes :) commit 25ba8a332a357a372ffff94d2f5630303f29199c Author: Steve Kemp Date: Sat Jun 10 14:02:13 2006 +0000 2006-06-10 14:02:13 by steve Use -disk not -root commit 6c4f5ddefcc87cae003feb3f0df04379a3167cd5 Author: Steve Kemp Date: Sat Jun 10 14:00:19 2006 +0000 2006-06-10 14:00:19 by steve Get the sizes the right way round for the disk + swap LVM images. commit 8e8a9fd4639493b2a8d42ebf4fe612bdadf0ac54 Author: Steve Kemp Date: Sat Jun 10 13:59:06 2006 +0000 2006-06-10 13:59:06 by steve Support creation of LVM images. NOTE: Not tested yet. commit 730f7635d61ddef3abb6070a06e3dc02f7da5b80 Author: Steve Kemp Date: Sat Jun 10 13:58:50 2006 +0000 2006-06-10 13:58:50 by steve Delete LVM images correctly. commit 08a23b0222ab7975b2d668896886d3c4248079bd Author: Steve Kemp Date: Sat Jun 10 13:23:48 2006 +0000 2006-06-10 13:23:48 by steve Updated defaults. commit 1f7212af0201f6e70cd806af7a4c44d4906775f4 Author: Steve Kemp Date: Fri Jun 9 22:21:08 2006 +0000 2006-06-09 22:21:08 by steve Updated the header to be accurate. commit 5fc9c1248d278976e83b394e44f8a1fa02f9e602 Author: Steve Kemp Date: Fri Jun 9 22:19:22 2006 +0000 2006-06-09 22:19:22 by steve Remove the obsolete 'dist' setting. commit cd342ef358af11037ab1babfdd56bc6aec7e8620 Author: Steve Kemp Date: Fri Jun 9 22:19:01 2006 +0000 2006-06-09 22:19:01 by steve Minor fixups and comment changes. commit 4fbc847dc48313ec3d4893ca0a4768c9b16b4cc6 Author: Steve Kemp Date: Fri Jun 9 22:03:30 2006 +0000 2006-06-09 22:03:29 by steve Allow the documentation test(s) to succeed. commit 022eecd1d2262291978a2b89e61e90ae6cc32501 Author: Steve Kemp Date: Fri Jun 9 22:03:14 2006 +0000 2006-06-09 22:03:14 by steve Added documentation for command line arguments. commit 51022741ab603489c4c2b8d23cf39f3db472db47 Author: Steve Kemp Date: Fri Jun 9 21:14:03 2006 +0000 2006-06-09 21:14:03 by steve Final bugfix for the night. Use the correct hostname. commit 033456b467aacab420be9765a269806864b8ad9a Author: Steve Kemp Date: Fri Jun 9 21:05:38 2006 +0000 2006-06-09 21:05:38 by steve Fixed syntax error. commit 69b97f162c1ea95085b80210af8a0c7d1ea7d040 Author: Steve Kemp Date: Fri Jun 9 20:49:51 2006 +0000 2006-06-09 20:49:51 by steve D'oh - /etc/fstab shouldn't be executable. This caused debootstrap to be reported as failed even when it was correctly installed. commit 9962896c3252abbabcfcc64eada30d399683317b Author: Steve Kemp Date: Fri Jun 9 20:27:50 2006 +0000 2006-06-09 20:27:50 by steve BUGFIX: debootstrap doesn't like '--verbose' to be at the end of the line. commit cbb9cb2a02ba1fcb98821ce788f0f27e0ac955e5 Author: Steve Kemp Date: Fri Jun 9 20:22:29 2006 +0000 2006-06-09 20:22:29 by steve Show information when running installation. commit 71c40fc5c52ef5c7d0be7797be044df9f510c4f1 Author: Steve Kemp Date: Fri Jun 9 20:14:50 2006 +0000 2006-06-09 20:14:50 by steve Create the xen-configuration file once we're done. commit ea13ca04dcd4be96917fc130214c03467a444ee9 Author: Steve Kemp Date: Fri Jun 9 20:14:43 2006 +0000 2006-06-09 20:14:43 by steve Create the xen configuration file. commit ef9883c8fc3aca44bce5854523e8b775d34b0b35 Author: Steve Kemp Date: Fri Jun 9 19:55:10 2006 +0000 2006-06-09 19:55:10 by steve Support RPMStrap. Test that the systems installation succeeded commit 27535637f2fb1482cc2443d52099ce3ce285a054 Author: Steve Kemp Date: Fri Jun 9 19:49:18 2006 +0000 2006-06-09 19:49:18 by steve Minor documentation cleanups. commit 6a1fa55bb9071e9a8f5359f859380c8b057e38ac Author: Steve Kemp Date: Fri Jun 9 19:43:49 2006 +0000 2006-06-09 19:43:49 by steve Updated slightly commit 26c10d477acae6d46048e23bf19b82b8737e3fc9 Author: Steve Kemp Date: Fri Jun 9 19:04:13 2006 +0000 2006-06-09 19:04:13 by steve Updated release to 2.0 commit 0ee2696fec751a2309cce880cdfa547beace4929 Author: Steve Kemp Date: Fri Jun 9 19:04:05 2006 +0000 2006-06-09 19:04:05 by steve Updated version updator commit 565f7d4353072df2ddb38c98c654e941f46e2768 Author: Steve Kemp Date: Fri Jun 9 19:03:02 2006 +0000 2006-06-09 19:03:02 by steve We don't care if the symlink operations fail. commit db433a28a1bcb42426754cb1c1b3104627441c23 Author: Steve Kemp Date: Fri Jun 9 18:59:46 2006 +0000 2006-06-09 18:59:46 by steve Minor documentation and correctness fixes. commit e7c457b79501e7e307d8adc69b0dd23bf58ffc31 Author: Steve Kemp Date: Fri Jun 9 18:40:11 2006 +0000 2006-06-09 18:40:11 by steve Fixed the symlink creation to work with non-standard prefix. commit 5405ef4d44035550500d1abad9b39b65e8b96ce6 Author: Steve Kemp Date: Fri Jun 9 18:36:46 2006 +0000 2006-06-09 18:36:46 by steve Install symlinks for sid/sarge/etch -> debian in the installation target. commit d5b7d162b3e111380532e57b23c9d94bc7bb4dc1 Author: Steve Kemp Date: Fri Jun 9 18:36:32 2006 +0000 2006-06-09 18:36:32 by steve Fixed so that debootstrap will work :) commit f19257a2238c38f23a244a1cc17ec33c07d2b663 Author: Steve Kemp Date: Fri Jun 9 18:36:10 2006 +0000 2006-06-09 18:36:10 by steve Remove the hack to rename sid/etch/sarge -> debian, to be replaced by symlinks. commit 6bf46ffd4cb8ea139bdd99ccf778f1375e260126 Author: Steve Kemp Date: Fri Jun 9 18:19:46 2006 +0000 2006-06-09 18:19:46 by steve Added documentatoin updates. Describe 'rpmstrap', 'debootstrap', 'copy=x', & 'tar=x'. commit 27c9b8955647b125431e88097614853fc653cf45 Author: Steve Kemp Date: Fri Jun 9 17:31:03 2006 +0000 2006-06-09 17:31:03 by steve BUGFIX: Remove syntax erorr. commit 48e1214d0215d963cab0d00b465a9a5abbdea903 Author: Steve Kemp Date: Fri Jun 9 17:29:05 2006 +0000 2006-06-09 17:29:05 by steve Woohoo! We can now install systems by either copying recursively, or untarring a file. TODO: rpmstrap + debootstrap. commit dbded4204bd64bcdfb1e17e74e0ae45539e94e5d Author: Steve Kemp Date: Fri Jun 9 17:28:08 2006 +0000 2006-06-09 17:28:08 by steve BUGFIX: Set the correct option for the --copy argument. commit 0f5f1282a78bf18a60d3825003cb9195599fe301 Author: Steve Kemp Date: Fri Jun 9 17:18:19 2006 +0000 2006-06-09 17:18:19 by steve Read the configuration file for our configuration options. commit 5c3fe7583d502188a1a0ce13e140abbf140821a1 Author: Steve Kemp Date: Fri Jun 9 17:03:31 2006 +0000 2006-06-09 17:03:31 by steve *Correctly* run the hooks, with environment, etc. commit 1393cb34590618e5dd8acddb2355ee3bbbceef66 Author: Steve Kemp Date: Fri Jun 9 16:57:01 2006 +0000 2006-06-09 16:57:01 by steve When running debootstrap pass the users' mirror across too. commit a0e6cef83633d5f5e5e2b3374dd76549e0136b8a Author: Steve Kemp Date: Fri Jun 9 16:53:26 2006 +0000 2006-06-09 16:53:26 by steve Create the image + customise it by calling out to the xt-* scripts. Almost done now. We just need to make xt-install-image work and we've got it made. commit 3818d58158b670ad866d1d6623d21d8fc888aa1f Author: Steve Kemp Date: Fri Jun 9 16:42:53 2006 +0000 2006-06-09 16:42:53 by steve Mount and unmount the new volume/lvm correcty. commit b35b623888b14ba0a9d4022b60b67e21f58cadc9 Author: Steve Kemp Date: Fri Jun 9 16:27:37 2006 +0000 2006-06-09 16:27:37 by steve Successfully create loopback volumes and format them. commit 3ec1e0a9e337cb115ed9ac4806bd935270222d66 Author: Steve Kemp Date: Fri Jun 9 15:12:33 2006 +0000 2006-06-09 15:12:33 by steve Updated test suite to work with new layout. commit cfccfbc78201e81fff550fc4ddce0d5760ee6b94 Author: Steve Kemp Date: Fri Jun 9 15:12:24 2006 +0000 2006-06-09 15:12:24 by steve Updated POD to pass tests. commit 1ac7d53587b991ca13e2f8fa4f1159dead5a22f4 Author: Steve Kemp Date: Fri Jun 9 14:57:17 2006 +0000 2006-06-09 14:57:17 by steve Minor updates. Point to xen-tools.org, even if the only thing there is the work in progress site: http://beta.xen-tools.org/ commit 32da3dd94eb5e29fb8228163970fd7c8ddf20c7b Author: Steve Kemp Date: Fri Jun 9 14:55:08 2006 +0000 2006-06-09 14:55:08 by steve Added missing commmand line arguments. Added summery of the action we're going to conduct. commit 3e572eac6fbc3a23d4917551a0f1e58bed320871 Author: Steve Kemp Date: Fri Jun 9 14:48:29 2006 +0000 2006-06-09 14:48:29 by steve Remap sid/sarge/etc -> debian. Setup default options. commit a21d508b3cf473341b57eb8f1550a6ff44b8f4ea Author: Steve Kemp Date: Fri Jun 9 14:41:22 2006 +0000 2006-06-09 14:41:22 by steve Added some code. commit 1b8b087ce22164eebdeb8104c2ce8949b1349396 Author: Steve Kemp Date: Fri Jun 9 13:49:39 2006 +0000 2006-06-09 13:49:39 by steve Added argument checking and documentation. commit d10e0ef0f22303cb1dcb558832ea2d5ab65aec16 Author: Steve Kemp Date: Fri Jun 9 13:36:14 2006 +0000 2006-06-09 13:36:14 by steve Use a fully qualified path to the 'common.sh', so we don't need to use chdir() when running our hooks commit f5c3c4b625218551f2d86a96474e8c205cc66f61 Author: Steve Kemp Date: Fri Jun 9 13:34:21 2006 +0000 2006-06-09 13:34:21 by steve Documentation updates. Verbosity improvements when running hook scripts. Don't call chdir(); commit 9c1d749ec8988151b68e11b93cc4d2a8b71f5f76 Author: Steve Kemp Date: Fri Jun 9 13:26:01 2006 +0000 2006-06-09 13:26:01 by steve Added 99% of the code. NOTE: --location must be absolute, or the chdir() breaks things. FIXME? commit 37d390aac459011d040471425266733d3c7174ab Author: Steve Kemp Date: Fri Jun 9 13:22:50 2006 +0000 2006-06-09 13:22:50 by steve Updated to build manpages correctly. Updated to install from ./bin/ commit f58588eb77615ea6280857ef5b1273d422d319fa Author: Steve Kemp Date: Fri Jun 9 12:48:22 2006 +0000 2006-06-09 12:48:22 by steve Added stub documentation. commit 9ca499a96c4194a8db64f8ed86f2b4bedf6f3ae6 Author: Steve Kemp Date: Fri Jun 9 12:43:03 2006 +0000 2006-06-09 12:43:02 by steve Moved xen-* into bin/ commit 23947ea0c654640e370f2fe492d98880231f9242 Author: Steve Kemp Date: Fri Jun 9 12:42:08 2006 +0000 2006-06-09 12:42:08 by steve Removed. commit 629a24f3ac44321fa94709a29b78b12d37496e5f Author: Steve Kemp Date: Fri Jun 9 12:39:11 2006 +0000 2006-06-09 12:39:11 by steve Prune empty directories on "make update". commit f9a7655762bebd52e6c5185b611446cc2293f12d Author: Steve Kemp Date: Fri Jun 9 11:05:47 2006 +0000 2006-06-09 11:05:47 by steve Added. commit 5108818ad2cce65cd5bf21290660ffec0671b0d9 Author: Steve Kemp Date: Fri Jun 9 11:04:08 2006 +0000 2006-06-09 11:04:08 by steve Added commit ca628732e3cb21b4bdfb51e1b4598f246d15fb92 Author: Steve Kemp Date: Fri Jun 9 11:03:41 2006 +0000 2006-06-09 11:02:22 by steve Added. commit c9687b92a7bdcd03bd0df0af9d1dbb3c9128088e Author: Steve Kemp Date: Fri Jun 9 11:01:36 2006 +0000 2006-06-09 11:01:36 by steve Added commit 5111d31d680ac21752cc17c0455b58951ea145d0 Author: Steve Kemp Date: Fri Jun 9 11:00:22 2006 +0000 2006-06-09 10:59:51 by steve Added. commit 2ca809eba4804166ad74a99ca140492d5c643e62 Author: Steve Kemp Date: Fri Jun 9 10:55:24 2006 +0000 2006-06-09 10:55:24 by steve Added. commit ea58622fea3c1bd33021393dc2552f4d171861f5 Author: Steve Kemp Date: Fri Jun 9 10:52:52 2006 +0000 2006-06-09 10:52:52 by steve Added commit 5758d8769ed41374a5bed2c2f80dffd36f97c59e Author: Steve Kemp Date: Fri Jun 9 10:52:25 2006 +0000 2006-06-09 10:52:25 by steve Corrected description commit 9d57a3608c4d943ee946e8b6dc08e8f804b77daa Author: Steve Kemp Date: Fri Jun 9 10:52:08 2006 +0000 2006-06-09 10:50:49 by steve Added. commit f168fb94ea719131bbbda35ce534fe33933fb2af Author: Steve Kemp Date: Fri Jun 9 10:49:00 2006 +0000 2006-06-09 10:49:00 by steve Updated to install the new binaries and hooks. commit 4dfb34006912afc3a05d0babc0617599dec34694 Author: Steve Kemp Date: Fri Jun 9 10:37:55 2006 +0000 2006-06-09 10:37:55 by steve Added. commit b57c66292635455457c4def92d17d2df902bdc7b Author: Steve Kemp Date: Fri Jun 9 10:32:38 2006 +0000 2006-06-09 10:32:38 by steve Updated header and formatting slightly commit efa1df08de619662b61c7bda7ebcdcd2c818532a Author: Steve Kemp Date: Fri Jun 9 10:30:37 2006 +0000 2006-06-09 10:30:37 by steve Added to the repository. These are almost straight copies of the previous hook scripts except they are now Debian-specific. They also each log their start and finish and optional information via the use of the ../common.sh file. No major changes anticipated. commit dd424464f5b71405f3226c2cb863d0a2bc445a4c Author: Steve Kemp Date: Fri Jun 9 10:16:12 2006 +0000 2006-06-09 10:16:12 by steve Added. commit 83eef81b913ddfaf87f5869dd0e8fe3bbab00e07 Author: Steve Kemp Date: Fri Jun 9 09:50:57 2006 +0000 2006-06-09 09:50:57 by steve Removed. commit e9c052b976dee5e64560235bb1a754695676c032 Author: Steve Kemp Date: Fri Jun 9 09:39:11 2006 +0000 2006-06-09 09:39:11 by steve More prototyping. commit bf0704dc710d783a246e43135c435b744dcac64c Author: Steve Kemp Date: Fri Jun 9 09:36:16 2006 +0000 2006-06-09 09:36:16 by steve Added prototype description. commit c9f3e6fcab13165c5791cc4fa4ce9e6da0118bb7 Author: Steve Kemp Date: Fri Jun 9 09:27:33 2006 +0000 2006-06-09 09:27:33 by steve Release 1.6 commit 1cad512f51dc3b09de38a91e99399341a8c99b0f Author: Steve Kemp Date: Fri Jun 9 09:25:23 2006 +0000 2006-06-09 09:25:23 by steve Added. Stubs. commit b76b8035de38b10f7986f6e30bf7abe497bbfa5b Author: Steve Kemp Date: Fri Jun 9 09:22:57 2006 +0000 2006-06-09 09:22:57 by steve Added bin/ to the exclusion list. It is not part of the next release. commit 653272eabfe5432a55bb7312e093a580a30e5e33 Author: Steve Kemp Date: Thu Jun 8 13:48:10 2006 +0000 2006-06-08 13:48:10 by steve Allow "xen | xen-hypervisor-3.0" to the recommended packages. commit 401d007134c71d72bf02ff63d5e5032936ffca1d Author: Steve Kemp Date: Thu Jun 8 13:46:54 2006 +0000 2006-06-08 13:46:54 by steve Added to repository. commit 4d12fe44505f7f57b04f5f40b3554d9bca2634f1 Author: Steve Kemp Date: Thu Jun 8 13:46:38 2006 +0000 2006-06-08 13:46:38 by steve Added the debian/ subdirectory to the CVS repository. (Don't include it in "make release".) Clean target updated to clean all debian temporary files. commit 94666fdf9d955f03c95dfa2512be854572576fd6 Author: Steve Kemp Date: Wed Jun 7 09:37:27 2006 +0000 2006-06-07 09:37:27 by steve Add 2006 to the (c) line. commit 86a14c7d8bcfd149b5a24d4464f80b31e3361ba6 Author: Steve Kemp Date: Wed Jun 7 09:36:20 2006 +0000 2006-06-07 09:36:20 by steve Minor changes. commit b60d7cd348cb8452a63d79762ea94d0ac82fe9b7 Author: Steve Kemp Date: Wed Jun 7 09:19:52 2006 +0000 2006-06-07 09:19:52 by steve BUGFIX: Count is too high. commit f212ac53242cd34b53a7f76da889d408751bda5f Author: Steve Kemp Date: Wed Jun 7 09:13:46 2006 +0000 2006-06-07 09:13:46 by steve Remove the installation log if present. commit f881ee102511b925f980112edd4cc37f63a8927f Author: Steve Kemp Date: Wed Jun 7 09:10:27 2006 +0000 2006-06-07 09:10:27 by steve Fixup to change the ip from ${ip} -> ${ip1} commit ac56e577988bc5bd6ba789e2af46524c0585dd41 Author: Steve Kemp Date: Wed Jun 7 09:09:31 2006 +0000 2006-06-07 09:09:30 by steve Allow multiple IP addresses to be specified. The first is the default IP. commit 867aa57eafcb89e9f1dccb08e66bebcd7c971c9d Author: Steve Kemp Date: Tue Jun 6 15:17:47 2006 +0000 2006-06-06 15:17:47 by steve Log the output of rpmstrap / debootstrap to show on errors. commit 4cdad02f6679e0e82e7dd4c5a32b17f88897c7f4 Author: Steve Kemp Date: Tue Jun 6 11:13:46 2006 +0000 2006-06-06 11:13:46 by steve Added '--no-swap' option to avoid creating the swap file. commit 0781c6bfef815f877b5b05e6930812abb59ac0d2 Author: Steve Kemp Date: Mon Jun 5 15:13:48 2006 +0000 2006-06-05 15:13:48 by steve Added to repository. commit 3c55e93eb27a41acae2947414ea3818a6289711d Author: Steve Kemp Date: Fri Jun 2 09:57:15 2006 +0000 2006-06-02 09:57:15 by steve Reload DNSMasq if it is installed after modifying /etc/hosts. commit f21137dfe1b458fa88f0963a4c377fd0a170047c Author: Steve Kemp Date: Sat May 27 12:35:47 2006 +0000 2006-05-27 12:35:47 by steve Handle non-debian images. commit 0e8ac6a9d6c8647469bc3c30c9ad5edae9a96c7c Author: Steve Kemp Date: Sat May 27 12:34:07 2006 +0000 2006-05-27 12:34:07 by steve Delete trailing whitespace. commit 7bcd794debc04f079dc40dcb0eeca7a71cf1e3e2 Author: Steve Kemp Date: Sat May 27 12:32:42 2006 +0000 2006-05-27 12:32:42 by steve Update only Debian GNU/Linux images. Skip non-Debian instances. commit 06c5bae65dd66fec9c04f7e08238134958c40912 Author: Steve Kemp Date: Sat May 27 12:29:55 2006 +0000 2006-05-27 12:29:55 by steve Remove trailing whitespace. commit a881953e1d0f994c74eb7f0ae17542befa7331ff Author: Steve Kemp Date: Sat May 27 12:29:15 2006 +0000 2006-05-27 12:29:15 by steve Show the networking details for CentOS4 images too. commit 0b62f5e22c6b6e2f75b8b195689d3c0c317c96ad Author: Steve Kemp Date: Sat May 27 12:23:54 2006 +0000 2006-05-27 12:23:54 by steve Delete trailing whitespace. commit d5f3f29878223f64d7f9762ad091b84280ce5644 Author: Steve Kemp Date: Fri May 26 19:18:06 2006 +0000 2006-05-26 19:18:06 by steve BUGFIX#2. param -> params. commit af390facc422d984c5ef4c815815e7d94b706d2d Author: Steve Kemp Date: Fri May 26 19:17:03 2006 +0000 2006-05-26 19:17:03 by steve BUGFIX. commit 2fb983603fc0ce8491d2b8494dc833248319379b Author: Steve Kemp Date: Fri May 26 19:07:02 2006 +0000 2006-05-26 19:07:02 by steve Updated documentation on the --volume argument, and updated the instructions showed when the new image is created to demonstrate mounting the new LVM instance correctly. See Debian bug #368831. TODO: Better error detection on executing commands. commit 31f9a9f0fd5af5e31c710cfb1d8047c5b3c06b81 Author: Steve Kemp Date: Fri May 26 15:42:27 2006 +0000 2006-05-26 15:42:27 by steve Revert the UDEV detection on the host. commit b9a46b5fae1cdf9d40d06bda15361a117920f11f Author: Steve Kemp Date: Fri May 26 15:33:13 2006 +0000 2006-05-26 15:33:13 by steve Don't update /etc/hosts on the host if there is already an entry for the given host. commit 2b23f342d5da8b4fe9b27d24dc45501401dd98b4 Author: Radu Spineanu Date: Fri May 26 15:31:25 2006 +0000 2006-05-26 15:31:25 by radu Do not run MAKEDEV if the system is using udev commit ebd526bb0d2788481e29cecad2fb4fa2b4395d22 Author: Steve Kemp Date: Fri May 26 15:17:57 2006 +0000 2006-05-26 15:17:57 by steve Install libc6-xen on sid/etch systems. commit 52fc5712f374a17286829e7fff5166495cb9b106 Author: Radu Spineanu Date: Fri May 26 15:15:56 2006 +0000 2006-05-26 15:15:56 by radu First update for #368983, don't overwrite /etc/hosts in vserver if the file exists commit 3eb6c76b48e8d90f7f7f4403b4140f221c7ce442 Author: Steve Kemp Date: Fri May 26 15:04:15 2006 +0000 2006-05-26 15:04:15 by steve Fixed failing test. commit 83c95605431437a86652168bb9cfdf47197fa24b Author: Steve Kemp Date: Fri May 26 15:02:35 2006 +0000 2006-05-26 15:02:35 by steve Update version for a new release commit a734dfaadb4db20a7b979e335734eaef92494c47 Author: Steve Kemp Date: Thu May 25 23:33:04 2006 +0000 2006-05-25 23:33:04 by steve Updated so that DHCP also sets : vif = [ '' ] This is mandatory for DHCP instances nowadays .. I think. commit c9f138b307dcbd0e218b0dbe573d05dd114bbf12 Author: Steve Kemp Date: Wed May 24 20:12:21 2006 +0000 2006-05-24 20:12:21 by steve Mount /proc. commit 9876d9f416e304b51ae98404c1c29c36ab88f915 Author: Steve Kemp Date: Wed May 24 19:59:25 2006 +0000 2006-05-24 19:59:25 by steve BUGFIX: OpenSSH installation on CentOS4 works now :) commit 7ba79c64b63a75a13a25f977d019895c6b1f76d7 Author: Steve Kemp Date: Wed May 24 19:46:47 2006 +0000 2006-05-24 19:46:47 by steve Give the new function a comment commit 0ae4376ade28fd8d710c7f4f6cbd23c7bb34c403 Author: Steve Kemp Date: Wed May 24 19:46:17 2006 +0000 2006-05-24 19:46:17 by steve Fixed script to work. Also install 'openssh-server' on etch/sid, not 'ssh'. commit 2862fb995dfd842a3113dbae23068a0fc8fbab96 Author: Steve Kemp Date: Wed May 24 19:35:16 2006 +0000 2006-05-24 19:35:16 by steve More updates. commit dcee5ac3081b82df9442525695cc1c5385fa94e6 Author: Steve Kemp Date: Wed May 24 19:28:29 2006 +0000 2006-05-24 19:28:29 by steve More updates. commit ac40e91c48fd25b2a848d2434bf91b6b0f53a9c8 Author: Steve Kemp Date: Wed May 24 19:26:13 2006 +0000 2006-05-24 19:26:13 by steve Show unknown dist in the error message. commit 427c10a8ca4081fcb826a2d6b7f501871492b75a Author: Steve Kemp Date: Wed May 24 19:25:55 2006 +0000 2006-05-24 19:25:55 by steve Fixed networking. commit 3c5c1efcf4c070de3813b4782abbcd816eb0f5b1 Author: Steve Kemp Date: Wed May 24 19:22:39 2006 +0000 2006-05-24 19:22:39 by steve Temporary point in conversion to new hook script format. commit 2b9a5b889377e0da18d685413300c40b2fc033e8 Author: Steve Kemp Date: Wed May 24 19:15:55 2006 +0000 2006-05-24 19:15:55 by steve Give each hook script the name of the distribution being installed too. commit 73bcc9885a93caa509b09fdced79021b9d1ed37e Author: Steve Kemp Date: Wed May 24 10:57:48 2006 +0000 2006-05-24 10:57:48 by steve Whitespace cleanup. (M-x delete-trailing-whitespace) commit 38773dbee5b9f6c5f53a6c6e467c67288cde8833 Author: Steve Kemp Date: Wed May 24 10:57:26 2006 +0000 2006-05-24 10:57:26 by steve Test that other RPMStrap distros work. commit b8b70868e9beef6bba34d74967593b5c80182f5a Author: Steve Kemp Date: Wed May 24 10:57:17 2006 +0000 2006-05-24 10:57:17 by steve Set cache=>no when rpmstrap is used. commit f52b04d53163c49a008a1560cab96b6fff729a0d Author: Steve Kemp Date: Tue May 23 20:24:47 2006 +0000 2006-05-23 20:24:47 by steve Clean RPM scattered files for rpmstrap installations. commit 90052a81a06a6d92e1f21f44c193625127697aab Author: Steve Kemp Date: Tue May 23 20:14:09 2006 +0000 2006-05-23 20:14:09 by steve Show output of the hook scripts when runnign with --debug, useful for debugging evil centos. commit 6746cd37ab015e959288424f18e34e972ba44e4b Author: Steve Kemp Date: Tue May 23 20:01:32 2006 +0000 2006-05-23 20:01:32 by steve Add a default route. D'oh. commit aa79fad328b31270052b9898e695fb9c76d5076a Author: Steve Kemp Date: Tue May 23 19:56:48 2006 +0000 2006-05-23 19:56:48 by steve Set type=static for static addresses commit 8771b7a84cfd93574d044fa72c900173f8241bbb Author: Steve Kemp Date: Tue May 23 19:48:20 2006 +0000 2006-05-23 19:48:20 by steve Fixed networking to work in the correct manner for Centos4 & etc. Allow networking to work with DHCP. commit 55a7f22cc30b5f764417c4e910df08f99ba37201 Author: Steve Kemp Date: Tue May 23 18:30:01 2006 +0000 2006-05-23 18:30:01 by steve BUGFIX x2: Really fix the yum repository lines. I need more sleep. commit af96407e9be71d054cbbf584bad81d9a4faf2455 Author: Steve Kemp Date: Tue May 23 18:20:01 2006 +0000 2006-05-23 18:20:01 by steve BUGFIX: Setup yum correctly. D'oh. commit d8cd8b84c083a7c340930d73447b0e46855d5d2b Author: Steve Kemp Date: Tue May 23 17:55:47 2006 +0000 2006-05-23 17:55:47 by steve Try to install twice. This helps (???) commit 116a154de2d0b7290dca08e955cc0ca1e61ce64c Author: Steve Kemp Date: Tue May 23 17:54:52 2006 +0000 2006-05-23 17:54:52 by steve Removed the test for ${rpmstrap} now that we test for binaries instead. commit a9e20baceef0ecdb7ee3da80c9b215357b65d17f Author: Steve Kemp Date: Tue May 23 17:37:21 2006 +0000 2006-05-23 17:37:21 by steve Attempt to install openssh with yum. Untested. commit 5f7f728ffcbf0db9a927249c4988f87779826c7d Author: Steve Kemp Date: Tue May 23 17:35:07 2006 +0000 2006-05-23 17:35:07 by steve Setup yum for centos4. Might work for other distros. commit b23eed9aee3b0b262ac48ac852f7eb6c86261add Author: Steve Kemp Date: Tue May 23 15:51:15 2006 +0000 2006-05-23 15:51:15 by steve YaY: Working network for static IP centos4 .. and more? commit 5d00d281f9f986b2a86c8acec40ce5a356e4c5d7 Author: Steve Kemp Date: Tue May 23 15:40:24 2006 +0000 2006-05-23 15:40:24 by steve BUGFIX: Create devices for rpmstrap correctly. commit 83352d210653489cb2e07da819d9b79e8faf1a8b Author: Steve Kemp Date: Tue May 23 14:22:10 2006 +0000 2006-05-23 14:22:10 by steve Added TAB completion to the --ide argument of xen-create-image. commit d0486e99b83d387237f199fc16a7127a081ac05c Author: Steve Kemp Date: Tue May 23 13:46:49 2006 +0000 2006-05-23 13:46:49 by steve BUGFIX don't unmount too early for rpmstrap. Sooooo close to working now :) commit 663c0330e9dcbac8f916d18511e52b8a80a642e7 Author: Steve Kemp Date: Tue May 23 12:36:46 2006 +0000 2006-05-23 12:36:46 by steve Allow tab-completion on the available distributions provided by rpmstrap. commit 4272bb7d30a0d8c1c49d2c7637f5232cc4f49ea2 Author: Steve Kemp Date: Tue May 23 12:33:19 2006 +0000 2006-05-23 12:33:19 by steve BUGFIX: Correctly run rpmstrap commit 7c26f68fd85b16b7e9c847264a19ac324fad047b Author: Steve Kemp Date: Tue May 23 12:26:13 2006 +0000 2006-05-23 12:26:13 by steve Updated hooks to work with rpmstrap. commit cfaf24fac1abf8b0ca2b742cacc1cdbc730c6437 Author: Steve Kemp Date: Tue May 23 12:21:36 2006 +0000 2006-05-23 12:21:36 by steve EXPERIMENTAL: Added support for rpmstrap, to install non-Debian distributions. Only had minimal testing, but seemed mostly to do the right thing. commit ed4a35c598e4b93c3e58371a283b062abdb78fb1 Author: Radu Spineanu Date: Thu May 18 08:39:32 2006 +0000 2006-05-18 08:39:32 by radu Changed remaning ${use-ide} in 95-create-cfg to ${ide} (debian bug #366252) commit 75e272dc06fcae6d079de49b20c927cfd43df9b7 Author: Steve Kemp Date: Mon May 8 21:36:19 2006 +0000 2006-05-08 21:36:19 by steve Updated ssh copying example to actually work. /.ssh != /root/.ssh commit 9545c87a85912818690a9613098461af5f2a50db Author: Steve Kemp Date: Mon May 8 21:26:46 2006 +0000 2006-05-08 21:26:46 by steve Actually copy dotfiles from the skel directory. *sigh* commit 93bd6205f9127b8fa8d1c98a9586b0b123045949 Author: Steve Kemp Date: Mon May 8 20:55:39 2006 +0000 2006-05-08 20:55:39 by steve Mention '--force', '--initrd', and '--kernel' in the xen-create-image script. commit ad4525a810db2d8e56194f5254e54bff2c2d20f5 Author: Steve Kemp Date: Mon May 8 20:54:35 2006 +0000 2006-05-08 20:54:35 by steve Minor updates to the embedded manual. Added documentation for the 'skel' directory. commit 8cfd1c9dc3b4e488e2c610a3706dad4023d74811 Author: Steve Kemp Date: Mon May 8 20:47:14 2006 +0000 2006-05-08 20:47:14 by steve Abort if an output disk image/swap image already exists. Add --force to proceed anyway. (See Debian bug #366403) commit c34433e08f233c427c0c4a2eb8184fe3d01245b1 Author: Steve Kemp Date: Sun May 7 14:36:40 2006 +0000 2006-05-07 14:36:40 by steve Updated release to 1.4 commit 5cb6c8055e06ac839b5ecb6a7128b9d3a10cac40 Author: Steve Kemp Date: Sun May 7 14:36:06 2006 +0000 2006-05-07 14:36:04 by steve Added support for a initrd to be included in the xen configuration file. commit 94f4552f45faec32c53254e7fc48ce8831b7bffc Author: Steve Kemp Date: Thu May 4 20:52:59 2006 +0000 2006-05-04 20:52:59 by steve Make sure we fixup any lines beginning with ^T commit 4e67914aee75a19dbc13bd10f3e67b032c28f7c1 Author: Steve Kemp Date: Sun Apr 30 11:57:06 2006 +0000 2006-04-30 11:57:06 by steve Applied simplification patch from Tom Mornini. commit 2271c3b8dc6f9501df032a40cc5fbc1f793936d1 Author: Steve Kemp Date: Fri Apr 28 12:07:27 2006 +0000 2006-04-28 12:07:27 by steve Updated. commit 54d9b68e7e09db04567b7593fadb863d9765753e Author: Steve Kemp Date: Fri Apr 28 12:06:19 2006 +0000 2006-04-28 12:06:19 by steve Add script to copy from skel directory, if present. commit 3c6789beb190d5ae025e5d1eb4760acd5a1507d4 Author: Steve Kemp Date: Fri Apr 28 12:05:36 2006 +0000 2006-04-28 12:05:36 by steve Add a hook to copy from a skel directory, if present. commit 63be301f123b0626af8caf4a1dd62dddab6c94e1 Author: Steve Kemp Date: Tue Apr 25 18:27:38 2006 +0000 2006-04-25 18:27:38 by steve Give message and abort if the --dir argument is missing. commit b48027b989dd51999cdf59974d25d0d266f99d4e Author: Steve Kemp Date: Sun Apr 23 15:32:22 2006 +0000 2006-04-23 15:32:22 by steve BUGFIX: Correctly detect the use of $passwd commit 7fbb0fe5a05856ef82b7fa9b5baff78845065c81 Author: Steve Kemp Date: Thu Apr 20 10:01:01 2006 +0000 2006-04-20 10:01:01 by steve Add a commented out example of using ethtool to disable checksumming. commit 63156e56ce1efe27712fed3bef83785ed85f5580 Author: Radu Spineanu Date: Tue Apr 18 18:49:01 2006 +0000 2006-04-18 18:49:01 by radu Don't forget /etc/gshadow and /etc/group commit e84d075cde2d94f57807c5fba75f52ea0e139799 Author: Steve Kemp Date: Sat Apr 15 02:32:40 2006 +0000 2006-04-15 02:32:40 by steve Updated release to 1.3 commit 9068d6962ee4c44c2962718309bf201f6297a1e3 Author: Steve Kemp Date: Wed Mar 29 07:33:45 2006 +0000 2006-03-29 07:33:45 by steve Don't forget to load the Env module. commit 8cc0a3732ea04865b42a85f9748321564496508a Author: Steve Kemp Date: Wed Mar 29 07:33:13 2006 +0000 2006-03-29 07:33:13 by steve Only mess with /etc/shadow + /etc/passwd if --passwd is *not* used. commit ff8a8e6d0f5e4e2500d4db13bb47a224617964f7 Author: Steve Kemp Date: Wed Mar 29 07:30:57 2006 +0000 2006-03-29 07:30:57 by steve Don't copy the same file twice! commit 312710044c387b459dd0c1ed8bc1de20ff9e57a1 Author: Steve Kemp Date: Wed Mar 29 07:29:55 2006 +0000 2006-03-29 07:29:55 by steve Rewritten in Perl. Only copy non-system password file entries. *Always* copy /etc/shadow. This will stop system IDs such as Debian-exim from being corrupted. (See debian bug #357641) commit 33f2126bfc4d88b399c392b53e3e808a3e993b4d Author: Steve Kemp Date: Tue Mar 28 07:19:42 2006 +0000 2006-03-28 07:19:42 by steve Abort if /usr/bin/apt-get isn't executable in the debootstrap installed system. commit 5cf3b0021eede05f5f280a7f0c2c5ef89b911e97 Author: Radu Spineanu Date: Mon Mar 20 17:51:10 2006 +0000 2006-03-20 17:51:10 by radu Ignore hooks that end with .dpkg-new,.dpkg-old and ~ commit c45a6eba1f49564e69e758533fbc274ae2cee664 Author: Steve Kemp Date: Mon Mar 13 10:00:47 2006 +0000 2006-03-13 10:00:47 by steve Remove the CVS $ID:$ markers from the file to avoid merge warnings. commit 8d4454dd634562dc70d103336aa9959ffeae956a Author: Steve Kemp Date: Mon Mar 13 10:00:32 2006 +0000 2006-03-13 10:00:32 by steve Minor comment updates commit 163ca8df214407bdfc3413081e4602c0d842180b Author: Steve Kemp Date: Sat Mar 11 21:43:52 2006 +0000 2006-03-11 21:43:52 by steve Setup environment prior to running the xen .cfg hook commit 4dcbb4ba09254b3addbe184fd9c26d38cc00241f Author: Steve Kemp Date: Sat Mar 11 21:39:52 2006 +0000 2006-03-11 21:39:52 by steve Warn if we can't create the xen configuration file. commit a7046122194dd05c674d2ef21101bceb36e1a455 Author: Steve Kemp Date: Sat Mar 11 21:37:04 2006 +0000 2006-03-11 21:37:04 by steve BUGFIX: .deb file caching now works as expected. commit e2ba4f42d0f74a5c514d321d58b09aa25e2468ff Author: Steve Kemp Date: Sat Mar 11 21:11:56 2006 +0000 2006-03-11 21:11:56 by steve Make sure we always use ${prefix} not $prefix as a stylistic change commit 9058f2f6777815420e7c1933c439e96ecc46e7ed Author: Steve Kemp Date: Sat Mar 11 21:02:43 2006 +0000 2006-03-11 21:02:43 by steve xen-clone-image -> xen-duplicate-image. commit 741916fe0f6b8a907071117ac67b125cc48fd9de Author: Steve Kemp Date: Sat Mar 11 20:57:12 2006 +0000 2006-03-11 20:57:12 by steve BUGFIX: Really fix the broken image+swap devices in the xen .cfg file. commit c004ac8c0b2ed9be459e86185e068d4c4c5981ad Author: Steve Kemp Date: Sat Mar 11 20:15:57 2006 +0000 2006-03-11 20:15:57 by steve BUGFIX: image_vbd + swap_vbd are invalid environment options. commit b80932a8038d43a514ae5068a7fef675a76165a7 Author: Steve Kemp Date: Sat Mar 11 19:56:56 2006 +0000 2006-03-11 19:56:56 by steve BUGFIX: Test the correct directory for the existance of the hook. commit 0a605e7201770cc0c612b3491522d6ae93a0c11b Author: Steve Kemp Date: Sat Mar 11 19:55:44 2006 +0000 2006-03-11 19:55:44 by steve Version number bumped to 1.2 - new release if testing says it all works. commit 9fd433d51ab26cbd7c798e93a7f0def5790a3ff9 Author: Steve Kemp Date: Sat Mar 11 19:53:39 2006 +0000 2006-03-11 19:53:39 by steve Moved the xen cfg creation to use the hook to avoid duplication. Added support for the '--ide' command line option. commit df2ee70a604750a1bbe68d8680d9097eb7035210 Author: Steve Kemp Date: Sat Mar 11 19:50:40 2006 +0000 2006-03-11 19:50:40 by steve Added a linebreak to make the paragraphs match commit 637aaa39e8c0d3b41770369791fa692dac3ea66d Author: Steve Kemp Date: Sat Mar 11 19:50:09 2006 +0000 2006-03-11 19:50:09 by steve Xen configuration file creation is now done in a hook :) commit 011fb4345fb62ccb6e0298c414cb8d8c5685907f Author: Steve Kemp Date: Sat Mar 11 19:45:51 2006 +0000 2006-03-11 19:45:50 by steve Add 'vif='[ip=xxx]' to the Xen configuration file if the address is static. Added test case to make sure this works. commit 6ff9a3be7bbbef2c138e19cc8dda28b9e0f8ef8e Author: Radu Spineanu Date: Fri Mar 10 18:18:59 2006 +0000 2006-03-10 18:18:59 by radu Add vif = [''] to xen-duplicate-image too (#356224) commit c53d0d2fdbeba625e201a2d2cef62453a207e382 Author: Steve Kemp Date: Wed Mar 8 21:01:44 2006 +0000 2006-03-08 21:01:44 by steve Make sure that the /etc/inittab file is updated as expected commit c96cbefbce8cc61259d8c32620f05f76cf40b5f4 Author: Steve Kemp Date: Wed Mar 8 20:08:28 2006 +0000 2006-03-08 20:08:28 by steve Updated the TLS disabling script to remove the chmod 0. Added test case to ensure the script works. commit 2e50d04a11ec3347c9cb18063306a50e5899e131 Author: Steve Kemp Date: Wed Mar 8 20:01:58 2006 +0000 2006-03-08 20:01:58 by steve Rmeove the immutable flag on /lib/tls, since this prevents package upgrades. *sigh* commit ff573baf9cecdfc72249a3f2b3cb0c3c267c5825 Author: Radu Spineanu Date: Wed Mar 8 18:43:35 2006 +0000 2006-03-08 18:43:35 by radu Forgot to remove testing variables. commit 84de085a514eaa2eaeb84f9ee95ae3d4dcdba2cb Author: Radu Spineanu Date: Wed Mar 8 18:37:02 2006 +0000 2006-03-08 18:37:01 by radu Moved Xen configuration file creation in a hook commit 561aacb3b83f3307f71fffbd5d42267bcc3e85e5 Author: Radu Spineanu Date: Wed Mar 8 18:10:07 2006 +0000 2006-03-08 18:10:07 by radu cat instead of copy resolv.conf to preserve contents if resolvconf is installed (#355910) commit 7381fb710658eefe9be8be309173f54da62277a9 Author: Steve Kemp Date: Sat Mar 4 23:31:20 2006 +0000 2006-03-04 23:31:20 by steve Added to the repository, test the pod we make. commit 49fbdf3a35f3343974e3f069ba3e0df7c10f2c61 Author: Steve Kemp Date: Fri Feb 24 23:00:31 2006 +0000 2006-02-24 23:00:31 by steve Fix the inittab to use console regardless of the tty number. commit 65f8dcc4162b7f4482b10a5c376ac400cbf23573 Author: Radu Spineanu Date: Thu Feb 23 00:30:50 2006 +0000 2006-02-23 00:30:50 by radu Removed $Id$ tag from xen-tools.conf to avoid having to merge configuration changes with every upgrade (see #353969) commit 44ff1d6f3eed020718b8967f266b9e4abddeca4e Author: Steve Kemp Date: Wed Feb 22 19:24:41 2006 +0000 2006-02-22 19:24:40 by steve The command line flag '--use-ide' has been changed to '--ide' commit 3ddbd14dc7c58ee6f48ac2924fd2b11933ef5b6d Author: Steve Kemp Date: Tue Feb 21 00:17:25 2006 +0000 2006-02-21 00:17:25 by steve Don't build manpages when making a tarball commit 33ead44b1d957dd51da0be400828709b46f61dfc Author: Steve Kemp Date: Tue Feb 21 00:16:30 2006 +0000 2006-02-21 00:16:30 by steve Fix broken pod. commit ece9107037c01898b7b428cfe148ebfe74d6a6a0 Author: Steve Kemp Date: Mon Feb 20 00:45:16 2006 +0000 2006-02-20 00:45:16 by steve Add the IP address of the new instance upon the host system. commit 74cae3c59abdc883fc8b742be837e2fed40fd903 Author: Steve Kemp Date: Sat Feb 18 20:11:00 2006 +0000 2006-02-18 20:11:00 by steve Prepare for 1.1 release. commit 7c77b2ae398af0ce0f27f24cdd14920e79b50b5b Author: Steve Kemp Date: Sat Feb 18 12:39:32 2006 +0000 2006-02-18 12:39:32 by steve Updated the documentation/manual. Mostly this is just cleanup and spelling corrections, but also the use of LVM has been integrated into the text. commit ab909cd04ec2326a67a5e5a22f27f6d2dd0a0ee4 Author: Steve Kemp Date: Sat Feb 18 12:28:37 2006 +0000 2006-02-18 12:28:36 by steve Updated the configuration file so out test case passes. commit be76424894649bd4daa19cac105f3c33d78feed1 Author: Steve Kemp Date: Sat Feb 18 12:24:59 2006 +0000 2006-02-18 12:24:59 by steve Disable the output directory by default, the user must choose their own. commit 40d5ce286100353c3f46c14efbf6d4b124656504 Author: Steve Kemp Date: Sat Feb 18 12:24:23 2006 +0000 2006-02-18 12:24:23 by steve Create an empty /lib/tls directory on the host and ensure it may not be used. commit 3c34c5049bdc18f2c724be248f2624c4f3c5af16 Author: Steve Kemp Date: Sat Feb 18 12:24:05 2006 +0000 2006-02-18 12:24:05 by steve Minor comment update. commit d4e2396632bb2fce0bd587b8eb1c6af6d872bc8b Author: Steve Kemp Date: Sat Feb 18 12:23:24 2006 +0000 2006-02-18 12:23:24 by steve Improve comment regarding sudo. commit c0467b53b6035d11aafc361342f62f570ea6e77a Author: Steve Kemp Date: Sat Feb 18 12:23:12 2006 +0000 2006-02-18 12:23:12 by steve Formatting change. commit b47a57aa2f8ca8141246550ffdc4a6d9a9f68cf4 Author: Steve Kemp Date: Sat Feb 18 12:23:01 2006 +0000 2006-02-18 12:23:01 by steve Create /dev entries for the guest. commit d7f0fe1b441383c2fb06c6be4a1ea53ee847714a Author: Steve Kemp Date: Sat Feb 18 00:29:12 2006 +0000 2006-02-18 00:29:12 by steve Trivial formatting update. commit 105bf10fe0bef30d915f7de43d6b8dcae97cc19b Author: Radu Spineanu Date: Sat Feb 18 00:04:45 2006 +0000 2006-02-18 00:04:44 by radu Added support for having ide style device names (#352937) commit 36ad9df269109e7ee587e9c82bd68169f1bc6875 Author: Steve Kemp Date: Fri Feb 17 23:04:29 2006 +0000 2006-02-17 23:04:29 by steve Update the wording to be clearer for the last item. commit 5a0a6038d3cf2525cad49aecd4fb40bb19cbcd89 Author: Steve Kemp Date: Fri Feb 17 10:22:22 2006 +0000 2006-02-17 10:20:34 by steve Updated. commit f64e283df0313c28d5707a9ca8cc2c08d0f3019e Author: Steve Kemp Date: Fri Feb 17 10:19:07 2006 +0000 2006-02-17 10:19:07 by steve Update other scripts to use LVM. commit 221beeece1cb71c298796e6f800fd148a8cfb894 Author: Steve Kemp Date: Fri Feb 17 10:17:11 2006 +0000 2006-02-17 10:17:11 by steve Remvoed test string. Log works. commit e38516b4f69957dc2799e05728d80a6167b63eb9 Author: Steve Kemp Date: Fri Feb 17 10:15:46 2006 +0000 2006-02-17 10:15:46 by steve Test commit commit 2c5ebb76c2f662350c7911aea37caf5fcda3ac1d Author: Steve Kemp Date: Fri Feb 17 10:09:44 2006 +0000 2006-02-17 10:08:54 by steve Test commit commit 80b21a92d141d6e4f3292a6a7324d56008faacb2 Author: Steve Kemp Date: Fri Feb 17 10:01:11 2006 +0000 2006-02-17 10:01:11 by steve Test commit commit a66bb37e45c4dd0c7f4456a3e666ffe97e28f9ec Author: Steve Kemp Date: Fri Feb 17 09:58:43 2006 +0000 2006-02-17 09:58:43 by steve test commit commit 49d62ffe65d17cb457f69a755c04477efdecc631 Author: Radu Spineanu Date: Fri Feb 17 09:19:35 2006 +0000 2006-02-17 09:19:35 by radu Test commit. commit 0db5a54d77fc0a252b4f5ec77e91254319d5f98d Author: Radu Spineanu Date: Fri Feb 17 09:18:13 2006 +0000 2006-02-17 09:18:13 by radu Test. commit 467fee7d41b6f1fafe481e53444378257c7b0e94 Author: Steve Kemp Date: Fri Feb 17 07:57:54 2006 +0000 2006-02-17 07:57:54 by steve Make the disk image the right size. Debian bug 353155 commit 3d7f33eaa2bc34d95ce810bed1ff546b75ba07bd Author: Steve Kemp Date: Fri Feb 17 07:32:06 2006 +0000 2006-02-17 07:32:06 by steve Fix syntax error. D'oh. commit f29c2dae87dcdcdb7ed2d61c37347c4c49671991 Author: Steve Kemp Date: Fri Feb 17 07:30:27 2006 +0000 2006-02-17 07:30:27 by steve Made the creation of the Xen configuration file simpler with regards to disk images. commit 50131b98b68d867e0117ce5fa27aac4dcce714bb Author: Steve Kemp Date: Thu Feb 16 19:24:38 2006 +0000 2006-02-16 19:24:38 by steve Setup the volume disks correctly in the xen configuration file. commit 1481b0113f75ca673c5a1e21ea9bb47b20bc356a Author: Steve Kemp Date: Thu Feb 16 19:22:21 2006 +0000 2006-02-16 19:22:21 by steve ADon't always test for --dir. commit f87caf9763c8d07d5d6cd74917d8f3c2b3875941 Author: Steve Kemp Date: Thu Feb 16 18:17:14 2006 +0000 2006-02-16 18:17:14 by steve Add a sample LVM volume entry commit 82a020638732453a07035224ca4400dee8d4b8eb Author: Steve Kemp Date: Thu Feb 16 18:14:01 2006 +0000 2006-02-16 18:14:01 by steve Give credit to Justin Azoff for the LVM work. commit 315a4761fecee09fce41c01c86c93a2806d00c9b Author: Steve Kemp Date: Thu Feb 16 18:12:17 2006 +0000 2006-02-16 18:12:17 by steve Add LVM support. commit 78c20fde24eb3c0191cfca6a41bad3340a4651ad Author: Steve Kemp Date: Thu Feb 16 18:06:03 2006 +0000 2006-02-16 18:06:03 by steve Add '--volume' completion. commit d86bd574c66484de778c3e43599b34fc20f83f94 Author: Steve Kemp Date: Thu Feb 16 18:05:16 2006 +0000 2006-02-16 18:05:16 by steve Mention the LVM support. commit 6b315542104503ef1e3fd2dfa66b1164bde43d7a Author: Steve Kemp Date: Thu Feb 16 18:05:09 2006 +0000 2006-02-16 18:05:09 by steve Add command line support for --volume - but exit and say it isnt' supported. commit 0ed4c424b732062eae82e65ef587b0a15a293689 Author: Steve Kemp Date: Mon Feb 6 12:44:19 2006 +0000 2006-02-06 12:44:19 by steve Updated version to 1.0 commit 5dabf3045ac5f1bb8b784c766757dd86ca0fc668 Author: Steve Kemp Date: Sun Feb 5 18:14:55 2006 +0000 2006-02-05 18:14:55 by steve New test: Make sure role scripts are executable. commit a1f51bf513eeb47da610ffd62b1c29cc2ad3265f Author: Steve Kemp Date: Sun Feb 5 18:12:54 2006 +0000 2006-02-05 18:12:54 by steve Mention the `builder` role. commit a4fa67d0a5105774b901d9cdb12ade99d2e5473e Author: Steve Kemp Date: Sun Feb 5 18:10:34 2006 +0000 2006-02-05 18:10:34 by steve Add the builder role script commit e788f68963ed3a07d7baf5d81ce938f15093c7a4 Author: Steve Kemp Date: Sun Feb 5 14:53:35 2006 +0000 2006-02-05 14:53:35 by steve Use a function to install packages. commit 0069f07705f3a4165060e9e8a21d8dda698245c6 Author: Steve Kemp Date: Sun Feb 5 14:53:27 2006 +0000 2006-02-05 14:53:27 by steve Install sudo upon the guest if /etc/sudoers is present. commit f113cc8a243fa301d1839bbdb0b001fc337d4ee5 Author: Steve Kemp Date: Sun Feb 5 13:38:49 2006 +0000 2006-02-05 13:38:49 by steve There is only a single configuration file. Updated comments to match this. commit f396bace99bb15a978ec9bc6c17eb06d68f1e6fa Author: Steve Kemp Date: Sun Feb 5 13:38:34 2006 +0000 2006-02-05 13:38:34 by steve Minor comment updates. commit 7dafe755632278b1783860ce8f54b32eadf3bf92 Author: Steve Kemp Date: Sun Feb 5 13:18:53 2006 +0000 2006-02-05 13:18:53 by steve Typo fix. commit a9393f5eec30d4ab0f89a9d14b9917f6a7b7d4ac Author: Steve Kemp Date: Sun Feb 5 13:16:56 2006 +0000 2006-02-05 13:16:56 by steve DOn't show networking details when running with --test. commit aad2a16f95bc0b00c6ffdcc43aa2434e8dfe1899 Author: Steve Kemp Date: Sun Feb 5 13:12:58 2006 +0000 2006-02-05 13:12:58 by steve Add the 'vif' line to the Xen configuration files in /etc/xen, so they will have networking in Xen 3.0.1 commit fd9c8fc58651596fefb0ae04df9be5b24a2018bd Author: Steve Kemp Date: Sat Jan 21 22:23:10 2006 +0000 2006-01-21 22:23:10 by steve Updated version(s) to 0.9 commit 69067b0e0d4c04145828d41d847935c1887508e7 Author: Steve Kemp Date: Sat Jan 21 22:22:44 2006 +0000 2006-01-21 22:22:44 by steve Make caching of .deb files optional commit c542454e11a116646025340a1a0d2004855c8fb0 Author: Steve Kemp Date: Tue Jan 17 15:23:19 2006 +0000 2006-01-17 15:23:19 by steve Added link to homepage + CVS repository. commit cbf96eefd7b8dea77c18b45a9175c5ee398b643a Author: Steve Kemp Date: Mon Jan 16 13:19:46 2006 +0000 2006-01-16 13:19:46 by steve Make the `minimal` role more .. minimal. commit 72e5601ca00a02a425f8d4d299f2c862727655cc Author: Steve Kemp Date: Wed Jan 11 01:07:56 2006 +0000 2006-01-11 01:07:56 by steve Avoid errors if `ls` command fails. commit e99c2d62c2fc9a3d6dea104b29416f1f44367796 Author: Steve Kemp Date: Wed Jan 11 01:06:56 2006 +0000 2006-01-11 01:06:56 by steve Don't give error if "xm create [TAB]" cannot find any *.cfg files. commit 352b18e26612c24ca6ae3c623b4940c6c203e80c Author: Steve Kemp Date: Tue Jan 10 23:09:28 2006 +0000 2006-01-10 23:09:28 by steve Fix the revision display so that it works correctly. commit 48f1c93bfad19b75eabac25a74aa206139670574 Author: Steve Kemp Date: Tue Jan 10 23:06:00 2006 +0000 2006-01-10 23:06:00 by steve Use 'Revision:' not 'Id: ' for showing the CVS revision number. commit 4dd8034b086563b9c22b4930491b090ed49f8019 Author: Steve Kemp Date: Mon Jan 9 21:56:04 2006 +0000 2006-01-09 21:56:04 by steve Added simple test to make sure every value in the supplied configuration file is valid. commit 873739b486de41a00afa5f0ebd3381b9689518e2 Author: Steve Kemp Date: Mon Jan 9 21:11:06 2006 +0000 2006-01-09 21:11:06 by steve Added to the repository to give an overview of the directory contents. commit 7bcb11f6a22331267db5ad4ce0269d197eb6395f Author: Steve Kemp Date: Mon Jan 9 21:06:06 2006 +0000 2006-01-09 21:06:06 by steve Mention the root-access required by many scripts. commit e97ca9e3750aa25e2faf0a9ebcc0ef8eaa0ee496 Author: Steve Kemp Date: Sun Jan 8 23:46:01 2006 +0000 2006-01-08 23:46:01 by steve Fix the sample configuration file entry to read 'fs' not 'filesystem' commit 97bf514ff6c4573bdd6f6173bbb7215f4a5473fc Author: Steve Kemp Date: Sun Jan 8 23:43:55 2006 +0000 2006-01-08 23:43:55 by steve Document '--dir' commit ee10b09d158ace908a6480bf4839ef7443683161 Author: Steve Kemp Date: Sun Jan 8 23:43:21 2006 +0000 2006-01-08 23:43:21 by steve Update the help information for the --dir argument. commit afc1ec781113facf8662622c18fe7690b8cf9d13 Author: Steve Kemp Date: Sun Jan 8 23:42:45 2006 +0000 2006-01-08 23:42:45 by steve Updated comment for the --dir flag. Updated error message for non-root user. commit 450ab96badde8e37715eeeb7cd59aa8268a9d641 Author: Steve Kemp Date: Sun Jan 8 22:28:58 2006 +0000 2006-01-08 22:28:58 by steve Use 'fs = foo', not 'filesystem = foo'. commit 08930633e0177158e99b2d49b1d556dcc893530d Author: Steve Kemp Date: Sun Jan 8 21:37:05 2006 +0000 2006-01-08 21:37:05 by steve Clean the generated manpages correctly. Fix from Radu Spineanu. commit a7815617cc189a059af6c891890e7423c30b1ee1 Author: Steve Kemp Date: Sun Jan 8 02:13:31 2006 +0000 2006-01-08 02:13:31 by steve Fix error in pod, revealed by test script. commit 79a87e90dc0bf8c3faa7ba4f2b37175db13cadfd Author: Steve Kemp Date: Sun Jan 8 02:12:47 2006 +0000 2006-01-08 02:12:47 by steve Updated POD to avoid Emacs syteax highlighting errors. commit 7ed99642a0278e604b1ac6a61fd2534518c8bf1e Author: Steve Kemp Date: Sun Jan 8 02:10:52 2006 +0000 2006-01-08 02:10:52 by steve The hostname argument is no more. commit 8c54ad962c2d0c96001eb5524d8a549a4dd5ea2d Author: Steve Kemp Date: Sun Jan 8 02:10:00 2006 +0000 2006-01-08 02:10:00 by steve Updated so that the completion of hostnames works on xen-update-image commit 213257a4b7a3ab77fcd3a22c7fa99d87e3751969 Author: Steve Kemp Date: Sun Jan 8 02:07:51 2006 +0000 2006-01-08 02:07:51 by steve Allow multiple images to be updated in one go. Abort if started by non-root user. commit 341f6ddaf461131566529bbed39365b3ab32ce32 Author: Steve Kemp Date: Sun Jan 8 02:01:36 2006 +0000 2006-01-08 02:01:36 by steve Minor commenting updates. commit 02900c8249cb47155707fdc1d0f36db092a80996 Author: Steve Kemp Date: Sun Jan 8 01:57:43 2006 +0000 2006-01-08 01:57:43 by steve Added an example. commit c691436be2c795b7f784c632dd6acbd7ebd65db1 Author: Steve Kemp Date: Sun Jan 8 01:55:19 2006 +0000 2006-01-08 01:55:19 by steve Mention 'boot=1'. commit 8e8758b8ad0a0a441d016b750e743f114501aa39 Author: Steve Kemp Date: Sun Jan 8 01:53:33 2006 +0000 2006-01-08 01:53:33 by steve imported into cvstrac commit b681b037c50c47562e8d656297936d15fb2fc963 Author: Steve Kemp Date: Sat Jan 7 23:23:12 2006 +0000 2006-01-07 23:23:12 by steve Updated version number. Updated tests to work with renamed hook.d commit c63de18b98e6750353a91720af629cb6a62b9de0 Author: Steve Kemp Date: Sat Jan 7 23:21:14 2006 +0000 2006-01-07 23:21:14 by steve Correctly purge ppp + pppconfig commit b9757f2dc03c8f98bbdf825daf9778303f205dbc Author: Steve Kemp Date: Sat Jan 7 22:57:02 2006 +0000 2006-01-07 22:57:02 by steve Fixed to actually work. :) commit a83e9f7c8cb0b2a0e1e92c0c7e0da292a01baf12 Author: Steve Kemp Date: Sat Jan 7 22:36:24 2006 +0000 2006-01-07 22:36:24 by steve Remove the default settings prior to making our changes. commit f3872606547c30f4637ca5a333ca364978eaa766 Author: Steve Kemp Date: Sat Jan 7 21:54:44 2006 +0000 2006-01-07 21:54:44 by steve Big changes: xen-create-image.d has been renamed to hook.d There is now support for roles, via role.d - which allows per-role scripts to run. commit 3d56efdc82fd4af1715ff92e5fcbad87fb5156e6 Author: Steve Kemp Date: Sat Jan 7 21:41:16 2006 +0000 2006-01-07 21:41:16 by steve Added support for --role and --test arguments. BUGFIX: Completion for xen-create-image works correctly. commit c34bc6e291935fc8c8f4844ca96e2622a174d436 Author: Steve Kemp Date: Sat Jan 7 17:41:58 2006 +0000 2006-01-07 17:41:58 by steve Added a new --test flag to xen-delete-image and updated the test script to use it. commit 64b9f5e6b8a779c733db6dc6549b0cb6aad7855c Author: Steve Kemp Date: Sat Jan 7 17:39:34 2006 +0000 2006-01-07 17:39:34 by steve Use the new --test command line flag. commit ee7c2b47535c4ce2bbc5fd42b1fc68aca92e4d6a Author: Steve Kemp Date: Sat Jan 7 17:38:27 2006 +0000 2006-01-07 17:38:27 by steve Added a --test flag to allow our test script to work. commit 721dbac61a7e24d57586a89ec37892d7f812a54f Author: Steve Kemp Date: Sat Jan 7 17:25:40 2006 +0000 2006-01-07 17:25:40 by steve Test that xen-list-images can test two images. commit d2adbd04d42c4f2c80dcbade97ab8e76e5f7a460 Author: Steve Kemp Date: Sat Jan 7 17:25:27 2006 +0000 2006-01-07 17:25:27 by steve Don't care for the moment if /etc/xen/$foo.cfg doesn't exist. Used for the test script. commit f912baa6ae095db3492c834a4e669e08ac2cc033 Author: Steve Kemp Date: Sat Jan 7 17:12:57 2006 +0000 2006-01-07 17:12:57 by steve Test that the xen-delete-image script deletes disk + swap images correctly. commit 0c7a7e8f94806edd2218fae59e882f35a1804b92 Author: Steve Kemp Date: Fri Jan 6 16:04:53 2006 +0000 2006-01-06 16:04:53 by steve Documentation updates - getTerminalWidth -> getTerminalSize commit 940f575c431b595285cd0747a413770e4f76da6a Author: Steve Kemp Date: Fri Jan 6 14:44:54 2006 +0000 2006-01-06 14:44:54 by steve The xen-delete-image script now takes hostnames upon the command line, no need for a '--hostname' parameter. It also allows multiple deletions at once. commit 77d9a0464e2bd88131df796e562ac228b5c32265 Author: Steve Kemp Date: Wed Jan 4 08:38:42 2006 +0000 2006-01-04 08:38:42 by steve + Support LVM + Added CVS revision marker. commit 9d0e263f70e19750fe89516f43f40584a58f699b Author: Steve Kemp Date: Wed Jan 4 08:38:06 2006 +0000 2006-01-04 08:38:06 by steve The 'todo' section of the README has been moved into its own file to be more findable. commit 83335a98d4e16e1f1306b1627f300dfd7155e51c Author: Steve Kemp Date: Mon Jan 2 14:06:20 2006 +0000 2006-01-02 14:06:20 by steve Updated. commit 063bff3d0e5bf42c73d8e3aff5edb75ab469e990 Author: Steve Kemp Date: Mon Jan 2 14:05:58 2006 +0000 2006-01-02 14:05:58 by steve Updated headers slightly. commit 07c0b7884a323afdedc63925442a2384903317a6 Author: Steve Kemp Date: Mon Jan 2 14:04:14 2006 +0000 2006-01-02 14:04:14 by steve Added to repository; test that each plugin avoids the $CONFIG hash, this would have caught the /etc/fstab error in the 0.6 release. commit 6a5c1ac1f7c1836dd23acdd4c054ecbefa50ec3e Author: Steve Kemp Date: Mon Jan 2 13:59:13 2006 +0000 2006-01-02 13:59:13 by steve Updated header to include revision marker. commit 64999c13a8db4bde5c36550d10e85686680047d9 Author: Steve Kemp Date: Sun Jan 1 19:13:19 2006 +0000 2006-01-01 19:13:19 by steve Remove the mention of ~/.xentools.conf. Reordered settings to be more logical. commit 7a039db40b43ee9e702e5556a40dfe8ff148a9aa Author: Steve Kemp Date: Sun Jan 1 15:08:43 2006 +0000 2006-01-01 15:08:43 by steve Version 0.7. commit f7a0e8bd4987d3bc40f90c20e0f79b68451306b0 Author: Steve Kemp Date: Sun Jan 1 14:38:26 2006 +0000 2006-01-01 14:38:26 by steve The caching is now achieved through one simple routine rather than two copies of the same code. commit fc797786504794575c0a30022e87fea798f6aed3 Author: Steve Kemp Date: Sun Jan 1 14:28:32 2006 +0000 2006-01-01 14:28:32 by steve Minor comment tweaks. commit 97eb0274664c64972006729a7761099ea3b35434 Author: Steve Kemp Date: Sun Jan 1 14:18:46 2006 +0000 2006-01-01 14:18:46 by steve Removed version number - one less thing to update. Tweaked wording slightly. commit 3c12a34dd1bdfa8f944b70dc258e7c83a27b5763 Author: Steve Kemp Date: Sun Jan 1 14:16:55 2006 +0000 2006-01-01 14:16:55 by steve Minor whitespace updates. commit 62b1b7471d37701bb76965838eddb302f4702c03 Author: Steve Kemp Date: Sun Jan 1 13:49:08 2006 +0000 2006-01-01 13:49:08 by steve BUGFIX: Setup the /etc/fstab file correctly, as noted by James Clendenan commit d32ed14116ded5572d73fb6b1b9aa76a08c8cc05 Author: Steve Kemp Date: Tue Dec 27 16:07:17 2005 +0000 2005-12-27 16:07:17 by steve BUGFIX: Call the _xen_create_image function properly. commit 0eec3fc5f30cc2a035e3bbf2b1bc59b3907f954b Author: Steve Kemp Date: Tue Dec 27 16:05:55 2005 +0000 2005-12-27 16:05:55 by steve More minor cleanups. commit a804fc47193adc756ee5a958d8362d6b3562888e Author: Steve Kemp Date: Tue Dec 27 16:01:58 2005 +0000 2005-12-27 16:01:58 by steve Updated the completion routines to all follow the same pattern. commit 5229238db681edada05fadf93e6961f864b4a98d Author: Steve Kemp Date: Mon Dec 26 18:33:01 2005 +0000 2005-12-26 18:33:01 by steve Setup an entry in /etc/hosts for the new image for non-dhcp hosts. commit a9c7b9ee4f3dfd616da4742f3825b13d09989a68 Author: Steve Kemp Date: Mon Dec 26 15:27:59 2005 +0000 2005-12-26 15:27:59 by steve Give a better error message when a filesystem creation binary is not installed. commit 837743f31635e5f9b19cf21555403596e41b753e Author: Steve Kemp Date: Mon Dec 26 15:26:30 2005 +0000 2005-12-26 15:26:30 by steve Make sure the selected filesystem is valid, this avoids errors when given --fs=foo commit a7c9a2897dc53886dbc069141a926c1c7019fc66 Author: Steve Kemp Date: Mon Dec 26 15:21:53 2005 +0000 2005-12-26 15:21:53 by steve Indent contributors via a list. commit a658ead45c92b48a7d6257a6d8615fbb18f82f70 Author: Steve Kemp Date: Sun Dec 25 20:20:06 2005 +0000 2005-12-25 20:20:06 by steve Version updating and reporting works correctly. D'oh. commit 60619123d17629c163969f8d4ff6c14df1e54b55 Author: Steve Kemp Date: Sun Dec 25 20:15:47 2005 +0000 2005-12-25 20:15:47 by steve Added new target 'update-version' to update the version of all the scripts prior to release. commit f747a4afd505589448b66ff9d1506685f48931b2 Author: Steve Kemp Date: Sun Dec 25 15:29:14 2005 +0000 2005-12-25 15:29:14 by steve Add completion to the commandline for --passwd. commit 2c6c794bb5169793ff8029e5b651fd732d9035bf Author: Steve Kemp Date: Sun Dec 25 15:27:18 2005 +0000 2005-12-25 15:27:18 by steve Applied patch from Radu Spineanu to optionally run `passwd` on the new image. commit 0962363194a10f793123a70d22590444e3c23975 Author: Steve Kemp Date: Sun Dec 25 02:17:02 2005 +0000 2005-12-25 02:17:02 by steve - Move moving into own routines, these are now helper hooks. + Qualify the systems hostname if it is not already qualified? commit 606b6758f70d1bc34b6b664a9245f6bbffb56224 Author: Steve Kemp Date: Sun Dec 25 02:16:00 2005 +0000 2005-12-25 02:16:00 by steve Added headers to each script and made some minor updates for some. commit 6759d8a4bde219b51db93c1d20580bbb68d062d0 Author: Steve Kemp Date: Sat Dec 24 20:38:52 2005 +0000 2005-12-24 20:38:52 by steve Updated version number to 0.6 commit f9752fd20c8a5a9fd7be8420a3794dcdbea52ac5 Author: Steve Kemp Date: Sat Dec 24 20:34:44 2005 +0000 2005-12-24 20:34:44 by steve The hook scripts are now only passed a single argument on the command line - the name of the mount point. The hostname is now accessible via the environment. commit 2d1f6ec282791c2165f896df1ebe78c2fb327199 Author: Steve Kemp Date: Sat Dec 24 20:05:46 2005 +0000 2005-12-24 20:05:46 by steve The fstab is now prossed by a hook script, removing the code from xen-create-image. commit abb2656fe525f2889e342c40ec043d7e938c5048 Author: Steve Kemp Date: Sat Dec 24 19:10:38 2005 +0000 2005-12-24 19:10:38 by steve Added to the repository, make sure hooks are executable. commit c1219d48f56db5240550d500bd7af6f4100fd87b Author: Steve Kemp Date: Sat Dec 24 18:27:09 2005 +0000 2005-12-24 18:27:09 by steve Added. commit 3e050cbfe354f739b07cf36ca85c50b24e9e90ce Author: Steve Kemp Date: Sat Dec 24 12:56:07 2005 +0000 2005-12-24 12:56:07 by steve Updated documentation. commit da442e8c70e6c3b6d3f40e3020b9499a0c43ddee Author: Steve Kemp Date: Sat Dec 24 12:42:44 2005 +0000 2005-12-24 12:42:44 by steve Migrated most of the commands to setup the new host into external hooks. commit 9c9bc103c8e4d62bc19ef5bcb384cf1e8d1005cc Author: Steve Kemp Date: Sat Dec 24 12:10:20 2005 +0000 2005-12-24 12:10:20 by steve Pass all configuration variables to the child process, via environmental variables. commit b57fd2a22ec89a35a3a3fc0261bfeeca3307117f Author: Steve Kemp Date: Sat Dec 24 10:36:30 2005 +0000 2005-12-24 10:36:30 by steve When booting the image after creation hide output. commit 2472c2ef6d63d36b74067c7969bd81b0d652275a Author: Steve Kemp Date: Sat Dec 24 10:34:14 2005 +0000 2005-12-24 10:34:14 by steve Remove the use of ~/.xen-tools.conf. You need root access anyway .. commit 5f077309bee2d8b1f2276a435eac35dd2923cdc4 Author: Steve Kemp Date: Sat Dec 24 09:28:53 2005 +0000 2005-12-24 09:28:53 by steve When executed by non-root user still work; just don't show the IP details. commit 507a8a6b3e122966a6cc44ec98d0c955f65d7825 Author: Steve Kemp Date: Sat Dec 24 09:22:23 2005 +0000 2005-12-24 09:22:23 by steve Fix minor errors in manpage. commit f87b0c3b8bcb0cbf853c18dc2581f44a7932f52b Author: Steve Kemp Date: Sat Dec 24 09:21:14 2005 +0000 2005-12-24 09:21:14 by steve Removed items from the TODO list: 1. debootstrap fail - now detected. 2. kernel is now a configurable option. commit 35cdfe7569749721e569647a4b135394f87f3215 Author: Steve Kemp Date: Sat Dec 24 07:34:06 2005 +0000 2005-12-24 07:34:06 by steve Fixed a couple of typos. Extended hook example. Updated sample /etc/xen-tools/xen-tools.conf file. commit 2b2b361d80399afd4db3546f6a73095a53e7ae05 Author: Steve Kemp Date: Sat Dec 24 07:29:10 2005 +0000 2005-12-24 07:29:10 by steve Fix podcheck warning. commit 03b009cd4059bb4904c99308edf3924990262549 Author: Steve Kemp Date: Sat Dec 24 07:19:41 2005 +0000 2005-12-24 07:19:41 by steve Pass hostname to hook script. commit 58dc121efc76b036909731eea57d63eb488d67f9 Author: Steve Kemp Date: Sat Dec 24 07:16:04 2005 +0000 2005-12-24 07:16:04 by steve Make hook directory configurable, but not documented. commit 3aa8fff871b4083dd4a891b68eb68a263276a450 Author: Steve Kemp Date: Sat Dec 24 07:07:22 2005 +0000 2005-12-24 07:07:22 by steve Added 'HOOKS' section to manual. Run the hooks *before* unmounting the image. D'oh. commit 1dbb10ed45218132cecf18159fad3c33062c3f12 Author: Steve Kemp Date: Sat Dec 24 06:58:45 2005 +0000 2005-12-24 06:58:45 by steve Run hooks post-creation. commit 079c4fa5ae4d6205073925445cb1c6cbb25a53ef Author: Steve Kemp Date: Sat Dec 24 06:45:13 2005 +0000 2005-12-24 06:45:13 by steve Hostname is mandatory. commit cd87226fe10955352959e9ac606bd08ee0ee64fd Author: Steve Kemp Date: Sat Dec 24 05:38:09 2005 +0000 2005-12-24 05:38:09 by steve Updated header to be more descriptive. commit 4d3073c42d8dc2584bba390a3088beaf3d719138 Author: Steve Kemp Date: Sat Dec 24 05:37:31 2005 +0000 2005-12-24 05:37:31 by steve Complete the '--long' flag to both 'help' and 'list' commit cfcbb62366a2ed831cf241874168707cb41d5ff9 Author: Steve Kemp Date: Sat Dec 24 05:34:32 2005 +0000 2005-12-24 05:34:32 by steve Only complete running instances of Xen if we're root. commit 3575d31da0e07a3918ace2123f9b0b39eaa247b0 Author: Steve Kemp Date: Sat Dec 24 03:15:13 2005 +0000 2005-12-24 03:15:13 by steve Added completion of options to xen-list-images. Updated header and added references to the debian-administration.org introduction I wrote. commit d593277b2b440803f88ad02d98c887e986d0fcfc Author: Steve Kemp Date: Sat Dec 24 03:10:04 2005 +0000 2005-12-24 03:10:04 by steve Add netmask to the completion for xen-duplicate-image commit fdb36b6c68bd393a7c5415ce558594b3280d0411 Author: Steve Kemp Date: Sat Dec 24 03:05:09 2005 +0000 2005-12-24 03:05:09 by steve Fixed spelling of misc. Describe the 'xm' file. commit 8008d92d0a34d5a10f9ddda2d395725015cf13ea Author: Steve Kemp Date: Fri Dec 23 01:21:22 2005 +0000 2005-12-23 01:21:22 by steve Added more completion options. commit 9e47888b019aed1fa03a9104f1c462448d1ba19e Author: Steve Kemp Date: Fri Dec 23 01:15:07 2005 +0000 2005-12-23 01:15:07 by steve Install + Uninstall xm into the completion directory. commit 39b79333f29348f6e65e267d14bcbe5673da9d84 Author: Steve Kemp Date: Fri Dec 23 01:06:00 2005 +0000 2005-12-23 01:06:00 by steve Initial import. commit 1f43abdd025e9cee7979b8625e2aefb34a426c3e Author: Steve Kemp Date: Fri Dec 23 00:30:37 2005 +0000 2005-12-23 00:30:37 by steve 1. Complete IP address partially. 2. Add '--ip' completion to xen-duplicate-image. commit 12761e5d0a79d2a791789ac9a27055a8c66558fb Author: Steve Kemp Date: Thu Dec 22 23:48:16 2005 +0000 2005-12-22 23:48:16 by steve BUGFIX: Tab completion of filesystem option now shows 'xfs' instead of 'fs' commit 44e8173224b27d42dd5ee5384c93a7e7bf98c10b Author: Steve Kemp Date: Thu Dec 22 23:44:10 2005 +0000 2005-12-22 23:44:10 by steve Run 'apt-get clean' on the new system to free all the space in /var/cache/apt commit 240388061a4d57764941c65849ffac6666a43007 Author: Steve Kemp Date: Thu Dec 22 23:39:48 2005 +0000 2005-12-22 23:39:48 by steve BUGFIX: Add comma. commit fb39ddb95bc94014d22e6738685ea1b6efc33829 Author: Steve Kemp Date: Thu Dec 22 23:38:05 2005 +0000 2005-12-22 23:38:05 by steve Minor wording change. commit 6527ade1530ca353dd795c4cf019e08992d68306 Author: Steve Kemp Date: Thu Dec 22 23:36:47 2005 +0000 2005-12-22 23:36:47 by steve Remove --network + --netmask from the completion. commit d52aba9199d152710ce688f944c61d572c3cf3e6 Author: Steve Kemp Date: Thu Dec 22 23:32:52 2005 +0000 2005-12-22 23:32:52 by steve Apply Radu's latest patch, with some small tweaks. commit 0a0708560d43f08dcbbc2464da8e23d8f0028288 Author: Steve Kemp Date: Wed Dec 21 23:01:44 2005 +0000 2005-12-21 23:01:44 by steve Sign the release tarball as part of 'make release' commit eca398899078cb03863700fa7d063341f96dd58c Author: Steve Kemp Date: Wed Dec 21 22:53:01 2005 +0000 2005-12-21 22:53:01 by steve Fixed revision marker. Added link to gentoo page. commit 4da2a2d82392d00a50117167b6321cd87bd10a41 Author: Steve Kemp Date: Wed Dec 21 22:48:10 2005 +0000 2005-12-21 22:48:10 by steve Completion for hostnames in xen-update-image and xen-delete-image commit 76a7afae51576a5e8ae54d2e0500e7d262038006 Author: Steve Kemp Date: Wed Dec 21 22:47:52 2005 +0000 2005-12-21 22:47:52 by steve Make sure a hostname is specified. commit b71b9bae44a686ab5527201a160092ce7169f158 Author: Steve Kemp Date: Wed Dec 21 22:46:36 2005 +0000 2005-12-21 22:46:36 by steve Updated command line flags. commit 48fa23fa42d568484ffad6e610710a1bf179dd6b Author: Steve Kemp Date: Wed Dec 21 20:41:41 2005 +0000 2005-12-21 20:41:41 by steve Allow completion of --debootstrap option. commit 3eebbdefb202ecb3c3b08e7c1de3427df4960f94 Author: Steve Kemp Date: Wed Dec 21 19:58:52 2005 +0000 2005-12-21 19:58:52 by steve Updated makefile to clean the HTML manpages in a nicer fashion. commit 8eac3af7531baeefae0ac4bea168953cc27ea60c Author: Steve Kemp Date: Wed Dec 21 19:51:38 2005 +0000 2005-12-21 19:51:38 by steve Make clean removes the HTML manpages. Document 'manpages-html' commit d9a73a4a862989ce5ef51b4ae8052d12dbe765ab Author: Steve Kemp Date: Wed Dec 21 19:49:19 2005 +0000 2005-12-21 19:49:19 by steve Ignore any .html files. commit 0a3b17e1f3072433cc0cb8c0576460e24d4b98f5 Author: Steve Kemp Date: Wed Dec 21 19:37:20 2005 +0000 2005-12-21 19:37:20 by steve Add a target to build HTML manpages, useful for me. commit 4eb7608078da955e0075f9b91ce2d5eee237ae72 Author: Steve Kemp Date: Wed Dec 21 19:30:01 2005 +0000 2005-12-21 19:30:01 by steve Mention the --debootstrap command line flag, with example, in the manual. commit ee40eed6af353762d727f39e541ae219f715fb8b Author: Steve Kemp Date: Wed Dec 21 19:26:05 2005 +0000 2005-12-21 19:26:05 by steve Each script now implements a '--version' flag. commit 7b6e5e97f948684aca5ffe4c020b93a3ea9bb292 Author: Steve Kemp Date: Wed Dec 21 19:19:16 2005 +0000 2005-12-21 19:19:16 by steve Ready for a 0.5 release. commit 710fa5f232aaba3918162d6ca1c501caec5c34cd Author: Steve Kemp Date: Wed Dec 21 19:07:35 2005 +0000 2005-12-21 19:07:35 by steve Added new option '--debootstrap' to pass options to debootstrap prior to running it. Abort if running debootstrap fails; since that's a dealbreaker for us. More pretty output prior to running. commit d15159b244167f92354b06cead561a8005174cec Author: Steve Kemp Date: Wed Dec 21 05:09:32 2005 +0000 2005-12-21 05:09:32 by steve Simple test to make sure we have the correct POD syntax in our files. commit 0a48c6dbd8dfb029ad86c4528daf57a3ffddb038 Author: Steve Kemp Date: Wed Dec 21 03:43:46 2005 +0000 2005-12-21 03:43:46 by steve Minor rewording. Mention the '--manual' flag. commit c25d326e22780dbc12dbde52e60393899091bd5c Author: Steve Kemp Date: Wed Dec 21 03:31:44 2005 +0000 2005-12-21 03:31:44 by steve *Really* fix the systen's hostname. *sigh* commit 4d03a5b2f36e0c47ca78d817ebd1eb074b288a4d Author: Steve Kemp Date: Wed Dec 21 03:15:40 2005 +0000 2005-12-21 03:15:40 by steve Always clear the screen when we're finished. (Unless under --debug). BUGFIX: Setup the hostname correctly. commit 742d1d3aa540278e80facde08b05c5241a34219d Author: Steve Kemp Date: Wed Dec 21 03:02:31 2005 +0000 2005-12-21 03:02:31 by steve Add a note on caching into the perldoc. Really force a clear-screen operation. commit de40227b5a4d4ab0f4492bfd36cc030f2228c97c Author: Steve Kemp Date: Wed Dec 21 02:53:49 2005 +0000 2005-12-21 02:53:49 by steve Only show the success message if not booting the new instance. When booting display a message showing how to connect to the terminal. commit 42cd1dadc3513f9f004a85579ea5ef33b466fc02 Author: Steve Kemp Date: Wed Dec 21 02:47:41 2005 +0000 2005-12-21 02:47:41 by steve Avoid extra newline when caching files from debootstrap to host, and ensure the filenames are displayed in the copying loop. commit 3a5cffcc85dcd0524231cbd8bb71cde0ad7a9597 Author: Steve Kemp Date: Wed Dec 21 02:40:50 2005 +0000 2005-12-21 02:40:50 by steve Fixed the printing of 'done'. commit 6ac184847567147e0c928b7f9d88ec696ae855c8 Author: Steve Kemp Date: Wed Dec 21 02:39:45 2005 +0000 2005-12-21 02:39:45 by steve Moved all the wide message printing into its own routine. commit b3295fda5559417df1bbdd6f7d731d0977acfa0e Author: Steve Kemp Date: Wed Dec 21 02:32:00 2005 +0000 2005-12-21 02:32:00 by steve Removed redundent 'done' after 'finished' - post debootstrap. commit 71918cceb6a7c7bf0aacaf2049ab76fae6c4efd4 Author: Steve Kemp Date: Wed Dec 21 02:26:21 2005 +0000 2005-12-21 02:26:21 by steve Added completion for the --debug flag. commit 699d984b4d6291d2d427d3357f061fd4f09cbf71 Author: Steve Kemp Date: Wed Dec 21 02:25:53 2005 +0000 2005-12-21 02:25:53 by steve Removed mention of a verbose flag, since --debug now works. commit 185bca470f0104c900a9c5019f94a450f209cda6 Author: Steve Kemp Date: Wed Dec 21 02:25:18 2005 +0000 2005-12-21 02:25:18 by steve Unified all the output messages to make the program look nicer. Added a centralized "command running" function which will output the commands executed when invoked with a --debug flag. commit a22bd110b31621a837d97ecc3ea5621aac62d12a Author: Steve Kemp Date: Tue Dec 20 23:31:29 2005 +0000 2005-12-20 23:31:29 by steve Updated text significantly. Added demonstration tree structure of a typical system. commit c15b1175dae2f0c52d7c4af3473a41b4f56d729f Author: Steve Kemp Date: Tue Dec 20 23:21:47 2005 +0000 2005-12-20 23:21:47 by steve Removed the unreferenced .PHONY target. When cleaning make sure we remove any *.8 files commit 0a176dae3f5e2d1617968fbf6b4a980f22933c82 Author: Steve Kemp Date: Tue Dec 20 23:20:31 2005 +0000 2005-12-20 23:20:31 by steve Include version number in manpages, and force the overwriting of any previous manpages which had been generated. commit 24ca42018605b75d4f8fb58710cf08d6f1c7286a Author: Steve Kemp Date: Tue Dec 20 23:16:41 2005 +0000 2005-12-20 23:16:41 by steve Installation now installs freshly generated manpages. Installation now supports a prefix=foo argument, useful for the Debian package. commit 8116e5c3344f925253d27e86bea2505dcb408973 Author: Steve Kemp Date: Tue Dec 20 17:33:58 2005 +0000 2005-12-20 17:33:58 by steve 0.4 release. commit 441c6f463765e8112d303bff2fdf57a409021a5e Author: Steve Kemp Date: Tue Dec 20 15:57:11 2005 +0000 2005-12-20 15:57:11 by steve Abort if non-root uses. Updated pod. commit 518764d96386507aa49a31bc5ba4ce9e838f509b Author: Steve Kemp Date: Tue Dec 20 14:41:24 2005 +0000 2005-12-20 14:41:24 by steve Added to describe the directory contents. commit d15d88345b367c33126e7a7df80054856d485b33 Author: Steve Kemp Date: Tue Dec 20 14:40:37 2005 +0000 2005-12-20 14:40:37 by steve Added prologue. commit 23570ef203952968976907eac635f896dc1b57bf Author: Steve Kemp Date: Tue Dec 20 14:35:09 2005 +0000 2005-12-20 14:35:09 by steve POD updates via 'podchecker' commit 2bd6dcba7bd0e8edb4d60d594c138d1734d92c85 Author: Steve Kemp Date: Tue Dec 20 14:27:48 2005 +0000 2005-12-20 14:27:48 by steve Document the --dist argument. commit 71eda9540670922b7e74c2adebfb7d6e083b67a4 Author: Steve Kemp Date: Tue Dec 20 14:27:34 2005 +0000 2005-12-20 14:27:34 by steve Added minimal bash completion function to complete for xen-create-image. commit 5ada2c10e3f4c0fe49ba7fe25635488ffd124741 Author: Steve Kemp Date: Tue Dec 20 13:38:41 2005 +0000 2005-12-20 13:38:41 by steve Force debootstrap output to display properly by truncating long lines. commit 3f36c64b7c4352840c1f855528515650625a215d Author: Steve Kemp Date: Tue Dec 20 13:32:53 2005 +0000 2005-12-20 13:32:53 by steve Removed duplicate directory creation. Added explicit 'exit'. commit eccd8be48a8abb7b6bc92d0c51e89ac80b0ce90f Author: Steve Kemp Date: Tue Dec 20 13:27:03 2005 +0000 2005-12-20 13:27:03 by steve Patch from Radu Spineanu. Ensure that xm command exists. Make --from mandatory when duplicating image. commit c4e083b4b57a8b030fa4a14c3c9e694190900f14 Author: Steve Kemp Date: Tue Dec 20 00:35:10 2005 +0000 2005-12-20 00:35:10 by steve Text updates for --boot. commit c52b353a10fafb6aa376c14af7e251fd79a3d5ef Author: Steve Kemp Date: Tue Dec 20 00:17:55 2005 +0000 2005-12-20 00:17:55 by steve Document all the options. commit 41f5ef1943d62835cccea8024e9dd38987d6e7ad Author: Steve Kemp Date: Mon Dec 19 22:09:05 2005 +0000 2005-12-19 22:09:05 by steve version 0.3 commit f1a834f3fb982d892bd25f594ade56537ffca1b2 Author: Steve Kemp Date: Mon Dec 19 21:57:13 2005 +0000 2005-12-19 21:57:13 by steve Added GPL & Perl Artistic license. commit dd46090ca196b7f181325e77cf8818dfe7ad39af Author: Steve Kemp Date: Mon Dec 19 21:00:45 2005 +0000 2005-12-19 21:00:45 by steve etter consistnent messages to the console. commit bd6c0fbb780befb4925a350e32681fa45ad46e40 Author: Steve Kemp Date: Mon Dec 19 20:54:00 2005 +0000 2005-12-19 20:54:00 by steve Show the progress when copying files to and from the host system. commit e2baca711d96cbf76816a93193c67f4c53704789 Author: Steve Kemp Date: Mon Dec 19 20:45:54 2005 +0000 2005-12-19 20:45:54 by steve Updated now that we use IPC::Open3 commit bb42e88f28db156d96d4ee87a1d994bcadabc1ae Author: Steve Kemp Date: Mon Dec 19 20:45:24 2005 +0000 2005-12-19 20:45:24 by steve We now have a 'progress bar' when running debootstrap. :) commit 9765c93d1e084170c753d5fd14290e5d949b027f Author: Steve Kemp Date: Mon Dec 19 20:43:18 2005 +0000 2005-12-19 20:43:18 by steve Give a simple 'progress indicator' when running debootstrap. commit 310e8170b997a874856427ad6a415ec8fdbd1256 Author: Steve Kemp Date: Mon Dec 19 18:39:43 2005 +0000 2005-12-19 18:39:43 by steve --dist works correctly. commit 09061af2d5eecc42cef1c1aaddf85a5c992bd804 Author: Steve Kemp Date: Mon Dec 19 18:30:14 2005 +0000 2005-12-19 18:30:14 by steve Show distribution and other details before installing. commit 909f75126c4b96d173c0d10aa275c195ef56a222 Author: Steve Kemp Date: Mon Dec 19 18:28:05 2005 +0000 2005-12-19 18:28:05 by steve Update the installed sources.list file to include both sources and debs, and to use the --dist target properly. commit c85485ae3f55f7a35cf064f5da0051a2ec618796 Author: Steve Kemp Date: Mon Dec 19 18:26:48 2005 +0000 2005-12-19 18:26:48 by steve Allow user to select distribution to install via either 'dist=??' in the configuration file, or '--dist=foo' on the command line. commit e56fae5ee41c4e954601b52241b9913ef4d7b5db Author: Steve Kemp Date: Mon Dec 19 18:21:19 2005 +0000 2005-12-19 18:21:19 by steve Don't tar up the .cvsignore file. commit 22315f80932d18e827e0bbea1a6dafbb22337077 Author: Steve Kemp Date: Mon Dec 19 18:19:29 2005 +0000 2005-12-19 18:19:29 by steve Added 'changelog' target to run before 'release' commit d77e4f499d08f6f418ce5fdae912d39cb20f1534 Author: Steve Kemp Date: Mon Dec 19 18:14:47 2005 +0000 2005-12-19 18:14:47 by steve Abort if executed by non-root users. commit 36935cd75f61020980a7756834af659d1bd3d1b0 Author: Steve Kemp Date: Mon Dec 19 18:08:53 2005 +0000 2005-12-19 18:08:53 by steve Describe xen-list-images commit c8d8bcea3a2e4f0160d4f993bd21a11b5db22109 Author: Steve Kemp Date: Mon Dec 19 18:08:45 2005 +0000 2005-12-19 18:08:45 by steve Install 'xen-list-images'. commit 79d6260ed9dbe9ac1af9f73543717a53d6baf177 Author: Steve Kemp Date: Mon Dec 19 18:05:47 2005 +0000 2005-12-19 18:05:47 by steve Show the IP address of the images. commit 4e380b39cdad451c5c84ad285d578d027fe2cb6a Author: Steve Kemp Date: Mon Dec 19 17:40:39 2005 +0000 2005-12-19 17:40:39 by steve Fixed the inittab line, finally. commit 38df4cbf0fee824d0a3dc6be9c35fb452d8aee1e Author: Steve Kemp Date: Mon Dec 19 17:39:19 2005 +0000 2005-12-19 17:39:19 by steve Simple script to list all images. TODO: Mount them and show networking details. commit 06db61e5d55112412adfc28670d67bf45add6504 Author: Steve Kemp Date: Mon Dec 19 17:17:04 2005 +0000 2005-12-19 17:17:04 by steve Fixup the initial console, added reference too. commit 9d77cbbfede0021d023b8ccb2725e1838776bd2f Author: Steve Kemp Date: Mon Dec 19 16:41:14 2005 +0000 2005-12-19 16:41:14 by steve Updated header to include .dotfile name. Updated networking options. Added default output directory. commit 02ccc67afb2a80d7474a23cb71ed293491fba1b6 Author: Steve Kemp Date: Mon Dec 19 16:38:36 2005 +0000 2005-12-19 16:38:36 by steve Ignore errors on install/uninstall with the /etc/xen-tools directory. commit 57aa2eb8338114d186764f73aa1dc8d02e6dfa95 Author: Steve Kemp Date: Mon Dec 19 16:37:48 2005 +0000 2005-12-19 16:37:48 by steve Added brief information on the primary scripts. commit 3830ae5ada08d28ede6dde515c07e8009b99932e Author: Steve Kemp Date: Mon Dec 19 15:04:25 2005 +0000 2005-12-19 15:04:25 by steve BUGFIX: Memory is strippedof its size. commit a40b0030cc1448b5b90e4436624e199d289ea226 Author: Steve Kemp Date: Mon Dec 19 14:55:26 2005 +0000 2005-12-19 14:55:26 by steve Version -> 0.2. Install xen-duplicate-image commit 2b2ef427056905b1f236f4442a22ea9834a65aac Author: Steve Kemp Date: Mon Dec 19 14:54:40 2005 +0000 2005-12-19 14:54:40 by steve Don't install with debootstrap after copying the images, or install ssh. commit 8e0bd143738864d4515c7c602e0d928a3b68b1c4 Author: Steve Kemp Date: Mon Dec 19 11:23:05 2005 +0000 2005-12-19 11:23:05 by steve Initial implementation. commit dddbd836413341f1de210d9eee5177f8e80ef0a1 Author: Steve Kemp Date: Mon Dec 19 11:22:57 2005 +0000 2005-12-19 11:22:57 by steve Install / Uninstall xen-duplicate-image commit 1d5d81c121217cbe6ebf32158c4905d03422ca1e Author: Steve Kemp Date: Mon Dec 19 11:11:06 2005 +0000 2005-12-19 11:11:06 by steve Only check for root after parsing options, so that --help works. commit 78967c35ac8594eb1cf1cb02dacb6229baafe34f Author: Steve Kemp Date: Mon Dec 19 11:04:18 2005 +0000 2005-12-19 11:04:18 by steve Don't read ./etc/xen-tools.conf commit 6e162e2e06fb2571afc296aa8bbcc01fe8977672 Author: Steve Kemp Date: Mon Dec 19 11:03:45 2005 +0000 2005-12-19 11:03:45 by steve Documentation updates. Don't read ./etc/xen-tools.conf commit 0849523e1911bfb1ba38ca77068fd99165c179f0 Author: Steve Kemp Date: Mon Dec 19 10:45:08 2005 +0000 2005-12-19 10:45:08 by steve Added 'install' 'uninstall' commit 4c06a9683792fc96a185aa80ca00a97bc0d5ddf3 Author: Steve Kemp Date: Mon Dec 19 00:10:45 2005 +0000 2005-12-19 00:10:45 by steve Move to version based releass. commit d5ff89f5474c4197544d81ec317cae97c7abd26b Author: Steve Kemp Date: Sun Dec 18 23:57:46 2005 +0000 2005-12-18 23:57:46 by steve Added to repository: run apt-get update && apt-get upgrade commit 7c07282e91b860aa7a21b44b5e337d6e7d5c8e73 Author: Steve Kemp Date: Sun Dec 18 23:45:17 2005 +0000 2005-12-18 23:45:17 by steve BUGFIX: Don't affect the first terminal in /etc/inittab. commit 48e4e7720722bdc6a97fafaaaf87bc9894b9f7d1 Author: Steve Kemp Date: Sun Dec 18 23:44:06 2005 +0000 2005-12-18 23:44:06 by steve All globals are now moved into the CONFIG hash. commit 2c2ea34f40bb467450a18070b573aec9f7a01451 Author: Steve Kemp Date: Sun Dec 18 23:43:41 2005 +0000 2005-12-18 23:43:41 by steve Updated to test for Pod::Usage, and English. commit 1dc09986c6547c258340676851c87690695e2c72 Author: Steve Kemp Date: Sun Dec 18 23:43:24 2005 +0000 2005-12-18 23:43:24 by steve Require root permissions. commit 578b60a270926f3b518642572d91d41077b11f8a Author: Steve Kemp Date: Sun Dec 18 23:42:03 2005 +0000 2005-12-18 23:42:03 by steve Avoid dependency upon 'tags' target which doesn't exist. commit a9eef11119023191e2a50b03802d4186d5622044 Author: Steve Kemp Date: Sun Dec 18 21:28:50 2005 +0000 2005-12-18 21:28:50 by steve Added to repository. commit b5905689434ee5872ac173541f329d9f50d51498 Author: Steve Kemp Date: Sun Dec 18 21:08:46 2005 +0000 2005-12-18 21:08:46 by steve Cache the downloaded .deb files via debootstrap to speedup runs. commit c3bb7155cf847fa5e27f810540f8a63b4bedc877 Author: Steve Kemp Date: Sun Dec 18 20:38:56 2005 +0000 2005-12-18 20:38:56 by steve Updated defaults. commit 5c95dec3dfa97a50b7f121d3d06c259bd25f8e52 Author: Steve Kemp Date: Sun Dec 18 19:11:28 2005 +0000 2005-12-18 19:11:28 by steve $DIR is no more. All configuration is now centralised and unified. commit a0d0472b2003fff4db684564734b8375f8f5d899 Author: Steve Kemp Date: Sun Dec 18 19:07:19 2005 +0000 2005-12-18 19:07:19 by steve Updated so that the $MIRROR is gone. commit acd10cda5486614c0e7cf0e81f2a1cc7e10a17b1 Author: Steve Kemp Date: Sun Dec 18 19:05:58 2005 +0000 2005-12-18 19:05:58 by steve Documentation updates. commit b4b2ffc1cfa62fd4e23ada7af8c3296158cd3173 Author: Steve Kemp Date: Sun Dec 18 18:38:21 2005 +0000 2005-12-18 18:38:21 by steve Fixes for the filesystem type from Radu Spineanu. commit d86805bf1e155e5601a21e7b9fc11a90dea56b62 Author: Steve Kemp Date: Sun Dec 18 16:32:32 2005 +0000 2005-12-18 16:32:32 by steve Moved more things to the $CONFIG hash. Removed global help + manual markers they are now local. commit 3543a597cb6a0de57248f01c1a141f3149c52dbb Author: Steve Kemp Date: Sun Dec 18 16:22:11 2005 +0000 2005-12-18 16:22:11 by steve BUGFIX: configuration file reading works. commit 4d2fe60040bc1e3d14154029671cd8ab38fcef40 Author: Steve Kemp Date: Sun Dec 18 16:18:59 2005 +0000 2005-12-18 16:18:59 by steve Moved to using $CONFIG{'ip'} / $CONFIG{'dhcp'} as a test. commit f0e1a0e18bc34c319582919e068dfce32609879f Author: Steve Kemp Date: Sun Dec 18 16:15:39 2005 +0000 2005-12-18 16:15:39 by steve Stub for configuration file reading. commit db45dfebfd6f2b1d46341a3768ed1cd7514a8db0 Author: Steve Kemp Date: Sun Dec 18 16:08:13 2005 +0000 2005-12-18 16:08:13 by steve Added ReiserFS support from Radu Spineanu commit 0d6d48c67d8b8183cc651f8099aad6e897a3ed7c Author: Steve Kemp Date: Sun Dec 18 04:13:16 2005 +0000 2005-12-18 04:13:16 by steve Stub attempt to use Pod::Usage. commit 6105f7493b0a0c57d39ab31bddbe3c998693968b Author: Steve Kemp Date: Sun Dec 18 03:55:42 2005 +0000 2005-12-18 03:55:42 by steve Added TODO commit 74598ca563f656b53db2a737244edca6c26f95ff Author: Steve Kemp Date: Sun Dec 18 03:53:33 2005 +0000 2005-12-18 03:53:33 by steve --fs={ext3 xfs} commit 378b76bd8ebf747c0e4255ec8728fe0f94d0d757 Author: Steve Kemp Date: Sun Dec 18 03:45:26 2005 +0000 2005-12-18 03:45:26 by steve Allow virtual machine's memory size to be set. commit d6f9845b9757ede667e6cba9a4165a2417eaec7c Author: Steve Kemp Date: Sun Dec 18 03:43:29 2005 +0000 2005-12-18 03:43:29 by steve Move the network setup into its own routine. commit 94f08cbb29a924cdb7c4199f672beddfccd2d194 Author: Steve Kemp Date: Sun Dec 18 03:36:40 2005 +0000 2005-12-18 03:36:40 by steve Fixed the erroneous usage of xfs, I had meant to remove that. commit b2745c6ac6fdc19df16494f624e0925df72d412b Author: Steve Kemp Date: Sun Dec 18 03:33:54 2005 +0000 2005-12-18 03:33:54 by steve Remove insecure use of temporary file. commit 3c30385cf77693e5ecc78c9b10afbb5d94ce6a53 Author: Steve Kemp Date: Sun Dec 18 03:32:58 2005 +0000 2005-12-18 03:32:58 by steve Added --size, --swap, and --mirror handling via patch from Radu Spineanu [radu /at/ debian.org] commit a50161f0ab780e726baad2800def8bf17a11f380 Author: Steve Kemp Date: Sat Dec 17 15:21:32 2005 +0000 2005-12-17 15:21:32 by steve imported into cvstrac commit 08cb3cdb504673810b48d54203a52dfb8139a3be Author: Steve Kemp Date: Sat Dec 17 14:26:20 2005 +0000 2005-12-17 14:26:20 by steve Updated so that the "make release" works. commit 3dce31e5ca8febbb1a5dbd2439b5a2422feb2391 Author: Steve Kemp Date: Sat Dec 17 14:25:23 2005 +0000 2005-12-17 14:25:23 by steve Added test script. commit 63a7b5d906ef8008db08b85adb726ce5ac4fb80a Author: Steve Kemp Date: Sat Dec 17 14:24:11 2005 +0000 2005-12-17 14:24:11 by steve Added. commit 1ca774e54a5a56fdcc76757aded1ff7ee58144ac Author: Steve Kemp Date: Sat Dec 17 14:23:11 2005 +0000 2005-12-17 14:23:11 by steve Initial, minimal, makefile. commit 89e2c70498ff92ff37c39b870ff9abfe7469bfd1 Author: Steve Kemp Date: Sat Dec 17 14:21:36 2005 +0000 2005-12-17 14:21:36 by steve Initial import. commit df2ff282c9ab9cf48433150f661f5ee2eaff6690 Author: Steve Kemp Date: Sun Nov 25 12:59:15 2007 +0000 Tailor preparing to convert repo by adding .hgignore xen-tools-4.9.2/t/0000755000175000017500000000000014370055613011765 5ustar abeabexen-tools-4.9.2/t/mockup-lib/0000755000175000017500000000000014370055613014027 5ustar abeabexen-tools-4.9.2/t/mockup-lib/File/0000755000175000017500000000000014370055613014706 5ustar abeabexen-tools-4.9.2/t/mockup-lib/File/Which.pm0000644000175000017500000000037714370055613016315 0ustar abeabepackage File::Which; # Mockup package to _not_ find anything use strict; use warnings; use Exporter; use vars qw{@ISA @EXPORT @EXPORT_OK}; BEGIN { @ISA = 'Exporter'; @EXPORT = 'which'; } sub which { return; } 'This is a fake!'; xen-tools-4.9.2/t/data/0000755000175000017500000000000014370055613012676 5ustar abeabexen-tools-4.9.2/t/data/inittab0000644000175000017500000000372714370055613014264 0ustar abeabe# /etc/inittab: init(8) configuration. # $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ # The default runlevel. id:2:initdefault: # Boot-time system configuration/initialization script. # This is run first except when booting in emergency (-b) mode. si::sysinit:/etc/init.d/rcS # What to do in single-user mode. ~~:S:wait:/sbin/sulogin # /etc/init.d executes the S and K scripts upon change # of runlevel. # # Runlevel 0 is halt. # Runlevel 1 is single-user. # Runlevels 2-5 are multi-user. # Runlevel 6 is reboot. l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 # Normally not reached, but fallthrough in case of emergency. z6:6:respawn:/sbin/sulogin # What to do when CTRL-ALT-DEL is pressed. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now # Action on special keypress (ALT-UpArrow). #kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." # What to do when the power fails/returns. pf::powerwait:/etc/init.d/powerfail start pn::powerfailnow:/etc/init.d/powerfail now po::powerokwait:/etc/init.d/powerfail stop # /sbin/getty invocations for the runlevels. # # The "id" field MUST be the same as the last # characters of the device (after "tty"). # # Format: # ::: # # Note that on most Debian systems tty7 is used by the X Window System, # so if you want to add more getty's go ahead but skip tty7 if you run X. # 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6 # Example how to put a getty on a serial line (for a terminal) # #T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 #T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100 # Example how to put a getty on a modem line. # #T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3 xen-tools-4.9.2/t/hook-apt.t0000755000175000017500000000537114370055613013705 0ustar abeabe#!perl -w # # Test that the /etc/inittab file is modified as we expect. # # Steve # -- # use strict; use Test::More; use Test::File::Contents; use File::Temp; use File::Copy; use File::Path qw(make_path); my $hook_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/share/xen-tools' : 'hooks'; foreach my $dist (qw(stretch buster bullseye bookworm sid)) { testHook( $dist ); } done_testing(); sub testHook { my ( $dist ) = ( @_ ); my $ea = 'etc/apt'; my $easl = "$ea/sources.list"; my $hook = "$hook_dir/" . ( $ENV{AS_INSTALLED_TESTING} ? $dist : 'debian' ) . '/20-setup-apt'; # # Create a temporary directory to use as prefix # my $dir = File::Temp::tempdir( CLEANUP => 1 ); make_path( "$dir/$ea/apt.conf.d", { chmod => 0755 }); make_path( "$dir/bin", { chmod => 0755 }); my $tmphook = "$dir/bin/20-setup-apt"; # # Make sure that worked. # ok( -d $dir, "temporary directory created OK [$dist]" ); ok( -d "$dir/bin", "bin inside temporary directory created OK [$dist]" ); ok( -d "$dir/$ea", "$ea inside temporary directory created OK [$dist]" ); # Create a copy of the 20-setup-apt hook to be able to comment out # the chroot + apt-get update call. File::Copy::cp( $hook, $tmphook ); ok( -e "$tmphook", "hook exists in temporary directory [$dist]" ); # File::Copy in Perl 5.10 does not copy permissions, so let's fix # it there and check for it elsewhere. if ($] < 5.011) { chmod(0755, $tmphook); } else { ok( -x "$tmphook", "hook is executable in temporary directory [$dist]" ); } no warnings qw(qw); is(system(qw(sed -e s/chroot/#chroot/ -i), $tmphook) >> 8, 0, "chroot call in hook could be deactivated [$dist]"); use warnings qw(qw); # # Set up some variables expected by the hook # $ENV{dist} = $dist; $ENV{mirror} = 'http://deb.debian.org/debian'; # # Call the hook # is(system($tmphook, $dir) >> 8, 0, "hook for $dist exited with zero return code"); ok( -e "$dir/$easl", "A sources.list file has been created. [$dist]" ); if ($dist =~ /stretch|buster/) { file_contents_like( "$dir/$easl", qr(\b${dist}/updates\b), "sources.list contains $dist/updates"); file_contents_unlike( "$dir/$easl", qr(\b${dist}-security\b), "sources.list doesn't contain $dist-security"); } else { file_contents_like( "$dir/$easl", qr(\b${dist}-security\b), "sources.list contains $dist-security"); file_contents_unlike( "$dir/$easl", qr(\b${dist}/updates\b), "sources.list doesn't contain $dist/updates"); } } xen-tools-4.9.2/t/xt-create-xen-config.t0000755000175000017500000001453614370055613016115 0ustar abeabe#!perl -w # # Test that calling xt-create-xen-config with the appropriate parameters # results in output we expect. # # Steve # -- # use strict; use Test::More; use File::Temp; # # What we basically do here is setup a collection of environmental # variables, and then call the script. We then make a couple of simple # tests against the output file which is written. # # runAllTests(); # Fake File::Which to find nothing at all, i.e. no lsb_release. $ENV{PERL5OPT} = '-It/mockup-lib'.($ENV{PERL5OPT}?" $ENV{PERL5OPT}":''); runAllTests(); done_testing; =head2 runAllTests Runs all the xt-create-xen-config test. The idea is to be able to run these tests multiple times under different conditions. =cut sub runAllTests { # # Look for mention of DHCP when setting up DHCP, this conflicts with # a static IP address. # testOutputContains( "dhcp", memory => 128, dhcp => 1, dir => '/tmp' ); noMentionOf( "ip=", memory => 128, dhcp => 1, dir => '/tmp' ); # # Look for an IP address when specifying one, and make sure there # is no mention of DHCP. # testOutputContains( "ip=192.168.1.1", memory => 128, ips => '192.168.1.1', dir => '/tmp' ); noMentionOf( "dhcp", memory => 128, ips => '192.168.1.1', dir => '/tmp' ); # # SCSI based systems: # testOutputContains( "xvda", memory => 128, ips => '192.168.1.1', dir => '/tmp' ); testOutputContains( "/dev/xvda1 ro", memory => 128, ips => '192.168.1.1', dir => '/tmp' ); noMentionOf( "hda1", memory => 128, ips => '192.168.1.1', dir => '/tmp' ); # # IDE based systems # testOutputContains( "hda1", memory => 128, ips => '192.168.1.1', dir => '/tmp', ide => 1 ); testOutputContains( "/dev/hda1 ro", memory => 128, ips => '192.168.1.1', dir => '/tmp', ide => 1 ); # # Test memory size. # testOutputContains( "128", memory => 128, dhcp => 1, dir => '/tmp' ); testOutputContains( "211", memory => 211, dhcp => 1, dir => '/tmp' ); testOutputContains( "912", memory => 912, dhcp => 1, dir => '/tmp' ); # # Test LVM stuff. # testOutputContains( "phy:", memory => 128, dhcp => 1, lvm => 'skx-vg0', PARTITION1 => 'disk:4Gb:ext3:/:noatime,nodiratime,errors=remount-ro:phy::/dev/skx-vg0/disk', PARTITION2 => 'swap:128Mb:swap:::phy::/dev/skx-vg0/swap' ); testOutputContains( "skx-vg0", memory => 128, dhcp => 1, lvm => 'skx-vg0', PARTITION1 => 'disk:4Gb:ext3:/:noatime,nodiratime,errors=remount-ro:phy::/dev/skx-vg0/disk', PARTITION2 => 'swap:128Mb:swap:::phy::/dev/skx-vg0/swap' ); noMentionOf( "/tmp", memory => 128, dhcp => 1, lvm => 'skx-vg0', PARTITION1 => 'disk:4Gb:ext3:/:noatime,nodiratime,errors=remount-ro:phy::/dev/skx-vg0/disk', PARTITION2 => 'swap:128Mb:swap:::phy::/dev/skx-vg0/swap' ); noMentionOf( "domains", memory => 128, dhcp => 1, lvm => 'skx-vg0', PARTITION1 => 'disk:4Gb:ext3:/:noatime,nodiratime,errors=remount-ro:phy::/dev/skx-vg0/disk', PARTITION2 => 'swap:128Mb:swap:::phy::/dev/skx-vg0/swap' ); # # Now test the loopback devices. # testOutputContains( "/tmp", memory => 128, dhcp => 1, dir => '/tmp' ); testOutputContains( "/tmp/domains", memory => 128, dhcp => 1, dir => '/tmp' ); testOutputContains( "/tmp/domains/foo.my.flat", memory => 128, dhcp => 1, dir => '/tmp' ); noMentionOf( "phy:", memory => 128, dhcp => 1, dir => '/tmp' ); } # end of runAllTests =head2 runCreateCommand Run the xt-create-xen-config command and return the output. This involves setting up the environment and running the command, once complete return the text which has been written to the xen configuration file. =cut sub runCreateCommand { my ( %params ) = ( @_ ); # # Force a hostname # $params{'hostname'} = 'foo.my.flat'; $params{'noswap'} = 1; $params{'NUMPARTITIONS'} = 2; $params{'PARTITION1'} = 'disk:4Gb:ext3:/:noatime,nodiratime,errors=remount-ro:file::/tmp/domains/foo.my.flat/disk.img' unless exists $params{'PARTITION1'}; $params{'PARTITION2'} = 'swap:128Mb:swap:::file::/tmp/domains/foo.my.flat/swap.img' unless exists $params{'PARTITION2'}; # # Create a temporary directory, and make sure it is present. # my $dir = File::Temp::tempdir( CLEANUP => 1 ); ok ( -d $dir, "The temporary directory was created: $dir" ); # # Save the environment. # my %SAVE_ENV = %ENV; # # Update the environment with our parameters. # foreach my $p ( keys %params ) { $ENV{$p} = $params{$p}; } # # Run the command # my $prefix = $ENV{AS_INSTALLED_TESTING} ? '/usr/' : 'perl '; system( "${prefix}bin/xt-create-xen-config --output=$dir --template=etc/xm.tmpl" ); # # Reset the environment # %ENV = %SAVE_ENV; # # Read the Xen configuration file which the xt-creaat... # command wrote and return it to the caller. # open( OUTPUT, "<", $dir . "/foo.my.flat.cfg" ); my @LINES = ; close( OUTPUT ); return( join( "\n", @LINES ), $dir ); } =head2 testOutputContains Run the xt-create-xen-config and ensure that the output contains the text we're looking for. =cut sub testOutputContains { my ( $text, %params ) = ( @_ ); # Get the output of running the command. my ($output, $dir) = runCreateCommand( %params ); # # Look to see if we got the text. # my $found = 0; if ( $output =~ /\Q$text\E/ ) { $found += 1; } ok( $found > 0, "We found the output we wanted: $text ($output)" ); } =head2 noMentionOf Make sure that the creation of a given Xen configuration file contains no mention of the given string. =cut sub noMentionOf { my ( $text, %params ) = ( @_ ); # Get the output of running the command. my ($output, $dir) = runCreateCommand( %params ); # # Look to see if we got the text. # my $found = 0; if ( $output =~ /\Q$text\E/ ) { $found += 1; } ok( $found == 0, "The output didn't contain the excluded text: $text" ); } xen-tools-4.9.2/t/xen-lists-images.t0000755000175000017500000000611714370055613015353 0ustar abeabe#!perl -w # # Test that the xen-list-images script can process two "fake" # installations which we construct manually. # # # Steve # -- # use strict; use Test::More; use File::Temp; # # Test some random instances. # testRandomInstance( "foo.my.flat", 0 ); testRandomInstance( "foo.my.flat", 1 ); testRandomInstance( "bar.my.flat", 0 ); testRandomInstance( "bar.my.flat", 1 ); testRandomInstance( "baz.my.flat", 0 ); testRandomInstance( "baz.my.flat", 1 ); done_testing(); =head2 testRandomInstance Create a fake Xen configuration file and test that the xen-list-images script can work with it. =cut sub testRandomInstance { my ( $name, $dhcp ) = ( @_ ); # Create a temporary directory. my $dir = File::Temp::tempdir( CLEANUP => 1 ); ok ( -d $dir, "The temporary directory was created for test: $name" ); # # Generate a random amount of memory # my $memory = int( rand( 4096 ) ); # # Generate a random IP address. # my $ip = ''; my $count = 0; while( $count < 4 ) { $ip .= int( rand( 256 ) ) . "."; $count += 1; } # # Write a xen configuration file to the temporary directory. # open( TMP, ">", $dir . "/foo.cfg" ); if ( $dhcp ) { print TMP < 1 ); my $domains = $dir . "/domains"; # # Test that we can make the directory. # ok ( -d $dir, "The temporary directory was created: $dir" ); # # Create the domains directory. # ok ( ! -d $domains, "The temp directory doesn't have a domains directory." ); mkdir( $domains, 0777 ); ok ( -d $domains, "The temp directory now has a domains directory." ); # # Generate a random hostname. # my $hostname = join ( '', map {('a'..'z')[rand 26]} 0..17 ); ok( ! -d $domains . "/" . $hostname, "The virtual hostname doesn't exist." ); # # Make the hostname directory # mkdir( $domains . "/" . $hostname, 0777 ); ok( -d $domains . "/" . $hostname, "The virtual hostname now exists." ); # # Create a stub disk image # open( IMAGE, ">", $domains . "/" . $hostname . "/" . "disk.img" ) or warn "Failed to open disk image : $!"; print IMAGE "Test"; close( IMAGE ); # # Create a stub swap image # open( IMAGE, ">", $domains . "/" . $hostname . "/" . "swap.img" ) or warn "Failed to open swap image : $!"; print IMAGE "Test"; close( IMAGE ); # # Now we have : # # $dir/ # $dir/domains/ # $dir/domains/$hostname # $dir/domains/$hostname/disk.img # $dir/domains/$hostname/swap.img # # So we need to run the deletion script and verify the images # are removed correctly. # my $prefix = $ENV{AS_INSTALLED_TESTING} ? '/usr/' : 'perl -Ilib -I../lib '; my $log = `${prefix}bin/xen-delete-image --test --verbose --dir=$dir $hostname`; ok ( $? == 0, 'Calling xen-delete-image returned exit code 0' ); print $log; # # If the deletion worked our images are gone. # ok( ! -e $domains . "/" . $hostname . "/" . "disk.img", "Disk image deleted successfully." ); ok( ! -e $domains . "/" . $hostname . "/" . "swap.img", "Swap image deleted successfully." ); # # And the hostname directory should have gone too. # ok( ! -d $domains . "/" . $hostname, "The hostname directory was removed" ); done_testing(); xen-tools-4.9.2/t/shell-syntax.t0000755000175000017500000000245014370055613014611 0ustar abeabe#!perl -w # # Test that every shell script we have passes a syntax check. # # Steve # -- # use strict; use File::Find; use Test::More; # # Find all the files beneath the current directory, # and call 'checkFile' with the name. # find( { wanted => \&checkFile, no_chdir => 1 }, '.' ); done_testing(); # # Check a file. # # If this is a shell script then call "sh -n $name", otherwise # return # sub checkFile { # The file. my $file = $File::Find::name; # We don't care about directories or symbolic links return if ( ! -f $file ); return if ( -l $file ); # We don't care about empty files return unless -s $file; # Finally mercurial/git files are fine. return if ( $file =~ /^\.\/\.(hg|git)\// ); # See if it is a shell script. my $isShell = 0; # Read the shebang open( INPUT, "<", $file ); my $line = ; close( INPUT ); # Check if it is really a shell file if ( $line =~ /^#! ?\/bin\/sh/ ) { $isShell = 1; } # # Return if it wasn't a shell file. # return if ( ! $isShell ); # # Now run 'sh -n $file' to see if we pass the syntax # check # my $retval = system( "sh -n $file 2>/dev/null >/dev/null" ); is( $retval, 0, "Shell script passes our syntax check: $file" ); } xen-tools-4.9.2/t/programs.t0000755000175000017500000000153414370055613014012 0ustar abeabe#!perl -w -I.. # # Test that we have several required programs present. # # Steve # -- # use Test::More; # # Files that we want to use. # my @required = qw( /bin/ls /bin/dd /bin/mount /bin/cp /bin/tar ); # # Files that we might wish to use. # my @optional = qw( /usr/sbin/debootstrap /usr/bin/rpmstrap /usr/sbin/xm /sbin/mkfs.ext3 /sbin/mkfs.xfs /sbin/mkfs.reiserfs /sbin/mkfs.btrfs ); # # Test required programs # foreach my $file ( @required ) { ok( -x $file , "Required binary installed: $file" ); } # # Test optional programs - if they exist then we ensure they are # executable. If they don't we'll not complain since they are optional. # foreach my $file ( @optional ) { if ( -e $file ) { ok( -x $file , "Optional binary installed: $file" ); } } done_testing(); xen-tools-4.9.2/t/pod.t0000755000175000017500000000046714370055613012746 0ustar abeabe#!perl # # Test that the POD we use in our modules is valid. # use strict; use warnings; use Test::More; # Ensure a recent version of Test::Pod my $min_tp = 1.08; eval "use Test::Pod $min_tp"; plan skip_all => "Test::Pod $min_tp required for testing POD" if $@; # # Run the test(s). # all_pod_files_ok(); xen-tools-4.9.2/t/pod-check.t0000755000175000017500000000143714370055613014017 0ustar abeabe#!perl -w # # Test that the POD we include in our scripts is valid, via the external # podchecker command. # # Steve # -- # use strict; use Test::More; my $bin_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/bin' : 'bin'; foreach my $file ( glob( "$bin_dir/xen-*-* $bin_dir/xt-*-*" ) ) { ok( -e $file, "$file" ); ok( -x $file, " File is executable: $file" ); ok( ! -d $file, " File is not a directory: $file" ); if ( ( -x $file ) && ( ! -d $file ) ) { # # Execute the command giving STDERR to STDOUT where we # can capture it. # my $cmd = "podchecker $file"; my $output = `$cmd 2>&1`; chomp( $output ); is( $output, "$file pod syntax OK.", " File has correct POD syntax: $file" ); } } done_testing(); xen-tools-4.9.2/t/plugin-checks.t0000755000175000017500000000336414370055613014717 0ustar abeabe#!perl -w # # Test that the plugins each refer to environmental variables, # not the perl config hash. # # Steve # -- # use strict; use Test::More; # # Rather than having a hardwired list of distributions to test # against we look for subdirectories beneath hooks/ and test each # one. # my $hook_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/share/xen-tools' : 'hooks'; foreach my $dir ( glob( "$hook_dir/*" ) ) { next if ( $dir =~ /CVS/i ); next if ( $dir =~ /common/i ); next if ( ! -d $dir ); if ( $dir =~ /$hook_dir\/(.*)/ ) { my $dist = $1; testPlugins( $dist ); } } done_testing(); =head2 testPlugins Test each plugin associated with the given directory. =cut sub testPlugins { my ( $dist ) = ( @_ ); # # Make sure there is a hook directory for the named distro # ok( -d "$hook_dir/$dist/", "There is a hook directory for the distro $dist" ); # # Make sure the plugins are OK. # foreach my $file ( glob( "$hook_dir/$dist/*" ) ) { ok( -e $file, "$file" ); if ( -f $file ) { ok( -x $file, "File is executable" ); # # Make sure the file is OK # my $result = testFile( $file ); is( $result, 0, " File contains no mention of the config hash" ); } } } # # Test that the named file contains no mention of '$CONFIG{'xx'};' # sub testFile { my ( $file ) = ( @_ ); open( FILY, "<", $file ) or die "Failed to open $file - $!"; foreach my $line ( ) { if ( $line =~ /\$CONFIG\{[ \t'"]+(.*)[ \t'"]+\}/ ) { close( FILY ); return $line; } } close( FILY ); # # Success # return 0; } xen-tools-4.9.2/t/perl-syntax.t0000755000175000017500000000363414370055613014451 0ustar abeabe#!perl -w # # Test that every perl file we have passes the syntax check. This of # course needs not only build dependencies but also run-time # dependencies like libmoose-perl installed. # # Steve # -- # use strict; use File::Find; use Test::More; # # Find all the files beneath the current directory, # and call 'checkFile' with the name. # find( { wanted => \&checkFile, no_chdir => 1 }, '.' ); done_testing(); # # Check a file. # # If this is a perl file then call "perl -c $name", otherwise # return # sub checkFile { # The file. my $file = $File::Find::name; # We don't care about directories or symbolic links return if ( ! -f $file ); return if ( -l $file ); # Nor about Makefiles return if ( $file =~ /\/Makefile$/ ); # Nor about Change Logs return if ( $file =~ /\/changelog$/i ); # Nor about git files return if ( $file =~ /^\.\/\.git\// ); # Nor about dot files return if ( $file =~ m{/\.[^/]+$} ); # `modules.sh` is a false positive. return if ( $file =~ /modules.sh$/ ); # `tests/hook-tls.t` is too. return if ( $file =~ /hook-tls.t$/ ); # Ignore cover_db files return if ( $file =~ /^\.\/cover_db\// ); # See if it is a perl file. my $isPerl = 0; # Read the file. open( INPUT, "<", $file ); foreach my $line ( ) { if ( $line =~ /\/usr\/bin\/perl/ ) { $isPerl = 1; } } close( INPUT ); # # Return if it wasn't a perl file. # return if ( ! $isPerl ); # # Now run 'perl -c $file' to see if we pass the syntax # check. We add a couple of parameters to make sure we're # really OK. # # use strict "vars"; # use strict "subs"; # my $retval = system( "perl -Mstrict=subs -Mstrict=vars -Ilib -c $file 2>/dev/null >/dev/null" ); is( $retval, 0, "Perl file passes our syntax check: $file" ); } xen-tools-4.9.2/t/modules.sh0000755000175000017500000000112514370055613013773 0ustar abeabe#!/bin/sh # # Automatically attempt to create a test which ensures all the modules # used in the code are available. # # Steve # -- # https://steve.fi/ # # cat < "This test will fail upon 64 bit systems" ; } # # Rather than having a hardwired list of distributions to test # against we look for subdirectories beneath hooks/ and test each # one. # my $hook_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/share/xen-tools' : 'hooks'; foreach my $dir ( glob( "$hook_dir/*" ) ) { next if ( $dir =~ /CVS|common/i ); next if ( ! -d $dir ); if ( $dir =~ /$hook_dir\/(.*)/ ) { my $dist = $1; testTLSDisabling( $dist ) if -e "$hook_dir/$dist/10-disable-tls"; } } done_testing(); # # Test that there is a hook for the given distribution, and that # it successfully disables a faked TLS. # sub testTLSDisabling { my ( $dist ) = ( @_ ); # # Create a temporary directory. # my $dir = File::Temp::tempdir( CLEANUP => 1 ); mkdir( $dir . "/lib", 0777 ); mkdir( $dir . "/lib/tls", 0777 ); mkdir( $dir . "/lib/tls/foo", 0777 ); ok( -d $dir, "Temporary directory created OK" ); ok( -d $dir . "/lib/tls", "TLS directory OK" ); ok( -d $dir . "/lib/tls/foo", "TLS directory is non-empty" ); # # Make sure we have the distro-specific hook directory, and # TLS-disabling hook script. # ok( -d "$hook_dir/$dist", "There is a hook directory for the distro $dist" ); ok( -e "$hook_dir/$dist/10-disable-tls", "TLS Disabling hook exists ($dist)" ); ok( -x "$hook_dir/$dist/10-disable-tls", "TLS Disabling hook is executable ($dist)" ); # # Call the hook # `$hook_dir/$dist/10-disable-tls $dir`; # # Make sure the TLS directory is empty # ok( ! -e "$dir/lib/tls/foo", "The fake library from /lib/tls is gone ($dist)" ); ok( -e "$dir/lib/tls.disabled/foo", "The fake library ended up in /lib/tls.disabled ($dist)" ); ok( -d "$dir/lib/tls", "There is a new /lib/tls directory ($dist)" ); } xen-tools-4.9.2/t/hook-inittab.t0000755000175000017500000000507714370055613014556 0ustar abeabe#!perl -w # # Test that the /etc/inittab file is modified as we expect. # # Steve # -- # use strict; use Test::More; use File::Temp; use File::Copy; my $example_inittab = 't/data/inittab'; my $hook_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/share/xen-tools' : 'hooks'; # # Check if example inittab is present, else bail out # if (-e $example_inittab) { # # Rather than having a hardwired list of distributions to test # against we look for subdirectories beneath hooks/ and test each # one. # foreach my $dir ( glob( "$hook_dir/*" ) ) { next if ( $dir =~ /CVS/i ); next if ( $dir =~ /common/i ); next if ( ! -d $dir ); if ( $dir =~ /$hook_dir\/(.*)/ ) { my $dist = $1; next if ( $dist =~ /(edgy|dapper|ubuntu)/i ); testHook( $dist ); } } } else { BAIL_OUT("$example_inittab not found, source distribution seems incomplete"); } done_testing(); sub testHook { my ( $dist ) = ( @_ ); # # Create a temporary directory, and copy our inittab into it. # my $dir = File::Temp::tempdir( CLEANUP => 1 ); mkdir( $dir . "/etc", 0777 ); File::Copy::cp( $example_inittab, $dir . "/etc" ); # # Make sure that worked. # ok( -d $dir, "Temporary directory created OK" ); ok( -e $dir . "/etc/inittab", "/etc/inittab copied correctly." ); ok( -e "$hook_dir/$dist/30-disable-gettys", "$dist inittab fixing hook exists" ); ok( -x "$hook_dir/$dist/30-disable-gettys", "$dist inittab fixing hook is executable" ); # # Call the hook # `$hook_dir/$dist/30-disable-gettys $dir`; # # Now we read the new file, and make sure it looks like we expect. # open( INIT, "<", $dir . "/etc/inittab" ) or die "Failed to open modified inittab."; my @lines = ; close( INIT ); # # Test we read some lines. # ok( $#lines > 0, "We read the new inittab." ); # # Now test that the lines look like they should. # my $count = 0; foreach my $line ( @lines ) { if ( $line =~ /^([1-9])(.*) (.*)$/ ) { # # This should be our only line: # # 1:2345:respawn:/sbin/getty 38400 console # ok( $1 eq "1", "We found the first getty line." ); ok( $3 eq "hvc0", "Which does uses the correct driver: $3" ); } if ( $line =~ /^(.).*getty/ ) { $count += 1 if ( $1 ne "#" ); } } ok( $count = 1, "Only found one uncommented getty line" ); } xen-tools-4.9.2/t/hook-hostname.t0000755000175000017500000000471314370055613014736 0ustar abeabe#!perl -w # # Test that we get an /etc/hosts etc file created when DHCP is used. # # Steve # -- # use strict; use Test::More; use File::Temp; # # Rather than having a hardwired list of distributions to test # against we look for subdirectories beneath hooks/ and test each # one. # my $hook_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/share/xen-tools' : 'hooks'; foreach my $dir ( glob( "$hook_dir/*" ) ) { next if ( $dir =~ /CVS/i ); next if ( $dir =~ /common/i ); next if ( ! -d $dir ); if ( $dir =~ /$hook_dir\/(.*)/ ) { my $dist = $1; testHostCreation( $dist ) unless ( $dist =~ /fedora/i ); } } done_testing(); # # Test that the creation succeeds. # sub testHostCreation { my ( $dist ) = ( @_ ); # # Setup the environment. # $ENV{'hostname'} = "steve"; $ENV{'dhcp'} = 1; # # Create a temporary directory. # my $dir = File::Temp::tempdir( CLEANUP => 1 ); mkdir( $dir . "/etc", 0777 ); # # Gentoo # if ( $dist =~ /gentoo/i ) { mkdir( $dir . "/etc/conf.d", 0777 ); } ok( -d $dir, "Temporary directory created OK" ); ok( -d $dir . "/etc/conf.d" , "Temporary directory created OK" ) if ( $dist =~ /gentoo/i ); # # Make sure there are no files. # ok( -d $dir . "/etc/", "Temporary directory created OK" ); ok( ! -e $dir . "/etc/hosts", " There is no hosts file present" ); ok( ! -e $dir . "/etc/mailname", " There is no mailname file present" ); ok( ! -e $dir . "/etc/hostname", " There is no hostname file present" ); # # Make sure we have the distro-specific hook directory, and # TLS-disabling hook script. # ok( -d "$hook_dir/$dist", "There is a hook directory for the distro $dist" ); ok( -e "$hook_dir/$dist/50-setup-hostname", "There is a hook for setting up hostname stuff." ); # # Call the hook # `$hook_dir/$dist/50-setup-hostname $dir`; ok( -e $dir . "/etc/hosts", " There is now a hosts file present" ); # # These files are not used in Gentoo # if ( $dist =~ /gentoo/i ) { ok( -e $dir . "/etc/conf.d/domainname", " There is now a domainname file present" ); ok( -e $dir . "/etc/conf.d/hostname", " There is now a hostname file present" ); } else { ok( -e $dir . "/etc/mailname", " There is now a mailname file present" ); ok( -e $dir . "/etc/hostname", " There is now a hostname file present" ); } } xen-tools-4.9.2/t/hook-daemons.t0000755000175000017500000000366414370055613014552 0ustar abeabe#!perl -w # # Test that our policy-rc.d file is created and removed as we expect in our hooks. # # Steve # -- # use strict; use Test::More; use File::Temp; # # Rather than having a hardwired list of distributions to test # against we look for subdirectories beneath hooks/ and test each # one. # my $hook_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/share/xen-tools' : 'hooks'; foreach my $dir ( glob( "$hook_dir/*" ) ) { next if ( $dir =~ /CVS/i ); next if ( ! -d $dir ); if ( $dir =~ /$hook_dir\/(.*)/ ) { my $dist = $1; maybeCallHook( $dist ); } } done_testing(); # # If the given distribution has the following two files test them: # # 01-disable-daemons # 99-enable-daemons # sub maybeCallHook { my( $dist ) = (@_); # # Do the two files exist? # foreach my $file ( qw/ 01-disable-daemons 99-enable-daemons / ) { return if ( ! -e "$hook_dir/$dist/$file" ); } # # Call the test on the given distribution # testHook( $dist ); } # # Test that the two hooks work. # sub testHook { my ( $dist ) = ( @_ ); # # Output # ok( $dist, "Testing: $dist" ); # # Create a temporary directory. # my $dir = File::Temp::tempdir( CLEANUP => 1 ); # # Test we got a directory and there is no /usr/sbin there. # ok( -d $dir, "Temporary directory created OK" ); ok( ! -d $dir . "/usr/sbin", "There is no /usr/sbin directory there. yet" );; # # Call the first hook # `$hook_dir/$dist/01-disable-daemons $dir`; # # Now /usr/sbin should exist. # ok( -d $dir . "/usr/sbin", "The /usr/sbin directory was created" ); ok( -x $dir . "/usr/sbin/policy-rc.d", "The policy-rc.d file was created" ); # # Now call the second hook # `$hook_dir/$dist/99-enable-daemons $dir`; ok( ! -x $dir . "/usr/sbin/policy-rc.d", "The policy-rc.d file was correctly removed" ); } xen-tools-4.9.2/t/Makefile0000644000175000017500000000026414370055613013427 0ustar abeabe all: @cd ..; prove --shuffle t/ verbose: @cd ..; prove --shuffle --verbose t/ modules: modules.sh ./modules.sh > modules.t chmod 750 modules.t clean: rm -vf *~ modules.t xen-tools-4.9.2/t/.gitignore0000644000175000017500000000006314370055613013754 0ustar abeabe# Automatically generated by modules.sh /modules.t xen-tools-4.9.2/roles/0000755000175000017500000000000014370055613012646 5ustar abeabexen-tools-4.9.2/roles/xdm0000755000175000017500000000200314370055613013357 0ustar abeabe#!/bin/sh # # Configure the new image to be a XDM VNC server. # # Steve # -- # https://steve.fi/ # prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Update APT lists. # chroot ${prefix} /usr/bin/apt-get update # # Install the packages # installDebianPackage ${prefix} xserver-xfree86 installDebianPackage ${prefix} vncserver installDebianPackage ${prefix} xfonts-100dpi installDebianPackage ${prefix} xfonts-75dpi installDebianPackage ${prefix} xfonts-base installDebianPackage ${prefix} rxvt installDebianPackage ${prefix} xdm installDebianPackage ${prefix} icewm-experimental # # Remove the default settings. # rm ${prefix}/etc/X11/xdm/Xserver rm ${prefix}/etc/X11/xdm/Xservers # # Setup XDM to use the VNC server we installed. # /bin/echo ':0 /usr/bin/Xvnc /usr/bin/Xvnc -geometry 1024x768 -depth 24' > \ ${prefix}/etc/X11/xdm/Xservers xen-tools-4.9.2/roles/udev0000755000175000017500000000067714370055613013551 0ustar abeabe#!/bin/sh # # Configure the new image to have udev installed. # # Steve # -- # https://steve.fi/ # prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Install udev. # installDebianPackage ${prefix} udev # # Update APT lists. # chroot ${prefix} /usr/bin/apt-get update xen-tools-4.9.2/roles/tmpfs0000755000175000017500000000125314370055613013726 0ustar abeabe#!/bin/sh # # This script is responsible for setting up /etc/fstab upon the # new instance. # # Axel # -- # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Now let's fixup the fstab # cat <> ${prefix}/etc/fstab tmpfs /tmp tmpfs rw,nosuid,nodev 0 0 tmpfs /var/run tmpfs rw,nosuid,nodev,noexec,mode=1755 0 0 tmpfs /var/lock tmpfs rw,nosuid,nodev,noexec 0 0 END_OF_TMPFS_FSTAB # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/roles/sudoers0000755000175000017500000000126014370055613014257 0ustar abeabe#!/bin/sh # # This role installs sudo with host sudoers file. # prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Log our start # logMessage Script $0 starting # # Install sudo package # installDebianPackage ${prefix} sudo # # WARNING : # # Copying this file means that root users in guest will KNOW who is # root on host. # # # Copy dom0's file to domU. # cp /etc/sudoers ${prefix}/etc/ chown root:root ${prefix}/etc/sudoers chmod 440 ${prefix}/etc/sudoers # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/roles/resolv0000755000175000017500000000150414370055613014106 0ustar abeabe#!/bin/sh # # This role helps to customize guest's /etc/resolv.conf # prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Log our start # logMessage Script $0 starting # # WARNING : # # resolv.conf is backed up as resolv.conf.old during roles execution to # permit the chrooted guest to be able to resolve during installation. # Use resolv.conf.old name during hooks, it will be correctly renamed # after hooks execution # # # Create Guest's resolv.conf as resolv.conf.old (see WARNING before) : # cat <${prefix}/etc/resolv.conf.old nameserver 192.168.1.1 #search domain.tld RESOLV_CONF_EOF # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/roles/puppet0000755000175000017500000000133614370055613014114 0ustar abeabe#!/bin/sh # # This role installs Puppet upon the new guest system. # # It must make sure that the server is not running before it exits # otherwise the temporary mounted directory will not be unmountable. # prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Log our start # logMessage Script $0 starting # # Install puppet # installDebianPackage ${prefix} puppet # # Make sure puppet isn't running, this will cause our unmounting of the # disk image to fail.. # chroot ${prefix} /etc/init.d/puppet stop # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/roles/minimal0000755000175000017500000000461514370055613014230 0ustar abeabe#!/bin/sh # # Configure the new image to be a minimal image, by removing packages # not necessarily needed - and installing less resource-hungry ones # # Still far away from perfect. Less personal than in the past, but # for now still based on gut feeling. prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Install some new packages - do this first to avoid dependency errors # # Minimalst possible syslog service installDebianPackage ${prefix} busybox-syslogd # # Remove some standard packages. # # PPP stuff. removeDebianPackage ${prefix} pppconfig removeDebianPackage ${prefix} pppoeconf removeDebianPackage ${prefix} pppoe removeDebianPackage ${prefix} ppp removeDebianPackage ${prefix} libpcap0.7 # Editors, keep only a minimal vi, namely nvi installDebianPackage ${prefix} nvi removeDebianPackage ${prefix} ed nano removeDebianPackage ${prefix} vim-tiny vim-common vim-runtime # Syslog removeDebianPackage ${prefix} klogd sysklogd removeDebianPackage ${prefix} rsyslog removeDebianPackage ${prefix} logrotate # Man pages removeDebianPackage ${prefix} manpages man-db groff-base removeDebianPackage ${prefix} info # misc removeDebianPackage ${prefix} tasksel tasksel-data removeDebianPackage ${prefix} pciutils removeDebianPackage ${prefix} fdutils removeDebianPackage ${prefix} util-linux-locales locales removeDebianPackage ${prefix} debconf-i18n removeDebianPackage ${prefix} netcat-traditional netcat-openbsd removeDebianPackage ${prefix} whiptail # Unnecessary stuff only installed by default on Ubuntu removeDebianPackage ${prefix} sudo removeDebianPackage ${prefix} resolvconf removeDebianPackage ${prefix} console-setup keyboard-configuration kbd xkb-data ureadahead removeDebianPackage ${prefix} python python3 dh-python # General cleanup chroot ${prefix} aptitude -y markauto \ '~n -common' \ '~s libs' \ '~s localization' \ '~s misc' \ '~s perl' \ '~s python' chroot ${prefix} apt-mark auto \ cpio \ crda \ debconf \ install-info \ kmod \ lsb-base \ makedev \ mime-support \ module-init-tools \ plymouth chroot ${prefix} aptitude -y purge '~c' removeDebianPackage ${prefix} aptitude aptitude-common chroot ${prefix} apt-get autoremove --purge chroot ${prefix} apt-get clean xen-tools-4.9.2/roles/gdm0000755000175000017500000000211314370055613013340 0ustar abeabe#!/bin/sh # # Configure the new image to be a GDM VNC server. # # Steve # -- # https://steve.fi/ # prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Update APT lists. # chroot ${prefix} /usr/bin/apt-get update # # Install the packages # installDebianPackage ${prefix} xserver-xfree86 installDebianPackage ${prefix} vncserver installDebianPackage ${prefix} xfonts-100dpi installDebianPackage ${prefix} xfonts-75dpi installDebianPackage ${prefix} xfonts-base installDebianPackage ${prefix} rxvt installDebianPackage ${prefix} gdm installDebianPackage ${prefix} icewm-experimental # # Add a new section to the GDM configuration file. # cat <> ${prefix}/etc/gdm/gdm.conf [server-VNC] name=VNC server command=/usr/bin/Xvnc -geometry 800x600 -depth 24 flexible=true EOF # # Make the new section the default # perl -pi.bak -e 's/^0=Standard\n//g ; s/^\[servers\]/\[servers\]\n0=VNC/g' ${prefix}/etc/gdm/gdm.conf xen-tools-4.9.2/roles/editor0000755000175000017500000000315614370055613014067 0ustar abeabe#!/bin/sh # # Role-script for the generalised editing of files for guests. # # This script works via a skeleton directory containing small # .sed files which will contain edits to be applied to an arbitrary # tree of files upon the new domU. # # For example if we have the following sed file: # # /etc/xen-tools/sed.d/etc/ssh/sshd_config.sed # # this will be applied to /etc/ssh/sshd_config upon the new guest # *if* it exists. If the file encoded in the name doesn't exist then # it will be ignored. # # Steve # -- # # # Our installation directory + our prefix for finding scripts from. # prefix=$1 source=/etc/xen-tools/sed.d/ # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Log our start # logMessage Script $0 starting # # Make sure source directory exists. # if [ ! -d "${source}" ]; then logMessage "Source directory ${source} not found" exit fi # # Now find files which exist. # for i in `find ${source} -name '*.sed' -print`; do # # Get the name of the file, minus the source prefix # file=${i#$source} # # Strip the .sed suffix # file=$(echo "$file" | sed -e 's/\.sed$//') # # Does the file exist in the new install? # if [ -e "${prefix}/${file}" ]; then # # Log it. # logMessage "Running script $i - against ${prefix}/${file}" # # Invoke it. # sed -i~ -f $i "${prefix}/${file}" fi done # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/roles/cfengine0000755000175000017500000000162514370055613014356 0ustar abeabe#!/bin/sh # # This role installs CFengine upon the new guest system. # # It must make sure that the server is not running before it exits # otherwise the temporary mounted directory will not be unmountable. # prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Log our start # logMessage Script $0 starting # # Install CFengine # installDebianPackage ${prefix} cfengine2 # # Make sure the CFengine server isn't running, this will cause our # unmounting of the disk image to fail.. # chroot ${prefix} /etc/init.d/cfengine2 stop # # Copy cfengine update.conf & defaults from Dom0 # cp /etc/cfengine/update.conf ${prefix}/etc/cfengine/ cp /etc/default/cfengine2 ${prefix}/etc/default/ # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/roles/builder0000755000175000017500000000133614370055613014225 0ustar abeabe#!/bin/sh # # Configure the new image to be suitable for compiling Debian packages within # # Steve # -- # https://steve.fi/ # prefix=$1 # # Source our common functions - this will let us install a Debian package. # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi # # Update APT lists. # chroot ${prefix} /usr/bin/apt-get update # # Install the packages # installDebianPackage ${prefix} dpkg-dev installDebianPackage ${prefix} devscripts installDebianPackage ${prefix} fakeroot installDebianPackage ${prefix} debhelper installDebianPackage ${prefix} build-essential installDebianPackage ${prefix} lintian installDebianPackage ${prefix} linda xen-tools-4.9.2/roles/README0000644000175000017500000000035514370055613013531 0ustar abeabeThese files are roles which you can use with xen-create-image(1) with the --role= option. If you add new roles to the xen-tools distribution in this directory, please document them in the POD code of bin/xen-create-image under "ROLES". xen-tools-4.9.2/partitions/0000755000175000017500000000000014370055613013716 5ustar abeabexen-tools-4.9.2/partitions/sample-server0000644000175000017500000000072314370055613016430 0ustar abeabe[root] size=1G type=ext3 mountpoint=/ options=defaults,errors=remount-ro [swap] size=2G type=swap [home] size=1G type=xfs mountpoint=/home options=nodev,nosuid [opt] size=1.5G type=xfs mountpoint=/opt options=nodev [tmp] size=0.5G type=xfs mountpoint=/tmp options=nodev,nosuid [usr] size=4G type=xfs mountpoint=/usr options=nodev [var] size=4G type=xfs mountpoint=/var options=nodev,nosuid [var-tmp] size=1.5G type=xfs mountpoint=/var/tmp options=nodev,nosuid xen-tools-4.9.2/misc/0000755000175000017500000000000014370055613012455 5ustar abeabexen-tools-4.9.2/misc/xen-tools.spec0000644000175000017500000000176214370055613015267 0ustar abeabeName: xen-tools Version: 3.6 Release: 1%{?dist} Summary: Scripts used to create new Xen domains Group: Applications/Emulators License: GPLv2 or Artistic URL: https://xen-tools.org/software/xen-tools/ Source0: https://xen-tools.org/software/xen-tools/xen-tools-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch Requires: perl perl-Text-Template perl-Config-IniFiles perl-Expect AutoReqProv: no %description xen-tools is a collection of simple perl scripts which allow you to easily create new guest Xen domains. %prep %setup -q %build %install rm -rf $RPM_BUILD_ROOT make install prefix=$RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc /etc/xen-tools /etc/bash_completion.d/* /usr/bin/* /usr/share/man/man8/* /usr/share/xen-tools %changelog * Wed Jul 25 2007 Gordon Messmer - Initial build xen-tools-4.9.2/misc/xen-tools.initramfs-tools0000644000175000017500000000036414370055613017464 0ustar abeabe# This initramfs-tools configuration file is installed by xen-tools. # # To make the Dom0's initramfs working inside DomUs, too, most modules # need to be included, not just those necessary for the host system # and its hardware. MODULES=most xen-tools-4.9.2/misc/xen-tools.bash-completion0000644000175000017500000003040514370055613017415 0ustar abeabe# -*- shell-script -*- # # /etc/bash_completion.d/xen-tools # # Completion functions for Bash. # # This file offers basic support for all the command line options, along with # some specialist support to complete filesystem types, distribution targets, # virtual images, etc. # # References on command line completion: # # https://debian-administration.org/articles/316 # https://debian-administration.org/articles/317 # http://dev.gentoo.org/~plasmaroo/devmanual/tasks-reference/completion/ # # Steve # -- # https://steve.fi/ # # # # Utility function to find the names of each existing Xen image, # we do this by parsing the files matching /etc/xen/*.cfg # function _find_xen_images { local names name for i in /etc/xen/*.cfg ; do name=`grep ^name $i 2>/dev/null | awk -F\' '{print $2}'` if [ -n "${name}" ] ; then names="${names} ${name}" fi done echo "${names}" } # # Completion for xen-create-image # # Completes the command line flags, and will allow tab completion of # the supported filesystems # _xen_create_image() { local cur prev ip roles partitions dists vgs COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} # Determine arguments dynamically. Avoids out-of-dateness. opts=$(xen-create-image --help|grep -- --|awk '{print $1}' |grep -- -- | sort -u) # # Complete the initial part of the IP in the configuration file. ip=`grep ^gateway /etc/xen-tools/xen-tools.conf 2>/dev/null | awk -F'= ' '{print $2}'` # # Available distributions, by which we mean distributions which # we have hook scripts available. # for i in `/bin/ls -1 /usr/share/xen-tools/ ` ; do if [ -d /usr/share/xen-tools/${i} ]; then dists="${dists} ${i/.d/}" fi done # # Volume group completion # vgs=`vgdisplay 2>/dev/null | grep Name 2>/dev/null | awk '{print $3}'` # # EVMS container completion # evmscontainers=`evms_query containers 2>/dev/null` case "$prev" in --cache) COMPREPLY=( $( compgen -W 'yes no' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --cachedir) _filedir -d return 0 ;; --config) _filedir .conf return 0 ;; --debootstrap-cmd) _filedir return 0 ;; --dir) _filedir -d return 0 ;; --dist) COMPREPLY=( $( compgen -W '${dists}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --evms) COMPREPLY=( $( compgen -W '${evmscontainers}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --fs) COMPREPLY=( $( compgen -W 'ext2 ext3 ext4 xfs reiserfs btrfs' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --genpass) COMPREPLY=( $( compgen -W '0 1' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --hash_method) COMPREPLY=( $( compgen -W 'md5 sha256 sha512' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --hooks) COMPREPLY=( $( compgen -W '0 1' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --install) COMPREPLY=( $( compgen -W '0 1' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --image) COMPREPLY=( $( compgen -W 'sparse full' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --image-dev) _filedir return 0 ;; --initrd) _filedir return 0 ;; --initrd) COMPREPLY=( $( compgen -W '0 1' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --install-method) COMPREPLY=( $( compgen -W 'copy debootstrap rinse rpmstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --install-source) _filedir return 0 ;; --ip) ip=`echo ${ip} | sed -e 's/[.][^.]*$/./'` COMPREPLY=( $(compgen -W "${ip}" -- ${cur}) ) return 0 ;; --kernel) _filedir return 0 ;; --lvm) COMPREPLY=( $( compgen -W '${vgs}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --modules) _filedir -d return 0 ;; --output) _filedir -d return 0 ;; --partitions) partitions=$(for x in `/bin/ls -1 /etc/xen-tools/partitions.d/ 2>/dev/null | grep -v \/ 2>/dev/null`; do echo ${x} ; done ) COMPREPLY=( $( compgen -W '${partitions}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --role) roles=$(ls -1 /etc/xen-tools/role.d/ | xargs echo ) COMPREPLY=( $( compgen -W '${roles}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --roledir) _filedir -d return 0 ;; --swap-dev) _filedir return 0 ;; --template) _filedir return 0 ;; esac if [[ ${cur} == -* ]] || [[ ${prev} == xen-create-image ]]; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 fi } complete -F _xen_create_image xen-create-image # # Completion for xen-create-nfs # _xen_create_nfs() { local cur prev ip roles dists vgs COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} # Determine arguments dynamically. Avoids out-of-dateness. opts=$(xen-create-nfs --help|grep -- --|awk '{print $1}' |grep -- -- | sort -u) case "$prev" in --template) _filedir return 0 ;; esac if [[ ${cur} == -* ]]; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 fi } complete -F _xen_create_nfs xen-create-nfs # # Completion for xen-delete-image # _xen_delete_image() { local cur prev opts vgs names COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" # # Volume Group completion # vgs=`vgdisplay 2>/dev/null | grep Name 2>/dev/null | awk '{print $3}'` # # EVMS container completion # evmscontainers=`evms_query containers 2>/dev/null` # # Complete the options + all available hostnames. # Determine arguments dynamically. Avoids out-of-dateness. # opts=$(xen-delete-image --help|grep -- --|awk '{print $1}'|grep -- -- | sort -u) opts="${opts} ${names}" case "${prev}" in --dir) _filedir -d return 0 ;; --evms) COMPREPLY=( $( compgen -W '${evmscontainers}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --hostname) names=`_find_xen_images` COMPREPLY=( $(compgen -W "${names}" -- ${cur}) ) return 0 ;; --lvm) COMPREPLY=( $( compgen -W '${vgs}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; esac if [[ ${cur} == -* ]]; then # Completing command line arguments. COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) else # Completing image names names=`_find_xen_images` COMPREPLY=( $(compgen -W "${names}" -- ${cur}) ) fi return 0 } complete -F _xen_delete_image xen-delete-image # # Completion for xen-update-image # _xen_update_image() { local cur prev opts base names vgs COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" # # Volume group completion # vgs=`vgdisplay 2>/dev/null | grep Name 2>/dev/null | awk '{print $3}'` # # EVMS container completion # evmscontainers=`evms_query containers 2>/dev/null` # Determine arguments dynamically. Avoids out-of-dateness. opts=$(xen-update-image --help|grep -- --|awk '{print $1}'|grep -- -- | sort -u) case "${prev}" in --dir) _filedir -d return 0 ;; --evms) COMPREPLY=( $( compgen -W '${evmscontainers}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --lvm) COMPREPLY=( $( compgen -W '${vgs}' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; esac if [[ ${cur} == -* ]]; then # Completing command line arguments. COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) else # Completing image names names=`_find_xen_images` COMPREPLY=( $(compgen -W "${names}" -- ${cur}) ) fi return 0 } complete -F _xen_update_image xen-update-image # # Completion for xen-list-images # _xen_list_images() { local cur prev opts vgs COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" # Determine arguments dynamically. Avoids out-of-dateness. opts=$(xen-list-image --help|grep -- --|awk '{print $1}'|grep -- -- | sort -u) if [[ ${cur} == -* ]]; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 fi } complete -F _xen_list_images xen-list-images # # Completion for xt-create-xen-config # _xt-create-xen-config() { local cur prev COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} # Determine arguments dynamically. Avoids out-of-dateness. opts=$(xt-create-xen-config --help|grep -- --|awk '{print $1}'|grep -- -- | sort -u) case "$prev" in --output) _filedir -d return 0 ;; --template) COMPREPLY=( $( compgen -f -- ${cur#*:} ) ) return 0 ;; esac if [[ ${cur} == -* ]]; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 fi } complete -F _xt-create-xen-config xt-create-xen-config # # Completion for xt-customize-image # _xt-customize-image() { local cur prev dists COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} # 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]}" ) ) return 0 ;; --location) _filedir -d return 0 ;; esac if [[ ${cur} == -* ]]; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 fi } complete -F _xt-customize-image xt-customize-image # # Completion for xt-install-image # # _xt-install-image() { local cur prev dists COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} # Determine arguments dynamically. Avoids out-of-dateness. 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]}" ) ) return 0 ;; --config) _filedir return 0 ;; --dist) COMPREPLY=( $( compgen -W '${dists} sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --install-method) COMPREPLY=( $( compgen -W 'copy debootstrap rinse rpmstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) ) return 0 ;; --location) _filedir -d return 0 ;; esac if [[ ${cur} == -* ]]; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 fi } complete -F _xt-install-image xt-install-image xen-tools-4.9.2/misc/README0000644000175000017500000000035314370055613013336 0ustar abeabe misc/ ---- Miscellaneous items that don't have anywhere else to live. Contents: xen-tools - Bash completion code for our commands. xen-tools.spec - File to build an RPM of the xen-tools package. Steve -- xen-tools-4.9.2/lib/0000755000175000017500000000000014370055613012270 5ustar abeabexen-tools-4.9.2/lib/Xen/0000755000175000017500000000000014370055613013022 5ustar abeabexen-tools-4.9.2/lib/Xen/Tools/0000755000175000017500000000000014370055613014122 5ustar abeabexen-tools-4.9.2/lib/Xen/Tools/Common.pm0000644000175000017500000002037714370055613015721 0ustar abeabe# -*- perl -* package Xen::Tools::Common; =encoding utf8 =head1 NAME Xen::Tools::Common - Common functions used in xen-tools' Perl scripts =head1 SYNOPSIS use Xen::Tools::Common; =cut use warnings; use strict; use Exporter 'import'; use vars qw(@EXPORT_OK @EXPORT); use English; use File::Which; @EXPORT = qw(readConfigurationFile xenRunning runCommand setupAdminUsers findXenToolstack logprint_with_config logonly_with_config fail_with_config); =head1 FUNCTIONS =head2 readConfigurationFile =begin doc Read the specified configuration file, and update our global configuration hash with the values found in it. =end doc =cut sub readConfigurationFile ($$) { my ($file, $CONFIG) = (@_); # Don't read the file if it doesn't exist. return if ( !-e $file ); my $line = ""; open( FILE, "<", $file ) or fail_with_config("Cannot read file '$file' - $!", $CONFIG); while ( defined( $line = ) ) { chomp $line; if ( $line =~ s/\\$// ) { $line .= ; redo unless eof(FILE); } # Skip lines beginning with comments next if ( $line =~ /^([ \t]*)\#/ ); # Skip blank lines next if ( length($line) < 1 ); # Strip trailing comments. if ( $line =~ /([^#]*)\#(.*)/ ) { $line = $1; } # Find variable settings if ( $line =~ /([^=]+)=([^\n]+)/ ) { my $key = $1; my $val = $2; # Strip leading and trailing whitespace. $key =~ s/^\s+//; $key =~ s/\s+$//; $val =~ s/^\s+//; $val =~ s/\s+$//; # command expansion? if ( $val =~ /(.*)`([^`]+)`(.*)/ ) { # store my $pre = $1; my $cmd = $2; my $post = $3; # get output my $output = `$cmd`; chomp($output); # build up replacement. $val = $pre . $output . $post; } # Store value. $CONFIG->{ $key } = $val; } } close(FILE); } =head2 xenRunning =begin doc Test to see if the given instance is running. =end doc =cut sub xenRunning ($$) { my ($hostname, $CONFIG) = (@_); my $running = 0; unless ($CONFIG->{'xm'}) { warn "Couldn't determine Xen toolstack, skipping check for running DomUs.\n" unless $ENV{AS_INSTALLED_TESTING}; return 0; } open( CMD, $CONFIG->{'xm'}." list $hostname 2>/dev/null |" ) or fail_with_config("Failed to run '".$CONFIG->{'xm'}." list $hostname'", $CONFIG); while () { my $line = $_; $running = 1 if ( $line =~ /\Q$hostname\E/ ); } close(CMD); return ($running); } =head2 findXenToolstack =begin doc Find the right Xen toolstack. On Debian and derivatives there's a script which tells you about the current toolstack. =end doc =cut sub findXenToolstack { my $helper = '/usr/lib/xen-common/bin/xen-toolstack'; my $xm = which('xm'); my $xl = which('xl'); if ($xm and $xl and -x $helper) { my $toolstack = `$helper`; chomp($toolstack); return $toolstack if $toolstack; } if ($xm and system("$xm list >/dev/null 2>/dev/null") == 0) { return $xm; } if ($xl and system("$xl list >/dev/null 2>/dev/null") == 0) { return $xl; } return undef; } =head2 runCommand =begin doc A utility method to run a system command. We will capture the return value and exit if the command files. When running verbosely we will also display any command output once it has finished. =end doc =cut sub runCommand ($$;$) { local $| = 1; my ($cmd, $CONFIG, $fail_ok) = (@_); # # Set a local if we don't have one. # $ENV{ 'LC_ALL' } = "C" unless ( $ENV{ 'LC_ALL' } ); # # Header. # if ($CONFIG->{ 'verbose' }) { logprint_with_config("Executing : $cmd\n", $CONFIG); } # # Copy stderr to stdout, so we can see it, and make sure we log it. # $cmd .= " 2>&1"; # # Run it. # my $rcopen = open(CMD, '-|', $cmd); if (!defined($rcopen)) { logprint_with_config("Starting command '$cmd' failed: $!\n", $CONFIG); unless ($fail_ok) { logprint_with_config("Aborting\n", $CONFIG); print "See /var/log/xen-tools/".$CONFIG->{'hostname'}.".log for details\n"; $CONFIG->{'FAIL'} = 1; exit 127; } } while (my $line = ) { if ($CONFIG->{ 'verbose' }) { logprint_with_config($line, $CONFIG); } else { logonly_with_config($line, $CONFIG); } } my $rcclose = close(CMD); if ($CONFIG->{ 'verbose' }) { logprint_with_config("Finished : $cmd\n", $CONFIG); } if (!$rcclose) { my $exit_code = $? >> 8; logprint_with_config("Running command '$cmd' failed with exit code $exit_code.\n", $CONFIG); logprint_with_config("Aborting\n", $CONFIG); print "See /var/log/xen-tools/".$CONFIG->{'hostname'}.".log for details\n"; unless ($fail_ok) { $CONFIG->{'FAIL'} = 1; exit 127; } } } =head2 setupAdminUsers (xen-shell helper) =begin doc This routine is designed to ensure that any users specified with the --admins flag are setup as administrators of the new instance. =end doc =cut sub setupAdminUsers ($) { my $CONFIG = (@_); # # If we're not root we can't modify users. # return if ( $EFFECTIVE_USER_ID != 0 ); # # If we don't have a sudoers file then we'll also ignore this. # return if ( !-e "/etc/sudoers" ); # # Find the path to the xen-login-shell # my $shell = undef; $shell = "/usr/bin/xen-login-shell" if ( -x "/usr/bin/xen-login-shell" ); $shell = "/usr/local/bin/xen-login-shell" if ( -x "/usr/bin/local/xen-login-shell" ); return if ( !defined($shell) ); # # For each user make sure they exist, and setup the # login shell for them. # foreach my $user ( split( /,/, $ENV{ 'admins' } ) ) { # Strip leading and trailing whitespace. $user =~ s/^\s+//; $user =~ s/\s+$//; # Ignore root next if ( $user =~ /^root$/i ); # Does the user exist? if ( getpwnam($user) ) { # Change shell. if ($CONFIG->{ 'verbose' }) { logprint_with_config("Changing shell for $user: $shell\n", $CONFIG); } system( "chsh", "-s", $shell, $user ); } else { # Add a new user. if ($CONFIG->{ 'verbose' }) { logprint_with_config("Adding new user: $user\n", $CONFIG); } system( "useradd", "-s", $shell, $user ); } # # Add the entry to /etc/sudoers. # open( SUDOERS, ">>", "/etc/sudoers" ) or warn "Failed to add user to sudoers file : $user - $!"; print SUDOERS "$user ALL = NOPASSWD: /usr/sbin/xm, /usr/sbin/xl, /usr/bin/xen-create-image\n"; close(SUDOERS); } } =head2 fail_with_config =begin doc Properly set $CONFIG{FAIL} on die =end doc =cut sub fail_with_config ($$) { my ($text, $CONFIG) = (@_); logprint_with_config($text, $CONFIG); $CONFIG->{'FAIL'} = 1; exit 127; } =head2 logonly_with_config =begin doc Print the given string to the logfile. =end doc =cut sub logonly_with_config ($$) { my ($text, $CONFIG) = (@_); if ( $CONFIG->{ 'hostname' } ) { open( LOGFILE, '>>', '/var/log/xen-tools/'.$CONFIG->{'hostname'}.'.log' ) or return; print LOGFILE $text; close(LOGFILE); } } =head2 logprint_with_config =begin doc Print the given string both to our screen, and to the logfile. =end doc =cut sub logprint_with_config ($$) { my ($text, $CONFIG) = (@_); print $text; logonly_with_config($text, $CONFIG); } =head1 AUTHORS Steve Kemp, https://steve.fi/ Axel Beckert, https://axel.beckert.ch/ Dmitry Nedospasov, http://www.nedos.net/ Stéphane Jourdois Merged from several scripts by Axel Beckert. =cut return 1; xen-tools-4.9.2/hooks/0000755000175000017500000000000014370055613012645 5ustar abeabexen-tools-4.9.2/hooks/common.sh0000755000175000017500000002221014370055613014471 0ustar abeabe#!/bin/sh # # Common shell functions which may be used by any hook script # # If you find that a distribution-specific hook script or two # are doing the same thing more than once it should be added here. # # This script also includes a logging utility which you're encouraged # to use. # # The routines here may be freely called from any role script(s) you # might develop. # # Steve # -- # # # If we're running verbosely show a message, otherwise swallow it. # logMessage () { message="$*" if [ -n "${verbose}" ]; then echo $message fi } # # Test the given condition is true, and if not abort. # # Sample usage: # assert "$LINENO" "${verbose}" # assert () { lineno="?" if [ -n "${LINENO}" ]; then # our shell defines variable LINENO, great! lineno=$1 shift fi if [ ! "$*" ] ; then echo "assert failed: $0:$lineno [$*]" exit fi } # # Install a number of Debian packages via apt-get including Recommends. # # We take special care so that daemons shouldn't start after installation # which they might otherwise do. # installDebianPackageAndRecommends () { prefix=$1 shift # # Log our options # logMessage "Installing Debian packages $@ to prefix ${prefix}" # # We require a package + prefix # assert "$LINENO" "${prefix}" # # Prefix must be a directory. # assert "$LINENO" -d ${prefix} # # Use policy-rc to stop any daemons from starting. # printf '#!/bin/sh\nexit 101\n' > ${prefix}/usr/sbin/policy-rc.d chmod +x ${prefix}/usr/sbin/policy-rc.d # # Disable the start-stop-daemon - this shouldn't be necessary # with the policy-rc.d addition above, however leaving it in # place won't hurt .. # disableStartStopDaemon ${prefix} # # Install the packages # DEBIAN_FRONTEND=noninteractive chroot ${prefix} /usr/bin/apt-get --yes install "$@" 2>&1 | sed --expression="s/\rExtracting templates from packages: [0-9]\+%//g;s/(Reading database ... \([0-9]\+%\)\?\r//g" # # Remove the policy-rc.d script. # rm -f ${prefix}/usr/sbin/policy-rc.d # # Re-enable the start-stop-daemon # enableStartStopDaemon ${prefix} } # # Install a number of Debian packages via apt-get, but without Recommends # # We take special care so that daemons shouldn't start after installation # which they might otherwise do. # # NOTE: Function not renamed with trailing "s" for compatibility reasons. # installDebianPackage () { prefix=$1 shift installDebianPackageAndRecommends ${prefix} -o APT::Install-Recommends=false "$@" } # # Generate a Debian-/Ubuntu-compliant menu.lst for legacy GRUB # generateDebianGrubMenuLst () { prefix="$1" DOMU_ISSUE="$2" DOMU_KERNEL="$3" DOMU_RAMDISK="$4" # # Log our options # logMessage "Generating a legacy GRUB menu.lst into prefix ${prefix}" # # We require at least 3 parameters # assert "$LINENO" "${prefix}" assert "$LINENO" "${DOMU_ISSUE}" assert "$LINENO" "${DOMU_KERNEL}" # # Prefix must be a directory, kernel a file # assert "$LINENO" -d ${prefix} assert "$LINENO" -f "${prefix}/boot/${DOMU_KERNEL}" # # Generate a menu.lst for pygrub # mkdir -p ${prefix}/boot/grub cat << E_O_MENU > ${prefix}/boot/grub/menu.lst default 0 timeout 2 ### BEGIN AUTOMAGIC KERNELS LIST ## lines between the AUTOMAGIC KERNELS LIST markers will be modified ## by the debian update-grub script except for the default options below ## DO NOT UNCOMMENT THEM, Just edit them to your needs ## ## Start Default Options ## ## default kernel options ## default kernel options for automagic boot options ## If you want special options for specific kernels use kopt_x_y_z ## where x.y.z is kernel version. Minor versions can be omitted. ## e.g. kopt=root=/dev/hda1 ro ## kopt_2_6_8=root=/dev/hdc1 ro ## kopt_2_6_8_2_686=root=/dev/hdc2 ro # kopt=root=/dev/xvda2 ro elevator=noop ## default grub root device ## e.g. groot=(hd0,0) # groot=(hd0,0) ## should update-grub create alternative automagic boot options ## e.g. alternative=true ## alternative=false # alternative=true ## should update-grub lock alternative automagic boot options ## e.g. lockalternative=true ## lockalternative=false # lockalternative=false ## additional options to use with the default boot option, but not with the ## alternatives ## e.g. defoptions=vga=791 resume=/dev/hda5 # defoptions= ## should update-grub lock old automagic boot options ## e.g. lockold=false ## lockold=true # lockold=false ## altoption boot targets option ## multiple altoptions lines are allowed ## e.g. altoptions=(extra menu suffix) extra boot options ## altoptions=(single-user) single # altoptions=(single-user mode) single ## controls how many kernels should be put into the menu.lst ## only counts the first occurrence of a kernel, not the ## alternative kernel options ## e.g. howmany=all ## howmany=7 # howmany=all ## should update-grub create memtest86 boot option ## e.g. memtest86=true ## memtest86=false # memtest86=false ## should update-grub adjust the value of the default booted system ## can be true or false # updatedefaultentry=false ## should update-grub add savedefault to the default options ## can be true or false # savedefault=false ## ## End Default Options ## ### END DEBIAN AUTOMAGIC KERNELS LIST # Entries statically generated bu xen-tools upon installation. Maybe # removed manually if the entries above (generated by update-grub) # seem to work fine. title $DOMU_ISSUE root (hd0,0) kernel /boot/$DOMU_KERNEL root=/dev/xvda2 ro elevator=noop initrd /boot/$DOMU_RAMDISK title $DOMU_ISSUE (Single-User) root (hd0,0) kernel /boot/$DOMU_KERNEL root=/dev/xvda2 ro single elevator=noop initrd /boot/$DOMU_RAMDISK title $DOMU_ISSUE (Default Kernel) root (hd0,0) kernel /vmlinuz root=/dev/xvda2 ro elevator=noop initrd /initrd.img title $DOMU_ISSUE (Default Kernel, Single-User) root (hd0,0) kernel /vmlinuz root=/dev/xvda2 ro single elevator=noop initrd /initrd.img E_O_MENU } # # Disable the start-stop-daemon # disableStartStopDaemon () { local prefix="$1" assert "$LINENO" "${prefix}" for starter in start-stop-daemon initctl; do local daemonfile="${prefix}/sbin/${starter}" if [ -e "${daemonfile}" ]; then mv "${daemonfile}" "${daemonfile}.REAL" echo '#!/bin/sh' > "${daemonfile}" echo "echo \"Warning: Fake ${starter} called, doing nothing\"" >> "${daemonfile}" chmod 755 "${daemonfile}" logMessage "${starter} disabled / made a stub." fi done } # # Enable the start-stop-daemon # enableStartStopDaemon () { local prefix=$1 assert "$LINENO" "${prefix}" for starter in start-stop-daemon initctl; do local daemonfile="${prefix}/sbin/${starter}" # # If the disabled file is present then enable it. # if [ -e "${daemonfile}.REAL" ]; then mv "${daemonfile}.REAL" "${daemonfile}" logMessage "${starter} restored to working order." fi done } # # Remove the specified Debian packages. # # NOTE: Function not renamed with trailing "s" for compatibility reasons. # removeDebianPackage () { prefix=$1 shift # # Log our options # logMessage "Purging Debian package $@ from prefix ${prefix}" # # We require a prefix # assert "$LINENO" "${prefix}" # # Prefix must be a directory. # assert "$LINENO" -d ${prefix} # # Purge the packages we've been given. # chroot ${prefix} /usr/bin/apt-get remove --yes --purge "$@" } # # Install a RPM package via yum # installRPMPackage () { prefix=$1 package=$2 # # Log our options # logMessage "Installing RPM ${package} to prefix ${prefix}" # # We require a package + prefix # assert "$LINENO" "${package}" assert "$LINENO" "${prefix}" # # Prefix must be a directory. # assert "$LINENO" -d ${prefix} # # Install the package # chroot ${prefix} /usr/bin/yum -y install ${package} } # Backwards Compatibility Function installCentOS4Package () ( installRPMPackage "$@" ) # # Functions to test if we're on a redhatesk or debianesk system # isDeb() ( [ -x $1/usr/bin/apt-get -a -x $1/usr/bin/dpkg ] ) isYum() ( [ -x $1/usr/bin/yum ] ) # # Install a package using whatever package management tool is available # installPackage () { prefix=$1 package=$2 if isDeb ; then installDebianPackage "$@" elif isYum ; then installRPMPackage "$@" else logMessage "Unable to install package ${package}; no package manager found" fi } # # Install a package upon a gentoo system via emerge. # # TODO: STUB # installGentooPackage () { prefix=$1 package=$2 # # Log our options # logMessage "Installing Gentoo package ${package} to prefix ${prefix}" logMessage "NOTE: Not doing anything - this is a stub - FIXME" } xen-tools-4.9.2/hooks/karmic/0000755000175000017500000000000014370055613014113 5ustar abeabexen-tools-4.9.2/hooks/karmic/99-enable-daemons0000777000175000017500000000000014370055613023703 2../common/99-enable-daemonsustar abeabexen-tools-4.9.2/hooks/karmic/99-clean-image0000777000175000017500000000000014370055613023213 2../common/99-clean-image-debustar abeabexen-tools-4.9.2/hooks/karmic/90-make-fstab0000777000175000017500000000000014370055613022161 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/karmic/82-install-grub-legacy0000777000175000017500000000000014370055613025651 2../common/82-install-grub-legacyustar abeabexen-tools-4.9.2/hooks/karmic/81-install-modules-init-tools0000777000175000017500000000000014370055613030563 2../common/81-install-modules-init-toolsustar abeabexen-tools-4.9.2/hooks/karmic/80-install-modules0000777000175000017500000000000014370055613025113 2../common/80-install-modules-debustar abeabexen-tools-4.9.2/hooks/karmic/75-fixup-securetty0000777000175000017500000000000014370055613024503 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/karmic/70-install-ssh0000777000175000017500000000000014370055613023363 2../common/70-install-ssh-debustar abeabexen-tools-4.9.2/hooks/karmic/65-copy-user-files0000777000175000017500000000000014370055613024215 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/karmic/60-copy-host-files0000777000175000017500000000000014370055613024201 2../common/60-copy-host-filesustar abeabexen-tools-4.9.2/hooks/karmic/50-setup-hostname0000777000175000017500000000000014370055613024605 2../common/50-setup-hostname-debustar abeabexen-tools-4.9.2/hooks/karmic/40-setup-networking0000777000175000017500000000000014370055613025525 2../common/40-setup-networking-debustar abeabexen-tools-4.9.2/hooks/karmic/35-setup-users0000777000175000017500000000000014370055613022731 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/karmic/30-disable-gettys0000777000175000017500000000000014370055613023761 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/karmic/25-generate-locale0000777000175000017500000000000014370055613024207 2../common/25-generate-localeustar abeabexen-tools-4.9.2/hooks/karmic/20-setup-apt0000777000175000017500000000000014370055613021763 2../common/20-setup-aptustar abeabexen-tools-4.9.2/hooks/karmic/15-disable-hwclock0000777000175000017500000000000014370055613024215 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/karmic/05-shadowconfig-on0000777000175000017500000000000014370055613024277 2../common/05-shadowconfig-onustar abeabexen-tools-4.9.2/hooks/karmic/01-disable-daemons0000777000175000017500000000000014370055613024173 2../common/01-disable-daemonsustar abeabexen-tools-4.9.2/hooks/karmic/80-install-kernel-ubuntu0000777000175000017500000000000014370055613026643 2../common/80-install-kernel-ubuntuustar abeabexen-tools-4.9.2/hooks/intrepid/0000755000175000017500000000000014370055613014463 5ustar abeabexen-tools-4.9.2/hooks/intrepid/99-enable-daemons0000777000175000017500000000000014370055613024253 2../common/99-enable-daemonsustar abeabexen-tools-4.9.2/hooks/intrepid/99-clean-image0000777000175000017500000000000014370055613023563 2../common/99-clean-image-debustar abeabexen-tools-4.9.2/hooks/intrepid/90-make-fstab0000777000175000017500000000000014370055613022531 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/intrepid/82-install-grub-legacy0000777000175000017500000000000014370055613026221 2../common/82-install-grub-legacyustar abeabexen-tools-4.9.2/hooks/intrepid/81-install-modules-init-tools0000777000175000017500000000000014370055613031133 2../common/81-install-modules-init-toolsustar abeabexen-tools-4.9.2/hooks/intrepid/80-install-modules0000777000175000017500000000000014370055613025463 2../common/80-install-modules-debustar abeabexen-tools-4.9.2/hooks/intrepid/75-fixup-securetty0000777000175000017500000000000014370055613025053 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/intrepid/70-install-ssh0000777000175000017500000000000014370055613023733 2../common/70-install-ssh-debustar abeabexen-tools-4.9.2/hooks/intrepid/65-copy-user-files0000777000175000017500000000000014370055613024565 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/intrepid/60-copy-host-files0000777000175000017500000000000014370055613024551 2../common/60-copy-host-filesustar abeabexen-tools-4.9.2/hooks/intrepid/50-setup-hostname0000777000175000017500000000000014370055613025155 2../common/50-setup-hostname-debustar abeabexen-tools-4.9.2/hooks/intrepid/40-setup-networking0000777000175000017500000000000014370055613026075 2../common/40-setup-networking-debustar abeabexen-tools-4.9.2/hooks/intrepid/35-setup-users0000777000175000017500000000000014370055613023301 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/intrepid/30-disable-gettys0000777000175000017500000000000014370055613024331 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/intrepid/25-generate-locale0000777000175000017500000000000014370055613024557 2../common/25-generate-localeustar abeabexen-tools-4.9.2/hooks/intrepid/20-setup-apt0000777000175000017500000000000014370055613022333 2../common/20-setup-aptustar abeabexen-tools-4.9.2/hooks/intrepid/15-disable-hwclock0000777000175000017500000000000014370055613024565 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/intrepid/05-shadowconfig-on0000777000175000017500000000000014370055613024647 2../common/05-shadowconfig-onustar abeabexen-tools-4.9.2/hooks/intrepid/01-disable-daemons0000777000175000017500000000000014370055613024543 2../common/01-disable-daemonsustar abeabexen-tools-4.9.2/hooks/intrepid/80-install-kernel0000755000175000017500000000355014370055613017565 0ustar abeabe#!/bin/sh # # If the pygrub flag is set, this script will install the necessary # packages to boot the VM from the dom0 via pygrub. This script installs # the kernel and modules and generates a grub menu.lst in the newly # created maschine. # # Dmitry Nedospasov # -- # http://www.nedos.net/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting if [ "${pygrub}" = "1" ]; then # # Attempt to install a xen kernel, if that fails, then install a normal one # KERNEL_PKG="linux-image-virtual" logMessage Attempting to install the $KERNEL_PKG kernel image logMessage WARNING: This kernel may not have pvops if chroot ${prefix} /usr/bin/apt-cache show $KERNEL_PKG > /dev/null 2>&1; then logMessage Package $KERNEL_PKG is available - installing installDebianPackage ${prefix} initramfs-tools installDebianPackage ${prefix} $KERNEL_PKG else logMessage Package $KERNEL_PKG is not available logMessage pygrub set, but kernel could not be installed logMessage Script $0 failed exit 1 fi DOMU_KERNEL=$(basename $(ls -1 ${prefix}/boot/vmlinuz* | tail -n 1)) KERNEL_REV=$(echo $DOMU_KERNEL | sed "s/vmlinuz-//g") DOMU_RAMDISK="initrd.img-$KERNEL_REV" DOMU_ISSUE=$(sed -re "s/ *\\\.*//g" -e1q < ${prefix}/etc/issue) # # Generate initrd if it does not exist # if [ -f ${prefix}/boot/$DOMU_RAMDISK ]; then logMessage initrd exists, skipping generation else logMessage initrd missing, generating chroot ${prefix} update-initramfs -c -k $KERNEL_REV fi # # Generate a menu.lst for pygrub # generateDebianGrubMenuLst "${prefix}" "$DOMU_ISSUE" "$DOMU_KERNEL" "$DOMU_RAMDISK" else logMessage pygrub not set, skipping kernel install fi # if pygrub # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/gentoo/0000755000175000017500000000000014370055613014140 5ustar abeabexen-tools-4.9.2/hooks/gentoo/90-make-fstab0000777000175000017500000000000014370055613022206 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/gentoo/80-install-modules0000777000175000017500000000000014370055613025204 2../common/80-install-modules-rpmustar abeabexen-tools-4.9.2/hooks/gentoo/75-fixup-securetty0000777000175000017500000000000014370055613024530 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/gentoo/70-install-ssh0000755000175000017500000000130114370055613016546 0ustar abeabe#!/bin/sh # # This script installs OpenSSH upon the new system. # # It must make sure that the server is not running before it exits # otherwise the temporary mounted directory will not be unmountable. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Install ssh # installGentooPackage ${prefix} ssh # # Make sure sshd isn't running, this will cause our unmounting of the # disk image to fail.. # chroot ${prefix} /etc/init.d/ssh stop # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/gentoo/65-copy-user-files0000777000175000017500000000000014370055613024242 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/gentoo/55-create-dev0000777000175000017500000000000014370055613022222 2../common/55-create-devustar abeabexen-tools-4.9.2/hooks/gentoo/50-setup-hostname0000755000175000017500000000510214370055613017262 0ustar abeabe#!/bin/sh # # This script places the new systems hostname into a couple of files within # the new image. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # We need to split up the hostname into name + domain # do this by looking for a dot. name=$(echo "$hostname" | sed -e 's/\..*$//') domain=$(echo "$hostname" | sed -e 's/^[^.]*\.//') # # Make sure the umask is correct # umask 022 # # Setup the hostname + domain names. # echo HOSTNAME=\"${name}\" >> ${prefix}/etc/conf.d/hostname echo DNSDOMAIN=\"${domain}\" >> ${prefix}/etc/conf.d/domainname # # Fixup the /etc/hosts file upon the new image for # machines with static IPs # if [ -z "${dhcp}" ]; then # Non-IPv6 stuff. grep -v '\(::\|IPv6\)' /etc/hosts > ${prefix}/etc/hosts # New entry. echo "${ip1} ${hostname}" >> ${prefix}/etc/hosts echo " " >> ${prefix}/etc/hosts # IPv6 stuff. grep '\(::\|IPv6\)' /etc/hosts >> ${prefix}/etc/hosts else # # Stub /etc/hosts for DHCP clients. # cat >> ${prefix}/etc/hosts < /dev/null ) ; then logMessage Host already has IP address for the host ${hostname}. else # # Short host name. # name=`echo ${hostname} | awk -F. '{print $1}'` if [ -z "${nohosts}" ]; then logMessage Adding ${hostname} and ${name} to /etc/hosts on the host echo "${ip1} ${hostname} ${name}" >> /etc/hosts # # If we've updated the /etc/hosts file on the host machine # and there is an installation of dnsmasq installed then # reload it. # # This will let the local LAN clients lookup the new address. # if [ -x /usr/sbin/dnsmasq ] ; then if [ -e /var/run/dnsmasq.pid ]; then logMessage Allowing DNSMasq to restart. kill -s HUP `cat /var/run/dnsmasq.pid` fi fi fi fi fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/gentoo/40-setup-networking0000755000175000017500000000444314370055613017641 0ustar abeabe#!/bin/sh # # This script sets up the networking on the new gentoo image. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Make sure we have an /etc/conf.d directory. # mkdir -p ${prefix}/etc/conf.d # # A function to setup DHCP for our new image. # setupDynamicNetworking () { # # The host is using DHCP. # cat < ${prefix}/etc/conf.d/net # /etc/conf.d/net: # Global config file for net.* rc-scripts # # Setup DHCP for the first ethernet interface # config_eth0=( "dhcp" ) E_O_DHCP } # # A function to setup static IP addresses for our new image. # setupStaticNetworking () { # # if $p2p is set then add a "pointopoint" setting. # point=''; if [ -n "${p2p}" ]; then point="pointopoint ${p2p}" else point='' fi # # We have a static IP address # cat <${prefix}/etc/conf.d/net # # First ethernet interface # config_eth0=( "${ip1} ${point} netmask ${netmask}" ) routes_eth0=( "default via ${gateway}" ) E_O_STATIC interface=1 count=2 while [ "${count}" -le "${ip_count}" ]; do value=\$ip${count} value=`eval echo $value` logMessage Adding etho:${interface} cat <>${prefix}/etc/conf.d/net config_eth0:${interface}=( "{value} netmask "${netmask}" ) E_O_STATIC count=`expr $count + 1` interface=`expr $interface + 1` done # # Hooks are run chrooted, hence the resolv.conf is moved # temporarily to /etc/resolv.conf.old. Use that file, it # will be restored after hooks are run. # if [ '' != "$nameserver" ]; then rm -f ${prefix}/etc/resolv.conf.old for ns in $nameserver; do echo "nameserver $ns" >>${prefix}/etc/resolv.conf.old done else cp /etc/resolv.conf ${prefix}/etc/resolv.conf.old fi } # # Call the relevant function # if [ -z "${dhcp}" ]; then logMessage "Setting up static networking" setupStaticNetworking else logMessage "Setting up DHCP networking" setupDynamicNetworking fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/gentoo/35-setup-users0000777000175000017500000000000014370055613022756 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/gentoo/30-disable-gettys0000777000175000017500000000000014370055613024006 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/gentoo/20-enable-su0000755000175000017500000000125114370055613016157 0ustar abeabe#!/bin/sh # # This script allows all users to use 'su' to become root. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Remove lines matching 'group' or 'wheel'. # grep -v wheel ${prefix}/etc/pam.d/su > ${prefix}/etc/pam.d/su.tmp grep -v group ${prefix}/etc/pam.d/su.tmp > ${prefix}/etc/pam.d/su # # Make sure permissions are correct. # chown root:root ${prefix}/etc/pam.d/su chmod 600 ${prefix}/etc/pam.d/su # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/gentoo/10-disable-tls0000777000175000017500000000000014370055613022550 2../common/10-disable-tlsustar abeabexen-tools-4.9.2/hooks/fedora-core-6/0000755000175000017500000000000014370055613015176 5ustar abeabexen-tools-4.9.2/hooks/fedora-core-6/99-clean-image0000777000175000017500000000000014370055613024342 2../common/99-clean-image-rpmustar abeabexen-tools-4.9.2/hooks/fedora-core-6/90-make-fstab0000777000175000017500000000000014370055613023244 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/fedora-core-6/80-install-modules0000777000175000017500000000000014370055613026242 2../common/80-install-modules-rpmustar abeabexen-tools-4.9.2/hooks/fedora-core-6/75-fixup-securetty0000777000175000017500000000000014370055613025566 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/fedora-core-6/70-install-ssh0000777000175000017500000000000014370055613024512 2../common/70-install-ssh-rpmustar abeabexen-tools-4.9.2/hooks/fedora-core-6/65-copy-user-files0000777000175000017500000000000014370055613025300 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/fedora-core-6/55-create-dev0000777000175000017500000000000014370055613023260 2../common/55-create-devustar abeabexen-tools-4.9.2/hooks/fedora-core-6/50-setup-hostname0000777000175000017500000000000014370055613025734 2../common/50-setup-hostname-rpmustar abeabexen-tools-4.9.2/hooks/fedora-core-6/40-setup-networking0000777000175000017500000000000014370055613026654 2../common/40-setup-networking-rpmustar abeabexen-tools-4.9.2/hooks/fedora-core-6/35-setup-users0000777000175000017500000000000014370055613024014 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/fedora-core-6/30-disable-gettys0000777000175000017500000000000014370055613025044 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/fedora-core-6/20-setup-yum0000777000175000017500000000000014370055613023122 2../common/20-setup-yumustar abeabexen-tools-4.9.2/hooks/fedora-core-6/15-setup-arch0000777000175000017500000000000014370055613024320 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/fedora-core-6/10-disable-tls0000777000175000017500000000000014370055613023606 2../common/10-disable-tlsustar abeabexen-tools-4.9.2/hooks/edgy/0000755000175000017500000000000014370055613013575 5ustar abeabexen-tools-4.9.2/hooks/edgy/99-enable-daemons0000777000175000017500000000000014370055613023365 2../common/99-enable-daemonsustar abeabexen-tools-4.9.2/hooks/edgy/99-clean-image0000777000175000017500000000000014370055613022675 2../common/99-clean-image-debustar abeabexen-tools-4.9.2/hooks/edgy/90-make-fstab0000777000175000017500000000000014370055613021643 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/edgy/82-install-grub-legacy0000777000175000017500000000000014370055613025333 2../common/82-install-grub-legacyustar abeabexen-tools-4.9.2/hooks/edgy/81-install-modules-init-tools0000777000175000017500000000000014370055613030245 2../common/81-install-modules-init-toolsustar abeabexen-tools-4.9.2/hooks/edgy/80-install-modules0000777000175000017500000000000014370055613024575 2../common/80-install-modules-debustar abeabexen-tools-4.9.2/hooks/edgy/75-fixup-securetty0000777000175000017500000000000014370055613024165 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/edgy/70-install-ssh0000777000175000017500000000000014370055613023045 2../common/70-install-ssh-debustar abeabexen-tools-4.9.2/hooks/edgy/65-copy-user-files0000777000175000017500000000000014370055613023677 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/edgy/60-copy-host-files0000777000175000017500000000000014370055613023663 2../common/60-copy-host-filesustar abeabexen-tools-4.9.2/hooks/edgy/50-setup-hostname0000777000175000017500000000000014370055613024267 2../common/50-setup-hostname-debustar abeabexen-tools-4.9.2/hooks/edgy/40-setup-networking0000777000175000017500000000000014370055613025207 2../common/40-setup-networking-debustar abeabexen-tools-4.9.2/hooks/edgy/35-setup-users0000777000175000017500000000000014370055613022413 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/edgy/30-disable-gettys0000777000175000017500000000000014370055613023443 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/edgy/25-generate-locale0000777000175000017500000000000014370055613023671 2../common/25-generate-localeustar abeabexen-tools-4.9.2/hooks/edgy/20-setup-apt0000777000175000017500000000000014370055613021445 2../common/20-setup-aptustar abeabexen-tools-4.9.2/hooks/edgy/15-disable-hwclock0000777000175000017500000000000014370055613023677 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/edgy/05-shadowconfig-on0000777000175000017500000000000014370055613023761 2../common/05-shadowconfig-onustar abeabexen-tools-4.9.2/hooks/edgy/01-disable-daemons0000777000175000017500000000000014370055613023655 2../common/01-disable-daemonsustar abeabexen-tools-4.9.2/hooks/edgy/80-install-kernel0000755000175000017500000000446614370055613016706 0ustar abeabe#!/bin/sh # # If the pygrub flag is set, this script will install the necessary # packages to boot the VM from the dom0 via pygrub. This script installs # the kernel and modules and generates a grub menu.lst in the newly # created maschine. # # Dmitry Nedospasov # -- # http://www.nedos.net/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting if [ "${pygrub}" = "1" ]; then # # Attempt to install a xen kernel, if that fails, then install a normal one # KERNEL_XEN_PKG="linux-image-xen" KERNEL_PKG="linux-image-server" logMessage Attempting to install the $KERNEL_XEN_PKG kernel image if chroot ${prefix} /usr/bin/apt-cache show $KERNEL_XEN_PKG > /dev/null 2>&1; then logMessage Package $KERNEL_XEN_PKG is available - installing installDebianPackage ${prefix} initramfs-tools installDebianPackage ${prefix} $KERNEL_XEN_PKG else logMessage Package $KERNEL_XEN_PKG is not available logMessage Attempting to install the $KERNEL_PKG kernel image logMessage WARNING: This kernel may not have pvops if chroot ${prefix} /usr/bin/apt-cache show $KERNEL_PKG > /dev/null 2>&1; then logMessage Package $KERNEL_PKG is available - installing installDebianPackage ${prefix} initramfs-tools installDebianPackage ${prefix} $KERNEL_PKG else logMessage Package $KERNEL_PKG is not available logMessage pygrub set, but kernel could not be installed logMessage Script $0 failed exit 1 fi fi DOMU_KERNEL=$(basename $(ls -1 ${prefix}/boot/vmlinuz* | tail -n 1)) KERNEL_REV=$(echo $DOMU_KERNEL | sed "s/vmlinuz-//g") DOMU_RAMDISK="initrd.img-$KERNEL_REV" DOMU_ISSUE=$(sed -re "s/ *\\\.*//g" -e1q < ${prefix}/etc/issue) # # Generate initrd if it does not exist # if [ -f ${prefix}/boot/$DOMU_RAMDISK ]; then logMessage initrd exists, skipping generation else logMessage initrd missing, generating chroot ${prefix} update-initramfs -c -k $KERNEL_REV fi # # Generate a menu.lst for pygrub # generateDebianGrubMenuLst "${prefix}" "$DOMU_ISSUE" "$DOMU_KERNEL" "$DOMU_RAMDISK" else logMessage pygrub not set, skipping kernel install fi # if pygrub # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/debian/0000755000175000017500000000000014370055613014067 5ustar abeabexen-tools-4.9.2/hooks/debian/20-setup-apt0000755000175000017500000000633114370055613016161 0ustar abeabe#!/bin/sh # # This script sets up the /etc/apt/sources.list for APT, and it disables # TLS where appropriate. # # Steve # -- # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Attempt to auto-magically detect the use of a Proxy for apt-get, and # replicate that setup in our new guest via apt-config dump and save # the setting to the proxy guess file. # if [ ${apt_proxy} ]; then echo "Acquire::http::Proxy \"${apt_proxy}\";" > ${prefix}/etc/apt/apt.conf.d/01proxy else logMessage The use of a proxy detected. apt-config dump | grep -i Acquire::HTTP::Proxy > ${prefix}/etc/apt/apt.conf.d/01proxy fi # # Setup the sources.list file for new installations of Debian GNU/Linux. # cat < ${prefix}/etc/apt/sources.list # # /etc/apt/sources.list # # # ${dist} # deb ${mirror} ${dist} main contrib non-free deb-src ${mirror} ${dist} main contrib non-free E_O_APT # # If the host system has security support then enable that here, too, # except if we're installing Debian Unstable. # if ( test "${dist}" "!=" "sid" && test "${dist}" "!=" "unstable" && \ test -e /etc/apt/sources.list && \ grep ^deb.*security -r /etc/apt/sources.list /etc/apt/sources.list.d >/dev/null 2>/dev/null ) ; then if echo "${dist}" | egrep -q '\b(sarge|etch|lenny|squeeze|wheezy|jessie|stretch|buster)\b'; then cat <> ${prefix}/etc/apt/sources.list # # Security updates # deb http://security.debian.org/ ${dist}/updates main contrib non-free deb-src http://security.debian.org/ ${dist}/updates main contrib non-free E_O_APT else cat <> ${prefix}/etc/apt/sources.list # # Security updates # deb http://security.debian.org/ ${dist}-security main contrib non-free deb-src http://security.debian.org/ ${dist}-security main contrib non-free E_O_APT fi else if echo "${dist}" | egrep -q '\b(sarge|etch|lenny|squeeze|wheezyjessie|stretch|buster)\b'; then cat <> ${prefix}/etc/apt/sources.list # # Security updates - Uncomment to enable. # # deb http://security.debian.org/ ${dist}/updates main contrib non-free # deb-src http://security.debian.org/ ${dist}/updates main contrib non-free E_O_APT else cat <> ${prefix}/etc/apt/sources.list # # Security updates - Uncomment to enable. # # deb http://security.debian.org/ ${dist}-security main contrib non-free # deb-src http://security.debian.org/ ${dist}-security main contrib non-free E_O_APT fi fi # # Now that the sources have been setup make sure the system is up to date. # chroot ${prefix} /usr/bin/apt-get update # # For all systems after Sarge we install libc6-xen on i386 # # For Sarge we don't have that option, so we disable TLS the hard way. # if [ "${arch}" = "i386" ]; then if [ "${dist}" = 'sarge' ]; then logMessage "Disabling TLS" mv ${prefix}/lib/tls ${prefix}/lib/tls.disabled mkdir ${prefix}/lib/tls else logMessage "Installing xen-aware libc6" installDebianPackage ${prefix} libc6-xen fi fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/debian/99-enable-daemons0000777000175000017500000000000014370055613023657 2../common/99-enable-daemonsustar abeabexen-tools-4.9.2/hooks/debian/99-clean-image0000777000175000017500000000000014370055613023167 2../common/99-clean-image-debustar abeabexen-tools-4.9.2/hooks/debian/95-configure-locales0000755000175000017500000000123314370055613017650 0ustar abeabe#!/bin/sh # # This script ensures the new image has locales setup correctly. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Default to the same locale as the host. # if [ -e /etc/locale.gen ]; then cp /etc/locale.gen ${prefix}/etc fi # # Install the package # installDebianPackage ${prefix} locales installDebianPackage ${prefix} util-linux-locales chroot ${prefix} /usr/sbin/update-locale LANG=C # # Log our finish # logMessage Script $0 finished. xen-tools-4.9.2/hooks/debian/90-make-fstab0000777000175000017500000000000014370055613022135 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/debian/82-install-grub-legacy0000777000175000017500000000000014370055613025625 2../common/82-install-grub-legacyustar abeabexen-tools-4.9.2/hooks/debian/81-install-modules-init-tools0000777000175000017500000000000014370055613030537 2../common/81-install-modules-init-toolsustar abeabexen-tools-4.9.2/hooks/debian/80-install-modules0000777000175000017500000000000014370055613025067 2../common/80-install-modules-debustar abeabexen-tools-4.9.2/hooks/debian/75-fixup-securetty0000777000175000017500000000000014370055613024457 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/debian/70-install-ssh0000777000175000017500000000000014370055613023337 2../common/70-install-ssh-debustar abeabexen-tools-4.9.2/hooks/debian/65-copy-user-files0000777000175000017500000000000014370055613024171 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/debian/60-copy-host-files0000777000175000017500000000000014370055613024155 2../common/60-copy-host-filesustar abeabexen-tools-4.9.2/hooks/debian/55-create-dev0000777000175000017500000000000014370055613022151 2../common/55-create-devustar abeabexen-tools-4.9.2/hooks/debian/50-setup-hostname0000777000175000017500000000000014370055613024561 2../common/50-setup-hostname-debustar abeabexen-tools-4.9.2/hooks/debian/40-setup-networking0000777000175000017500000000000014370055613025501 2../common/40-setup-networking-debustar abeabexen-tools-4.9.2/hooks/debian/35-setup-users0000777000175000017500000000000014370055613022705 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/debian/30-disable-gettys0000777000175000017500000000000014370055613023735 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/debian/15-disable-hwclock0000777000175000017500000000000014370055613024171 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/debian/05-shadowconfig-on0000777000175000017500000000000014370055613024253 2../common/05-shadowconfig-onustar abeabexen-tools-4.9.2/hooks/debian/01-disable-daemons0000777000175000017500000000000014370055613024147 2../common/01-disable-daemonsustar abeabexen-tools-4.9.2/hooks/debian/80-install-kernel0000755000175000017500000000701514370055613017171 0ustar abeabe#!/bin/sh # # If the pygrub flag is set, this script will install the necessary # packages to boot the VM from the dom0 via pygrub. This script installs # the kernel and modules and generates a grub menu.lst in the newly # created maschine. # # Dmitry Nedospasov # -- # http://www.nedos.net/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi if [ "${pygrub}" = "1" ]; then # # Log our start # logMessage Script $0 starting # # Resolve the correct architecture # if [ "${arch}" = "i386" ]; then XEN_ARCH="686" elif [ "${arch}" = "amd64" ]; then XEN_ARCH="amd64" elif [ "${arch}" = "arm64" ]; then XEN_ARCH="arm64" elif [ -z "${arch}" ]; then UNAME_ARCH=`uname -m` if [ "${UNAME_ARCH}" = "i686" ]; then XEN_ARCH="686" elif [ "${UNAME_ARCH}" = "x86_64" ]; then XEN_ARCH="amd64" elif [ "${UNAME_ARCH}" = "aarch64" ]; then XEN_ARCH="arm64" else logMessage Unknown kernel architecture ${UNAME_ARCH}. logMessage Please report this as bug to xen-tools-dev@xen-tools.org. logMessage Script $0 failed exit 1 fi else logMessage Unknown kernel architecture ${arch} logMessage Script $0 failed exit 1 fi # # Attempt to install a xen kernel, if that fails, then install a normal one # KERNEL_XEN_PKG="linux-image-xen-$XEN_ARCH" KERNEL_PKG="linux-image-$XEN_ARCH" # Add "-pae" suffix for Debian releases after Squeeze. See # https://bugs.debian.org/742778 for details. if [ "${dist}" != "sarge" -a \ "${dist}" != "etch" -a \ "${dist}" != "lenny" -a \ "${dist}" != "squeeze" -a \ "$XEN_ARCH" = "686" ]; then KERNEL_XEN_PKG="$KERNEL_XEN_PKG-pae" KERNEL_PKG="$KERNEL_PKG-pae" fi logMessage Attempting to install the $KERNEL_XEN_PKG kernel image if chroot ${prefix} /usr/bin/apt-cache show $KERNEL_XEN_PKG > /dev/null 2>&1; then logMessage Package $KERNEL_XEN_PKG is available - installing installDebianPackage ${prefix} initramfs-tools installDebianPackage ${prefix} $KERNEL_XEN_PKG else logMessage Package $KERNEL_XEN_PKG is not available logMessage Attempting to install the $KERNEL_PKG kernel image logMessage WARNING: This kernel may not have pvops if chroot ${prefix} /usr/bin/apt-cache show $KERNEL_PKG > /dev/null 2>&1; then logMessage Package $KERNEL_PKG is available - installing installDebianPackage ${prefix} initramfs-tools installDebianPackage ${prefix} $KERNEL_PKG else logMessage Package $KERNEL_PKG is not available logMessage pygrub set, but kernel could not be installed logMessage Script $0 failed exit 1 fi fi # Check for "ls -v" support V=''; if ls -1 ${prefix}/boot/vmlinuz* > /dev/null 2>&1; then V=-v; fi DOMU_KERNEL=$(basename $(ls -1 ${V} ${prefix}/boot/vmlinuz* | tail -n 1)) KERNEL_REV=$(echo $DOMU_KERNEL | sed "s/vmlinuz-//g") DOMU_RAMDISK="initrd.img-$KERNEL_REV" DOMU_ISSUE=$(sed -re "s/ *\\\.*//g" -e1q < ${prefix}/etc/issue) # # Generate initrd if it does not exist # if [ -f ${prefix}/boot/$DOMU_RAMDISK ]; then logMessage initrd exists, skipping generation else logMessage initrd missing, generating chroot ${prefix} update-initramfs -c -k $KERNEL_REV fi # # Generate a menu.lst for pygrub # generateDebianGrubMenuLst "${prefix}" "$DOMU_ISSUE" "$DOMU_KERNEL" "$DOMU_RAMDISK" else logMessage pygrub not set, skipping kernel install fi # if pygrub # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/dapper/0000755000175000017500000000000014370055613014120 5ustar abeabexen-tools-4.9.2/hooks/dapper/99-enable-daemons0000777000175000017500000000000014370055613023710 2../common/99-enable-daemonsustar abeabexen-tools-4.9.2/hooks/dapper/99-clean-image0000777000175000017500000000000014370055613023220 2../common/99-clean-image-debustar abeabexen-tools-4.9.2/hooks/dapper/90-make-fstab0000777000175000017500000000000014370055613022166 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/dapper/81-install-modules-init-tools0000777000175000017500000000000014370055613030570 2../common/81-install-modules-init-toolsustar abeabexen-tools-4.9.2/hooks/dapper/80-install-modules0000777000175000017500000000000014370055613025120 2../common/80-install-modules-debustar abeabexen-tools-4.9.2/hooks/dapper/75-fixup-securetty0000777000175000017500000000000014370055613024510 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/dapper/70-install-ssh0000777000175000017500000000000014370055613023370 2../common/70-install-ssh-debustar abeabexen-tools-4.9.2/hooks/dapper/65-copy-user-files0000777000175000017500000000000014370055613024222 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/dapper/60-copy-host-files0000777000175000017500000000000014370055613024206 2../common/60-copy-host-filesustar abeabexen-tools-4.9.2/hooks/dapper/55-create-dev0000777000175000017500000000000014370055613022202 2../common/55-create-devustar abeabexen-tools-4.9.2/hooks/dapper/50-setup-hostname0000777000175000017500000000000014370055613024612 2../common/50-setup-hostname-debustar abeabexen-tools-4.9.2/hooks/dapper/40-setup-networking0000777000175000017500000000000014370055613025532 2../common/40-setup-networking-debustar abeabexen-tools-4.9.2/hooks/dapper/35-setup-users0000777000175000017500000000000014370055613022736 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/dapper/30-disable-gettys0000777000175000017500000000000014370055613023766 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/dapper/25-generate-locale0000777000175000017500000000000014370055613024214 2../common/25-generate-localeustar abeabexen-tools-4.9.2/hooks/dapper/20-setup-apt0000777000175000017500000000000014370055613021770 2../common/20-setup-aptustar abeabexen-tools-4.9.2/hooks/dapper/15-disable-hwclock0000777000175000017500000000000014370055613024222 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/dapper/10-disable-tls0000777000175000017500000000000014370055613022530 2../common/10-disable-tlsustar abeabexen-tools-4.9.2/hooks/dapper/05-shadowconfig-on0000777000175000017500000000000014370055613024304 2../common/05-shadowconfig-onustar abeabexen-tools-4.9.2/hooks/dapper/01-disable-daemons0000777000175000017500000000000014370055613024200 2../common/01-disable-daemonsustar abeabexen-tools-4.9.2/hooks/common/0000755000175000017500000000000014370055613014135 5ustar abeabexen-tools-4.9.2/hooks/common/99-enable-daemons0000755000175000017500000000110514370055613017171 0ustar abeabe#!/bin/sh # # This script removes the file which prevents daemons from running. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Remove the script if present. # if [ -x "${prefix}/usr/sbin/policy-rc.d" ]; then rm -f "${prefix}/usr/sbin/policy-rc.d" logMessage "Removed: ${prefix}/usr/sbin/policy-rc.d" fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/99-clean-image-rpm0000755000175000017500000000136514370055613017265 0ustar abeabe#!/bin/sh # # This script cleans the yum database on the new system. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Clean up RPM files. # logMessage Cleaning .rpm* files. find ${prefix}/ -name '*.rpmorig' -exec rm -f \{\} \; find ${prefix}/ -name '*.rpmnew' -exec rm -f \{\} \; # # Clean yum # logMessage Cleaning Yum Repository if [ ! -d ${prefix}/proc ]; then mkdir -p ${prefix}/proc fi mount -o bind /proc ${prefix}/proc chroot ${prefix} /usr/bin/yum clean all umount ${prefix}/proc # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/99-clean-image-deb0000755000175000017500000000074214370055613017217 0ustar abeabe#!/bin/sh # # This script cleans the newly created image's apt-get archive. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Clean the APT package cache for Debian GNU/Linux. # chroot ${prefix} /usr/bin/apt-get clean # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/90-make-fstab0000755000175000017500000000546714370055613016337 0ustar abeabe#!/bin/sh # # This script is responsible for setting up /etc/fstab upon the # new instance. # # This should be a simple job, but it is complicated by some of the # differences between filesystems - some root filesystems will require # the installation of new packages, and we have to handle that here. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting logMessage Filesystem options are ${options} # # Find the root device. # # 1. default to xvda. # # 2. If --ide is specified use hda. # # 3. If --scsi is specified use sda. # # 4. Otherwise use a named $disk_device # device=xvda if [ "${ide}" ]; then device=hda elif [ "${scsi}" ]; then device=sda else if [ -n "${disk_device}" ]; then device=`basename $disk_device` fi fi logMessage "Root device is /dev/$device" # # Now we have the options we can create the fstab. # has_xfs=0 has_reiserfs=0 has_btrfs=0 cat < ${prefix}/etc/fstab # /etc/fstab: static file system information. # # proc /proc proc defaults 0 0 devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=620 0 0 E_O_FSTAB for part in `seq 1 ${NUMPARTITIONS}`; do eval "PARTITION=\"\${PARTITION${part}}\"" OLDIFS="${IFS}" IFS=: x=0 for partdata in ${PARTITION}; do eval "partdata${x}=\"${partdata}\"" x=$(( $x+1 )) done IFS="${OLDIFS}" case "${partdata2}" in xfs) has_xfs=1 ;; reiserfs) has_reiserfs=1 ;; btrfs) has_btrfs=1 ;; esac if [ "${partdata2}" = "swap" ]; then echo "/dev/${device}${part} none swap sw 0 0" >> ${prefix}/etc/fstab else echo "/dev/${device}${part} ${partdata3} ${partdata2} ${partdata4} 0 1" >> ${prefix}/etc/fstab fi done logMessage Checking for filesystem tools to install # # Install any required packages for the given root filesystem # if [ "$has_xfs" -eq 1 ]; then installPackage ${prefix} xfsprogs fi if [ "$has_reiserfs" -eq 1 ]; then if isAPT; then installDebianPackage reiserfsprogs elif isYum; then installRPMPackage reiserfs-utils else logMessage "Unable to install reiserfs tools; no package manager recognized" fi fi if [ "$has_btrfs" -eq 1 ]; then if isAPT; then installDebianPackage btrfs-tools elif isYum; then installRPMPackage btrfs-progs else logMessage "Unable to install btrfs tools; no package manager recognized" fi fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/81-install-modules-init-tools0000755000175000017500000000156514370055613021533 0ustar abeabe#!/bin/sh # # Ensure that either modules-init-tools or kmod is setup. # # This is required in most setups. But even if it isn't required it # can't really do anything bad; just waste a bit of space. # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Install either kmod or module-init-tools package. # if chroot ${prefix} /usr/bin/apt-cache show module-init-tools >/dev/null 2>/dev/null; then if chroot ${prefix} /usr/bin/apt-cache show module-init-tools | fgrep -qi transitional; then installDebianPackage ${prefix} kmod else installDebianPackage ${prefix} module-init-tools fi else installDebianPackage ${prefix} kmod fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/80-install-modules-rpm0000755000175000017500000000147614370055613020230 0ustar abeabe#!/bin/sh # # Install modules from the host system into the new image, and # ensure that 'module-init-tools' is setup. # # This is most likely required if you're using a custom kernel # for your Xen system. But even if it isn't required it can't # really do anything bad; just waste a bit of space. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Copy the modules from the host to the new system - we should only # really copy the *correct* modules, but we don't know what they are. # mkdir -p ${prefix}/lib/modules cp -au /lib/modules/*/ ${prefix}/lib/modules # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/75-fixup-securetty0000755000175000017500000000151114370055613017472 0ustar abeabe#!/bin/sh # # This script ensures /etc/securetty upon the new guests has the new # Xen console devices in it # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # If the file doesn't exist exit early. # if [ ! -e ${prefix}/etc/securetty ]; then logMessage /etc/securetty not found. exit fi # # Do both the devices. # for i in xvc0 hvc0 ; do # # Only append if not presnt. # if ( grep $i ${prefix}/etc/securetty > /dev/null ) ; then logMessage Host already has $i entry else echo $i >> ${prefix}/etc/securetty fi done # # Log our finish # logMessage Script $0 finished. xen-tools-4.9.2/hooks/common/70-install-ssh-rpm0000755000175000017500000000111714370055613017344 0ustar abeabe#!/bin/sh # # This script installs OpenSSH upon the new system. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Install the OpenSSH server. # if [ ! -d ${prefix}/proc ]; then mkdir -p ${prefix}/proc fi mount -o bind /proc ${prefix}/proc chroot ${prefix} /usr/bin/yum -y install openssh-server passwd umount ${prefix}/proc # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/70-install-ssh-deb0000755000175000017500000000253714370055613017307 0ustar abeabe#!/bin/sh # # This script installs OpenSSH Server on the newly created guest. # # It does this by generating the keys within the host, since guests # do not have the necessary /dev/random and /dev/urandom to generate # their own keys before boot. # # Dmitry Nedospasov # -- # http://www.nedos.net/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Since our guests doesn't have an RNG, generate the keys from the host # # First, create an ssh directory # mkdir -p ${prefix}/etc/ssh # # Second, Generate the Host RSA Key # if [ ! -f ${prefix}/etc/ssh/ssh_host_rsa_key ]; then if ssh-keygen -t rsa -N "" -f ${prefix}/etc/ssh/ssh_host_rsa_key -C "root@${hostname}"; then logMessage "successfully generated RSA host key" else logMessage "failed to generate RSA host key" fi fi # # Third, Generate the Host DSA Key # if [ ! -f ${prefix}/etc/ssh/ssh_host_dsa_key ]; then if ssh-keygen -t dsa -N "" -f ${prefix}/etc/ssh/ssh_host_dsa_key -C "root@${hostname}"; then logMessage "successfully generated DSA host key" else logMessage "failed to generate DSA host key" fi fi # # Install ssh # installDebianPackage ${prefix} openssh-server # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/55-create-dev0000755000175000017500000000234114370055613016331 0ustar abeabe#!/bin/sh # # This script ensures that the new guest images have a nicely # populated /dev directory. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Test where MAKEDEV is located, assuming /sbin/ as default # MAKEDEV='' MAKEDEV_PATHS="/sbin/MAKEDEV /dev/MAKEDEV" for MAKEDEV_PATH in ${MAKEDEV_PATHS}; do if [ -x "${prefix}${MAKEDEV_PATH}" ]; then MAKEDEV="${prefix}${MAKEDEV_PATH}" break fi done if [ -n "${MAKEDEV}" ]; then # # Early termination if we have a couple of common devices present # should speed up installs which use --copy/--tar # if ( test `ls -1 ${prefix}/dev | wc -l` -gt 10 ); then # # We still need to make sure the basic devices are present # cd ${prefix}/dev ${MAKEDEV} std ${MAKEDEV} hda ${MAKEDEV} sda ${MAKEDEV} tty1 logMessage "Terminating because there appear to be files in /dev already" exit fi # # Make the device nodes. # cd ${prefix}/dev ${MAKEDEV} generic ${MAKEDEV} std fi # -n ${MAKEDEV} # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/50-setup-hostname-rpm0000755000175000017500000000460214370055613020057 0ustar abeabe#!/bin/sh # # This script places the new systems hostname into a couple of files within # the new image. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Make sure the umask is correct # umask 022 # # Setup the mailname + hostname files. # echo ${hostname} | sed 's/^\([^\.]*\)\..*/\1/' > ${prefix}/etc/hostname echo ${hostname} > ${prefix}/etc/mailname # # Fixup the /etc/hosts file upon the new image for # machines with static IPs # if [ -z "${dhcp}" ]; then # Non-IPv6 stuff. grep -v '\(::\|IPv6\)' /etc/hosts > ${prefix}/etc/hosts # New entry. echo "${ip1} ${hostname}" >> ${prefix}/etc/hosts echo " " >> ${prefix}/etc/hosts # IPv6 stuff. grep '\(::\|IPv6\)' /etc/hosts >> ${prefix}/etc/hosts else # # Stub /etc/hosts for DHCP clients. # cat >> ${prefix}/etc/hosts < /dev/null ) ; then logMessage Host already has IP address for the host ${hostname}. else # # Short host name. # name=`echo ${hostname} | awk -F. '{print $1}'` if [ -z "${nohosts}" ]; then logMessage Adding ${hostname} and ${name} to /etc/hosts on the host echo "${ip1} ${hostname} ${name}" >> /etc/hosts # # If we've updated the /etc/hosts file on the host machine # and there is an installation of dnsmasq installed then # reload it. # # This will let the local LAN clients lookup the new address. # if [ -x /usr/sbin/dnsmasq ] ; then if [ -e /var/run/dnsmasq.pid ]; then logMessage Allowing DNSMasq to restart. kill -s HUP `cat /var/run/dnsmasq.pid` fi fi fi fi fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/50-setup-hostname-deb0000755000175000017500000000557214370055613020022 0ustar abeabe#!/bin/sh # # This script places the new systems hostname into a couple of files within # the new image. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Determine the FQDN and Hostname # GUEST_FQDN=${hostname} GUEST_HOSTNAME=`echo $GUEST_FQDN | awk -F'.' '{print $1}'` # # Make sure the umask is correct # umask 022 # # Setup the mailname + hostname files. # echo $GUEST_HOSTNAME > ${prefix}/etc/hostname echo $GUEST_FQDN > ${prefix}/etc/mailname # # Fixup the /etc/hosts file upon the new image for # machines with static IPs # if [ -z "${copyhosts}" ]; then # # Copy localhost # cat > ${prefix}/etc/hosts <> ${prefix}/etc/hosts <> ${prefix}/etc/hosts <> ${prefix}/etc/hosts < ${prefix}/etc/hosts # New entry. if [ -z "${dhcp}" ]; then cat >> ${prefix}/etc/hosts <> ${prefix}/etc/hosts <> ${prefix}/etc/hosts fi # # Allow the host system to know the IP address of our new guest. # if [ -z "${dhcp}" ]; then if ( grep $GUEST_FQDN /etc/hosts > /dev/null ) ; then logMessage Host already has IP address for the host $GUEST_FQDN. else if [ -z "${nohosts}" ]; then logMessage Adding $GUEST_FQDN and $GUEST_HOSTNAME to /etc/hosts on the host echo "${ip1} $GUEST_FQDN $GUEST_HOSTNAME" >> /etc/hosts # # If we've updated the /etc/hosts file on the host machine # and there is an installation of dnsmasq installed then # reload it. # # This will let the local LAN clients lookup the new address. # if [ -x /usr/sbin/dnsmasq ] ; then if [ -e /var/run/dnsmasq.pid ]; then logMessage Allowing DNSMasq to restart. kill -s HUP `cat /var/run/dnsmasq.pid` fi fi fi fi fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/40-setup-networking-rpm0000755000175000017500000000404614370055613020431 0ustar abeabe#!/bin/sh # # This script sets up the networking files for the new image. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Make sure we have an /etc/sysconfig/network-scripts directory. # mkdir -p ${prefix}/etc/sysconfig/network-scripts/ # # Test for static vs. DHCP # if [ -z "${dhcp}" ]; then # # Setup the initial interface # cat <${prefix}/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=${ip1} NETMASK=${netmask} GATEWAY=${gateway} E_O_STATIC # # Now setup any other ones. # interface=1 count=2 while [ "${count}" -le "${ip_count}" ]; do value=\$ip${count} value=`eval echo $value` logMessage Adding etho:${interface} cat <${prefix}/etc/sysconfig/network-scripts/ifcfg-eth0:${interface} DEVICE=eth0:${interface} ONBOOT=yes BOOTPROTO=static IPADDR=${value} NETMASK=${netmask} E_O_STATIC count=`expr $count + 1` interface=`expr $interface + 1` done # # Hooks are run chrooted, hence the resolv.conf is moved # temporarily to /etc/resolv.conf.old. Use that file, it # will be restored after hooks are run. # if [ '' != "$nameserver" ]; then rm -f ${prefix}/etc/resolv.conf.old for ns in $nameserver; do echo "nameserver $ns" >>${prefix}/etc/resolv.conf.old done else cp /etc/resolv.conf ${prefix}/etc/resolv.conf.old fi else cat <${prefix}/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes E_O_DHCP chroot ${prefix} /usr/bin/yum -y install dhclient fi # # Don't forget to setup the default route. # cat <${prefix}/etc/sysconfig/network NETWORKING=yes GATEWAY=${gateway} HOSTNAME=${hostname} EOF # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/35-setup-users0000755000175000017500000000715114370055613016613 0ustar abeabe#!/usr/bin/perl -w # # This script attempts to copy all user accounts from the host to # the guest. It does this by copying all user accounts which are not # already present. # # NOTE: Unless '--accounts' was specified upon the 'xen-create-image' # command line we don't do this. # # Steve # -- # https://steve.fi/ use strict; use Env; my $prefix = shift; die "Prefix must be given" unless defined( $prefix ); die "Prefix must be a directory" unless ( -d $prefix ); # # Setup /etc/shadow and /etc/gshadow on Fedora and friends # Closes: #499476) # if (-x "$prefix/usr/sbin/pwconv") { system( "chroot $prefix /usr/sbin/pwconv" ); } if (-x "$prefix/usr/sbin/grpconv") { system( "chroot $prefix /usr/sbin/grpconv" ); } # # Exit unless the 'accounts' variable is set. # exit unless ( $ENV{'accounts'} ); # # Make sure we have $prefix/etc # die "Prefix is missing /etc : $prefix" unless ( -d $prefix . "/etc" ); # # Read all accounts from the installed /etc/passwd on the guest. # my %present; if ( -e $prefix . "/etc/passwd" ) { %present = readAccounts( $prefix . "/etc/passwd" ); } # # Now read the accounts on the host. # my %host = readAccounts( "/etc/passwd" ); # # For each account not present on new installation then add it # foreach my $account ( sort keys( %host ) ) { if ( ! $present{ $account } ) { print "Adding: $account\n"; addAccount( $account ); # # Find any groups the user is member of on the host # and add them on the guest system # addGroups( $account ); } } # # Read the accounts which are already present on the guest image. # sub readAccounts { my ( $file ) = ( @_ ); my %found; open( EXISTING, "<", $file ); foreach my $line ( ) { # # Record the userid + username # if ( $line =~ /^([^:]+):([^:]+):([^:]+)/ ) { my $user = $1; my $pass = $2; my $uid = $3; $found{$user} = 1; } } close( EXISTING ); return( %found ); } # # Add the passwd + shadow accounts for the given user. # sub addAccount { my ( $user ) = ( @_ ); # # passwd file. # open( PASSWD, "<", "/etc/passwd" ); foreach my $line ( ) { chomp( $line ); if ( $line =~ /^\Q$user\E:/ ) { # # Add the line # open( OUTY, ">>", $prefix . "/etc/passwd" ); print OUTY $line . "\n"; close( OUTY ); } } close( PASSWD ); # # shadow file. # open( SHADOW, "<", "/etc/shadow" ) or die "Failed to open : $!"; foreach my $line ( ) { chomp( $line ); if ( $line =~ /^\Q$user\E:/ ) { # # Add the line # open( OUTY, ">>", $prefix . "/etc/shadow" ); print OUTY $line . "\n"; close( OUTY ); } } close( SHADOW ); } # # Find the groups a user is member of on the host, and add them to # those groups on the new guest. # sub addGroups { my( $username ) = ( @_ ); # # Get the groups. # my $groups = `groups $username`; # split off the usernmame. if ( $groups =~ /^([^:]+):(.*)/ ) { $groups = $2; print "User: $username is member of the groups: $groups\n"; } foreach my $g ( split( / /, $groups ) ) { # Make sure the group exists. system( "chroot $prefix /usr/sbin/addgroup $g" ); # add the user to it. system( "chroot $prefix /usr/sbin/adduser $username $g" ); } } xen-tools-4.9.2/hooks/common/30-disable-gettys0000755000175000017500000000400614370055613017223 0ustar abeabe#!/bin/sh # # This script comments out all virtual terminals which aren't on the # first console - that must remain so that 'xm console ...' works # correctly. # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Do the transformation. # # Upstart on Ubuntu newer than 8.04 rm -f ${prefix}/etc/init/tty[!1].conf [ -f ${prefix}/etc/init/tty1.conf ] && { sed -i -e s/tty1/hvc0/ ${prefix}/etc/init/tty1.conf mv ${prefix}/etc/init/tty1.conf ${prefix}/etc/init/hvc0.conf } # Upstart on Ubuntu 8.04 or older rm -f ${prefix}/etc/event.d/tty[!1] [ -f ${prefix}/etc/event.d/tty1 ] && { sed -i -e s/tty1/hvc0/ ${prefix}/etc/event.d/tty1 mv ${prefix}/etc/event.d/tty1 ${prefix}/etc/event.d/hvc0 } # Inittab [ -f ${prefix}/etc/inittab ] && sed -i -e 's/^\([2-6].*:respawn*\)/#\1/' -e 's/^T/#\t/' -e 's/tty1$/hvc0/' ${prefix}/etc/inittab # # Are we using an alternative serial device? # if [ -n "${serial_device}" ]; then serial_device=`basename ${serial_device}` # Let the user know. logMessage "Replacing default serial device (hvc0) with ${serial_device}" # replace existing device. # Upstart on Ubuntu newer than 8.04 [ -f ${prefix}/etc/init/hvc0.conf ] && { mv ${prefix}/etc/init/hvc0.conf ${prefix}/etc/init/${serial_device}.conf sed -i -e s/hvc0/${serial_device}/ ${prefix}/etc/init/${serial_device}.conf } # Upstart on Ubuntu 8.04 or older [ -f ${prefix}/etc/event.d/hvc0 ] && { mv ${prefix}/etc/event.d/hvc0 ${prefix}/etc/event.d/${serial_device} sed -i -e s/hvc0/${serial_device}/ ${prefix}/etc/event.d/${serial_device} } # Inittab [ -f ${prefix}/etc/inittab ] && sed -i -e s/hvc0/${serial_device}/ ${prefix}/etc/inittab # make sure that it is allowed to login. echo $serial_device >> ${prefix}/etc/securetty fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/25-generate-locale0000755000175000017500000000100314370055613017330 0ustar abeabe#!/bin/sh # # This script generates a default en_US.UTF-8 locale. # # Ward # -- prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Install the English language pack. # # NOTE: Failure to support your favourite language is *not* a bug. # installDebianPackage ${prefix} language-pack-en # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/20-setup-yum0000755000175000017500000000103614370055613016252 0ustar abeabe#!/bin/sh # # This script sets up the Yum for CentOS4. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Update yum # if [ ! -d ${prefix}/proc ]; then mkdir -p ${prefix}/proc fi mount -o bind /proc ${prefix}/proc chroot ${prefix} /usr/bin/yum update -y umount ${prefix}/proc # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/20-setup-apt0000755000175000017500000000342714370055613016232 0ustar abeabe#!/bin/sh # # This script sets up the /etc/apt/sources.list for APT, and it disables # TLS where appropriate. # # Steve # -- # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Attempt to auto-magically detect the use of a Proxy for apt-get, and # replicate that setup in our new guest via apt-config dump and save # the setting to the proxy guess file. # if [ ${apt_proxy} ]; then echo "Acquire::http::Proxy \"${apt_proxy}\";" > ${prefix}/etc/apt/apt.conf.d/01proxy else logMessage The use of a proxy detected. apt-config dump | grep -i Acquire::HTTP::Proxy > ${prefix}/etc/apt/apt.conf.d/01proxy fi # # Setup the sources.list file for new installations of Ubuntu GNU/Linux. # cat < ${prefix}/etc/apt/sources.list # # /etc/apt/sources.list # # # ${dist} # deb ${mirror} ${dist} main restricted universe multiverse deb-src ${mirror} ${dist} main restricted universe deb ${mirror} ${dist}-updates main restricted universe multiverse deb-src ${mirror} ${dist}-updates main restricted universe deb http://security.ubuntu.com/ubuntu ${dist}-security main restricted universe deb-src http://security.ubuntu.com/ubuntu ${dist}-security main restricted universe E_O_APT # # Now that the sources have been setup make sure the system is up to date. # chroot ${prefix} /usr/bin/apt-get update # # Now fixup TLS on non-64bit systems after dapper. For dapper this is # already fixed in 10-disable-tls. # if [ "$arch" = 'i386' -a "$dist" != 'dapper' ]; then logMessage "Installing libc6-xen" installDebianPackage ${prefix} libc6-xen fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/15-setup-arch0000755000175000017500000000110014370055613016351 0ustar abeabe#!/bin/sh prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Record arch, if present. # if [ -d $prefix/etc/rpm ]; then logMessage Found /etc/rpm # # If i386 then record this # if [ "$arch" = "i386" ]; then echo "i386-fedora-linux-gnu" >> $prefix/etc/rpm/platform fi else logMessage Failed to find /etc/rpm fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/15-disable-hwclock0000755000175000017500000000073714370055613017350 0ustar abeabe#!/bin/sh # # This script disables the hardware clock. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Disable the startup scripts from all runlevels. # chroot ${prefix} /usr/sbin/update-rc.d -f hwclock.sh remove # # Log our finish # logMessage Script $0 finished. xen-tools-4.9.2/hooks/common/10-disable-tls0000755000175000017500000000116314370055613016505 0ustar abeabe#!/bin/sh # # This script disables TLS on the new image. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Don't touch TLS on 64 bit platforms. # if [ "`uname -m`" = "x86_64" ]; then logMessage "Ignoring TLS since we're a 64 bit host." else logMessage "Disabling TLS" mv ${prefix}/lib/tls ${prefix}/lib/tls.disabled mkdir ${prefix}/lib/tls fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/05-shadowconfig-on0000755000175000017500000000112014370055613017364 0ustar abeabe#!/bin/sh # # This script enforces the use of a shadow password file. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Enable the shadow passwords if the command is found. # if [ -x ${prefix}/sbin/shadowconfig ]; then chroot ${prefix} /sbin/shadowconfig on else logMessage "/sbin/shadowconfig not found. skipping." fi # # Log our finish # logMessage Script $0 finished. xen-tools-4.9.2/hooks/common/01-disable-daemons0000755000175000017500000000140314370055613017326 0ustar abeabe#!/bin/sh # # This script ensures that daemons will not be started inside our # chroot() installation. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Make sure we have a directory. # if [ ! -d "${prefix}/usr/sbin" ]; then mkdir -p "${prefix}/usr/sbin" logMessage "created missing directory: ${prefix}/usr/sbin" fi # # Add the script. # echo '#!/bin/sh' > ${prefix}/usr/sbin/policy-rc.d echo 'exit 101' >> ${prefix}/usr/sbin/policy-rc.d chmod 755 ${prefix}/usr/sbin/policy-rc.d # # Log our finish # logMessage Script $0 finished. xen-tools-4.9.2/hooks/common/80-install-kernel-ubuntu0000755000175000017500000000345014370055613020556 0ustar abeabe#!/bin/sh # # If the pygrub flag is set, this script will install the necessary # packages to boot the VM from the dom0 via pygrub. This script installs # the kernel and modules and generates a grub menu.lst in the newly # created maschine. # # Dmitry Nedospasov # -- # http://www.nedos.net/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting if [ "${pygrub}" = "1" ]; then # # The type of kernel that we will be installing # # linux_kernel_type="desktop" # linux_kernel_type="virtual" linux_kernel_package="linux-image-${linux_kernel_type}" logMessage "Installing the ${linux_kernel_package} kernel image" if chroot ${prefix} /usr/bin/apt-cache show ${linux_kernel_package} >/dev/null 2>/dev/null; then logMessage "Package '${linux_kernel_package}' is available - installing" installDebianPackage ${prefix} initramfs-tools installDebianPackage ${prefix} ${linux_kernel_package} # Force initrd if none exists echo ${prefix}/boot/initrd* | grep -q 2\\.6 if [ $? -ne 0 ]; then chroot ${prefix} update-initramfs -c -k `ls -1 ${prefix}/lib/modules/ | head -n 1` fi # Generate grub menu.lst DOMU_KERNEL=$(basename $(ls -1 ${prefix}/boot/vmlinuz* | tail -n 1)) DOMU_RAMDISK=$(basename $(ls -1 ${prefix}/boot/initrd*|tail -n 1)) DOMU_ISSUE=$(head -n 1 ${prefix}/etc/issue | awk -F '\' '{ print $1 }' | sed 's/[ \t]*$//') # # Generate a menu.lst for pygrub # generateDebianGrubMenuLst "${prefix}" "$DOMU_ISSUE" "$DOMU_KERNEL" "$DOMU_RAMDISK" else logMessage "Package '${linux_kernel_package}' is not available" fi else logMessage pygrub not set, skipping kernel install fi # if pygrub # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/65-copy-user-files0000755000175000017500000000133414370055613017342 0ustar abeabe#!/bin/sh # # Copy files from a 'skel' directory, if present, into the # new images # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Copy everything from the skel directory into the new instance # if that directory exists. # if [ -d /etc/xen-tools/skel ]; then logMessage Copying files from /etc/xen-tools/skel (cd /etc/xen-tools/skel; tar -cf - . ) | (cd ${prefix}/; tar -xpf -) logMessage Finished else logMessage skel directory, /etc/xen-tools/skel, not present ignoring. fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/60-copy-host-files0000755000175000017500000000072014370055613017332 0ustar abeabe#!/bin/sh # # Copy some specific files from host nachine into the new images # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Copy "required" files from our host. # cp /etc/timezone ${prefix}/etc cp /etc/localtime ${prefix}/etc # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/82-install-grub-legacy0000755000175000017500000000224514370055613020162 0ustar abeabe#!/bin/sh # # Ensure that either modules-init-tools or kmod is setup. # # This is most likely required if you're using a custom kernel # for your Xen system. But even if it isn't required it can't # really do anything bad; just waste a bit of space. prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting if [ "${pygrub}" = "1" ]; then # # Install the grub 0.9x package ("grub-legacy" on Debian, "grub" on Ubuntu) # if chroot ${prefix} /usr/bin/apt-cache show grub-legacy 2>/dev/null | egrep -qi 'GRand Unified Bootloader.*Legacy'; then installDebianPackage ${prefix} grub-legacy else installDebianPackage ${prefix} grub fi if [ ! -e ${prefix}/boot/grub/default ]; then echo default > ${prefix}/boot/grub/default fi mount -o bind /proc ${prefix}/proc mount -o bind /dev ${prefix}/dev chroot ${prefix} /usr/sbin/update-grub umount ${prefix}/proc umount ${prefix}/dev else logMessage "pygrub not set, skipping grub-legacy installation" fi # if pygrub # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/80-install-modules-deb0000755000175000017500000000342614370055613020161 0ustar abeabe#!/bin/sh # # Install modules from the host system into the new image, and # ensure that 'module-init-tools' is setup. # # This is most likely required if you're using a custom kernel # for your Xen system. But even if it isn't required it can't # really do anything bad; just waste a bit of space. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting if [ "${pygrub}" = "1" ]; then logMessage "pygrub set, skipping module install" else # # The name of the package containing the correct modules. # linux_modules_package="linux-modules-$(uname -r)" # # Attempt to install that package. This will either work on an Etch # system, or fail on a Sarge/custom kernel. # if [ -n "${modules}" -a -d "${modules}" ]; then # # Modules path was specified during install # logMessage "Copying modules from ${modules}" mkdir -p ${prefix}/lib/modules cp -au ${modules} ${prefix}/lib/modules elif chroot ${prefix} /usr/bin/apt-cache show ${linux_modules_package} >/dev/null 2>/dev/null; then logMessage "Package '${linux_modules_package}' is available - installing" # # If it worked then we can install the package. # installDebianPackage ${prefix} ${linux_modules_package} else # # Fall back to copying over modules from the host to the new # system. # logMessage "Package '${linux_modules_package}' is not available" logMessage "Copying modules from /lib/modules/$(uname -r)" mkdir -p ${prefix}/lib/modules cp -au /lib/modules/$(uname -r) ${prefix}/lib/modules fi fi # if pygrub # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/common/40-setup-networking-deb0000755000175000017500000000647614370055613020376 0ustar abeabe#!/bin/sh # # This script sets up the /etc/network/interface file for the new # image. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Make sure we have an /etc/network directory. # mkdir -p ${prefix}/etc/network # # A function to setup DHCP for our new image. # setupDynamicNetworking () { # # The host is using DHCP. # cat < ${prefix}/etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp # post-up ethtool -K eth0 tx off # # The commented out line above will disable TCP checksumming which # might resolve problems for some users. It is disabled by default # E_O_DHCP } # # A function to setup static IP addresses for our new image. # setupStaticNetworking () { # # if $p2p is set then add a "pointopoint" setting. # point=''; if [ -n "${p2p}" ]; then point=" pointopoint ${p2p}" else point='' fi # # broadcast address? # bcast=''; if [ -n "${broadcast}" ]; then bcast=" broadcast ${broadcast}" fi # # gateway address? # gway=''; if [ -n "${gateway}" ]; then gway=" gateway ${gateway}" fi # # We have a static IP address # cat <${prefix}/etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address ${ip1} ${gway} netmask ${netmask} ${bcast} ${point} # post-up ethtool -K eth0 tx off # # The commented out line above will disable TCP checksumming which # might resolve problems for some users. It is disabled by default # E_O_STATIC interface=1 count=2 while [ "${count}" -le "${ip_count}" ]; do value=\$ip${count} value=`eval echo $value` logMessage Adding etho:${interface} cat <>${prefix}/etc/network/interfaces auto eth0:${interface} iface eth0:${interface} inet static address ${value} netmask ${netmask} # post-up ethtool -K eth0 tx off E_O_STATIC count=`expr $count + 1` interface=`expr $interface + 1` done # # Hooks are run chrooted, hence the resolv.conf is moved # temporarily to /etc/resolv.conf.old. Use that file, it # will be restored after hooks are run. # if [ '' != "$nameserver" ]; then rm -f ${prefix}/etc/resolv.conf.old for ns in $nameserver; do echo "nameserver $ns" >>${prefix}/etc/resolv.conf.old done else cp /etc/resolv.conf ${prefix}/etc/resolv.conf.old fi } # # Call the relevant function # if [ -z "${dhcp}" ]; then logMessage "Setting up static networking" setupStaticNetworking else logMessage "Setting up DHCP networking" setupDynamicNetworking fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/centos-6/0000755000175000017500000000000014370055613014303 5ustar abeabexen-tools-4.9.2/hooks/centos-6/99-clean-image0000777000175000017500000000000014370055613023447 2../common/99-clean-image-rpmustar abeabexen-tools-4.9.2/hooks/centos-6/90-make-fstab0000777000175000017500000000000014370055613022351 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/centos-6/80-install-modules0000777000175000017500000000000014370055613025347 2../common/80-install-modules-rpmustar abeabexen-tools-4.9.2/hooks/centos-6/75-fixup-securetty0000777000175000017500000000000014370055613024673 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/centos-6/70-install-ssh0000777000175000017500000000000014370055613023617 2../common/70-install-ssh-rpmustar abeabexen-tools-4.9.2/hooks/centos-6/65-copy-user-files0000777000175000017500000000000014370055613024405 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/centos-6/55-create-dev0000777000175000017500000000000014370055613022365 2../common/55-create-devustar abeabexen-tools-4.9.2/hooks/centos-6/50-setup-hostname0000777000175000017500000000000014370055613025041 2../common/50-setup-hostname-rpmustar abeabexen-tools-4.9.2/hooks/centos-6/40-setup-networking0000777000175000017500000000000014370055613025761 2../common/40-setup-networking-rpmustar abeabexen-tools-4.9.2/hooks/centos-6/35-setup-users0000777000175000017500000000000014370055613023121 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/centos-6/30-disable-gettys0000777000175000017500000000000014370055613024151 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/centos-6/25-setup-kernel0000755000175000017500000000441514370055613017077 0ustar abeabe#!/bin/sh # # This script sets up the kernel and fstab for CentOS 5. # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # Make the console work sed -i "/Cancelled/ {G;s/$/co:2345:respawn:\/sbin\/mingetty console/;}" ${prefix}/etc/inittab sed -i "s/^1:2345/#1:2345/" ${prefix}/etc/inittab # MAKEDEV is needed at this point chroot ${prefix} ln -s /sbin/MAKEDEV /dev/MAKEDEV chroot ${prefix} /sbin/MAKEDEV sda sdb sdc sdd # Create fstab logMessage Create /etc/fstab cat > ${prefix}/etc/fstab << EOF # /etc/fstab: static file system information. # # proc /proc proc defaults 0 0 none /dev/pts devpts mode=0620 0 0 EOF for i in `seq 1 $NUMPARTITIONS`; do echo -n "/dev/sda$i " >> ${prefix}/etc/fstab eval part=\$PARTITION$i if [ -n "`echo $part | grep swap`" ]; then echo "none swap ws 0 0" >> ${prefix}/etc/fstab else echo $part | awk -F: '{print $4,$3,$5,0,1}' >> ${prefix}/etc/fstab fi done # Install the kernel, grub and perl chroot ${prefix} yum clean expire-cache chroot ${prefix} yum -y install kernel-xen grub.x86_64 perl.x86_64 KERNELVERSION=`ls ${prefix}/boot/vmlinuz-* | sed "s#$prefix/boot/vmlinuz-##"` logMessage "Kernel $KERNELVERSION found" # Create grub's menu.list logMessage "Creating /boot/grub/menu.lst" mkdir -p ${prefix}/boot/grub cat > ${prefix}/boot/grub/menu.lst << EOF # WARNING : Don't forget to update this when you upgrade kernel! # You can also exclude kernel-xen from updates by putting # exclude=kernel-xen in [main] in yum.conf default=0 timeout=5 title CentOS ($KERNELVERSION) kernel /boot/vmlinuz-$KERNELVERSION elevator=noop initrd /boot/initramfs-$KERNELVERSION.img EOF # Some use lvm but mkinitrd will generate a wrong initrd when these are present. rm -f ${prefix}/etc/lvm/backup/* ${prefix}/etc/lvm/archive/* # Generate a correct initrd. chroot ${prefix} mkinitrd --with=xenblk --with=xennet --preload=xenblk --preload=xennet\ -f /boot/initramfs-$KERNELVERSION.img $KERNELVERSION # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/centos-6/20-setup-yum0000777000175000017500000000000014370055613022227 2../common/20-setup-yumustar abeabexen-tools-4.9.2/hooks/centos-6/15-setup-arch0000777000175000017500000000000014370055613022445 2../common/15-setup-archustar abeabexen-tools-4.9.2/hooks/centos-6/10-disable-tls0000777000175000017500000000000014370055613022713 2../common/10-disable-tlsustar abeabexen-tools-4.9.2/hooks/centos-5/0000755000175000017500000000000014370055613014302 5ustar abeabexen-tools-4.9.2/hooks/centos-5/99-clean-image0000777000175000017500000000000014370055613023446 2../common/99-clean-image-rpmustar abeabexen-tools-4.9.2/hooks/centos-5/90-make-fstab0000777000175000017500000000000014370055613022350 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/centos-5/80-install-modules0000777000175000017500000000000014370055613025346 2../common/80-install-modules-rpmustar abeabexen-tools-4.9.2/hooks/centos-5/75-fixup-securetty0000777000175000017500000000000014370055613024672 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/centos-5/70-install-ssh0000777000175000017500000000000014370055613023616 2../common/70-install-ssh-rpmustar abeabexen-tools-4.9.2/hooks/centos-5/65-copy-user-files0000777000175000017500000000000014370055613024404 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/centos-5/55-create-dev0000777000175000017500000000000014370055613022364 2../common/55-create-devustar abeabexen-tools-4.9.2/hooks/centos-5/50-setup-hostname0000777000175000017500000000000014370055613025040 2../common/50-setup-hostname-rpmustar abeabexen-tools-4.9.2/hooks/centos-5/40-setup-networking0000777000175000017500000000000014370055613025760 2../common/40-setup-networking-rpmustar abeabexen-tools-4.9.2/hooks/centos-5/35-setup-users0000777000175000017500000000000014370055613023120 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/centos-5/30-disable-gettys0000777000175000017500000000000014370055613024150 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/centos-5/25-setup-kernel0000755000175000017500000000374114370055613017077 0ustar abeabe#!/bin/sh # # This script sets up the kernel and fstab for CentOS 5. # prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # Make the console work sed -i "/Cancelled/ {G;s/$/co:2345:respawn:\/sbin\/mingetty console/;}" ${prefix}/etc/inittab sed -i "s/^1:2345/#1:2345/" ${prefix}/etc/inittab # MAKEDEV is needed at this point chroot ${prefix} ln -s /sbin/MAKEDEV /dev/MAKEDEV chroot ${prefix} /sbin/MAKEDEV sda sdb sdc sdd # Create fstab logMessage Create /etc/fstab cat > ${prefix}/etc/fstab << EOF # /etc/fstab: static file system information. # # proc /proc proc defaults 0 0 none /dev/pts devpts mode=0620 0 0 EOF for i in `seq 1 $NUMPARTITIONS`; do echo -n "/dev/xvde$i " >> ${prefix}/etc/fstab eval part=\$PARTITION$i if [ -n "`echo $part | grep swap`" ]; then echo "none swap ws 0 0" >> ${prefix}/etc/fstab else echo $part | awk -F: '{print $4,$3,$5,0,1}' >> ${prefix}/etc/fstab fi done # Install the kernel, grub and perl chroot ${prefix} yum clean expire-cache chroot ${prefix} yum -y install kernel-xen grub.x86_64 perl.x86_64 KERNELVERSION=`ls ${prefix}/boot/vmlinuz-* | sed "s#$prefix/boot/vmlinuz-##"` logMessage "Kernel $KERNELVERSION found" # Create grub's menu.list logMessage "Creating /boot/grub/menu.lst" mkdir -p ${prefix}/boot/grub cat > ${prefix}/boot/grub/menu.lst << EOF # WARNING : Don't forget to update this when you upgrade kernel! # You can also exclude kernel-xen from updates by putting # exclude=kernel-xen in [main] in yum.conf default=0 timeout=5 title CentOS ($KERNELVERSION) kernel /boot/vmlinuz-$KERNELVERSION xen_pv_hvm=enable elevator=noop initrd /boot/initrd-$KERNELVERSION.img EOF # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/centos-5/20-setup-yum0000777000175000017500000000000014370055613022226 2../common/20-setup-yumustar abeabexen-tools-4.9.2/hooks/centos-5/15-setup-arch0000777000175000017500000000000014370055613023424 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/centos-5/10-disable-tls0000777000175000017500000000000014370055613022712 2../common/10-disable-tlsustar abeabexen-tools-4.9.2/hooks/centos-4/0000755000175000017500000000000014370055613014301 5ustar abeabexen-tools-4.9.2/hooks/centos-4/99-clean-image0000777000175000017500000000000014370055613023445 2../common/99-clean-image-rpmustar abeabexen-tools-4.9.2/hooks/centos-4/90-make-fstab0000777000175000017500000000000014370055613022347 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/centos-4/80-install-modules0000777000175000017500000000000014370055613025345 2../common/80-install-modules-rpmustar abeabexen-tools-4.9.2/hooks/centos-4/75-fixup-securetty0000777000175000017500000000000014370055613024671 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/centos-4/70-install-ssh0000777000175000017500000000000014370055613023615 2../common/70-install-ssh-rpmustar abeabexen-tools-4.9.2/hooks/centos-4/65-copy-user-files0000777000175000017500000000000014370055613024403 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/centos-4/55-create-dev0000777000175000017500000000000014370055613022363 2../common/55-create-devustar abeabexen-tools-4.9.2/hooks/centos-4/50-setup-hostname0000777000175000017500000000000014370055613025037 2../common/50-setup-hostname-rpmustar abeabexen-tools-4.9.2/hooks/centos-4/40-setup-networking0000777000175000017500000000000014370055613025757 2../common/40-setup-networking-rpmustar abeabexen-tools-4.9.2/hooks/centos-4/35-setup-users0000777000175000017500000000000014370055613023117 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/centos-4/30-disable-gettys0000777000175000017500000000000014370055613024147 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/centos-4/20-setup-yum0000777000175000017500000000000014370055613022225 2../common/20-setup-yumustar abeabexen-tools-4.9.2/hooks/centos-4/15-setup-arch0000777000175000017500000000000014370055613023423 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/centos-4/10-disable-tls0000777000175000017500000000000014370055613022711 2../common/10-disable-tlsustar abeabexen-tools-4.9.2/hooks/README0000644000175000017500000000132714370055613013530 0ustar abeabe hooks/ Once a distribution of GNU/Linux has been installed by the xt-install-image script we'll have a pristine system. To configure this the program xt-customize-image will call a collection of distro-specific shell scripts, or hooks. For each distribution we support there is a subdirectory containing the necessary functions to configure the host minimally. By the time the scripts finish we'll expect: * The installation to have a working fstab file. * The installation will have IP address + networking configured. * The installation will have a running installation of OpenSSH The subdirectories in this hooks/ directory will be installed to the directory /usr/share/xen-tools/ Steve -- xen-tools-4.9.2/hooks/artful/0000755000175000017500000000000014370055613014142 5ustar abeabexen-tools-4.9.2/hooks/artful/99-enable-daemons0000777000175000017500000000000014370055613023732 2../common/99-enable-daemonsustar abeabexen-tools-4.9.2/hooks/artful/99-clean-image0000777000175000017500000000000014370055613023242 2../common/99-clean-image-debustar abeabexen-tools-4.9.2/hooks/artful/90-make-fstab0000777000175000017500000000000014370055613022210 2../common/90-make-fstabustar abeabexen-tools-4.9.2/hooks/artful/82-install-grub-legacy0000777000175000017500000000000014370055613025700 2../common/82-install-grub-legacyustar abeabexen-tools-4.9.2/hooks/artful/81-install-modules-init-tools0000777000175000017500000000000014370055613030612 2../common/81-install-modules-init-toolsustar abeabexen-tools-4.9.2/hooks/artful/80-install-modules0000777000175000017500000000000014370055613025142 2../common/80-install-modules-debustar abeabexen-tools-4.9.2/hooks/artful/80-install-kernel-ubuntu0000777000175000017500000000000014370055613026672 2../common/80-install-kernel-ubuntuustar abeabexen-tools-4.9.2/hooks/artful/75-fixup-securetty0000777000175000017500000000000014370055613024532 2../common/75-fixup-securettyustar abeabexen-tools-4.9.2/hooks/artful/70-install-ssh0000777000175000017500000000000014370055613023412 2../common/70-install-ssh-debustar abeabexen-tools-4.9.2/hooks/artful/65-copy-user-files0000777000175000017500000000000014370055613024244 2../common/65-copy-user-filesustar abeabexen-tools-4.9.2/hooks/artful/60-copy-host-files0000777000175000017500000000000014370055613024230 2../common/60-copy-host-filesustar abeabexen-tools-4.9.2/hooks/artful/50-setup-hostname0000777000175000017500000000000014370055613024634 2../common/50-setup-hostname-debustar abeabexen-tools-4.9.2/hooks/artful/40-setup-networking-deb-netplan0000755000175000017500000000547414370055613022037 0ustar abeabe#!/bin/sh # # This script sets up the /etc/netplan/interface file for the new # image. # # Steve # -- # https://steve.fi/ prefix=$1 # # Source our common functions # if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else . ./hooks/common.sh fi # From: https://serverfault.com/questions/54981/linux-command-line-tool-to-work-with-netmasks-cidr-notation mask2cdr () { # Assumes there's no "255." after a non-255 byte in the mask local x=${1##*255.} set -- 0^^^128^192^224^240^248^252^254^ $(( (${#1} - ${#x})*2 )) ${x%%.*} x=${1%%$3*} echo $(( $2 + (${#x}/4) )) } # # Log our start # logMessage Script $0 starting # # Make sure we have an /etc/netplan directory. # mkdir -p ${prefix}/etc/netplan # # A function to setup DHCP for our new image. # setupDynamicNetworking () { # # The host is using DHCP. # cat < ${prefix}/etc/netplan/01-netcfg.yaml # Arno: Configure VM interface eth0 via DHCP network: version: 2 renderer: networkd ethernets: eth0: dhcp4: true E_O_DHCP } # # A function to setup static IP addresses for our new image. # setupStaticNetworking () { # Arno cidr='24'; if [ -n "${netmask}" ]; then cidr="$(mask2cdr ${netmask})" fi # p2p code by Volker Janzen gate=" gateway4: ${gateway}"; point=''; if [ -n "${p2p}" ]; then # For a p2p setup the gateway4 keyword is replaced by the # following on-link default route, when it matches the # gateway4. if [ "${p2p}" = "${gateway}" ]; then gate=" routes: - to: 0.0.0.0/0 via: ${p2p} on-link: true" else gate="${gate} routes: - to: ${p2p} on-link: true" fi fi # # We have a static IP address # cat <${prefix}/etc/netplan/01-netcfg.yaml # Arno: Set static IP for VM interface eth0 network: version: 2 renderer: networkd ethernets: eth0: addresses: [${ip1}/${cidr}] ${gate} nameservers: addresses: [${nameserver}] E_O_STATIC # Arno: no support for multiple interfaces # # Hooks are run chrooted, hence the resolv.conf is moved # temporarily to /etc/resolv.conf.old. Use that file, it # will be restored after hooks are run. # if [ '' != "$nameserver" ]; then rm -f ${prefix}/etc/resolv.conf.old for ns in $nameserver; do echo "nameserver $ns" >>${prefix}/etc/resolv.conf.old done else cp /etc/resolv.conf ${prefix}/etc/resolv.conf.old fi } # # Call the relevant function # if [ -z "${dhcp}" ]; then logMessage "Setting up static networking" setupStaticNetworking else logMessage "Setting up DHCP networking" setupDynamicNetworking fi # # Log our finish # logMessage Script $0 finished xen-tools-4.9.2/hooks/artful/35-setup-users0000777000175000017500000000000014370055613022760 2../common/35-setup-usersustar abeabexen-tools-4.9.2/hooks/artful/30-disable-gettys0000777000175000017500000000000014370055613024010 2../common/30-disable-gettysustar abeabexen-tools-4.9.2/hooks/artful/25-generate-locale0000777000175000017500000000000014370055613024236 2../common/25-generate-localeustar abeabexen-tools-4.9.2/hooks/artful/20-setup-apt0000777000175000017500000000000014370055613022012 2../common/20-setup-aptustar abeabexen-tools-4.9.2/hooks/artful/15-disable-hwclock0000777000175000017500000000000014370055613024244 2../common/15-disable-hwclockustar abeabexen-tools-4.9.2/hooks/artful/05-shadowconfig-on0000777000175000017500000000000014370055613024326 2../common/05-shadowconfig-onustar abeabexen-tools-4.9.2/hooks/artful/01-disable-daemons0000777000175000017500000000000014370055613024222 2../common/01-disable-daemonsustar abeabexen-tools-4.9.2/examples/0000755000175000017500000000000014370055613013340 5ustar abeabexen-tools-4.9.2/examples/update-modules0000755000175000017500000001005014370055613016212 0ustar abeabe#!/usr/bin/perl # # This code is intended to update the modules installed within each # Xen guest domain to the named version. # # It should be fairly safe, but I make no promises - hence why this # is an example. # # Steve # -- # use strict; use warnings; use File::Path qw/ rmtree /; use File::Temp qw/ tempdir /; my $modules = shift; if ( ! defined( $modules ) ) { print < eg: $0 2.6.18.xx|/usr/lib/modules/nn.nn.nn-xen EOF exit; } # # Make sure the path is fully qualified. # if ( $modules !~ /^[\/\\]/ ) { $modules = "/lib/modules/" . $modules; } # # Make sure the module directory exists. # if ( ! -d $modules ) { print "The modules directory $modules doesn't exist.\n"; exit; } # # OK now we have the modules so we need to: # # 0. Read our configuration file. # 1. Find each xen guest. # 2. Ensure it isn't running (TODO) # 3. Mount the disk image. # 4. Remove existing modules, and copy in the specified ones. # # my %CONFIG; readConfigurationFile( "/etc/xen-tools/xen-tools.conf" ); foreach my $guest ( findGuests() ) { print "Attempting to update guest: $guest\n"; # # Create a temporary directory to mount the disk upon. # my $tmp = tempdir( CLEANUP => 1 ); # # Mount the disk. # if ( $CONFIG{'dir'} ) { # The loopback image. my $img = $CONFIG{'dir'} . "/domains/" . $guest . "/disk.img"; system( "mount -o loop $img $tmp" ); } elsif ( $CONFIG{'lvm'} ) { # The LVM volume my $img = "/dev/" . $CONFIG{'lvm'} . "/$guest-disk"; system( "mount $img $tmp" ); } else { print "Unhandled disk format - can't mount\n"; next; } # # We've got it mounted. # print "\tMounted disk image.\n"; # make sure we have a directory if ( ! -d $tmp . "/lib/modules" ) { print "\tMissing modules. Skipping\n"; next; } # # Remove the existing module directories. # `rm -rf $tmp/lib/modules`; mkdir $tmp . "/lib/modules"; print "\tRemoved existing modules\n"; # # Copy existing directory. # if ( -d $tmp . "/lib/modules" ) { `cp -R $modules $tmp/lib/modules/`; print "\tCopied over $modules\n"; } else { print "No module directory .. weirdness\n"; } # # Unmount # system( "umount $tmp" ); print "\tUnmounted disk image.\n\n"; } =begin doc Find each xen guest upon the system. =end doc =cut sub findGuests { my @results; # # Assume xen-tools. # foreach my $file ( glob( "/etc/xen/*.cfg" ) ) { # # Find the name. # open( INPUT, "<" , $file ); foreach my $line ( ) { chomp( $line ); if ( $line =~ /name\s*=\s*['"]([^'"]+)["']/ ) { push @results, $1; } } close( INPUT ); } return( sort( @results ) ); } =begin doc Read the configuration file specified. =end doc =cut sub readConfigurationFile { my ($file) = ( @_ ); open( FILE, "<", $file ) or die "Cannot read file '$file' - $!"; my $line = ""; while (defined($line = ) ) { chomp $line; if ($line =~ s/\\$//) { $line .= ; redo unless eof(FILE); } # Skip lines beginning with comments next if ( $line =~ /^([ \t]*)\#/ ); # Skip blank lines next if ( length( $line ) < 1 ); # Strip trailing comments. if ( $line =~ /(.*)\#(.*)/ ) { $line = $1; } # Find variable settings if ( $line =~ /([^=]+)=([^\n]+)/ ) { my $key = $1; my $val = $2; # Strip leading and trailing whitespace. $key =~ s/^\s+//; $key =~ s/\s+$//; $val =~ s/^\s+//; $val =~ s/\s+$//; # Store value. $CONFIG{ $key } = $val; } } close( FILE ); } xen-tools-4.9.2/examples/setup-kernel-initrd0000755000175000017500000000331614370055613017176 0ustar abeabe#!/bin/sh # # This script is designed to setup the kernel and ramdisk inside # the xen-tools configuration file; and also update any stored values # in any pre-generated Xen guests. # # This is useful if you have upgraded your Xen kernel. # # Steve # -- # # # Find the kernel to use, and the ramdisk, unless they are specified # in the environment. # if [ -z "${kernel}" ]; then kernel=`ls -1 /boot| grep ^vm| grep -v syms| grep xen | sort -r| head -n 1` kernel="/boot/${kernel}" fi if [ -z "${ramdisk}" ]; then ramdisk=`ls -1 /boot| grep ^init| grep xen| sort -r| head -n 1` ramdisk="/boot/${ramdisk}" fi # # Abort if we didn't find a kernel / ramdisk # if [ -z "${kernel}" ]; then echo "Failed to find Xen kernel." exit fi if [ -z "${ramdisk}" ]; then echo "Failed to find Xen ramdisk." exit fi # # Show what we're going to do - and prompt for confirmation. # cat <&1 exec > >( tee xen-tools-release-testing-$(date -Iseconds).log ) if [ -z "$DISTRIBUTIONS" ]; then DISTRIBUTIONS=$(awk '!/^#|^$|dont-test/ {print $1}' /etc/xen-tools/distributions.conf) fi echo Deleting old release-testing artefacts for dist in $DISTRIBUTIONS; do echo "*** Removing potential xen-tools-release-testing-$dist..." xen-delete-image --verbose --hostname "xen-tools-release-testing-$dist" done echo Syncing... sync seconds=10 printf "Sleeping for %i seconds to avoid LVM race conditions: " $seconds for i in $(seq 1 $seconds); do sleep 1; printf "%i " $i; done; printf '\n'; SUCCEEDED='' FAILED='' # From now on we just want to log failures, not abort. set +e for dist in $DISTRIBUTIONS; do echo "*** Creating xen-tools-release-testing-$dist..." xen-create-image --verbose --hostname "xen-tools-release-testing-$dist" --dist $dist --force "$@" if [ "$?" -eq '0' ]; then SUCCEEDED="$dist $SUCCEEDED" else FAILED="$dist $FAILED" fi done echo '' echo '======================================================================' if [ -z "$FAILED" ]; then echo '*** All tests succeeded! ***' elif [ -z "$SUCCEEDED" ]; then echo '*** All tests failed! ***' else echo "*** These distributions succeeded: $SUCCEEDED ***" echo "*** These distributions failed: $FAILED ***" fi xen-tools-4.9.2/TODO.markdown0000644000175000017500000000455414370055613014043 0ustar abeabeTODO ==== Most things which used to be in here were moved to [xen-tools' issue tracker at GitHub](https://github.com/xen-tools/xen-tools/issues). Bugs to fix and features to add for 5.0 --------------------------------------- * Fix xdm and gdm roles wrt. to uptodate package names. * Test and support more file system types. Actually this should be pretty simple now that the parameters are stored in the configuration hash. * Setup locales in the hooks? Currently no locales are set and this causes several domU errors which appear in the domU's logs. * Generic grub support This will generate a much nicer `menu.lst` as a side effect, as its currently generated once at install, and is never updated. Installing a full grub into the domU should update the `menu.lst` every time a new kernel is installed and will also use the domU distro's `menu.lst` conform. * More generic roles Deploy a web server or setup ssmtp directly via flag when setting up the machine. Open to suggestions, should just be some general use-cases that are fairly common. * Sections for the xen-tools.conf file Currently it's really annoying when you are trying to create VMs on multiple subnets. It would be nice to specify with a flag what "type" of configuration you want, and a set of options specific to that flag could be parsed from xen-tools.conf * Parse numerical parameters transparently for the user The user shouldn't have to know whether he should specify size as `G` or `Gb` or ``. This should be parsed without user interaction and rely on a common format. * Make used Xen toolstack configurable, i.e. via --xen-toolstack=xl * Add test for `--size` constraints (upper- and lowercase letters, with and without `B`, etc.) * Needs a `--dry-run` or `--check-constraints` option in `xen-create-image` first. Which probably both would be a good idea. * Maybe check for `vsyscall=emulate` in `GRUB_CMDLINE_LINUX_DEFAULT` in `/etc/default/grub` if trying to install an affected Linux distribution. * Drop checking the host's sources.list to decide upon including the security repo or not. * Make a difference wrt. to the security repo for EoL releases. Stuff from Steve's TODO list / Generic TODOs -------------------------------------------- * Write more test cases. * `xen-delete-image` should unallocate any used IP addresses. xen-tools-4.9.2/SUPPORT.markdown0000644000175000017500000000237214370055613014446 0ustar abeabeMailing List ============ For assistance on using, or customising, these scripts please consult the manpages initially, then the [website](https://xen-tools.org/software/xen-tools/). If these are not sufficient resources please consider posting any queries you might have to the [mailing list](https://xen-tools.org/software/xen-tools/lists.html) Included with the release you should find the file `BUGS.markdown` which contains some notes on reporting bugs. Xen Queries =========== If your query is mostly related to Xen, rather than these tools, then please consider joining the [xen-users mailing list](https://lists.xenproject.org/cgi-bin/mailman/listinfo/xen-users) The members of that list are very good at diagnosing issues with networking, block devices, and other Xen oddities. There's also the IRC channel `##xen` (the double hashmark is not a typo) on the [Freenode](https://freenode.net/) IRC network. Contact The Author ================== As a last resort you can to contact the current maintainer, Axel Beckert, at . As the previous xen-tools maintainer and original author, Steve Kemp, said, I say "last resort" not because I'm unwilling to help, but because it may take longer for me to respond to you personally. -- Axel xen-tools-4.9.2/LICENSE0000644000175000017500000006032214370055613012532 0ustar abeabe xen-tools --------- Copyright (c) 2005-2009: Steve Kemp. All rights reserved. Copyright (c) 2010-2013: The Xen-Tools Development Team, currently consisting of: Axel Beckert , Dmitry Nedospasov , and Stéphane Jourdois This project is free software. You may redistribute it under the terms of *either* the Perl Artistic License, or the GNU General Public License version 2.0 at your choice. (i.e. It may be distributed under the same terms as Perl itself.) The text of both of these licenses follows below. Steve -- https://steve.fi/ The "Artistic License" Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder as specified below. "Copyright Holder" is whoever is named in the copyright or copyrights for the package. "You" is you, if you're thinking about copying or distributing this Package. "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) give non-standard executables non-standard names, and clearly document the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. You may embed this Package's interpreter within an executable of yours (by linking); this shall be construed as a mere form of aggregation, provided that the complete Standard Version of the interpreter is so embedded. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whoever generated them, and may be sold commercially, and may be aggregated with this Package. If such scripts or library files are aggregated with this Package via the so-called "undump" or "unexec" methods of producing a binary executable image, then distribution of such an image shall neither be construed as a distribution of this Package nor shall it fall under the restrictions of Paragraphs 3 and 4, provided that you do not represent such an executable image as a Standard Version of this Package. 7. C subroutines (or comparably compiled subroutines in other languages) supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language. 8. Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package. 9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 of the License, 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 Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. xen-tools-4.9.2/AUTHORS0000644000175000017500000001006514370055613012574 0ustar abeabePrimary Authors --------------- Axel Beckert Dmitry Nedospasov Stéphane Jourdois Steve Kemp Contributions ------------- Listed alphabetically by surname. C.J. Adams-Collier - Added new modular structure to the code. Nick Anderson - Better bash completion for xen-create-image. Ray Anthracite - Added support for EVMS installation types. Justin Azoff - Added LVM support to xen-create-image. Pieter Barrezeele - Several small but useful enhancements - Bugfixes Brian Bennett - Made multiple times given --ip options work Vagrant Cascadian - Less redundant SSH key generation Adrian C. (anrxc) - Hook overrides Edd Dumbill - Contributed APT sources.list file for Ubuntu's Dapper release. Lionel FÉLICITÉ - Bugfix for Centos 6 installation Kevin Fullerton - Fixup for gentoos revised networking scripts. (dhcp) Stefan Fritsch - Contributed the policy-rc.d fixups for common.sh Raphaël Halimi - Contribute bashism fix Sven Hertge - Bugfix for Debian/Gentoo package installation. Joey Hess - Provided sample code for module copying and several useful bug reports John Hughes - Physical devices reordering for pygrub Kirk Ismay - Added hook for automatic CFEngine installation. Sascha Kettler - Implemented support for arbitrary partitioning schemes. Eric Lemoine - Improved binary detection and good suggestions. - Better portability for non-bash shells. Daniel Lintott - Bugfix for Jessie and newer installations Jorge Armando Medina - Fix for backward compatibility with xvc0 serial consoles Gordon Messmer - Supplied .spec file for building .rpm packages. Wilson Neil - Several suggestions and code for disabling start-stop-daemon - Compatibility fixups for Ubuntu. Nathan O'Sullivan - New features wrt. options and helper functions Guillaume Pernot - Fixed Sarge amd64 special case Walter Reiner - Provided --image-dev + --swap-dev patch. Jameson Rollins - Provided --output + --extension code. Michal Safranek (Wejn) - Inspiration for pygrub in the install-kernel scripts Felipe Scarel - Bugfix for --no-swap + LVM Johan Schurer - CentOS 6 support - CentOS 5 fixes Patryk Ściborek - Ubuntu-related bugfix Radu Spineanu - Supplied many small tweaks, bugfixes, and suggestions. - Radu is also one of the former Debian package maintainers. Henning Sprang - Many suggestions and useful Debian bug reports. Andrew Sutherland - Fixups for dash/Ubuntu. Gergely Tamas - Added patch to make initrd setup optional. Alex Tomlins - apt_proxy support Ward Vandewege - Made several updates for Ubuntu support. Santiago Vila - Found and fixed a bunch of typos and formatting issues. Joan - Bugfix for password interaction - maxmem option xstasi on Launchpad - Proper upstart handling in the chroot xen-tools-4.9.2/.mailmap0000644000175000017500000000042514370055613013144 0ustar abeabeAxel Beckert Dmitry Nedospasov Nathan O'Sullivan Radu Spineanu radu Steve Kemp steve Stéphane Jourdois xen-tools-4.9.2/.travis.yml0000644000175000017500000000206614370055613013637 0ustar abeabelanguage: perl perl: - "5.32" - "5.30" - "5.28" - "5.26" - "5.24" - "5.22" - "5.20" - "5.18" - "5.16" - "5.14" - "5.12" - "5.10" - "blead" matrix: fast_finish: true allow_failures: - perl: blead before_install: - sudo apt-get update - sudo apt-get install devscripts dpkg-dev lsb-release - eval $(curl https://travis-perl.github.io/init) - build-perl - perl -V install: - yes '' | cpanm --verbose --notest --skip-satisfied Data::Validate::Domain Data::Validate::IP Data::Validate::URI File::Slurp File::Which Log::Message Term::UI Test::NoTabs Test::Pod::Coverage Test::Pod Text::Template Devel::Cover::Report::Coveralls Sort::Versions Test::File::Contents - export RELEASE_TESTING=1 AUTOMATED_TESTING=1 AUTHOR_TESTING=1 HARNESS_OPTIONS=j10:c HARNESS_TIMER=1 PATH=bin:${PERLBREW_PATH}:${PATH} script: - make test-verbose after_success: - prove --exec 'env PERL5OPT=-MDevel::Cover=-ignore_re,^(t/|/usr) perl' t/*.t - cover -ignore_re '^(t/|/usr)' -report coveralls notifications: irc: "irc.lugs.ch#kivamon" xen-tools-4.9.2/README.markdown0000644000175000017500000002521014370055613014223 0ustar abeabexen-tools ========= [![Travis CI Build Status](https://api.travis-ci.org/xen-tools/xen-tools.svg)](https://travis-ci.org/xen-tools/xen-tools) * [Homepage](https://www.xen-tools.org/software/xen-tools) * [Change Log](https://github.com/xen-tools/xen-tools/blob/master/NEWS.markdown) * Official Git Repositories: * [at GitHub](https://github.com/xen-tools/xen-tools) (primary, includes [Issue Tracker](https://github.com/xen-tools/xen-tools/issues)) * [at GitLab](https://gitlab.com/xen-tools/xen-tools) (secondary, doesn't support the `git://` protocol.) * Historical Git Repository: [at Gitorious](https://gitorious.org/xen-tools) (_outdated_, no more updated, for historical reference only) * [Mailing Lists](https://www.xen-tools.org/software/xen-tools/lists.html) About ----- xen-tools contains a collection of Perl scripts for working with Xen guest images under Linux. Using this software, you can easily create new [Xen](http://www.xen.org/) guests configured to be accessible over the network via [OpenSSH](http://www.openssh.org/). xen-tools currently has scripts to install most releases of [Debian](https://www.debian.org/) (starting with 3.1 "Sarge") and [Ubuntu](http://www.ubuntu.com/) (starting with 6.06 LTS "Dapper") and some RPM-based distributions. On the Dom0 side all current Xen supporting distributions should work. However, currently only Debian and Ubuntu releases are tested and known to work reliably, i.e.: ### Debian * Sarge 3.1 (i386 and DomU only) [¹](#1) * Etch 4.0 (Dom0 no more tested) [¹](#1) * Lenny 5.0 (Dom0 no more tested) [¹](#1) * Squeeze 6.0 (Dom0 no more tested) [¹](#1) * Wheezy 7 (Dom0 no more tested) [¹](#1) * Jessie 8 * Stretch 9 * Buster 10 * Bullseye 11 * Bookworm 12 (under development) * Trixie 13 (knows about this future release name) * Forky 14 (knows about this future release name) * Sid (always under development; works at least at the moment of writing :-) ### Ubuntu (only DomUs tested) * Dapper Drake 6.06 (LTS) [¹](#1) [²](#2) * Edgy Eft 6.10 [¹](#1) [²](#2) * Feisty Fawn 7.04 [¹](#1) * Gutsy Gibbon 7.10 [¹](#1) * Hardy Heron 8.04 (LTS, see [Installing Ubuntu 8.04 as DomU][2]) [¹](#1) * Interpid Ibex 8.10 [¹](#1) * Jaunty Jackaplope 9.04 [¹](#1) * Karmic Koala 9.10 [¹](#1) * Lucid Lynx 10.04 (LTS) [¹](#1) * Maverick Meerkat 10.10 [¹](#1) * Natty Narwhal 11.04 [¹](#1) * Oneiric Ocelot 11.10 [¹](#1) * Precise Pangolin 12.04 (LTS) [¹](#1) * Quantal Quetzal 12.10 * Raring Ringtail 13.04 * Saucy Salamander 13.10 * Trusty Tahr 14.04 (LTS) * Utopic Unicorn 14.10 * Vivid Vervet 15.04 * Wily Werewolf 15.10 * Xenial Xerus 16.04 (LTS) * Yakkety Yak 16.10 * Zesty Zapus 17.04 * Artful Aardvark 17.10 * Bionic Beaver 18.04 (LTS) * Cosmic Cuttlefish 18.10 * Disco Dingo 19.04 * Eoan Ermine 19.10 * Focal Fossa 20.04 (LTS) * Groovy Gorilla 20.10 * Hirsute Hippo 21.04 (under development) ### Footnotes
¹
Installation with `xen-create-image` and updating with `xen-update-image` might fail with newer kernels/distributions running on the Dom0 unless they have been booted with `vsyscall=emulate` on the kernel commandline.
²
At least between debootstrap version 1.0.37 and 1.0.93 (including) these distributions needs editing of `/usr/share/debootstrap/scripts/edgy`, see [#659360][1].
[1]: https://bugs.debian.org/659360 "debootstrap in Wheezy can no more build Ubuntu Edgy or earlier" [2]: http://www.linux-vserver.org/Installing_Ubuntu_8.04_Hardy_as_guest "There is an issue with debootstrap on hardy not installing ksyslogd." ### CentOS (only DomUs tested, pygrub support incomplete) * CentOS 5 * CentOS 6 Packages -------- xen-tools are available prepackaged in Debian (and derivates) and as source tar-ball for local installation. Installing from source should work flawlessly on most Linux systems that meet the installation requirements. Requirements ------------ To use these tools you'll need the following software: * [debootstrap](https://packages.debian.org/debootstrap) * Perl and the following Perl modules * [Config::IniFiles](https://metacpan.org/release/Config-IniFiles) ([Debian Package libconfig-inifiles-perl](https://packages.debian.org/libconfig-inifiles-perl)) * [Text::Template](https://metacpan.org/release/Text-Template) ([Debian Package libtext-template-perl](https://packages.debian.org/libtext-template-perl)) * [Data::Validate::Domain](https://metacpan.org/release/Data-Validate-Domain) ([Debian Package libdata-validate-domain-perl](https://packages.debian.org/libdata-validate-domain-perl)) * [Data::Validate::IP](https://metacpan.org/release/Data-Validate-IP) ([Debian Package libdata-validate-ip-perl](https://packages.debian.org/libdata-validate-ip-perl)) * [Data::Validate::URI](https://metacpan.org/release/Data-Validate-URI) ([Debian Package libdata-validate-uri-perl](https://packages.debian.org/libdata-validate-uri-perl)) * [File::Slurp](https://metacpan.org/release/File-Slurp) ([Debian Package libfile-slurp-perl](https://packages.debian.org/libfile-slurp-perl)) * [File::Which](https://metacpan.org/release/File-Which) ([Debian Package libfile-which-perl](https://packages.debian.org/libfile-which-perl)) * and some more modules which are part of the Perl core and hence do not need to be installed separately. * "Make", if you are not installing through a package manager. You can try to install RPM-based distributions such as CentOS, or Fedora Core, but you will need a correctly installed and configured [rinse](https://packages.debian.org/rinse) package. This is currently not fully supported. If you wish to create new Xen instances which may be controlled by users via a login shell you can have a look at the (currently unmaintained) [xen-shell](https://xen-tools.org/software/xen-shell/) project. ### Caveats For security reasons (avoid risk to circumvent [ASLR][3]), recent kernels have disabled the `vsyscall` mapping. Unfortunately older distributions don't run and hence can't be bootstrapped without it. To enable trapping and enabling emulate calls into the fixed vsyscall address mapping and hence to run and bootstrap older Linux distributions in a chroot (as xen-tools does), you need to add `vsyscall=emulate` to the kernel commandline, e.g. by adding it to `GRUB_CMDLINE_LINUX_DEFAULT` in `/etc/default/grub`, then running `update-grub` afterwards and finally reboot. [3]: https://en.wikipedia.org/wiki/Address_space_layout_randomization "Address Space Layout Randomization" Installation ------------ As root or with sudo, execute `make install`. See `debian/README.source` how to build the Debian package from a checked out copy of the git repository (i.e. without a source tar ball). The Scripts ----------- Here is a brief description of each included script, for more thorough documentation please consult the appropriate man page. ### xen-create-image This script is designed to create new images which may be used with the Xen hypervisor. This script performs the initial setup, then delegates the real work to a collection of helper scripts: * `xt-install-image`: Installs a distribution into a directory. * `xt-customize-image`: Run a collection of hook scripts to configure the freshly installed system. * `xt-create-xen-config`: Create a configuration file in `/etc/xen` such that Xen can boot the newly created machine. * `xt-guess-suite-and-mirror`: In case of a Debian or Ubuntu Dom0, this script tries to guess the most suitable suite and mirror for DomUs based on the Dom0's `/etc/apt/sources.list`. ### xen-create-nfs This script is similar in spirit to `xen-create-image`, but much less complex. It allows the creation of Xen guests which are diskless, mounting their root filesystem over a remote NFS-share. There are not many options to tweak, but still a useful addition to the suite. ### xen-delete-image This script will allow you to completely remove Xen instances which have previously been created by `xen-create-image`, this includes removing the storage block devices from the system, and deleting the Xen configuration file. ### xen-list-images List all the created images beneath a given root directory along with a brief overview of their setup details. ### xen-update-image This script runs "apt-get update; apt-get upgrade" for a given Xen image. #### NOTES * The image should not be running or corruption will occur! * The script should only be used for Xen instances of Debian or a Debian-derived distribution. Version Numbering Scheme ------------------------ Since release 4.4, the version numbering scheme of xen-tools tries to comply with the [Semantic Versioning](http://semver.org/) specification, with the only exception that trailing zeroes are omitted. Between the releases 3.9 and 4.4, the version numbering scheme followed roughly the same ideas, but less strict. Test Suite Coverage ------------------- [![Coverage Status](https://coveralls.io/repos/xen-tools/xen-tools/badge.svg?branch=master)](https://coveralls.io/r/xen-tools/xen-tools?branch=master) Despite parts of the test suite are quite old, it only tests a small fraction of what xen-tools can do. Some of the scripts currently could only be tested on an actual Xen Dom0. Hence the [code coverage of xen-tools' test suite is quite bad](https://coveralls.io/r/xen-tools/xen-tools). Bugs ---- ### Reporting Bugs If you're using the current packages included as part of the Debian GNU/Linux distribution or a derivative, please first report any bugs using the distribution's way to report bugs. In case of Debian this would be using e.g. `reportbug xen-tools`. If you're using the xen-tools built from source tar ball, please [report bugs via GitHub's issue tracker](https://github.com/xen-tools/xen-tools/issues/new), or, if you don't want to create a GitHub account or are not sure if it's really a bug, feel free to just write an e-mail to the [xen-tools dicsussion mailing list](mailto:xen-tools-discuss@xen-tools.org). If you're capable of fixing it yourself a patch is appreciated, and a test case would be a useful bonus. ### Known/Open Issues You can check the following ressources for known or open issues: * [xen-tools Issue Tracker at GitHub](https://github.com/xen-tools/xen-tools/issues) (primary upstream bug tracker) * [Mailing list archives of the xen-tools mailing lists](https://xen-tools.org/software/xen-tools/lists.html) (might contain, loose, non-formal bug reports) * [TODO file in the source code](https://github.com/xen-tools/xen-tools/blob/master/TODO.markdown) * [xen-tools in the Debian Bug Tracking System](https://bugs.debian.org/xen-tools) * [xen-tools in Ubuntu's Launchpad](https://bugs.launchpad.net/ubuntu/+source/xen-tools) — The Xen-Tools Developer Team xen-tools-4.9.2/NEWS.markdown0000644000175000017500000004365614370055613014060 0ustar abeabexen-tools 4.9.2 (released 06 Feb 2023) ====================================== Distribution Releases Changes ----------------------------- * Support for + Ubuntu 21.10 Impish Indri (EoL) + Ubuntu 22.04 Jammy Jellyfish (LTS) + Ubuntu 22.10 Kinetic Kudu * Preliminary support for + Debian 14 Forky + Ubuntu 23.04 Lunar Lobste * Declare the following releases as EoL: + Ubuntu 12.04 Precise Pangolin (LTS) + Ubuntu 20.10 Groovy Gorilla + Ubuntu 21.04 Hirsute Hippo * xt-guess-suite-and-mirror: + Bump default Ubuntu fallback release to 22.04 Jammy LTS. + Add support for Ubuntu Ports APT repos (i.e. Xen on ARM64). Documentation ------------- * Place hints on "vsyscall=emulate" on more visible places. Other Changes ------------- * Fix bashism in release testing target "tidy". xen-tools 4.9.1 (released 24 Oct 2021) ====================================== Bug Fixes --------- * Fix missing `|` in regex in `hooks/debian/20-setup-apt`. (Closes Debian bug report #997668) Other Changes ------------- * Make test `xt/gitignore.t` work with git releases ≥ 2.32.0. * Travis CI: stop testing again Perl `dev`. It seems to no more exist. * Also create an `.orig.tar.xz` signature upon `make release`. xen-tools 4.9 (released 29 Dec 2020) ==================================== New Features ------------ * Add Debian install rules for arm64. (GH #62; PR by Ian McLinden @ianmclinden) * Add netplan p2p support for Ubuntu. (GH #58; PR by Volker Janzen @frootmig) Bug Fixes --------- * Fix typo in release name of the future Debian 12 release. * Makefile: Actually install xen-resize-guest tool. (Thanks to Debian's Lintian tool reporting that there is a man-page without binary installed!) * Distinguish between those Debian releases using `$dist/updates` for security updates and those who use `$dist-security`. Thanks to Paul Wise for the bug report. (Closes Debian bug report #972749.) * Fix support for `lvm_thin`. Thanks to Andreas Sundstrom for the bug report and patch! (Closes Debian bug report #942244.) * Mount `/proc` and `/dev` before calling update-grub. Thanks to Brandon Bradley for the bug report and patch. (Closes Debian bug report #815021.) * Fix storage commandline options not overriding `xen-tools.conf` settings also in `xen-update-image` and `xen-delete-image`. (GH #57; patch by Volker Janzen @frootmig) Distribution Releases Changes ----------------------------- * Support for + Ubuntu 19.10 Eoan Ermine (EoL) + Ubuntu 20.04 Focal Fossa (LTS) + Ubuntu 20.10 Groovy Gorilla * Preliminary support for + Debian 13 Trixie + Ubuntu 21.04 Hirsute Hippo * Declare the following releases as EoL: + Ubuntu 17.10 Artful Aardvark (Was missing in previous release despite mentioned in this file.) + Ubuntu 18.10 Cosmic Cuttlefish + Ubuntu 19.04 Disco Dingo + Debian 7 Wheezy + Debian 8 Jessie * Start all Debian releases since Stretch (9) with pygrub by default. Other Changes ------------- * Support running tests verbosely with Make target "test-verbose". * Drop "dont-test" flag from bullseye. * partitions/sample-server: Change options=sync to options=defaults. (GL MR !1; patch by Wolfgang Karall) xen-tools 4.8 (released 9 Feb 2019) =================================== New Features ------------ * Support for ZFS volumes (by Marc Bigler, GH #50) * Support for LVM thin provisioning (by Nico Boehr, GH #47) * Support for really random MAC addresses upon every `xen-create-image` invocation by using the new option `--randommac`. (by Pietro Stäheli, closes Debian bug report #855703) * `distributions.conf` now supports arbitrary keyring files in `/usr/share/keyrings/`. (Needed for some EoL Ubuntu releases.) * Support for netplan.io network configuration as used in recent Ubuntu releases. (Hook by Arno and Peter, GH #51) Bug Fixes --------- * Minor documentation fixes. * Eliminate progress reporting which is useless in logs. (Yuri Sakhno, GH #42) * Drop `pygrub` path detection from `xm.tmpl`, Xen prefers a path-less `bootloader='pygrub'`. Distribution Releases Changes ----------------------------- * Support for + Ubuntu 17.10 Artful Aardvark + Ubuntu 18.04 Bionic Beaver (LTS) (GH #51) + Ubuntu 18.10 Cosmic Cuttlefish * Preliminary support for Ubuntu 19.04 Disco Dingo * Knows about code name for Debian 12 (Bookworm). * Considers Ubuntu Yakkety, Zesty and Artful being EoL. * Set Ubuntu fallback suite to the latest LTS, i.e. 18.04 Bionic. Other Changes ------------- * Change all occurrences of `httpredir.debian.org` to `deb.debian.org` except those for the `debian-archive`. The latter now point to `archive.debian.org` directly. * Many improvements for the `release-testing` script. * Only run `xen-toolstack` helper script if both, `xm` and `xl` are present. Avoids warning about deprecated helper script. xen-tools 4.7 (released 23 Jan 2017) ==================================== New Features ------------ New keywords in distributions.conf: default-keyring, dont-test * Support situations where distributions (e.g. Squeeze) might be end of life, but its archive signing key is still not removed from the default keyring. (As of this writing, that's the case for Debian 6 Squeeze on Debian 8 Jessie.) Bug Fixes --------- * Fixes reported error code in case of subcommand failure (Reported and fixed by Yuri Sakhno, thanks!) * Fixes inconsistent/non-functional handling of --nopygrub parameter. Thanks Daniel Reichelt for the bug report and patch! (Closes Debian bug report #842609) * Fixes possible missing gateway in generated /etc/network/interfaces. Thanks Santiago Vila for the bug report and patch! (Closes Debian bug report #764625) * Fixes typo found by Lintian. * Work around LVM related race condition when using --force with LVM: If an "lvremove" is immediately followed by an "lvcreate" for an LV with the same name, "mkswap" (and maybe other commands) occasionally fail with "Device or resource busy". Work around it by using sync and sleep. Distribution Releases Changes ----------------------------- * Support for Ubuntu 16.10 Yakkety Yak. * Preliminary support for Ubuntu 17.04 Zesty Zapus. * Knows about code names for Debian 10 (Buster) and 11 (Bullseye). * Considers Debian Squeeze, Ubuntu Vivid and Wily being EoL. * Knows about Ubuntu's "devel" alias. Other Changes ------------- * Risen default values for RAM sizes in /etc/xen-tools/xen-tools.cfg to cope with risen resource consumption and availability. (Closes Debian bug report #849867) * Default file system is now ext4 (instead of ext3). Test Suite ---------- * release-testing: + Mitigate race conditions with immediately re-used LVs: - Use per-test-unique host names. - Delete potential old images by testing xen-delete-image before calling xen-create-image. Add sync and sleep calls inbetween those two commands, too. + Use "set -e" instead of "|| break". + Declare testability in distributions.conf instead of hardcoding it. Mark buster and bullseye as not testable, too, for now. xen-tools 4.6.2 (released 23 Dec 2015) ====================================== Bug Fixes --------- * Make t/hooks-inittab.t using its own copy of the generic /etc/inittab for testing instead of using the system one's. (GH#36, should fix autopkgtest on systems with modified /etc/inittab) * Fix unescaped braces (deprecated since Perl 5.22) in t/plugin-checks.t. Other changes ------------- * Support for using pygrub from /usr/local/bin/pygrub. * Typo fixes. xen-tools 4.6.1 (released 24 Oct 2015) ====================================== Distribution Releases Changes ----------------------------- * Preliminary support for Ubuntu 16.04 LTS Xenial Xerus. Bug Fixes --------- * Fix Perl warning in t/hook-inittab.t if /etc/inittab isn't present. Other Changes ------------- * Declare GitHub as primary hosting. * Integrate BUGS.markdown into README.markdown, move remaining contents of KNOWN_BUGS.markdown to the GitHub issue tracker. * Minor README improvements. * Neither use $#array in boolean context nor @array = undef anymore. xen-tools 4.6 (released 20 Jul 2015) ==================================== New Features and Major Changes ------------------------------ * Drop all occurrences of apt's `--force-yes` parameter. It only forces the installation of untrusted packages and that's unwanted. (Closes Debian bug report #776487) * Support passing commandline options with `--debootstrap-cmd`. * Use MD5 as default hash method again, to be able to properly set passwords in older releases. Does not affect passwords changed later inside the DomU. * Split off hardcoded release code names list and default mirrors in `xen-create-image` into separate configuration file which is parsed before the default settings or command-line options are set. * Report all SSH fingerprints of the created DomU, not only RSA ones. * Support VLANs with Open vSwitch (GH-2). Thanks to Félix Barbeira for the patch. New Options ----------- * `--keyring` (xen-create-image, xt-install-image) * `--vlan` (xen-create-image) Distribution Releases Changes ----------------------------- * Debian 9 Stretch (preliminary support) * Ubuntu 15.10 Wily Werewolf (preliminary support; not yet supported by debootstrap, see Debian bug report #787117) * Ubuntu 10.04 Lucid Lynx is now EoL. * Ubuntu 14.10 Utopic Unicorn is now EoL. Improvements ------------ * Make test suite support as-installed-testing. * Multiple release workflow improvements (target `release` in `Makefile`). * Supports `unstable`, `oldstable` and `oldoldstable` as distribution names, too. (`oldoldstable` is not yet supported by debootstrap, see Debian feature request #792734 in debootstrap.) Bug Fixes --------- * Fix usage of nonexistent variable in `removeDebianPackage` (Closes Debian bug report #774936) Thanks Lukas Schwaighofer! * Allows `#` within configuration file comments. (Closes Debian bug report #783060; thanks Jean-Michel Nirgal Vourgère for the bug report and patch!) * Use `-o APT::Install-Recommends=false` instead of `--no-install-recommends` for backwards compatibility with older APT versions which don't know either (but accept any `Foo=Bar` parameter to `-o`). Allows one to install earlier Debian releases (e.g. Etch) with the default configuration again. * Pass `--yes` to `lvcreate` only if LVM version is 2.02.99 or higher. Fixes regression introduced with 4.5 by the fix for Debian bug report #754517. Other Changes ------------- * Change all occurrences of `http.debian.net` to `httpredir.debian.org`. * Installs bash completion into `/usr/share/bash-completion/` (fixes lintian warning `package-install-into-obsolete-dir`) * Testsuite: Optimize and clean up modules.sh. * Split up test suite in functionality/compatibility tests (`t`) and author/release tests (`xt`). * New example script helpful for release testing. xen-tools 4.5 (released 25 Oct 2014) ==================================== New Features and Major Changes ------------------------------ * Apply patch by Adrian C. (anrxc) to allow to override hooks in `/usr/share/xen-tools/*.d/` with hooks in `/etc/xen-tools/hooks.d/`. Distribution Releases Changes ----------------------------- * Ubuntu 14.10 Utopic Unicorn. * Ubuntu 15.04 Vivid Vervet (preliminary support) * Mark Ubuntu 13.10 Saucy Salamander as EoL Improvements ------------ * Use `686-pae` kernels instead of `686` kernels on Debian Wheezy and later. Thanks to Daniel Lintott! (Closes Debian bug report #742778) * Pass `-y` option ("assume yes") to `yum` (Closes Debian bug report #735675) Thanks Lionel FÉLICITÉ! Bug Fixes --------- * Fix always empty gateway on Debian DomUs (Thanks Joan! LP: #1328794) * Fix `lvcreate` awaiting user input when creating swap LV (Closes Debian bug report #754517) Thanks Eric Engstrom! * Fix missing quoting in shell function `assert` in `hooks/common.sh`. * Fix initial configuration summary in cases where `pygrub` is used. * Fix corner cases where not the latest kernel would have been checked. * `--password` overrides `--genpass`. (Closes Debian bug report #764143) Based on patch by Santiago Vila. * Fix unaligned maxmem output of xen-create-image. (Closes Debian bug report #764126; Patch by Santiago Vila) * Fix copy & paste errors in comments in typos in `roles/puppet` (Closes Debian bug report #764134; Patch by Santiago Vila) * Fix typos in POD of `xen-create-image` (Closes Debian bug report #764153; Patch by Santiago Vila) Other Changes ------------- * Drop all xend related sanity checks, they cause more havoc nowadays than they help. Thanks Ian Campbell! (Closes Debian bug report #732456) * pygrub detection: Prefer `/usr/lib/xen-default` over `/usr/lib/xen-x.y`. * Add password length sanity check with fallback to default length. * Raise default password length from 8 to 23. * Flush output after each line in `runCommand()`. * `Makefile`: Clean up coverage data in multiple targets. xen-tools 4.4 (released 11 Dec 2013) ==================================== Listing includes changes of according beta releases. New Features and Major Changes ------------------------------ * Preliminary support for `xl` toolstack * Ships `/etc/initramfs-tools/conf.d/xen-tools` for generating Dom0 initrds also suitable for DomU usage. Trigger `update-initramfs`. * Installs a legacy `grub` in all `pygrub` based Debian/Ubuntu DomUs to be able to update the `menu.list` automatically. * `hooks/common.sh`: `installDebianPackage` no more installs recommends, use `installDebianPackageAndRecommends` for that from now on. * `hooks/common.sh`: Rename `installCentOS4Package` to `installRPMPackage`. Add `installCentOS4Package` wrapper for backward compatibility. * Better documents and checks requirements for the `--apt_proxy` value. (See #623443 for the corresponding apt issue.) Requires now `Data::Validate::URI`. * Uses now `Data::Validate::Domain` and `Data::Validate::IP` for IP addresses and hostname checks. Newly Supported Distribution Releases ------------------------------------- * Debian 8 Jessie * Ubuntu 13.04 Raring * Ubuntu 13.10 Saucy (preliminary support; debootstrap doesn't have support for Saucy at the time of writing) Improvements ------------ * Also recognize "M" and "G" instead of "MB" and "GB" as size unit for `--memory`. Also document the recognized units. (Closes Debian bug report #691320) * `xen-list-images` now also outputs the file name of the config file. * `xen-list-images` and `xen-delete-image` now understand `--extension`. * Makefile accepts `DESTDIR=…` * Move examples from debian/examples to examples. * Adds default mount options for ext4, identical to ext2/ext3. * By default install `linux-image-virtual` instead of `linux-image-server` on Ubuntu Intrepid and newer (Hopefully closes: #640099, LP #839492) * Makes some options (like `--pygrub`) negatable. * Rework "minimal" role to be less based on personal preferences: * No more installs sudo, vim, syslog-ng, etc. * Fixes usage together with pygrub. Bug Fixes --------- * Fix symbolic link hooks/centos-6/15-setup-arch (Closes Debian bug report #690299) * Execute END block not on --version/--help/--manual (Closes Debian bug #684346) * Move code for `--boot` feature to `END` block. Fixes missing SSH fingerprint display if `--boot` was used. (Closes Debian bug report #679183) * Correctly handle aborts in `END` block. (Closes Debian bug report #704882) * Fixes `--extension=` with empty parameter. * Sarge amd64 case handle properly * `xt-install-image`: Don't bail out if only `cdebootstrap` is installed but not `debootstrap` (Thanks Elmar Heeb!) * Fix filesystem tools installation in `91-install-fs-tools` (which was broken since 4.3~rc1-1) by merging `91-install-fs-tools back` into `90-make-fstab`. (Closes Debian bug report #715340) Also supports RPM-based distributions now. * Fixes creation of `ARRAY(0x#).log` named log files. Other Changes ------------- * Code deduplication to unify the `xen-*-image` scripts * Moves `/usr/lib/xen-tools/` to `/usr/share/xen-tools/` * Use `http.debian.net` as default Debian mirror if no mirror is given and `xt-guess-suite-and-mirror` is not used. * Default DomUs to use the noop scheduler (Closes Debian bug report #693131) * Fixes export of environment variables. Previously they could contain dashes and then were only accessible from within Perl, but not from within Bash. * Uses `Test::NoTabs` instead of its own test for that. * Removes unused Perl modules `Xen::Tools` and `Xen::Tools::Log` from source code. Also removes the according tests from the test suite. No more needs `Moose`. xen-tools 4.3.1 (released 30-Jun-2012) ====================================== Bugfix Release only xen-tools 4.3 (released 26-Jun-2012) ==================================== Listing includes changes of according beta releases. New Features and Major Changes ------------------------------ * Massive code deduplication in hooks directory New Options ----------- * `--dontformat` (xen-create-image) * `--finalrole` (xen-create-image) * `--apt_proxy` (xen-create-image) Newly Supported Distribution Releases ------------------------------------- * Ubuntu 11.10 Oneiric * Ubuntu 12.04 Precise * Ubuntu 12.10 Quantal * CentOS 6 Bug Fixes --------- * Fix several testuite failures depending on the build host's installation. Other Changes ------------- * Remove most Mercurial traces xen-tools 4.2.1 (released 17 Mar 2011) ====================================== Bugfix Release only xen-tools 4.2 (released 05 Oct 2010) ==================================== First final release of the new Xen-Tools Team. Supports Ubuntu up to 11.04 (Natty) and Debian up to 7.0 (Wheezy). New Options ----------- --debootstrap-cmd (xen-create-image and xt-install-image) New Features and Major Changes ------------------------------ * Uses `hvc0` and `xvda` devices by default * Also supports `cdebootstrap` * Preliminary btrfs support. * Uses GeoIP for Debian mirrors: Default Debian mirror is now `cdn.debian.net`, see https://wiki.debian.org/DebianGeoMirror for details. * New helper program `xt-guess-suite-and-mirror`, used to find the default mirror and suite. xen-tools-4.9.2/Makefile0000644000175000017500000003267414370055613013176 0ustar abeabe# # Utility makefile for people working with xen-tools. # # The targets are intended to be useful for people who are using # the source repository - but it also contains other useful targets. # # Steve # -- # https://steve.fi/ # # # Only used to build distribution tarballs. # TMPDIR ?= /tmp DIST_PREFIX = ${TMPDIR} VERSION = 4.9.2 DEBVERSION = $(shell echo $(VERSION)|sed 's/\(rc\|pre\|beta\|alpha\)/~\1/') BASE = xen-tools VCS = git # # Installation prefix, useful for the Debian package. # DESTDIR= prefix=${DESTDIR} nop: @echo "Valid targets are (alphabetically) :" @echo " " @echo " clean = Remove bogus files." @echo " commit = Commit changes, after running check." @echo " diff = See local changes." @echo " install = Install the software" @echo " manpages = Make manpages beneath man/" @echo " tarball = Make a release tarball" @echo " orig-tar-gz = Make a tarball suitably named for Debian" @echo " release = Make a release tarball and sign it" @echo " uninstall = Remove the software" @echo " update = Update from the source repository." @echo " " # # Extract the revision history and make a ChangeLog file # with those details. # changelog: $(VCS) log -v > ChangeLog # # Delete all temporary files, recursively. # clean: @find . \ -path ./.git -prune -o \ \( \ -name '*~' -o \ -name '.#*' -o \ -name '*.bak' -o \ -name '*.tmp' -o \ -name 'tags' -o \ -name '*.8.gz' -o \ -name '*.tdy' \ \) -exec rm "{}" + @if [ -d man ]; then rm -rf man ; fi @if [ -e build-stamp ]; then rm -f build-stamp ; fi @if [ -e configure-stamp ]; then rm -f configure-stamp ; fi @if [ -d debian/xen-tools ]; then rm -rf ./debian/xen-tools; fi @if [ -d cover_db ]; then rm -rf ./cover_db; fi @if [ -e $(BASE)-$(VERSION).tar.gz ]; then rm $(BASE)-$(VERSION).tar.gz ; fi @if [ -e $(BASE)-$(VERSION).tar.gz.asc ]; then rm $(BASE)-$(VERSION).tar.gz.asc ; fi cd t; $(MAKE) clean # # If the testsuite runs correctly then commit any pending changes. # commit: test $(VCS) commit # # Show what has been changed in the local copy vs. the remote repository. # diff: $(VCS) diff 2>/dev/null # # Fix hooks and configuration files permissions # fixup-perms: for i in hooks/*/*-*; do chmod 755 $$i; done chmod 755 hooks/common.sh chmod 644 etc/*.conf chmod 644 etc/xm.tmpl chmod 644 etc/xm-nfs.tmpl chmod 644 misc/* # # Install files to /etc/ # install-etc: -mkdir -p ${prefix}/etc/xen-tools -if [ -d ${prefix}/etc/xen-tools/hook.d ]; then mv ${prefix}/etc/xen-tools/hook.d/ ${prefix}/etc/xen-tools/hook.d.obsolete ; fi -mkdir -p ${prefix}/etc/xen-tools/skel/ -mkdir -p ${prefix}/etc/xen-tools/role.d/ -mkdir -p ${prefix}/etc/xen-tools/partitions.d/ cp etc/*.conf ${prefix}/etc/xen-tools/ cp etc/xm.tmpl ${prefix}/etc/xen-tools/ cp etc/xm-nfs.tmpl ${prefix}/etc/xen-tools/ cp partitions/*-* ${prefix}/etc/xen-tools/partitions.d/ -mkdir -p ${prefix}/usr/share/bash-completion/completions/ cp misc/xen-tools.bash-completion ${prefix}/usr/share/bash-completion/completions/xen-tools -mkdir -p ${prefix}/etc/initramfs-tools/conf.d/ cp misc/xen-tools.initramfs-tools ${prefix}/etc/initramfs-tools/conf.d/xen-tools # # Install binary files. # install-bin: mkdir -p ${prefix}/usr/bin cp bin/xen-create-image ${prefix}/usr/bin cp bin/xen-create-nfs ${prefix}/usr/bin cp bin/xt-customize-image ${prefix}/usr/bin cp bin/xt-install-image ${prefix}/usr/bin cp bin/xt-create-xen-config ${prefix}/usr/bin cp bin/xen-delete-image ${prefix}/usr/bin cp bin/xen-list-images ${prefix}/usr/bin cp bin/xen-update-image ${prefix}/usr/bin cp bin/xen-resize-guest ${prefix}/usr/bin cp bin/xt-guess-suite-and-mirror ${prefix}/usr/bin chmod 755 ${prefix}/usr/bin/xen-create-image chmod 755 ${prefix}/usr/bin/xen-create-nfs chmod 755 ${prefix}/usr/bin/xt-customize-image chmod 755 ${prefix}/usr/bin/xt-install-image chmod 755 ${prefix}/usr/bin/xt-create-xen-config chmod 755 ${prefix}/usr/bin/xen-delete-image chmod 755 ${prefix}/usr/bin/xen-list-images chmod 755 ${prefix}/usr/bin/xen-update-image chmod 755 ${prefix}/usr/bin/xt-guess-suite-and-mirror # # Install hooks # install-hooks: for i in roles/* ; do if [ -f $$i ]; then cp $$i ${prefix}/etc/xen-tools/role.d; fi ; done for i in ${prefix}/usr/share/xen-tools/*.d; do if [ -L "$$i" ]; then rm -vf "$$i"; fi; done mkdir -p ${prefix}/usr/share/xen-tools/centos-4.d/ mkdir -p ${prefix}/usr/share/xen-tools/centos-5.d/ mkdir -p ${prefix}/usr/share/xen-tools/centos-6.d/ mkdir -p ${prefix}/usr/share/xen-tools/fedora-core-6.d/ cp -R hooks/centos-4/*-* ${prefix}/usr/share/xen-tools/centos-4.d cp -R hooks/centos-5/*-* ${prefix}/usr/share/xen-tools/centos-5.d cp -R hooks/centos-6/*-* ${prefix}/usr/share/xen-tools/centos-6.d cp -R hooks/fedora-core-6/*-* ${prefix}/usr/share/xen-tools/fedora-core-6.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-4.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-5.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-7.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-8.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-9.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-10.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-11.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-12.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-13.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-14.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-15.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-16.d -cd ${prefix}/usr/share/xen-tools/ && ln -s fedora-core-6.d fedora-core-17.d mkdir -p ${prefix}/usr/share/xen-tools/debian.d/ cp -R hooks/debian/*-* ${prefix}/usr/share/xen-tools/debian.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d sarge.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d etch.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d lenny.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d squeeze.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d wheezy.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d jessie.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d stretch.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d buster.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d bullseye.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d bookworm.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d trixie.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d forky.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d sid.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d unstable.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d testing.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d stable.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d oldstable.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d oldoldstable.d mkdir -p ${prefix}/usr/share/xen-tools/gentoo.d/ cp -R hooks/gentoo/*-* ${prefix}/usr/share/xen-tools/gentoo.d mkdir -p ${prefix}/usr/share/xen-tools/dapper.d/ cp -R hooks/dapper/*-* ${prefix}/usr/share/xen-tools/dapper.d/ mkdir -p ${prefix}/usr/share/xen-tools/edgy.d/ cp -R hooks/edgy/*-* ${prefix}/usr/share/xen-tools/edgy.d/ -cd ${prefix}/usr/share/xen-tools/ && ln -s edgy.d feisty.d -cd ${prefix}/usr/share/xen-tools/ && ln -s edgy.d gutsy.d -cd ${prefix}/usr/share/xen-tools/ && ln -s edgy.d hardy.d mkdir -p ${prefix}/usr/share/xen-tools/intrepid.d/ cp -R hooks/intrepid/*-* ${prefix}/usr/share/xen-tools/intrepid.d/ -cd ${prefix}/usr/share/xen-tools/ && ln -s intrepid.d jaunty.d mkdir -p ${prefix}/usr/share/xen-tools/karmic.d/ cp -R hooks/karmic/*-* ${prefix}/usr/share/xen-tools/karmic.d/ -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d lucid.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d maverick.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d natty.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d oneiric.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d precise.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d quantal.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d raring.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d saucy.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d trusty.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d utopic.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d vivid.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d wily.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d xenial.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d yakkety.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d zesty.d mkdir -p ${prefix}/usr/share/xen-tools/artful.d/ cp -R hooks/artful/*-* ${prefix}/usr/share/xen-tools/artful.d/ -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d bionic.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d cosmic.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d disco.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d eoan.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d focal.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d groovy.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d hirsute.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d impish.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d jammy.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d kinetic.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d lunar.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d devel.d cp hooks/common.sh ${prefix}/usr/share/xen-tools cp -r hooks/common ${prefix}/usr/share/xen-tools # # Install our library files # install-libraries: -mkdir -p ${prefix}/usr/share/perl5/Xen/Tools cp ./lib/Xen/Tools/*.pm ${prefix}/usr/share/perl5/Xen/Tools # # Generate and install manpages. # install-manpages: manpages -mkdir -p ${prefix}/usr/share/man/man8/ cp man/*.8.gz ${prefix}/usr/share/man/man8/ # # Install everything. # install: fixup-perms install-bin install-etc install-hooks install-libraries install-manpages # # Build our manpages via the `pod2man` command. # manpages: -mkdir -p man cd bin; for i in *-*[!y]; do pod2man --release=${VERSION} --official --section=8 $$i ../man/$$i.8; done for i in man/*.8; do gzip --force -9 $$i; done # # Make a new release tarball, and make a GPG signature. # release: orig-tar-gz gpg --armour --detach-sign ../$(BASE)-$(VERSION).tar.gz cp -p ../$(BASE)-$(VERSION).tar.gz.asc ../$(BASE)_$(DEBVERSION).orig.tar.gz.asc git tag -s -m "Release as $(VERSION)" "release-$(VERSION)" tarball: test tidy fixup-perms update-version update-modules clean changelog rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION) rm -f $(DIST_PREFIX)/$(BASE)-$(VERSION).tar.gz cp -R . $(DIST_PREFIX)/$(BASE)-$(VERSION) rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION)/debian rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION)/cover_db rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION)/.git* cd $(DIST_PREFIX) && tar -cvf $(DIST_PREFIX)/$(BASE)-$(VERSION).tar $(BASE)-$(VERSION)/ gzip -9nv $(DIST_PREFIX)/$(BASE)-$(VERSION).tar mv $(DIST_PREFIX)/$(BASE)-$(VERSION).tar.gz .. rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION) # # Make a new orig.tar.gz for the Debian package # orig-tar-gz: tarball cp -p ../$(BASE)-$(VERSION).tar.gz ../$(BASE)_$(DEBVERSION).orig.tar.gz # # Run the test suite. # test-verbose : VERBOSE = -v test-verbose: test test: non-author-test author-test non-author-test: update-modules prove $(VERBOSE) --shuffle t/ author-test: prove $(VERBOSE) xt/ # # Run our main script(s) through perltidy # tidy: if [ -x /usr/bin/perltidy ]; then \ for i in $(ls -1 bin/*-* | grep -vE '~$'); do \ echo "tidying $$i"; \ perltidy $$i \ ; done \ ; fi # # Uninstall the software, completely. # uninstall: rm -f ${prefix}/usr/bin/xen-create-image rm -f ${prefix}/usr/bin/xen-delete-image rm -f ${prefix}/usr/bin/xen-list-images rm -f ${prefix}/usr/bin/xen-update-image rm -f ${prefix}/usr/bin/xt-customize-image rm -f ${prefix}/usr/bin/xt-install-image rm -f ${prefix}/usr/bin/xt-create-xen-config rm -f ${prefix}/usr/bin/xen-create-nfs rm -f ${prefix}/usr/bin/xt-guess-suite-and-mirror rm -f ${prefix}/etc/xen-tools/xen-tools.conf rm -f ${prefix}/etc/xen-tools/distributions.conf rm -f ${prefix}/etc/xen-tools/mirrors.conf rm -f ${prefix}/etc/xen-tools/xm.tmpl -rm -rf ${prefix}/etc/xen-tools/skel -rmdir ${prefix}/etc/xen-tools/ -rm -f ${prefix}/etc/bash_completion.d/xen-tools # Maybe needed to remove older releases of xen-tools rm -rf ${prefix}/usr/lib/xen-tools rm -rf ${prefix}/usr/share/xen-tools rm -f ${prefix}/usr/share/man/man8/xen-create-image.8.gz rm -f ${prefix}/usr/share/man/man8/xen-delete-image.8.gz rm -f ${prefix}/usr/share/man/man8/xen-list-images.8.gz rm -f ${prefix}/usr/share/man/man8/xen-update-image.8.gz # # Update the local copy from the remote repository. # # NOTE: Removes empty local directories. # update: $(VCS) pull --update 2>/dev/null # # Update the module test - this is designed to automatically write test # cases to ensure that all required modules are available. # update-modules: @cd t && make modules # # Update the release number of each script we have from the variable # at the top of this file. Steve-Specific? # update-version: perl -pi.bak -e "s/RELEASE = '[0-9]\.[0-9][^']*';/RELEASE = '${VERSION}';/g" bin/*-*[!~] xen-tools-4.9.2/etc/0000755000175000017500000000000014370055613012275 5ustar abeabexen-tools-4.9.2/etc/xm.tmpl0000644000175000017500000000557714370055613013635 0ustar abeabe# # Configuration file for the Xen instance {$hostname}, created # by xen-tools {$xen_tools_version} on { scalar localtime }. # # # Kernel + memory size # { if ( ( $kernel ) && ( !defined($pygrub)) ) { $OUT .= "kernel = '$kernel'\n"; $OUT .= "extra = 'elevator=noop'"; } } { if ( ( $initrd ) && ( !defined($pygrub)) ) { $OUT.= "ramdisk = '$initrd'"; } } { if ( $pygrub ) { $OUT .= "bootloader = 'pygrub'\n"; } } vcpus = '{$vcpus}' memory = '{$memory}' { if ( $maxmem ) { $OUT .= "maxmem = '$maxmem'\n"; } } # # Disk device(s). # { if ( !defined($image_vbd ) ) { for ( my $i = $#PARTITIONS; $i >= 0 ; $i-- ) { if ( $PARTITIONS[$i]{'mountpoint'} eq '/' ) { $OUT .= "root = '/dev/$device" . ($i + 1) . " ro'\n"; } } $OUT .= "disk = [\n"; for ( my $i = $#PARTITIONS; $i >= 0 ; $i-- ) { if ( $PARTITIONS[$i]{'mountpoint'} eq '/' ) { $OUT .= " '$PARTITIONS[$i]{'imagetype'}$PARTITIONS[$i]{'image'},$device" . ( $i + 1 ) .",w',\n"; } } for ( my $i = $#PARTITIONS; $i >= 0 ; $i-- ) { if ( $PARTITIONS[$i]{'mountpoint'} ne '/' ) { $OUT .= " '$PARTITIONS[$i]{'imagetype'}$PARTITIONS[$i]{'image'},$device" . ( $i + 1 ) .",w',\n"; } } $OUT .= " ]\n"; } } # # Physical volumes # { if ( $image_vbd ) { $OUT .= "root = '/dev/$device" . "2 ro'\n"; $OUT .= "disk = [\n"; $OUT .= " '$image_vbd," . $device . "2,w',\n"; if ( $swap_vbd ) { $OUT .= " '$swap_vbd," . $device . "1,w',\n"; } $OUT .= " ]\n"; } } # # Hostname # name = '{$hostname}' # # Networking # { if ( $dhcp ) { $OUT .= "dhcp = 'dhcp'\n"; # Setup the mac address, if present. my $m = ''; if ( $mac ) { $m = "mac=$mac" } my $br = ''; if ( $bridge ) { if ( $mac ) { $br = ",bridge=$bridge" } else { $br = "bridge=$bridge" } } $OUT .= "vif = [ '"; $OUT .= "$m"; $OUT .= "$br"; $OUT .= "' ]"; } else { # # Setup the mac address, if present. # my $m = ''; if ( $mac ) { $m = ",mac=$mac" } my $vn = ''; if ( $vifname ) { $vn = ",vifname=$vifname"; } my $br = ''; if ( $bridge ) { $br = ",bridge=$bridge" } my $vl = ''; if ( $vlan ) { $vl = ".$vlan" } $OUT .= "vif = [ 'ip=$ips"; $OUT .= "$m"; $OUT .= "$vn"; $OUT .= "$br"; $OUT .= "' ]"; } } # # Behaviour # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' { if ( $admins ) { $OUT .= "xen_shell = '$admins'\n"; } } xen-tools-4.9.2/etc/xm-nfs.tmpl0000644000175000017500000000225314370055613014405 0ustar abeabe# # Configuration file for the Xen NFS-root instance {$hostname}. # Created by xen-tools {$xen_tools_version} on { scalar localtime }. # # # Common stuff. # { if ( $kernel ) { $OUT.= "kernel = '$kernel'"; } } { if ( $initrd ) { $OUT.= "ramdisk = '$initrd'"; } } memory = '{$memory}' { if ( $maxmem ) { $OUT .= "maxmem = '$maxmem'\n"; } } # Name name = '{$hostname}' hostname = '{$hostname}' # # Networking # { if ( $dhcp ) { $OUT .= "dhcp = 'dhcp'\n"; # Setup the mac address, if present. my $m = ''; if ( $mac ) { $m = "mac=$mac" } $OUT .= "vif = [ '$m' ]"; } else { # # Setup the mac address, if present. # my $m = ''; if ( $mac ) { $m = ",mac=$mac" } $OUT .= "vif = [ 'ip=$ip"; $OUT .= "$m' ]\n"; $OUT .= "ip = '$ip'\n"; $OUT .= "netmask = '$netmask'\n"; $OUT .= "broadcast = '$broadcast'\n"; $OUT .= "gateway = '$gateway'\n"; } } # NFS options nfs_server = '{ $nfs_server }' nfs_root = '{ $nfs_root }' root = '/dev/nfs' { if ( $admins ) { $OUT .= "xen_shell = '$admins'\n"; } }xen-tools-4.9.2/etc/mirrors.conf0000644000175000017500000000062614370055613014645 0ustar abeabe# xen-tools default mirror configuration file debian = http://deb.debian.org/debian debian_archive = http://archive.debian.org/debian ubuntu = http://archive.ubuntu.com/ubuntu ubuntu_archive = http://old-releases.ubuntu.com/ubuntu # # If you like, you can also declare per-release mirrors: # # sarge = http://debian.ethz.ch/debian-archive/debian # trusty = http://ubuntu.ethz,ch/ubuntu xen-tools-4.9.2/etc/xen-tools.conf0000644000175000017500000001653214370055613015103 0ustar abeabe## # /etc/xen-tools/xen-tools.conf ## # # This is the global configuration file for the scripts included # within the xen-tools package. # # For more details please see: # # https://xen-tools.org/ # ## ## # # File Format # ----------- # # Anything following a '#' character is ignored as a comment. # # Otherwise the format of this file "key = value". The value of # any keys in this file may be constructed via the output of a command. # # For example: # # kernel = /boot/vmlinuz-`uname -r` # ## # ## # Output directory for storing loopback images. # # If you choose to use loopback images, which are simple to manage but # slower than LVM partitions, then specify a directory here and uncomment # the line. # # New instances will be stored in subdirectories named after their # hostnames. # ## # dir = /home/xen # # ## # # If you don't wish to use loopback images then you may specify an # LVM volume group here instead # ## # lvm = vg0 # ## # # If you have ZFS available and wish to use it then you may specify a # ZFS pool name here instead # ## # zpool = xenpool0 # ## # # Installation method. # # There are four distinct methods which you may to install a new copy # of Linux to use in your Xen guest domain: # # - Installation via the debootstrap command. # - Installation via the rpmstrap command. # - Installation via the rinse command. # - Installation by copying a directory containing a previous installation. # - Installation by untarring a previously archived image. # # NOTE That if you use the "untar", or "copy" options you should ensure # that the image you're left with matches the 'dist' setting later in # this file. # # ## # # # install-method = [ debootstrap | rinse | rpmstrap | copy | tar ] # # install-method = debootstrap # # If you're using the "copy", or "tar" installation methods you must # need to specify the source location to copy from, or the source # .tar file to unpack. # # You may specify that with a line such as: # # install-source = /path/to/copy # install-source = /some/path/img.tar # # # ## # Command definitions. ## # # The "rinse", and "rpmstrap" commands are hardwired into # the script, but if you wish to modify the commands which are executed # when installing new systems by a "copy", "debootstrap", or "tar" method # you can do so here: # # (This allows you to install from a .tar.bz file, rather than a plain # tar file, use cdebootstrap, etc.) # # install-method = copy: # copy-cmd = /bin/cp -a $src/* $dest # # install-method = debootstrap: # debootstrap-cmd = /usr/sbin/debootstrap # # install-method = tar: # tar-cmd = /bin/tar --numeric-owner -xvf $src # # # ## # Disk and Sizing options. ## # size = 4G # Root disk, suffix (G, M, k) required memory = 256M # Suffix (G, M, k) required #maxmem = 2G # Suffix (G, M, k) optional swap = 512M # Suffix (G, M, k) required # noswap = 1 # Don't use swap at all for new systems. fs = ext4 # Default file system for any disk dist = `xt-guess-suite-and-mirror --suite` # Default distribution is determined by Dom0's distribution image = sparse # Specify sparse vs. full disk images (file based images only) # # See the README for currently supported and tested distributions. You can # either find it in the root directory of the unpacked source or, on Debian # and Ubuntu based systems, in /usr/share/doc/xen-tools/README.gz # ## # Networking setup values. ## # # Uncomment and adjust these network settings if you wish to give your # new instances static IP addresses. # # gateway = 192.168.1.1 # netmask = 255.255.255.0 # broadcast = 192.168.1.255 # # Uncomment this if you wish the images to use DHCP # # dhcp = 1 # # Uncomment and adjust this setting if you wish to give your new # instances a specific nameserver. # # By default, nameserver is not set, and Dom0's /etc/resolv.conf will # be copied to guest. # # nameserver = 192.168.1.1 # # # Setup bridge name for host vif. Useful if you use bridged networking # for guests. # # bridge = xendmz # ## # Misc options ## # # Uncomment the following line if you wish to disable the caching # of downloaded .deb files when using debootstrap to install images. # # cache = no # # # The default cachedir is, /var/cache/apt/archives/, however if it # does not exist it will default to /var/cache/xen-tools/archives/ # Uncomment the line below to set it to something else. # # cachedir = /var/cache/xen-tools/archives/ # # # Uncomment the following line if you wish not to generate a new root # password for the new guest. # # genpass = 0 # # # You can also change the password length by uncommenting and # changing the line below # # genpass_len = 8 # # # You can yet change the hashing method to encrypt the generated # password by changing the line below. # Valid values : md5, sha256 and sha512. # # hash_method = sha256 # # # Uncomment the following line if you wish to interactively setup a # new root password for images. # # passwd = 1 # # # If you'd like all accounts on your host system which are not present # on the guest system to be copied over then uncomment the following line. # # accounts = 1 # # # Default kernel and ramdisk to use for the virtual servers # kernel = /boot/vmlinuz-`uname -r` initrd = /boot/initrd.img-`uname -r` # # Uncomment the following line if you wish to use pygrub by default # for all distributions. # # pygrub = 1 # # # The architecture to use when using debootstrap, rinse, or rpmstrap. # # This is most useful on 64 bit host machines, for other systems it # doesn't need to be used. # # arch = [i386|amd64] # # # Use the mirror configured on the DomU as default mirror # # mirror = `xt-guess-suite-and-mirror --mirror` # If this is defined it will be used by debootstrap, and configured as the # proxy for the guest # # apt_proxy = # # Filesystem options for the different filesystems we support. # ext4_options = noatime,nodiratime,errors=remount-ro ext3_options = noatime,nodiratime,errors=remount-ro ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults # # Uncomment if you wish newly created images to boot once they've been # created. # # boot = 1 # # If you're using the lenny or later version of the Xen guest kernel you will # need to make sure that you use 'hvc0' for the guest serial device, # and 'xvdX' instead of 'sdX' for disk devices. # # You may specify the things to use here: # # serial_device = hvc0 #default # serial_device = tty1 # # disk_device = xvda #default # disk_device = sda # # # Here we specify the output directory which the Xen configuration # files will be written to, and the suffix to give them. # # Historically xen-tools have created configuration files in /etc/xen, # and given each file the name $hostname.cfg. If you want to change # that behaviour you may do so here. # # # output = /etc/xen # extension = .cfg # # # Here you can control weather your dom0's /etc/hosts file should be # appended with the new guest, and also if your dom0's /etc/hosts file # should be copied to the new guest. # # Change the following options to 1 to set them # nohosts - don't touch the dom0's /etc/hosts file # copyhosts - copy the dom0's /etc/hosts to the guest # # by default new guests ARE added to the dom0's /etc/hosts file # nohosts = 0 # default # # by default the dom0's /etc/hosts IS NOT copied # copyhosts = 0 # default # xen-tools-4.9.2/etc/distributions.conf0000644000175000017500000000447214370055613016055 0ustar abeabe# xen-tools configuration file for distribution meta data # # Syntax: # # codename = distribution and further keywords # # Known distributions: debian, ubuntu # Known keywords: eol, pygrub, default-keyring, dont-test # Known generic keywords: *.gpg (uses the according /usr/share/keyrings/….gpg file) # sarge = debian eol dont-test etch = debian eol lenny = debian eol squeeze = debian eol default-keyring wheezy = debian eol jessie = debian eol stretch = debian pygrub buster = debian pygrub bullseye = debian pygrub bookworm = debian pygrub trixie = debian pygrub dont-test forky = debian pygrub dont-test sid = debian pygrub testing = debian pygrub oldoldstable = debian dont-test oldstable = debian pygrub stable = debian pygrub unstable = debian pygrub # Between at least debootstrap 1.0.37 and 1.0.93 (including), dapper # and edgy may need manual adjustments in debootstrap's configuration, # see https://bugs.debian.org/659360 dapper = ubuntu eol edgy = ubuntu eol feisty = ubuntu eol gutsy = ubuntu eol hardy = ubuntu eol intrepid = ubuntu eol jaunty = ubuntu eol karmic = ubuntu eol lucid = ubuntu eol pygrub maverick = ubuntu eol pygrub natty = ubuntu eol pygrub oneiric = ubuntu eol pygrub precise = ubuntu eol pygrub ubuntu-archive-removed-keys.gpg quantal = ubuntu eol pygrub raring = ubuntu eol pygrub saucy = ubuntu eol pygrub trusty = ubuntu pygrub utopic = ubuntu eol pygrub vivid = ubuntu eol pygrub wily = ubuntu eol pygrub xenial = ubuntu pygrub yakkety = ubuntu eol pygrub zesty = ubuntu eol pygrub ubuntu-keyring-2012-archive.gpg artful = ubuntu eol pygrub ubuntu-archive-keyring.gpg bionic = ubuntu pygrub cosmic = ubuntu eol pygrub ubuntu-archive-keyring.gpg disco = ubuntu eol pygrub ubuntu-archive-keyring.gpg eoan = ubuntu eol pygrub ubuntu-archive-keyring.gpg focal = ubuntu pygrub groovy = ubuntu eol pygrub hirsute = ubuntu eol pygrub impish = ubuntu eol pygrub jammy = ubuntu pygrub kinetic = ubuntu pygrub lunar = ubuntu pygrub dont-test devel = ubuntu pygrub dont-test