aboutsummaryrefslogtreecommitdiff
path: root/libs
Commit message (Collapse)AuthorAgeFilesLines
...
* Make explicit which directory 'find' should searchAndrew Robbins2017-07-171-2/+2
|
* Prevent 'read' from interpreting backslash escapesAndrew Robbins2017-07-171-11/+11
|
* Properly escape and quote regular expressionsAndrew Robbins2017-07-171-8/+8
|
* Rely less on word splitting by using arraysAndrew Robbins2017-07-142-10/+18
| | | | | | | Arrays are just a better idea for storing multiple strings than relying on word splitting. Consequently, several global variables in libs/* were switched to arrays and any references to said variables modified to expand to the arrays' elements.
* Enable 'extglob' and replace some brace expansionsAndrew Robbins2017-07-112-2/+2
| | | | | | | Replace brace expansions with extended globs in a couple of places where brace expansions were erroneously used in place of actual pattern matching. This avoids potential errors concerning nonexisting files when patching sources.
* Merge branch 'libs/project-cruft' of kragle/libreboot into masterLeah Rowe2017-07-101-25/+23
|\
| * Fix action text in './libreboot usage <project>'Andrew Robbins2017-07-091-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently the name used in a 'for /name/ ...' loop rebinds any local variables (with the same name) with whatever /name/ is bound to in a way that persists even after the loop returns. The crux of the issue here is that a function's children can rebind the parent(s)' local variables just by using the same name as the variable in a for loop, which is surprising--and apparently undocumented--behavior. Use of a subshell group for encapsulating the for loops (See: project_usage_actions) mitigates the aforementioned issue. Closes issue: #244
* | Suppress GNU tar's warning on filenames w/ nuls.Andrew Robbins2017-07-091-0/+2
|/
* Removed cruft & redundancy in project_action*()Andrew Robbins2017-07-071-114/+59
|
* Function call wget_wrapper wasn't renamed. Fixed.Andrew Robbins2017-06-281-1/+1
|
* Fixed bug in diff_patch_file() filename parsing.Andrew Robbins2017-06-281-3/+4
|
* Added functions for downloading/patching archivesAndrew Robbins2017-06-282-0/+78
| | | | i.e., source tarballs are (partially) supported
* Vars TAR_XZ,ASC,SHA256SUM renamed for generality.Andrew Robbins2017-06-253-13/+13
| | | | | 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-234-4/+4
| | | | | 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-234-81/+81
| | | | | 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-234-81/+81
| | | | | | | | | 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-222-93/+97
| | | | | | | | 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-313-22/+40
| | | | | | | | | 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.
* Fixed project_check() and tool_check().Andrew Robbins2017-05-292-12/+6
|
* libs: tool: Add utility functions for filesPaul Kocialkowski2017-01-151-0/+82
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* libs: project: Only show file contents if the file existsPaul Kocialkowski2017-01-151-1/+4
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* libs: git: Check that blobs path is a valid filePaul Kocialkowski2017-01-151-1/+1
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* libs: project: Return fully qualified blobs path when no path is foundPaul Kocialkowski2017-01-151-0/+2
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* libs: project: Always create archive to allow forcePaul Kocialkowski2017-01-151-4/+1
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* libs: common: Always override tarfilesPaul Kocialkowski2017-01-151-5/+1
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* libs: git: Checkout with -B to allow recreating branchesPaul Kocialkowski2017-01-151-1/+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-154-0/+2771
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>