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

Compare commits

..

133 Commits

Author SHA1 Message Date
Axel Beckert
2a9fdc71e7 Release as 4.8 and upload to unstable as 4.8-1 2019-02-09 01:57:46 +01:00
Axel Beckert
89795d71dc Add a DEP-12 debian/upstream/metadata file 2019-02-09 01:00:38 +01:00
Axel Beckert
2a3c3cebfb Add link to upstream changelog to README 2019-02-09 00:49:31 +01:00
Axel Beckert
2275c8f293 Clarification 2019-02-09 00:47:12 +01:00
Axel Beckert
449cc9a0bf Whitespace between footnote markers 2019-02-09 00:44:10 +01:00
Axel Beckert
baee245fbd Mark those Debian/Ubuntu releases which might fail inside chroot w/o vsyscall=emulate 2019-02-09 00:41:36 +01:00
Axel Beckert
ac55fba904 Mention netplan.io also in NEWS.markdown 2019-02-08 22:23:40 +01:00
Axel Beckert
2a476d1037 More Markdown formatting 2019-02-08 17:42:40 +01:00
Axel Beckert
19f30610a5 Proper Markdown formatting 2019-02-08 17:40:27 +01:00
Axel Beckert
a8df6e002f distributions.conf now supports arbitrary keyring files
Any tag ending in ".gpg" will be considered to be the according
keyring file in /usr/share/keyrings/. This is at least needed for some
Ubuntu releases which were eol'ed in the past few years, especially
because Ubuntu split up their keyrings much more finegrained than just
"archive" and "archive-removed-keys".
2019-02-08 17:37:11 +01:00
Axel Beckert
0d9a7cb12e Reenable release-testing of edgy and dapper since #659360 in debootstrap is now fixed 2019-02-08 17:11:05 +01:00
Axel Beckert
b05087b1cb Whitespace fix 2019-02-08 16:45:19 +01:00
Axel Beckert
58af2790a1 Add an explaining link under ASLR 2019-02-08 16:44:22 +01:00
Axel Beckert
1cda58c756 Make the footnotes compact description list
Hopefully, this is still recognised by modern browsers.
2019-02-08 16:41:30 +01:00
Axel Beckert
c66e5427ed File name and line numbers are not necessary for this warning → add \n 2019-02-08 16:40:08 +01:00
Axel Beckert
ad013d7b86 Try to make a footnote for the #659360 reference, as it's less important now 2019-02-08 16:39:07 +01:00
Axel Beckert
a6389c48df While officially being EoL, Ubuntu 17.10 Artful is still on the normal mirrors
So remove to eol tag again for now.
2019-02-08 15:13:58 +01:00
Axel Beckert
8d07785c3b More README fine-tuning 2019-02-08 14:51:39 +01:00
Axel Beckert
ead18c819a Fix wrong URL in README 2019-02-08 14:51:16 +01:00
Axel Beckert
e3ab23b55d README fine-tuning 2019-02-08 00:27:21 +01:00
Axel Beckert
82ecd4c6d2 Document potential need for the vsyscall=emulate kernel commandline option 2019-02-08 00:27:06 +01:00
Axel Beckert
f50d1e37a2 Only run xen-toolstack helper script if both, xm and xl are present
Avoids warning about deprecated helper script.
2019-02-07 16:26:06 +01:00
Axel Beckert
c774f81e80 More unconfusing of Emacs' syntax highlighting 2019-02-07 16:16:54 +01:00
Axel Beckert
c8316b0076 Unconfuse Emacs' syntax highlighting 2019-02-07 16:10:31 +01:00
Axel Beckert
d5c4589519 Fix copy and paste "typo" 2019-02-07 15:51:11 +01:00
Axel Beckert
17d868d38d Fix output redirection in release-testing script 2019-02-07 15:48:19 +01:00
Axel Beckert
42e7dca4bf Mark Ubuntu's devel alias as dont-test as debootstrap doesn't know about it 2019-02-07 15:35:12 +01:00
Axel Beckert
4872d18989 Many improvements for the release-testing script
* Don't abort on first failure, but log it and print a summary at the
  end.
* Allow to choose which distributions to test via environment variable
  $DISTRIBUTIONS.
* Don't overwrite log files from previous runs. Add a time stamp to
  the log file name instead.
2019-02-07 13:21:07 +01:00
Axel Beckert
1a5fd541cd Drop pygrub path detection from xm.tmpl
Xen prefers a path-less bootloader='pygrub'.
2019-02-07 03:28:54 +01:00
Axel Beckert
9817ff95c3 Suggest grub-xen-host
Support for pvgrub2 is not yet there, but it can be used already by
tweaking configuration files.
2019-02-07 02:54:11 +01:00
Axel Beckert
26427c9dc8 Set Ubuntu fallback suite to the latest LTS, i.e. 18.04 Bionic 2019-02-07 02:52:29 +01:00
Axel Beckert
5c76eb1a7d Migrate httpredir.debian.org → deb.debian.org 2019-02-07 02:50:20 +01:00
Axel Beckert
8723db0880 Fix copy & paste error in 9ee1f637 which prevented netplan to work 2019-02-07 02:48:17 +01:00
Axel Beckert
76221f5999 Add changelog items for previous commit 2019-02-04 02:04:21 +01:00
Pietro Stäheli
58306b9281 Add support for really random MAC addresses
Closes: #855703
2019-02-04 01:58:40 +01:00
Axel Beckert
7ce42e9781 Use ubuntu-keyring instead of now transitional ubuntu-archive-keyring
Keep the latter as alternative to allow one to install the xen-tools
package also on older Debian or Ubuntu releases.
2019-02-04 01:35:20 +01:00
Axel Beckert
3daa69256b Add changelog items for previous commit 2019-02-04 01:25:19 +01:00
Nico Boehr
5587dc796a Add support for LVM thin provisioning
This adds a parameter '--lvm_thin' to xen-create-image that allows you
to specify the thin pool where the thin logical volumes will be
created.

If '--lvm_thin' is not specified, nothing will change and thick
provisioned volumes will be created.

[Committer's note: Code logic taken from
https://github.com/youknow0/xen-tools-thin-provisioning/commit/a6f267ef
and adapted to current code. Needed more than just a rebase. All
trailing whitespace has been removed, too.]

Fixes xen-tools/xen-tools#47.
2019-02-04 01:14:57 +01:00
Axel Beckert
9ee1f63705 Create hooks/artful with new 40-setup-networking-deb-netplan
Since Ubuntu 17.10 Artful, Ubuntu has decided to use netplan instead
of ifupdown.

40-setup-networking-deb-netplan has been contributed by Arno and Peter.
(see https://github.com/xen-tools/xen-tools/issues/51#issuecomment-412019510)

Closes xen-tools/xen-tools#51.

Since we have to make a variant of hooks/karmic/ as hook/artful/,
rename hooks/karmic/80-install-kernel (which previously was unique to
hooks/karmic/) to hooks/common/80-install-kernel-ubuntu and add
symlinks to it from hooks/karmic/ and hook/artful/.
2019-02-03 23:30:45 +01:00
Axel Beckert
cfd4406a93 Add preliminary support for future Debian and recent Ubuntu releases
Partially addresses GH #51
2019-02-03 22:50:36 +01:00
Axel Beckert
647efb0e12 Check $DEB_BUILD_OPTIONS and $DEB_BUILD_PROFILES in override_dh_auto_test
Fixes lintian warning
override_dh_auto_test-does-not-check-DEB_BUILD_OPTIONS.
2019-02-03 19:42:03 +01:00
Axel Beckert
0a351b4dfb Separate upstream and packaging changelog items 2019-02-03 19:37:26 +01:00
Axel Beckert
dccf78c65e Set "Rules-Requires-Root: no" 2019-02-03 19:34:57 +01:00
Axel Beckert
3a15c11a7e Declare compliance with Debian Policy 4.3.0
No other changes were required.
2019-02-03 19:34:57 +01:00
Axel Beckert
19e117b9f3 Bump debhelper compatibility level to 10
Update versioned debhelper build-dependency accordingly.

Only using dh compat level 10 allows one to still build the package on
Debian 9 Stretch without backports (debhelper 10.x), on Ubuntu 18.04
LTS (debehlper 11.x) and on Ubuntu 16.04 LTS with backports (debhelper
10.x).
2019-02-03 19:34:50 +01:00
Axel Beckert
f1052fcdaa Add changelog and NEWS entries for Yuri's pull-request #42 2019-02-03 17:41:09 +01:00
Axel Beckert
b9e0284a43 Drop --quiet from installDebianPackageAndRecommends
See https://github.com/xen-tools/xen-tools/pull/42#issuecomment-212903567
2019-02-03 17:38:22 +01:00
Axel Beckert
26a698bbd6 Merge branch 'no-progress-in-logs' of https://github.com/YSakhno/xen-tools into YSakhno-no-progress-in-logs 2019-02-03 17:35:52 +01:00
Axel Beckert
1ad05c0d66 Mention ZFS support in changelog and NEWS, bump version to 4.8 (unreleased) 2019-02-03 17:32:29 +01:00
Axel Beckert
8f527122c5 Merge branch 'zfs-volume' of https://github.com/brigriffin/xen-tools into brigriffin-zfs-volume 2019-02-03 17:25:08 +01:00
Axel Beckert
c3b8d7fda5 Add some more details to previous changelog item 2019-02-03 17:20:51 +01:00
Jelmer Vernooij
53800af963 Trim trailing whitespace.
Fixes lintian: file-contains-trailing-whitespace
See https://lintian.debian.org/tags/file-contains-trailing-whitespace.html for more details.
2019-02-03 17:20:22 +01:00
Axel Beckert
a78388dd1e Bump version number to 4.7.1 (yet unreleased) 2019-02-03 17:12:35 +01:00
Axel Beckert
07e56db75c Merge branch 'debian' 2019-02-03 17:09:10 +01:00
Marc
1634fe5e80 Remove tabs 2018-05-06 00:01:16 +02:00
Marc
f1083cfa55 Add support for ZFS volumes 2018-05-05 23:14:00 +02:00
Axel Beckert
6485f686b7 Prefer btrfs-progs over now transitional package btrfs-tools
Closes: #878910
2018-01-22 23:29:15 +01:00
Axel Beckert
207c73c7bb Recommend e2fsprogs
Closes: #887236
2018-01-22 23:27:43 +01:00
Axel Beckert
fff2eccbe3 Switch "activate" trigger to "activate-noawait" 2018-01-22 23:24:09 +01:00
Axel Beckert
e6ffe50bb6 debian/control: Drop "Testsuite: autopkgtest" header, no more needed 2018-01-22 23:21:46 +01:00
Axel Beckert
76a35e28d1 Use "$(MAKE)" instead of "make" in debian/rules 2018-01-22 23:19:37 +01:00
Axel Beckert
de1eea7fa2 Declare compliance with Debian Policy 4.1.3
Change Priority from extra to optional.
2018-01-22 23:18:16 +01:00
Axel Beckert
422f682b37 Fix comments wrt. /etc/xen-tools/skel/ 2017-08-04 00:45:11 +02:00
Axel Beckert
326bd72ebb Also fix wrong bug number for #849867 in upstream changelog 2017-01-23 01:39:23 +01:00
Axel Beckert
52c39a7c09 Debian: Fix wrong bug number for #849867 in previous changelog entry 2017-01-23 01:39:04 +01:00
Axel Beckert
b7e8fafcb1 Release as xen-tools 4.7
Also upload to Debian as 4.7-1.
2017-01-23 00:41:40 +01:00
Axel Beckert
44fc213fc7 release-testing: Add some helpful output and raise waiting time to 10 seconds 2017-01-17 21:20:01 +01:00
Axel Beckert
862ce3b17c release-testing: Untangle deletion and creation of Domus
This hopefully further mitigates LVM race conditions during heavy
testing.
2017-01-17 21:06:39 +01:00
Axel Beckert
0317940815 release-testing: Further mitigate LVM race conditions by using xen-delete-image 2017-01-17 20:46:44 +01:00
Axel Beckert
c3fcf5f4ba Don't include oldoldstable in release testing
It's not always and especially currently not available.
2017-01-17 20:45:44 +01:00
Axel Beckert
ab9b6c7d38 release-testing: Use exec to create the log to not cover the exit code 2017-01-17 20:45:43 +01:00
Axel Beckert
d315f17eff Work around LVM related race condition when using --force with LVM
If an "lvremove" is immediately followed by an "lvcreate" for an LV
with the same name, "mkswap" (and maybe other commands) occasionally
fail with "Device or resource busy".

Work around it by using sync and sleep.
2017-01-17 20:44:34 +01:00
Axel Beckert
9c0086120f List new distributions.conf keywords explicitly 2017-01-17 20:44:34 +01:00
Axel Beckert
76aabb0eb5 Declare testability in distributions.conf instead of hardcoding it
Mark buster and bullseye as not testable, too, for now.

Move comment about #659360 (debootstrap cannot build Ubuntu Edgy or
earlier) from release-testing to distributions.conf, too.
2017-01-17 20:44:19 +01:00
Axel Beckert
126d0ad5bc release-testing: Use "set -e" instead of "|| break" 2017-01-17 17:44:05 +01:00
Axel Beckert
5b8ef34ee6 Use per-test-unique host names
Avoids race conditions with immediately re-used LVs.
2017-01-17 17:40:26 +01:00
Axel Beckert
0f1daa0b27 Support cases like Squeeze being EoL, but its key still being in the default keyring 2017-01-16 20:06:23 +01:00
Axel Beckert
9647ab082c Fix emacs syntax highlighting
At least GNU Emacs 25 doesn't seem to like HEREDOCS with underscores
in its delimiters.
2017-01-16 19:32:36 +01:00
Axel Beckert
799052c2c9 [release testing] Heavier workaround for LVM-related race conditions 2017-01-10 23:58:30 +01:00
Axel Beckert
c84431bdb0 Fix missing colon
Thanks Lintian!
2017-01-10 22:22:07 +01:00
Axel Beckert
9f6b91fdbf Preliminary support for Ubuntu 17.04 Zesty Zapus 2017-01-10 22:20:57 +01:00
Axel Beckert
1bd9b3e1a8 Add changelog items for previous commit 2017-01-10 21:48:42 +01:00
Santiago Vila
07d014a0d6 Fix possible missing gateway in generated /etc/network/interfaces
Closes: https://bugs.debian.org/764625
2017-01-10 21:46:03 +01:00
Axel Beckert
66a74b6f9f Add changelog items for previous commit 2017-01-10 21:32:18 +01:00
Daniel Reichelt
ef09662822 Fix inconsistent handling of --nopygrub parameter
Closes: https://bugs.debian.org/842609
2017-01-10 21:29:30 +01:00
Axel Beckert
40191bbd07 Default file system is now ext4 (instead of ext3) 2017-01-10 21:24:13 +01:00
Axel Beckert
7a3791d1aa Risen default values for RAM sizes in /etc/xen-tools/xen-tools.cfg
128 MB are no more sufficient to boot Debian Sid. It needs at least
around 136 MB on amd64 as of now.

Closes: https://bugs.debian.org/849867
2017-01-10 21:05:10 +01:00
Axel Beckert
4d4daca745 Fix typos found by check-all-the-things/spellintian 2016-08-11 21:47:35 +02:00
Axel Beckert
bdc34f7deb Travis CI: Also check with Perl 5.24 2016-08-11 21:36:35 +02:00
Axel Beckert
18b76606d2 Fix typos found by check-all-the-things/codespell 2016-08-11 21:35:41 +02:00
Axel Beckert
7e6bbc01a8 Clarify one paragraph in SUPPORT.markdown 2016-08-11 20:55:12 +02:00
Axel Beckert
ca9e091d4b Switch many URLs to https://; update them if broken or redirected 2016-08-11 20:53:10 +02:00
Axel Beckert
32fcc069b4 Ignore debhelper stamp files 2016-08-11 20:08:29 +02:00
Axel Beckert
5d7954dde2 Support Ubuntu's "devel" alias 2016-08-11 20:04:28 +02:00
Axel Beckert
beda1b78a5 Update distribution list 2016-08-11 20:02:21 +02:00
Axel Beckert
e53e8ed2d8 TODO: Fix xdm and gdm roles wrt. to uptodate package names 2016-06-07 09:09:25 +02:00
Yuri Sakhno
230167d84a Small fix due to some messages being written to stderr rather than stdout 2016-04-20 14:24:08 +03:00
Yuri Sakhno
87dd127cf8 Eliminate progress reporting which is useless in logs 2016-04-20 11:45:39 +03:00
Axel Beckert
b0177f013e Debian packaging: Use NEWS.markdown as upstream changelog
No more install it as separate documentation.
2016-04-17 01:00:18 +02:00
Axel Beckert
a2438497c7 Fix typo found by lintian 2016-04-17 00:56:30 +02:00
Axel Beckert
808bbe790f Declare compliance with Debian Policy 3.9.8
No further changes were required to reach compliance.
2016-04-17 00:53:53 +02:00
Axel Beckert
bfc7c833a7 Add changelog entries for previous fix
… and other minor stuff.
2016-04-17 00:51:59 +02:00
Yuri Sakhno
fa276179d8 Fix for the exit code reporting in case of error 2016-04-17 00:47:31 +02:00
Axel Beckert
7e7feb49b5 Add a short sleep to release-testing for umount race condition 2015-12-24 11:55:31 +01:00
Axel Beckert
0f731a049c Prepare release 4.6.2 2015-12-23 18:41:16 +01:00
Axel Beckert
cf034d932e Fix unescaped braces (deprecated with Perl 5.22) in t/plugin-checks.t 2015-12-23 18:12:49 +01:00
Axel Beckert
761f324a14 Travis-CI: Also test with Perl 5.22 2015-12-16 19:55:00 +01:00
Axel Beckert
b16fe28925 Make t/hooks-inittab.t using its own inittab copy
Don't use the system's one. Besides being non-existent, it can look
like whatever.

