| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
We don't do releases, so having the version number in the source is
misleading. If and when we start doing numbered releases, it's easy
to add back. However, YAGNI and all that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also, change builder.py to always obey the --max-jobs setting, unless
a morphology has a max-jobs field.
The defaults have been chosen so that they work for everyone equally
well. It may be useful to have a local mirror and then set the options
to point there, but it's not reasonable to try to guess such things,
so the defaults can be adapated to that.
Collect the defaults into one place so they're easier to overview.
The cliapp interface for adding settings is verbose enough that the
defaults were getting buried.
|
|
|
|
|
|
|
|
|
|
|
| |
Some like to see tests/*-actual files in "git status" output, for
example, and others don't. The best way to deal with this seems to
be to not have them in .gitignore and add a personal global
ignores file for those who want to ignore them.
git config --global core.excludesfile ~/.git-default-ignores
Then edit ~/.git-default-ignores.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This we a proof-of-concept, and we want to explore various options of
how to do this, so let's not keep the code in morph. The code also has
no tests, so it is already likely to have bit-rotted.
If we decide we want to, we can always resurrect it from git history.
|
|
|
|
|
| |
This avoids problems with files with the right names but partial
content, if morph is killed in the middle of writing the file.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it easier to check the output with vgrep for errors or
problems. Voluminous git output made that hard.
The key is that "git bundle create" has no --quiet optio (meh),
so we have to redirect stderr to /dev/null. However, that would
hide real errors, which we want to catch. Luckily, we can just
replace the call to subprocess.call with a call to
subprocess.check_call, and then we'll at least abort if there's
an error, instead of silently ignoring it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Either all .gits need to be left alone, including submodules, or
all of them get changed.
Doing all gets surprisingly complicated, as bottom-up traversal is
needed for directories to have their mtimes set, which means that
either we check the path for a .git component, or we do our own
traversal function, to top-down exclude .git and bottom-up set
mtimes.
This is more effort than it is worth when git probably doesn't care
so let's just drop it entirely.
|
|
|
|
|
|
|
|
|
|
|
|
| |
run-bootstrap-in-chroot would not build a stage if it had a snapshot
for the next stage.
If the same directory had previously run while snapshotting then
it would skip earlier stages without building them as it used to be
able to extract that tarball.
This fails as stages depend on earlier stages.
This change is so that it will build if it is not snapshotting or
if the stage has not been snapshotted.
|
|
|
|
|
|
|
|
| |
Set the #! to bash, as it uses bashisms
Everywhere where it would try to run tar has a check for $snapshot
Allows the snapshot variable to be set in the environment for the
script to use that, it seemed easier than adding an option
Use run_pass for stage 3 since it can have snapshotting disabled
|
|
|
|
|
|
| |
baserock-bootstrap does not make system images any more
I copied the part of the script out and made some changes
These should be in version control
|
| |
|
|
|
|
|
|
|
|
| |
Setting mtimes can fail if it is a symbolic link and it
points to a non-existant file.
This has happened when we had symbolic links pointing to files
in a submodule, so we set mtimes after submodules have been
checked out.
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
This is a bit stupid and requires tests to be adjusted (which is done in
this commit as well).
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
This is done to keep the git repository intact with history and all
that. cp + checkout turns out to be faster than a regular "git clone".
In order to avoid roundtrips to the internet whenever a chunk tries to
do something with submodules, we force the submodule URLs to point to
our locally cached repos.
|
| |
|
| |
|
|
|
|
|
|
| |
If the TMPDIR variable is not yet set, then setting it without
exporting will not make it available to child processes. Thus,
let's just make sure we export it and everyone will be happy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Putting the commands in a file made it more difficult to tell
what happened in scripts, until the self.msg was added.
After then it made the commands more difficult to reproduce
So if it can safely be done in a single command it should be more
readable.
This approach uses sh -c to cd then evaluate the remaining options
The command is 'cd "$1" && shift && eval "$@"', then passes the command
as arguments to the shell script, so the program does not need to do any
escaping of strings.
If the commands were a list of strings instead of a quoted string then
it would be a bit safer, but less flexible for use.
|
| |
|
|
|
|
|
|
|
| |
This is done to not print confusing errors in situations where one of
the bundles or base URLs works and everything is fine. If all of them
are failing though, we now print all the error messages in order to give
users an overview over what might have gone wrong.
|
| |
|
| |
|
|
|
|
|
| |
if it doesn't get replaced then a command may
try to use /tools/bin/env
|
| |
|
|
|
|
|
|
| |
this is pretty much just a copy of the pass 2 thing
this needs a cleanup, as there is duplicated functionality and
clashing names
|
|
|
|
|
| |
This is to make snapshots of them be small. pass2a and 2b pretty
much halved in size.
|
| |
|
| |
|
| |
|