1
0
mirror of synced 2026-02-27 00:39:51 +00:00

Compare commits

..

12 Commits

Author SHA1 Message Date
Axel Beckert
9d20fef0b7 Merge branch 'master' into febootstrap 2010-05-28 00:13:51 +02:00
Axel Beckert
74219834d8 Also replace rpmstrap by febootstrap in bash completion 2010-05-18 17:41:10 +02:00
Axel Beckert
db714d444c Merge master (mostly removal of the image-server install method) back into the febootstrap branch 2010-05-18 17:35:40 +02:00
Axel Beckert
ce0fd617a5 Merge branch 'master' into febootstrap 2010-05-17 23:22:56 +02:00
Axel Beckert
c151721271 Merge branch 'master' into febootstrap 2010-05-17 23:15:08 +02:00
Axel Beckert
68ac01cfac Merge branch 'master' into febootstrap 2010-05-17 22:58:23 +02:00
Axel Beckert
e10c67e87c Add a release alias feature to support fedora's code names 2010-05-17 22:21:11 +02:00
Axel Beckert
a3b9715a9a Merge branch 'master' into febootstrap 2010-05-17 22:07:44 +02:00
Axel Beckert
b5dfcd3dec Honor the fact that 'Core' was dropped from Fedora's name with Fedora 7 2010-05-17 22:07:39 +02:00
Axel Beckert
5cbecd8e66 Merge branch 'master' into febootstrap 2010-05-17 16:31:24 +02:00
Axel Beckert
e11626a95c Replace rpmstrap by febootstrap
(rpmstrap has been removed from Debian between Etch and Lenny.)
2010-05-17 03:15:14 +02:00
Axel Beckert
9e69b0f5ab TODO: Do not run copyDebFiles on RPM based installations 2010-05-17 03:14:02 +02:00
19 changed files with 167 additions and 104 deletions

View File

@@ -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

View File

