libtablet: Simplify tablet_create_version_cache
* Sort output instead of input;
* Ignore missing page dirs, this may happen if installwatch fails to run
for non-staged spells, but we can at least use the version.
* Remove awk code, just make a list of broken spells in a file.
* Update error message.
scribe: Fix colouring and excess white-space
libmedia: Reset color with PROBLEM_COLOR
sightsee: Add a special case for Gitlab
sightsee: Add matching for Debian-style tarball names
sightsee: Add special case for Github
sightsee: Add {spell}-{version}-sources[.]... to the regex
install: Fix arch-prefixed symlink installation
install: Add clang to compilers
libgpg: Fix LANGUAGE overriding LC_ALL
Fixes: da2b9f84a380 ("libmisc: introduce get_safe_locale and use it in cast, libgpg", 2020-03-18)
Fixes: 496fc22b0037 ("Fix build issues related to non-UTF-8 LC_ALL", 2018-03-10)
Fixes: 7aafabba713f ("libgpg: set LC_ALL=C for commands output of which we parse #14705", 2008-09-02)
Fix version bumping
- Revert back to parsing tags, but match version tags only
- Add timestamp (from commit date) to snapshots
Fixes: 468486f77bb3 ("Makefile: version bumping for devel")
Makefile: Make filename depend on branch
- Removes the $(shell ...) GNUism.
- Stable releases get called: sorcery-x.y.z.tar.bz2
(x.y.z comes from etc/sorcery/version)
- Other branches get called: sorcery-${BRANCH}.tar.bz2
Makefile: version bumping for devel
libdepengine: ignore pre_remove and post_remove failures for failure detection
The loop prevention hack guessed wrongly that a pre_remove failure is
serious and hence caused lots of spells being dropped once e.g.
grep was cast, which has a PRE_REMOVE that returns non-zero (something we could
investigate). Sorcery ignores that return value also for post_remove, but
the runtime mechanism still stores the failure reason.
Maybe we should ignore that failure reason log altogether. But I think I
had a reason including it.
We need to rewrite this all ...
This commit also makes the two messages different, adding 'subtly' for the
cases where the spell didn't outright fail but still has a reason (conflicts
is one remaining case which we might want to settle) and listing the
found reasons. This mainly should aid debugging once we get rid of these
cases. Either there is a failure or not, please.
resurrect: fix for symlink on /var/cache/sorcery
libgrimoire: Simplify setting size in mk_source_dir
Implement logging by reusing file descriptors
Avoid opening files, references to /proc/self/fd/ may cause permission
issues when dropping privileges.