This resolves GH-36.
2015-12-16 18:01:38 +01:00
Axel Beckert
3169cc49b7 Add changelog entries for the two previous pull requests 2015-12-11 00:18:11 +01:00
Axel Beckert
10fe70b923 Merge pull request #37 from nirgal/patch-1
Fixed typo in initramfs comment
2015-12-11 00:15:09 +01:00
Axel Beckert
0f1a90cc1d Merge pull request #38 from olivierpierre/master
In etc/xm.tmpl, added /usr/local/bin/pygrub to pygrub search path.
2015-12-11 00:14:29 +01:00
Pierre Olivier
0682c1c704 In etc/xm.tmpl, added /usr/local/bin/pygrub to pygrub search path. 2015-12-10 15:38:58 -05:00
nirgal
19db4cd9e2 Fixed typo in initramfs comment 2015-11-22 14:05:20 +01:00
Axel Beckert
411a0a34c6 Also ignore /debian/xen-tools.*.debhelper 2015-10-24 02:45:37 +02:00
Axel Beckert
a9a626883a Support checking upstream GPG signature in debian/watch 2015-10-24 02:43:43 +02:00
Axel Beckert
f5c88f830f Release as 4.6.1 2015-10-24 01:15:22 +02:00
Axel Beckert
919f06c8e1 No more use $#array in boolean context
This fixes a regression introduced in
503db1668b.

`@array = undef` doesn't empty an array but fills it with one item
which is undef. Hence `$#array` is zero and hence false.

