mirror of
https://github.com/stedolan/jq.git
synced 2024-05-11 05:55:39 +00:00
The current instructions tell users to perform two actions: - update the package database - install the jq package The only thing users need to or should be doing is actually installing the jq package -- regardless of which version is being installed. Guidelines on how to perform system updates are massively out of scope. In the case of partially performing a system update as a prerequisite for installing jq, the official guidance from Arch Linux is not to do this: partial updates are not supported, we refuse to support them, and anyone who does try to perform them anyway is assumed to know so much about their system that they clearly do not ever need help from anyone else (which is a good thing since they won't get it). The result is a frankensteined system that can only ever be supported by the person who frankensteined it to begin with. The only reason the package manager even allows it to occur in the first place is because other distributions using pacman might have different LTS policies, and because it would prevent expert users from being in control of their system, as per the traditional Unix philosophy: "Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things." Consequences of performing partial updates without understanding the ramifications in extensive detail can include breaking the partially updated application (jq), breaking any application that shares a mutual dependency with the partially updated application (which jq is *lucky* to only depend on the ever-backwards-compatible glibc), or breaking the entire operating system by leaving armed traps behind for the next time a `pacman -S new-package` is executed and thereby breaks *its* cascading dependencies. See: https://wiki.archlinux.org/index.php/System_maintenance#Partial_upgrades_are_unsupported
Documentation
The jq website, manpages and some of the tests are generated from this
directory. The manual is a YAML file in content/manual
.
To build the documentation (including building the jq manpage), you'll need python3 and pipenv. You can install pipenv like so:
pip install pipenv
Though, you may need to say pip3 instead, depending on your system. Once
you have pipenv installed, you can install the dependencies by running
pipenv install
from the docs
directory.
Once this is done, rerun ./configure
in the jq root directory and then
the Makefile will be able to generate the jq manpage.
To build the website, run pipenv run ./build_website.py
from inside
the docs
directory.