aboutsummaryrefslogtreecommitdiff
path: root/src/docs/Packaging-System.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/docs/Packaging-System.html')
-rw-r--r--src/docs/Packaging-System.html226
1 files changed, 0 insertions, 226 deletions
diff --git a/src/docs/Packaging-System.html b/src/docs/Packaging-System.html
deleted file mode 100644
index 7268068..0000000
--- a/src/docs/Packaging-System.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!-- Copyright (C) 2020 Cem Keylan
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts and no Back-Cover Texts.
-A copy of the license is included in the section entitled "GNU Free
-Documentation License." -->
-<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>Packaging System (Carbs Linux User Manual)</title>
-
-<meta name="description" content="Packaging System (Carbs Linux User Manual)">
-<meta name="keywords" content="Packaging System (Carbs Linux User Manual)">
-<meta name="resource-type" content="document">
-<meta name="distribution" content="global">
-<meta name="Generator" content="makeinfo">
-<link href="index.html" rel="start" title="Top">
-<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
-<link href="Package-Manager.html" rel="up" title="Package Manager">
-<link href="Rsync-Repositories.html" rel="next" title="Rsync Repositories">
-<link href="Editing-the-build-file-during-pre_002dbuild.html" rel="prev" title="Editing the build file during pre-build">
-<style type="text/css">
-<!--
-a.summary-letter {text-decoration: none}
-blockquote.indentedblock {margin-right: 0em}
-div.display {margin-left: 3.2em}
-div.example {margin-left: 3.2em}
-div.lisp {margin-left: 3.2em}
-kbd {font-style: oblique}
-pre.display {font-family: inherit}
-pre.format {font-family: inherit}
-pre.menu-comment {font-family: serif}
-pre.menu-preformatted {font-family: serif}
-span.nolinebreak {white-space: nowrap}
-span.roman {font-family: initial; font-weight: normal}
-span.sansserif {font-family: sans-serif; font-weight: normal}
-ul.no-bullet {list-style: none}
--->
-</style>
-
-
-</head>
-
-<body lang="en">
-<span id="Packaging-System"></span><div class="header">
-<p>
-Next: <a href="Rsync-Repositories.html" accesskey="n" rel="next">Rsync Repositories</a>, Previous: <a href="Hooks.html" accesskey="p" rel="prev">Hooks</a>, Up: <a href="Package-Manager.html" accesskey="u" rel="up">Package Manager</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
-</div>
-<hr>
-<span id="Packaging-System-1"></span><h3 class="section">2.4 Packaging System</h3>
-
-<p>A package is formed of several files, these are:
-</p><ul>
-<li> <samp>build</samp>
-</li><li> <samp>sources</samp>
-</li><li> <samp>checksums</samp>
-</li><li> <samp>version</samp>
-</li><li> <samp>depends</samp>
-</li><li> <samp>post-install</samp>
-</li><li> <samp>message</samp>
-</li><li> <samp>test</samp>
-</li></ul>
-
-<p>Any other file can be added to the package directory at the discretion of the
-package maintainer. Everything in the package directory will also be added to the
-package database that is located on &rsquo;/var/db/cpt/installed&rsquo;. These can be
-patches, configuration files, etc.
-</p>
-
-
-<span id="build"></span><h4 class="subsection">2.4.1 <samp>build</samp></h4>
-
-<p>Typically <samp>build</samp> files are shell scripts that run commands to prepare the source
-code to be installed on the target system. Even though we will be assuming that
-the <samp>build</samp> file is a POSIX shell script (for portability&rsquo;s sake), <samp>build</samp>
-files can be any executable program from binary programs to <code>perl</code> scripts.
-</p>
-<p>The contents of a build script do not need to follow a certain rule for the
-package manager, except for the fact that the user needs the permission to
-execute the file.
-</p>
-<p>An important advice is to append an &rsquo;-e&rsquo; to the shebang (#!/bin/sh -e) so that
-the build script exits on compilation error.
-</p>
-<p>Build is run with three arguments (<code>$#</code>)
-</p>
-<ol>
-<li> Location of the package directory (DESTDIR)
-</li><li> Package version
-</li><li> System architecture
-</li></ol>
-
-
-
-<span id="sources"></span><h4 class="subsection">2.4.2 <samp>sources</samp></h4>
-
-<p><samp>sources</samp> file is a list of files and sources that will be put to the build
-directory during the build process. Those can be remote sources (such as tarballs),
-git repositories, and files that reside on the package directory.
-</p>
-<p>The syntax is pretty simple for the <samp>soures</samp> file; <tt>src dest</tt>. The
-<code>dest</code> parameter is optional. It is the directory that the source will be
-placed in. Here is the <samp>sources</samp> file for the <code>gst-plugins</code> package:
-</p>
-<div class="example">
-<pre class="example">https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.16.2.tar.xz good
-https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.16.2.tar.xz bad
-https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.16.2.tar.xz ugly
-https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.16.2.tar.xz libav
-</pre></div>
-
-<p>This file is read from the package manager as space seperated. Files that begin
-with a &rsquo;#&rsquo; comment are ignored. The first value points to the location of the
-source.
-</p>
-<p>If it starts with a protcol url, (such as ftp:// http:// https://) it will be
-downloaded with <code>curl</code>.
-</p>
-<p>If the source is a git repository, it shall be prefixed with a <tt>git+</tt> git(1) will
-be used to do a shallow clone of the repository. If the commit is suffixed by a
-history pointer, git will checkout the relevant revision. So,
-</p>
-<dl compact="compact">
-<dt>&lsquo;<code>git+git://example.com/pub/repo#v1.2.3</code>&rsquo;</dt>
-<dd><p>will checkout the tag named &rsquo;v1.2.3&rsquo;
-</p></dd>
-<dt>&lsquo;<code>git+git://example.com/pub/repo#development</code>&rsquo;</dt>
-<dd><p>will checkout the branch named &rsquo;development&rsquo;
-</p></dd>
-<dt>&lsquo;<code>git+git://example.com/pub/repo#1a314s87</code>&rsquo;</dt>
-<dd><p>will checkout the commit named &rsquo;1a314s87&rsquo;
-</p></dd>
-</dl>
-
-<p>Other files are assumed to be residing in the package directory. They should be
-added with their paths relative to the package directory.
-</p>
-
-
-<span id="checksums"></span><h4 class="subsection">2.4.3 <samp>checksums</samp></h4>
-
-<p>checksums file is generated by the <samp>cpt c pkg command</samp>. It is generated
-according to the order of the sources file. That&rsquo;s why you shouldn&rsquo;t be editing
-it manually. The checksums file is created with the digests of the files using
-the sha256 algorithm.
-</p>
-
-
-<span id="version"></span><h4 class="subsection">2.4.4 <samp>version</samp></h4>
-
-<p>The version file includes the version of the software and the release number of
-of the package on a space seperated format. The contents of the file should look
-like below.
-</p>
-<div class="example">
-<pre class="example">1.3.2 1
-</pre></div>
-
-<p>The version should always match to the number of the upstream release. For
-drastic changes that require a rebuild Those can be,
-</p>
-<ul>
-<li> update of libraries that forces the package to be relinked
-</li><li> change in the build scripts that affect the output of the package
-</li></ul>
-
-<p>When a version bump occurs, the release should be reset to 1.
-</p>
-
-
-<span id="depends"></span><h4 class="subsection">2.4.5 <samp>depends</samp></h4>
-
-<p>This is a list of dependencies that must be installed before a package build. You
-can append &ldquo;make&rdquo; after a dependency to mark a package is only required during
-the build process of a package. Packages marked as a make dependency can be
-removed after the build. There are also &ldquo;test&rdquo; dependencies. These dependencies
-are only installed if either the <code>CPT_TEST</code> is set to 1, or the build is run
-with the <samp>-t</samp> or <samp>--test</samp> options. So, a package package could have
-the following <samp>depends</samp> file:
-</p>
-<div class="example">
-<pre class="example">linux-headers make
-python test
-zlib
-</pre></div>
-
-
-
-<span id="post_002dinstall"></span><h4 class="subsection">2.4.6 <samp>post-install</samp></h4>
-
-<p><samp>post-install</samp> files have the same requirements as the build script. They
-will be run after the package is installed as root (or as the user if the user
-has write permissions on <code>CPT_ROOT</code>).
-</p>
-
-
-<span id="message"></span><h4 class="subsection">2.4.7 <samp>message</samp></h4>
-
-<p>This plaintext file will be outputted with <code>cat</code> after every package is
-installed.
-</p>
-
-
-<span id="test"></span><h4 class="subsection">2.4.8 <samp>test</samp></h4>
-
-<p>Test files are mainly for the repository maintainer to test the packages, and
-will only run if the user has the <code>CPT_TEST</code> variable set, or the build is
-run with the <samp>-t</samp> or <samp>--test</samp> options. This script is run on the
-build directory. It is run right after the build script is finished.
-</p>
-
-
-<hr>
-<div class="header">
-<p>
-Next: <a href="Rsync-Repositories.html" accesskey="n" rel="next">Rsync Repositories</a>, Previous: <a href="Hooks.html" accesskey="p" rel="prev">Hooks</a>, Up: <a href="Package-Manager.html" accesskey="u" rel="up">Package Manager</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
-</div>
-
-
-
-</body>
-</html>