Changes from 2.2:
Deal with curses sometimes optimizing away the final "s" in "Debug
symbols", causing the debug set to not be installed.
Increase default memory size for amd64 from 128M to 192M, as the
installer no longer runs reliably in 128M without exhausting memory.
Keep logging the console output for a few seconds after shutdown to
catch the autoconf detach messages and possible panics on detach.
When logging shell commands, avoid line breaks between options and
their arguments.
Support the "virt" machine type for evbarm-eamv7hf as an alternative
to the default of vexpress-a15. To enable, use the command line
option --machine virt.
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
Changes from 2.1:
Clean up some b'' quoting that appeared around strings in the log
output under python3.
New command line option --image-format for selecting the guest disk
image format. Supported values are "dense" (the default) and
"sparse".
Reset the install timeout whenever a new set extraction or other
command is started by sysinst, and reduce the timeout to 1 hour.
This allows hangs in the install phase to be detected more quickly.
Reset the test timeout whenever a new test program is started by ATF,
and reduce the default timeout to 2 hours. If you are passing a
non-default test timeout with the --test-timeout option, it can also
be reduced. This allows hangs during test runs to be detected more
quickly.
Fix the sparc64 CD install which was broken in 2.1, by adding an
index=2 attribute to the virtual CD drive.
Make NetBSD-current/macppc boot by passing "-prom-env qemu_boot_hack=y"
to qemu-system-ppc. From Joerg Sonnenberger.
Changes from 2.0:
Add support for the newly added rescue set.
Deal with the sysinst changes of 2019-11-16.
Add support for macppc targets, based on a patch from Joerg
Sonnenberger.
Fix failure to install the sharesrc set due to curses optimization.
Changes from 1.49:
In the test suite, run the tests in parallel to reduce the run time.
Downloads can now be interrupted using SIGINT (control-C).
On NetBSD, invoke makefs using its absolute path /usr/sbin/makefs
as /usr/sbin may not be in PATH.
Add support for Python 3.
When using qemu from pkgsrc, log the exact pkgsrc version of qemu and
glib2, including any nb suffix.
Changes from 1.48:
Fix issue introduced in 1.48 that caused the Xen install kernel to be
used instead of the regular Xen kernel when booting the installed
system.
Changes from 1.47:
When sysinst offers a choice of partitioning schemes, anita now uses
the one listed first. Therefore, i386 and amd64 installs of versions
where sysinst offers GPT as the first choice will use GPT rather than
MBR as was previously the case.
Add support for NetBSD/hppa targets.
Support some upcoming sysinst UI changes.
The structured log file is now flushed after each line so that
it can be used to debug a hung installation without waiting for
it to time out first.
Move the automatic determination of the type of the URL argument
(e.g., distribution directory vs. installation ISO) into a new library
function anita.distribution() so that it can be used not only from the
command line but also by Python programs calling anita as a library.
When using a pre-installed image, "anita install" will now boot it to
let it resize itself, rather than postponing the resize to when the
image is later booted in another mode such as "anita test".
Changes from 1.45:
Add support for NetBSD/evbarm-aarch64 targets.
Add support for NetBSD/sparc64 targets, from Utkarsh Anand.
The run_tests() method now halts the VM, to ensure that the
scratch disk containing ATF test results is flushed by the
guest before being read by the host.
Changes from 1.44:
Support xz compressed distribution sets.
Support NetBSD/vax via simh. Installing and booting works;
running the ATF tests does not. From Utkarsh Anand.
Mark the NumberedVersion and Release classes as deprecated.
Remove the obsolete clases DailyBuild and LocalBuild.
Fix a bug that caused the guest OS to unnecessarily boot twice
when entering "interact" mode since version 1.43.
Don't send a spurious "x" at the end of installation.
Log the pexpect version.
Changes since 1.42:
Disable optimization avoiding copies when installing from a file: URL
or local path, as it broke installation of source sets.
Deal with pexpect 4.3.1 requiring delayafterclose and
delayafterterminate to be set in two different places
(https://github.com/pexpect/pexpect/issues/462).
Support installing on disks with a corrupt or out-of-date MBR.
Log the command line arguments on startup.
- 1.43 released -
Log interactive mode input and output to the structured log file.
Add support for NetBSD/hpcmips targets, from Utkarsh Anand.
VM console input is no longer logged to stdout, to keep it from
appearing twice when echoed by the VM.
Fix VM console output appearing twice in interact mode (again).
Add support for gxemul as a new VMM and NetBSD/pmax as a new guest.
From Utkarsh Anand.
Increase the default test timeout to 24 hours, as the tests now
take much longer to run than before due to a combination of
the addition of new tests and qemu performance regressions.
Added target support for NetBSD/evbarm-earmv7hf, from Utkarsh Anand.
This installs from a pre-built image rather than using sysinst.
When installing from a file: URL or local path, avoid creating
unnecessary copies of the release files. From Utkarsh Anand.
New command line option --tests for explicitly selecting the the Kyua
test framework instead of ATF, from Utkarsh Anand.
Update xen dependency in options.mk from 4.1 to 4.2
since 4.1 is no longer in pkgsrc.
Make the build not fail when PKGSRC_RUN_TEST=yes.
Upstream changes since 1.40:
If the VMM exits unexpectedly while running the ATF tests or some
other shell command, log the exit status and the signal that caused it
to exit (if any).
Log the qemu version used to stdout.
Fix reference to uninitialized variable when reporting a
timeout waiting for VM halt confirmation.
Increase default child timeout from 300 to 600 seconds
to support VMMs where power-up takes a long time.
Increase child.delayafterclose and child.delayafterterminate
to support VMMs where power-down takes a long time.
Run more network diagnostics after failed network installs.
Add timestamps to structured log output.
Work around a bug in the urllib library of Python 2.7.12 that causes
FTP transfers to fail with the error message "[Errno ftp error] 200
Type set to I"; see https://bugs.python.org/issue27973.
When halting the child results in an EOF, don't print the exception
since that may be confused with a failure.
Run vmstat -s at the end of the ATF tests to help diagnose issues
like excessive paging due to insufficient memory.
Increase the default of the --test-timeout option from 3 hours to 8
hours, since the sparc tests are now taking more than 5 hours.
Increase the default disk size to 1526M, as 1G is no longer enough
for amd64.
Pass format=raw in the qemu -drive option to suppress warnings in
recent qemu versions.
Changelog:
- 1.39 released -
Deal with incompatible change in the output format of the "info block"
command in qemu 2.5.0.
Fix bug where the exit status of the shell command specified with the
--run option was not propagated to the exit status of anita.
New public method start_boot, to facilitate writing test cases that
interact with the boot prompt.
The structured log file now also contains informational messages,
of the form info('message').
Problems found locating distfiles:
Package colorls: missing distfile ls.tar.gz
Package molden: missing distfile molden-4.6/molden4.6.tar.gz
Package softmaker-office-demo: missing distfile ofl06trial.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Deal with the sysinst message changes of 2015-04-30.
When halting the VM, don't quit as soon as the text "halted" is seen,
because it may be part the message "halted by root", which is printed
before disks have been synced. Instead look for "The operating system
has halted", EOF, or a timeout.
The global test() function is no longer supported, use the run_tests()
method of the Anita object instead.
When halting the VM, do not attempt to log in if already logged in.
Make the distinctive shell prompts different from one invocation of
anita to another, so that anita can run itself recursively on the VM
without the outer instance mistaking a shell prompt from an inner
instance for one of its own.
The previous commit message accidentally contained the changes from
1.35 to 1.36 rather than those from 1.34 to 1.35. The changes from
1.34 to 1.35 were:
Support Linux host systems that have genisoimage but not mkisofs, such
as Debian 7.
New command line option --run-timeout.
When running a shell command, wrap the exit status in distictive text
so that it can be reliably matched in the presence of buffered output
containing other numeric strings.
Halt the VM when done.
Print the qemu command.
Do not require releases to contain install floppies, since amd64 no
longer has them.
The default value of the --boot-from option is now "cdrom" if the
install floppies are missing.
When reporting a failed download of optional files, be clearer that
this is not an error. Also, don't treat arbitrary exceptions during
downloads as indicating a missing file, only the expected IOError.
Increase the default disk size from 768M to 1G, as 768M is no
longer sufficient for amd64.
New command line option --structured-log-file. This is like
--structured-log but takes the name of a log file as an
argument, and the structured logging is in addition to, not
instead of, the traditional logging to stdout.
Increase installation timeout from 1 hour to 3 hours so that
a system built with DEBUG and LOCKDEBUG can be installed under
qemu without timing out.
Unconditionally print a greeting message including the version number
of startup, so that logs from automated anita runs will always
indicate the version used.
In --structured-log mode, log the string matched by expect() instead
of the return value, as the latter is always zero and therefore
conveys no useful information.
Support recent versions of sysinst (CVS date 2014.08.03.16.09.38 or
newer), where set selection happens after disk partitioning rather
than before.
Document qemu 2.0.0nb4 as a known working version.
New command line option --structured-log.
Before, anita depended on qemu0 or qemu. Now, it has options for
qemu-0, qemu (currently 2) and xen (currently 4.1). By default, all
are off because all of them are quite large and they need only be
present at run time.
Discussed with gson@, who did not object.
Fix installation of source and debug sets, which had been broken since
the label displayed by sysinst was changed from "Source sets" to
"Source and debug sets".
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
Fix a failure to consume a shell prompt which would cause it to remain
buffered and later be mistaken for one that had not yet issued. For
added protection, add a unique serial number to each prompt.
Omit drive index from qemu command line for backwards compatibility
with scripts written for anita 1.29 or older.
Fix X11 set names.
Increase the default timeout for running the NetBSD test
suite from 2 hours to 3 hours.
Add support for installing the new "debug" set, and add a new
man page section on using anita for debugging NetBSD.
Organize the BUGS section of the man page into sections,
and add links to four more qemu 1.x regressions.
Add Kuya support, based on patch from Julio Merino.
New command line option "--version".
Support booting i386 and amd64 from boot-com.iso instead
of the boot floppies, attaching a second virtual CD-ROM drive
for the install sets. Enable with "--boot-from cdrom".
Fix the Anita 1.2 backwards compatibility Release class.
Also, satisfy the qemu dependency using emulators/qemu0 rather
than emulators/qemu because the latter does not work on NetBSD 5.
The "xl" Xen interface can now be selected with "--vmm xl".
Increase the default memory size for amd64 to 128M.
Improve progress messages when creating the disk image.
When execing /bin/sh, wait for its prompt before sending
it a command.
Track the sysinst changes of 2012-04-06 introducing the new
post-install configuration menu.
Print a message before creating the disk image, as it can take
a long time and make it appear that anita has hung.