aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * libs/project: Avoid subshell in 'if' statementsAndrew Robbins2019-04-181-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following will effectively disable any previous 'set -e': foo_fail() { ( set -e false true ) } if (set +e; foo_fail); then echo "foo_fail() failed, unsuccessfully" fi Creating a subshell within an 'if' statement makes 'set -e' non-functional.
| * libs/project: Fail update check for git sourcesAndrew Robbins2019-04-181-1/+1
| | | | | | | | | | | | | | "update" actions were failing ever since revision b7fcc477 for projects with git sources due to an error in project_update_check_git() not returning 1 when it determined that the project's sources was a git repo (to force an update, always).
* | Merge branch 'documentation' of and_who/libreboot into masterSwift Geek2019-04-162-14/+14
|\ \
| * | README: Remove unnecessary informationAndrew Robbins2019-04-151-4/+2
| | | | | | | | | | | | | | | | | | The Libreboot build system is not fully automated, doesn't help with the installation process per-se, and doesn't provide ROMs inside the repository itself.
| * | BUILD_HOWTO: Remove references to PaperAndrew Robbins2019-04-151-10/+12
|/ / | | | | | | | | | | This fork of Paper is simply called the "Libreboot build system". Addresses issue #613
* | Merge branch 'bugs' of and_who/libreboot into masterSwift Geek2019-04-161-3/+13
|\|
| * libs/project: Fail install check, properlyAndrew Robbins2019-04-151-2/+7
| | | | | | | | | | If the $install_path directory does not exist or a file which should be present in the install directory isn't, fail.
| * libs/project: Fail build check, properlyAndrew Robbins2019-04-151-1/+6
|/ | | | | If the $build_path directory does not exist or a file which should be present in the build directory isn't, fail.
* Merge branch 'bugs' of and_who/libreboot into masterSwift Geek2019-04-141-1/+3
|\
| * libs/project: Don't fail with project_action_checkAndrew Robbins2019-04-131-1/+3
|/ | | | | | | | | project_action_check() is there to avoid redundant actions from being performed (e.g., if SeaBIOS is already built, don't build it again). Since this is its primary purpose, we want to avoid erroring out when it returns with a non-zero return code. This addresses issue #614
* Change order of laptop listing for minifree (no pull request needed)Leah Rowe2019-04-111-1/+1
|
* Merge branch 'libs-git' of and_who/libreboot into masterSwift Geek2019-03-292-45/+78
|\
| * libs/git: Exit subshell upon "cd" failureAndrew Robbins2019-03-281-21/+33
| | | | | | | | | | | | If cd fails, nothing else should be done. This is to prevent a potentially destructive action from being performed on the Libreboot repository (if the script is executed from the same directory).
| * libs/git: Remove check from git_am() and git_apply()Andrew Robbins2019-03-281-6/+8
| | | | | | | | | | Having a specific function for checking whether a patch would apply isn't that useful if git_am and git_apply call it internally anyway.
| * libs/git: Commit only if any blobs were removedAndrew Robbins2019-03-271-1/+24
| | | | | | | | | | | | git_diff_check() was added for future use since it's complementary to git_diff_staged_check(). It could be used to check for a dirty worktree, for example.
| * libs/git: Fail if patching failsAndrew Robbins2019-03-271-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The recursive call in git_project_patch_recursive() is now performed last so that if a patching attempt fails, the calling functions won't attempt to apply more patches. The consequence of this change is that patches are applied in (nearly) opposite order from before. git_project_prepare_patch() is now called after git_project_prepare_blobs() so that if patching fails and the user chooses to perform additional project actions anyway, such as building, the project is already deblobbed and not a risk to their freedom. I had mistakenly reordered these function calls in a prior commit.
| * libs/project: Execute project action in subshellAndrew Robbins2019-03-261-13/+9
| | | | | | | | | | | | | | | | Executing the project action within its own subshell makes it easy to abort the action with a simple "exit" while still allowing for the printing of the footer describing failure/success. Prevously, if "exit" were called in a project action the footer would not print.
* | Merge branch 'actions' of and_who/libreboot into masterSwift Geek2019-03-292-14/+8
|\ \ | |/ |/|
| * let's prefer pre-incrementAndrew Robbins2019-03-281-2/+2
| | | | | | | | | | The "let" builtin returns 1 if it's given an argument that evaluates to zero.
| * libreboot: Set max loop iteration in for loopAndrew Robbins2019-03-281-4/+2
| |
| * libs/project: Set max loop iteration in for loopAndrew Robbins2019-03-281-9/+5
|/
* Merge branch 'libs-git' of and_who/libreboot into masterSwift Geek2019-03-241-160/+76
|\
| * libs/git: Remove unnecessary env invocationAndrew Robbins2019-03-231-2/+2
| | | | | | | | | | LC_ALL is already set to "C.UTF-8" and exported if libfaketime path is given in libreboot.conf
| * libs/git: Remove some unused variable definitionsAndrew Robbins2019-03-231-8/+0
| |
| * libs/git: Avoid checking exit codes indirectlyAndrew Robbins2019-03-231-35/+5
| |
| * libs/git: Simplify logic for operating on branchesAndrew Robbins2019-03-231-122/+76
|/ | | | | | | Previous patches made certain tests unnecessary due to the setting of $BRANCH_PREFIX in $branch. By adding the branch prefix right before it's actually needed we can retain the usefulness of those conditional tests.
* Merge branch 'paraluks' of swiftgeek/libreboot into masterAndrew Robbins2019-03-221-1/+1
|\
| * parabola: Update cryptsetup lineSebastian 'Swift Geek' Grzywna2019-03-191-1/+1
| | | | | | | | | | Cryptsetup is now using LUKS2 by default. https://gitlab.com/cryptsetup/cryptsetup/commit/ae90497762bc4e3f04064e0ebbbde8c64bf27c4a
* | Libreboot workshop at LibrePlanet 2019Leah Rowe2019-03-192-0/+84
|/
* Merge branch 'patch' of and_who/libreboot into masterSwift Geek2019-03-193-24/+60
|\
| * libs/git: Avoid some redundancies in git_patch()Andrew Robbins2019-03-181-19/+29
| | | | | | | | | | | | | | | | | | The subshell, changing directory, and checking out was unecessary considering all of these are done within the functions called by git_patch() git_am() was added in order to mirror the same wrapper style as used by git_apply() and git_commit()
| * libs/git: Move patching method logic to git_patch()Andrew Robbins2019-03-181-8/+13
| | | | | | | | | | | | | | | | | | | | | | This simplifies git_project_patch_recursive() and provides a unified method for patching, regardless of the patch format (mailbox or diff). Logic is included for dealing with patching failures due to git_apply_check() not being enough to catch certain edge cases, such as 'git apply --check' returning 0 but a subsequent 'git apply' failing.
| * libs/git: Add git_apply() and git_apply_check()Andrew Robbins2019-03-181-1/+33
| | | | | | | | | | | | | | | | | | | | Since changes from an applied diff need to be added to the index and committed (vs. mailbox files with the git_patch function) new functions were necessary to account for this difference. This also fixes a bug where diffs were applied but not committed, at minimum dirtying the work tree and potentially causing problems for any later patches.
| * Rename and refactor diff_patch_file()Andrew Robbins2019-03-183-17/+6
|/ | | | | | The previous function, diff_patch_file, was more error-prone and fragile and did not take into consideration patching of more than one file at a time(!).
* Merge branch 'libs-git' of and_who/libreboot into masterSwift Geek2019-03-141-37/+23
|\
| * libs/git: Apply patches before removing blobsAndrew Robbins2019-03-131-1/+1
| | | | | | | | | | | | | | | | | | Patching before removing blobs is cleaner since patches are applied against a freshly created and checked out branch at the specified revision. Applying patches first also seems to reduce the likelihood of failed patching attempts due to a nebulous error about files not matching the git index (but doesn't eliminate it). More debugging required.
| * libs/git: Actually patch recursivelyAndrew Robbins2019-03-131-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the only way patching would work is if for every target there existed a corresponding directory under $project/$PATCHES, e.g: "./libreboot update coreboot x200 8MiB corebootfb grub" would require the "grub" directory and its parents: "projects/coreboot/patches/x200/8MiB/corebootfb/grub" Now you only need target-specific patch directories if you need them; I believe this was the intended behavior. Superfluous quotes were removed for readability.
| * libs/git: Create branch name based on argument listAndrew Robbins2019-03-121-18/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bug where only $project was used as the branch name due to some faulty logic which checked for the existence of a revision file before setting the variables "prepare_branch" and "prepare_path". The bug in this case was that prepare_branch would be set to the value of $branch in only the first iteration of the for loop since in almost all cases there is only one revision file that exists for a given project, regardless of the arguments provided. Explained another way, in order for the proper branch name to be used a revision file would have had to exist in every target directory. This was an issue because only one branch was ever operated on (named $project), meaning if actions were performed on many targets then only the last to run would be represented in the project's repository--making tracking down some bugs a bit harder. With this fixed we now create a branch for every possible project or tool configuration and leaves us with a log for each.
| * libs/git: Prefix branch names with "libreboot-"Andrew Robbins2019-03-121-7/+8
| | | | | | | | | | | | | | This is a slight mitigation against branch name collisions. More robust handling should be added in the future but this is simple enough and provides some clear indication which branches have been created by the build system.
| * libs/git: Clean up after patch fails to applyAndrew Robbins2019-03-111-1/+2
|/ | | | | A patch failing to apply shouldn't leave the repository in such a state where manual intervention is necessary to reset it.
* Merge branch 'qemu' of and_who/libreboot into masterSwift Geek2019-03-0944-109/+218
|\
| * Create 8MiB target for qemu_i440fx_piix4Andrew Robbins2019-03-0911-0/+21
| | | | | | | | | | | | | | | | | | The 16MiB ROM is non-functional at the moment so an 8MiB target has been added in order to avoid losing QEMU support while the bug is identified and fixed. Files were copied from the 16MiB directory with the exception of the config file located at 8MiB/config which is new.
| * Add GRUB/SeaBIOS targets to qemu_i440fx_piix4Andrew Robbins2019-03-096-0/+8
| |
| * Create corebootfb/textmode targets for qemu_i440fx_piix4Andrew Robbins2019-03-093-0/+8
| | | | | | | | | | | | | | | | The config for text mode doesn't actually have to be there (since text mode is the default in the base config) but, as in other cases, this configuration snippet is included for the sake of documenting what part of the base config is related to the target ("textmode" in this case).
| * Create 16MiB flash size target for qemu_i440fx_piix4Andrew Robbins2019-03-092-0/+6
| | | | | | | | | | 16MiB is the largest flash size for most of our supported boards so any emulated boards should stick with that upper limit.
| * Create 8MiB target for qemu_q35_ich9Andrew Robbins2019-03-0911-0/+21
| | | | | | | | | | | | | | | | | | The 16MiB ROM is non-functional at the moment so an 8MiB target has been added in order to avoid losing QEMU support while the bug is identified and fixed. Files were copied from the 16MiB directory with the exception of the config file located at 8MiB/config which is new.
| * Add GRUB/SeaBIOS targets to qemu_q35_ich9Andrew Robbins2019-03-086-0/+8
| |
| * Create corebootfb/textmode targets for qemu_q35_ich9Andrew Robbins2019-03-083-0/+8
| | | | | | | | | | | | | | | | The config for text mode doesn't actually have to be there (since text mode is the default in the base config) but, as in other cases, this configuration snippet is included for the sake of documenting what part of the base config is related to the target ("textmode" in this case).
| * Create 16MiB flash size target for qemu_q35_ich9Andrew Robbins2019-03-082-0/+6
| | | | | | | | | | 16MiB is the largest flash size for most of our supported boards so any emulated boards should stick with that upper limit.
| * Update coreboot config for qemu_q35_ich9Andrew Robbins2019-03-081-57/+70
| | | | | | | | | | | | | | | | | | | | Updated with the "oldconfig" make target. New configurations: * USE_OPTION_TABLE=y * STATIC_OPTION_TABLE=y * COMPRESS_SECONDARY_PAYLOAD=y