| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The test needs to check whether the chunk has the expected contents.
It used to mistakenly check if there were any chunks in the git cache.
|
|
|
|
|
|
|
|
|
|
| |
Detecting the build system is managed by it asking if any files exist
detecting if the file exists is done with a callback function.
This callback can use cat-file.
If list_files existed this could be more efficient as it would not
require the files to be read from the remote server and it only needs
to be one round-trip
|
| |
|
|
|
|
|
|
| |
We'll get back to linux-user-chroot later, but to do that,
we need to sort out how we deal with the install-commands
without needing real or fake root for them.
|
|\ |
|
| |
| |
| |
| | |
Pass 1 is done through morph now, so it doesn't need this any more
|
| |
| |
| |
| |
| |
| |
| |
| | |
Traversing morphologies is a little simpler now, the callback
for visit is enough to create a source pool
This still needs repository caches to be able to list_files()
before deducing a morphology will work.
|
| |
| |
| |
| |
| | |
Instead of doing all the iteration yourself, there is a helper function
that can be given a visitor callback
|
| |
| |
| |
| |
| | |
There are cases where we would not need a remote cache, so it
should be able to operate without one.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
With a neat little trick, urllib2 can be made to only perform a HEAD
request in urllib2.urlopen(). This is done by creating a dedicated
HeadRequest class for HEAD requests and by passing such a HeadRequest to
urllib2.urlopen().
This also means we no longer have to check the response status ourselves
again as urllib2 will raise an exception on negative HTTP responses like
404 or 500.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
When we are not using --staging-chroot (e.g., bootstrap), we need to
specify the temporary directory separately, because it needs to obey
things like $TMPDIR.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The code has changed the error message.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this commit, the ArtifactResolver no longer computes the cache keys
when creating Artifact objects. This will have to happen as a
post-resolving step (e.g. prior to building or checking whether a local
or remote artifact cache has any of the resolved artifacts).
The CacheKeyComputer now takes an Artifact object and computes the cache
keys using its dependencies.
BuildGraph is no longer needed for the CacheKeyComputer unit tests.
|
| |
|
|
|
|
| |
This causes an undefined variable error.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new setting called 'cache-server' to morph. It is None
by default and should be set to the HTTP URL of a morph cache server
to be used.
The RemoteRepoCache object provides two methods: resolve_ref() and
cat_file(), both of which wrap the communication with the cache
server and return a SHA1 string and file contents, respectively.
The _create_source_pool() method now takes a local and an optional
remote repo cache and tries to do whatever is best to resolve
refs and load morphologies for the Source objects it creates.
|
|
|
|
|
|
|
|
|
|
| |
This is because we will need to integrate a RemoteRepoCache and we don't
always want to create a CachedRepo object (in fact, we only want that
for the sources of artifacts we actually need to build). So we'll use
either the local or the remote repo cache to resolve refs and morphology
texts and then later, when actually caching a repo, we'll set the
source.repo member to a CachedRepo object that we can then use to
unpack the sources.
|
| |
|
|
|
|
|
| |
This might still require --prefix to be passed to the install
command to work with custom prefixes.
|
| |
|
|
|
|
|
|
| |
This is done to avoid a nasty mix of SourcePool lookups using CachedRepo
objects (e.g. for strata within a system) versus lookups using repo names
(e.g for sources within a stratum).
|
| |
|
|
|
|
|
|
| |
The Morph#_create_source_pool method takes a repo cache and a repo, ref,
filename triplet and resolves all the sources involved in a potential
build of this triplet.
|
| |
|
|
|
|
| |
However, leave a TODO note that we really want this in the source.
|
|
|
|
|
|
|
| |
The __str__() method returns "x|y|z|a" where x is the repo, y is the
original ref, z is the morphology filename and a is the name of the
artifact. This is a consistent extension of the str() implementation
of Source, which returns just "x|y|z".
|
|
|
|
|
|
|
| |
This class implements the build order part of the old BuildGraph.
It takes a list of artifacts with dependencies, creates independent
build groups for these artifacts and provides an iterable interface
to traverse these groups and their artifacts.
|
|
|
|
|
| |
Also amend tests to operate on a dependency chain starting from
a system morph
|
| |
|
| |
|