Warning, /office/kbibtex/scripts/dev/podman/README.md is written in an unsupported language. File is not indexed.

0001 # Scripts to Run KBibTeX in a Podman Container
0002 
0003 *Podman* is a Linux container solution (operating system-level virtualization) that is an alternative to Docker, but is daemonless by design and allows rootless containers.
0004 It is well supported on Linux distributions like Fedora or Arch.
0005 For further information, please visit Podman's webpage at [podman.io](https://podman.io/).
0006 
0007 Before proceeding with this README, please ensure that you have a working Podman installation and that you as a non-priviledged user can pull images from Docker's hub and run container instances.
0008 Please refer to your Linux distribution's manual and Podman's official documentation.
0009 
0010 There are two scripts that prepare images for KBibTeX and allow running KBibTeX or any of its automated tests.
0011 The first script prepares a container image that contains all necessary tools and development libraries to compile KBibTeX.
0012 This container image only needs to be rebuilt once in a while (e.g. on a weekly or monthly base).
0013 The second script prepares a container image that contains KBibTeX's sources and compiles KBibTeX for its execution.
0014 This image needs to be rebuilt whenever a new revision of the source code needs to be tested.
0015 
0016 ## Preparing a Developer Image
0017 
0018 The first script is called `create-development-image.sh` which creates a developer image.
0019 Several distributions' base systems are available to choose from.
0020 Simply pass one of the pre-configured distributions are an argument to this script.
0021 Available alternatives are `debian10`, `debian11`, `ubuntu`, `fedora`, `archlinux`, `kdeneon`.
0022 
0023 Example invocation:
0024 
0025 ```
0026 ./create-development-image.sh kdeneon
0027 ```
0028 
0029 Creating such developer instances may download several GiB of data, both for the base image itself and additional packages to be installed in the image under creation.
0030 
0031 ## Creating Image with KBibTeX and Run Graphical Program
0032 
0033 The second script, `compile-and-run-in-container.sh` will prepare a container image where it compiles the current source code.
0034 The generated image contains the graphical KBibTeX program and all automated tests.
0035 By default, first all tests are run and then the graphical client is launched.
0036 Making use of X-forwarding, the graphical client will almost look like a locally installed program (with difference due to different icons, themes, and fonts).
0037 
0038 Like the first script, this second script takes one argument: the distribution-specific image created by the first script.
0039 
0040 Example invocation:
0041 
0042 ```
0043 ./compile-and-run-in-container.sh kdeneon
0044 ```
0045 
0046 ## Cleaning and Removing Images and Container Instances
0047 
0048 Both scripts support a special argument `--cleanup` instead of a distribution name.
0049 Invoking the scripts with this argument will not actually clean up (i.e. remove) anything, but will print out instructions how to remove container images and instances.
0050 
0051 To understand what those `podman` and `buildah` invocations do, please have a look at the commands' man pages and other documentation.