@@ -14,7 +14,7 @@
#
TMP ?= /tmp
DIST_PREFIX = ${TMP}
VERSION = 4.2beta1
VERSION = 4.2rc1
DEBVERSION = $(shell echo $(VERSION)|sed 's/\(rc\|pre\|beta\|alpha\)/~\1/')
BASE = xen-tools
VCS = $(shell if git st > /dev/null; then echo git; \
@@ -150,13 +150,13 @@ install-hooks:
cp -R hooks/fedora-core-6/*-* ${prefix}/usr/lib/xen-tools/fedora-core-6.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-4.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-5.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-7.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-8.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-9.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-10.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-11.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-12.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-core-13.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-7.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-8.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-9.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-10.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-11.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-12.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s fedora-core-6.d fedora-13.d
mkdir -p ${prefix}/usr/lib/xen-tools/debian.d/
cp -R hooks/debian/*-* ${prefix}/usr/lib/xen-tools/debian.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s debian.d sarge.d
@@ -313,4 +313,4 @@ update-modules:
# at the top of this file. Steve-Specific?
#
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/*-*[^~]

20
TODO
View File

@@ -1,10 +1,8 @@
TODO
====
See KNOWN_BUGS for real bugs.
Minor bugs to fix and features to add before a 4.2 release
----------------------------------------------------------
Bugs to fix and Features to add before a 4.2 release
----------------------------------------------------
* 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
can easily be grep'ed into other scripts.
* Test and support more file system types.
Actually this should be pretty simple now that the parameters are
stored in the configuration hash. The only issue is that trailing
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.
* Test suite should pass
@@ -145,6 +153,10 @@ Maybe for a 4.3 or 5.0 release
"type" of configuration you want, and a set of options specific to
that flag could be parsed from xen-tools.conf
* Do not run copyDebFiles on RPM based installations.
Write a proper clone of it for caching RPMs.
Stuff from Steve's TODO list / Generic TODOs
--------------------------------------------

View File

@@ -147,7 +147,7 @@ xen-create-image - Easily create new Xen instances with networking and OpenSSH.
Installation options:
--arch=arch Pass the given architecture to debootstrap, rinse,
or rpmstrap when installing the system. This argument
or febootstrap when installing the system. This argument
is ignored for other install methods.
--dist=dist Specify the distribution you wish to install.
@@ -347,7 +347,7 @@ Create a Xen configuration file in so that xm can start the new domain.
#
# Installation method:
# One of "copy", "debootstrap", "rinse", "rpmstrap", or "tar".
# One of "copy", "debootstrap", "rinse", "febootstrap", or "tar".
#
install-method = debootstrap
@@ -523,7 +523,7 @@ Create a Xen configuration file in so that xm can start the new domain.
The new guest images may be installed in several different ways:
1. Using the debootstrap command, which must be installed and present.
2. Using the rpmstrap command, which must be installed and present.
2. Using the febootstrap command, which must be installed and present.
3. using the rinse command, which must be installed and present.
4. By copying an existing installation.
5. By untarring a file containing a previous installation.
@@ -754,7 +754,26 @@ my $FAIL = 0;
#
# Release number.
#
my $RELEASE = '4.2beta1';
my $RELEASE = '4.2rc1';
#
# Release Aliases
#
my %RELEASE_ALIASES = (qw(
stentz fedora-core-4
bordeaux fedora-core-5
zod fedora-core-6
moonshine fedora-7
werewolf fedora-8
sulphur fedora-9
cambridge fedora-10
leonidas fedora-11
constantine fedora-12
goddard fedora-13
laughlin fedora-14
));
@@ -1687,11 +1706,10 @@ sub checkArguments
}
#
# NOTE: FAKE!
# Check for release alias names
#
if ( $CONFIG{ 'dist' } eq 'fedora-core4' )
{
$CONFIG{ 'dist' } = 'stentz';
if (exists $RELEASE_ALIASES{$CONFIG{ 'dist' }}) {
$CONFIG{ 'dist' } = $RELEASE_ALIASES{$CONFIG{ 'dist' }};
}
#
@@ -1752,7 +1770,7 @@ E_OR
if ( defined( $CONFIG{ 'install-method' } ) )
{
foreach my $recognised (
qw/ copy debootstrap rinse rpmstrap tar /)
qw/ copy debootstrap rinse febootstrap tar /)
{
$valid = 1
if ( lc( $CONFIG{ 'install-method' } ) eq lc($recognised) );
@@ -1785,7 +1803,7 @@ E_OR
--install-method=copy --install-source=/some/path
--install-method=debootstrap
--install-method=rinse
--install-method=rpmstrap
--install-method=febootstrap
--install-method=tar --install-source=/some/file.tar
EOF

View File

@@ -130,7 +130,7 @@ $CONFIG{ 'template' } = '/etc/xen-tools/xm-nfs.tmpl';
#
# Release number.
#
my $RELEASE = '4.2beta1';
my $RELEASE = '4.2rc1';
# store version number away.

View File

@@ -169,7 +169,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2beta1';
my $RELEASE = '4.2rc1';

View File

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

View File

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

View File

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

View File

@@ -156,7 +156,7 @@ $CONFIG{ 'template' } = '/etc/xen-tools/xm.tmpl';
#
# Release number.
#
my $RELEASE = '4.2beta1';
my $RELEASE = '4.2rc1';

View File

@@ -97,7 +97,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2beta1';
my $RELEASE = '4.2rc1';

View File

@@ -73,7 +73,7 @@ use strict;
#
# Release number.
#
my $RELEASE = '4.2beta1';
my $RELEASE = '4.2rc1';
# Init
my $mirror = '';

View File

@@ -23,7 +23,7 @@ xt-install-image - Install a fresh copy of GNU/Linux into a directory
--dist The name of the distribution which has been installed.
Misc Options:
--arch Pass the given arch setting to debootstrap or rpmstrap.
--arch Pass the given arch setting to debootstrap or febootstrap.
--config Read the specified config file in addition to the global
configuration file.
--mirror The mirror to use when installing with 'debootstrap'.
@@ -69,8 +69,8 @@ Copy the given directory recursively. This local directory is assumed to contai
=item B<rinse>
Install the distribution specified by B<--dist> using the rinse command.
=item B<rpmstrap>
Install the distribution specified by B<--dist> using the rpmstrap command.
=item B<febootstrap>
Install the distribution specified by B<--dist> using the febootstrap command.
=item B<tar>
Untar a .tar file into the new installation location. This tarfile is assumed to contain a complete archived system. Specify the directory to copy with the B<--install-source> argument.
@@ -116,7 +116,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2beta1';
my $RELEASE = '4.2rc1';
#
@@ -141,8 +141,8 @@ my %dispatch = (
"rinse" => { sub => \&do_rinse,
needBinary => "/usr/sbin/rinse",
},
"rpmstrap" => { sub => \&do_rpmstrap,
needBinary => "/usr/bin/rpmstrap",
"febootstrap" => { sub => \&do_febootstrap,
needBinary => "/usr/bin/febootstrap",
},
"tar" => { sub => \&do_tar,
needBinary => "/bin/tar",
@@ -532,7 +532,7 @@ E_OR
--install-method=copy --install-source=/some/path
--install-method=debootstrap
--install-method=rpmstrap
--install-method=febootstrap
--install-method=tar --install-source=/some/file.tar
EOF
@@ -717,29 +717,13 @@ sub do_debootstrap
print("Done\n");
}
#
# Propogate --verbose appropriately.
#
my $EXTRA = '';
if ( $CONFIG{ 'verbose' } )
{
$EXTRA = ' --verbose';
}
#
# Propogate the --arch argument
#
if ( $CONFIG{ 'arch' } )
{
$EXTRA .= " --arch $CONFIG{'arch'}";
}
#
# This is the command we'll run
#
my $command =
"$cmd $EXTRA $CONFIG{'dist'} $CONFIG{'location'} $CONFIG{'mirror'}";
my $dist = $CONFIG{'dist'};
$dist =~ s/fedora-core/fedora/;
my $command = "$cmd $dist $CONFIG{'location'}";
#
# Run the command.
@@ -805,13 +789,13 @@ sub do_rinse
=begin doc
Install a new distribution of GNU/Linux using the rpmstrap tool.
Install a new distribution of GNU/Linux using the febootstrap tool.
=end doc
=cut
sub do_rpmstrap
sub do_febootstrap
{
#
@@ -840,7 +824,7 @@ sub do_rpmstrap
#
# The command we're going to run.
#
my $command = "rpmstrap $EXTRA $CONFIG{'dist'} $CONFIG{'location'} $mirror";
my $command = "febootstrap $EXTRA $CONFIG{'dist'} $CONFIG{'location'} $mirror";
runCommand($command);
}

4
debian/NEWS vendored
View File

@@ -1,4 +1,4 @@
xen-tools (4.2~beta1-1) unstable; urgency=low
xen-tools (4.2~rc1-1) unstable; urgency=low
If the DomU hangs with "Waiting for root file system" despite
/dev/xvd* is used as disk device, adding "xen-blkfront" to
@@ -14,5 +14,5 @@ xen-tools (4.2~beta1-1) unstable; urgency=low
/etc/apt/sources.list (if it exists) and taking the first entry with
path ending in /debian/ there.
-- Axel Beckert <abe@debian.org> Sun, 30 May 2010 22:36:16 +0200
-- Axel Beckert <abe@debian.org> Sat, 15 May 2010 18:04:14 +0200

7
debian/changelog vendored
View File

@@ -1,8 +1,8 @@
xen-tools (4.2~beta1-1) unstable; urgency=low
xen-tools (4.2~rc1-1) UNRELEASED; urgency=low
* New maintainer and upstream authors
* Reintroduction into Debian Unstable (Closes: #566714)
* New upstream beta version
* New upstream release candidate
- Needs dependency on libfile-slurp-perl
- Supports for more recent versions of Fedora, Ubuntu and Debian
(Closes: #499477)
@@ -41,7 +41,6 @@ xen-tools (4.2~beta1-1) unstable; urgency=low
- Checks for debootstrap and cdebootstrap, uses debootstrap if both
are installed (Changed "Depends: debootstrap" to "Depends:
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
bash-completion ships a more elaborate version of that file. (Closes:
#566683, #550590, LP: #538917, #484098)
@@ -66,7 +65,7 @@ xen-tools (4.2~beta1-1) unstable; urgency=low
the Git repository.
* Overhauled package description
-- Axel Beckert <abe@debian.org> Sun, 30 May 2010 22:32:30 +0200
-- Axel Beckert <abe@debian.org> Mon, 17 May 2010 13:32:04 +0200
xen-tools (4.1-1) unstable; urgency=low

1
debian/copyright vendored
View File

@@ -5,7 +5,6 @@ It was downloaded from http://xen-tools.org/software/xen-tools/
Copyright 2005-2009: Steve Kemp <steve@steve.org.uk>
Copyright 2010: Axel Beckert <abe@deuxchevaux.org>
Copyright 2010: Dmitry Nedospasov <dmitry@nedos.net>
License:

3
debian/docs vendored
View File

@@ -2,5 +2,4 @@ AUTHORS
README
SUPPORT
BUGS
TODO
KNOWN_BUGS
TODO

View File

@@ -119,7 +119,7 @@ _xen_create_image()
return 0
;;
--install-method)
COMPREPLY=( $( compgen -W 'copy debootstrap rinse rpmstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) )
COMPREPLY=( $( compgen -W 'copy debootstrap rinse febootstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) )
return 0
;;
--ip)
@@ -360,7 +360,7 @@ complete -F _xt-create-xen-config xt-create-xen-config
#
_xt-customize-image()
{
local cur prev dists
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
@@ -369,16 +369,9 @@ _xt-customize-image()
# Determine arguments dynamically. Avoids out-of-dateness.
opts=$(xt-customize-image --help|grep -- --|awk '{print $1}'|grep -- -- | sort -u)
#
# Available distributions, from rpmstrap
#
if [ -d /usr/lib/rpmstrap/scripts ]; then
dists=`/bin/ls -1 /usr/lib/rpmstrap/scripts`
fi
case "$prev" in
--dist)
COMPREPLY=( $( compgen -W '${dists} sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) )
COMPREPLY=( $( compgen -W 'sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) )
return 0
;;
--location)
@@ -401,7 +394,7 @@ complete -F _xt-customize-image xt-customize-image
#
_xt-install-image()
{
local cur prev dists
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
@@ -411,14 +404,6 @@ _xt-install-image()
opts=$(xt-install-image --help|grep -- --|awk '{print $1}'|grep -- -- | sort -u)
#
# Available distributions, from rpmstrap
#
if [ -d /usr/lib/rpmstrap/scripts ]; then
dists=`/bin/ls -1 /usr/lib/rpmstrap/scripts`
fi
case "$prev" in
--cache)
COMPREPLY=( $( compgen -W 'yes no' -- "${COMP_WORDS[COMP_CWORD]}" ) )
@@ -429,11 +414,11 @@ _xt-install-image()
return 0
;;
--dist)
COMPREPLY=( $( compgen -W '${dists} sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) )
COMPREPLY=( $( compgen -W 'sid sarge etch lenny' -- "${COMP_WORDS[COMP_CWORD]}" ) )
return 0
;;
--install-method)
COMPREPLY=( $( compgen -W 'copy debootstrap rinse rpmstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) )
COMPREPLY=( $( compgen -W 'copy debootstrap rinse febootstrap tar' -- "${COMP_WORDS[COMP_CWORD]}" ) )
return 0
;;
--location)

80
t/modules.t Executable file
View 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' );