diff options
Diffstat (limited to 'INSTALL')
-rw-r--r-- | INSTALL | 119 |
1 files changed, 72 insertions, 47 deletions
@@ -1,13 +1,14 @@ Installation of libretools is pretty straight-forward: - $ make - # make install + $ make + # make install As a caveat, by default, if the directory `devtools-par` exists in the same directory as the `libretools-${version}` directory, and contains newer files than the libretools directory, they will be copied into the libretools directory. See INSTALL-VCS for more details. + Dependencies ------------ @@ -23,13 +24,18 @@ to cause issues. The "unusual" build-time dependencies are: - - GNU Make -- other `make`s will not work. - - GNU sed -- must support `-r` for ERE; BSD sed uses `-E` for this - purpose. - - ronn -- A markdown-to-manpage converter +------------------------------------------------------------------------------------------- +| build dependency | parabola package | notes | +|------------------|------------------|---------------------------------------------------| +| devtools-par | n/a | https://git.parabola.nu/packages/devtools-par.git | +| GNU Make | 'make' | strict requirement of the AutoThing build system | +| sed | 'sed' | must support Extended Regular Expressions | +| ronn | 'ruby-ronn' | a markdown-to-manpage converter | +------------------------------------------------------------------------------------------- -At this time, the build system does not support not building the -documentation; ronn is required. +Whether or not to build the manpages is controlled by whether +config.mk:enable_manpages is empty (disable) or non-empty (enable). +If it is disabled, then `ronn` is not needed. Additionally, other usual "core utilities" are required: @@ -45,34 +51,54 @@ be a bigger issue. ## Test suite dependencies -If you wish to run the test suite, you will need the "roundup" shell -unit testing program. On Parabola GNU/Linux-libre it is called -"sh-roundup". If your operating system doesn't have it, it is -available at <http://bmizerany.github.io/roundup/>. +If you wish to run the test suite, you will need the "BATS" shell unit +testing program. On Parabola GNU/Linux-libre it is called "bats". If +your operating system doesn't have it, it is available at +<https://github.com/bats-core/bats-core>. ## Run-time dependencies -Being mostly shell scripts, many external program are used. Anything -that is included when installing the `base` package group on Parabola -GNU/Linux, I consider an implicit dependency. If something isn't used -now, that doesn't mean it won't be in the future. - -On top of that, the following dependencies are also needed: - -librelib subpackage: - - wget -gitget subpackage: - - librelib (provided) - - git -main libretools subpackage: - - librelib (provided) - - pacman 5.0 - - arch-install-scripts - - GNU Make (only needed for `librefetch`) - - ssh client (OpenSSH, only needed for `librerelease`) - - rsync - - systemd-nspawn (for the chroot tools) - - tokyocabinet +Being mostly shell scripts, many external program are used. The +dependencies of the Parabola GNU/Linux 'parabola-base' meta-package, +are assumed to be implicit dependencies of this script. If something +isn't used now, that doesn't mean it won't be in the future. + +Additionally, the following per-subpackage dependencies are needed: + +---------------------------------------------------------------------------------------------- +| librelib dependency | parabola package | usage | +|-----------------------|-------------------|------------------------------------------------| +| wget | 'wget' | (optional) used by `blacklist.sh` | +---------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------- +| gitget dependency | parabola package | usage | +|-----------------------|-------------------|------------------------------------------------| +| git | 'git' | core functionality | +| librelib | provided | ubiquitous use of `librelib` confs and helpers | +---------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------- +| libretools dependency | parabola package | usage | +|-----------------------|-------------------|------------------------------------------------| +| arch-install-scripts | 'base' | used by `mkarchroot`->`pacstrap` | +| binutils | 'binutils' | used by `libremakepkg`->`makepkg`->`strip` | +| expac | 'expac' | used by `libredbdiff` | +| fakeroot | 'fakeroot' | used by `libremakepkg`->`makepkg`->`fakeroot` | +| gitget | provided | used by `createworkdir` | +| librelib | provided | ubiquitous use of `librelib` confs and helpers | +| GNU Make | 'make' | used by `librefetch` | +| pacman >= v5.0 | 'base' | used by `libremakepkg`->`makepkg` | +| pacman-contrib | 'pacman-contrib' | used by `librefetch`->`updpkgsums` | +| namcap | 'namcap' | used by `libremakepkg` (currently disabled) | +| rsync | 'rsync' | used by `librerelease`,`makechrootpkg.sh` | +| ssh client | 'openssh' | used by `librerelease` | +| subversion | 'subversion' | used by `diff-unfree` | +| systemd | 'libre/base' | used by arch-nspawn->systemd-nspawn | +| chroot-nspawn | 'nonsystemd/base' | used by arch-nspawn->systemd-nspawn | +| tokyocabinet | 'tokyocabinet' | used by `toru` | +---------------------------------------------------------------------------------------------- + Configuration ------------- @@ -87,25 +113,24 @@ The configuration variables mostly match GNU packages, but default values differ; libretools installs to `prefix=/usr` by default instead of GNU's `prefix=/usr/local`. + Building and installing subpackages ----------------------------------- -There are several subpackages you can build and install. This is done -by running: +There are several sub-packages you can build and install. - $ make build-${package} - # make install-${package} + - gitget -- A git downloader + - librelib -- Generic libraries included + - libretools -- The main libretools package -respectively. In addition to `build` and `install`, the activities -you can do are: +This is done by running: - - `copy` -- copy necessary files from the devtools-par source code - - `build` -- build all programs and files - - `install` -- install everything - - `clean` -- remove generated files + $ make build-<SUBPACKAGE> + # make install-<SUBPACKAGE> -The subpackages you can run these on are: +In addition to `build-*` and `install-*`, there are these general activities: - - libretools -- The main libretools package - - librelib -- Generic libraries included - - gitget -- A git downloader + - `copy` -- copy necessary files from the devtools-par source code + - `build` -- build all programs and files + - `clean` -- remove generated files + - `install` -- install everything |