summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Document why test ignore directory size and mtimeLars Wirzenius2012-02-281-0/+11
|
* Remove version numberLars Wirzenius2012-02-283-5/+1
| | | | | | 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.
* Set sensible defaults for git-base-url, bundle-server, cachedir, max-jobsLars Wirzenius2012-02-282-10/+22
| | | | | | | | | | | | | | 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.
* Remove all but Python bytecode files from .gitignoreLars Wirzenius2012-02-281-7/+0
| | | | | | | | | | | 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.
* Remove unnecessary parenthesesLars Wirzenius2012-02-271-2/+2
|
* Remove unnecessary unittest tearDown methodLars Wirzenius2012-02-271-3/+0
|
* Add version number to morphLars Wirzenius2012-02-271-1/+1
|
* Add docstring to the update-gits subcommandLars Wirzenius2012-02-271-0/+8
|
* Clarify that --ignore-submodules applies to git submodulesLars Wirzenius2012-02-271-2/+2
|
* Remove outdated warningLars Wirzenius2012-02-271-3/+0
|
* Make ./check check for long lines (with excptions); fix long linesLars Wirzenius2012-02-279-24/+50
|
* Expand TAB characters and make check check for themLars Wirzenius2012-02-273-10/+23
|
* Add missing copyright years to files missing itLars Wirzenius2012-02-272-2/+2
|
* Add checking of years in copyright statments to ./checkLars Wirzenius2012-02-271-1/+7
|
* Add script to check years in copyright statements against git commit datesLars Wirzenius2012-02-271-0/+86
|
* Remove the system testing subcommands and related codeLars Wirzenius2012-02-273-217/+0
| | | | | | | | 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.
* Create chunks, strata in cache via temporary filesLars Wirzenius2012-02-279-22/+235
| | | | | This avoids problems with files with the right names but partial content, if morph is killed in the middle of writing the file.
* Hide git output from unit test outputLars Wirzenius2012-02-272-4/+6
| | | | | | | | | | | | 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.
* morph: drop special case .git in mtime settingRichard Maw2012-02-271-6/+4
| | | | | | | | | | | | | 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.
* scripts: don't skip if not snapshottingRichard Maw2012-02-271-2/+2
| | | | | | | | | | | | 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.
* scripts: allow running without snapshotsRichard Maw2012-02-271-4/+4
| | | | | | | | 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
* mkimage.sh: add scriptRichard Maw2012-02-271-0/+50
| | | | | | 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
* morph: use right dir for set mtimeRichard Maw2012-02-271-1/+1
|
* morph: set mtime after submodule extractRichard Maw2012-02-271-1/+1
| | | | | | | | 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.
* bootstrap script: remove exit 1 if it succeededRichard Maw2012-02-271-1/+0
|
* Drop all references to glibc, use eglibc tarball from roadtrain.Jannis Pohlmann2012-02-242-30/+1
|
* Use eglibc instead of glibc in pass1.Jannis Pohlmann2012-02-242-1/+35
|
* Apply the test changes of the previous commit to all related tests.Jannis Pohlmann2012-02-241-2/+6
|
* Merge remote branch 'origin/master'Lars Wirzenius2012-02-242-21/+17
|\
| * Rework the bundle code to set the bundle filename outside _wget().Jannis Pohlmann2012-02-242-24/+14
| | | | | | | | | | This is a bit stupid and requires tests to be adjusted (which is done in this commit as well).
| * Make sure to always remove bundles on errors or when we've cloned them.Jannis Pohlmann2012-02-241-0/+6
| |
* | Exclude the .git directory from mtime changing, just in caseLars Wirzenius2012-02-241-5/+7
| |
* | Set mtime of all files after git checkout of source tree for buildingLars Wirzenius2012-02-241-0/+19
|/
* Make sure to remove cached git dirs if cloning/extracting fails.Jannis Pohlmann2012-02-221-1/+5
|
* Use "cp -a" and "git checkout" to unpack sources in the build tree.Jannis Pohlmann2012-02-222-13/+25
| | | | | | | | | 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.
* Improve log messages and warnings when caching repos.Jannis Pohlmann2012-02-221-2/+3
|
* Fix exception when updating a cached clone in _cache_repo_from_url().Jannis Pohlmann2012-02-221-0/+1
|
* Export TMPDIR to avoid confusion.Jannis Pohlmann2012-02-211-1/+1
| | | | | | 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.
* builder.py: use sh -c instead of writing a scriptRichard Maw2012-02-211-11/+2
| | | | | | | | | | | | | | | | 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.
* Clear the TMPDIR variable when entering the chroot.Jannis Pohlmann2012-02-211-0/+4
|
* Delay bundle and base URL errors until we are sure all of them failed.Jannis Pohlmann2012-02-201-15/+21
| | | | | | | 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.
* Update quote_url() to replace : with _.Jannis Pohlmann2012-02-201-4/+9
|
* Add tar 1.26 from code.liw.fi to the squeeze chroot for bootstrappingLars Wirzenius2012-02-201-0/+10
|
* baserock-bootstrap: always recreate do-chrootRichard Maw2012-02-171-12/+6
| | | | | if it doesn't get replaced then a command may try to use /tools/bin/env
* baserock-bootstrap: use --no-git-update in buildRichard Maw2012-02-171-0/+2
|
* baserock-bootstrap: cache the sources in pass 3Richard Maw2012-02-171-4/+59
| | | | | | this is pretty much just a copy of the pass 2 thing this needs a cleanup, as there is duplicated functionality and clashing names
* Remove unnecessary stuff from passesLars Wirzenius2012-02-171-0/+25
| | | | | This is to make snapshots of them be small. pass2a and 2b pretty much halved in size.
* Add --no-git-update setting to morphLars Wirzenius2012-02-171-3/+11
|
* Handle empty/short lines when validating submodulesLars Wirzenius2012-02-171-1/+1
|
* Add Assert to make sure the destdir muckery is safeLars Wirzenius2012-02-171-0/+1
|