Since the commit above, `@array = ()` was used instead of `@array =
undef`, hence `$#array` no more was false when the array seemed to be
empty (but wasn't). This caused an empty partition table in the
configuration file and hence prohibited the start of the DomU.

This commit fixes the according `!$#array` to just `!@array` and adds
the according changelog entry for both commits. (I initially thought
that such a tiny commit like the one above is not worth being
mentioned. I obviously was wrong.)
2015-10-24 00:34:26 +02:00
Axel Beckert
53b2743e93 Fix typo in previous changelog entry 2015-10-23 22:29:39 +02:00
Axel Beckert
377e7b2f0b Add "(LTS)" to all Ubuntu LTS releases listed in README 2015-10-23 21:20:03 +02:00
Axel Beckert
7f16aa06fe Preliminary support for Ubuntu 16.04 LTS Xenial Xerus 2015-10-23 21:20:03 +02:00
Axel Beckert
ae4f1587fd Remove obsolete conffile via dpkg-maintscript-helper 2015-09-11 12:04:54 +02:00
Axel Beckert
5c0679ca45 Fix Perl warning in t/hook-inittab.t if /etc/inittab isn't present
aka "proper use of skip".

Fixes autopkgtest which failed due to STDERR output.
2015-07-30 18:58:47 +02:00
Axel Beckert
00d283cf24 #787117 in debootstrap has been fixed, remove according warnings from README 2015-07-28 16:13:04 +02:00
Axel Beckert
c338923052 Add note that most TODOs were moved to GitHub's issue tracker 2015-07-21 15:27:39 +02:00
Axel Beckert
c2578fe537 Remove obsolete TODOs 2015-07-21 15:24:38 +02:00
Axel Beckert
f4bcc02bdb Remove from TODO what has been copied to GitHub Issues 2015-07-21 15:23:47 +02:00
Axel Beckert
503db1668b Don't use @array = undef 2015-07-21 13:36:01 +02:00
Axel Beckert
229d20b16b Move remaining contents of KNOWN_BUGS.markdown to the GitHub issue tracker 2015-07-21 13:35:04 +02:00
Axel Beckert
ec4b692c22 Remove already fixed issue from KNOWN_BUGS
According to the `mount(8)` man page, `-a` mounts the filesystems
_following their order in fstab_. So reproducing that does not help in
our case and the implemented workaround (sort by mountpoint length)
should be sufficient.
2015-07-21 13:20:34 +02:00
Axel Beckert
d04850da83 Sort distribution-specific bug trackers last 2015-07-21 12:17:28 +02:00
Axel Beckert
00d405d71d Integrate BUGS.markdown into README.markdown 2015-07-21 12:15:43 +02:00
Axel Beckert
058cf38946 Declare GitHub as primary hosting 2015-07-21 12:05:57 +02:00
Axel Beckert
163ea52097 Remove superfluous blank line 2015-07-20 18:33:48 +02:00
110 changed files with 1409 additions and 556 deletions

2
.gitignore vendored
View File

@@ -15,10 +15,12 @@
/build-stamp /build-stamp
/configure-stamp /configure-stamp
/man /man
/debian/*-stamp
/debian/files /debian/files
/debian/xen-tools /debian/xen-tools
/debian/xen-tools.debhelper.log /debian/xen-tools.debhelper.log
/debian/xen-tools.substvars /debian/xen-tools.substvars
/debian/xen-tools.*.debhelper
# git-generated patches # git-generated patches
/*.patch /*.patch

View File

@@ -1,5 +1,7 @@
language: perl language: perl
perl: perl:
- "5.24"
- "5.22"
- "5.20" - "5.20"
- "5.18" - "5.18"
- "5.16" - "5.16"

View File

@@ -65,7 +65,7 @@ Contributions
- Added hook for automatic CFEngine installation. - Added hook for automatic CFEngine installation.
Sascha Kettler <kettler [at] net.gmx> Sascha Kettler <kettler [at] net.gmx>
- Implemented support for arbitary partitioning schemes. - Implemented support for arbitrary partitioning schemes.
Eric Lemoine <eric.lemoine [at] com.gmail> Eric Lemoine <eric.lemoine [at] com.gmail>
- Improved binary detection and good suggestions. - Improved binary detection and good suggestions.

View File

@@ -1,23 +0,0 @@
Reporting Bugs
==============
To report a bug please use the [xen-tools-discuss* mailing
list](http://xen-tools.org/software/xen-tools/lists.html).
If you're capable of fixing it yourself a patch is appreciated, and a
test case would be a useful bonus.
Known Bugs
==========
The Debian bug tracker contains a [list of all currently open
issues](http://bugs.debian.org/xen-tools) which have been reported by
the users of the Debian package (the primary user-base).
If you're running the code on a Debian host system then reporting bugs
against this package is a good thing to do; by doing so you allow
others to view issues, and I check the bug-page regularly.
--
The Xen-Tools Developer Team

View File

@@ -1,29 +0,0 @@
KNOWN BUGS in xen-tools
=======================
Bugs to fix rather soon
-----------------------
* `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.
[Bug Report](http://xen-tools.org/pipermail/xen-tools-discuss/2010-May/000757.html)
* partitions were mounted in config file order, not in mountpoint order.
That implies that if you specified :
/boot
/
in that order, `/` was mounted _over_ `/boot`, and you would not
_see_ `/boot`. Xen-Tools would then install `boot` on your `/`
partition, and your boot device was just empty and unbootable.
Workaround for 4.2 is to write your partition file such as mounts overlap
correctly when mounted in specified order.
Current (unreleased) fix is to sort by mountpoint length.
Fix would be to reproduce what mount does with mount `-a`.

View File

@@ -19,7 +19,7 @@ The text of both of these licenses follows below.
Steve Steve
-- --
http://www.steve.org.uk/ https://steve.fi/

View File

@@ -6,7 +6,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
# #
# #
@@ -14,7 +14,7 @@
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
DIST_PREFIX = ${TMPDIR} DIST_PREFIX = ${TMPDIR}
VERSION = 4.6 VERSION = 4.8
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
@@ -181,6 +181,9 @@ install-hooks:
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d wheezy.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d wheezy.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d jessie.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d jessie.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d stretch.d -cd ${prefix}/usr/share/xen-tools/ && ln -s debian.d stretch.d
-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 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
@@ -213,6 +216,15 @@ install-hooks:
-cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d utopic.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d utopic.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d vivid.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d vivid.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d wily.d -cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d wily.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d xenial.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d yakkety.d
-cd ${prefix}/usr/share/xen-tools/ && ln -s karmic.d zesty.d
mkdir -p ${prefix}/usr/share/xen-tools/artful.d/
cp -R hooks/artful/*-* ${prefix}/usr/share/xen-tools/artful.d/
-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 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

View File

@@ -1,3 +1,155 @@
xen-tools 4.8 (released 9 Feb 2019)
===================================
New Features
------------
* Support for ZFS volumes (by Marc Bigler, GH #50)
* Support for LVM thin provisioning (by Nico Boehr, GH #47)
* Support for really random MAC addresses upon every `xen-create-image`
invocation by using the new option `--randommac`. (by Pietro Stäheli,
closes Debian bug report #855703)
* `distributions.conf` now supports arbitrary keyring files in
`/usr/share/keyrings/`. (Needed for some EoL Ubuntu releases.)
* Support for netplan.io network configuration as used in recent
Ubuntu releases. (Hook by Arno and Peter, GH #51)
Bug Fixes
---------
* Minor documentation fixes.
* Eliminate progress reporting which is useless in logs. (Yuri Sakhno,
GH #42)
* Drop `pygrub` path detection from `xm.tmpl`, Xen prefers a path-less
`bootloader='pygrub'`.
Distribution Releases Changes
-----------------------------
* Support for
+ Ubuntu 17.10 Artful Aardvark
+ Ubuntu 18.04 Bionic Beaver (LTS) (GH #51)
+ Ubuntu 18.10 Cosmic Cuttlefish
* Preliminary support for Ubuntu 19.04 Disco Dingo
* Knows about code name for Debian 12 (Bookworm).
* Considers Ubuntu Yakkety, Zesty and Artful being EoL.
* Set Ubuntu fallback suite to the latest LTS, i.e. 18.04 Bionic.
Other Changes
-------------
* Change all occurrences of `httpredir.debian.org` to
`deb.debian.org` except those for the `debian-archive`. The latter
now point to `archive.debian.org` directly.
* Many improvements for the `release-testing` script.
* Only run `xen-toolstack` helper script if both, `xm` and `xl` are
present. Avoids warning about deprecated helper script.
xen-tools 4.7 (released 23 Jan 2017)
====================================
New Features
------------
New keywords in distributions.conf: default-keyring, dont-test
* Support situations where distributions (e.g. Squeeze) might be end
of life, but its archive signing key is still not removed from the
default keyring. (As of this writing, that's the case for Debian 6
Squeeze on Debian 8 Jessie.)
Bug Fixes
---------
* Fixes reported error code in case of subcommand failure (Reported
and fixed by Yuri Sakhno, thanks!)
* Fixes inconsistent/non-functional handling of --nopygrub parameter.
Thanks Daniel Reichelt for the bug report and patch! (Closes
Debian bug report #842609)
* Fixes possible missing gateway in generated /etc/network/interfaces.
Thanks Santiago Vila for the bug report and patch! (Closes Debian
bug report #764625)
* Fixes typo found by Lintian.
* Work around LVM related race condition when using --force with LVM:
If an "lvremove" is immediately followed by an "lvcreate" for an LV
with the same name, "mkswap" (and maybe other commands) occasionally
fail with "Device or resource busy". Work around it by using sync
and sleep.
Distribution Releases Changes
-----------------------------
* Support for Ubuntu 16.10 Yakkety Yak.
* Preliminary support for Ubuntu 17.04 Zesty Zapus.
* Knows about code names for Debian 10 (Buster) and 11 (Bullseye).
* Considers Debian Squeeze, Ubuntu Vivid and Wily being EoL.
* Knows about Ubuntu's "devel" alias.
Other Changes
-------------
* Risen default values for RAM sizes in /etc/xen-tools/xen-tools.cfg
to cope with risen resource consumption and availability. (Closes
Debian bug report #849867)
* Default file system is now ext4 (instead of ext3).
Test Suite
----------
* release-testing:
+ Mitigate race conditions with immediately re-used LVs:
- Use per-test-unique host names.
- Delete potential old images by testing xen-delete-image before
calling xen-create-image. Add sync and sleep calls inbetween
those two commands, too.
+ Use "set -e" instead of "|| break".
+ Declare testability in distributions.conf instead of hardcoding
it. Mark buster and bullseye as not testable, too, for now.
xen-tools 4.6.2 (released 23 Dec 2015)
======================================
Bug Fixes
---------
* Make t/hooks-inittab.t using its own copy of the generic
/etc/inittab for testing instead of using the system one's. (GH#36,
should fix autopkgtest on systems with modified /etc/inittab)
* Fix unescaped braces (deprecated since Perl 5.22) in
t/plugin-checks.t.
Other changes
-------------
* Support for using pygrub from /usr/local/bin/pygrub.
* Typo fixes.
xen-tools 4.6.1 (released 24 Oct 2015)
======================================
Distribution Releases Changes
-----------------------------
* Preliminary support for Ubuntu 16.04 LTS Xenial Xerus.
Bug Fixes
---------
* Fix Perl warning in t/hook-inittab.t if /etc/inittab isn't present.
Other Changes
-------------
* Declare GitHub as primary hosting.
* Integrate BUGS.markdown into README.markdown, move remaining
contents of KNOWN_BUGS.markdown to the GitHub issue tracker.
* Minor README improvements.
* Neither use $#array in boolean context nor @array = undef anymore.
xen-tools 4.6 (released 20 Jul 2015) xen-tools 4.6 (released 20 Jul 2015)
==================================== ====================================
@@ -12,7 +164,7 @@ New Features and Major Changes
passwords in older releases. Does not affect passwords changed later passwords in older releases. Does not affect passwords changed later
inside the DomU. inside the DomU.
* Split off hardcoded release code names list and default mirrors in * Split off hardcoded release code names list and default mirrors in
`xen-create-image` into separate configuration file which are parsed `xen-create-image` into separate configuration file which is parsed
before the default settings or command-line options are set. before the default settings or command-line options are set.
* Report all SSH fingerprints of the created DomU, not only RSA ones. * Report all SSH fingerprints of the created DomU, not only RSA ones.
* Support VLANs with Open vSwitch (GH-2). Thanks to Félix Barbeira for * Support VLANs with Open vSwitch (GH-2). Thanks to Félix Barbeira for
@@ -29,9 +181,9 @@ Distribution Releases Changes
----------------------------- -----------------------------
* Debian 9 Stretch (preliminary support) * Debian 9 Stretch (preliminary support)
* Ubuntu 15.10 Wily Werewolf (preliminary support; not yet suported by * Ubuntu 15.10 Wily Werewolf (preliminary support; not yet supported by
debootstrap, see Debian bug report #787117) debootstrap, see Debian bug report #787117)
* Ubuntu 12.04 Lucid Lynx is now EoL. * Ubuntu 10.04 Lucid Lynx is now EoL.
* Ubuntu 14.10 Utopic Unicorn is now EoL. * Ubuntu 14.10 Utopic Unicorn is now EoL.
Improvements Improvements
@@ -57,7 +209,6 @@ Bug Fixes
versions which don't know either (but accept any `Foo=Bar` parameter versions which don't know either (but accept any `Foo=Bar` parameter
to `-o`). Allows one to install earlier Debian releases (e.g. Etch) to `-o`). Allows one to install earlier Debian releases (e.g. Etch)
with the default configuration again. with the default configuration again.
* Pass `--yes` to `lvcreate` only if LVM version is 2.02.99 or * Pass `--yes` to `lvcreate` only if LVM version is 2.02.99 or
higher. Fixes regression introduced with 4.5 by the fix for Debian higher. Fixes regression introduced with 4.5 by the fix for Debian
bug report #754517. bug report #754517.
@@ -292,7 +443,7 @@ New Features and Major Changes
* Also supports `cdebootstrap` * Also supports `cdebootstrap`
* Preliminary btrfs support. * Preliminary btrfs support.
* Uses GeoIP for Debian mirrors: Default Debian mirror is now * Uses GeoIP for Debian mirrors: Default Debian mirror is now
`cdn.debian.net`, see http://wiki.debian.org/DebianGeoMirror for `cdn.debian.net`, see https://wiki.debian.org/DebianGeoMirror for
details. details.
* New helper program `xt-guess-suite-and-mirror`, used to find the * New helper program `xt-guess-suite-and-mirror`, used to find the
default mirror and suite. default mirror and suite.

View File

@@ -3,12 +3,13 @@ xen-tools
[![Travis CI Build Status](https://api.travis-ci.org/xen-tools/xen-tools.svg)](https://travis-ci.org/xen-tools/xen-tools) [![Travis CI Build Status](https://api.travis-ci.org/xen-tools/xen-tools.svg)](https://travis-ci.org/xen-tools/xen-tools)
* [Homepage](http://www.xen-tools.org/software/xen-tools) * [Homepage](https://www.xen-tools.org/software/xen-tools)
* Git Repositories: * [Change Log](https://github.com/xen-tools/xen-tools/blob/master/NEWS.markdown)
* [at GitLab](http://gitlab.com/xen-tools/xen-tools) * Official Git Repositories:
* [at GitHub](http://github.com/xen-tools/xen-tools) * [at GitHub](https://github.com/xen-tools/xen-tools) (primary, includes [Issue Tracker](https://github.com/xen-tools/xen-tools/issues))
* [at Gitorious](http://gitorious.org/xen-tools) (_outdated_, no more updated, for historical reference only) * [at GitLab](https://gitlab.com/xen-tools/xen-tools) (secondary, doesn't support the `git://` protocol.)
* [Mailing Lists](http://www.xen-tools.org/software/xen-tools/lists.html) * Historical Git Repository: [at Gitorious](https://gitorious.org/xen-tools) (_outdated_, no more updated, for historical reference only)
* [Mailing Lists](https://www.xen-tools.org/software/xen-tools/lists.html)
About About
----- -----
@@ -21,7 +22,7 @@ Using this software, you can easily create new
network via [OpenSSH](http://www.openssh.org/). network via [OpenSSH](http://www.openssh.org/).
xen-tools currently has scripts to install most releases of xen-tools currently has scripts to install most releases of
[Debian](http://www.debian.org/) (starting with 3.1 "Sarge") and [Debian](https://www.debian.org/) (starting with 3.1 "Sarge") and
[Ubuntu](http://www.ubuntu.com/) (starting with 6.06 LTS "Dapper") and [Ubuntu](http://www.ubuntu.com/) (starting with 6.06 LTS "Dapper") and
some RPM-based distributions. On the Dom0 side all current Xen some RPM-based distributions. On the Dom0 side all current Xen
supporting distributions should work. supporting distributions should work.
@@ -31,51 +32,74 @@ known to work reliably, i.e.:
### Debian ### Debian
* Sarge 3.1 (i386 and DomU only) * Sarge 3.1 (i386 and DomU only) [¹](#1)
* Etch 4.0 (Dom0 no more tested) * Etch 4.0 (Dom0 no more tested) [¹](#1)
* Lenny 5.0 (Dom0 no more tested) * Lenny 5.0 (Dom0 no more tested) [¹](#1)
* Squeeze 6.0 (Dom0 no more tested) * Squeeze 6.0 (Dom0 no more tested) [¹](#1)
* Wheezy 7 * Wheezy 7 (Dom0 no more tested) [¹](#1)
* Jessie 8 * Jessie 8
* Stretch 9 (under development) * Stretch 9
* Buster 10 (under development)
* Bullseye 11 (knows about this future release name)
* Bookworm 12 (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
(only DomUs tested) (only DomUs tested)
* Dapper Drake 6.06 (needs editing of `/usr/share/debootstrap/scripts/dapper` since at least debootstrap version 1.0.37, see [#659360][1]) * Dapper Drake 6.06 (LTS) [¹](#1) [²](#2)
* Edgy Eft 6.10 (needs editing of `/usr/share/debootstrap/scripts/edgy` since at least debootstrap version 1.0.37, see [#659360][1]) * Edgy Eft 6.10 [¹](#1) [²](#2)
* Feisty Fawn 7.04 * Feisty Fawn 7.04 [¹](#1)
* Gutsy Gibbon 7.10 * Gutsy Gibbon 7.10 [¹](#1)
* Hardy Heron 8.04 (see [Installing Ubuntu 8.04 as DomU][2]) * Hardy Heron 8.04 (LTS, see [Installing Ubuntu 8.04 as DomU][2]) [¹](#1)
* Interpid Ibex 8.10 * Interpid Ibex 8.10 [¹](#1)
* Jaunty Jackaplope 9.04 * Jaunty Jackaplope 9.04 [¹](#1)
* Karmic Koala 9.10 * Karmic Koala 9.10 [¹](#1)
* Lucid Lynx 10.04 * Lucid Lynx 10.04 (LTS) [¹](#1)
* Maverick Meerkat 10.10 * Maverick Meerkat 10.10 [¹](#1)
* Natty Narwhal 11.04 * Natty Narwhal 11.04 [¹](#1)
* Oneiric Ocelot 11.10 * Oneiric Ocelot 11.10 [¹](#1)
* Precise Pangolin 12.04 * Precise Pangolin 12.04 (LTS) [¹](#1)
* Quantal Quetzal 12.10 * Quantal Quetzal 12.10
* Raring Ringtail 13.04 * Raring Ringtail 13.04
* Saucy Salamander 13.10 * Saucy Salamander 13.10
* Trusty Tahr 14.04 (LTS) * Trusty Tahr 14.04 (LTS)
* Utopic Unicorn 14.10 * Utopic Unicorn 14.10
* Vivid Vervet 15.04 * Vivid Vervet 15.04
* Wily Werewolf 15.10 (under development, not yet suported by * Wily Werewolf 15.10
debootstrap, see [#787117][3], but adding a symbolic link from * Xenial Xerus 16.04 (LTS)
`/usr/share/debootstrap/scripts/wily` to `gutsy` suffices.) * Yakkety Yak 16.10
* Zesty Zapus 17.04
* Artful Aardvark 17.10
* Bionic Beaver 18.04 (LTS)
* Cosmic Cuttlefish 18.10
* Disco Dingo 19.04 (under development)
[1]: http://bugs.debian.org/659360 ### Footnotes
<dl compact="compact">
<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.
</dd><dt><a id="2" name="2">²</a></dt><dd>
At least between debootstrap version 1.0.37
and 1.0.93 (including) these distributions needs editing of
`/usr/share/debootstrap/scripts/edgy`, see [#659360][1].
</dd></dl>
[1]: https://bugs.debian.org/659360
"debootstrap in Wheezy can no more build Ubuntu Edgy or earlier" "debootstrap in Wheezy can no more build Ubuntu Edgy or earlier"
[2]: http://www.linux-vserver.org/Installing_Ubuntu_8.04_Hardy_as_guest [2]: http://www.linux-vserver.org/Installing_Ubuntu_8.04_Hardy_as_guest
"There is an issue with debootstrap on hardy not installing ksyslogd." "There is an issue with debootstrap on hardy not installing ksyslogd."
[3]: https://bugs.debian.org/787117
"debootstrap: missing wily"
### CentOS ### CentOS
(only DomUs tested, pygrub support incomplete) (only DomUs tested, pygrub support incomplete)
@@ -96,35 +120,51 @@ Requirements
To use these tools you'll need the following software: To use these tools you'll need the following software:
* [debootstrap](http://packages.debian.org/debootstrap) * [debootstrap](https://packages.debian.org/debootstrap)
* Perl and the following Perl modules * Perl and the following Perl modules
* [Config::IniFiles](http://metacpan.org/release/Config-IniFiles) * [Config::IniFiles](https://metacpan.org/release/Config-IniFiles)
([Debian Package libconfig-inifiles-perl](http://packages.debian.org/libconfig-inifiles-perl)) ([Debian Package libconfig-inifiles-perl](https://packages.debian.org/libconfig-inifiles-perl))
* [Text::Template](http://metacpan.org/release/Text-Template) * [Text::Template](https://metacpan.org/release/Text-Template)
([Debian Package libtext-template-perl](http://packages.debian.org/libtext-template-perl)) ([Debian Package libtext-template-perl](https://packages.debian.org/libtext-template-perl))
* [Data::Validate::Domain](http://metacpan.org/release/Data-Validate-Domain) * [Data::Validate::Domain](https://metacpan.org/release/Data-Validate-Domain)
([Debian Package libdata-validate-domain-perl](http://packages.debian.org/libdata-validate-domain-perl)) ([Debian Package libdata-validate-domain-perl](https://packages.debian.org/libdata-validate-domain-perl))
* [Data::Validate::IP](http://metacpan.org/release/Data-Validate-IP) * [Data::Validate::IP](https://metacpan.org/release/Data-Validate-IP)
([Debian Package libdata-validate-ip-perl](http://packages.debian.org/libdata-validate-ip-perl)) ([Debian Package libdata-validate-ip-perl](https://packages.debian.org/libdata-validate-ip-perl))
* [Data::Validate::URI](http://metacpan.org/release/Data-Validate-URI) * [Data::Validate::URI](https://metacpan.org/release/Data-Validate-URI)
([Debian Package libdata-validate-uri-perl](http://packages.debian.org/libdata-validate-uri-perl)) ([Debian Package libdata-validate-uri-perl](https://packages.debian.org/libdata-validate-uri-perl))
* [File::Slurp](http://metacpan.org/release/File-Slurp) * [File::Slurp](https://metacpan.org/release/File-Slurp)
([Debian Package libfile-slurp-perl](http://packages.debian.org/libfile-slurp-perl)) ([Debian Package libfile-slurp-perl](https://packages.debian.org/libfile-slurp-perl))
* [File::Which](http://metacpan.org/release/File-Which) * [File::Which](https://metacpan.org/release/File-Which)
([Debian Package libfile-which-perl](http://packages.debian.org/libfile-which-perl)) ([Debian Package libfile-which-perl](https://packages.debian.org/libfile-which-perl))
* and some more modules which are part of the Perl core and hence do not need to be installed separately. * and some more modules which are part of the Perl core and hence do not need to be installed separately.
* Make, if you are not installing through a package manager * "Make", if you are not installing through a package manager.
You can try to install RPM-based distributions such as CentOS, or You can try to install RPM-based distributions such as CentOS, or
Fedora Core, but you will need a correctly installed and configured Fedora Core, but you will need a correctly installed and configured
[rinse](http://packages.debian.org/rinse) package. This is currently [rinse](https://packages.debian.org/rinse) package. This is currently
not fully supported. not fully supported.
If you wish to create new Xen instances which may be controlled by If you wish to create new Xen instances which may be controlled by
users via a login shell you can have a look at the (currently users via a login shell you can have a look at the (currently
unmaintained) [xen-shell](http://xen-tools.org/software/xen-shell/) unmaintained) [xen-shell](https://xen-tools.org/software/xen-shell/)
project. project.
### Caveats
For security reasons (avoid risk to circumvent [ASLR][3]), 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.
[3]: https://en.wikipedia.org/wiki/Address_space_layout_randomization
"Address Space Layout Randomization"
Installation Installation
------------ ------------
@@ -220,5 +260,37 @@ fraction of what xen-tools can do. Some of the scripts currently could
only be tested on an actual Xen Dom0. Hence the only be tested on an actual Xen Dom0. Hence the
[code coverage of xen-tools' test suite is quite bad](https://coveralls.io/r/xen-tools/xen-tools). [code coverage of xen-tools' test suite is quite bad](https://coveralls.io/r/xen-tools/xen-tools).
-- Bugs
----
### Reporting Bugs
If you're using the current packages included as part of the Debian
GNU/Linux distribution or a derivative, please first report any bugs
using the distribution's way to report bugs.
In case of Debian this would be using e.g. `reportbug xen-tools`.
If you're using the xen-tools built from source tar ball, please
[report bugs via GitHub's issue tracker](https://github.com/xen-tools/xen-tools/issues/new),
or, if you don't want to create a GitHub account or are not sure if
it's really a bug, feel free to just write an e-mail to the
[xen-tools dicsussion mailing list](mailto:xen-tools-discuss@xen-tools.org).
If you're capable of fixing it yourself a patch is appreciated, and a
test case would be a useful bonus.
### Known/Open Issues
You can check the following ressources for known or open issues:
* [xen-tools Issue Tracker at GitHub](https://github.com/xen-tools/xen-tools/issues)
(primary upstream bug tracker)
* [Mailing list archives of the xen-tools mailing lists](https://xen-tools.org/software/xen-tools/lists.html)
(might contain, loose, non-formal bug reports)
* [TODO file in the source code](https://github.com/xen-tools/xen-tools/blob/master/TODO.markdown)
* [xen-tools in the Debian Bug Tracking System](https://bugs.debian.org/xen-tools)
* [xen-tools in Ubuntu's Launchpad](https://bugs.launchpad.net/ubuntu/+source/xen-tools)
The Xen-Tools Developer Team The Xen-Tools Developer Team

View File

@@ -3,11 +3,11 @@ Mailing List
For assistance on using, or customising, these scripts please consult For assistance on using, or customising, these scripts please consult
the manpages initially, then the the manpages initially, then the
[website](http://xen-tools.org/software/xen-tools/). [website](https://xen-tools.org/software/xen-tools/).
If these are not sufficient resources please consider posting any If these are not sufficient resources please consider posting any
queries you might have to the [mailing queries you might have to the [mailing
list](http://xen-tools.org/software/xen-tools/lists.html) list](https://xen-tools.org/software/xen-tools/lists.html)
Included with the release you should find the file `BUGS.markdown` Included with the release you should find the file `BUGS.markdown`
which contains some notes on reporting bugs. which contains some notes on reporting bugs.
@@ -18,13 +18,13 @@ Xen Queries
If your query is mostly related to Xen, rather than these tools, then If your query is mostly related to Xen, rather than these tools, then
please consider joining the [xen-users mailing please consider joining the [xen-users mailing
list](http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users) list](https://lists.xenproject.org/cgi-bin/mailman/listinfo/xen-users)
The members of that list are very good at diagnosing issues with The members of that list are very good at diagnosing issues with
networking, block devices, and other Xen oddities. networking, block devices, and other Xen oddities.
There's also the IRC channel `##xen` (the double hashmark is not a There's also the IRC channel `##xen` (the double hashmark is not a
typo) on the [Freenode](http://freenode.net/) IRC network. typo) on the [Freenode](https://freenode.net/) IRC network.
Contact The Author Contact The Author
@@ -34,7 +34,7 @@ As a last resort you can to contact the current maintainer, Axel
Beckert, at <abe@deuxchevaux.org>. Beckert, at <abe@deuxchevaux.org>.
As the previous xen-tools maintainer and original author, Steve As the previous xen-tools maintainer and original author, Steve
Kemp, said, I say last resort not because I'm unwilling to help, but Kemp, said, I say "last resort" not because I'm unwilling to help, but
because it may take longer for me to respond to you personally. because it may take longer for me to respond to you personally.
-- --

View File

@@ -1,39 +1,13 @@
TODO TODO
==== ====
See KNOWN_BUGS.markdown for real bugs. Most things which used to be in here were moved to
[xen-tools' issue tracker at GitHub](https://github.com/xen-tools/xen-tools/issues).
General Ideas
-------------
* Support per-distribution-release defaults for at least the file
system.
* Add an option named `--apt-options` or similar to pass arbitrary APT
options via installDebianPackage() and friends. The reasoning behind
this idea is in
[this mail](http://xen-tools.org/pipermail/xen-tools-discuss/2015-June/001103.html)
and the following mails on the xen-tools-discuss mailing list.
* Add keys in keyring given by `--keyring` to APT's keyring inside the
DomU by adding it with `apt-key add`.
Bugs to fix and features to add for 5.0 Bugs to fix and features to add for 5.0
--------------------------------------- ---------------------------------------
* Switch build-system to autotools or something CPANish. * Fix xdm and gdm roles wrt. to uptodate package names.
* `xen-create-image` man page overhaul:
* ambiguous option list with regards to parameters
* Set Fail in more situations where the script has clearly failed
i.e.: lvm exists
* Roles overhaul
* Remove udev role. No more makes sense. udev gets pulled in by
kernels where necessary.
* Test and support more file system types. * Test and support more file system types.
@@ -45,57 +19,6 @@ Bugs to fix and features to add for 5.0
Currently no locales are set and this causes several domU errors Currently no locales are set and this causes several domU errors
which appear in the domU's logs. which appear in the domU's logs.
* Documentation overhaul
Better explain what roles /should be/ used for, and that roles
are examples, and shouldn't cover every single scenario. They
are also easy to write.
* Think again about disk_device checks :
Newer Xen provides `xvda`, older provided `sda`. The current check for
valid values of `disk_device` (used for root device in DomU `/etc/fstab`)
does only allow those values.
This forbids any deployment of LVM/RAID _inside_ DomU, which cannot
be created by xen-tools anyway. So the current check is fine with the
current possibilities of xen-tools, but could become a limitation.
* Is it possible/wanted to "query" xend for default device names?
* Is it possible to create `/dev/mapper` devices with xend conf?
* Can we just avoid to ask for this value and not specify the device
in `/etc/fstab` (and use `/dev/root`, `/dev/by-uuid`, or anything?)
* `xen-create-image --dist=…` / sources.list generation should be more fine-grained
xen-tools should offer the possibility to enable/disable
security/volatile/backports/lts as well as
contrib/non-free/universe/restricted/multiverse for each of them not
only based on defaults plus the Dom0's sources.list
One idea is to allow parameters like
--dist="lenny:main,contrib,non-free;security;volatile:main"
and maybe (if the default will be to include security) to also
allow
--dist="lenny;no-security"
The second idea (by Mathieu Parent) is to have an
`/etc/xen-tools/sources.list.d/` which then contains files like
`lenny.list`, `lenny-server.list`, `karmic.list`, etc. which
defaults to `$dist.list`, but can be also select with
`--sources-list=lenny-server` (which looks for
`./lenny-server.list`, `./lenny-server`,
`/etc/xen-tools/sources.list.d/lenny-server.list` and
`/etc/xen-tools/sources.list.d/lenny-server` in that order).
Third variant is to use `/etc/xen-tools/sources.lists/` instead of
`/etc/xen-tools/sources.list.d/` because that directory is no
runparts-like directory.
* LVM snapshot support as an install source.
* Generic grub support * Generic grub support
This will generate a much nicer `menu.lst` as a side effect, as its This will generate a much nicer `menu.lst` as a side effect, as its
@@ -104,47 +27,6 @@ Bugs to fix and features to add for 5.0
new kernel is installed and will also use the domU distro's `menu.lst` new kernel is installed and will also use the domU distro's `menu.lst`
conform. conform.
* pv-grub support
This is a ways away and will probably start with a `xen-pv-grub`
package.
* Move the hooks directory to `/etc/xen-tools/` to officially allow
added and modified hooks.
* Clean up the hooks directory
We still have a link farm for hooks and a meta link farm for distro
releases created on `make install`. It probably would be better if
we would just have one directory per distro (like with debian) but
without the need to created symlinks on `make install`.
Currently CentOS's `25-setup-kernel` creates an fstab and
`90-make-fstab` does again. It works, but that cries for debugging
hell.
`centos-5/25-setup-kernel` and `centos-6/25-setup-kernel` still
differ and I'm not sure if that's necessary respectively what's the
common denominator.
`80-install-kernel` is not yet merged into one hook script.
Common oneliners for code deduplication in the hooks/ directory:
$ find -L . -not -xtype l -not -type d -not -path '*/common/*' | sort -t / -k3
$ fdupes -r1 . | sort -t / -k3
$ find . -type f | sim_text -ipTt 50 | tac | column -t
* Create users, add ssh pubkeys to `.ssh/authorized_keys`
Still have to think of a good way of doing this. It would be nice
To specify a directory of public keys, parsing the hostnames
parsing the usernames from the ssh comment line.
Potential ideas are to add options to add a given file as
`authorized_keys` (e.g. a users public key) or to just add the Dom0's
`/root/.ssh/authorized_keys` as the DomU's one.
* More generic roles * More generic roles
Deploy a web server or setup ssmtp directly via flag when setting up Deploy a web server or setup ssmtp directly via flag when setting up
@@ -158,45 +40,14 @@ Bugs to fix and features to add for 5.0
"type" of configuration you want, and a set of options specific to "type" of configuration you want, and a set of options specific to
that flag could be parsed from xen-tools.conf that flag could be parsed from xen-tools.conf
* Refactor the code for less variants of calling `cp`, `rm`, `mv`, etc.
E.g. always use either `cp()` from `File::Copy` or `/bin/cp`, but
not both. To allow verbose copying, I (Axel) would prefer `/bin/cp`
over `cp();`.
* Parse numerical parameters transparently for the user * Parse numerical parameters transparently for the user
The user shouldn't have to know whether he should specify size as The user shouldn't have to know whether he should specify size as
`<size>G` or `<size>Gb` or `<size>`. This should be parsed without `<size>G` or `<size>Gb` or `<size>`. This should be parsed without
user interaction and rely on a common format. user interaction and rely on a common format.
* `xen-update-image` should mount `/dev/pts` before running apt-get
* `xen-update-image` should have options for using …
* aptitude instead of apt-get
* dist-upgrade instead of upgrade
* Support `cpu_weight` and other features from
http://wiki.xensource.com/xenwiki/CreditScheduler
* Make used Xen toolstack configurable, i.e. via --xen-toolstack=xl * Make used Xen toolstack configurable, i.e. via --xen-toolstack=xl
* Unify --debug and --dumpconfig. Likely make --debug exit
gracefully. Document --debug if --dumpconfig is removed.
* Use `Perl::Critic`
* Refactor the different Ubuntu hooks directories so that only one
ubuntu hooks directory is left.
Then also refactor TLS disabling so that it works on all
distributions the same. Currently Debian is a special case and
Ubuntu half a special case.
* Remove from the (unused) Xen::Tools what's already in the used
Xen::Tools::Common.
* Add test for `--size` constraints (upper- and lowercase letters, * Add test for `--size` constraints (upper- and lowercase letters,
with and without `B`, etc.) with and without `B`, etc.)
@@ -204,17 +55,9 @@ Bugs to fix and features to add for 5.0
`xen-create-image` first. Which probably both would be a good `xen-create-image` first. Which probably both would be a good
idea. idea.
* Replace several occurences of backticks with runCommand. (Mostly * Maybe check for `vsyscall=emulate` in `GRUB_CMDLINE_LINUX_DEFAULT`
mount commands in `xen-update-image`. The calls to uname or in `/etc/default/grub` if trying to install an affected Linux
lsb_release should be fine.) distribution.
* Make default source installation work on non-debianesk systems, e.g.
either don't use xt-guess-suite-and-mirror in xen-tools.conf or make
it work with e.g. Fedora.
* Error messages triggered by xenRunning should rather say something
about "known to the Xen system" instead of "running". See
https://bugs.debian.org/703606
Stuff from Steve's TODO list / Generic TODOs Stuff from Steve's TODO list / Generic TODOs
-------------------------------------------- --------------------------------------------
@@ -222,52 +65,3 @@ Stuff from Steve's TODO list / Generic TODOs
* Write more test cases. * Write more test cases.
* `xen-delete-image` should unallocate any used IP addresses. * `xen-delete-image` should unallocate any used IP addresses.
* `installGentooPackage` in `hooks/common.sh` is a stub and does
nothing yet.
Axel's Break-Backwards-Compatibility Wishlist
---------------------------------------------
* Make empty extension the default
This would ease tab completion and CLI parameter reusage with "xm
create" and friends.
* Check if we can reduce `MAKEDEV` invocations in
`hooks/common/55-create-dev`
`MAKEDEV std` is called in any case. First comment says "Early
termination if we have a couple of common devices present should
speed up installs which use `--copy`/`--tar`" and then "We still
need to make sure the basic devices are present" and calls `MAKEDEV`
more often than otherwise.
Additionally the `55-create-dev` for CentOS/Fedora just created
`console`, `zero` and `null`. `zero` and `null` are part of `MAKEDEV
std`, perhaps can we reduce it to that. `console` is part of
`MAKEDEV generic`.
Additionally the devices `hda`, `sda` and `tty1` may not necessary
in any case, but instead `hvc0` should be created for sure in many
cases. Nothing cares about `$serial_device` there either.
Current `MAKEDEV` implementation support more than one device as
parameter. That could reduce the `MAKEDEV` calls from currently six
to two.
* Uncouple generating auto start symlinks from `--boot`.
Maybe add some `--autostart` or such.
* MAC addresses should no more depend on the distribution.
* Let the admin switch between MAC addresses based on XenSource's OUI,
its organisation's own OUI or locally administrated MAC addresses.
See also http://wiki.xen.org/wiki/Xen_Networking#MAC_addresses
* More radical Code Deduplication
`bin/x*` currently still contain similar code like e.g. in the
function parseCommandLineArguments. This should be cleaned up, too,
but may need a bigger redesign.

View File

@@ -245,12 +245,12 @@ and EVMS EXAMPLE.
--mirror=url Setup the mirror to use when installing via --mirror=url Setup the mirror to use when installing via
debootstrap. (Default value: mirror used in debootstrap. (Default value: mirror used in
/etc/apt/sources.list or for Debian /etc/apt/sources.list or for Debian
"http://httpredir.debian.org/debian/" and for Ubuntu "http://deb.debian.org/debian/" and for Ubuntu
"http://archive.ubuntu.com/ubuntu/") "http://archive.ubuntu.com/ubuntu/")
The above mentioned Debian mirror hostname The above mentioned Debian mirror hostname
automatically tries to choose a more or less close automatically tries to choose a more or less close
Debian mirror. See http://httpredir.debian.org/ for Debian mirror. See http://deb.debian.org/ for
details. details.
--apt_proxy=protocol://hostname:port/ --apt_proxy=protocol://hostname:port/
@@ -296,6 +296,8 @@ and EVMS EXAMPLE.
flags, but the specific MAC address will only be used flags, but the specific MAC address will only be used
for the first interface.) for the first interface.)
--randommac Creates a random MAC address.
--netmask=123.456.789.ABC --netmask=123.456.789.ABC
Setup the netmask for the new instance. Setup the netmask for the new instance.
@@ -321,14 +323,14 @@ and EVMS EXAMPLE.
Subdirectories will be created for each guest. Subdirectories will be created for each guest.
If you do not wish to use loopback images specify If you do not wish to use loopback images specify
--lvm or --evms. (These three options are mutually --lvm, --evms or --zpool. (These four options are
exclusive.) mutually exclusive.)
--evms=lvm2/container --evms=lvm2/container
Specify the container to save images within, Specify the container to save images within,
i.e. '--evms lvm2/mycontainer'. If you do not wish to i.e. '--evms lvm2/mycontainer'. If you do not wish to
use EVMS specify --dir or --lvm. (These three options use EVMS specify --dir, --lvm or --zpool. (These four
are mutually exclusive.) options are mutually exclusive.)
--hostname=host.example.org --hostname=host.example.org
Set the hostname of the new guest system. Ideally Set the hostname of the new guest system. Ideally
@@ -337,9 +339,20 @@ and EVMS EXAMPLE.
out of it for various purposes. out of it for various purposes.
--lvm=vg Specify the volume group to save images within. --lvm=vg Specify the volume group to save images within.
If you do not wish to use LVM specify --dir or --evms. If you do not wish to use LVM specify --dir, --evms or
(These three options are mutually exclusive.) --zpool. (These three options are mutually exclusive.)
--lvm_thin=thin pool
Specify the thin pool name on which thin LVM volumes
are created.
This enables thin provisioned LVM volumes. Note that
you need a LVM version which supports this.
--zpool=pool Specify the ZFS pool to save images within. A new ZFS
volume will be created for each guest.
If you do not wish to use ZFS specify --dir, --evms or
--lvm. (These four options are mutually exclusive.)
=head1 NOTES =head1 NOTES
@@ -776,9 +789,9 @@ Install an X11 server, using VNC and XDM
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
Dmitry Nedospasov, http://nedos.net/ Dmitry Nedospasov, http://www.nedos.net/
Stéphane Jourdois Stéphane Jourdois
@@ -840,7 +853,7 @@ my %MIRROR;
# Partition layout information values read from the partitions file, # Partition layout information values read from the partitions file,
# or constructed automatically if no partitions file is specified. # or constructed automatically if no partitions file is specified.
# #
my @PARTITIONS = undef; my @PARTITIONS = ();
# #
@@ -859,7 +872,7 @@ my $MOUNT_POINT = undef;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
# #
@@ -999,12 +1012,13 @@ checkBinariesPresent();
# #
# NOTE: This must be done before we call "showSummary". # NOTE: This must be done before we call "showSummary".
# #
if ( !$#PARTITIONS ) if ( !@PARTITIONS )
{ {
populatePartitionsData() populatePartitionsData()
if ( ( $CONFIG{ 'dir' } ) || if ( ( $CONFIG{ 'dir' } ) ||
( $CONFIG{ 'evms' } ) || ( $CONFIG{ 'evms' } ) ||
( $CONFIG{ 'lvm' } ) ); ( $CONFIG{ 'lvm' } ) ||
( $CONFIG{ 'zpool' } ) );
} }
@@ -1056,12 +1070,20 @@ elsif ( $CONFIG{ 'image-dev' } )
# #
usePhysicalDevice(); usePhysicalDevice();
} }
elsif ( $CONFIG{ 'zpool' } )
{
#
# Create our ZFS volumes
#
createZFSBits();
}
else else
{ {
# Can't happen we didn't get an installation type. # Can't happen we didn't get an installation type.
logprint( "Error: No recognised installation type.\n". logprint( "Error: No recognised installation type.\n".
"Please specify a directory, lvm, or evms volume to use.\n" ); "Please specify a directory, lvm, zpool, or evms volume to use.\n" );
$CONFIG{'FAIL'} = 1; $CONFIG{'FAIL'} = 1;
exit 127; exit 127;
} }
@@ -1159,7 +1181,7 @@ exit 0;
Test that this system is fully setup for the new xen-create-image Test that this system is fully setup for the new xen-create-image
script. script.
This means that the the companion scripts xt-* are present on the This means that the companion scripts xt-* are present on the
host and executable. host and executable.
=end doc =end doc
@@ -1177,13 +1199,13 @@ sub checkSystem
eval($test); eval($test);
if ( ($@) && ( !$CONFIG{ 'force' } ) ) if ( ($@) && ( !$CONFIG{ 'force' } ) )
{ {
print <<E_O_ERROR; print <<EOERROR;
Aborting: The Text::Template perl module isn\'t installed or available. Aborting: The Text::Template perl module isn\'t installed or available.
Specify '--force' to skip this check and continue regardless. Specify '--force' to skip this check and continue regardless.
E_O_ERROR EOERROR
$CONFIG{'FAIL'} = 1; $CONFIG{'FAIL'} = 1;
exit 127; exit 127;
} }
@@ -1292,7 +1314,13 @@ sub setupDefaultOptions
$CONFIG{ 'mirror_'.$debdist } = $MIRROR{$dist.'_archive'} or $CONFIG{ 'mirror_'.$debdist } = $MIRROR{$dist.'_archive'} or
die $dist.'_archive not defined in /etc/xen-tools/mirrors.conf'; die $dist.'_archive not defined in /etc/xen-tools/mirrors.conf';
my $removed_keys = "/usr/share/keyrings/$dist-archive-removed-keys.gpg"; my $removed_keys = "/usr/share/keyrings/$dist-archive-removed-keys.gpg";
$CONFIG{ 'keyring_'.$debdist } = $removed_keys if -s $removed_keys; if ($debdistinfo =~ /(\S*\.gpg)($|\s)/ and -s "/usr/share/keyrings/${1}") {
$CONFIG{ 'keyring_'.$debdist } = "/usr/share/keyrings/${1}";
} elsif ($debdistinfo !~ /default-keyring/ and -s $removed_keys) {
$CONFIG{ 'keyring_'.$debdist } = $removed_keys;
}
} elsif ($debdistinfo =~ /(\S*\.gpg)($|\s)/ and -s "/usr/share/keyrings/${1}") {
$CONFIG{ 'keyring_'.$debdist } = "/usr/share/keyrings/${1}";
} else { } else {
$CONFIG{ 'mirror_'.$debdist } = $MIRROR{$dist} or $CONFIG{ 'mirror_'.$debdist } = $MIRROR{$dist} or
die $dist.' not defined in /etc/xen-tools/mirrors.conf'; die $dist.' not defined in /etc/xen-tools/mirrors.conf';
@@ -1341,7 +1369,7 @@ sub setupDefaultOptions
# #
# NOTE 2: Each of these scripts will "force" the creation of a new # NOTE 2: Each of these scripts will "force" the creation of a new
# filesystem, even if it exists. This script must detect # filesystem, even if it exists. This script must detect
# prior existance itself. # prior existence itself.
# #
$CONFIG{ 'make_fs_ext2' } = 'mkfs.ext2 -F'; $CONFIG{ 'make_fs_ext2' } = 'mkfs.ext2 -F';
$CONFIG{ 'make_fs_ext3' } = 'mkfs.ext3 -F'; $CONFIG{ 'make_fs_ext3' } = 'mkfs.ext3 -F';
@@ -1558,6 +1586,7 @@ sub parseCommandLineArguments
$install{ 'dir' } = undef; $install{ 'dir' } = undef;
$install{ 'lvm' } = undef; $install{ 'lvm' } = undef;
$install{ 'image-dev' } = undef; $install{ 'image-dev' } = undef;
$install{ 'zpool' } = undef;
# #
# Parse options. # Parse options.
@@ -1587,6 +1616,7 @@ sub parseCommandLineArguments
"apt_proxy=s", \&checkOption, "apt_proxy=s", \&checkOption,
"modules=s", \&checkOption, "modules=s", \&checkOption,
"lvm=s", \$install{ 'lvm' }, "lvm=s", \$install{ 'lvm' },
"zpool=s", \$install{ 'zpool' },
"image-dev=s", \$install{ 'image-dev' }, "image-dev=s", \$install{ 'image-dev' },
"swap-dev=s", \$install{ 'swap-dev' }, "swap-dev=s", \$install{ 'swap-dev' },
"serial_device=s", \&checkOption, "serial_device=s", \&checkOption,
@@ -1606,6 +1636,7 @@ sub parseCommandLineArguments
"hostname=s", \&checkOption, "hostname=s", \&checkOption,
"ip=s@", \&checkOption, "ip=s@", \&checkOption,
"mac=s", \&checkOption, "mac=s", \&checkOption,
"randommac", \$CONFIG{ 'randommac' },
"netmask=s", \&checkOption, "netmask=s", \&checkOption,
"broadcast=s", \&checkOption, "broadcast=s", \&checkOption,
"nameserver=s", \&checkOption, "nameserver=s", \&checkOption,
@@ -1653,6 +1684,7 @@ sub parseCommandLineArguments
"output=s", \&checkOption, "output=s", \&checkOption,
"extension:s", \&checkOption, "extension:s", \&checkOption,
"dontformat", \&checkOption, "dontformat", \&checkOption,
"lvm_thin=s", \$CONFIG{ 'lvm_thin' },
# Help options # Help options
"debug!", \$CONFIG{ 'debug' }, "debug!", \$CONFIG{ 'debug' },
@@ -1685,7 +1717,7 @@ sub parseCommandLineArguments
# #
# Now make ensure that the command line setting of '--lvm', '--evms' # Now make ensure that the command line setting of '--lvm', '--evms', '--zpool'
# and '--dir=x' override anything specified in the configuration file. # and '--dir=x' override anything specified in the configuration file.
# #
if ( $install{ 'dir' } ) if ( $install{ 'dir' } )
@@ -1694,6 +1726,7 @@ sub parseCommandLineArguments
$CONFIG{ 'evms' } = undef; $CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef; $CONFIG{ 'lvm' } = undef;
$CONFIG{ 'image-dev' } = undef; $CONFIG{ 'image-dev' } = undef;
$CONFIG{ 'zpool' } = undef;
} }
if ( $install{ 'evms' } ) if ( $install{ 'evms' } )
{ {
@@ -1701,6 +1734,7 @@ sub parseCommandLineArguments
$CONFIG{ 'evms' } = $install{ 'evms' }; $CONFIG{ 'evms' } = $install{ 'evms' };
$CONFIG{ 'lvm' } = undef; $CONFIG{ 'lvm' } = undef;
$CONFIG{ 'image-dev' } = undef; $CONFIG{ 'image-dev' } = undef;
$CONFIG{ 'zpool' } = undef;
} }
if ( $install{ 'lvm' } ) if ( $install{ 'lvm' } )
{ {
@@ -1708,6 +1742,15 @@ sub parseCommandLineArguments
$CONFIG{ 'evms' } = undef; $CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = $install{ 'lvm' }; $CONFIG{ 'lvm' } = $install{ 'lvm' };
$CONFIG{ 'image-dev' } = undef; $CONFIG{ 'image-dev' } = undef;
$CONFIG{ 'zpool' } = undef;
}
if ( $install{ 'zpool' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'image-dev' } = undef;
$CONFIG{ 'zpool' } = $install{ 'zpool' };
} }
if ( $install{ 'image-dev' } ) if ( $install{ 'image-dev' } )
{ {
@@ -1715,6 +1758,7 @@ sub parseCommandLineArguments
$CONFIG{ 'evms' } = undef; $CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef; $CONFIG{ 'lvm' } = undef;
$CONFIG{ 'image-dev' } = $install{ 'image-dev' }; $CONFIG{ 'image-dev' } = $install{ 'image-dev' };
$CONFIG{ 'zpool' } = undef;
$CONFIG{ 'size' } = undef; $CONFIG{ 'size' } = undef;
$CONFIG{ 'swap' } = undef; $CONFIG{ 'swap' } = undef;
@@ -1743,13 +1787,13 @@ sub testRootUser
{ {
if ( $EFFECTIVE_USER_ID != 0 ) if ( $EFFECTIVE_USER_ID != 0 )
{ {
my $err = <<E_O_ROOT; my $err = <<EOROOT;
In order to use this script you must be running with root privileges. In order to use this script you must be running with root privileges.
(This is necessary to mount the disk images which are created.) (This is necessary to mount the disk images which are created.)
E_O_ROOT EOROOT
logprint($err); logprint($err);
$CONFIG{'FAIL'} = 1; $CONFIG{'FAIL'} = 1;
@@ -2080,10 +2124,18 @@ EOF
# #
# If we don't have a MAC address specified then generate one. # If we don't have a MAC address specified then generate one.
# If randommac is specified, generate random MAC.
# #
if ( !$CONFIG{ 'mac' } ) if ( !$CONFIG{ 'mac' } )
{ {
$CONFIG{ 'mac' } = generateMACAddress(); if ( $CONFIG{ 'randommac' } )
{
$CONFIG{ 'mac' } = generateRandomMACAddress();
}
else
{
$CONFIG{ 'mac' } = generateMACAddress();
}
} }
# #
@@ -2132,7 +2184,7 @@ EOF
=begin doc =begin doc
Generate a 'random' MAC address. Generate a pseudo-random MAC address.
The MAC address is constructed based upon : The MAC address is constructed based upon :
@@ -2190,6 +2242,36 @@ sub generateMACAddress
=begin doc
Generate a MAC address based on the Xen prefix and a really random local part.
=end doc
=cut
sub generateRandomMACAddress
{
#
# Start with the xen prefix
#
my $mac = '00:16:3E';
#
# Generate random local part and append to $mac
#
for ( my $count=0; $count < 3; $count++ )
{
$mac = $mac . ":" . sprintf("%02X", int(rand(255)));
}
return ( $mac );
}
=begin doc =begin doc
Make sure we have a log directory, and create an empty logfile Make sure we have a log directory, and create an empty logfile
@@ -2326,6 +2408,26 @@ sub checkBinariesPresent
} }
} }
} }
elsif (defined( $CONFIG{ 'zpool' } ) )
{
# ZFS-specific binaries.
my @zfs = qw ( zfs );
foreach my $file (@zfs)
{
if ( !defined( which($file) ) )
{
logprint("The following binary is required to run this tool\n");
logprint("\t$file\n");
logprint(
"(This is only required for ZFS volumes, which you've selected)\n"
);
$CONFIG{'FAIL'} = 1;
exit 127;
}
}
}
} }
@@ -3064,6 +3166,10 @@ sub createLVMBits
logprint( logprint(
"Removing $lvm_disk - since we're forcing the install\n"); "Removing $lvm_disk - since we're forcing the install\n");
runCommand("lvremove --force $lvm_disk", \%CONFIG); runCommand("lvremove --force $lvm_disk", \%CONFIG);
runCommand("sync", \%CONFIG);
logprint(
"Sleeping a few seconds to avoid LVM race conditions...\n");
sleep(3);
} else { } else {
fail("ERROR: Xen guest $CONFIG{'hostname'} appears to be running.\nAborting.\n"); fail("ERROR: Xen guest $CONFIG{'hostname'} appears to be running.\nAborting.\n");
} }
@@ -3120,7 +3226,11 @@ sub createLVMBits
my $disk_cmd = my $disk_cmd =
"lvcreate $CONFIG{'lvm'} ". "lvcreate $CONFIG{'lvm'} ".
($lvm_needs_yes ? '--yes' : ''). ($lvm_needs_yes ? '--yes' : '').
" -L $partition->{'size'} -n $disk"; ' '.
($CONFIG{ 'lvm_thin' } ?
"-T $CONFIG{'lvm'}/$CONFIG{'lvm_thin'} -V" :
'-L').
" $partition->{'size'} -n $disk";
# #
# Create the volume # Create the volume
@@ -3157,11 +3267,117 @@ sub createLVMBits
=begin doc
This function is responsible for creating two new ZFS volumes within
a given ZFS pool.
=end doc
=cut
sub createZFSBits
{
#
# Check whether the ZFS volume exists already, and if so abort
# unless '--force' is specified.
#
foreach my $partition (@PARTITIONS)
{
my $disk = $CONFIG{ 'hostname' } . '-' . $partition->{ 'name' };
my $zfs_disk = "/dev/$CONFIG{'zpool'}/$disk";
my $zfs_vol = "$CONFIG{'zpool'}/$disk";
if ( -e $zfs_disk )
{
# Delete if forcing
if ( $CONFIG{ 'force' } )
{
unless ( xenRunning($CONFIG{ 'hostname' }, \%CONFIG)) {
logprint(
"Removing $zfs_disk - since we're forcing the install\n");
runCommand("zfs destroy $zfs_vol", \%CONFIG);
runCommand("sync", \%CONFIG);
logprint(
"Sleeping a few seconds to avoid ZFS race conditions...\n");
sleep(3);
} else {
fail("ERROR: Xen guest $CONFIG{'hostname'} appears to be running.\nAborting.\n");
}
}
else
{
logprint("The ZFS volume already exists. Aborting.\n");
logprint("Specify '--force' to delete and recreate\n");
$CONFIG{'FAIL'} = 2;
exit 127;
}
}
}
foreach my $partition (@PARTITIONS)
{
my $disk = $CONFIG{ 'hostname' } . '-' . $partition->{ 'name' };
my $zfs_disk = "/dev/$CONFIG{'zpool'}/$disk";
my $zfs_vol = "$CONFIG{'zpool'}/$disk";
#
# Save the image path to the partitions array
#
$partition->{ 'imagetype' } = 'phy:';
$partition->{ 'image' } = $zfs_disk;
#
# The commands to create the volume.
#
my $disk_cmd =
"zfs create ".
($CONFIG{'image'} eq 'sparse' ? '-s' : '').
" -V $partition->{'size'} $zfs_vol";
#
# Create the volume
#
runCommand($disk_cmd, \%CONFIG);
sleep(2);
#
# Make sure that worked.
#
if ( !-e "$zfs_disk" )
{
logprint(
"The ZFS volume creation failed to create $zfs_disk.\n"
);
logprint("aborting\n");
$CONFIG{'FAIL'} = 1;
exit 127;
}
#
# Finally create the filesystem / swap
#
if ( $partition->{ 'type' } eq 'swap' )
{
createSwap($zfs_disk);
}
else
{
createFilesystem( $zfs_disk, $partition->{ 'type' } );
}
}
}
=begin doc =begin doc
This function is responsible for creating two new logical volumes within This function is responsible for creating two new logical volumes within
a given EVMS container group (which at the moment is either LVM or LVM2), but a given EVMS container group (which at the moment is either LVM or LVM2), but
should be compatible with any further extentions of evms. should be compatible with any further extensions of evms.
=end doc =end doc
@@ -3416,6 +3632,10 @@ sub mountImage
{ {
$mount_cmd = "mount $mount_type $image $mountpoint"; $mount_cmd = "mount $mount_type $image $mountpoint";
} }
elsif ( $CONFIG{ 'zpool' } )
{
$mount_cmd = "mount $mount_type $image $mountpoint";
}
else else
{ {
$mount_cmd = "mount $mount_type -o loop $image $mountpoint"; $mount_cmd = "mount $mount_type -o loop $image $mountpoint";
@@ -3618,7 +3838,7 @@ sub runCustomisationHooks
delete $ENV{ 'ip' }; delete $ENV{ 'ip' };
# #
# Setup a seperate ip$count value for each IP address. # Setup a separate ip$count value for each IP address.
# #
my $ips = $CONFIG{ 'ip' }; my $ips = $CONFIG{ 'ip' };
my $count = 1; my $count = 1;
@@ -4276,12 +4496,15 @@ END
$option = "--evms=$CONFIG{'evms'}" $option = "--evms=$CONFIG{'evms'}"
} elsif ($CONFIG{ 'dir' }) { } elsif ($CONFIG{ 'dir' }) {
$option = "--dir=$CONFIG{'dir'}" $option = "--dir=$CONFIG{'dir'}"
} elsif ($CONFIG{ 'zpool' }) {
$option = "--zpool=$CONFIG{'zpool'}"
} }
if ($option) { if ($option) {
runCommand("xen-delete-image $option --hostname=$CONFIG{'hostname'}", \%CONFIG); runCommand("xen-delete-image $option --hostname=$CONFIG{'hostname'}", \%CONFIG);
} else { } else {
die "Assertion that either --dir, --lvm, or --dir are given". die "Assertion that either --dir, --lvm, --dir or --zpool are given".
" failed.\nThis is probably a bug, please report it."; " failed.\nThis is probably a bug, please report it.";
} }
} }

View File

@@ -74,12 +74,12 @@ Show the version number and exit.
For more details on what you'll need to support NFS-root Xen guests For more details on what you'll need to support NFS-root Xen guests
the following article, written by the author, might be useful: the following article, written by the author, might be useful:
http://www.debian-administration.org/articles/505 https://debian-administration.org/articles/505
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Stéphane Jourdois Stéphane Jourdois
@@ -121,7 +121,7 @@ $CONFIG{ 'template' } = '/etc/xen-tools/xm-nfs.tmpl';
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
# store version number away. # store version number away.
@@ -282,7 +282,7 @@ sub testArguments
die "Missing NFS root." unless ( $CONFIG{ 'nfs_root' } ); die "Missing NFS root." unless ( $CONFIG{ 'nfs_root' } );
# Shorthack to fix http://bugs.debian.org/648814 -- xen-create-nfs # Shorthack to fix https://bugs.debian.org/648814 -- xen-create-nfs
# should better use xt-create-xen-config instead. Guess from where # should better use xt-create-xen-config instead. Guess from where
# this code is borrowed for now... # this code is borrowed for now...

View File

@@ -24,6 +24,7 @@ xen-delete-image - Delete previously created Xen instances.
--dir Specify the output directory where images were previously saved. --dir Specify the output directory where images were previously saved.
--evms Specify the EVMS container to use. --evms Specify the EVMS container to use.
--lvm Specify the LVM volume to use. --lvm Specify the LVM volume to use.
--zpool Specify the ZFS pool to use.
Specifying hosts: Specifying hosts:
--hostname Specify the image name to delete. --hostname Specify the image name to delete.
@@ -51,6 +52,9 @@ Specify the hostname to delete.
=item B<--lvm> =item B<--lvm>
Specify the LVM volume group where images were previously saved. Specify the LVM volume group where images were previously saved.
=item B<--zpool>
Specify the ZFS pool where images were previously saved.
=item B<--manual> =item B<--manual>
Read the manual for this script. Read the manual for this script.
@@ -126,8 +130,8 @@ Show the version number and exit.
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
Stéphane Jourdois Stéphane Jourdois
@@ -163,7 +167,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
# #
@@ -204,12 +208,12 @@ checkArguments();
# #
if ( ( !$CONFIG{ 'test' } ) && ( $EFFECTIVE_USER_ID != 0 ) ) if ( ( !$CONFIG{ 'test' } ) && ( $EFFECTIVE_USER_ID != 0 ) )
{ {
print <<E_O_ROOT; print <<EOROOT;
This script is not running with root privileges, so the configuration This script is not running with root privileges, so the configuration
file(s) beneath /etc/xen will not be removed. file(s) beneath /etc/xen will not be removed.
E_O_ROOT EOROOT
exit 127; exit 127;
} }
@@ -271,6 +275,7 @@ sub parseCommandLineArguments
"dry-run", \$CONFIG{ 'dry-run' }, "dry-run", \$CONFIG{ 'dry-run' },
"lvm=s", \$CONFIG{ 'lvm' }, "lvm=s", \$CONFIG{ 'lvm' },
"evms=s", \$CONFIG{ 'evms' }, "evms=s", \$CONFIG{ 'evms' },
"zpool=s", \$CONFIG{ 'zpool' },
"extension:s", \$CONFIG{ 'extension' }, "extension:s", \$CONFIG{ 'extension' },
"hostname=s@", \$CONFIG{ 'hostname' }, "hostname=s@", \$CONFIG{ 'hostname' },
"test", \$CONFIG{ 'test' }, "test", \$CONFIG{ 'test' },
@@ -309,7 +314,7 @@ sub checkArguments
# #
# When testing we only care about loopback images, not disk images. # When testing we only care about loopback images, not disk images.
# #
if ( $CONFIG{ 'test' } and ( $CONFIG{ 'lvm' } or $CONFIG{ 'evms' } )) if ( $CONFIG{ 'test' } and ( $CONFIG{ 'lvm' } or $CONFIG{ 'evms' } or $CONFIG{ 'zpool' } ))
{ {
print "Error: --test only works with --dir.\n"; print "Error: --test only works with --dir.\n";
exit 1; exit 1;
@@ -319,7 +324,7 @@ sub checkArguments
# Make sure we got one and only one installation method. # Make sure we got one and only one installation method.
# #
my $count = 0; my $count = 0;
foreach my $type (qw/dir lvm evms/) foreach my $type (qw/dir lvm evms zpool/)
{ {
$count += 1 if defined( $CONFIG{ $type } ); $count += 1 if defined( $CONFIG{ $type } );
} }
@@ -334,6 +339,7 @@ sub checkArguments
print " --dir\n"; print " --dir\n";
print " --evms\n"; print " --evms\n";
print " --lvm\n"; print " --lvm\n";
print " --zpool\n";
exit 2; exit 2;
} }
} }
@@ -478,6 +484,37 @@ sub deleteXenImage
} }
} }
}
elsif ( defined( $CONFIG{ 'zpool' } ) )
{
#
# ZFS volumes
#
#
# TODO: Check we're not mounted.
#
if ( -e "/dev/$CONFIG{'zpool'}/$hostname-swap" )
{
if ($CONFIG{ 'dry-run' }) {
print "Would remove ZFS swap volume /dev/$CONFIG{'zpool'}/$hostname-swap\n";
} else {
print "Removing swap volume\n";
runCommand("zfs destroy -R $CONFIG{'zpool'}/$hostname-swap", \%PER_HOST_CONFIG);
}
}
if ( -e "/dev/$CONFIG{'zpool'}/$hostname-disk" )
{
if ($CONFIG{ 'dry-run' }) {
print "Would remove ZFS disk volume /dev/$CONFIG{'zpool'}/$hostname-disk\n";
} else {
print "Removing ZFS disk volume\n";
runCommand("zfs destroy -R $CONFIG{'zpool'}/$hostname-disk", \%PER_HOST_CONFIG);
}
}
} }
else else
{ {

View File

@@ -64,7 +64,7 @@ Show the version number and exit.
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Stéphane Jourdois Stéphane Jourdois
@@ -106,7 +106,7 @@ $CONFIG{ 'extension' } = '.cfg';
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
@@ -212,7 +212,7 @@ sub findXenInstances
=begin doc =begin doc
Show details about the the Xen instance contained in the given Show details about the Xen instance contained in the given
configuration file. configuration file.
=end doc =end doc

View File

@@ -75,8 +75,8 @@ Show the version number and exit.
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
=head1 LICENSE =head1 LICENSE
@@ -111,7 +111,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
# #
@@ -340,7 +340,7 @@ sub parseCommandLineArguments
# #
# Setup mutually exclusive options in such a way that # Setup mutually exclusive options in such a way that
# they will allow the configuration values to be overriden by # they will allow the configuration values to be overridden by
# the command line. # the command line.
# #
if ( $install{ 'lvm' } ) if ( $install{ 'lvm' } )

View File

@@ -75,8 +75,8 @@ Show the version number and exit.
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
Stéphane Jourdois Stéphane Jourdois
@@ -113,7 +113,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
# #
@@ -149,13 +149,13 @@ checkArguments();
# #
if ( $EFFECTIVE_USER_ID != 0 ) if ( $EFFECTIVE_USER_ID != 0 )
{ {
print <<E_O_ROOT; print <<EOROOT;
This script is not running with root privileges. This script is not running with root privileges.
root privileges are required to successfully mount the disk image(s). root privileges are required to successfully mount the disk image(s).
E_O_ROOT EOROOT
exit; exit;
} }

View File

@@ -99,8 +99,8 @@ xt-create-config - Create a Xen configuration file for a new guest
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
Stéphane Jourdois Stéphane Jourdois
@@ -148,7 +148,7 @@ $CONFIG{ 'extension' } = '.cfg';
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
@@ -254,7 +254,7 @@ sub checkArguments
if ( !-d $CONFIG{ 'output' } ) if ( !-d $CONFIG{ 'output' } )
{ {
print print
"The output directory we've been given, $CONFIG{'output'}, doesnt exist\n"; "The output directory we've been given, $CONFIG{'output'}, doesn't exist\n";
print "Aborting\n"; print "Aborting\n";
exit 1; exit 1;
} }

View File

@@ -29,7 +29,7 @@ xt-customize-image - Customize a freshly installed copy of GNU/Linux
=head1 NOTES =head1 NOTES
This script is invoked by xen-create-image after it has created a This script is invoked by xen-create-image after it has created a
fresh installation of Linux withing a temporary location. fresh installation of Linux within a temporary location.
This script will be invoked with a full copy of the arguments from This script will be invoked with a full copy of the arguments from
xen-create-image in its environment, along with several command line xen-create-image in its environment, along with several command line
@@ -66,8 +66,8 @@ xt-customize-image - Customize a freshly installed copy of GNU/Linux
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
Stéphane Jourdois Stéphane Jourdois
@@ -100,7 +100,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
@@ -221,7 +221,7 @@ sub checkArguments
if ( !-d $dir ) if ( !-d $dir )
{ {
print <<E_OR; print <<EOR;
We\'re trying to configure an installation of $CONFIG{'dist'} in We\'re trying to configure an installation of $CONFIG{'dist'} in
$CONFIG{'location'} - but there is no hook directory for us to use. $CONFIG{'location'} - but there is no hook directory for us to use.
@@ -231,7 +231,7 @@ sub checkArguments
We\'d expect the hook directory to be : $dir We\'d expect the hook directory to be : $dir
Aborting. Aborting.
E_OR EOR
exit 1; exit 1;
} }

View File

@@ -30,7 +30,7 @@ xen-create-image(1) or the backticks feature in xen-tools.conf.
=head1 AUTHORS =head1 AUTHORS
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
Stéphane Jourdois Stéphane Jourdois
@@ -52,9 +52,9 @@ full text of the license.
# Fallback to Debian or Ubuntu in case we can't find anything # Fallback to Debian or Ubuntu in case we can't find anything
my $fallback = 'Debian'; my $fallback = 'Debian';
# Which mirrors to use if everything else fails (httpredir.debian.org # Which mirrors to use if everything else fails (deb.debian.org
# redirects to a working mirror nearby) # redirects to a working mirror nearby)
my %fallback_mirror = ( Debian => 'http://httpredir.debian.org/debian/', my %fallback_mirror = ( Debian => 'http://deb.debian.org/debian/',
Ubuntu => 'http://archive.ubuntu.com/ubuntu/' ); Ubuntu => 'http://archive.ubuntu.com/ubuntu/' );
# Which suite to use if everything else fails. For Debian "stable" # Which suite to use if everything else fails. For Debian "stable"
@@ -62,7 +62,7 @@ my %fallback_mirror = ( Debian => 'http://httpredir.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 => 'lucid' ); Ubuntu => 'bionic' );
# 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 +79,7 @@ use strict;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
# Init # Init
my $mirror = ''; my $mirror = '';

View File

@@ -78,9 +78,9 @@ Untar a .tar file into the new installation location. This tarfile is assumed t
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
Dmitry Nedospasov, http://nedos.net/ Dmitry Nedospasov, http://www.nedos.net/
Stéphane Jourdois Stéphane Jourdois
@@ -113,7 +113,7 @@ my %CONFIG;
# #
# Release number. # Release number.
# #
my $RELEASE = '4.6'; my $RELEASE = '4.8';
# #
@@ -414,7 +414,7 @@ sub checkArguments
if ( !-d $dir ) if ( !-d $dir )
{ {
print <<E_OR; print <<EOR;
We are trying to configure an installation of $CONFIG{'dist'} in We are trying to configure an installation of $CONFIG{'dist'} in
$CONFIG{'location'} - but there is no hook directory for us to use. $CONFIG{'location'} - but there is no hook directory for us to use.
@@ -424,7 +424,7 @@ sub checkArguments
We would expect the hook directory to be $dir. We would expect the hook directory to be $dir.
Aborting. Aborting.
E_OR EOR
exit 1; exit 1;
} }
@@ -621,7 +621,7 @@ sub do_debootstrap
} }
# #
# Propogate --verbose appropriately. # Propagate --verbose appropriately.
# #
my $EXTRA = ''; my $EXTRA = '';
if ( $CONFIG{ 'verbose' } ) if ( $CONFIG{ 'verbose' } )
@@ -630,7 +630,7 @@ sub do_debootstrap
} }
# #
# Propogate the --arch argument # Propagate the --arch argument
# #
if ( $CONFIG{ 'arch' } ) if ( $CONFIG{ 'arch' } )
{ {
@@ -638,7 +638,7 @@ sub do_debootstrap
} }
# #
# Propogate the --keyring argument # Propagate the --keyring argument
# #
if ( $CONFIG{ 'keyring' } ) if ( $CONFIG{ 'keyring' } )
{ {
@@ -701,7 +701,7 @@ sub do_rinse
"rinse --distribution=$CONFIG{'dist'} --directory=$CONFIG{'location'}"; "rinse --distribution=$CONFIG{'dist'} --directory=$CONFIG{'location'}";
# #
# Propogate the --arch argument # Propagate the --arch argument
# #
if ( $CONFIG{ 'arch' } ) if ( $CONFIG{ 'arch' } )
{ {
@@ -727,7 +727,7 @@ sub do_rinse
} }
# #
# Propogate the verbosity setting. # Propagate the verbosity setting.
# #
if ( $CONFIG{ 'verbose' } ) if ( $CONFIG{ 'verbose' } )
{ {
@@ -751,7 +751,7 @@ sub do_rpmstrap
{ {
# #
# Propogate the verbosity setting. # Propagate the verbosity setting.
# #
my $EXTRA = ''; my $EXTRA = '';
if ( $CONFIG{ 'verbose' } ) if ( $CONFIG{ 'verbose' } )
@@ -760,7 +760,7 @@ sub do_rpmstrap
} }
# #
# Propogate any arch setting we might have. # Propagate any arch setting we might have.
# #
if ( $CONFIG{ 'arch' } ) if ( $CONFIG{ 'arch' } )
{ {

18
debian/NEWS vendored
View File

@@ -1,3 +1,18 @@
xen-tools (4.8-1) unstable; urgency=medium
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.
-- Axel Beckert <abe@debian.org> Thu, 07 Feb 2019 17:40:03 +0100
xen-tools (4.4~beta1-1) unstable; urgency=low xen-tools (4.4~beta1-1) unstable; urgency=low
* Exported environment variables no more contain dashes ("-"). Dashes in * Exported environment variables no more contain dashes ("-"). Dashes in
@@ -26,7 +41,7 @@ xen-tools (4.2~beta1-1) unstable; urgency=low
If the DomU hangs with "Waiting for root file system" despite If the DomU hangs with "Waiting for root file system" despite
/dev/xvd* is used as disk device, adding "xen-blkfront" to /dev/xvd* is used as disk device, adding "xen-blkfront" to
/etc/initramfs-tools/modules and runing "update-initramfs -u" /etc/initramfs-tools/modules and running "update-initramfs -u"
afterwards may help. afterwards may help.
If the Dom0 is a Debian or Ubuntu, the distribution and suite for If the Dom0 is a Debian or Ubuntu, the distribution and suite for
@@ -39,4 +54,3 @@ xen-tools (4.2~beta1-1) unstable; urgency=low
path ending in /debian/ there. path ending in /debian/ there.
-- Axel Beckert <abe@debian.org> Sun, 30 May 2010 22:36:16 +0200 -- Axel Beckert <abe@debian.org> Sun, 30 May 2010 22:36:16 +0200

149
debian/changelog vendored
View File

@@ -1,10 +1,148 @@
xen-tools (4.8-1) unstable; urgency=medium
* New upstream release.
[ Marc Bigler ]
+ Add support for ZFS volumes. (GH #50)
[ Yuri Sakhno ]
+ Eliminate progress reporting which is useless in logs. (GH #42)
[ Axel Beckert ]
+ Add preliminary support for future Debian 12 Bookworm release.
+ Add support for Ubuntu releases from 17.10 Artful to 19.04 Disco.
- Create hooks/artful with new 40-setup-networking-deb-netplan by
Arno Bakker and Peter. (Fixes xen-tools/xen-tools#51)
- Rename hooks/karmic/80-install-kernel to
hooks/common/80-install-kernel-ubu and add according symlinks.
+ Change all occurrences of httpredir.debian.org to deb.debian.org
except those for the debian-archive. The latter now point to
archive.debian.org directly.
+ Set Ubuntu fallback suite to the latest LTS, i.e. 18.04 Bionic.
+ Drop pygrub path detection from xm.tmpl, Xen prefers a path-less
bootloader='pygrub'.
+ Many improvements for the release-testing script.
+ Only run xen-toolstack helper script if both, xm and xl are
present. Avoids warning about deprecated helper script.
+ distributions.conf now supports arbitrary keyring files in
/usr/share/keyrings/. (Needed for some EoL Ubuntu releases.)
[ Nico Boehr ]
+ Add support for LVM thin provisioning.
[ Pietro Stäheli ]
+ Add support for option --randommac for really random MAC addresses
upon every xen-create-image invocation. (Closes: #855703)
[ Axel Beckert ]
* Fix wrong bug number for #849867 in previous changelog entry.
* Declare compliance with Debian Policy 4.1.3.
+ Change Priority from extra to optional.
* Use "$(MAKE)" instead of "make" in debian/rules.
* debian/control: Drop "Testsuite: autopkgtest" header, no more needed.
* Switch "activate" trigger to "activate-noawait".
* Recommend e2fsprogs. (Closes: #887236)
* Prefer btrfs-progs over now transitional package btrfs-tools. (Closes:
#878910)
* Bump debhelper compatibility level to 10.
+ Update versioned debhelper build-dependency accordingly.
+ Only using dh compat level 10 allows one to still build the package
on Debian 9 Stretch without backports, on Ubuntu 18.04 LTS and on
Ubuntu 16.04 LTS with backports.
* Declare compliance with Debian Policy 4.3.0. (No changes needed.)
* Set "Rules-Requires-Root: no".
* Check $DEB_BUILD_OPTIONS and $DEB_BUILD_PROFILES in
override_dh_auto_test. Fixes according lintian warning.
* Use ubuntu-keyring instead of now transitional ubuntu-archive-keyring,
but keep the latter as alternative to allow one to install the
xen-tools package also on older Debian or Ubuntu releases.
* Suggest grub-xen-host despite the proper support for it is not
finished.
* Add a note about "vsyscall=emulate" and older Linux distributions to
debian/NEWS. Thanks to James Clarke and Jason Crain for the hint!
* Add a DEP-12 debian/upstream/metadata file.
[ Jelmer Vernooij ]
* Trim trailing whitespace from debian/changelog. (GH #54)
-- Axel Beckert <abe@debian.org> Sat, 09 Feb 2019 01:56:51 +0100
xen-tools (4.7-1) unstable; urgency=medium
* New upstream release
+ release-testing: Several enhancements, race condition avoidance, …
+ Fixes reported error code in case of subcommand failure (Reported
and fixed by Yuri Sakhno, thanks!)
+ Fixes typo found by lintian.
+ Support for Ubuntu 16.10 Yakkety Yak.
+ Preliminary support for Ubuntu 17.04 Zesty Zapus.
+ Knows future Debian release names Buster (10) and Bullseye (11).
+ Knows about Ubuntu's "devel" alias.
+ Risen default values for RAM sizes in /etc/xen-tools/xen-tools.cfg
to cope with risen resource consumption and availability.
(Closes: #849867)
+ Default file system is now ext4 (instead of ext3).
+ Fixes inconsistent/non-functional handling of --nopygrub
parameter. Thanks Daniel Reichelt for the bug report and patch!
(Closes: #842609)
+ Fixes possible missing gateway in generated
/etc/network/interfaces. (Closes: #764625)
+ Support situations where distributions (e.g. Squeeze) might be EoL,
but its archive signing key is still not removed from the default
keyring.
+ Workaround LVM related race condition when using --force with LVM.
* Declare compliance with Debian Policy 3.9.8. (No changes needed.)
* Use NEWS.markdown as upstream changelog, don't install it as docs.
* Switch many URLs (upstream and in packaging) to https:// and update
URLs where they were broken or redirect somewhere else now.
* Fix some typos in older debian/changelog and debian/NEWS items.
-- Axel Beckert <abe@debian.org> Mon, 23 Jan 2017 00:39:11 +0100
xen-tools (4.6.2-1) unstable; urgency=medium
* New upstream bugfix release
[ Pierre Olivier ]
+ Added /usr/local/bin/pygrub to the end of the pygrub search path.
[ nirgal ]
+ Fixed typo in initramfs comment
[ Axel Beckert ]
+ Make t/hooks-inittab.t using its own copy of the generic /etc/inittab
for testing instead of using the system one's. (GH#36, should fix
autopkgtest on systems with modified /etc/inittab)
+ Fix unescaped braces (deprecated with Perl 5.22) in t/plugin-checks.t.
* Support checking upstream GPG signature in debian/watch.
-- Axel Beckert <abe@debian.org> Wed, 23 Dec 2015 18:05:54 +0100
xen-tools (4.6.1-1) unstable; urgency=medium
* New upstream bugfix release
+ Declare GitHub as primary hosting.
+ Integrate BUGS.markdown into README.markdown, move remaining
contents of KNOWN_BUGS.markdown to the GitHub issue tracker.
+ Fix Perl warning in t/hook-inittab.t if /etc/inittab isn't present.
- Fixes failed autopkgtest.
+ Preliminary support for Ubuntu 16.04 LTS Xenial Xerus.
+ Neither use $#array in boolean context nor @array = undef anymore.
* Update Vcs-* headers to point to GitHub instead of GitLab.
* Add debian/maintscript to remove obsolete conffile
/etc/bash_completion.d/xen-tools properly.
* Fix typo in previous changelog entry.
-- Axel Beckert <abe@debian.org> Sat, 24 Oct 2015 01:13:08 +0200
xen-tools (4.6-1) unstable; urgency=low xen-tools (4.6-1) unstable; urgency=low
* New upstream release * New upstream release
+ Fix usage of nonexistent variable in removeDebianPackage (Closes: + Fix usage of nonexistent variable in removeDebianPackage (Closes:
#774936) Thanks Lukas Schwaighofer! #774936) Thanks Lukas Schwaighofer!
+ Change all occurrences of http.debian.net to httpredir.debian.org + Change all occurrences of http.debian.net to httpredir.debian.org
+ Ubuntu 12.04 Lucid Lynx and 14.10 Utopic Unicorn now EoL. + Ubuntu 10.04 Lucid Lynx and 14.10 Utopic Unicorn now EoL.
+ Preliminary support for Debian 9 Stretch and Ubuntu 15.10 Wily + Preliminary support for Debian 9 Stretch and Ubuntu 15.10 Wily
Werewolf. Werewolf.
+ Installs bash completion into /usr/share/bash-completion/ (fixes + Installs bash completion into /usr/share/bash-completion/ (fixes
@@ -27,7 +165,7 @@ xen-tools (4.6-1) unstable; urgency=low
passwords in older releases. Does not affect passwords changed later passwords in older releases. Does not affect passwords changed later
inside the DomU. inside the DomU.
+ Split off hardcoded release code names list and default mirrors in + Split off hardcoded release code names list and default mirrors in
xen-create-image into separate configuration file which are parsed xen-create-image into separate configuration file which is parsed
before the default settings or command-line options are set. before the default settings or command-line options are set.
+ Pass --yes to lvcreate only if LVM version is 2.02.99 or + Pass --yes to lvcreate only if LVM version is 2.02.99 or
higher. Fixes regression introduced with 4.5 by the fix for #754517. higher. Fixes regression introduced with 4.5 by the fix for #754517.
@@ -226,7 +364,7 @@ xen-tools (4.4~beta1-1) unstable; urgency=low
libdata-validate-{domain,ip}-perl. libdata-validate-{domain,ip}-perl.
- Fixes broken quoting in list of required binaries - Fixes broken quoting in list of required binaries
- Declares POD encoding. Fixes FTBFS with Perl 5.18. (Closes: #720519) - Declares POD encoding. Fixes FTBFS with Perl 5.18. (Closes: #720519)
* Add debian/gbp.conf to be able to to build xen-tools with * Add debian/gbp.conf to be able to build xen-tools with
git-buildpackage. git-buildpackage.
* Clean up debian/rules: * Clean up debian/rules:
- Don't mention (generated) upstream changelog explicitly, - Don't mention (generated) upstream changelog explicitly,
@@ -514,7 +652,7 @@ xen-tools (3.9-3) unstable; urgency=medium
xen-tools (3.9-2) unstable; urgency=high xen-tools (3.9-2) unstable; urgency=high
- Ensure that the hook scripts which setup networking details for - Ensure that the hook scripts which setup networking details for
Debian & Ubuntu guests will correctly setup teh broadcast address. Debian & Ubuntu guests will correctly setup the broadcast address.
-- Steve Kemp <skx@debian.org> Wed, 20 Feb 2007 21:22:23 +0000 -- Steve Kemp <skx@debian.org> Wed, 20 Feb 2007 21:22:23 +0000
@@ -648,7 +786,7 @@ xen-tools (3.1-1) unstable; urgency=low
[ Steve Kemp ] [ Steve Kemp ]
* New upstream release v3.1. * New upstream release v3.1.
- Installation of packages in hooks works. (Closes: #402889, #404518) - Installation of packages in hooks works. (Closes: #402889, #404518)
- Xen configuration files are not accidently trashed. (Closes: #404443) - Xen configuration files are not accidentally trashed. (Closes: #404443)
- Hooks are now optional. (Closes: #404444) - Hooks are now optional. (Closes: #404444)
- Better error handling of image creation. (Closes: #404455, #404516) - Better error handling of image creation. (Closes: #404455, #404516)
- Avoid copying needless kernel modules to guests. (Closes: #404508) - Avoid copying needless kernel modules to guests. (Closes: #404508)
@@ -996,4 +1134,3 @@ xen-tools (0.4-1) unstable; urgency=low
* Initial release (Closes: #344081) * Initial release (Closes: #344081)
-- Radu Spineanu <radu@debian.org> Tue, 20 Dec 2005 02:21:05 +0200 -- Radu Spineanu <radu@debian.org> Tue, 20 Dec 2005 02:21:05 +0200

2
debian/compat vendored
View File

@@ -1 +1 @@
9 10

34
debian/control vendored
View File

@@ -1,8 +1,8 @@
Source: xen-tools Source: xen-tools
Section: utils Section: utils
Priority: extra Priority: optional
Maintainer: Axel Beckert <abe@debian.org> Maintainer: Axel Beckert <abe@debian.org>
Build-Depends: debhelper (>= 9~), Build-Depends: debhelper (>= 10~),
devscripts, devscripts,
git, git,
libdata-validate-domain-perl, libdata-validate-domain-perl,
@@ -17,11 +17,11 @@ Build-Depends: debhelper (>= 9~),
libtest-pod-coverage-perl, libtest-pod-coverage-perl,
libtest-pod-perl, libtest-pod-perl,
libtext-template-perl libtext-template-perl
Standards-Version: 3.9.6 Standards-Version: 4.3.0
Homepage: http://xen-tools.org/software/xen-tools Homepage: https://xen-tools.org/software/xen-tools
Vcs-Browser: https://gitlab.com/xen-tools/xen-tools Vcs-Browser: https://github.com/xen-tools/xen-tools
Vcs-Git: https://gitlab.com/xen-tools/xen-tools.git Vcs-Git: https://github.com/xen-tools/xen-tools.git
Testsuite: autopkgtest Rules-Requires-Root: no
Package: xen-tools Package: xen-tools
Architecture: all Architecture: all
@@ -40,14 +40,16 @@ Depends: debootstrap | cdebootstrap,
${misc:Depends}, ${misc:Depends},
${perl:Depends} ${perl:Depends}
Recommends: debian-archive-keyring, Recommends: debian-archive-keyring,
e2fsprogs,
libexpect-perl, libexpect-perl,
lvm2, lvm2,
rinse (>= 1.9.1-1), rinse (>= 1.9.1-1),
ubuntu-archive-keyring, ubuntu-keyring | ubuntu-archive-keyring,
xen-hypervisor, xen-hypervisor,
xen-utils xen-utils
Suggests: btrfs-tools, Suggests: btrfs-progs | btrfs-tools,
cfengine2, cfengine2,
grub-xen-host,
reiserfsprogs, reiserfsprogs,
xfsprogs xfsprogs
Description: Tools to manage Xen virtual servers Description: Tools to manage Xen virtual servers
@@ -64,7 +66,10 @@ Description: Tools to manage Xen virtual servers
* Debian 6.0 Squeeze * Debian 6.0 Squeeze
* Debian 7 Wheezy * Debian 7 Wheezy
* Debian 8 Jessie * Debian 8 Jessie
* Debian 9 Stretch (under development) * Debian 9 Stretch
* Debian 10 Buster (under development)
* Debian 11 Bullseye (future release name)
* Debian 12 Bookworm (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
@@ -85,6 +90,13 @@ Description: Tools to manage Xen virtual servers
* Ubuntu 14.04 Trusty Tahr (LTS) * Ubuntu 14.04 Trusty Tahr (LTS)
* Ubuntu 14.10 Utopic Unicorn * Ubuntu 14.10 Utopic Unicorn
* Ubuntu 15.04 Vivid Vervet * Ubuntu 15.04 Vivid Vervet
* Ubuntu 15.10 Wily Werewolf (under development) * Ubuntu 15.10 Wily Werewolf
* Ubuntu 16.04 Xenial Xerus (LTS)
* Ubuntu 16.10 Yakkety Yak
* Ubuntu 17.04 Zesty Zapus
* 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)
* CentOS 5 * CentOS 5
* CentOS 6 * CentOS 6

14
debian/copyright vendored
View File

@@ -1,7 +1,7 @@
This package was debianized by Radu Spineanu <radu@debian.org> on This package was debianized by Radu Spineanu <radu@debian.org> on
Tue, 20 Dec 2005 02:21:05 +0200. Tue, 20 Dec 2005 02:21:05 +0200.
It was downloaded from http://xen-tools.org/software/xen-tools/ It was downloaded from https://xen-tools.org/software/xen-tools/
Copyright 2005-2009: Steve Kemp <steve@steve.org.uk> Copyright 2005-2009: Steve Kemp <steve@steve.org.uk>
Copyright 2010-2013: The Xen-Tools Development Team, currently consisting of: Copyright 2010-2013: The Xen-Tools Development Team, currently consisting of:
@@ -25,3 +25,15 @@ Perl is distributed under licenses:
On Debian GNU/Linux systems, the complete text of the GNU General On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in /usr/share/common-licenses/GPL-1' and Public License can be found in /usr/share/common-licenses/GPL-1' and
the Artistic Licence in /usr/share/common-licenses/Artistic'. the Artistic Licence in /usr/share/common-licenses/Artistic'.
t/data/inittab is Copyright 1997-2005 Miquel van Smoorenburg
<miquels@cistron.nl> and the members pkg-sysvinit project.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
On Debian GNU/Linux systems, the complete text of the GNU General
Public License version 2 can be found in
/usr/share/common-licenses/GPL-2'.

3
debian/docs vendored
View File

@@ -1,7 +1,4 @@
AUTHORS AUTHORS
README.markdown README.markdown
SUPPORT.markdown SUPPORT.markdown
BUGS.markdown
TODO.markdown TODO.markdown
KNOWN_BUGS.markdown
NEWS.markdown

1
debian/maintscript vendored Normal file
View File

@@ -0,0 +1 @@
rm_conffile /etc/bash_completion.d/xen-tools 4.6.1-1~

7
debian/rules vendored
View File

@@ -6,6 +6,11 @@
dh $@ dh $@
override_dh_auto_test: override_dh_auto_test:
make non-author-test ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
$(MAKE) non-author-test
endif
override_dh_installchangelogs:
dh_installchangelogs NEWS.markdown
override_dh_auto_build: override_dh_auto_build:

2
debian/triggers vendored
View File

@@ -1 +1 @@
activate update-initramfs activate-noawait update-initramfs

12
debian/upstream/metadata vendored Normal file
View File

@@ -0,0 +1,12 @@
%YAML 1.1
---
# https://wiki.debian.org/UpstreamMetadata
Bug-Database: https://github.com/xen-tools/xen-tools/issues
Bug-Submit: https://github.com/xen-tools/xen-tools/issues/new
Changelog: https://github.com/xen-tools/xen-tools/blob/master/NEWS.markdown
Contact: mailto:xen-tools-discuss@xen-tools.org
Security-Contact: mailto:abe@debian.org
Name: Xen-Tools
Homepage: https://xen-tools.org/
Repository: https://github.com/xen-tools/xen-tools.git
Repository-Browse: https://github.com/xen-tools/xen-tools

147
debian/upstream/signing-key.asc vendored Normal file
View File

@@ -0,0 +1,147 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
+XwhySae
=CO5C
-----END PGP PUBLIC KEY BLOCK-----

3
debian/watch vendored
View File

@@ -11,5 +11,6 @@ version=3
# The link to the download location, followed by the regular expression # The link to the download location, followed by the regular expression
# to match release tarballs. # to match release tarballs.
# #
http://xen-tools.org/software/xen-tools/releases.html \ opts=pgpsigurlmangle=s/$/.asc/ \
https://xen-tools.org/software/xen-tools/releases.html \
xen-tools-([\d\.]+)\.tar\.gz xen-tools-([\d\.]+)\.tar\.gz

View File

@@ -1,27 +1,34 @@
# xen-tools configuration file for distibution meta data # xen-tools configuration file for distribution meta data
# #
# Syntax: # Syntax:
# #
# codename = distribution and further keywords # codename = distribution and further keywords
# #
# Known distributions: debian, ubuntu # Known distributions: debian, ubuntu
# Known keywords: eol, pygrub # 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
etch = debian eol etch = debian eol
lenny = debian eol lenny = debian eol
squeeze = debian squeeze = debian eol default-keyring
wheezy = debian wheezy = debian
jessie = debian jessie = debian
stretch = debian stretch = debian
buster = debian
bullseye = debian dont-test
bookwork = debian dont-test
sid = debian sid = debian
testing = debian testing = debian
oldoldstable = debian oldoldstable = debian dont-test
oldstable = debian oldstable = debian
stable = debian stable = debian
unstable = debian unstable = debian
# Between at least debootstrap 1.0.37 and 1.0.93 (including), dapper
# and edgy may need manual adjustments in debootstrap's configuration,
# see https://bugs.debian.org/659360
dapper = ubuntu eol dapper = ubuntu eol
edgy = ubuntu eol edgy = ubuntu eol
feisty = ubuntu eol feisty = ubuntu eol
@@ -34,11 +41,20 @@ 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 precise = ubuntu 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
trusty = ubuntu pygrub trusty = ubuntu pygrub
utopic = ubuntu eol pygrub utopic = ubuntu eol pygrub
vivid = ubuntu pygrub vivid = ubuntu eol pygrub
wily = ubuntu pygrub wily = ubuntu eol pygrub
xenial = ubuntu pygrub
yakkety = ubuntu eol pygrub
zesty = ubuntu eol pygrub ubuntu-keyring-2012-archive.gpg
artful = ubuntu pygrub
bionic = ubuntu pygrub
cosmic = ubuntu pygrub
disco = ubuntu pygrub
devel = ubuntu pygrub dont-test

View File

@@ -1,7 +1,7 @@
# xen-tools default mirror configuration file # xen-tools default mirror configuration file
debian = http://httpredir.debian.org/debian debian = http://deb.debian.org/debian
debian_archive = http://httpredir.debian.org/debian-archive/debian debian_archive = http://archive.debian.org/debian
ubuntu = http://archive.ubuntu.com/ubuntu ubuntu = http://archive.ubuntu.com/ubuntu
ubuntu_archive = http://old-releases.ubuntu.com/ubuntu ubuntu_archive = http://old-releases.ubuntu.com/ubuntu

View File

@@ -7,7 +7,7 @@
# #
# For more details please see: # For more details please see:
# #
# http://xen-tools.org/ # https://xen-tools.org/
# #
## ##
@@ -54,6 +54,14 @@
## ##
# lvm = vg0 # lvm = vg0
#
##
#
# If you have ZFS available and wish to use it then you may specify a
# ZFS pool name here instead
#
##
# zpool = xenpool0
# #
## ##
@@ -126,11 +134,11 @@ install-method = debootstrap
## ##
# #
size = 4G # Root disk, suffix (G, M, k) required size = 4G # Root disk, suffix (G, M, k) required
memory = 128M # Suffix (G, M, k) required memory = 256M # Suffix (G, M, k) required
#maxmem = 256M # Suffix (G, M, k) optional #maxmem = 2G # Suffix (G, M, k) optional
swap = 128M # Suffix (G, M, k) required swap = 512M # Suffix (G, M, k) required
# noswap = 1 # Don't use swap at all for new systems. # noswap = 1 # Don't use swap at all for new systems.
fs = ext3 # Default file system for any disk fs = ext4 # Default file system for any disk
dist = `xt-guess-suite-and-mirror --suite` dist = `xt-guess-suite-and-mirror --suite`
# Default distribution is determined by Dom0's distribution # Default distribution is determined by Dom0's distribution
image = sparse # Specify sparse vs. full disk images (file based images only) image = sparse # Specify sparse vs. full disk images (file based images only)
@@ -170,7 +178,7 @@ image = sparse # Specify sparse vs. full disk images (file based images only)
# #
# #
# Setup bridge name for host vif. Usefull if you use bridged networking # Setup bridge name for host vif. Useful if you use bridged networking
# for guests. # for guests.
# #
# bridge = xendmz # bridge = xendmz

View File

@@ -20,19 +20,7 @@
{ {
if ( $pygrub ) if ( $pygrub )
{ {
my $pygrub_bin = ''; $OUT .= "bootloader = 'pygrub'\n";
foreach my $pygrub_path (reverse glob('/usr/lib/xen-default/bin/pygrub
/usr/lib/xen-*/bin/pygrub
/usr/*bin/pygrub')) {
if (-x $pygrub_path) {
$pygrub_bin = $pygrub_path;
last;
}
}
die "pygrub not found" unless $pygrub_bin;
$OUT .= "bootloader = '$pygrub_bin'\n";
} }
} }
vcpus = '{$vcpus}' vcpus = '{$vcpus}'

View File

@@ -1,6 +1,50 @@
#!/bin/sh #!/bin/bash
# Skip dapper and edgy due to bug #659360 in debootstrap set -e
for dist in $(awk '!/^#|^$/ {print $1}' /etc/xen-tools/distributions.conf | egrep -v '^(dapper|edgy)$'); do
xen-create-image --dist $dist --force --verbose "$@" || break exec 2>&1
done 2>&1 | tee xen-tools-release-testing.log exec > >( tee xen-tools-release-testing-$(date -Iseconds).log )
if [ -z "$DISTRIBUTIONS" ]; then
DISTRIBUTIONS=$(awk '!/^#|^$|dont-test/ {print $1}' /etc/xen-tools/distributions.conf)
fi
echo Deleting old release-testing artefacts
for dist in $DISTRIBUTIONS; do
echo "*** Removing potential xen-tools-release-testing-$dist..."
xen-delete-image --verbose --hostname "xen-tools-release-testing-$dist"
done
echo Syncing...
sync
seconds=10
printf "Sleeping for %i seconds to avoid LVM race conditions: " $seconds
for i in $(seq 1 $seconds); do sleep 1; printf "%i " $i; done; printf '\n';
SUCCEEDED=''
FAILED=''
# From now on we just want to log failures, not abort.
set +e
for dist in $DISTRIBUTIONS; do
echo "*** Creating xen-tools-release-testing-$dist..."
xen-create-image --verbose --hostname "xen-tools-release-testing-$dist" --dist $dist --force "$@"
if [ "$?" -eq '0' ]; then
SUCCEEDED="$dist $SUCCEEDED"
else
FAILED="$dist $FAILED"
fi
done
echo ''
echo '======================================================================'
if [ -z "$FAILED" ]; then
echo '*** All tests succeeded! ***'
elif [ -z "$SUCCEEDED" ]; then
echo '*** All tests failed! ***'
else
echo "*** These distributions succeeded: $SUCCEEDED ***"
echo "*** These distributions failed: $FAILED ***"
fi

View File

@@ -0,0 +1 @@
../common/01-disable-daemons

View File

@@ -0,0 +1 @@
../common/05-shadowconfig-on

View File

@@ -0,0 +1 @@
../common/15-disable-hwclock

1
hooks/artful/20-setup-apt Symbolic link
View File

@@ -0,0 +1 @@
../common/20-setup-apt

View File

@@ -0,0 +1 @@
../common/25-generate-locale

View File

@@ -0,0 +1 @@
../common/30-disable-gettys

1
hooks/artful/35-setup-users Symbolic link
View File

@@ -0,0 +1 @@
../common/35-setup-users

View File

@@ -0,0 +1,128 @@
#!/bin/sh
#
# This script sets up the /etc/netplan/interface file for the new
# image.
#
# Steve
# --
# https://steve.fi/
prefix=$1
#
# Source our common functions
#
if [ -e /usr/share/xen-tools/common.sh ]; then
. /usr/share/xen-tools/common.sh
else
. ./hooks/common.sh
fi
# From: https://serverfault.com/questions/54981/linux-command-line-tool-to-work-with-netmasks-cidr-notation
mask2cdr ()
{
# Assumes there's no "255." after a non-255 byte in the mask
local x=${1##*255.}
set -- 0^^^128^192^224^240^248^252^254^ $(( (${#1} - ${#x})*2 )) ${x%%.*}
x=${1%%$3*}
echo $(( $2 + (${#x}/4) ))
}
#
# Log our start
#
logMessage Script $0 starting
#
# Make sure we have an /etc/netplan directory.
#
mkdir -p ${prefix}/etc/netplan
#
# A function to setup DHCP for our new image.
#
setupDynamicNetworking ()
{
#
# The host is using DHCP.
#
cat <<E_O_DHCP > ${prefix}/etc/netplan/01-netcfg.yaml
# Arno: Configure VM interface eth0 via DHCP
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
E_O_DHCP
}
#
# A function to setup static IP addresses for our new image.
#
setupStaticNetworking ()
{
# Arno
cidr='24';
if [ -n "${netmask}" ]; then
cidr="$(mask2cdr ${netmask})"
fi
#
# We have a static IP address
#
cat <<E_O_STATIC >${prefix}/etc/netplan/01-netcfg.yaml
# Arno: Set static IP for VM interface eth0
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses: [${ip1}/${cidr}]
gateway4: ${gateway}
nameservers:
addresses: [${nameserver}]
E_O_STATIC
# Arno: no support for multiple interfaces
#
# Hooks are run chrooted, hence the resolv.conf is moved
# temporarily to /etc/resolv.conf.old. Use that file, it
# will be restored after hooks are run.
#
if [ '' != "$nameserver" ]; then
rm -f ${prefix}/etc/resolv.conf.old
for ns in $nameserver; do
echo "nameserver $ns" >>${prefix}/etc/resolv.conf.old
done
else
cp /etc/resolv.conf ${prefix}/etc/resolv.conf.old
fi
}
#
# Call the relevant function
#
if [ -z "${dhcp}" ]; then
logMessage "Setting up static networking"
setupStaticNetworking
else
logMessage "Setting up DHCP networking"
setupDynamicNetworking
fi
#
# Log our finish
#
logMessage Script $0 finished

View File

@@ -0,0 +1 @@
../common/50-setup-hostname-deb

View File

@@ -0,0 +1 @@
../common/60-copy-host-files

View File

@@ -0,0 +1 @@
../common/65-copy-user-files

1
hooks/artful/70-install-ssh Symbolic link
View File

@@ -0,0 +1 @@
../common/70-install-ssh-deb

View File

@@ -0,0 +1 @@
../common/75-fixup-securetty

View File

@@ -0,0 +1 @@
../common/80-install-kernel-ubuntu

View File

@@ -0,0 +1 @@
../common/80-install-modules-deb

View File

@@ -0,0 +1 @@
../common/81-install-modules-init-tools

View File

@@ -0,0 +1 @@
../common/82-install-grub-legacy

1
hooks/artful/90-make-fstab Symbolic link
View File

@@ -0,0 +1 @@
../common/90-make-fstab

1
hooks/artful/99-clean-image Symbolic link
View File

@@ -0,0 +1 @@
../common/99-clean-image-deb

View File

@@ -0,0 +1 @@
../common/99-enable-daemons

View File

@@ -59,9 +59,9 @@ logMessage "Kernel $KERNELVERSION found"
logMessage "Creating /boot/grub/menu.lst" logMessage "Creating /boot/grub/menu.lst"
mkdir -p ${prefix}/boot/grub mkdir -p ${prefix}/boot/grub
cat > ${prefix}/boot/grub/menu.lst << EOF cat > ${prefix}/boot/grub/menu.lst << EOF
# WARNING : Don't forget to update this when you upgrade kernel ! # WARNING : Don't forget to update this when you upgrade kernel!
# You can also exclude kernel-xen from updates by putting # You can also exclude kernel-xen from updates by putting
# exclude=kernel-xen in in [main] in yum.conf # exclude=kernel-xen in [main] in yum.conf
default=0 default=0
timeout=5 timeout=5

View File

@@ -59,9 +59,9 @@ logMessage "Kernel $KERNELVERSION found"
logMessage "Creating /boot/grub/menu.lst" logMessage "Creating /boot/grub/menu.lst"
mkdir -p ${prefix}/boot/grub mkdir -p ${prefix}/boot/grub
cat > ${prefix}/boot/grub/menu.lst << EOF cat > ${prefix}/boot/grub/menu.lst << EOF
# WARNING : Don't forget to update this when you upgrade kernel ! # WARNING : Don't forget to update this when you upgrade kernel!
# You can also exclude kernel-xen from updates by putting # You can also exclude kernel-xen from updates by putting
# exclude=kernel-xen in in [main] in yum.conf # exclude=kernel-xen in [main] in yum.conf
default=0 default=0
timeout=5 timeout=5

View File

@@ -96,7 +96,7 @@ installDebianPackageAndRecommends ()
# #
# Install the packages # Install the packages
# #
DEBIAN_FRONTEND=noninteractive chroot ${prefix} /usr/bin/apt-get --yes install "$@" DEBIAN_FRONTEND=noninteractive chroot ${prefix} /usr/bin/apt-get --yes install "$@" 2>&1 | sed --expression="s/\rExtracting templates from packages: [0-9]\+%//g;s/(Reading database ... \([0-9]\+%\)\?\r//g"
# #
# Remove the policy-rc.d script. # Remove the policy-rc.d script.
@@ -210,7 +210,7 @@ timeout 2
# altoptions=(single-user mode) single # altoptions=(single-user mode) single
## controls how many kernels should be put into the menu.lst ## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the ## only counts the first occurrence of a kernel, not the
## alternative kernel options ## alternative kernel options
## e.g. howmany=all ## e.g. howmany=all
## howmany=7 ## howmany=7

View File

@@ -5,7 +5,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -9,7 +9,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
use strict; use strict;

View File

@@ -5,7 +5,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1
@@ -88,8 +88,9 @@ setupStaticNetworking ()
# #
# gateway address? # gateway address?
# #
gway='';
if [ -n "${gateway}" ]; then if [ -n "${gateway}" ]; then
gateway=" gateway ${gateway}" gway=" gateway ${gateway}"
fi fi
# #
@@ -107,7 +108,7 @@ iface lo inet loopback
auto eth0 auto eth0
iface eth0 inet static iface eth0 inet static
address ${ip1} address ${ip1}
${gateway} ${gway}
netmask ${netmask} netmask ${netmask}
${bcast} ${bcast}
${point} ${point}

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -5,7 +5,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
@@ -63,7 +63,7 @@ EOF
# #
if [ -z "${dhcp}" ]; then if [ -z "${dhcp}" ]; then
# #
# If dhcp is diabled, FQDN should resolve to our IP # If DHCP is disabled, FQDN should resolve to our IP
# #
cat >> ${prefix}/etc/hosts <<EOF cat >> ${prefix}/etc/hosts <<EOF
${ip1} $GUEST_FQDN $GUEST_HOSTNAME ${ip1} $GUEST_FQDN $GUEST_HOSTNAME

View File

@@ -5,7 +5,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/

View File

@@ -5,7 +5,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -1,7 +1,6 @@
#!/bin/sh #!/bin/sh
# #
# Copy files from a 'skel' directory, if present, into the # Copy some specific files from host nachine into the new images
# new images
# #

View File

@@ -38,7 +38,7 @@ if [ -d /etc/xen-tools/skel ]; then
else else
logMessage skel directory, /etc/xen-tools/skell, not present ignoring. logMessage skel directory, /etc/xen-tools/skel, not present ignoring.
fi fi

View File

@@ -8,7 +8,7 @@
# #
# Dmitry Nedospasov # Dmitry Nedospasov
# -- # --
# http://nedos.net/ # http://www.nedos.net/
prefix=$1 prefix=$1

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -5,7 +5,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -7,7 +7,7 @@
# #
# Dmitry Nedospasov # Dmitry Nedospasov
# -- # --
# http://nedos.net # http://www.nedos.net/
prefix=$1 prefix=$1
@@ -26,7 +26,7 @@ fi
logMessage Script $0 starting logMessage Script $0 starting
if [ "${pygrub}" ]; then if [ "${pygrub}" = "1" ]; then
# #
# The type of kernel that we will be installing # The type of kernel that we will be installing

View File

@@ -9,7 +9,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1
@@ -31,7 +31,7 @@ fi
# #
logMessage Script $0 starting logMessage Script $0 starting
if [ ${pygrub} ]; then if [ "${pygrub}" = "1" ]; then
logMessage "pygrub set, skipping module install" logMessage "pygrub set, skipping module install"
else else
# #

View File

@@ -9,7 +9,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -26,7 +26,7 @@ fi
# #
logMessage Script $0 starting logMessage Script $0 starting
if [ ${pygrub} ]; then if [ "${pygrub}" = "1" ]; then
# #
# Install the grub 0.9x package ("grub-legacy" on Debian, "grub" on Ubuntu) # Install the grub 0.9x package ("grub-legacy" on Debian, "grub" on Ubuntu)

View File

@@ -9,7 +9,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/

View File

@@ -7,7 +7,7 @@
# #
# Dmitry Nedospasov # Dmitry Nedospasov
# -- # --
# http://nedos.net # http://www.nedos.net/
prefix=$1 prefix=$1
@@ -21,7 +21,7 @@ else
. ./hooks/common.sh . ./hooks/common.sh
fi fi
if [ "${pygrub}" ]; then if [ "${pygrub}" = "1" ]; then
# #
# Log our start # Log our start
# #

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -7,7 +7,7 @@
# #
# Dmitry Nedospasov # Dmitry Nedospasov
# -- # --
# http://nedos.net # http://www.nedos.net/
prefix=$1 prefix=$1
@@ -27,7 +27,7 @@ fi
logMessage Script $0 starting logMessage Script $0 starting
if [ "${pygrub}" ]; then if [ "${pygrub}" = "1" ]; then
# #
# Attempt to install a xen kernel, if that fails, then install a normal one # Attempt to install a xen kernel, if that fails, then install a normal one

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -5,7 +5,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/

View File

@@ -7,7 +7,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
prefix=$1 prefix=$1

View File

@@ -7,7 +7,7 @@
# #
# Dmitry Nedospasov # Dmitry Nedospasov
# -- # --
# http://nedos.net # http://www.nedos.net/
prefix=$1 prefix=$1
@@ -27,7 +27,7 @@ fi
logMessage Script $0 starting logMessage Script $0 starting
if [ "${pygrub}" ]; then if [ "${pygrub}" = "1" ]; then
# #
# Attempt to install a xen kernel, if that fails, then install a normal one # Attempt to install a xen kernel, if that fails, then install a normal one

View File

@@ -0,0 +1 @@
../common/80-install-kernel-ubuntu

View File

@@ -6,7 +6,7 @@ package Xen::Tools::Common;
=head1 NAME =head1 NAME
Xen::Tools::Common - Common funtions used in xen-tools' Perl scripts Xen::Tools::Common - Common functions used in xen-tools' Perl scripts
=head1 SYNOPSIS =head1 SYNOPSIS
@@ -129,7 +129,7 @@ sub xenRunning ($$)
my $running = 0; my $running = 0;
unless ($CONFIG->{'xm'}) { unless ($CONFIG->{'xm'}) {
warn "Couldn't determine Xen toolstack, skipping check for running DomUs." warn "Couldn't determine Xen toolstack, skipping check for running DomUs.\n"
unless $ENV{AS_INSTALLED_TESTING}; unless $ENV{AS_INSTALLED_TESTING};
return 0; return 0;
} }
@@ -161,18 +161,19 @@ sub findXenToolstack
{ {
my $helper = '/usr/lib/xen-common/bin/xen-toolstack'; my $helper = '/usr/lib/xen-common/bin/xen-toolstack';
if (-x $helper) { my $xm = which('xm');
my $xl = which('xl');
if ($xm and $xl and -x $helper) {
my $toolstack = `$helper`; my $toolstack = `$helper`;
chomp($toolstack); chomp($toolstack);
return $toolstack if $toolstack; return $toolstack if $toolstack;
} }
my $xm = which('xm');
if ($xm and system("$xm list >/dev/null 2>/dev/null") == 0) { if ($xm and system("$xm list >/dev/null 2>/dev/null") == 0) {
return $xm; return $xm;
} }
my $xl = which('xl');
if ($xl and system("$xl list >/dev/null 2>/dev/null") == 0) { if ($xl and system("$xl list >/dev/null 2>/dev/null") == 0) {
return $xl; return $xl;
} }
@@ -246,7 +247,8 @@ sub runCommand ($$;$)
if (!$rcclose) if (!$rcclose)
{ {
logprint_with_config("Running command '$cmd' failed with exit code $?.\n", $CONFIG); my $exit_code = $? >> 8;
logprint_with_config("Running command '$cmd' failed with exit code $exit_code.\n", $CONFIG);
logprint_with_config("Aborting\n", $CONFIG); logprint_with_config("Aborting\n", $CONFIG);
print "See /var/log/xen-tools/".$CONFIG->{'hostname'}.".log for details\n"; print "See /var/log/xen-tools/".$CONFIG->{'hostname'}.".log for details\n";
unless ($fail_ok) { unless ($fail_ok) {
@@ -406,9 +408,9 @@ sub logprint_with_config ($$)
=head1 AUTHORS =head1 AUTHORS
Steve Kemp, http://www.steve.org.uk/ Steve Kemp, https://steve.fi/
Axel Beckert, http://noone.org/abe/ Axel Beckert, https://axel.beckert.ch/
Dmitry Nedospasov, http://nedos.net/ Dmitry Nedospasov, http://www.nedos.net/
Stéphane Jourdois Stéphane Jourdois
Merged from several scripts by Axel Beckert. Merged from several scripts by Axel Beckert.

View File

@@ -8,7 +8,7 @@ misc/
Contents: Contents:
xen-tools - Bash completion code for our commands. xen-tools - Bash completion code for our commands.
xen-tools.spec - File to build an RPM of the xen-tools pacakge. xen-tools.spec - File to build an RPM of the xen-tools package.
Steve Steve
-- --

View File

@@ -10,13 +10,13 @@
# #
# References on command line completion: # References on command line completion:
# #
# http://www.debian-administration.org/articles/316 # https://debian-administration.org/articles/316
# http://www.debian-administration.org/articles/317 # https://debian-administration.org/articles/317
# http://dev.gentoo.org/~plasmaroo/devmanual/tasks-reference/completion/ # http://dev.gentoo.org/~plasmaroo/devmanual/tasks-reference/completion/
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk # https://steve.fi/
# #
# #

View File

@@ -1,7 +1,7 @@
# This initramfs-tools configuration file is installed by xen-tools. # This initramfs-tools configuration file is installed by xen-tools.
# #
# To make the Dom0's initramfs working inside DomUs, too, most modules # To make the Dom0's initramfs working inside DomUs, too, most modules
# need to be included, not just those necvessary for the host system # need to be included, not just those necessary for the host system
# and its hardware. # and its hardware.
MODULES=most MODULES=most

View File

@@ -5,8 +5,8 @@ Summary: Scripts used to create new Xen domains
Group: Applications/Emulators Group: Applications/Emulators
License: GPLv2 or Artistic License: GPLv2 or Artistic
URL: http://xen-tools.org/software/xen-tools/ URL: https://xen-tools.org/software/xen-tools/
Source0: http://xen-tools.org/software/xen-tools/xen-tools-%{version}.tar.gz Source0: https://xen-tools.org/software/xen-tools/xen-tools-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch BuildArch: noarch

View File

@@ -4,7 +4,7 @@
# #
# Steve # Steve
# -- # --
# http://www.steve.org.uk/ # https://steve.fi/
# #

Some files were not shown because too many files have changed in this diff Show More