aboutsummaryrefslogtreecommitdiff
path: root/libs/common
Commit message (Collapse)AuthorAgeFilesLines
* Rename and refactor diff_patch_file()Andrew Robbins2019-03-181-15/+4
| | | | | | 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(!).
* Add preliminary dependency handling supportAndrew Robbins2019-01-221-0/+1
| | | | | | | | | | | | | | Projects may now declare other projects it depends upon through the file "dependencies" located in a project's $CONFIGS directory. This file requires that each dependency listed, one per line, correspond to a project in the $PROJECTS directory; the dependency may be in any form accepted by the libreboot script, e.g: ./libreboot build $dependency Multiple dependencies files, one per target, are read provided they are located in target directories and those targets were included in the list of arguments passed to the libreboot script.
* Consolidate R400/T400/T500/W500 Coreboot configsAndrew Robbins2018-10-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal here is to have fewer full configuration files. By consolidating the T400 board configs (and board variants such as the R400/T500/W500) into at most two base configs we can rely on separate target-specific configs (e.g., for different flash sizes) to override our default values given in projects/coreboot/configs/t400/config File contents of the new configs located at projects/coreboot/t400/variants/ are now supplied to make as command-line arguments, overriding the same configurations in the base config. The T400 file is included as an example of which configurations need to be overriden by a variant for a proper SMBIOS name to be used. Configs allowing for different ROM chip sizes other than the default are reimplemented in a subsequent commit. The following are no longer valid targets when building Coreboot: r400_16mb r400_8mb r400_4mb t400_16mb t400_8mb t400_4mb t500_16mb t500_8mb t500_4mb w500_16mb w500_8mb w500_4mb
* Remove unnecessary spaces in command substitutionsAndrew Robbins2017-10-281-10/+10
| | | | | | | | | This is likely one of the very last changes necessary to make the Libreboot build system more cohesive in appearance. Hopefully from this point forward it won't be as readily apparent as to who wrote which parts of the build system (i.e. won't look like a patchwork quilt any longer).
* Make use of Bash's '-n' operator for testsAndrew Robbins2017-10-281-2/+2
| | | | | | | | | | | | As an example, do this: [[ -n $revision ]] instead of this: ! [[ -z $revision ]] Makes the code easier to read.
* Replace usage of the '[' Bash builtin with '[['Andrew Robbins2017-10-281-8/+8
| | | | | | | | | | There's no benefit to using the POSIX-style '[' test builtin considering its '-a' and '-o' operators are unused in the Libreboot build system. Plus, '[[' is safer with respect to any containing file redirections (for example). Prior, both '[' and '[[' were used throughout the codebase--a disparity in usage which this change aims to eliminate.
* Modify fd copying in printf calls for readabilityAndrew Robbins2017-10-281-6/+6
|
* Remove overlooked braces from parameter expansionsAndrew Robbins2017-09-221-1/+1
| | | | | | | | | | This is a continuation of the last set of commits removing braces from parameter expressions which do not require them. The main script was overlooked when applying the previous changes, which this commit aims to correct. Also, one parameter expansion in libs/common was corrected as it was overlooked as well.
* Remove braces from parameter expansionsAndrew Robbins2017-09-211-57/+57
| | | | | | | * libs/common Makes it easier to read as well as cutting down on performance hits caused by the use of braces in parameter expansions.
* Conditionally use wget or curl in download_wrapperAndrew Robbins2017-09-201-1/+15
|
* Add support for curl in download_wrapper functionAndrew Robbins2017-09-201-2/+10
|
* Declare array wget_options with local scopeAndrew Robbins2017-09-201-1/+1
|
* Quote elements of array wget_optionsAndrew Robbins2017-09-201-5/+5
| | | | Necessary to satiate shellcheck.
* Move vars CONFIG_SHELL,EDITOR,TASKS to libs/commonAndrew Robbins2017-07-181-0/+4
|
* Suppress GNU tar's warning on filenames w/ nuls.Andrew Robbins2017-07-091-0/+2
|
* Fixed bug in diff_patch_file() filename parsing.Andrew Robbins2017-06-281-3/+4
|
* Added functions for downloading/patching archivesAndrew Robbins2017-06-281-0/+18
| | | | i.e., source tarballs are (partially) supported
* Vars TAR_XZ,ASC,SHA256SUM renamed for generality.Andrew Robbins2017-06-251-7/+7
| | | | | Will help facilitate sane code when handling: archive formats, checksum file extensions, signature formats.
* Replaced '#!/bin/bash' w/ '#!/usr/bin/env bash'Andrew Robbins2017-06-231-1/+1
| | | | | This is mainly useful for being able to run these scripts on BSDs. And for users who use a Bash not installed to /bin.
* Remove unnecessary 'env' invocation from printf.Andrew Robbins2017-06-231-10/+10
| | | | | This reverts part of pull request #217 which called the 'env' binary for each printf invocation.
* Fixed printf calls & replaced 'echo' w/ printf.Andrew Robbins2017-06-231-10/+10
| | | | | | | | | All printf calls should now be properly formatted; prior, the format specifier string was erroneously used for both the format specifiers and the string to be printed. 'env' is now used to locate the printf binary so as to avoid potentially using a shell builtin. Lastly, all calls to 'echo' within the new build system have been replaced with printf for consistency/portability purposes.
* Improved handling of filenames in archive creationAndrew Robbins2017-06-221-90/+94
| | | | | | | | Filenames listed in DOTTARFILES are now NUL terminated so that any with strange characters, such as a newline, do not negatively affect archive creation. DOTRNDSEED file which stores the random seed to be used by GCC during compilation is now included in the list of files to be archived. Cleaned up functions related to archive creation.
* Added vars RANDOM_SEED, LIBFAKETIME_PATH + misc.Andrew Robbins2017-06-191-0/+1
| | | | | | | | All environment variables necessary for creating reproducible builds should now be present. If libfaketime is not linked then the only reproducibility-related variables SOURCE_DATE_EPOCH and RANDOM_SEED (gcc flag -frandom-seed) will be used. -frandom-seed will be added in a later commit.
* Patching now works. bucts can be patched & built.Andrew Robbins2017-05-311-0/+17
| | | | | | | | | Modified the function git_project_patch_recursive (in libs/git) to enable patching with diff files, which uses the new function diff_patch_file located in libs/common. A generic action script for bucts is in projects/bucts/. Install/revision/target files are in projects/bucts/configs/. bucts' merge into the new build system should be nearly, if not already, complete.
* libs: common: Always override tarfilesPaul Kocialkowski2017-01-151-5/+1
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* libs: common: Drop docs definitionPaul Kocialkowski2017-01-151-1/+0
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* Paper build system initial import into LibrebootPaul Kocialkowski2017-01-151-0/+379
This is the initial import of the Paper build system into Libreboot. It was written as a flexible and painless replacement for the Libreboot build system, allowing to support many different configurations. It currently only supports the following CrOS devices: * Chromebook 13 CB5-311 (nyan big) * Chromebook 14 (nyan blaze) * Chromebook 11 (HiSense) (veyron jerry) * Chromebit CS10 (veyron mickey) * Chromebook Flip C100PA (veyron minnie) * Chromebook C201PA (veyron speedy) The build system also supports building various tools and provides various scripts to ease the installation on CrOS devices. Signed-off-by: Paul Kocialkowski <contact@paulk.fr>