aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 202c68ec88683274d9bb37ea71675bb17276e682 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
  ____ ____ _____
 / ___|  _ \_   _|
| |   | |_) || |
| |___|  __/ | |
 \____|_|    |_|

Carbs Packaging Tools
--------------------------------------------------------------------------------

Package management toolset for Carbs Linux. Forked from [KISS]. All usage
information can be obtained from the manual page. For changes please refer to
the `CHANGELOG.md` file.

[KISS]: https://github.com/kisslinux/kiss


Dependencies
--------------------------------------------------------------------------------

To build and use cpt, you need the following software:

- rsync
- curl
- POSIX base utilities [coreutils, busybox, sbase, etc.]
- pax or tar [GNU tar, busybox, toybox, libarchive, etc.]
- Common compression utilities such as gzip, bzip2, xz, etc.


In order to build the documentation, you will need the following software:

- texinfo (for generating '.info' pages)
- Emacs   (for generating '.texi' and '.txt' pages)

However, distributed tarballs come with info pages, and '.texi' and '.txt' files
are committed directly into the repository, meaning that you don't need
`texinfo` if you are using a tarball, and you don't need Emacs as long as you
don't edit the documentation.

You can also completely disable the build/installation of the documentation by
either passing `DOCS=no` to `make` or editing `config.mk` to disable it.


Directory Structure
--------------------------------------------------------------------------------

    /         -- README, LICENSE, CHANGELOG
    contrib/  -- for Shell scripts that wrap around cpt.
    docs/     -- for documentation.
    man/      -- for manual pages.
    src/      -- for the tools that make up the package manager.


Defining Base
--------------------------------------------------------------------------------

Tools such as cpt-orphans and cpt-reset define the base from the file
'/etc/cpt-base'. An example cpt-base file can be found from the root directory
of the repository, which is the default base for Carbs Linux. A user can modify
this file to fit their needs and redefine their base for the system. For
example, a user can decide that they want 'sbase' instead of 'busybox' for their
base, so if they reset their system, busybox will be removed instead of sbase.

This file is used to ship a predefined base, while leaving the base to a user's
choice. However, it isn't installed by the Makefile so that the packagers may
define their own base, or so that a user can install cpt without using it as
their main package manager.