| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This should never happen any more, so the check is now redundant.
This may have a negligible performance benefit, but it prevents the
code implying that None is a valid architecture.
|
|
|
|
|
|
|
|
|
|
| |
This is required for systemd's journald to start.
This is probably a bad dependency in systemd, trying to start the
journal before it has mounted everything properly.
This required a compat change, it is a string to make it more
noticeable that it's a temporary version.
|
|
|
|
|
| |
Data buffers can get confused if two file handles are writing to the
same file, python's subprocess module has subprocess.STDOUT for this.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
fstab had errors=remount-ro, this is an ext option, btrfs doesn't
support it.
However it should be mounted noatime, to prevent the metadata
trees being duplicated because they were read.
extlinux.conf also has its mounting options changed so that the
rootfs is mounted read-only initially. This should prevent the
metadata trees being updated by reading them until it is remounted
with noatime.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also, some bug fixes.
Also, when handling a BaseException, log the exception (with traceback)
that we're handling, in case there is an error while handling it, because
the second error will otherwise mask the first one.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new method takes a list of keyword arguments. This is more useful
than the old way of giving just a string, since now the presentation
layer may transmogrify the status update. For example, it can usefully
translate the message to another language.
Add --verbose option to allow more control over what the user sees.
|
|/
|
|
|
|
|
| |
The kernel should be considered a full artifact, not just metadata.
The rootfs is now suffixed by -rootfs and the kernel is named
$name-kernel. This is similar to how chunk splitting works.
|
|
|
|
|
|
| |
This required refactoring mount_proc and unmount_proc into more
generic mounting functions.
do_mounts returns the paths that were mounted instead of just one
|
|
|
|
|
| |
This change is purely cosmetic, but reflects the fact that we need
to mount more than just proc sometimes.
|
| |
|
| |
|
|
|
|
|
|
| |
It's possible to work without a remote artifact cache, sadly there
is not an explicit check for a None remote artifact cache to prevent
it downloading dependencies.
|
|
|
|
|
|
| |
Stratum metadata was getting lost because it is not part of the
chunks. Now metadata is written to the cache, then when the system
builder assembles the strata it copies the metadata in.
|
| |
|
|
|
|
| |
Rather than just log the overlaps, write them to the cache as well
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that this has no way to deal with an old cached stratum
being a tarball yet.
Strata are now json files listing basenames, which get converted into
ArtifactCacheReferences.
SystemBuilders now have to ensure they download the chunks as well, since
having the strata doesn't imply that the chunks are also available.
Overlap checking is slightly more complicated by strata not being tarballs
any more, but this is dealt with by looking at the chunks' tarballs.
|
|\ |
|
| |
| |
| |
| |
| | |
This should really be an artifact, but it is assumed that systems
only generate one artifact, so this may be difficult.
|
| | |
|
| |
| |
| |
| | |
Note to self, remember python is not lua
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is an ugly, ugly way to do this, but time is pressing.
SystemBuilder checks what arch is defined in the morphology, if
it is an x86 (or None for compatibility) then it will do the syslinux
install stuff.
This hack is needed because syslinux is x86 specific and arm
often has different requirements for where the kernel must be loaded
from, sometimes it is flash, sometimes it is a different partition.
This will likely become board specific, but for a qemu-system-arm,
the kernel should be a separate file, to be passed on the command line.
Having a different 'kind' for each architecture would be a nicer way,
but would require more changes, since there are various checks for
morphology['kind'] == 'system'
|
|/
|
|
|
| |
Setting it via direct attribute access, when everything
else is set via initializer arguments, is just strange.
|
| |
|
|
|
|
|
| |
vmware doesn't support virtio, so to be compatible, we have to use
/dev/sda1
|
|
|
|
|
|
|
|
| |
Previously, we were building them in whatever order
a Python dict returned the names of the artifacts,
and that is not deterministic.
Fixes bug S2192.
|
|
|
|
|
| |
Before only the staging area had symbolic links handled, now
strata and systems will have the same logic.
|
|
|
|
|
| |
It may be better to print it to the console, but that requires
getting self.msg set
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This avoids having to copy the generated image files to the cache later,
which can take (almost) forever.
|
|
|
|
|
|
|
| |
I had a corrupt chunk, finding out which one would have been difficult
if it hadn't been logged.
Proper chunk corruption detection would be better, but this is still
useful.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the tempdir of the staging area instead of the chroot directory
as the basedir for building system images.
It would be better to create it directly in the cache, then rename it
when finished, but commands need a filename and the cache provides an
open file handle.
Change the generated fstab and extlinux.conf to use systemd as the init
and expect the root filesystem to be on vda1 instead of sda1.
vda1 is slightly more efficient and is the default storage device for
libvirt.
This is safe to add before systemd is fully integrated, as if the
kernel can't find that file it run /sbin/init, which is busybox
|
|
|
|
|
|
|
|
|
| |
For now we do not provide an option to avoid downloading artifacts
during build. Unsetting --cache-server is an option but it's not
user-friendly. Of course if there is no network connection, then
downloading will fail and things will be built locally. We may
want to add a generic --no-network switch to replace/extend
--no-git-update later.
|
| |
|
| |
|
|
|
|
|
| |
Note to self, everyone: /path/to/chroot/proc does not actually
exist inside the chroot.
|
|
|
|
|
| |
We have no use for /proc while building chunk artifacts, and
hopefully this will prevent accidentally including /proc in them.
|
|
|
|
| |
This is to make debugging easier.
|
| |
|
| |
|
| |
|
| |
|