1
0
mirror of synced 2026-02-20 05:45:15 +00:00

Compare commits

...

42 Commits

Author SHA1 Message Date
Axel Beckert
846266eedb Mention Alexander Mette in the changelog as he also sent a patch for #652110, just upstream 2012-05-08 00:11:23 +02:00
Axel Beckert
b5175f6f3b Properly set $FAIL instead of just calling die() 2012-05-08 00:09:09 +02:00
Axel Beckert
7a01a08aa4 Replace tabs with spaces 2012-05-07 23:06:29 +02:00
Axel Beckert
57e6d5d480 Use $ips instead of $IP_ADDRESSES to keep variable names consistent
Update t/xt-create-xen-config.t to cope with the new variable
2012-05-07 23:06:21 +02:00
Axel Beckert
cfd615b62d Mention Vagrant Cascadian's patch in the changelog 2012-05-07 22:18:34 +02:00
Vagrant Cascadian
81656a9ef5 only attempt to generate the ssh host keys if not already present 2012-05-07 22:16:39 +02:00
Axel Beckert
f4103617e6 Update README and long description in debian/control for new releases 2012-05-07 22:00:03 +02:00
Axel Beckert
ce626e3e9f Add dependency on openssh-client for ssh-keygen (Closes: #649108) 2012-05-07 21:50:36 +02:00
Axel Beckert
3e44a19a66 xt-guess-suite-and-mirror exits with non-zero if no proper mirror could be found 2012-05-07 21:42:03 +02:00
Axel Beckert
a9aea889d8 Support sources.list.d (i.e. when no sources.list exists; closes #650300) 2012-05-07 21:33:40 +02:00
Axel Beckert
f55461b1bc Mention Brian Bennett's fix in the Debian changelog 2012-05-07 21:22:36 +02:00
Brian Bennett
89e9a54b06 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)
2012-05-07 21:18:36 +02:00
Axel Beckert
e808f3989a Merge branch '4.2' of gitorious.org:xen-tools/xen-tools into 4.2
Conflicts:
	debian/changelog
2012-04-24 19:55:03 +02:00
Axel Beckert
d8561d4b7d Preliminary support for Ubuntu 12.10 Quantal Quetzal 2012-04-24 19:51:01 +02:00
Axel Beckert
f2e97be786 Reorder Debian changelog entry 2012-03-30 18:58:11 +02:00
Axel Beckert
359a6c13f0 Debian package: Fix lintian warning debian-rules-missing-recommended-target 2012-03-30 18:43:47 +02:00
Axel Beckert
4c7e7d8134 Debian package: Bump Standards-Version to 3.9.3 2012-03-30 18:41:53 +02:00
Axel Beckert
e1ff891a24 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
2012-03-30 17:49:38 +02:00
Axel Beckert
09179f2dea Support Ubuntu 12.04 LTS Precise, update mirrors for discontinued releases 2012-03-30 17:22:59 +02:00
Axel Beckert
0d1bc0e61c Workaround for missing unit parsing in xen-create-nfs (Closes: #648814) 2011-11-15 23:45:35 +01:00
Axel Beckert
1725e269cf Fix wildcard vs regexp in memory configuration parsing. 2011-11-15 22:33:15 +01:00
Axel Beckert
858b47dc2a Also mention oneiric in the xen-tools.conf inline documentation 2011-09-14 19:38:51 +02:00
Axel Beckert
e9f968c322 More stuff necessary for Ubuntu Oneiric support 2011-09-13 17:23:18 +02:00
Axel Beckert
9921c9a3e8 TODO: xen-create-image doesn't unmount the tempdir properly if /proc wasn't mounted inside 2011-09-13 16:39:30 +02:00
Axel Beckert
be09f2fbf2 Fix Lintian warning copyright-refers-to-symlink-license. 2011-09-13 16:26:22 +02:00
Axel Beckert
85d8a3b338 Support Ubuntu 11.10 Oneiric (LP: #848654) 2011-09-13 16:10:09 +02:00
Axel Beckert
8206a3c4be Mention fixed bug around disk_device in changelog 2011-04-19 23:47:26 +02:00
Axel Beckert
7dd416a57a Document valid values for serialDev and diskDev more precise 2011-04-19 23:16:20 +02:00
Dmitry Nedospasov
31ce92ed7a Minor fix: disk_device check 2011-04-19 23:04:27 +02:00
Stéphane Jourdois
f993b86060 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.
2011-04-19 23:04:13 +02:00
Axel Beckert
d61d55baef Bump version to 4.2.1+dev for now 2011-03-17 02:59:28 +01:00
Axel Beckert
870ec1adac Call it a release (4.2.1) 2011-03-17 01:23:55 +01:00
Axel Beckert
8bd3206eff Unmount /proc and /dev/pts just before unmounting the disk image (Closes: #588783) 2011-03-17 01:23:15 +01:00
Axel Beckert
5bace3a7e2 Add new commandline option syntax check ipv4_or_auto (Closes: #611407) 2011-03-17 01:23:15 +01:00
Axel Beckert
cf9b356e6d tab -> 8 blanks 2011-03-17 01:23:15 +01:00
Axel Beckert
423ea8157d Mention Guillaume Pernot and his fix in AUTHORS and debian/changelog 2011-03-17 01:23:14 +01:00
Axel Beckert
0ba1ec6f55 Fix sarge amd64 mirror URL (it's now on archive.debian.org, too) 2011-03-17 01:23:14 +01:00
Guillaume Pernot
bfc8051b10 Fix installation of Sarge i386 on amd64 host (Closes: #611397) 2011-03-17 01:23:14 +01:00
Axel Beckert
c2b16e9a50 Mention Raphaël Halimi and his fix in AUTHORS and debian/changelog 2011-03-17 01:23:13 +01:00
Raphaël HALIMI
754e1c7c0c Fix role script editor crashes with dash (Closes: #605203) 2011-03-17 01:23:13 +01:00
Stéphane Jourdois
47bdce47d4 4.2 has been released
Move KNOWN_BUGS items to 4.3
2011-03-17 01:23:13 +01:00
Axel Beckert
7584bac380 Bump version to 4.2+dev for now, not sure if there will be a 4.2.1 or 4.3 next, maybe both 2011-03-17 01:23:13 +01:00
28 changed files with 250 additions and 92 deletions

View File

@@ -33,6 +33,9 @@ Contributions
Stefan Fritsch <sf [at] de.sfritsch>
- Contributed the policy-rc.d fixups for common.sh
Raphaël Halimi <raphael.halimi [at] com.gmail>
- Contribute bashism fix
Sven Hertge <sven [at] de.svenhartge>
- Bugfix for Debian/Gentoo package installation.
@@ -62,6 +65,9 @@ Contributions
Nathan O'Sullivan <nathan [at] au.com.mammoth>
- New features wrt. options and helper functions
Guillaume Pernot <gpernot [at] org.praksys>
- Fixed Sarge amd64 special case
Walter Reiner <walter [at] at.wreiner>
- Provided --image-dev + --swap-dev patch.

View File

@@ -1,6 +1,6 @@
KNOWN BUGS in xen-tools
Bugs to fix before a 4.2 release
Bugs to fix before a 4.3 release
--------------------------------
* xen-delete-image doesn't remove all logical volumes if --partitions is used.
@@ -11,3 +11,5 @@ Bugs to fix before a 4.2 release
http://xen-tools.org/pipermail/xen-tools-discuss/2010-May/000757.html
* xen-delete-image ignores extension setting
* xen-create-image doesn't unmount the tempdir properly if /proc wasn't mounted inside

View File

@@ -14,7 +14,7 @@
#
TMP ?= /tmp
DIST_PREFIX = ${TMP}
VERSION = 4.2
VERSION = 4.2.1+dev
DEBVERSION = $(shell echo $(VERSION)|sed 's/\(rc\|pre\|beta\|alpha\)/~\1/')
BASE = xen-tools
VCS = $(shell if git ls-files > /dev/null; then echo git; \
@@ -188,6 +188,9 @@ install-hooks:
-cd ${prefix}/usr/lib/xen-tools/ && ln -s karmic.d lucid.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s karmic.d maverick.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s karmic.d natty.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s karmic.d oneiric.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s karmic.d precise.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s karmic.d quantal.d
cp hooks/common.sh ${prefix}/usr/lib/xen-tools

9
README
View File

@@ -29,7 +29,7 @@ About:
* Etch 4.0
* Lenny 5.0
* Squeeze 6.0
* Wheezy 7.0 (preliminary support as it's not yet available)
* Wheezy 7.0
* Sid (works at least at the moment of writing :-)
Ubuntu:
@@ -42,8 +42,11 @@ About:
* Jaunty Jackaplope 9.04
* Karmic Koala 9.10
* Lucid Lynx 10.04
* Maverick Meerkat 10.10 (works at least at the moment of writing :-)
* Natty Narwhal 11.04 (preliminary support as it's not yet available)
* Maverick Meerkat 10.10
* Natty Narwhal 11.04
* Oneiric Ocelot 11.10
* Precise Pangolin 12.04
* Quantal Quetzal 12.10 (preliminary support as it's not yet available)
[1] There is an issue with debootstrap on hardy not installing ksyslogd
This can be fixed by chrooting into the newly installed system

13
TODO
View File

@@ -28,6 +28,19 @@ Bugs to fix and features to add for 5.0
are examples, and shouldn't cover every single scenario. They
are also easy to write.
* Think again about disk_device checks :
Newer Xen provides "xvda", older provided "sda". The current check for
valid values of disk_device (used for root device in domU /etc/fstab)
does only allow those values.
This forbids any deployment of LVM/RAID _inside_ domU, which cannot
be created by xen-tools anyway. So the current check is fine with the
current possibilities of xen-tools, but could become a limitation.
- Is it possible/wanted to "query" xend for default device names ?
- Is it possible to create /dev/mapper devices with xend conf ?
- Can we just avoid to ask for this value and not specify the device
in /etc/fstab (and use /dev/root, /dev/by-uuid, or anything ?)
* xen-create-image --dist=... / sources.list generation should be more fine-grained
xen-tools should offer the possibility to enable/disable

View File

@@ -806,7 +806,7 @@ my $FAIL = 0;
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';
#
@@ -1251,7 +1251,7 @@ sub testXenConfig
# Read the configuration file.
#
open( CONFIG, "<", "/etc/xen/xend-config.sxp" ) or
die "Failed to read /etc/xen/xend-config.sxp: $!";
fail("Failed to read /etc/xen/xend-config.sxp: $!");
while (<CONFIG>)
{
next if ( !$_ || !length($_) );
@@ -1351,17 +1351,17 @@ sub setupDefaultOptions
$CONFIG{ 'mirror' } = '';
# Initialize per distribution mirror defaults: Debian
foreach my $debdist (qw(lenny squeeze wheezy sid testing stable unstable)) {
foreach my $debdist (qw(squeeze wheezy sid testing oldstable stable unstable)) {
$CONFIG{ 'mirror_'.$debdist } = $CONFIG{ 'mirror' }
}
foreach my $debdist (qw(sarge etch)) {
foreach my $debdist (qw(sarge etch lenny)) {
$CONFIG{ 'mirror_'.$debdist } = 'http://archive.debian.org/debian';
}
# Initialize per distribution mirror defaults: Ubuntu
foreach my $ubuntudist (qw(dapper hardy jaunty karmic lucid maverick natty)) {
foreach my $ubuntudist (qw(dapper hardy lucid natty oneiric precise quantal)) {
$CONFIG{ 'mirror_'.$ubuntudist } = 'http://archive.ubuntu.com/ubuntu';
}
foreach my $ubuntudist (qw(edgy feisty gutsy intrepid)) {
foreach my $ubuntudist (qw(edgy feisty gutsy intrepid jaunty karmic maverick)) {
$CONFIG{ 'mirror_'.$ubuntudist } = 'http://old-releases.ubuntu.com/ubuntu';
}
$CONFIG{ 'arch' } = '';
@@ -1451,7 +1451,7 @@ sub readConfigurationFile
my $line = "";
open( FILE, "<", $file ) or die "Cannot read file '$file' - $!";
open( FILE, "<", $file ) or fail("Cannot read file '$file' - $!");
while ( defined( $line = <FILE> ) )
{
@@ -1550,16 +1550,20 @@ sub checkOption
},
serialDev => {
check => qr/^(?:\/dev\/)?(?:tty|[xh]vc)[0-9]+$/,
message => "must be a serial device (tty*, hvc* or xvc*).\n",
message => "must be a serial device (tty[0-9]+, hvc[0-9]+ or xvc[0-9]+).\n",
},
diskDev => {
check => qr/^(?:\/dev\/)?(?:tty|hvc)[0-9]+$/,
message => "must be a disk device (tty*, hvc*).\n",
check => qr/^(?:\/dev\/)?(?:xvd|sd)[a-z]+$/,
message => "must be a disk device (xvd[a-z]+, sd[a-z]+).\n",
},
ipv4 => {
check => qr/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
message => "must be valid IPv4.\n",
},
ipv4_or_auto => {
check => qr/^(?:auto|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$/,
message => "must be valid IPv4 or the keyword 'auto'.\n",
},
hostname => {
check => qr/^[a-z0-9][a-z0-9.-]{0,254}$/i,
message => "must be a valid hostname.\n",
@@ -1624,7 +1628,7 @@ sub checkOption
output => 'existingDir',
extension => 'filename',
mac => 'mac',
ip => 'ipv4',
ip => 'ipv4_or_auto',
hash_method => 'hashMethod',
);
@@ -1636,7 +1640,7 @@ sub checkOption
my $type = $optionsTypes{ $option };
# First, check if type exists
die unless exists $types{ $type };
fail("Type $type does not exist") unless exists $types{ $type };
my $check = $types{ $type }{ 'check' };
if (
@@ -1644,10 +1648,15 @@ sub checkOption
(ref $check eq 'CODE' and &$check( $value ) )
) {
# Option did validate, copy it
$CONFIG{ $option } = $value;
if ( $option eq "ip" )
{
push @{ $CONFIG{ $option } }, $value;
} else {
$CONFIG{ $option } = $value;
}
} else {
# Option did _not_ validate
die "ERROR: '$option' argument " . $types{ $type }{ 'message' };
fail("ERROR: '$option' argument " . $types{ $type }{ 'message' });
}
}
}
@@ -1909,7 +1918,7 @@ sub checkArguments
#
# Lucid and probably all later Ubuntus, too, don't work without pygrub
#
if ( $CONFIG{ 'dist' } =~ /lucid|maverick|natty/ )
if ( $CONFIG{ 'dist' } =~ /lucid|maverick|natty|oneiric|precise|quantal/ )
{
$CONFIG{ 'pygrub' } = 1;
}
@@ -1918,9 +1927,10 @@ sub checkArguments
# Sarge amd64 needs different default mirror
#
if ( $CONFIG{ 'dist' } =~ /sarge/ and
$CONFIG{ 'arch' } =~ /amd64/ and
$CONFIG{ 'mirror_sarge' } eq 'http://archive.debian.org/debian' )
{
$CONFIG{ 'mirror_sarge' } = 'http://amd64.debian.net/debian';
$CONFIG{ 'mirror_sarge' } = 'http://archive.debian.org/debian-amd64';
}
#
@@ -2930,7 +2940,7 @@ sub createLoopbackImages
eval {mkpath( $output, 0, 0755 );};
if ($@)
{
die "Cannot create directory tree $output - $@";
fail("Cannot create directory tree $output - $@");
}
}
@@ -3727,12 +3737,6 @@ sub runCustomisationHooks
} else {
unlink "$MOUNT_POINT/etc/resolv.conf";
}
#
# Unmount /proc and /dev/pts in the guest install.
#
runCommand("umount $MOUNT_POINT/proc");
runCommand("umount $MOUNT_POINT/dev/pts");
}
@@ -3755,7 +3759,7 @@ sub findIP
# Open and read the file.
#
open( RANGE, "<", $CONFIG{ 'ipfile' } ) or
die "Failed to read $CONFIG{'ipfile'} - $!";
fail("Failed to read $CONFIG{'ipfile'} - $!");
my @lines = <RANGE>;
my @updated;
close(RANGE);
@@ -3786,7 +3790,7 @@ sub findIP
# Now write out the new entries.
#
open( RANGE, ">", $CONFIG{ 'ipfile' } ) or
die "Failed to write to $CONFIG{'ipfile'} - $!";
fail("Failed to write to $CONFIG{'ipfile'} - $!");
print RANGE join( "\n", @updated );
close(RANGE);
@@ -3985,6 +3989,12 @@ sub runXenConfigCreation
$command .= " --admins=$CONFIG{'admins'}";
}
#
# Make sure the template gets a list of all IPs
#
$ENV{ 'ips' } = $IP_ADDRESSES;
logprint("\nCreating Xen configuration file\n");
runCommand($command);
logprint("Done\n");
@@ -4053,7 +4063,7 @@ sub setupRootPassword
}
else
{
die "oops... unknown hashing method, should not happen!";
fail("oops... unknown hashing method, should not happen!");
}
my $hash = crypt($PASSWORD, $hash_method . $salt);
@@ -4064,8 +4074,8 @@ sub setupRootPassword
#
my $tmp_shadow_path = "$shadow_path.tmp";
cp("$shadow_path","$tmp_shadow_path");
open(TMP, "<", $tmp_shadow_path) or die $!;
open(SHADOW, ">", $shadow_path) or die $!;
open(TMP, "<", $tmp_shadow_path) or fail($!);
open(SHADOW, ">", $shadow_path) or fail($!);
my $line;
while(defined($line = <TMP>))
{
@@ -4106,6 +4116,23 @@ sub generatePassword {
}
=begin doc
Properly set $FAIL on die
=end doc
=cut
sub fail
{
logprint(@_);
$FAIL = 1;
exit 127;
}
=begin doc
Print the given string to the logfile.
@@ -4261,6 +4288,12 @@ sub unMountImage
{
my ($point) = (@_);
#
# First we unmount /proc and /dev/pts in the guest install.
#
runCommand("umount $MOUNT_POINT/proc");
#runCommand("umount $MOUNT_POINT/dev/pts");
#
# Open /proc/mount and get a list of currently mounted paths
# which begin with our mount point.

View File

@@ -131,7 +131,7 @@ $CONFIG{ 'template' } = '/etc/xen-tools/xm-nfs.tmpl';
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';
# store version number away.
@@ -380,6 +380,30 @@ sub testArguments
die "Missing NFS root." unless ( $CONFIG{ 'nfs_root' } );
# Shorthack to fix http://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.
}

View File

@@ -171,7 +171,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';

View File

@@ -101,7 +101,7 @@ $CONFIG{ 'prefix' } = "/etc/xen";
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';

View File

@@ -116,7 +116,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';

View File

@@ -120,7 +120,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';
#

View File

@@ -156,7 +156,7 @@ $CONFIG{ 'extension' } = '.cfg';
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';
@@ -375,7 +375,7 @@ sub createXenConfig
#
# The memory size: Convert Gb -> Mb.
#
if ( $ENV{ 'memory' } =~ /^(\d+)Gb*$/i )
if ( $ENV{ 'memory' } =~ /^(\d+)Gb.*$/i )
{
$ENV{ 'memory' } = $1 * 1024;
}
@@ -383,7 +383,7 @@ sub createXenConfig
#
# Remove any trailing Mb.
#
if ( $ENV{ 'memory' } =~ /^(\d+)Mb*$/i )
if ( $ENV{ 'memory' } =~ /^(\d+)Mb.*$/i )
{
$ENV{ 'memory' } = $1;
}

View File

@@ -98,7 +98,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';

View File

@@ -68,7 +68,8 @@ my %fallback_suite = ( Debian => 'stable',
Ubuntu => 'lucid' );
# Where to look for the sources.list to parse
my $sources_list_file = '/etc/apt/sources.list';
my @sources_list_files = ( '/etc/apt/sources.list',
glob('/etc/apt/sources.list.d/*.list'));
use File::Slurp;
use Getopt::Long;
@@ -80,7 +81,7 @@ use strict;
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';
# Init
my $mirror = '';
@@ -108,47 +109,49 @@ if ($want_manual) {
pod2usage( -verbose => 2 );
}
if (-r $sources_list_file) {
# sources.list exists, so it's something debianoid.
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);
# 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/;
# 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*($|#)/;
# Skip definite non-entries
next if $sources_list_entry =~ /^\s*($|#)/;
# Split up into fields
my @source_components = split(/\s+/, $sources_list_entry);
# Split up into fields
my @source_components = split(/\s+/, $sources_list_entry);
# Minimum number of components is 4
next if $#source_components < 3;
# 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';
# 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]+$/;
# Skip updates, backports, volatile or security mirror.
next if $source_components[2] !~ /^[a-z]+$/;
if ($source_components[1] =~ m(/debian/?$|/ubuntu/?$)) {
# Seems a typical mirror. Let's use that one
if ($source_components[1] =~ m(/debian/?$|/ubuntu/?$)) {
# Seems a typical mirror. Let's use that one
$mirror = $source_components[1];
$suite = $source_components[2];
$mirror = $source_components[1];
$suite = $source_components[2];
$found = 1;
last;
$found = 1;
last all_sources_list_files;
}
}
}
warn "Couldn't parse $sources_list_file of the Dom0.\n" unless $found;
}
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`;
chomp($lsb_release);

View File

@@ -117,7 +117,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2';
my $RELEASE = '4.2.1+dev';
#

43
debian/changelog vendored
View File

@@ -1,3 +1,46 @@
xen-tools (4.2.1+dev-1) UNRELEASED; urgency=low
* New upstream snapshot
- Correctly checks and documents valid values for
disk_device. (Closes: #621499)
- Supports creating Ubuntu 11.10 Oneiric DomUs (LP: #848654)
- Supports creating Ubuntu 12.04 Precise and 12.10 Quantal DomUs
- Updated mirror list for discontinued releases of Debian and Ubuntu
- Workaround for missing unit parsing in xen-create-nfs (Closes:
#648814)
- Fix wildcard vs regexp in memory configuration parsing.
- Fix misbehaviour if --ip option is passed multiple times (Closes:
#652110; Thanks Brian Bennett and Alexander Mette!)
- Supports /etc/apt/sources.list.d/ (Closes: #650300)
- xt-guess-suite-and-mirror exits with non-zero if no proper mirror
could be extracted from /etc/apt/sources.list or
/etc/apt/sources.list.d/*.list (Thanks Phil Frost!)
- Only attempts to generate the ssh host keys if not already present
(Closes: #607236; Thanks Vagrant Cascadian!)
* Add dependency on openssh-client for ssh-keygen (Closes: #649108)
* No more suggest evms-cli -- it's no more available on any supported
Dom0 distribution. Thanks to Markus Waldeck for the hint.
* Bump Standards-Version to 3.9.3 (no changes)
* Fix the following Lintian warnings:
- copyright-refers-to-symlink-license
- debian-rules-missing-recommended-target
-- Axel Beckert <abe@debian.org> Mon, 07 May 2012 21:21:33 +0200
xen-tools (4.2.1-1) unstable; urgency=low
* New upstream release
- Fixes bashism in "editor" roles script. Thanks Raphaël Halimi for
the patch! (Closes: #605203)
- Fixes missing architecture check in Sarge amd64 special case. Thanks
to Guillaume Pernot! (Closes: #611397) Also changes default Sarge
amd64 mirror to http://archive.debian.org/debian-amd64/.
- Allows --ip=auto again (Closes: #611407)
- Unmounts /proc and /dev/pts of the freshly installed DomU just
before unmounting the disk image. (Closes: #588783)
-- Axel Beckert <abe@debian.org> Thu, 17 Mar 2011 01:00:47 +0100
xen-tools (4.2-1) unstable; urgency=low
* New upstream release

10
debian/control vendored
View File

@@ -3,16 +3,16 @@ Section: utils
Priority: extra
Maintainer: Axel Beckert <abe@debian.org>
Build-Depends: debhelper (>= 7.0.0), libtest-pod-perl, libtext-template-perl
Standards-Version: 3.9.1
Standards-Version: 3.9.3
Homepage: http://xen-tools.org/software/xen-tools
Vcs-Browser: http://gitorious.org/xen-tools/xen-tools
Vcs-Git: git://gitorious.org/xen-tools/xen-tools.git
Package: xen-tools
Architecture: all
Depends: debootstrap | cdebootstrap, perl-modules, libtext-template-perl, libconfig-inifiles-perl, libfile-slurp-perl, ${misc:Depends}
Depends: debootstrap | cdebootstrap, perl-modules, libtext-template-perl, libconfig-inifiles-perl, libfile-slurp-perl, ${misc:Depends}, openssh-client
Recommends: xen-hypervisor-amd64 | xen-hypervisor-i386 | xen-hypervisor-i386-pae, rinse, xen-shell, libexpect-perl
Suggests: reiserfsprogs, xfsprogs, xen-utils, cfengine2, evms-cli, btrfs-tools
Suggests: reiserfsprogs, xfsprogs, xen-utils, cfengine2, btrfs-tools
Description: Tools to manage Xen virtual servers
This package contains tools to manage Debian based Xen virtual servers.
.
@@ -25,6 +25,7 @@ Description: Tools to manage Xen virtual servers
* Debian 4.0 Etch
* Debian 5.0 Lenny
* Debian 6.0 Squeeze
* Debian 7.0 Wheezy
* Debian Sid (Unstable)
* Ubuntu 6.06 Dapper Drake (LTS)
* Ubuntu 6.10 Edgy Eft
@@ -36,3 +37,6 @@ Description: Tools to manage Xen virtual servers
* Ubuntu 9.10 Karmic Koala
* Ubuntu 10.04 Lucid Lynx (LTS)
* Ubuntu 10.10 Maverick Meerkat
* Ubuntu 11.04 Natty Narwhal
* Ubuntu 11.10 Oneiric Ocelot
* Ubuntu 12.04 Precise Pangolin (LTS)

2
debian/copyright vendored
View File

@@ -23,5 +23,5 @@ Perl is distributed under licenses:
b) the "Artistic License" which comes with Perl.
On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in /usr/share/common-licenses/GPL' and
Public License can be found in /usr/share/common-licenses/GPL-1' and
the Artistic Licence in /usr/share/common-licenses/Artistic'.

5
debian/rules vendored
View File

@@ -9,8 +9,9 @@ configure-stamp:
touch configure-stamp
build: build-stamp
build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
build-stamp: configure-stamp
dh_testdir
touch build-stamp

View File

@@ -263,7 +263,7 @@ mirror = `xt-guess-suite-and-mirror --mirror`
#
# mirror_sarge = http://archive.debian.org/debian
# mirror_etch = http://archive.debian.org/debian
# mirror_lenny = http://cdn.debian.net/debian
# mirror_lenny = http://archive.debian.org/debian
# mirror_squeeze = http://cdn.debian.net/debian
# mirror_wheezy = http://cdn.debian.net/debian
# mirror_sid = http://cdn.debian.net/debian
@@ -273,10 +273,14 @@ mirror = `xt-guess-suite-and-mirror --mirror`
# mirror_gutsy = http://old-releases.ubuntu.com/ubuntu
# mirror_hardy = http://archive.ubuntu.com/ubuntu
# mirror_intrepid = http://old-releases.ubuntu.com/ubuntu
# mirror_karmic = http://archive.ubuntu.com/ubuntu
# mirror_jaunty = http://old-releases.ubuntu.com/ubuntu
# mirror_karmic = http://old-releases.ubuntu.com/ubuntu
# mirror_lucid = http://archive.ubuntu.com/ubuntu
# mirror_maverick = http://archive.ubuntu.com/ubuntu
# mirror_natty = http://archive.ubuntu.com/ubuntu
# mirror_oneiric = http://archive.ubuntu.com/ubuntu
# mirror_precise = http://archive.ubuntu.com/ubuntu
# mirror_quantal = http://archive.ubuntu.com/ubuntu
#
@@ -298,7 +302,7 @@ btrfs_options = defaults
#
# 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 serial devices.
# and 'xvdX' instead of 'sdX' for disk devices.
#
# You may specify the things to use here:
#

View File

@@ -135,7 +135,7 @@ name = '{$hostname}'
$br = ",bridge=$bridge"
}
$OUT .= "vif = [ 'ip=$ip1";
$OUT .= "vif = [ 'ip=$ips";
$OUT .= "$m";
$OUT .= "$vn";
$OUT .= "$br";

View File

@@ -36,20 +36,24 @@ 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 generetaged Host RSA"
else
logMessage "failed to generate Host RSA 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 generetaged Host DSA"
else
logMessage "failed to generate Host DSA Key"
fi
fi
#
# Install ssh

View File

@@ -36,20 +36,24 @@ 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 generetaged Host RSA"
else
logMessage "failed to generate Host RSA 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 generetaged Host DSA"
else
logMessage "failed to generate Host DSA Key"
fi
fi
#
# Install ssh

View File

@@ -36,20 +36,24 @@ 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 generetaged Host RSA"
else
logMessage "failed to generate Host RSA 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 generetaged Host DSA"
else
logMessage "failed to generate Host DSA Key"
fi
fi
#
# Install ssh

View File

@@ -36,20 +36,24 @@ 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 generetaged Host RSA"
else
logMessage "failed to generate Host RSA 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 generetaged Host DSA"
else
logMessage "failed to generate Host DSA Key"
fi
fi
#
# Install ssh

View File

@@ -36,20 +36,24 @@ 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 generetaged Host RSA"
else
logMessage "failed to generate Host RSA 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 generetaged Host DSA"
else
logMessage "failed to generate Host DSA Key"
fi
fi
#
# Install ssh

View File

@@ -61,8 +61,7 @@ for i in `find ${source} -name '*.sed' -print`; do
#
# Get the name of the file, minus the source prefix
#
sourcelen=${#source}
file=/${i:$sourcelen}
file=${i#$source}
#
# Strip the .sed suffix

View File

@@ -36,28 +36,28 @@ noMentionOf( "ip=",
# is no mention of DHCP.
#
testOutputContains( "ip=192.168.1.1",
memory => 128, ip1 => '192.168.1.1', dir => '/tmp' );
memory => 128, ips => '192.168.1.1', dir => '/tmp' );
noMentionOf( "dhcp",
memory => 128, ip1 => '192.168.1.1', dir => '/tmp' );
memory => 128, ips => '192.168.1.1', dir => '/tmp' );
#
# SCSI based systems:
#
testOutputContains( "xvda",
memory => 128, ip1 => '192.168.1.1', dir => '/tmp' );
memory => 128, ips => '192.168.1.1', dir => '/tmp' );
testOutputContains( "/dev/xvda1 ro",
memory => 128, ip1 => '192.168.1.1', dir => '/tmp' );
memory => 128, ips => '192.168.1.1', dir => '/tmp' );
noMentionOf( "hda1",
memory => 128, ip1 => '192.168.1.1', dir => '/tmp' );
memory => 128, ips => '192.168.1.1', dir => '/tmp' );
#
# IDE based systems
#
testOutputContains( "hda1",
memory => 128, ip1 => '192.168.1.1', dir => '/tmp', ide => 1 );
memory => 128, ips => '192.168.1.1', dir => '/tmp', ide => 1 );
testOutputContains( "/dev/hda1 ro",
memory => 128, ip1 => '192.168.1.1', dir => '/tmp', ide => 1 );
memory => 128, ips => '192.168.1.1', dir => '/tmp', ide => 1 );