blob: 927d379dccfbb0268854026ab4465a67ba456749 [file] [edit]
Installing b4
=============
B4 is packaged for many distributions, so chances are that you will be
able to install it using your regular package installation commands,
e.g.::
# dnf install b4
or::
# apt install b4
Note, that b4 is under heavy development, so it is possible that the
version packaged for your distribution is not as recent as you'd like.
If that is the case, you can install it from other sources.
Installing with pipx
--------------------
The recommended way to install b4 from PyPI is with `pipx`_, which
installs CLI tools into isolated environments::
pipx install b4
To also install the TUI dependencies needed for ``b4 review tui``::
pipx install b4[tui]
If you do not have pipx, it is available in most distribution
repositories (``dnf install pipx``, ``apt install pipx``).
Upgrading
~~~~~~~~~
::
pipx upgrade b4
Using uv
~~~~~~~~
`uv`_ is a fast alternative to pipx::
uv tool install b4
uv tool install b4[tui]
.. _`pipx`: https://pipx.pypa.io/
.. _`uv`: https://docs.astral.sh/uv/
Installing from a git checkout
------------------------------
If you want to run the latest development version of b4, you can
install it from a local git clone using pipx::
git clone https://git.kernel.org/pub/scm/utils/b4/b4.git
cd b4
git submodule update --init
pipx install .
Or with TUI support::
pipx install .[tui]
After pulling new changes, reinstall to pick them up::
git pull origin master
git submodule update
pipx install --force .
Running directly with b4.sh
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alternatively, you can run b4 directly from the checkout without
installing. Symlink the ``b4.sh`` script to your user-bin directory::
ln -sf $HOME/path/to/b4/b4.sh ~/bin/b4
or add an alias to your shell's RC file::
alias b4="$HOME/path/to/b4/b4.sh"
To update, just pull::
git pull origin master
git submodule update
Using a stable branch
~~~~~~~~~~~~~~~~~~~~~
If you don't want to use the master branch (which may not be stable),
you can switch to a stable branch instead, e.g.::
git switch stable-0.9.y