summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL119
1 files changed, 72 insertions, 47 deletions
diff --git a/INSTALL b/INSTALL
index a74a376..5b70654 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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