1
0
mirror of synced 2026-01-16 08:14:08 +00:00

Compare commits

..

87 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
Axel Beckert
00527f64b2 Release as 4.9 and upload to Debian Unstable as 4.9-1 2020-12-29 12:23:16 +01:00
Axel Beckert
83c37b476a Start all Debian releases since Stretch (9) with pygrub by default 2020-12-29 12:05:39 +01:00
Axel Beckert
af6ceacc4c Fix typo in current changelog entry 2020-12-28 05:08:18 +01:00
Axel Beckert
6cdd1eb63f Add debian/changelog and NEWS.md entry for GL MR !1 2020-12-28 02:22:37 +01:00
Wolfgang Karall
97dd8fafc8 Use 'defaults' and not the IO-bottleneck of the decade 'sync' in the options for the root filesystem. 2020-12-28 02:19:20 +01:00
Axel Beckert
58899daffe Add debian/changelog and NEWS.md entry for GH #57 2020-12-27 17:13:41 +01:00
Axel Beckert
239f1e4c88 Merge branch 'cli-fix' of https://github.com/frootmig/xen-tools 2020-12-27 17:09:24 +01:00
Axel Beckert
1a27e59df7 This will become a feature release, too: Update version and NEWS.md 2020-12-27 17:02:04 +01:00
Axel Beckert
b7486d427c Add debian/changelog entry for GH #58 and reformat its comments a bit 2020-12-27 16:58:06 +01:00
Axel Beckert
6aeb8d9d11 Merge branch 'netplan-p2p-support' of https://github.com/frootmig/xen-tools 2020-12-27 16:40:55 +01:00
Axel Beckert
f5dc8cbf37 Add debian/changelog entry for GH #62 2020-12-27 15:56:23 +01:00
Axel Beckert
4aa9428e3b Merge branch 'arm64-debian' of https://github.com/ianmclinden/xen-tools 2020-12-27 15:50:56 +01:00
Axel Beckert
a58cc83c80 Adapt distributions.conf defaults to Ubuntu keyrings of 2018
As of now, Debian's ubuntu-keyring package hasn't been updated for
more than two years. See https://bugs.debian.org/978438
2020-12-27 15:22:03 +01:00
Axel Beckert
965839812c Bump recommended debootstrap version to 1.0.117 2020-12-27 14:34:13 +01:00
Axel Beckert
a9593dabf0 Update list of supported distributions in README and debian/control 2020-12-21 00:35:56 +01:00
Axel Beckert
ea95b1ef03 t/hook-apt.t: Special case for Perl 5.10
File::Copy in Perl 5.10 does not copy permissions, so let's fix it
there and check for it elsewhere.

This reverts the two commits 06b3faa1bf8af440f865322de91a03ecadd04e06
and 68c20b4e4e351846c80af98db75eee3030f25fa6 which did not help to fix
this issue as the initially suspected noexec mount wasn't really
there. Hopefully this finally resolves the test failures with Perl
5.10 in the new t/hook-apt.t.
2020-12-20 22:40:57 +01:00
Axel Beckert
68c20b4e4e Travis CI: Make sure shell scripts in .travis.yml also work with bash, not just dash and zsh 2020-12-20 20:48:17 +01:00
Axel Beckert
06b3faa1bf Travis CI before_install: Make sure we can execute scripts in /tmp/
Those build failures with Perl 5.10 seem to neither be related to
xen-tools nor to Perl but to how the git repo is unpacked on Travis CI
as executable bits are either missing or /tmp/ is mounted with
"noexec".

So add some code to before_install to 1) output some debug information
on that issue and 2) abort early if executing scripts in /tmp/ fails.
2020-12-20 19:54:11 +01:00
Axel Beckert
0da2ed1365 Fix test suite failures in a Sid chroot
Problem was that the commented variant only was a new, $dist-security
one, but is also written if the security repo is disabled with other
distributions than sid/unstable.
2020-12-20 08:47:31 +01:00
Axel Beckert
285d2c80b9 Use regexp to check for $dist/updates vs $dist-security
If the security repo will be  enabled or not currently depends on the
host's sources.list. So the resulting files differ depending on the
host where the test is run. Add a TODO item to break with that
"feature".

Also mention in the TODO list that a repo on archive.debian.org should
be used instead security.debian.org if the release is EoL. Currently
the security mirror is hardcoded into the hook.
2020-12-20 08:33:47 +01:00
Axel Beckert
ed497ab39c Some 5.0 TODOs around the security APT repo 2020-12-20 08:13:56 +01:00
Axel Beckert
85c0583819 Add test for $dist/updates vs $dist-security
Uses Test::File::Contents, add it to .travis.yml and the according
package as build-dependency in debian/control.
2020-12-20 06:44:12 +01:00
Axel Beckert
c0cb19eefc Add debian/changelog entry for previous commit 2020-12-19 08:25:42 +01:00
Axel Beckert
67603c2d74
Merge pull request #40 from blbradley/grub-silent-failure-fix
fix update-grub chroot silent failure

While it probably would be nicer to mount it at the beginning and umount it at the end, we have too many hooks already doing this and changing this seems a bigger task.
2020-12-19 08:21:05 +01:00
Axel Beckert
a816cc81ae Declare compliance with Debian Policy 4.5.1
No other changes were required.
2020-12-19 08:13:20 +01:00
Axel Beckert
01d7628770 Bump debhelper compatibility level to 13
Build-depend on "debhelper-compat (= 13)" to replace debian/compat.
2020-12-19 08:08:53 +01:00
Axel Beckert
1150835a89 Bump debian/watch version from 3 to 4
Thanks Lintian!
2020-12-19 08:07:11 +01:00
Axel Beckert
17025182eb Bump version in Makefile and all scripts 2020-12-19 08:06:48 +01:00
Axel Beckert
e7b2f1a3e7 Add debian/changelog entry for previous commit 2020-12-19 07:54:18 +01:00
Andreas Sundstrom
fe4a18edef Fix support for lvm_thin
Closes: #942244
2020-12-19 07:52:31 +01:00
Axel Beckert
eab2940bf6 Reimplement $dist/updates vs $dist-security more backwards-compatible
This reverts most code, but not the implemented functionality of
commit 2fba5cb90e30f2bfab07782c9fa3b99275e769da.

