summaryrefslogtreecommitdiff
path: root/morphlib/builder2.py
Commit message (Collapse)AuthorAgeFilesLines
...
* fix tabs and line widths so ./check passesRichard Maw2012-06-141-11/+11
|
* morphlib.builder2: check in local cache firstRichard Maw2012-06-141-2/+2
| | | | | | 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.
* morphlib.builder2: write stratum metadataRichard Maw2012-06-141-5/+25
| | | | | | 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.
* morphlib.builder2: fix unit testsRichard Maw2012-06-141-4/+4
|
* morphlib.builder2: write overlaps to cacheRichard Maw2012-06-141-15/+38
| | | | Rather than just log the overlaps, write them to the cache as well
* builder2: write json to cache instead of tarballRichard Maw2012-06-141-33/+53
| | | | | | | | | | | | | | 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.
* Merge branch 'richardmaw/arm-hack'Richard Maw2012-06-131-14/+35
|\
| * SystemBuilder ARM: write kernel as System metadataRichard Maw2012-06-131-0/+13
| | | | | | | | | | This should really be an artifact, but it is assumed that systems only generate one artifact, so this may be difficult.
| * SystemBuilder: pass missing parameter to install_boot_filesRichard Maw2012-06-131-1/+1
| |
| * SystemBuilder: __getitem__ is for indexing not propertiesRichard Maw2012-06-131-1/+1
| | | | | | | | Note to self, remember python is not lua
| * morphlib: add 'arch' field to morphologiesRichard Maw2012-06-131-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'
* | Add setup_proc as initializer argument to BuilderLars Wirzenius2012-06-111-2/+3
|/ | | | | Setting it via direct attribute access, when everything else is set via initializer arguments, is just strange.
* morph: remove dead code and replace Execute with app.runcmdRichard Maw2012-05-301-35/+33
|
* SystemBuilder: expect rootfs to be /dev/sda1Richard Maw2012-05-171-3/+3
| | | | | vmware doesn't support virtio, so to be compatible, we have to use /dev/sda1
* Build chunk artifacts in a deterministic orderLars Wirzenius2012-05-171-1/+3
| | | | | | | | 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.
* builder: use the same tar extract logic for all artifactsRichard Maw2012-05-141-1/+1
| | | | | Before only the staging area had symbolic links handled, now strata and systems will have the same logic.
* builder: log to warnings when artifacts overlapRichard Maw2012-05-141-4/+43
| | | | | It may be better to print it to the console, but that requires getting self.msg set
* Remove spurious empty line from the sourceLars Wirzenius2012-05-111-1/+0
|
* Use documented interface to get filename rather than SaveFile's internalsLars Wirzenius2012-05-091-1/+1
|
* First unmap devices for system image, then close (=rename) the fileLars Wirzenius2012-05-091-1/+1
|
* Fix long lines being too long for tests to pass.Jannis Pohlmann2012-05-091-1/+1
|
* Create system images directly in the artifact cache using SaveFile.Jannis Pohlmann2012-05-091-16/+5
| | | | | This avoids having to copy the generated image files to the cache later, which can take (almost) forever.
* StratumBuilder: log which chunks are unpackedRichard Maw2012-05-091-0/+3
| | | | | | | 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.
* system image use systemd on vda1 and build in tmpRichard Maw2012-05-091-5/+5
| | | | | | | | | | | | | | | | 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
* Integrate RemoteArtifactCache into the building process.Jannis Pohlmann2012-05-031-15/+37
| | | | | | | | | 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.
* Get rid of the old internal morph APIsLars Wirzenius2012-05-021-1/+39
|
* Fix unmounting /proc in staging so it works when /proc wasn't mountedLars Wirzenius2012-04-261-2/+2
|
* Fix how unmounting of /proc inside chroot is doneLars Wirzenius2012-04-261-5/+8
| | | | | Note to self, everyone: /path/to/chroot/proc does not actually exist inside the chroot.
* Unmounted /proc in staging before assembling chunks, and only if it is thereLars Wirzenius2012-04-251-3/+2
| | | | | We have no use for /proc while building chunk artifacts, and hopefully this will prevent accidentally including /proc in them.
* Log /proc pathname in chroot when unmountingLars Wirzenius2012-04-251-1/+1
| | | | This is to make debugging easier.
* Setup /proc in staging only if using chroot; install staging-fillersLars Wirzenius2012-04-251-19/+27
|
* Add logging to /proc mounting and unmounting, and create /procLars Wirzenius2012-04-241-0/+4
|
* Mount /proc while building a chunkLars Wirzenius2012-04-241-0/+14
|
* builder2: fix line widthRichard Maw2012-04-241-1/+2
|
* Merge remote-tracking branch 'origin/master' into rm/timings-backRichard Maw2012-04-241-6/+16
|\
| * Use submodule url, not path, to find it in the repo cacheLars Wirzenius2012-04-241-1/+1
| |
| * Make builder get submodule cache repo path cleanlyLars Wirzenius2012-04-241-11/+14
| |
| * Fix fix of submodule checkoutsLars Wirzenius2012-04-241-2/+3
| |
| * Fix how the new builder code checks out submodulesLars Wirzenius2012-04-241-1/+7
| |
* | builder2: fix system buildingRichard Maw2012-04-241-3/+4
| | | | | | | | | | Accidental indentation caused this function to not be defined in the correct scope.
* | builder: cache metadata in the right pathRichard Maw2012-04-241-2/+3
| | | | | | | | | | | | Build times belong in cachekey.meta. This is part of the source's metadata, rather than the artifact's. Otherwise it would be in cachekey.artifact.meta
* | builder: add build times againRichard Maw2012-04-241-139/+183
|/
* morph: add cache id to the meta filesRichard Maw2012-04-201-1/+3
| | | | This is probably excessively large right now
* Add missing import for shutilLars Wirzenius2012-04-201-0/+1
|
* Remove unnecessary argument from unpack_binary_from_file callLars Wirzenius2012-04-201-1/+1
|
* Add log message to indicate we got an error while system image buildingLars Wirzenius2012-04-201-1/+3
| | | | | This'll make it easier to see from a log file why we suddenly unmount something.
* Add logging to easier trace what's happening in system buildingLars Wirzenius2012-04-201-0/+16
|
* Fix reference to morphology (via source, no longer in artifact)Lars Wirzenius2012-04-201-2/+2
|
* Set cache key in newly created artifact objectsLars Wirzenius2012-04-181-1/+3
|
* Fixes to adapt to changes in masterLars Wirzenius2012-04-181-12/+11
|