Compare commits
2 Commits
release-4.
...
proper-del
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a81f9ddb5 | ||
|
|
e1a620237a |
13
KNOWN_BUGS
13
KNOWN_BUGS
@@ -1,13 +0,0 @@
|
|||||||
KNOWN BUGS in xen-tools
|
|
||||||
|
|
||||||
Bugs to fix before a 4.2 release
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
* xen-delete-image doesn't remove all logical volumes if --partitions is used.
|
|
||||||
|
|
||||||
See the link below for details how to reproduce. Reproducable at
|
|
||||||
least with --lvm. Thanks to Antoine Benkemoun for reporting.
|
|
||||||
|
|
||||||
http://xen-tools.org/pipermail/xen-tools-discuss/2010-May/000757.html
|
|
||||||
|
|
||||||
* xen-delete-image ignores extension setting
|
|
||||||
4
Makefile
4
Makefile
@@ -14,7 +14,7 @@
|
|||||||
#
|
#
|
||||||
TMP ?= /tmp
|
TMP ?= /tmp
|
||||||
DIST_PREFIX = ${TMP}
|
DIST_PREFIX = ${TMP}
|
||||||
VERSION = 4.2beta1
|
VERSION = 4.2rc1
|
||||||
DEBVERSION = $(shell echo $(VERSION)|sed 's/\(rc\|pre\|beta\|alpha\)/~\1/')
|
DEBVERSION = $(shell echo $(VERSION)|sed 's/\(rc\|pre\|beta\|alpha\)/~\1/')
|
||||||
BASE = xen-tools
|
BASE = xen-tools
|
||||||
VCS = $(shell if git st > /dev/null; then echo git; \
|
VCS = $(shell if git st > /dev/null; then echo git; \
|
||||||
@@ -313,4 +313,4 @@ update-modules:
|
|||||||
# at the top of this file. Steve-Specific?
|
# at the top of this file. Steve-Specific?
|
||||||
#
|
#
|
||||||
update-version:
|
update-version:
|
||||||
perl -pi.bak -e "s/RELEASE = '[0-9]\.[0-9][^']*';/RELEASE = '${VERSION}';/g" bin/*-*[!~]
|
perl -pi.bak -e "s/RELEASE = '[0-9]\.[0-9][^']*';/RELEASE = '${VERSION}';/g" bin/*-*[^~]
|
||||||
|
|||||||
16
TODO
16
TODO
@@ -1,10 +1,8 @@
|
|||||||
TODO
|
TODO
|
||||||
====
|
====
|
||||||
|
|
||||||
See KNOWN_BUGS for real bugs.
|
Bugs to fix and Features to add before a 4.2 release
|
||||||
|
----------------------------------------------------
|
||||||
Minor bugs to fix and features to add before a 4.2 release
|
|
||||||
----------------------------------------------------------
|
|
||||||
|
|
||||||
* xen-create-image man page overhaul:
|
* xen-create-image man page overhaul:
|
||||||
|
|
||||||
@@ -24,12 +22,22 @@ Minor bugs to fix and features to add before a 4.2 release
|
|||||||
in the domU, it's key fingerprint should be echo'd in a way that
|
in the domU, it's key fingerprint should be echo'd in a way that
|
||||||
can easily be grep'ed into other scripts.
|
can easily be grep'ed into other scripts.
|
||||||
|
|
||||||
|
|
||||||
* Test and support more file system types.
|
* Test and support more file system types.
|
||||||
|
|
||||||
Actually this should be pretty simple now that the parameters are
|
Actually this should be pretty simple now that the parameters are
|
||||||
stored in the configuration hash. The only issue is that trailing
|
stored in the configuration hash. The only issue is that trailing
|
||||||
whitespace is missing from the "make_fs_foo" option.
|
whitespace is missing from the "make_fs_foo" option.
|
||||||
|
|
||||||
|
* xen-delete-image doesn't remove all logical volumes if --partitions is used.
|
||||||
|
|
||||||
|
See the link below for details how to reproduce. Reproducable at
|
||||||
|
least with --lvm. Thanks to Antoine Benkemoun for reporting.
|
||||||
|
|
||||||
|
http://xen-tools.org/pipermail/xen-tools-discuss/2010-May/000757.html
|
||||||
|
|
||||||
|
* xen-delete-image ignores extension setting
|
||||||
|
|
||||||
* xen-create-image should check all integer options on non-digits.
|
* xen-create-image should check all integer options on non-digits.
|
||||||
|
|
||||||
* Test suite should pass
|
* Test suite should pass
|
||||||
|
|||||||
@@ -754,7 +754,7 @@ my $FAIL = 0;
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ $CONFIG{ 'template' } = '/etc/xen-tools/xm-nfs.tmpl';
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
# store version number away.
|
# store version number away.
|
||||||
|
|||||||
@@ -169,8 +169,7 @@ my %CONFIG;
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -220,7 +219,21 @@ while ( my $name = shift )
|
|||||||
{
|
{
|
||||||
if ( !xenRunning($name) )
|
if ( !xenRunning($name) )
|
||||||
{
|
{
|
||||||
deleteXenImage($name);
|
#
|
||||||
|
# Partition layout information values read from the
|
||||||
|
# partitions file, or constructed automatically if no
|
||||||
|
# partitions file is specified.
|
||||||
|
#
|
||||||
|
|
||||||
|
my @PARTITIONS = undef;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check for partitions to delete by reading the DomU's
|
||||||
|
# configuration file
|
||||||
|
#
|
||||||
|
my @PARTITIONS = findPartitions($host
|
||||||
|
|
||||||
|
deleteXenImage($name, @PARTITIONS);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -449,6 +462,70 @@ sub xenRunning
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=begin doc
|
||||||
|
|
||||||
|
Read the (usually to be deleted) DomU configuration file specified
|
||||||
|
and returns the list of used partitions found in the file.
|
||||||
|
|
||||||
|
=end doc
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub findPartitions
|
||||||
|
{
|
||||||
|
my ($hostname) = (@_);
|
||||||
|
my $file = "/etc/xen/$hostname.cfg";
|
||||||
|
|
||||||
|
if ( -e $file )
|
||||||
|
{
|
||||||
|
open( FILE, "<", $file ) or die "Cannot read file '$file' - $!";
|
||||||
|
|
||||||
|
my $line = "";
|
||||||
|
my $contents = "";
|
||||||
|
|
||||||
|
while ( defined( $line = <FILE> ) )
|
||||||
|
{
|
||||||
|
chomp $line;
|
||||||
|
if ( $line =~ s/\\$// )
|
||||||
|
{
|
||||||
|
$line .= <FILE>;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
$contents .= $line;
|
||||||
|
}
|
||||||
|
|
||||||
|
close(FILE);
|
||||||
|
|
||||||
|
if ($contents =~ /\ndisk\s*=\s*\[\s*(.*?)\s*\]\s*\n/) {
|
||||||
|
my $disks = $1;
|
||||||
|
my @disks = split(/\n/, $disks);
|
||||||
|
foreach (@disks) {
|
||||||
|
s/^\s*'phy:(.*),\w*,\w*',\s*$/$1/;
|
||||||
|
}
|
||||||
|
return @disks;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
warn "Couldn't find $file. May start guessing based on further parameters.\n";
|
||||||
|
return qw(GUESSING);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
=begin doc
|
=begin doc
|
||||||
|
|
||||||
Delete the named image, and the corresponding configuration file
|
Delete the named image, and the corresponding configuration file
|
||||||
@@ -460,7 +537,11 @@ sub xenRunning
|
|||||||
|
|
||||||
sub deleteXenImage
|
sub deleteXenImage
|
||||||
{
|
{
|
||||||
my ($hostname) = (@_);
|
my $hostname = shift;
|
||||||
|
my @partitions = @_;
|
||||||
|
my $guessing = ($#partitions == 0 and $partitions[0] eq 'GUESSING');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Collect the names of files to delete.
|
# Collect the names of files to delete.
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ $CONFIG{ 'prefix' } = "/etc/xen";
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ my %CONFIG;
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ my %CONFIG;
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ $CONFIG{ 'template' } = '/etc/xen-tools/xm.tmpl';
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ my %CONFIG;
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ use strict;
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
# Init
|
# Init
|
||||||
my $mirror = '';
|
my $mirror = '';
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ my %CONFIG;
|
|||||||
#
|
#
|
||||||
# Release number.
|
# Release number.
|
||||||
#
|
#
|
||||||
my $RELEASE = '4.2beta1';
|
my $RELEASE = '4.2rc1';
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
3
debian/changelog
vendored
3
debian/changelog
vendored
@@ -1,4 +1,4 @@
|
|||||||
xen-tools (4.2~beta1-1) UNRELEASED; urgency=low
|
xen-tools (4.2~rc1-1) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* New maintainer and upstream authors
|
* New maintainer and upstream authors
|
||||||
* Reintroduction into Debian Unstable (Closes: #566714)
|
* Reintroduction into Debian Unstable (Closes: #566714)
|
||||||
@@ -41,7 +41,6 @@ xen-tools (4.2~beta1-1) UNRELEASED; urgency=low
|
|||||||
- Checks for debootstrap and cdebootstrap, uses debootstrap if both
|
- Checks for debootstrap and cdebootstrap, uses debootstrap if both
|
||||||
are installed (Changed "Depends: debootstrap" to "Depends:
|
are installed (Changed "Depends: debootstrap" to "Depends:
|
||||||
debootstrap | cdebootstrap" in debian/control)
|
debootstrap | cdebootstrap" in debian/control)
|
||||||
- Added new files TODO and KNOWN_BUGS to debian/docs.
|
|
||||||
* Removal of /etc/bash_completion.d/xm from the package since
|
* Removal of /etc/bash_completion.d/xm from the package since
|
||||||
bash-completion ships a more elaborate version of that file. (Closes:
|
bash-completion ships a more elaborate version of that file. (Closes:
|
||||||
#566683, #550590, LP: #538917, #484098)
|
#566683, #550590, LP: #538917, #484098)
|
||||||
|
|||||||
3
debian/docs
vendored
3
debian/docs
vendored
@@ -2,5 +2,4 @@ AUTHORS
|
|||||||
README
|
README
|
||||||
SUPPORT
|
SUPPORT
|
||||||
BUGS
|
BUGS
|
||||||
TODO
|
TODO
|
||||||
KNOWN_BUGS
|
|
||||||
80
t/modules.t
Executable file
80
t/modules.t
Executable file
@@ -0,0 +1,80 @@
|
|||||||
|
#!/usr/bin/perl -w -I..
|
||||||
|
#
|
||||||
|
# Test that all the Perl modules we require are available.
|
||||||
|
#
|
||||||
|
# This list is automatically generated by modules.sh
|
||||||
|
#
|
||||||
|
# Steve
|
||||||
|
# --
|
||||||
|
#
|
||||||
|
|
||||||
|
use Test::More qw( no_plan );
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'Carp' ); }
|
||||||
|
require_ok( 'Carp' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'Config' ); }
|
||||||
|
require_ok( 'Config' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'Digest::MD5' ); }
|
||||||
|
require_ok( 'Digest::MD5' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'English' ); }
|
||||||
|
require_ok( 'English' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'Env' ); }
|
||||||
|
require_ok( 'Env' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'File::Copy' ); }
|
||||||
|
require_ok( 'File::Copy' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'File::Find' ); }
|
||||||
|
require_ok( 'File::Find' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'File::Path' ); }
|
||||||
|
require_ok( 'File::Path' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'File::Slurp' ); }
|
||||||
|
require_ok( 'File::Slurp' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'File::Spec' ); }
|
||||||
|
require_ok( 'File::Spec' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'File::Temp' ); }
|
||||||
|
require_ok( 'File::Temp' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'Getopt::Long' ); }
|
||||||
|
require_ok( 'Getopt::Long' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'Pod::Usage' ); }
|
||||||
|
require_ok( 'Pod::Usage' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'strict' ); }
|
||||||
|
require_ok( 'strict' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'Test::More' ); }
|
||||||
|
require_ok( 'Test::More' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'Text::Template' ); }
|
||||||
|
require_ok( 'Text::Template' );
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{ use_ok( 'warnings' ); }
|
||||||
|
require_ok( 'warnings' );
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user