Requiring a config file change to still be able to install old
distributions would make a bump of the major version necessary
according to Semantic Versioning. Let's avoid that:

The list of distributions with the old path scheme is finite and will
never change again. Hence it's ok and especially backwards compatible
to hardcode this list in hooks/debian/20-setup-apt.

It's also less and more obvious (but not necessarily easier to read)
code. But it's all in one place and not scattered over three files.
And it's just one line instead like a dozen or two dozens.

Closes: #972749 (kinda again)
2020-12-19 07:38:37 +01:00
Axel Beckert
e8897649b7 Fix mostly trailing whitespace in generated sources.list 2020-12-19 06:49:29 +01:00
Axel Beckert
2fba5cb90e Debian DomUs: Distinguish between $dist/updates and $dist-security
From Debian 11 Bullseye onwards, debian uses $dist-security instead of
$dist/updates as distribution part in /etc/apt/sources.list.

Mark those distributions with the old-style subdirectory path with
"security-subdir" in distributions.conf.

Thanks to Paul Wise for the bug report (and hence reminding me of
this) and for the suggestions on how to implement this (even if I
didn't follow them for the sake of simplicity and no additional
dependencies).

Closes: #972749
2020-12-19 06:49:29 +01:00
Axel Beckert
19399ecc70 Add preliminary support for Debian 13 Trixie 2020-11-15 00:33:10 +01:00
Axel Beckert
6f291cebe7 Full code name of Ubuntu 21.04 is now known 2020-10-30 19:40:21 +01:00
Axel Beckert
54d93cf3ed Travis CI: Use https://travis-perl.github.io/init 2020-10-23 18:47:55 +02:00
Axel Beckert
b40759e8d8 Travis CI: Test more Perl versions
Enable fast finish and allow "bleed" to fail.
2020-10-23 14:44:13 +02:00
Axel Beckert
f5e7a2d441 Fix no-tabs.t failing on Travis CI: Replace all_perl_files_ok() 2020-10-23 14:42:24 +02:00
Axel Beckert
79650b9d70 Add preliminary support for Ubuntu 21.04 Hirsute H… 2020-10-23 13:03:09 +02:00
Axel Beckert
8c7d398001 Drop "dont-test" flag from bullseye 2020-10-23 08:01:33 +02:00
Axel Beckert
f6c6c35b40 Support running tests verbosely with Make target "test-verbose" 2020-10-23 08:00:14 +02:00
Axel Beckert
d7b794bc2c Makefile: Actually install xen-resize-guest tool
Thanks lintian for the spare-manual-page warning!
2020-10-11 02:09:07 +02:00
Axel Beckert
d278bdc89e Mark Debian 8 Jessie as EoL
Reasoning:

Debian 8 Jessie has still (external) ELTS until 2022. But
debian-internal LTS has ended and it will likely vanish from the
normal mirrors soon. And it is already available in the archive. (And
some architectures are already only available in the archive.)

Also mention marking Debian 7 Wheezy as EoL in NEWS.markdown. (Was
already mentioned in debian/changelog.)
2020-10-11 01:59:42 +02:00
Axel Beckert
284657f8bc distributions.conf: Fix typo in release name of future Debian release
Debian 12 will be called bookworm, not bookwork.
2020-10-11 01:58:09 +02:00
Axel Beckert
4ac4ae5987 Update list of Ubuntu releases up to Groovy Gorilla 2020-10-11 01:53:43 +02:00
Axel Beckert
61ac300e43 Fix four-letter day of week abbrev. in old debian/changelog entries
See discussions in https://bugs.debian.org/971974 and
https://bugs.debian.org/971975
2020-10-11 01:34:33 +02:00
Ian McLinden
967bdcfaa9
Add debian install rules for arm64 2020-05-14 12:16:09 -05:00
voja
7fbad420c9 Added p2p support for Ubuntu netplan networking 2019-04-17 20:01:48 +02:00
voja
94514a3604 Fix storage commandline options not overriding xen-tools.conf settings
Was already fixed in xen-create-image, but neither in
xen-delete-image nor in xen-update-image. Use the same code as in
xen-create-image in those two tools, too.
2019-04-17 19:50:47 +02:00
Axel Beckert
7c8d466a53 Recommend deboootstrap ≥ 1.0.110~
At least debootstrap 1.0.110 (Buster/Sid) or 1.0.110~bpo9+1
(Stretch-Backports) is required for:

