1
0
mirror of synced 2026-02-20 13:55:16 +00:00

Compare commits

...

34 Commits

Author SHA1 Message Date
C.J. Collier
414e53d496 reverted to maiden name; re-sorted; using corporate email address (#70) 2024-08-05 22:49:50 +02:00
Axel Beckert
44f2d107e1 Sync fs examples and defaults in xen-create-image with values in xen-tools.conf
ext3 → ext4
2023-12-12 00:50:03 +01:00
Axel Beckert
e5e555404a Fix test suite failures (whitespace issues) after #64 2023-12-12 00:18:39 +01:00
Axel Beckert
44062973de Fix missing regexp brackets from #64 2023-12-12 00:15:17 +01:00
Axel Beckert
39e9f0f0ed Fix documentation typo found by @diederikdehaas in #64 2023-12-12 00:13:47 +01:00
Axel Beckert
debd83e38c Bump upstream version to 4.10.0 for new feature
Document the fact that we are now using pure Semantic Versioning
including trailing zeros.

Also update debian/changelog and NEWS.markdown for previous pull
request.

Also remove erroneously added eol tag for Ubuntu Jammy again as it is
an LTS release.
2023-12-12 00:12:25 +01:00
Axel Beckert
6c09007eff Merge pull request #64 from TeamOS3/master
Add support for specifying guest type
2023-12-11 23:54:55 +01:00
Axel Beckert
ab32eaf0b9 Update list of Ubuntu releases, declare Trixie as being testable
Also bump upstream version to 4.9.3.
2023-12-11 23:32:11 +01:00
Axel Beckert
ae7ecc4e0e Drop alternative Suggests on btrfs-tools
Closes: #932122

Security support for Xen in Debian 8 -- for which this was still
needed -- has long ended.
2023-12-11 23:15:18 +01:00
Axel Beckert
8f265d933d Release as 4.9.2 and upload to Debian as 4.9.2-1 2023-02-06 02:57:54 +01:00
Axel Beckert
a98c4db4e4 Declare compliance with Debian Policy 4.6.2
No further changes were needed.
2023-02-06 02:57:38 +01:00
Axel Beckert
82f0669fe0 Mark precise as EoL, too 2023-02-06 02:38:05 +01:00
Axel Beckert
eb2d3fea8f Mark sarge as dont-test due to restriction to i386 2023-02-06 02:34:20 +01:00
Axel Beckert
dd051ad58b Also mention "vsyscall=emulate" in package description and README.Debian
Closes: #1028388
2023-02-06 02:19:28 +01:00
Axel Beckert
19295c5ec1 Fix capitalization of "Ubuntu" 2023-02-06 02:14:34 +01:00
Axel Beckert
657b366fbf Update NEWS.markdown and package description wrt. to Debian/Ubuntu releases
Also mention other fixes in NEWS.markdown.
2023-02-06 02:06:43 +01:00
Axel Beckert
e6eba80f3c Mark lunar as dont-test as debootstrap doesn't know about it yet 2023-02-05 22:09:24 +01:00
Axel Beckert
95207ed48e xt-guess-suite-and-mirror: Add support for Ubuntu Ports APT repos
Closes: #1023667, LP: #1995969
2023-01-30 03:09:48 +01:00
Axel Beckert
f368ae7cff 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.
2023-01-30 03:07:07 +01:00
Axel Beckert
0ec1bed1d1 Bump default ubuntu fallback release to 22.04 Jammy LTS 2023-01-30 02:58:10 +01:00
Axel Beckert
bbd21369cf 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.
2023-01-29 21:57:57 +01:00
Axel Beckert
2527e25beb Fix bashism in release testing target "tidy" 2023-01-29 21:50:41 +01:00
Axel Beckert
ede684baaa Update list of Ubuntu and Debian releases
Bump upstream version to 4.9.2.
2023-01-29 21:50:38 +01:00
Axel Beckert
b7490687e2 Debian packaging: Update upstream signing key to update its expiry date 2023-01-09 04:44:11 +01:00
Axel Beckert
0982fdd0f4 Update NEWS.markdown for 4.9.1 release
Has been forgotten in the release itself.
2021-10-24 06:45:45 +02:00
Axel Beckert
a39f24e754 Release as 4.9.1 and upload to Debian unstable as 4.9.1-1 2021-10-24 05:39:12 +02:00
Axel Beckert
8a623b30ba Also create an .orig.tar.xz signature upon "make release" 2021-10-24 05:36:26 +02:00
Axel Beckert
5730250725 Declare compliance with Debian Policy 4.6.0
No other changes were needed.
2021-10-24 05:24:56 +02:00
Axel Beckert
ac04bed0f2 This seems closer to the original semantics 2021-10-24 05:09:08 +02:00
Axel Beckert
cf693d9e64 Travis CI: stop testing again Perl "dev"
It no more seems to exist.
2021-10-24 02:26:05 +02:00
Axel Beckert
fc7c09596a Make test xt/gitignore.t work with git releases ≥ 2.32.0 2021-10-24 02:23:47 +02:00
Axel Beckert
7ebb0f41a4 Fix missing "|" in regex in Debian's 20-setup-apt
Closes: #997668
2021-10-24 02:23:35 +02:00
Arno Bakker
624cd9fb9b - Removed copy-paste junk in documentation. 2021-10-11 12:11:58 +02:00
Arno Bakker
0990f50fad - Added 'type' parameter to specify desired guest type (PV,PVH,HVM) 2021-10-11 11:39:25 +02:00
23 changed files with 448 additions and 178 deletions

View File

@@ -12,7 +12,6 @@ perl:
- "5.14" - "5.14"
- "5.12" - "5.12"
- "5.10" - "5.10"
- "dev"
- "blead" - "blead"
matrix: matrix:

View File

@@ -12,9 +12,6 @@ Contributions
Listed alphabetically by surname. Listed alphabetically by surname.
C.J. Adams-Collier <cjcollier [at] com.gmail>
- Added new modular structure to the code.
Nick Anderson <nick [at] net.anders0n> Nick Anderson <nick [at] net.anders0n>
- Better bash completion for xen-create-image. - Better bash completion for xen-create-image.
@@ -31,6 +28,9 @@ Contributions
Brian Bennett <bahamat [at] net.digitalelf> Brian Bennett <bahamat [at] net.digitalelf>
- Made multiple times given --ip options work - Made multiple times given --ip options work
C.J. Collier <cjac [at] google.com>
- Added new modular structure to the code.
Vagrant Cascadian <vagrant [at] org.debian> Vagrant Cascadian <vagrant [at] org.debian>
- Less redundant SSH key generation - Less redundant SSH key generation

View File

@@ -14,7 +14,7 @@
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
DIST_PREFIX = ${TMPDIR} DIST_PREFIX = ${TMPDIR}
VERSION = 4.9 VERSION = 4.10.0
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 = git VCS = git
@@ -186,6 +186,7 @@ install-hooks:
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d bullseye.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 bookworm.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d trixie.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 sid.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d unstable.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 testing.d
@@ -230,6 +231,11 @@ install-hooks:
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d focal.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 groovy.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d hirsute.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 mantic.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d devel.d -cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d devel.d
cp hooks/common.sh ${prefix}/usr/share/xen-tools cp hooks/common.sh ${prefix}/usr/share/xen-tools
cp -r hooks/common ${prefix}/usr/share/xen-tools cp -r hooks/common ${prefix}/usr/share/xen-tools
@@ -270,6 +276,7 @@ manpages:
# #
release: orig-tar-gz release: orig-tar-gz
gpg --armour --detach-sign ../$(BASE)-$(VERSION).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)" git tag -s -m "Release as $(VERSION)" "release-$(VERSION)"
tarball: test tidy fixup-perms update-version update-modules clean changelog tarball: test tidy fixup-perms update-version update-modules clean changelog
@@ -310,9 +317,9 @@ author-test:
# #
tidy: tidy:
if [ -x /usr/bin/perltidy ]; then \ if [ -x /usr/bin/perltidy ]; then \
for i in bin/*-*[^~]; do \ for i in $(ls -1 bin/*-* | grep -vE '~$'); do \
echo "tidying $$i"; \ echo "tidying $$i"; \
perltidy $$i \ perltidy $$i \
; done \ ; done \
; fi ; fi

View File

@@ -1,3 +1,78 @@
xen-tools 4.10.0 (TODO: UNRELEASED)
===================================
New Features
------------
* Add support for specifying guest type. (GH #64; PR by Arno Bakker
@arno481)
Distribution Releases Changes
-----------------------------
* Preliminary support for
+ Ubuntu 23.10 Mantic Minotaur
* Declare the following releases as EoL:
+ Ubuntu 22.10 Kinetic Kudu
* Debian Trixie is now Testing → remove dont-test flag
Other Changes
-------------
* Switch to pure Semantic Versioning including trailing zeros.
* Sync examples for "fs" and "fs" defaults in xen-create-image with
(effective) values in xen-tools.conf: ext3 → ext4
xen-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 Lobster
* 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) xen-tools 4.9 (released 29 Dec 2020)
==================================== ====================================

View File

@@ -40,9 +40,10 @@ known to work reliably, i.e.:
* Jessie 8 * Jessie 8
* Stretch 9 * Stretch 9
* Buster 10 * Buster 10
* Bullseye 11 (under development) * Bullseye 11
* Bookworm 12 (knows about this future release name) * Bookworm 12 (under development)
* Trixie 13 (knows about this future release name) * 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 :-) * Sid (always under development; works at least at the moment of writing :-)
### Ubuntu ### Ubuntu
@@ -88,8 +89,9 @@ known to work reliably, i.e.:
<dt><a id="1" name="1">¹</a></dt><dd> <dt><a id="1" name="1">¹</a></dt><dd>
Installation with `xen-create-image` and updating with Installation with `xen-create-image` and updating with
`xen-update-image` might fail with newer kernels/distributions as Dom0 `xen-update-image` might fail with newer kernels/distributions running
without `vsyscall=emulate` on the kernel commandline. on the Dom0 unless they have been booted with `vsyscall=emulate` on
the kernel commandline.
</dd><dt><a id="2" name="2">²</a></dt><dd> </dd><dt><a id="2" name="2">²</a></dt><dd>
@@ -249,8 +251,8 @@ Version Numbering Scheme
Since release 4.4, the version numbering scheme of xen-tools tries to Since release 4.4, the version numbering scheme of xen-tools tries to
comply with the [Semantic Versioning](http://semver.org/) comply with the [Semantic Versioning](http://semver.org/)
specification, with the only exception that trailing zeroes are specification, with the only exception that in releases before 4.10
omitted. trailing zeroes were omitted.
Between the releases 3.9 and 4.4, the version numbering scheme Between the releases 3.9 and 4.4, the version numbering scheme
followed roughly the same ideas, but less strict. followed roughly the same ideas, but less strict.

View File

@@ -215,6 +215,8 @@ and EVMS EXAMPLE.
Set the number of vcpus that the new instance will Set the number of vcpus that the new instance will
have instead of the default value of "1". have instead of the default value of "1".
--type=type Specify the VM type to use for the new guest.
Valid choices are 'pv' (default), 'pvh', or 'hvm'.
Installation options: Installation options:
@@ -444,7 +446,7 @@ Create a Xen configuration file in so that xm/xl can start the new domain.
memory = 128Mb # Memory size memory = 128Mb # Memory size
maxmem = 512Mb # Memory size maxmem = 512Mb # Memory size
swap = 128Mb # Swap size swap = 128Mb # Swap size
fs = ext3 # use EXT3 filesystems fs = ext4 # use EXT4 filesystems
dist = stable # Default distribution to install. dist = stable # Default distribution to install.
# #
@@ -872,7 +874,7 @@ my $MOUNT_POINT = undef;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';
# #
@@ -1333,7 +1335,7 @@ sub setupDefaultOptions
$CONFIG{ 'arch' } = $CONFIG{ 'arch' } =
which('dpkg') ? `dpkg --print-architecture` : ''; which('dpkg') ? `dpkg --print-architecture` : '';
chomp($CONFIG{ 'arch' }); chomp($CONFIG{ 'arch' });
$CONFIG{ 'fs' } = 'ext3'; $CONFIG{ 'fs' } = 'ext4';
$CONFIG{ 'force' } = 0; $CONFIG{ 'force' } = 0;
$CONFIG{ 'install' } = 1; $CONFIG{ 'install' } = 1;
$CONFIG{ 'hooks' } = 1; $CONFIG{ 'hooks' } = 1;
@@ -1345,6 +1347,7 @@ sub setupDefaultOptions
$CONFIG{ 'ipfile' } = '/etc/xen-tools/ips.txt'; $CONFIG{ 'ipfile' } = '/etc/xen-tools/ips.txt';
$CONFIG{ 'output' } = '/etc/xen'; $CONFIG{ 'output' } = '/etc/xen';
$CONFIG{ 'extension' } = '.cfg'; $CONFIG{ 'extension' } = '.cfg';
$CONFIG{ 'type' } = 'pv'; # Arno: as per man xl.cfg
# #
# Installation method defaults to "debootstrap" using # Installation method defaults to "debootstrap" using
@@ -1490,6 +1493,10 @@ sub checkOption
vlan => { vlan => {
check => qr/^([1-9][0-9]{0,2}|10[01][0-9]|102[0-4])$/i, 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", message => "must be a number between 1 and 1024.\n",
}, # Arno
guestType => {
check => qr/^(pv|pvh|hvm)$/, # man xl.cfg
message => "must be 'pv', 'pvh' or 'hvm'.\n",
}, },
); );
@@ -1529,6 +1536,7 @@ sub checkOption
hash_method => 'hashMethod', hash_method => 'hashMethod',
apt_proxy => 'uri', apt_proxy => 'uri',
vlan => 'vlan', vlan => 'vlan',
type => 'guestType', # Arno
); );
# If given option does not exists in optionsTypes, # If given option does not exists in optionsTypes,
@@ -1685,6 +1693,7 @@ sub parseCommandLineArguments
"extension:s", \&checkOption, "extension:s", \&checkOption,
"dontformat", \&checkOption, "dontformat", \&checkOption,
"lvm_thin=s", \$CONFIG{ 'lvm_thin' }, "lvm_thin=s", \$CONFIG{ 'lvm_thin' },
"type:s", \&checkOption, # Arno
# Help options # Help options
"debug!", \$CONFIG{ 'debug' }, "debug!", \$CONFIG{ 'debug' },
@@ -2719,6 +2728,7 @@ sub showSummary
} }
} }
logprint("Guest type : $CONFIG{'type'}\n");
logprint("Image type : $CONFIG{'image'}\n"); logprint("Image type : $CONFIG{'image'}\n");
logprint("Memory size : $CONFIG{'memory'}\n"); logprint("Memory size : $CONFIG{'memory'}\n");

View File

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

View File

@@ -167,7 +167,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';
# #

View File

@@ -106,7 +106,7 @@ $CONFIG{ 'extension' } = '.cfg';
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';

View File

@@ -111,7 +111,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';
# #

View File

@@ -113,7 +113,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';
# #

View File

@@ -148,7 +148,7 @@ $CONFIG{ 'extension' } = '.cfg';
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';

View File

@@ -100,7 +100,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';

View File

@@ -9,8 +9,9 @@ mirror for DomUs on Debian and Ubuntu Dom0s.
=head1 SYNOPSIS =head1 SYNOPSIS
--suite Show suite --suite Show suite
--mirror Show mirror --mirror Show mirror
--sources-list=<file> Parse this file as sources.list
Shows both if no parameter is given. Shows both if no parameter is given.
@@ -62,7 +63,7 @@ my %fallback_mirror = ( Debian => 'http://deb.debian.org/debian/',
# have aliases like stable or testing, so we take the nearest LTS # have aliases like stable or testing, so we take the nearest LTS
# release which is 10.04 at the time of writing. # release which is 10.04 at the time of writing.
my %fallback_suite = ( Debian => 'stable', my %fallback_suite = ( Debian => 'stable',
Ubuntu => 'bionic' ); Ubuntu => 'jammy' );
# Where to look for the sources.list to parse # Where to look for the sources.list to parse
my @sources_list_files = ( '/etc/apt/sources.list', my @sources_list_files = ( '/etc/apt/sources.list',
@@ -79,7 +80,7 @@ use strict;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';
# Init # Init
my $mirror = ''; my $mirror = '';
@@ -92,11 +93,13 @@ my $want_suite = 0;
my $want_version = 0; my $want_version = 0;
my $want_help = 0; my $want_help = 0;
my $want_manual = 0; my $want_manual = 0;
my $sources_list = undef;
my $result = GetOptions( 'mirror|m' => \$want_mirror, my $result = GetOptions( 'mirror|m' => \$want_mirror,
'suite|s' => \$want_suite, 'suite|s' => \$want_suite,
'version' => \$want_version, 'version' => \$want_version,
'manual' => \$want_manual, 'manual' => \$want_manual,
'sources-list=s' => \$sources_list,
'help' => \$want_help ); 'help' => \$want_help );
if ($want_help) { if ($want_help) {
@@ -107,6 +110,10 @@ if ($want_manual) {
pod2usage( -verbose => 2 ); pod2usage( -verbose => 2 );
} }
if (defined $sources_list) {
@sources_list_files = ($sources_list);
}
all_sources_list_files: foreach my $sources_list_file (@sources_list_files) { all_sources_list_files: foreach my $sources_list_file (@sources_list_files) {
if (-r $sources_list_file) { if (-r $sources_list_file) {
# sources.list file exists, so it's something debianoid. # sources.list file exists, so it's something debianoid.
@@ -136,7 +143,7 @@ all_sources_list_files: foreach my $sources_list_file (@sources_list_files) {
# Skip updates, backports, volatile or security mirror. # Skip updates, backports, volatile or security mirror.
next if $source_components[2] !~ /^[a-z]+$/; next if $source_components[2] !~ /^[a-z]+$/;
if ($source_components[1] =~ m(/debian/?$|/ubuntu/?$)) { if ($source_components[1] =~ m(/debian/?$|/ubuntu(-ports)?/?$)) {
# Seems a typical mirror. Let's use that one # Seems a typical mirror. Let's use that one
$mirror = $source_components[1]; $mirror = $source_components[1];

View File

@@ -113,7 +113,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.9'; my $RELEASE = '4.10.0';
# #

19
debian/README.Debian vendored
View File

@@ -1,8 +1,23 @@
README README
====== ======
Bootstrapping Wheezy, Precise or older Releases
-----------------------------------------------
For security reasons (avoid risk to circumvent ASLR), 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.
Kernel/initrd guessing Kernel/initrd guessing
====================== ----------------------
In xen-tools 3.4-1 a new feature was added which allows using In xen-tools 3.4-1 a new feature was added which allows using
backtick expressions in xen-tools.conf. backtick expressions in xen-tools.conf.
@@ -15,7 +30,7 @@ changing/adding the following options in xen-tools.conf:
Upgrading Existing kernel/initrd paths Upgrading Existing kernel/initrd paths
-------------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The kernel, and initrd, settings which are included in the xen-tools The kernel, and initrd, settings which are included in the xen-tools
(either statically or dynamically with `uname -r`) are only applied (either statically or dynamically with `uname -r`) are only applied

41
debian/changelog vendored
View File

@@ -1,3 +1,44 @@
xen-tools (4.10.0-1) UNRELEASED; urgency=medium
* New upstream feature release
+ Update list of Ubuntu and Debian releases.
+ Support for specifying guest type. (initial patch by Arno Bakker;
GH #64)
* Drop alternative Suggests on btrfs-tools. (Closes: #932122; Security
support for Xen in Debian 8 has long ended.)
-- Axel Beckert <abe@debian.org> Mon, 11 Dec 2023 23:11:47 +0100
xen-tools (4.9.2-1) unstable; urgency=medium
* New upstream maintenance release
+ Update list of Ubuntu and Debian releases.
+ Fix bashism in release testing target "tidy".
+ xt-guess-suite-and-mirror:
- Bump default Ubuntu fallback release to 22.04 Jammy LTS.
- Add new option --sources-list to pass a file to parse.
- Add support for Ubuntu Ports APT repos. (Closes: #1023667,
LP: #1995969)
* Update upstream signing key to update its expiry date.
* Depend and Build-Depend on non-(build-)essential package
mount. (Closes: #1027383)
* Also mention "vsyscall=emulate" in package description and
README.Debian. (Closes: #1028388)
* Declare compliance with Debian Policy 4.6.2. No changes needed.
-- Axel Beckert <abe@debian.org> Mon, 06 Feb 2023 02:57:47 +0100
xen-tools (4.9.1-1) unstable; urgency=medium
* New upstream bugfix release.
+ Fix missing "|" in regex in Debian's 20-setup-apt. (Closes: #997668)
+ Make test xt/gitignore.t work with git releases ≥ 2.32.0.
+ Travis CI: stop testing again Perl "dev". It no more seems to exist.
+ Also create an .orig.tar.xz signature upon "make release".
* Declare compliance with Debian Policy 4.6.0. (No changes needed.)
-- Axel Beckert <abe@debian.org> Sun, 24 Oct 2021 05:38:40 +0200
xen-tools (4.9-1) unstable; urgency=medium xen-tools (4.9-1) unstable; urgency=medium
* New upstream bugfix and minor feature release. * New upstream bugfix and minor feature release.

25
debian/control vendored
View File

@@ -17,8 +17,9 @@ Build-Depends: debhelper-compat (= 13),
libtest-notabs-perl, libtest-notabs-perl,
libtest-pod-coverage-perl, libtest-pod-coverage-perl,
libtest-pod-perl, libtest-pod-perl,
libtext-template-perl libtext-template-perl,
Standards-Version: 4.5.1 mount
Standards-Version: 4.6.2
Homepage: https://xen-tools.org/software/xen-tools Homepage: https://xen-tools.org/software/xen-tools
Vcs-Browser: https://github.com/xen-tools/xen-tools Vcs-Browser: https://github.com/xen-tools/xen-tools
Vcs-Git: https://github.com/xen-tools/xen-tools.git Vcs-Git: https://github.com/xen-tools/xen-tools.git
@@ -36,6 +37,7 @@ Depends: debootstrap | cdebootstrap,
libsort-versions-perl, libsort-versions-perl,
libterm-ui-perl | perl (<< 5.17.0), libterm-ui-perl | perl (<< 5.17.0),
libtext-template-perl, libtext-template-perl,
mount,
openssh-client, openssh-client,
perl, perl,
${misc:Depends}, ${misc:Depends},
@@ -49,7 +51,7 @@ Recommends: debian-archive-keyring,
ubuntu-keyring | ubuntu-archive-keyring, ubuntu-keyring | ubuntu-archive-keyring,
xen-hypervisor, xen-hypervisor,
xen-utils xen-utils
Suggests: btrfs-progs | btrfs-tools, Suggests: btrfs-progs,
cfengine2, cfengine2,
grub-xen-host, grub-xen-host,
reiserfsprogs, reiserfsprogs,
@@ -70,9 +72,10 @@ Description: Tools to manage Xen virtual servers
* Debian 8 Jessie * Debian 8 Jessie
* Debian 9 Stretch * Debian 9 Stretch
* Debian 10 Buster * Debian 10 Buster
* Debian 11 Bullseye (under development) * Debian 11 Bullseye
* Debian 12 Bookworm (knows about this future release name) * Debian 12 Bookworm (under development)
* Debian 13 Trixie (knows about this future release name) * Debian 13 Trixie (knows about this future release name)
* Debian 14 Forky (knows about this future release name)
* Debian Sid (Unstable) * Debian Sid (Unstable)
* Ubuntu 6.06 Dapper Drake (LTS) * Ubuntu 6.06 Dapper Drake (LTS)
* Ubuntu 6.10 Edgy Eft * Ubuntu 6.10 Edgy Eft
@@ -104,6 +107,16 @@ Description: Tools to manage Xen virtual servers
* Ubuntu 19.10 Eoan Ermine * Ubuntu 19.10 Eoan Ermine
* Ubuntu 20.04 Focal Fossa (LTS) * Ubuntu 20.04 Focal Fossa (LTS)
* Ubuntu 20.10 Groovy Gorilla * Ubuntu 20.10 Groovy Gorilla
* Ubuntu 21.04 Hirsute Hippo (preliminary support, under development) * Ubuntu 21.04 Hirsute Hippo
* Ubuntu 21.10 Impish Indri
* Ubuntu 22.04 Jammy Jellyfish (LTS)
* Ubuntu 22.10 Kinetic Kudu
* Ubuntu 23.04 Lunar Lobster (preliminary support, under development)
* CentOS 5 * CentOS 5
* CentOS 6 * CentOS 6
.
Note: Debian 7 Wheezy, Ubuntu 12.04 Precise Pangolin and any older
release requires the Linux kernel of the hosting machine to be booted
with "vsyscall=emulate" on the kernel commandline (i.e. in the
bootloader) to bootstrap these releases with xen-tools. See
/usr/share/doc/xen-tools/README.Debian for details.

View File

@@ -1,5 +1,4 @@
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQINBEpaZ7ABEADMyzD1duYFiMgQpGOBPUkeCoSYOLIVk9ry+fwIkyiyvVZYBWuh mQINBEpaZ7ABEADMyzD1duYFiMgQpGOBPUkeCoSYOLIVk9ry+fwIkyiyvVZYBWuh
PtEdb+NLOPj/zfUFcoshfhm9bdCTlId1rger34/gOBN9r9NbawfiaUuOhxVzasrX PtEdb+NLOPj/zfUFcoshfhm9bdCTlId1rger34/gOBN9r9NbawfiaUuOhxVzasrX
@@ -12,136 +11,231 @@ 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 tbAZTnYP5RHrDFgXVQMCghb/vvtnc/Z/nOQcZ5+UjAMzzQXvglMExR/5KDnqfB3Z
xxfMM7DMy2gFa6wjFdTlYkIxiZC9iLYMUxKlIXmaySIV98mH7fQ9Ojk0Q2RqCnrH uv2iBNvLhISNP9i68bifWlvJDmqdJQN0ol92k5Pc+iMnbVmqJf2F//O/s3Q7cVyr
pbBQi89nwNXrq+T637WWkSbfvtV68S1jydgL+i5A2J7PkztvXKFkTF40kgtyVCsF dlf85jxovFNhMOZK4Y98MB+IbsT5QKhHvKLl/DXfgRH7hnxRmgyYP3jxAlpNvX1D
KaoVfjeCDdgVGFKtC7NR25NJu1wikqAYZM/eKvPoFTkjf7A2btFKLckXkM6eASMm srIZzDLKCQFG6Mubc7+K7oq9yD2272mV0e6ogY8+N7Js2ms8uDwCuXJhywSoRY5B
7nx2k2WQ6iTUM+u0E0F4ZWwgU3RlZmFuIEJlY2tlcnSJAjYEEwEIACAFAkpaa2sC PI/ChIP7uHLt4Ocw8UinS43AxQf+T4aIzlngElHWmXq3jKEVUB1mxw/9gz0U9Gne
GwMECwkIBwUVCgkICwUWAgMBAAIeAQIXgAAKCRAv+c1ZYSYWtawCD/9CdOQvdt9X 1+jLy/b0CIXg4wGcstwConfp3BYuno2Q5rwf9A0nu0yu0eiZaFlzYoTN312Gwgwj
yqKXhOODBVOnHyr1BEteuU41g7YVmH4xrgNOPvjtxzPF4EPMBk/r3IfoaesnSaNS 7Iql39jRy6bLpAEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/
g/b+OfS6LHmT+bQMU+a8X2R6kickUbJerlOS4eaIpMGPN7ldHhKo9OcbPysGtLaR /gCTU29mdHdhcmU6OlhWIFZlcnNpb24gMy4xMGEgIFJldjogMTIvMjkvOTQgKFBO
s+MIh2CORwz64i4ySSEYpKQZISeVrX4cdI8ZxKDbotszD371DXD28S14Eom2uy/d RyBwYXRjaCAxLjIpCgpDUkVBVE9SOiBYViBWZXJzaW9uIDMuMTBhICBSZXY6IDEy
4c6J771/xCq3+RH2QfHxFbKK7FBfAUoYlkfIAzSMUP3EuN/vr9hVJ2g5yM+zYN5y LzI5Lzk0IChQTkcgcGF0Y2ggMS4yKSAgUXVhbGl0eSA9IDkwLCBTbW9vdGhpbmcg
zdCYbeDoBCIlu2VFavTCfY7zenQVSukNdNOE3iIdUAhuijnf5L6KC15ymnOU4dHi PSAwCv/bAEMAAwICAwICAwMDAwQDAwQFCAUFBAQFCgcHBggMCgwMCwoLCw0OEhAN
qbkGG2ujFvXjzFqmIlflnFZ/G8O+s8C+5D9qQve0XweOSd46Nd2hzG7ZCDLd18Oy DhEOCwsQFhARExQVFRUMDxcYFhQYEhQVFP/bAEMBAwQEBQQFCQUFCRQNCw0UFBQU
wdkVk3Nk3QNc2vSfQRyXavYyb6cDD/33Bjkef3y1sAAgH58tUFQXCedc0gRP3UYT FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/A
o9yyvwQoBx+QHw3gYGaGJvx3NMA+gQq3ufbr6JUn/P7j9Z09eXQZ0HUTE22+Xxd5 ABEIAGAAYAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJ
rORcGPRyknAXy4kgiQAc8QhwPqVSVlbGnDz+rWryF+HwD1X5neYHwz0qOCukuAMV Cgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj
ezq6BNJvuYRrLqCOzu18LD9rqiYeNxyUnH/UFFefQdW2SPJKBNtChVAZd8lJdaHv QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFla
mGyvPi85mey1j1Dzn/mF3Dwjtl0GTO7K2rQpQXhlbCBCZWNrZXJ0IChGU0ZFIEZl Y2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
bGxvdykgPGFiZUBmc2ZlLm9yZz6JAjYEEwEIACAFAksejdsCGwMECwkIBwUVCgkI uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQAD
CwUWAgMBAAIeAQIXgAAKCRAv+c1ZYSYWtSuGD/0StaDkNfg2jl5k04MuyMuXnLc3 AQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA
EXr/T13Kt5XfwDwE8LoVyTo7N7utylPFvMFsWXo7QzniKOCm2A4IjXfncExiGh4a AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn
h3ONgp66nJT8a8PMPl4YBFaLymNdGA1FkQOZPGUPu+/BJ5Nko42qcr3bTFnr5yU8 KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeI
fW50ZJ9Dt2hZZD+z43dDGqSB5VESPuYMLabI9kFfixWpor8Hp/cdRty+6qT8T3L4 iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri
gCzOBhKWY8M//x5rY5SkF182GcOW2AzO1bSnJpNB+Rxp1vj5d05irLl35YZ/B8J6 4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP1TooooAK5Tx38UfDHw2sTc
oPK+edQGGSYQk3oeZhPyiK67itYust2c9dIgJo1/yqh8nqDNYCtTGr5FJntIwviU 6/q0FmcZS33bppPTag5PTr0rwv8Aaj/bBtvhJeP4Y8NmC68TBQbmeYborMEcDH8U
Oh8BIwD0WPxJs+4icE71Sq+4zqx8bYLaKspu0jSw4ScAkCR6od3kA1K/LKkRI//m nQ46DIz6V8LeIviBqvie8utb1e7uL6+nPNzdtudz2AHYD0Fc1Wuqei3Oqjh5Vdeh
q288TfarYfrcVgythAjKH9y8RmbgpQK2/dtoAUq+SNtyFDma29JKkuKH5w6o6zFN 9T/Fn9v7ULC6ePwpp8FnZgELPfJ5kz++0Hav05rgNJ/4KPeOLO6V77TdOvrfHKGE
h8INj8tb1L0HC1MVUCqH5Irb9wY9hQuDP9KAaCAhrl4/ckCNUFeTx4mmkVUlfUIR ox7ZyrDvXyrPc3GrXhLgsSeSew9KuQ6dH8u4ggfdPrntXJ7d7tnd9UifU2pf8FFv
1AZ7eGWCRVbjY3vc8UOV/hmsibaSeoPlKriyv++9erHlzZefDILCiZrY5k+vmL5V GuqJHbWGn6dYS8l7iO3Lkj2DMR+ldf4G/bn8RWxhbW47XV4MYdREIJTz1BXj8MV8
udjKJeNmVmXbnBp4pA0fvOrOsOxt2tMvNwnzrkYAas/OqibdAA2qUyZYgIdK6bCG TLPDpMkjSL8rdQv8Jx1FTN4kS3RZFcSRPxuHY+tDrS3iQ8PBaM/Yf4Y/F7w38WtJ
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
+XwhySae nQF8lzfz9AD/cl4/+AidPlz4Ecq2k+z0NhIjboeuXM31Wh9WopgsepohpkcZobhN
=CO5C 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
=XJH8
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----

View File

@@ -8,7 +8,7 @@
# Known keywords: eol, pygrub, default-keyring, dont-test # Known keywords: eol, pygrub, default-keyring, dont-test
# Known generic keywords: *.gpg (uses the according /usr/share/keyrings/….gpg file) # Known generic keywords: *.gpg (uses the according /usr/share/keyrings/….gpg file)
# #
sarge = debian eol sarge = debian eol dont-test
etch = debian eol etch = debian eol
lenny = debian eol lenny = debian eol
squeeze = debian eol default-keyring squeeze = debian eol default-keyring
@@ -17,8 +17,9 @@ jessie = debian eol
stretch = debian pygrub stretch = debian pygrub
buster = debian pygrub buster = debian pygrub
bullseye = debian pygrub bullseye = debian pygrub
bookworm = debian pygrub dont-test bookworm = debian pygrub
trixie = debian pygrub dont-test trixie = debian pygrub
forky = debian pygrub dont-test
sid = debian pygrub sid = debian pygrub
testing = debian pygrub testing = debian pygrub
@@ -42,7 +43,7 @@ lucid = ubuntu eol pygrub
maverick = ubuntu eol pygrub maverick = ubuntu eol pygrub
natty = ubuntu eol pygrub natty = ubuntu eol pygrub
oneiric = ubuntu eol pygrub oneiric = ubuntu eol pygrub
precise = ubuntu pygrub ubuntu-archive-removed-keys.gpg precise = ubuntu eol pygrub ubuntu-archive-removed-keys.gpg
quantal = ubuntu eol pygrub quantal = ubuntu eol pygrub
raring = ubuntu eol pygrub raring = ubuntu eol pygrub
saucy = ubuntu eol pygrub saucy = ubuntu eol pygrub
@@ -59,7 +60,12 @@ cosmic = ubuntu eol pygrub ubuntu-archive-keyring.gpg
disco = ubuntu eol pygrub ubuntu-archive-keyring.gpg disco = ubuntu eol pygrub ubuntu-archive-keyring.gpg
eoan = ubuntu eol pygrub ubuntu-archive-keyring.gpg eoan = ubuntu eol pygrub ubuntu-archive-keyring.gpg
focal = ubuntu pygrub focal = ubuntu pygrub
groovy = ubuntu pygrub groovy = ubuntu eol pygrub
hirsute = ubuntu pygrub hirsute = ubuntu eol pygrub
impish = ubuntu eol pygrub
jammy = ubuntu pygrub
kinetic = ubuntu eol pygrub
lunar = ubuntu pygrub
mantic = ubuntu pygrub dont-test
devel = ubuntu pygrub dont-test devel = ubuntu pygrub dont-test

View File

@@ -30,6 +30,7 @@ memory = '{$memory}'
$OUT .= "maxmem = '$maxmem'\n"; $OUT .= "maxmem = '$maxmem'\n";
} }
} }
type = '{$type}'
# #
# Disk device(s). # Disk device(s).

View File

@@ -66,7 +66,7 @@ if ( test "${dist}" "!=" "sid" && test "${dist}" "!=" "unstable" && \
test -e /etc/apt/sources.list && \ 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 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|wheezyjessie|stretch|buster)\b'; then if echo "${dist}" | egrep -q '\b(sarge|etch|lenny|squeeze|wheezy|jessie|stretch|buster)\b'; then
cat <<E_O_APT >> ${prefix}/etc/apt/sources.list cat <<E_O_APT >> ${prefix}/etc/apt/sources.list
# #

View File

@@ -23,7 +23,7 @@ if (which('git') and -d '.git') {
use_ok( 'Git' ); use_ok( 'Git' );
# First, check that no tracked files are ignored # First, check that no tracked files are ignored
my $cmd = Git::command_output_pipe('ls-files', '--ignored', '--exclude-standard'); my $cmd = Git::command_output_pipe('ls-files', '--cached', '--ignored', '--exclude-standard');
my $output; my $output;
while (<$cmd>) { $output .= "--> $_" } while (<$cmd>) { $output .= "--> $_" }
close $cmd; close $cmd;