aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Prevent 'read' from interpreting backslash escapesAndrew Robbins2017-07-171-11/+11
| |
| * Properly escape and quote regular expressionsAndrew Robbins2017-07-171-8/+8
|/
* Merge branch 'indent' of mreed/libreboot into masterLeah Rowe2017-07-168-201/+205
|\
| * Indent code blocks via CSSMichael Reed2017-07-161-0/+4
| | | | | | | | | | Now that it's done via CSS, code should be indented consistently across the whole website.
| * Do not manually indent code blocksMichael Reed2017-07-167-201/+201
|/ | | | This is a hack, and should really be done with CSS (see next commit).
* Merge branch 'chai' of cafe/libreboot into masterLeah Rowe2017-07-161-9/+9
|\
| * Link to T760 driver project (alternative to Tamil)Cafe2017-07-151-9/+9
| | | | | | | | | | | | | | Although it is unlikely that Tamil will be released in the near future, the original text implied that free 3D on the C201 depends on the release of Tamil. This is false; other projects can work on this. So, this patch links to chai.
* | Merge branch 'libs-arrays' of kragle/libreboot into masterLeah Rowe2017-07-163-12/+20
|\ \
| * | Rely less on word splitting by using arraysAndrew Robbins2017-07-143-12/+20
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'speed-up-build' of mreed/libreboot into masterLeah Rowe2017-07-162-13/+11
|\ \ \
| * | | Speed up website buildMichael Reed2017-07-152-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that we only need bare HTML files for .md files in news, yet publish.sh creates them unconditionally. That is, we spend a lot of time building bare HTML files that we never use. This commit makes it so that bare HTML files are only generated for news files, which speeds up the website build significantly: $ /home/michael/benchmark.sh speed-up-build master Already on 'speed-up-build' NOW TESTING ON speed-up-build 0m08.24s real 0m08.53s user 0m05.57s system 0m08.21s real 0m08.39s user 0m05.58s system 0m08.26s real 0m08.23s user 0m05.70s system 0m08.26s real 0m08.27s user 0m05.91s system 0m08.24s real 0m08.36s user 0m05.63s system 0m08.28s real 0m08.40s user 0m05.67s system 0m08.29s real 0m08.21s user 0m05.83s system 0m08.23s real 0m08.12s user 0m05.80s system 0m08.32s real 0m08.32s user 0m05.75s system 0m08.30s real 0m08.40s user 0m05.61s system Switched to branch 'master' Your branch is ahead of 'origin/master' by 33 commits. NOW TESTING ON master 0m12.98s real 0m15.07s user 0m07.18s system 0m12.93s real 0m14.57s user 0m07.69s system 0m12.98s real 0m15.06s user 0m07.46s system 0m12.98s real 0m14.75s user 0m07.67s system 0m12.94s real 0m15.10s user 0m07.22s system 0m12.94s real 0m14.95s user 0m07.22s system 0m12.98s real 0m14.57s user 0m08.02s system 0m12.96s real 0m14.84s user 0m07.41s system 0m12.96s real 0m14.99s user 0m07.49s system 0m13.06s real 0m14.91s user 0m07.54s system And here's the script in question, benchmark.sh: #!/bin/sh set -u set -e # usage: runit branch runit() { git checkout "$1" echo echo NOW TESTING ON "$1" echo for i in `jot 10`; do make clean >/dev/null; time make -j2 >/dev/null; done } make clean >/dev/null for branch in "$@" do runit "$branch" done
| * | | www/Makefile: Remove incorrect commentMichael Reed2017-07-151-1/+0
|/ / / | | | | | | | | | | | | | | | Unlike what the comment says, the target .md.html does apply to news/index.md (it's just that news/index.md must be generated first by index.sh).
* | | Merge branch 'fix-publish-sh' of mreed/libreboot into masterAndrew Robbins2017-07-151-1/+4
|\ \ \ | |_|/ |/| |
| * | www/publish.sh: Fix quoting bugMichael Reed2017-07-151-1/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running "bash -x publish.sh index.md", the following happens: + pandoc --smart /tmp/libreboot_www.Xne7SYgf4e -s --css /global.css '--css /headercenter.css' --template template.html --metadata return= pandoc: unrecognized option `--css /headercenter.css' Try pandoc --help for more information. This is because the OPTS variable is being quoted, which causes its value of "-css /headercenter.css" to not be split on word boundaries, that is, spaces. Because pandoc has a "--css" option, but not a "--css /headercenter.css" option, pandoc expectedly complains that said option does not exist. To fix this we just unquote OPTS, and add a shellcheck ignore directive so this won't be reintroduced in the future. Caused by: a8d89665de6da20a8793886e03f153e922f6e519.
* | Merge branch 'publish-sh-shellcheck' of mreed/libreboot into masterAndrew Robbins2017-07-131-4/+4
|\ \
| * | www/publish.sh: Clean up shellcheck warningsMichael Reed2017-07-131-4/+4
| |/ | | | | | | | | | | | | All of the warnings were of type SC2086 [1]: Double quote to prevent globbing and word splitting. [1]: https://github.com/koalaman/shellcheck/wiki/Sc2086
* | Merge branch 'index-sh-simplify' of mreed/libreboot into masterAndrew Robbins2017-07-131-33/+48
|\ \ | |/ |/|
| * www/index.sh: Refactor and simplify rss()Michael Reed2017-07-131-14/+26
| | | | | | | | | | | | Splitting rss() into 3 smaller functions allows factoring the for-loop out of rss() This is done by having the new rss_main() function take an argument instead of operating on a global variable, as rss() did before.
| * www/index.sh: Organize in a less surprising mannerMichael Reed2017-07-131-14/+14
| | | | | | | | | | I find it easier to read this file if all function definitions come first, then all the actual stuff we do comes at the end.
| * www/index.sh: Make meta() and title() take argumentsMichael Reed2017-07-131-7/+10
| | | | | | | | | | It makes the code easier to understand than the global variables that were used before.
| * www/index.sh: Replace cat(1) usage with faster bashismMichael Reed2017-07-121-1/+1
|/
* update management page with info about ssh access (no pull request needed)Leah Rowe2017-07-121-7/+3
|
* Merge branch 'enable-extglob' of kragle/libreboot into masterLeah Rowe2017-07-123-3/+3
|\
| * Enable 'extglob' and replace some brace expansionsAndrew Robbins2017-07-113-3/+3
|/ | | | | | | 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.
* add missing line break above images in previous commitLeah Rowe2017-07-121-1/+1
| | | | no need for pull request on this one.
* Merge branch 'docs/improve-x200-flashchip-pics' of libreboot/libreboot into ↵Swift Geek2017-07-112-1/+4
|\ | | | | | | master
| * Replace pictures of flash chip locations on the X200 installation pageLeah Rowe2017-07-112-1/+4
|/
* Merge branch 'x200-spi' of swiftgeek/libreboot into masterLeah Rowe2017-07-112-0/+0
|\
| * Add photos for soic8/16 flash chip location on x200Sebastian 'Swift Geek' Grzywna2017-07-112-0/+0
|/
* Merge branch 'fix-index-sh' of mreed/libreboot into masterLeah Rowe2017-07-113-3/+8
|\
| * www/index.sh: Fix OpenBSD touch(1) incompatibility, take #2Michael Reed2017-07-103-3/+8
|/ | | | | | | | | | | | | | | | | | | | | When running index.sh on OpenBSD, the following error happens for each item in the news/ directory (output is from "bash -x"): + touch -d '4 Jun 2017' news/andrew-robbins-new-maintainer.md touch: out of range or illegal time specification: YYYY-MM-DDThh:mm:ss[.frac][Z] This is because OpenBSD's touch(1) requires that the "d" flag's argument be in ISO 8601 format, that is, "YYYY-MM-DDThh:mm:ss[.frac][Z]". This could have been dealt with by converting the article date (determined by "sed -n 3p $f | sed -e 's/^..//g'") to ISO 8601 format, then passing the date to touch(1). That would have required even more code, so was discarded as a possible solution. Instead, we solve this by keeping a MANIFEST file under news/, which is read to determine (a) which articles should be added to news/index.md, and (b) in which order. This avoids the need for touch(1) altogether, finally making the whole libreboot website build properly on OpenBSD. This also allows a minor simplification in the Makefile.
* Revert last commit (it caused issues. no PR needed; mreed permits the revert)Leah Rowe2017-07-116-1/+2
| | | | This reverts commit bfc86546849e15dd98362852e76fa9feac2fba77.
* Merge branch 'fix-touch' of mreed/libreboot into masterLeah Rowe2017-07-116-2/+1
|\
| * www/index.sh: Fix OpenBSD touch(1) incompatibilityMichael Reed2017-07-106-2/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | When running index.sh on OpenBSD, the following error happens for each item in the news/ directory (output is from "bash -x"): + touch -d '4 Jun 2017' news/andrew-robbins-new-maintainer.md touch: out of range or illegal time specification: YYYY-MM-DDThh:mm:ss[.frac][Z] This is because OpenBSD's touch(1) requires that the "d" flag's argument be in ISO 8601 format, that is, "YYYY-MM-DDThh:mm:ss[.frac][Z]". This could have been dealt with by converting the article date (determined by "sed -n 3p $f | sed -e 's/^..//g'") to ISO 8601 format, then passing the date to touch(1). That would have required even more code, so was discarded as a possible solution. Instead, this has been solved by prepending the ISO 8601 date to the names of all news items. This has the benefit of avoiding the need for touch(1) altogether, as a lexicographic sorting of ISO 8601 dates is the same as a date-based sorting. In other words, "ls news/*.md" will give a list of articles sorted by date, which we can then append to news/index.md in that order. One downside of this solution is that it introduces the possibility that the date in the filename (ISO 8601 format) of a news article does not match the date inside the article (e.g., 1 May 2017). I have not dealt with this as it remains to be seen whether it will be a problem in practice.
* 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
* | Merge branch 'tar-no-warning-nul' of kragle/libreboot into masterLeah Rowe2017-07-101-0/+2
|\ \
| * | Suppress GNU tar's warning on filenames w/ nuls.Andrew Robbins2017-07-091-0/+2
| |/
* | Merge branch 'fix-index-sh-openbsd' of mreed/libreboot into masterLeah Rowe2017-07-101-1/+1
|\ \
| * | docs/index.sh: Fix sed(1) invocation on OpenBSDMichael Reed2017-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the same idea as 497a49162f7c8b5c1d7c653087b0ac6c8e5765f9. Without this patch, the following errors occur when running index.sh: sed: 1: "news/new-mailing-lists. ...: extra characters at the end of n command sed: 1: "news/andrew-robbins-new ...: extra characters at the end of n command sed: 1: "news/formalised-structu ...: extra characters at the end of n command sed: 1: "news/proposal-rejoin-gn ...: extra characters at the end of n command sed: 1: "news/unity.bare.html": extra characters at the end of n command
* | | Merge branch 'incremental-build' of mreed/libreboot into masterLeah Rowe2017-07-105-25/+64
|\ \ \ | |_|/ |/| |
| * | www/publish.sh: Fix conditionals for file matchingMichael Reed2017-07-091-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the Makefile, publish.sh was executed on markdown source files using find(1), which happened like this: ./publish.sh ./index.md Now that we have a Makefile, this happens instead: ./publish.sh index.md Note that the file argument "index.md" in the first and second case both refer to the same file, yet they are different strings. This is important because publish.sh gives index.md (among other files) special treatment, and it does this by string comparison. Unfortunately, only the argument in the first case ("./index.md") will cause publish.sh to give special treatment, while the argumnent in the second case ("index.md") will not. To fix this, make it so that both "./index.md" and "index.md" trigger publish.sh's special handling. This commit also fixes the same issue for "docs/fdl-1.3.md" and "conduct.md".
| * | Build website incrementally (and faster if you have the CPU cores)Michael Reed2017-07-094-11/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done by replacing www/generate.sh with a Makefile. Benefits: - Makes builds incremental, meaning that only the minimum number of markdown files will be converted to HTML during a build. The previous scheme always generated a new HTML file for every markdown file, which is a big waste of time if only 1 or 2 markdown files have been changed. - Allows for much faster builds through concurrent jobs (e.g., via "make -j4"). On my 4-core machine, my average build time for the website with generate.sh was just over 26 seconds; with "make -j4", it was 13 seconds. - Avoids portability issues with find(1) in generate.sh, which I was encountering on OpenBSD. A note on portability: unlike GNU Make, OpenBSD's Make does not have the "$(shell [commands])" construct, so we don't use that. Instead we use "!= [commands]", which is supported by both.
| * | www/publish.sh: Make safe to run multiple instances concurrentlyMichael Reed2017-07-092-10/+14
| |/ | | | | | | | | | | Instead of always using the same file (temp.md), use a unique temporary file so that multiple instances of publish.sh do not clobber each other's work.
* | Merge branch 'libs/project-cruft' of kragle/libreboot into masterLeah Rowe2017-07-072-117/+60
|\ \ | |/ |/|
| * Removed cruft & redundancy in project_action*()Andrew Robbins2017-07-072-117/+60
|/
* Merge branch 'gitignore' of mreed/libreboot into masterLeah Rowe2017-07-071-0/+2
|\
| * gitignore: Ignore /www/feed.xml and /www/news/feed.xmlMichael Reed2017-07-071-0/+2
|/ | | | They are generated files, so should probably not be tracked.
* Merge branch 'fix-publish-sh-openbsd' of mreed/libreboot into masterAndrew Robbins2017-07-071-5/+5
|\
| * docs/publish.sh: Fix sed(1) invocation on OpenBSDMichael Reed2017-07-051-5/+5
|/ | | | | | | | | | | | | | | | | | | On OpenBSD, publish.sh errors out at the following call to sed(1) (from "bash -x publish.sh"): + sed temp.md -i -e 's/\.md\(#[a-z\-]*\)*)/.html\1)/g' sed: 1: "temp.md": undefined label 'emp.md' It seems that "temp.md" is being parsed by sed as a sed command, not as a named file. This is likely due to OpenBSD's strict usage requirements for sed: usage: sed [-aEnru] [-i[extension]] command [file ...] sed [-aEnru] [-e command] [-f command_file] [-i[extension]] [file ...] As shown above, the sed command must always come before any named files. This commit does that, which fixes publish.sh with OpenBSD's sed. This is also tested and working with GNU sed v4.2.2