aboutsummaryrefslogtreecommitdiff
path: root/docs/cpt.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/cpt.txt')
-rw-r--r--docs/cpt.txt75
1 files changed, 61 insertions, 14 deletions
diff --git a/docs/cpt.txt b/docs/cpt.txt
index 8620539..144ff8b 100644
--- a/docs/cpt.txt
+++ b/docs/cpt.txt
@@ -32,8 +32,11 @@ _________________
.. 7. post-install
.. 8. message
.. 9. test
-6. Rsync Repositories
-.. 1. Setting up an Rsync repository
+6. Package Repositories
+.. 1. Rsync Repositories
+..... 1. Setting up an Rsync repository
+.. 2. Fossil repositories
+.. 3. Message of the Day
7. Comparison Between CPT and KISS
8. CPT Library
.. 1. Calling the library
@@ -449,8 +452,8 @@ development manual for *Carbs Packaging Tools*. For development logs see
5 Packaging System
==================
- A package is formed of several files, from these files, only `build',
- `checksums', and `version' files are mandatory.
+ A package is a directory formed of several files, from these files,
+ only `build', `checksums', and `version' files are mandatory.
This section talks about files that are interpreted specially by the
package manager. Any other file can be added to the package directory
@@ -611,8 +614,24 @@ development manual for *Carbs Packaging Tools*. For development logs see
script is finished.
-6 Rsync Repositories
-====================
+6 Package Repositories
+======================
+
+ *cpt* has backends to support the use of a variety of distribution
+ methods. You can currently use Git, Mercurial, Fossil, and Rsync to
+ distribute a package repository. That, however, does not mean that you
+ need to setup either of those, if you are simply going for a local
+ repository on your system.
+
+ In the broad sense, a package repository is any directory that
+ contains packages that were described in 5. This means that as long as
+ you can serve them, there is not much needed to do in order to
+ distribute a repository. The following subsections aim to detail the
+ notes and the caveats of certain distribution methods.
+
+
+6.1 Rsync Repositories
+~~~~~~~~~~~~~~~~~~~~~~
Rsync repositories are simple to serve and simple to use. In the
repository directory, there needs to be a `.rsync' file that points to
@@ -661,8 +680,8 @@ development manual for *Carbs Packaging Tools*. For development logs see
fetch accordingly.
-6.1 Setting up an Rsync repository
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+6.1.1 Setting up an Rsync repository
+------------------------------------
Carbs Linux repositories automatically sync from the git repostitories
and serve it through the rsync daemon. Here is a sample shell script
@@ -715,6 +734,37 @@ development manual for *Carbs Packaging Tools*. For development logs see
`----
+6.2 Fossil repositories
+~~~~~~~~~~~~~~~~~~~~~~~
+
+ Setting up a Fossil repository is no different than setting up any
+ other repository. There are certainly many advantages of using Fossil
+ as a means of distributing packages. You can create a Linux
+ distribution and have your website, forum, documentation, and your
+ package repository entirely contained inside a single Fossil
+ repository. Fossil's built-in wiki and forum features make it the
+ ultimate single-tool distribution software.
+
+ However, the biggest caveat of Fossil is that it doesn't allow
+ symlinks by default unless it's manually set by the user, and this
+ feature cannot even be set globally. Symbolic links aren't quite
+ common within distribution repositories, but they come in handy where
+ there are two packages that use the same source files (`emacs' and
+ `emacs-nox', or `libelf' and `libdw' from elfutils). If symbolic links
+ are too big of a deal for your repository, this can be a huge issue
+ for you.
+
+
+6.3 Message of the Day
+~~~~~~~~~~~~~~~~~~~~~~
+
+ If a file named `motd' is found on the root directory of the package
+ repository, its contents will be printed to the standard output when
+ the users are updating their repositories. This method can be used to
+ communicate messages to the users, such as package removals or
+ otherwise important information.
+
+
7 Comparison Between CPT and KISS
=================================
@@ -739,12 +789,12 @@ development manual for *Carbs Packaging Tools*. For development logs see
functionality. `kiss' does not accept flags.
Package Repositories
- In addition to git repositories, `cpt' also makes use of [rsync
- repositories].
+ In addition to git repositories, `cpt' also supports Rsync,
+ Fossil, and Mercurial repositories.
Package Sources
In addition to git repositories for sources, `cpt' also supports
- mercurial repositories.
+ Mercurial and Fossil repositories.
Post-Installation Messages
`kiss' and `cpt' interact with `post-install' messages
@@ -764,9 +814,6 @@ development manual for *Carbs Packaging Tools*. For development logs see
favour of portability.
-[rsync repositories] See section 6
-
-
8 CPT Library
=============