* working bootstrapping of Ubuntu 6.06 Dapper and 6.10 Edgy (see
  #659360).

* Support of Ubuntu 17.10 Artful, 18.04 LTS Bionic, 18.10 Cosmic, and
  19.04 Disco.
2019-04-16 13:30:37 +02:00
Axel Beckert
7dbb76941d Mark Debian 7 Wheezy as EoL 2019-04-16 13:23:55 +02:00
Axel Beckert
a11c9bf126 Travis CI: Also test against Perl 5.26 and 5.28 2019-04-02 17:38:14 +02:00
Brandon Bradley
f065541445 fix update-grub chroot silent failure 2016-02-17 15:55:14 -06:00
32 changed files with 889 additions and 236 deletions

View File

@ -1,5 +1,9 @@
language: perl
perl:
- "5.32"
- "5.30"
- "5.28"
- "5.26"
- "5.24"
- "5.22"
- "5.20"
@ -8,17 +12,26 @@ perl:
- "5.14"
- "5.12"
- "5.10"
- "blead"
matrix:
fast_finish: true
allow_failures:
- perl: blead
before_install:
- sudo apt-get update
- sudo apt-get install devscripts dpkg-dev lsb-release
- eval $(curl https://travis-perl.github.io/init)
- build-perl
- perl -V
install:
- yes '' | cpanm --verbose --notest --skip-satisfied Data::Validate::Domain Data::Validate::IP Data::Validate::URI File::Slurp File::Which Log::Message Term::UI Test::NoTabs Test::Pod::Coverage Test::Pod Text::Template Devel::Cover::Report::Coveralls Sort::Versions
- yes '' | cpanm --verbose --notest --skip-satisfied Data::Validate::Domain Data::Validate::IP Data::Validate::URI File::Slurp File::Which Log::Message Term::UI Test::NoTabs Test::Pod::Coverage Test::Pod Text::Template Devel::Cover::Report::Coveralls Sort::Versions Test::File::Contents
- export RELEASE_TESTING=1 AUTOMATED_TESTING=1 AUTHOR_TESTING=1 HARNESS_OPTIONS=j10:c HARNESS_TIMER=1 PATH=bin:${PERLBREW_PATH}:${PATH}
script:
- make test
- make test-verbose
after_success:
- prove --exec 'env PERL5OPT=-MDevel::Cover=-ignore_re,^(t/|/usr) perl' t/*.t

View File

@ -12,9 +12,6 @@ Contributions
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>
- Better bash completion for xen-create-image.
@ -31,6 +28,9 @@ Contributions
Brian Bennett <bahamat [at] net.digitalelf>
- 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>
- Less redundant SSH key generation

View File

@ -14,7 +14,7 @@
#
TMPDIR ?= /tmp
DIST_PREFIX = ${TMPDIR}
VERSION = 4.8
VERSION = 4.10.0
DEBVERSION = $(shell echo $(VERSION)|sed 's/\(rc\|pre\|beta\|alpha\)/~\1/')
BASE = xen-tools
VCS = git
@ -132,6 +132,7 @@ install-bin:
cp bin/xen-delete-image ${prefix}/usr/bin
cp bin/xen-list-images ${prefix}/usr/bin
cp bin/xen-update-image ${prefix}/usr/bin
cp bin/xen-resize-guest ${prefix}/usr/bin
cp bin/xt-guess-suite-and-mirror ${prefix}/usr/bin
chmod 755 ${prefix}/usr/bin/xen-create-image
chmod 755 ${prefix}/usr/bin/xen-create-nfs
@ -184,6 +185,8 @@ install-hooks:
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d buster.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d bullseye.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d bookworm.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d trixie.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d forky.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d sid.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d unstable.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d testing.d
@ -224,6 +227,15 @@ install-hooks:
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d bionic.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d cosmic.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d disco.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d eoan.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d focal.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d groovy.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d hirsute.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d impish.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d jammy.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d kinetic.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d lunar.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d mantic.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s artful.d devel.d
cp hooks/common.sh ${prefix}/usr/share/xen-tools
cp -r hooks/common ${prefix}/usr/share/xen-tools
@ -264,6 +276,7 @@ manpages:
#
release: orig-tar-gz
gpg --armour --detach-sign ../$(BASE)-$(VERSION).tar.gz
cp -p ../$(BASE)-$(VERSION).tar.gz.asc ../$(BASE)_$(DEBVERSION).orig.tar.gz.asc
git tag -s -m "Release as $(VERSION)" "release-$(VERSION)"
tarball: test tidy fixup-perms update-version update-modules clean changelog
@ -288,13 +301,15 @@ orig-tar-gz: tarball
#
# Run the test suite.
#
test-verbose : VERBOSE = -v
test-verbose: test
test: non-author-test author-test
non-author-test: update-modules
prove --shuffle t/
prove $(VERBOSE) --shuffle t/
author-test:
prove xt/
prove $(VERBOSE) xt/
#
@ -302,9 +317,9 @@ author-test:
#
tidy:
if [ -x /usr/bin/perltidy ]; then \
for i in bin/*-*[^~]; do \
for i in $(ls -1 bin/*-* | grep -vE '~$'); do \
echo "tidying $$i"; \
perltidy $$i \
perltidy $$i \
; done \
; fi

View File

@ -1,3 +1,136 @@
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)
====================================
New Features
------------
* Add Debian install rules for arm64. (GH #62; PR by Ian McLinden
@ianmclinden)
* Add netplan p2p support for Ubuntu. (GH #58; PR by Volker Janzen
@frootmig)
Bug Fixes
---------
* Fix typo in release name of the future Debian 12 release.
* Makefile: Actually install xen-resize-guest tool. (Thanks to
Debian's Lintian tool reporting that there is a man-page without
binary installed!)
* Distinguish between those Debian releases using `$dist/updates` for
security updates and those who use `$dist-security`. Thanks to Paul
Wise for the bug report. (Closes Debian bug report #972749.)
* Fix support for `lvm_thin`. Thanks to Andreas Sundstrom for the bug
report and patch! (Closes Debian bug report #942244.)
* Mount `/proc` and `/dev` before calling update-grub. Thanks to
Brandon Bradley for the bug report and patch. (Closes Debian bug
report #815021.)
* Fix storage commandline options not overriding `xen-tools.conf`
settings also in `xen-update-image` and `xen-delete-image`. (GH #57;
patch by Volker Janzen @frootmig)
Distribution Releases Changes
-----------------------------
* Support for
+ Ubuntu 19.10 Eoan Ermine (EoL)
+ Ubuntu 20.04 Focal Fossa (LTS)
+ Ubuntu 20.10 Groovy Gorilla
* Preliminary support for
+ Debian 13 Trixie
+ Ubuntu 21.04 Hirsute Hippo
* Declare the following releases as EoL:
+ Ubuntu 17.10 Artful Aardvark (Was missing in previous release
despite mentioned in this file.)
+ Ubuntu 18.10 Cosmic Cuttlefish
+ Ubuntu 19.04 Disco Dingo
+ Debian 7 Wheezy
+ Debian 8 Jessie
* Start all Debian releases since Stretch (9) with pygrub by default.
Other Changes
-------------
* Support running tests verbosely with Make target "test-verbose".
* Drop "dont-test" flag from bullseye.
* partitions/sample-server: Change options=sync to
options=defaults. (GL MR !1; patch by Wolfgang Karall)
xen-tools 4.8 (released 9 Feb 2019)
===================================

View File

@ -39,9 +39,11 @@ known to work reliably, i.e.:
* Wheezy 7 (Dom0 no more tested) [¹](#1)
* Jessie 8
* Stretch 9
* Buster 10 (under development)
* Bullseye 11 (knows about this future release name)
* Bookworm 12 (knows about this future release name)
* Buster 10
* Bullseye 11
* Bookworm 12 (under development)
* Trixie 13 (knows about this future release name)
* Forky 14 (knows about this future release name)
* Sid (always under development; works at least at the moment of writing :-)
### Ubuntu
@ -74,7 +76,11 @@ known to work reliably, i.e.:
* Artful Aardvark 17.10
* Bionic Beaver 18.04 (LTS)
* Cosmic Cuttlefish 18.10
* Disco Dingo 19.04 (under development)
* Disco Dingo 19.04
* Eoan Ermine 19.10
* Focal Fossa 20.04 (LTS)
* Groovy Gorilla 20.10
* Hirsute Hippo 21.04 (under development)
### Footnotes
@ -83,8 +89,9 @@ known to work reliably, i.e.:
<dt><a id="1" name="1">¹</a></dt><dd>
Installation with `xen-create-image` and updating with
`xen-update-image` might fail with newer kernels/distributions as Dom0
without `vsyscall=emulate` on the kernel commandline.
`xen-update-image` might fail with newer kernels/distributions running
on the Dom0 unless they have been booted with `vsyscall=emulate` on
the kernel commandline.
</dd><dt><a id="2" name="2">²</a></dt><dd>
@ -244,8 +251,8 @@ Version Numbering Scheme
Since release 4.4, the version numbering scheme of xen-tools tries to
comply with the [Semantic Versioning](http://semver.org/)
specification, with the only exception that trailing zeroes are
omitted.
specification, with the only exception that in releases before 4.10
trailing zeroes were omitted.
Between the releases 3.9 and 4.4, the version numbering scheme
followed roughly the same ideas, but less strict.

View File

@ -59,6 +59,12 @@ Bugs to fix and features to add for 5.0
in `/etc/default/grub` if trying to install an affected Linux
distribution.
* Drop checking the host's sources.list to decide upon including the
security repo or not.
* Make a difference wrt. to the security repo for EoL releases.
Stuff from Steve's TODO list / Generic TODOs
--------------------------------------------

View File

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

View File

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

View File

@ -167,7 +167,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.8';
my $RELEASE = '4.10.0';
#
@ -269,13 +269,25 @@ sub parseCommandLineArguments
my $VERSION = 0;
$CONFIG{ 'dry-run' } = 0;
#
# We record the installation method here because we want
# to ensure that we allow the method supplied upon the command line
# to overwrite the one we might have ready read from the configuration
# file.
#
my %install;
$install{ 'evms' } = undef;
$install{ 'dir' } = undef;
$install{ 'lvm' } = undef;
$install{ 'zpool' } = undef;
# Parse options.
#
GetOptions( "dir=s", \$CONFIG{ 'dir' },
GetOptions( "dir=s", \$install{ 'dir' },
"dry-run", \$CONFIG{ 'dry-run' },
"lvm=s", \$CONFIG{ 'lvm' },
"evms=s", \$CONFIG{ 'evms' },
"zpool=s", \$CONFIG{ 'zpool' },
"lvm=s", \$install{ 'lvm' },
"evms=s", \$install{ 'evms' },
"zpool=s", \$install{ 'zpool' },
"extension:s", \$CONFIG{ 'extension' },
"hostname=s@", \$CONFIG{ 'hostname' },
"test", \$CONFIG{ 'test' },
@ -286,6 +298,39 @@ sub parseCommandLineArguments
"version", \$VERSION
);
#
# Now make ensure that the command line setting of '--lvm', '--evms', '--zpool'
# and '--dir=x' override anything specified in the configuration file.
#
if ( $install{ 'dir' } )
{
$CONFIG{ 'dir' } = $install{ 'dir' };
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'zpool' } = undef;
}
if ( $install{ 'evms' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'evms' } = $install{ 'evms' };
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'zpool' } = undef;
}
if ( $install{ 'lvm' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = $install{ 'lvm' };
$CONFIG{ 'zpool' } = undef;
}
if ( $install{ 'zpool' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'zpool' } = $install{ 'zpool' };
}
pod2usage(1) if $HELP;
pod2usage( -verbose => 2 ) if $MANUAL;

View File

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

View File

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

View File

@ -113,7 +113,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.8';
my $RELEASE = '4.10.0';
#
@ -344,15 +344,52 @@ sub parseCommandLineArguments
my $MANUAL = 0;
my $VERSION = 0;
#
# We record the installation method here because we want
# to ensure that we allow the method supplied upon the command line
# to overwrite the one we might have ready read from the configuration
# file.
#
my %install;
$install{ 'evms' } = undef;
$install{ 'dir' } = undef;
$install{ 'lvm' } = undef;
# Parse options.
#
GetOptions( "dir=s", \$CONFIG{ 'dir' },
"lvm=s", \$CONFIG{ 'lvm' },
"evms=s", \$CONFIG{ 'evms' },
GetOptions( "dir=s", \$install{ 'dir' },
"lvm=s", \$install{ 'lvm' },
"evms=s", \$install{ 'evms' },
"help", \$HELP,
"manual", \$MANUAL,
"version", \$VERSION );
#
# Now make ensure that the command line setting of '--lvm', '--evms', '--zpool'
# and '--dir=x' override anything specified in the configuration file.
#
if ( $install{ 'dir' } )
{
$CONFIG{ 'dir' } = $install{ 'dir' };
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'zpool' } = undef;
}
if ( $install{ 'evms' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'evms' } = $install{ 'evms' };
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'zpool' } = undef;
}
if ( $install{ 'lvm' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = $install{ 'lvm' };
$CONFIG{ 'zpool' } = undef;
}
pod2usage(1) if $HELP;
pod2usage( -verbose => 2 ) if $MANUAL;

View File

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

View File

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

View File

@ -9,8 +9,9 @@ mirror for DomUs on Debian and Ubuntu Dom0s.
=head1 SYNOPSIS
--suite Show suite
--mirror Show mirror
--suite Show suite
--mirror Show mirror
--sources-list=<file> Parse this file as sources.list
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
# release which is 10.04 at the time of writing.
my %fallback_suite = ( Debian => 'stable',
Ubuntu => 'bionic' );
Ubuntu => 'jammy' );
# Where to look for the sources.list to parse
my @sources_list_files = ( '/etc/apt/sources.list',
@ -79,7 +80,7 @@ use strict;
#
# Release number.
#
my $RELEASE = '4.8';
my $RELEASE = '4.10.0';
# Init
my $mirror = '';
@ -92,11 +93,13 @@ my $want_suite = 0;
my $want_version = 0;
my $want_help = 0;
my $want_manual = 0;
my $sources_list = undef;
my $result = GetOptions( 'mirror|m' => \$want_mirror,
'suite|s' => \$want_suite,
'version' => \$want_version,
'manual' => \$want_manual,
'sources-list=s' => \$sources_list,
'help' => \$want_help );
if ($want_help) {
@ -107,6 +110,10 @@ if ($want_manual) {
pod2usage( -verbose => 2 );
}
if (defined $sources_list) {
@sources_list_files = ($sources_list);
}
all_sources_list_files: foreach my $sources_list_file (@sources_list_files) {
if (-r $sources_list_file) {
# sources.list file exists, so it's something debianoid.
@ -136,7 +143,7 @@ all_sources_list_files: foreach my $sources_list_file (@sources_list_files) {
# Skip updates, backports, volatile or security mirror.
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
$mirror = $source_components[1];

View File

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

19
debian/README.Debian vendored
View File

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

86
debian/changelog vendored
View File

@ -1,3 +1,85 @@
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
* New upstream bugfix and minor feature release.
+ Mark Debian 7 Wheezy and 8 Jessie as EoL.
+ Update list of Ubuntu and Debian releases.
+ distributions.conf: Fix typo in release name of future Debian 12
release (bookwork → bookworm).
+ Actually install xen-resize-guest tool. (Thanks lintian for the
spare-manual-page warning!)
+ Distinguish between those Debian releases using $dist/updates for
security updates and those who use $dist-security. Thanks Paul Wise!
(Closes: #972749)
- Add test for this; needs libtest-file-contents-perl as build-dep.
+ Fix support for lvm_thin. Thanks to Andreas Sundstrom for the bug
report and patch! (Closes: #942244)
+ Mount /proc and /dev before calling update-grub. Thanks to Brandon
Bradley for the bug report and patch. (Closes: #815021)
+ Add Debian install rules for arm64. (GH #62; patch by Ian McLinden)
+ Add netplan p2p support for Ubuntu. (GH #58; patch by Volker Janzen)
+ Fix storage commandline options not overriding xen-tools.conf
settings also in xen-update-image and xen-delete-image. (GH #57;
patch by Volker Janzen)
+ partitions/sample-server: Change options=sync to
options=defaults. (GL MR !1; patch by Wolfgang Karall)
+ Start all Debian releases since Stretch (9) with pygrub by default.
* Recommend deboootstrap ≥ 1.0.117~ for working bootstrapping of Ubuntu
6.06 Dapper and 6.10 Edgy (see #659360) and for support of Ubuntu
17.10 Artful, 18.04 LTS Bionic, 18.10 Cosmic, 19.04 Disco, 19.10 Eoan,
and 20.04 Focal.
* Fix non-RFC-conforming four-letter day of week abbreviations in
ancient debian/changelog entries.
* Bump debian/watch version from 3 to 4. Thanks Lintian!
* Bump debhelper compatibility level to 13.
+ Build-depend on "debhelper-compat (= 13)" to replace debian/compat.
* Declare compliance with Debian Policy 4.5.1. (No changes required.)
* Adapt distributions.conf defaults to the fact that Debian Unstable
still ships Ubuntu keyrings as of 2018, see #978438.
-- Axel Beckert <abe@debian.org> Tue, 29 Dec 2020 12:19:51 +0100
xen-tools (4.8-1) unstable; urgency=medium
* New upstream release.
@ -989,7 +1071,7 @@ xen-tools (2.1-2) unstable; urgency=high
- Fixed several typos in the configuration file, and scripts.
(Closes: #375382)
-- Steve Kemp <skx@debian.org> Thur, 29 Jun 2006 10:31:23 +0000
-- Steve Kemp <skx@debian.org> Thu, 29 Jun 2006 10:31:23 +0000
xen-tools (2.1-1) unstable; urgency=high
@ -1003,7 +1085,7 @@ xen-tools (2.1-1) unstable; urgency=high
* Urgency set to high primarily because of the failure to create
swap devices.
-- Steve Kemp <skx@debian.org> Thur, 23 Jun 2006 10:08:32 +0000
-- Steve Kemp <skx@debian.org> Thu, 23 Jun 2006 10:08:32 +0000
xen-tools (2.0-1) unstable; urgency=low

1
debian/compat vendored
View File

@ -1 +0,0 @@
10

36
debian/control vendored
View File

@ -2,7 +2,7 @@ Source: xen-tools
Section: utils
Priority: optional
Maintainer: Axel Beckert <abe@debian.org>
Build-Depends: debhelper (>= 10~),
Build-Depends: debhelper-compat (= 13),
devscripts,
git,
libdata-validate-domain-perl,
@ -13,11 +13,13 @@ Build-Depends: debhelper (>= 10~),
liblog-message-perl | perl (<< 5.17.0),
libterm-ui-perl | perl (<< 5.17.0),
libsort-versions-perl,
libtest-file-contents-perl,
libtest-notabs-perl,
libtest-pod-coverage-perl,
libtest-pod-perl,
libtext-template-perl
Standards-Version: 4.3.0
libtext-template-perl,
mount
Standards-Version: 4.6.2
Homepage: https://xen-tools.org/software/xen-tools
Vcs-Browser: https://github.com/xen-tools/xen-tools
Vcs-Git: https://github.com/xen-tools/xen-tools.git
@ -35,11 +37,13 @@ Depends: debootstrap | cdebootstrap,
libsort-versions-perl,
libterm-ui-perl | perl (<< 5.17.0),
libtext-template-perl,
mount,
openssh-client,
perl,
${misc:Depends},
${perl:Depends}
Recommends: debian-archive-keyring,
debootstrap (>= 1.0.117~),
e2fsprogs,
libexpect-perl,
lvm2,
@ -47,7 +51,7 @@ Recommends: debian-archive-keyring,
ubuntu-keyring | ubuntu-archive-keyring,
xen-hypervisor,
xen-utils
Suggests: btrfs-progs | btrfs-tools,
Suggests: btrfs-progs,
cfengine2,
grub-xen-host,
reiserfsprogs,
@ -67,9 +71,11 @@ Description: Tools to manage Xen virtual servers
* Debian 7 Wheezy
* Debian 8 Jessie
* Debian 9 Stretch
* Debian 10 Buster (under development)
* Debian 11 Bullseye (future release name)
* Debian 12 Bookworm (future release name)
* Debian 10 Buster
* Debian 11 Bullseye
* Debian 12 Bookworm (under development)
* Debian 13 Trixie (knows about this future release name)
* Debian 14 Forky (knows about this future release name)
* Debian Sid (Unstable)
* Ubuntu 6.06 Dapper Drake (LTS)
* Ubuntu 6.10 Edgy Eft
@ -97,6 +103,20 @@ Description: Tools to manage Xen virtual servers
* Ubuntu 17.10 Artful Aardvark
* Ubuntu 18.04 Bionic Beaver (LTS)
* Ubuntu 18.10 Cosmic Cuttlefish
* Ubuntu 19.04 Disco Dingo (preliminary support, under development)
* Ubuntu 19.04 Disco Dingo
* Ubuntu 19.10 Eoan Ermine
* Ubuntu 20.04 Focal Fossa (LTS)
* Ubuntu 20.10 Groovy Gorilla
* 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 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-----
Version: GnuPG v1
mQINBEpaZ7ABEADMyzD1duYFiMgQpGOBPUkeCoSYOLIVk9ry+fwIkyiyvVZYBWuh
PtEdb+NLOPj/zfUFcoshfhm9bdCTlId1rger34/gOBN9r9NbawfiaUuOhxVzasrX
@ -12,136 +11,231 @@ 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
+XwhySae
=CO5C
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
PI/ChIP7uHLt4Ocw8UinS43AxQf+T4aIzlngElHWmXq3jKEVUB1mxw/9gz0U9Gne
1+jLy/b0CIXg4wGcstwConfp3BYuno2Q5rwf9A0nu0yu0eiZaFlzYoTN312Gwgwj
7Iql39jRy6bLpAEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/
/gCTU29mdHdhcmU6OlhWIFZlcnNpb24gMy4xMGEgIFJldjogMTIvMjkvOTQgKFBO
RyBwYXRjaCAxLjIpCgpDUkVBVE9SOiBYViBWZXJzaW9uIDMuMTBhICBSZXY6IDEy
LzI5Lzk0IChQTkcgcGF0Y2ggMS4yKSAgUXVhbGl0eSA9IDkwLCBTbW9vdGhpbmcg
PSAwCv/bAEMAAwICAwICAwMDAwQDAwQFCAUFBAQFCgcHBggMCgwMCwoLCw0OEhAN
DhEOCwsQFhARExQVFRUMDxcYFhQYEhQVFP/bAEMBAwQEBQQFCQUFCRQNCw0UFBQU
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/A
ABEIAGAAYAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJ
Cgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj
QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFla
Y2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQAD
AQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA
AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn
KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeI
iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri
4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP1TooooAK5Tx38UfDHw2sTc
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
=XJH8
-----END PGP PUBLIC KEY BLOCK-----

2
debian/watch vendored
View File

@ -4,7 +4,7 @@
#
# uscan version number - not the version of the software.
#
version=3
version=4
#

View File

@ -8,23 +8,25 @@
# Known keywords: eol, pygrub, default-keyring, dont-test
# Known generic keywords: *.gpg (uses the according /usr/share/keyrings/….gpg file)
#
sarge = debian eol
sarge = debian eol dont-test
etch = debian eol
lenny = debian eol
squeeze = debian eol default-keyring
wheezy = debian
jessie = debian
stretch = debian
buster = debian
bullseye = debian dont-test
bookwork = debian dont-test
sid = debian
wheezy = debian eol
jessie = debian eol
stretch = debian pygrub
buster = debian pygrub
bullseye = debian pygrub
bookworm = debian pygrub
trixie = debian pygrub
forky = debian pygrub dont-test
sid = debian pygrub
testing = debian
testing = debian pygrub
oldoldstable = debian dont-test
oldstable = debian
stable = debian
unstable = debian
oldstable = debian pygrub
stable = debian pygrub
unstable = debian pygrub
# Between at least debootstrap 1.0.37 and 1.0.93 (including), dapper
# and edgy may need manual adjustments in debootstrap's configuration,
@ -41,7 +43,7 @@ lucid = ubuntu eol pygrub
maverick = ubuntu eol pygrub
natty = 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
raring = ubuntu eol pygrub
saucy = ubuntu eol pygrub
@ -52,9 +54,18 @@ wily = ubuntu eol pygrub
xenial = ubuntu pygrub
yakkety = ubuntu eol pygrub
zesty = ubuntu eol pygrub ubuntu-keyring-2012-archive.gpg
artful = ubuntu pygrub
artful = ubuntu eol pygrub ubuntu-archive-keyring.gpg
bionic = ubuntu pygrub
cosmic = ubuntu pygrub
disco = ubuntu pygrub
cosmic = ubuntu eol pygrub ubuntu-archive-keyring.gpg
disco = ubuntu eol pygrub ubuntu-archive-keyring.gpg
eoan = ubuntu eol pygrub ubuntu-archive-keyring.gpg
focal = ubuntu pygrub
groovy = ubuntu eol pygrub
hirsute = ubuntu eol pygrub
impish = ubuntu eol pygrub
jammy = ubuntu pygrub
kinetic = ubuntu eol pygrub
lunar = ubuntu pygrub
mantic = ubuntu pygrub dont-test
devel = ubuntu pygrub dont-test

View File

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

View File

@ -72,6 +72,25 @@ setupStaticNetworking ()
if [ -n "${netmask}" ]; then
cidr="$(mask2cdr ${netmask})"
fi
# p2p code by Volker Janzen
gate=" gateway4: ${gateway}";
point='';
if [ -n "${p2p}" ]; then
# For a p2p setup the gateway4 keyword is replaced by the
# following on-link default route, when it matches the
# gateway4.
if [ "${p2p}" = "${gateway}" ]; then
gate=" routes:
- to: 0.0.0.0/0
via: ${p2p}
on-link: true"
else
gate="${gate}
routes:
- to: ${p2p}
on-link: true"
fi
fi
#
# We have a static IP address
@ -84,7 +103,7 @@ network:
ethernets:
eth0:
addresses: [${ip1}/${cidr}]
gateway4: ${gateway}
${gate}
nameservers:
addresses: [${nameserver}]
E_O_STATIC

View File

@ -40,7 +40,11 @@ fi
if [ ! -e ${prefix}/boot/grub/default ]; then
echo default > ${prefix}/boot/grub/default
fi
mount -o bind /proc ${prefix}/proc
mount -o bind /dev ${prefix}/dev
chroot ${prefix} /usr/sbin/update-grub
umount ${prefix}/proc
umount ${prefix}/dev
else
logMessage "pygrub not set, skipping grub-legacy installation"

View File

@ -66,23 +66,51 @@ if ( test "${dist}" "!=" "sid" && test "${dist}" "!=" "unstable" && \
test -e /etc/apt/sources.list && \
grep ^deb.*security -r /etc/apt/sources.list /etc/apt/sources.list.d >/dev/null 2>/dev/null ) ; then
cat <<E_O_APT >> ${prefix}/etc/apt/sources.list
#
# Security updates
#
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
#
# Security updates
#
deb http://security.debian.org/ ${dist}/updates main contrib non-free
deb-src http://security.debian.org/ ${dist}/updates main contrib non-free
E_O_APT
else
cat <<E_O_APT >> ${prefix}/etc/apt/sources.list
#
# Security updates
#
deb http://security.debian.org/ ${dist}-security main contrib non-free
deb-src http://security.debian.org/ ${dist}-security main contrib non-free
E_O_APT
fi
else
cat <<E_O_APT >> ${prefix}/etc/apt/sources.list
#
# Security updates - Uncomment to enable.
#
if echo "${dist}" | egrep -q '\b(sarge|etch|lenny|squeeze|wheezyjessie|stretch|buster)\b'; then
cat <<E_O_APT >> ${prefix}/etc/apt/sources.list
#
# Security updates - Uncomment to enable.
#
# deb http://security.debian.org/ ${dist}/updates main contrib non-free
# deb-src http://security.debian.org/ ${dist}/updates main contrib non-free
E_O_APT
else
cat <<E_O_APT >> ${prefix}/etc/apt/sources.list
#
# Security updates - Uncomment to enable.
#
# deb http://security.debian.org/ ${dist}-security main contrib non-free
# deb-src http://security.debian.org/ ${dist}-security main contrib non-free
E_O_APT
fi
fi
#

View File

@ -36,12 +36,16 @@ if [ "${arch}" = "i386" ]; then
XEN_ARCH="686"
elif [ "${arch}" = "amd64" ]; then
XEN_ARCH="amd64"
elif [ "${arch}" = "arm64" ]; then
XEN_ARCH="arm64"
elif [ -z "${arch}" ]; then
UNAME_ARCH=`uname -m`
if [ "${UNAME_ARCH}" = "i686" ]; then
XEN_ARCH="686"
elif [ "${UNAME_ARCH}" = "x86_64" ]; then
XEN_ARCH="amd64"
elif [ "${UNAME_ARCH}" = "aarch64" ]; then
XEN_ARCH="arm64"
else
logMessage Unknown kernel architecture ${UNAME_ARCH}.
logMessage Please report this as bug to xen-tools-dev@xen-tools.org.

View File

@ -2,7 +2,7 @@
size=1G
type=ext3
mountpoint=/
options=sync,errors=remount-ro
options=defaults,errors=remount-ro
[swap]
size=2G

95
t/hook-apt.t Executable file
View File

@ -0,0 +1,95 @@
#!perl -w
#
# Test that the /etc/inittab file is modified as we expect.
#
# Steve
# --
#
use strict;
use Test::More;
use Test::File::Contents;
use File::Temp;
use File::Copy;
use File::Path qw(make_path);
my $hook_dir = $ENV{AS_INSTALLED_TESTING} ? '/usr/share/xen-tools' : 'hooks';
foreach my $dist (qw(stretch buster bullseye bookworm sid)) {
testHook( $dist );
}
done_testing();
sub testHook
{
my ( $dist ) = ( @_ );
my $ea = 'etc/apt';
my $easl = "$ea/sources.list";
my $hook = "$hook_dir/" .
(
$ENV{AS_INSTALLED_TESTING} ?
$dist :
'debian'
) . '/20-setup-apt';
#
# Create a temporary directory to use as prefix
#
my $dir = File::Temp::tempdir( CLEANUP => 1 );
make_path( "$dir/$ea/apt.conf.d", { chmod => 0755 });
make_path( "$dir/bin", { chmod => 0755 });
my $tmphook = "$dir/bin/20-setup-apt";
#
# Make sure that worked.
#
ok( -d $dir, "temporary directory created OK [$dist]" );
ok( -d "$dir/bin",
"bin inside temporary directory created OK [$dist]" );
ok( -d "$dir/$ea",
"$ea inside temporary directory created OK [$dist]" );
# Create a copy of the 20-setup-apt hook to be able to comment out
# the chroot + apt-get update call.
File::Copy::cp( $hook, $tmphook );
ok( -e "$tmphook", "hook exists in temporary directory [$dist]" );
# File::Copy in Perl 5.10 does not copy permissions, so let's fix
# it there and check for it elsewhere.
if ($] < 5.011) {
chmod(0755, $tmphook);
} else {
ok( -x "$tmphook", "hook is executable in temporary directory [$dist]" );
}
no warnings qw(qw);
is(system(qw(sed -e s/chroot/#chroot/ -i), $tmphook) >> 8, 0,
"chroot call in hook could be deactivated [$dist]");
use warnings qw(qw);
#
# Set up some variables expected by the hook
#
$ENV{dist} = $dist;
$ENV{mirror} = 'http://deb.debian.org/debian';
#
# Call the hook
#
is(system($tmphook, $dir) >> 8, 0,
"hook for $dist exited with zero return code");
ok( -e "$dir/$easl", "A sources.list file has been created. [$dist]" );
if ($dist =~ /stretch|buster/) {
file_contents_like( "$dir/$easl", qr(\b${dist}/updates\b),
"sources.list contains $dist/updates");
file_contents_unlike( "$dir/$easl", qr(\b${dist}-security\b),
"sources.list doesn't contain $dist-security");
} else {
file_contents_like( "$dir/$easl", qr(\b${dist}-security\b),
"sources.list contains $dist-security");
file_contents_unlike( "$dir/$easl", qr(\b${dist}/updates\b),
"sources.list doesn't contain $dist/updates");
}
}

View File

@ -23,7 +23,7 @@ if (which('git') and -d '.git') {
use_ok( 'Git' );
# 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;
while (<$cmd>) { $output .= "--> $_" }
close $cmd;

View File

@ -9,11 +9,9 @@
use strict;
use File::Find;
use Test::More;
use Test::NoTabs;
# Check all Perl files
all_perl_files_ok();
#
# Find all the files beneath the current directory,
# and call 'checkFile' with the name.
@ -54,25 +52,36 @@ sub checkFile
my $isShell = 0;
my $isPerl = 0;
# Read the file.
open( INPUT, "<", $file );
foreach my $line ( <INPUT> )
{
if ( ( $line =~ /\/bin\/sh/ ) ||
( $line =~ /\/bin\/bash/ ) )
if ( $file =~ /\.sh$/ ) {
$isShell = 1;
} elsif ( $file =~ /\.(pl|pm|t)$/ ) {
$isPerl = 1;
} else {
# Read the file.
open( INPUT, "<", $file );
foreach my $line ( <INPUT> )
{
$isShell = 1;
last;
}
if ( $line =~ /\/usr\/bin\/perl/ )
{
last;
if ( ( $line =~ /^#! *\/bin\/sh/ ) ||
( $line =~ /^#! *\/bin\/bash/ ) )
{
$isShell = 1;
last;
}
if ( $line =~ /^#!.*\bperl\b/ )
{
$isPerl = 1;
last;
}
}
close( INPUT );
}
close( INPUT );
#
# Run check if it is a shell file.
#
notabs_ok( $file ) if $isShell;
notabs_ok( $file ) if $isShell or $isPerl;
}
done_testing();