When a patch Gluon provides is applied via "make update" and if this
patch itself modifies a patch that has DOS line endings then this
currently fails. Patch files with DOS line endings unfortunately seem to
sometimes slip into the OpenWrt repository.
It seems that the "git am" invoked by Gluon's patch.sh interprets the
DOS line endings as belonging to the outter patch and deems them
unnecessary. After automatically "fixing" them the outter patch does not
apply anymore as it does not match the content of the inner patch.
This commit fixes this issue by disabling the whitespace fixing which
"git am" applies by default.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
---
The openwrt/lang/node-hid/patches/000-compile.patch file has such DOS
line endings. The nodejs update coming with the next commit would fail
on "make update" for "node-*: node update to v4.4.4", which removes
000-compile.patch, otherwise.
The current autoupdater will only respect the last line for a given model
name, so we can add SHA256 checksums as long as they occur before the
corresponding SHA512 line.
The default abbreviation length depends on factors like user configuration,
git version and number of repository objects. Use unabbreviates IDs to make
patch generation more reproducible.
need_one_of(varname, array, required) checks weather the value of the specified variable is part of given array.
need_array_of(varname, array, required) is similar to need_one_of() but assume that varname points to an array.
Switching branches and applying patches in the build repos will
unnecessarily touch many files, causing rebuilds of packages that didn't
really change; furthermore, it is filling the reflog with many entries.
Don't ever switch to base branch in the build repos and apply patches in
a temporary clone to avoid these issues.
In addition, GPG signing is generally disabled in the build repos to
override potential global configuration (as signing doesn't make sense and
will slow down rebases).
This option will make the generated commit IDs deterministic, greatly
reducing the number of repository objects created when calling `make
update` repeatedly.
Let the site configuration value script return 1 when
the requested value is not available.This enables us
to react on failures, so we can for example use a default
value.
With this patch the script will return with exitcode 1 if
the value is not found and no output on stdout. Otherwise
exitcode is 0 and the value is returned on stdout.