aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 0e83582d0459da3510fe0ddb3f0c68bc0f8485b6 (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
  ____ ____ _____
 / ___|  _ \_   _|
| |   | |_) || |
| |___|  __/ | |
 \____|_|    |_|

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.

- C compiler [make]
- rsync
- curl
- getopt [provided by cpt if not available]
- POSIX base utilities [coreutils, busybox, sbase, etc.]
- tar [GNU tar, busybox, toybox, libarchive, etc.]

Build configuration can be done from the 'config.mk' file. If you have getopt
on your system, add SYSTEM_GETOPT=1 option to your 'config.mk'.


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

    /         -- cpt, README, Makefile, LICENSE, CHANGELOG
    bin/      -- for C programs.
    contrib/  -- for Shell scripts that wrap around cpt.
    doc/      -- for documentation.
    getopt-ul -- for cpt provided util-linux standalone getopt(1).
    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.