| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
This patch also modifies rawdisk.write to use the UPGRADE environment
variable to figure out when is doing an upgrade or a fresh deployment.
This change is important because os.path.isfile doesn't work with
devices.
|
|
|
|
|
|
| |
This way we can still use create_local_system to create
a raw disk, but also reuse bits of it to be able e.g. to
deploy to devices.
|
| |
|
|
|
|
|
|
| |
This way when deploying to a device it will format
it without asking the user if the device already
has format.
|
| |
|
|\
| |
| |
| |
| |
| | |
This merges in more documentation improvements
Reviewed-by: Richard Maw
|
| |\
| | |
| | |
| | | |
Reviewed-by: Richard Maw
|
|\ \ \
| |/ /
|/| |
| | | |
Reviewed-by: Richard Maw
|
| |\ \
|/ / /
| | _
| | |
Reviewed-by: Richard Maw
|
| |
| |
| |
| |
| | |
- Document different ways of calling parameters
- Allowed values for boolean parameters
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
Add AUTOSTART parameter
|
|\
| |
| |
| |
| | |
Reviewed-by: Richard Maw
Reviewed-by: Pete Fotheringham
|
| |
| |
| |
| |
| | |
- Move docstring from .write to .write.help
- Rework the content and formatting of the help information
|
|/ |
|
|\
| |
| |
| |
| | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, creating a GitDirectory object for something that wasn't a
Git repository would succeed, but most operations would raise a
cliapp.AppException with the following error message:
ERROR: Command failed: git config -z core.bare
Now, the constructor will raise a NoGitRepoError if the directory isn't
a Git repo, which (unless handled) gives the user the following sort of
message:
ERROR: Directory /src/ws/definitions is not a Git repository
|
|\ \
| | |
| | |
| | | |
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
|
| | |
| | |
| | |
| | |
| | | |
Silly mistake caused this to be broken, and there are no tests for this
command inside the morph.git source tree.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
git://git.baserock.org/baserock/baserock/morph
Reviewed-by: Sam Thursfield
Reviewed-by: Pedro Alvarez
|
| | |
| | |
| | |
| | |
| | | |
The bug in the generated command lines has been fixed, so we can have
this cleanup back now.
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 203f34b2b19b1d3dc51a956ae9329d064ea294dd.
The path inversion logic is still buggy for the case of wanting to keep
the top-level directory writable.
This escaped detection in the test suite because it resulted in
directories two levels down being made read-only, and I was only testing
one level down.
|
|\ \
| |/
|/|
| |
| | |
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit c63f4e61f69820c71c2d8e9b96ce9bdec0d476a1.
This change was introduced back when the Baserock system definitions
used named Git refs rather than exact SHA1s. Morph would thus need to
update each repo involved in a build and resolve each ref before it
could build. Now that the system definitions use SHA1s, the 'updating
gits' phase is much less slow.
The problem with forcing 'no-git-update' is that it makes `morph deploy`
depend on the remote repo cache. In the case that all repos involved in
the build are avaiable in the remote repo cache (Trove), there is no
need for them to have been cached locally just to construct a build
graph. But if the network connection to the Trove is unreliable Morph
will need to fall back to the local repo cache. Unless Morph has done a
full local build of the system being built, it might not have every repo
cached locally. Often, cached artifacts from the Trove or distbuild may
be used instead of locally building everything.
In this case the user sees `morph deploy` failing with errors such as:
Repository upstream:binutils-redhat is not cached yet
|
|\
| |
| |
| |
| | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This code is an essential part of 'morph build'. It's quite complex and
really shouldn't be mixed in with the base Application class.
Given a dedicated class we can store some state in the object and avoid
functions with seven parameters, too.
|
|/
|
|
|
|
| |
The MorphologyFactory class only uses the status() function of the
morphlib.Application instance that it gets passed. So make it require
only a status callback.
|
|\
| |
| |
| |
| | |
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
|
| |
| |
| |
| | |
Clarify that bare repositories are supported, and other fixes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The GitDirectory() constructor, if passed a 'dirname' that doesn't
contain a '.git' subdirectory, can search upwards to find the real root
of the repository. This is used by the `add-binary`, `push`, and `pull`
commands.
This causes very confusing behaviour in the case that 'dirname' points to
a directory that should be a Git repository, but isn't, and that directory
is a path inside the working tree of another Git repository. Rather than
raising an error, in this case the GitDirectory class would perform
operations on a different repository to the one the caller expected.
This 'search_for_root' behaviour is now opt-in, to avoid confusion.
|
|\ \
| | |
| | |
| | |
| | | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Jim MacArtuhur <jim.macarthur@codethink.co.uk>
|
| |/
| |
| |
| |
| | |
This allows checking if a ref exists without requiring the caller
to use a try:, except: block.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Reviewed-by:
- Sam Thursfield
- Emmet Hikory
- Paul Sherwood
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch solves the issue caused by upgrading a system without
a factory version. Currently we are only using the factory
version to snapshot its orig subvolume to make faster the transfer
of the new content (rsync won't have to send everything).
The default symlink may not be present, but it can't be deleted
easily using system-version-manager.
This is a quick fix, but in the future we may want to not harcode
the path from where we snapshot the orig subvolume. Or improve
system-version-manager to make sure that the default symlink
is always present.
|
|\ \
| |/
|/|
| |
| | |
Reviewed-by: Sam Thursfield <sam.thursfield@codethink.co.uk>
Reviewed-by: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
|
|/
|
|
|
| |
Fix checking for commit object in submodules which their path and
name are not the same.
|
|\
| |
| |
| |
| | |
Reviewed-By: Richard Ipsum <richard.ipsum@codethink.co.uk>
Reviewed-By: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Morph can appear to hang in situations where it is actually waiting on a
slow network operation. This change gives users a way to see the output
of the subcommands that are doing the network IO (either 'wget', 'git
clone' or 'git remote update').
The status information goes onto stderr, because that is where the
subcommands write it. Morph tends to put its status output on stdout,
but (a) some commands are machine-parsed, such as `serialise-artifact`
and (b) it's tricky to get Git to put status output on stdout.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where various branch-and-merge commands appeared to
be updating Git repos even when --no-git-update was specified. The flag
was actually honoured but the message made it seem as if it was being
ignored.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This removes the last case of global mounting that could cause issues
for being able to run multiple builds in parallel.
There's still concurrent access to caches and git servers that could
cause issues, but with this, it's possible to run morph in the
test-suite in parallel.
Reviewed-by: Daniel Silverstone
Reviewed-by: Sam Thursfield
|
| | |
|