diff options
Diffstat (limited to 'doc/package-system.txt')
-rw-r--r-- | doc/package-system.txt | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/doc/package-system.txt b/doc/package-system.txt index 7f296c0..1e65c51 100644 --- a/doc/package-system.txt +++ b/doc/package-system.txt @@ -1,9 +1,10 @@ PACKAGE SYSTEM +================================================================================= -This document talks about the packaging system works with the kiss -package manager in detail. For information regarding the usage of -the package manager itself, see the kiss(1) manual page. +This document talks about the packaging system works with the kiss package +manager in detail. For information regarding the usage of the package manager +itself, see the kiss(1) manual page. A package is formed of 4 MANDATORY files. These are, - BUILD @@ -16,27 +17,26 @@ The package manager also reacts to the existence of these files, - POST-INSTALL - MESSAGE -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 '/var/db/kiss/installed' -These can be patches, configuration files, etc. +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 '/var/db/kiss/installed'. These can be +patches, configuration files, etc. BUILD ------ +--------------------------------------------------------------------------------- -Typically build 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 build file is a POSIX shell script (for portability's -sake), build files can be any executable program from binary programs to -Perl scripts. +Typically build 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 build file is a POSIX shell script (for portability's sake), build files can +be any executable program from binary programs to Perl scripts. -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. +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. -An important advice is to append an '-e' to the shebang (#!/bin/sh -e) so -that the build script exits on compilation error. +An important advice is to append an '-e' to the shebang (#!/bin/sh -e) so that +the build script exits on compilation error. Build is run with three arguments $1: Location of the package directory (DESTDIR) @@ -45,14 +45,14 @@ $3: System Architecture SOURCES -------- +--------------------------------------------------------------------------------- sources 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. -The SYNTAX is pretty simple for the sources file. Here are some example -sources files taken from the packages in the repository. +The SYNTAX is pretty simple for the sources file. Here are some example 'sources' +files taken from the packages in the repository. BUSYBOX @@ -97,9 +97,9 @@ source. If it starts with a protcol url, (such as ftp:// http:// https://) it will be downloaded with curl(1). -If the source is GIT repository, it shall be prefixed with a 'git+'. 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, +If the source is GIT repository, it shall be prefixed with a 'git+'. 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, - git+git://example.com/pub/repo#v1.2.3 will checkout the tag named 'v1.2.3' - git+git://example.com/pub/repo#development will checkout the branch named 'development' @@ -116,20 +116,20 @@ a source to be on a specific directory, you can see the gcc package for that. CHECKSUMS ---------- +--------------------------------------------------------------------------------- checksums file is generated by the `kiss c pkg` command. It is generated -according to the order of the sources file. That's why you shouldn't be -editing it manually. The checksums file is created with the digests of the -files using the sha256 algorithm. +according to the order of the sources file. That's why you shouldn't be editing +it manually. The checksums file is created with the digests of the files using +the sha256 algorithm. VERSION -------- +--------------------------------------------------------------------------------- -The version file includes the version of the software and the release number -of the package on a space seperated format. The contents of the file should -look like below. +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. 1.3.2 1 @@ -143,23 +143,24 @@ When a version bump occurs, the release should be reset to 1. DEPENDS -------- +--------------------------------------------------------------------------------- -This is a list of dependencies that must be installed before a package build. -You can append 'make' 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. +This is a list of dependencies that must be installed before a package build. You +can append 'make' 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. POST-INSTALL ------------- +--------------------------------------------------------------------------------- + +post-installs 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 KISS_ROOT). -post-installs 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 KISS_ROOT). MESSAGE -------- +--------------------------------------------------------------------------------- -This plaintext file will be outputted with 'cat(1)' after every package is ins- -talled. +This plaintext file will be outputted with 'cat(1)' after every package is +installed. |