aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md786
-rw-r--r--docs/cpt.org3
-rw-r--r--docs/cpt.texi4
-rw-r--r--src/cpt-lib.in15
4 files changed, 14 insertions, 794 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index a172be7..0000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,786 +0,0 @@
-CHANGELOG
-================================================================================
-
-This is the CHANGELOG for the Carbs Packaging Tools, initially a customized fork
-of the `kiss` package manager. The format is based on [Keep a Changelog], and
-this project _somewhat_ adheres to [Semantic Versioning].
-
-[Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
-[Semantic Versioning]: https://semver.org/spec/v2.0.0.html
-
-
-6.0.0
---------------------------------------------------------------------------------
-
-### Added
-- Added unit tests using `shellspec`.
-- Added support for `pax` for tarball extraction.
-- [ssu] support has been added for privilege escalation.
-- Added `-p` flag for specifying package when using `cpt-link`.
-- Added manual pages for all `cpt-contrib` scripts.
-- Added `lz` compression/decompression support to `$CPT_COMPRESS`.
-
-### Changed
-- Moved `cpt-lib` to `cpt-lib.in`.
-- All `src` scripts now exit with success after being called with `--help`.
-- Minor optimisations on `contrib` scripts.
-- Huge speed improvement on `cpt-export`.
-- Updated the `getoptions` library to version `2.5.0`.
-
-### Fixed
-- Fixed `cpt-cat` not using the `CPT_ROOT` value.
-- Fixed an error with the usage of `sbase grep` that resulted in exit when
- removing packages.
-
-### Removed
-- Removed C binaries `cpt-readlink` and `cpt-stat` and instead replaced them
- with `_readlink()` and `_stat()` library functions.
-
-
-[ssu]: https://github.com/illiliti/ssu
-
-5.1.2 - 2021-01-04
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed the `Makefile` installing files other than `cpt-*` files.
-- Fixed `pkg_swap()` bug where swapping a prefix file would change the following
- file locations on the manifest as well.
-
-
-5.1.1 - 2020-12-20
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed an issue where the package build is continued even when it failed when
- `$CPT_DEBUG` was set
-
-
-5.1.0 - 2020-11-25
---------------------------------------------------------------------------------
-
-### IMPORTANT
-- The `pkg_fixdeps()` function has been renamed to `pkg_fix_deps()`.
-- `cpt-lib` now parses options for you if `parser_definition()` is defined
- before being called.
-
-### Changed
-- `cpt-fork` can now take full path for packages.
-- `cpt-size` can now display the total size of multiple packages.
-- Updated `getoptions()` parser to version `2.0.1`
-- Added `git` to the default `cpt-base`.
-- Temporary cache creation scheme is changed from `build-$pid/` to
- `proc/$pid/build/`
-
-### Fixed
-- Moved option parsing to cpt-lib if `parser_definition` exists. This shouldn't
- affect existing scripts where `cpt-lib` is called before the parser is
- defined.
-
-
-5.0.0 - 2020-10-06
---------------------------------------------------------------------------------
-
-### IMPORTANT
-- `cpt-fetch` has been removed. `cpt-update -o` can be used instead.
-
-### Added
-- Added an `/etc/cpt-base` file to define a base. It can be used in order to
- ship a default base, but to make it redefinable by the user. This file isn't
- installed by default, it serves as a template.
-- Added `cpt-orphans` to view orphaned packages. This tool uses `/etc/cpt-base`
- and doesn't output any packages in the defined base.
-- Added a `global_options()` function in order to add into the option parser.
-- Added `cpt-update -o` flag to replace the functionality of `cpt-fetch`.
-- Added `cpt-list -c` to use the current directory as the argument string.
-
-### Changed
-- `pkg_build()` now notifies the user if the build file was modified inside a
- hook (the `pre-build` hook to be precise).
-- In git repository sources, `@` can now be used to specify tags.
- E.g. `git+git://git.carbslinux.org/cpt@4.2.0`
-- `cpt-fork` now removes `manifest` and `etcsums` files.
-- `cpt-fork` can now be used to fork multiple packages.
-- `cpt-reset` now uses `/etc/cpt-base` when removing packages.
-- `cpt-build` now exports the `CPT_TEST` variable, so some tests that can't be
- done in a `test` script can be done from the build itself.
-
-
-4.1.1 - 2020-09-25
---------------------------------------------------------------------------------
-
-### Changed
-- Git clones now fetch tags if commits are specified. This makes the operation
- longer, but not as long as cloning the whole repository while building a
- package.
-- `pkg_fixdeps()` now outputs to `stderr` instead of `/dev/tty`. You can now
- have fully silent builds.
-
-### Fixed
-- Fixed the `as_root()` function when using `su`.
-
-
-4.1.0 - 2020-09-11
---------------------------------------------------------------------------------
-
-### Added
-- Added `bi` action to cpt for building and installing packages at the same time
-
-### Fixed
-- Fixed `as_root()` call on `cpt-chbuild`.
-
-
-4.0.1 - 2020-09-10
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed flags starting with `--no-`
-
-
-4.0.0 - 2020-09-09
---------------------------------------------------------------------------------
-
-With this update, all the documentation was moved to the `docs` repository,
-which can be accessed from the following sources:
-
-- [Docs Repository](https://github.com/carbslinux/docs)
-- [Online User Manual](https://carbslinux.org/docs)
-- `carbs-docs` package
-
-### Added
-- Added the ability to test packages using a new executable file `test`.
-- Added `$CPT_TEST` variable for testing packages.
-- Added `--test|-t` option to build.
-- Added support for `mercurial` repositories.
-- Added options to install the tools "static" so they don't depend on cpt-lib.
-- Added basic unit tests. See `make test`.
-
-### Changed
-- Most contrib scripts now use the current directory as the package name.
-
-### Removed
-- Removed the `docs/` folder.
-
-### Fixed
-- Fixed `getoptions` parsers while declaring initial variables.
-- Fixed build `cpt-stat` on the Makefile.
-
-3.3.1 - 2020-08-31
---------------------------------------------------------------------------------
-
-### Changed
-- Reverted `sh256()` to the previous way.
-
-
-3.3.0 - 2020-08-31
---------------------------------------------------------------------------------
-
-### Added
-- Added `trap_set()` in order to manage traps.
-
-### Changed
-- Moved from `getopt` to a shell implementation of option parsing. This ensures
- portability, and doesn't depend on a C program with GNU extensions. That was
- a mistake. The new implementation is taken from the public domain library,
- `getoptions`.
-- `warn()` function was modified to use `log "$1" "$2" "${3:-WARNING}"` instead.
-- Made `cpt` checksum method compatible with the KISS Community repository.
-
-
-3.2.0 - 2020-08-22
---------------------------------------------------------------------------------
-
-### Added
-- A `.build.cpt` file can be edited during the pre-build hook, so that a build
- script can be modified. If the build is modified, a diff file will be
- generated to the package database.
-- Some of the tools now use getopt. Since getopt isn't a POSIX utility,
- util-linux implementation has been added to the `getopt-ul` directory. It
- consists only of files required for the tool to be built.
-- Added `pre-chroot` hook for the `cpt-chbuild` utility.
-
-### Changed
-- `cpt-chbuild` now uses library functions such `sh256()`, and `as_root()`.
-- `cpt` programs no longer exit if `$CPT_PATH` is unset.
-
-
-3.1.1 - 2020-08-11
---------------------------------------------------------------------------------
-
-### Changed
-- `as_root()` now sets package manager variables with env.
-
-
-3.1.0 - 2020-08-07
---------------------------------------------------------------------------------
-
-### Changed
-- `cpt-lib` no longer creates temporary directories. This will need manual
- adjustments for scripts that make use of the cache directories. Those
- directories can now be created by calling the `create_cache()` function.
-- Dropping libtool's `*.la` library files from packages.
-
-
-3.0.0 - 2020-07-24
---------------------------------------------------------------------------------
-
-This is the 3.0.0 release. This will make `kiss` (now renamed as `cpt`) a
-toolchain for package management rather than a single script program. The main
-functionality is moved into a `lib.sh` file which the tools will source. This
-comes with nice benefits such as:
-
-- Easier option parsing for each tool.
-- Easier to extend the package manager as it is only a library. It no longer
- requires dirty hacks to source the package manager functions and variables.
-- Clearer usage information is outputted, so the user doesn't have to delve into
- documents to see the syntax/options of a tool.
-
-### Added
-- `$CPT_CACHE` to change the cache directory.
-- Added a bunch of flags, here is a table:
-
-| Flag | Function | Added tool |
-|------------|-------------------------------------------|------------------------|
-| --force | Force removal/installation | cpt-remove/cpt-install |
-| --root | Specify root directory | lots of tools |
-| --download | Only download packages | cpt-update |
-| --no-fetch | Do not fetch repositories before update | cpt-update |
-| --single | Only show the first instance of a package | cpt-search |
-
-
-### Changed
-
-- Renamed all variables from `KISS-*` to `CPT-*`
-- Moved database to `/var/db/cpt`
-- Changed the code style and did some minor nitpicks for the C programs.
-
-### Removed
-- Removed the ability to control color output (for now).
-- Removed `kiss-outdated` and `kiss-which`.
-
-
-2.3.0 - 2020-07-16
---------------------------------------------------------------------------------
-
-### Added
-- Added `KISS_FETCH` to optionally disable repository fetches while performing
- a system update. You can now run `KISS_FETCH=0 kiss u` in order to update
- your system without syncing repositories.
-
-### Changed
-- Changed usage outputs for kiss and contrib utilities.
-- `rsync` repositories are now synced based on checksums rather than timestamps.
-- `kiss-chroot` now uses system flags if available.
-- `kiss-chbuild` now installs extra packages if specified.
-- hooks now default to `null` if no arguments are given
-- `*-pull` hooks have been renamed to `*-fetch` and is run only once instead of
- for every single git repository.
-
-### Fixed
-- Fixed an issue where using `su` to install packages resulted in a wrong
- package ownership.
-
-
-2.2.1 - 2020-06-11
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed directory checking on package removal
-
-
-2.2.0 - 2020-06-10
---------------------------------------------------------------------------------
-
-### Added
-- Makefile configurations were moved to config.mk.
-
-### Changed
-- `kiss` no longer ignores musl and gcc on `fixdeps()`. This will result in an
- influx of musl dependencies. But you will be needing the C library to be
- installed anyway if you want your programs to work. If your program links
- to `libgcc`, you will need the gcc package for that given program to function.
-- Makefile now properly accepts `LIBS`, `LDFLAGS`, and `CFLAGS`.
-- Updated documentation.
-
-### Fixed
-- `C89` compatibility on C programs.
-- Fixed an alternatives issue where a file containing special regular expression
- characters (such as `/usr/bin/[`) would result in a manifest deletion.
-
-
-2.1.2 - 2020-06-03
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed a segmentation fault on `kiss-stat` when a file didn't have on owner on
- the `passwd` database.
-
-
-2.1.1 - 2020-06-03
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed 'No message in queue' message being outputted for every single package.
-- Fixed CFLAGS for x86_64 on `kiss-chroot`.
-- Fixed setting binary packages as dependencies.
-
-
-2.1.0 - 2020-05-29
---------------------------------------------------------------------------------
-
-### Added
-- Added '$2' '$3' for build scripts which specifies version and architecture
- information.
-
-### Changed
-- `kiss-chroot` now sets architecture based on the system
-- Updated documentation
-
-### Removed
-- Removed strip messages
-
-
-2.0.0 - 2020-05-28
---------------------------------------------------------------------------------
-
-### Added
-- Rsync repository support.
-- pre/post hooks for package removal (pre-remove, post-remove).
-- pre/post hooks for git pulls (pre-pull, post-pull).
-
-### Changed
-- `kiss` no longer removes empty directories if they are defined on a different
- package.
-- `$KISS_NOPROMPT` has been renamed to `$KISS_PROMPT` and must be set to 0 in
- order to disable prompts.
-- `kiss-chbuild` now checks tarball digest.
-- `kiss-chbuild` now downloads tarballs according to arch (x86_64 or i686
- currently).
-- Submodule repository fetching has been modified to match compatibility.
-
-### Removed
-- Removed `kiss-maintainer` and moved it to [kiss-extra]
-
-[kiss-extra]: https://github.com/carbslinux/kiss-extra
-
-
-1.22.4 - 2020-05-26
---------------------------------------------------------------------------------
-
-**NOTE:** `1.22.x` is the last minor version before `2.0.0`, meaning I will not
-be doing any releases except for patches and fixes. My attention is now on
-implementing binary repositories. I will be doing some 'release candidates'
-before release, as binary repositories will need user feedback.
-
-### Added
-- Added new documents.
-- Added `post-package` hook.
-
-### Changed
-- Renamed the `hashcheck` function to `sh256` for compatibility.
-- Enabled the usage of glob characters for `kiss-bin`.
-
-
-1.22.3 - 2020-05-18
---------------------------------------------------------------------------------
-
-### SECURITY
-- Fixed a bug regarding privilege escalation using `$KISS_HOOK`. `kiss` will now
- use `$KISS_ROOT/etc/kiss-hook` on installation operations (which are run by
- root) so that the hooks are defined by the system administrator rather than the
- user. See [related proof-of-concept]
-
-[related proof-of-concept]: https://github.com/kisslinux/kiss/pull/157#issuecomment-629880775
-
-
-1.22.2 - 2020-05-16
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed an issue where `pkg_conflicts` would abort if `kiss-readlink` failed due
- to missing components. It now fallbacks to the original directory name.
-
-
-
-1.22.1 - 2020-05-15
---------------------------------------------------------------------------------
-
-### REMOVED
-- Removed some contrib scripts and moved them to [kiss-extra]
-- `kiss-cargo-urlgen`
-- `kiss-cargolock-urlgen`
-- `kiss-changelog`
-- `kiss-depends-finder`
-- `kiss-exec`
-- `kiss-message`
-- `kiss-orphans`
-- `kiss-reporevdepends`
-
-
-### Fixed
-- Fixed a `kiss-owns` typo that caused it to fail.
-- Fixed a `kiss-readlink` bug where it would fail if the last component wouldn't
- exist.
-- Fixed an error on tarball extraction where a file name containing spaces would
- be parsed as two files.
-
-
-[kiss-extra]: https://github.com/carbslinux/kiss-extra
-
-
-1.22.0 - 2020-05-14
---------------------------------------------------------------------------------
-
-### Added
-- Added `kiss-exec`, a tool to execute commands inside the alternatives system.
-
-### Changed
-- Replaced `KISS_COLOUR` with `KISS_COLOR` to match upstream.
-- Renamed `colour` variable to `color` for consistency.
-- The package manager no longer needs root privileges if the `KISS_ROOT` is
- writable by the user.
-- `kiss` now uses the host cache regardless of `KISS_ROOT`.
-
-### Fixed
-- Fixed an issue where `kiss-owns` would output the wrong package because of
- symbolic links. The script now reads the link of the directory instead of the
- full file.
-
-
-1.21.1 - 2020-05-14
---------------------------------------------------------------------------------
-
-### Changed
-- All contrib messages now output usage information when called with `--help`
- and `-h`.
-- `hashcheck` function now uses `$1` instead of `${file#\*}`.
-
-### Fixed
-- Fixed a non-POSIX `find` call. Thanks to @illiliti.
-
-
-1.21.0 - 2020-05-12
---------------------------------------------------------------------------------
-
-### Added
-- Added a `d|download` option to acquire the sources of given packages. If no
- packages are given, it acquires the sources of outdated packages. This can be
- used to acquire a package's sources to build it later, or periodically
- downloading outdated package sources, so the user doesn't wait for the download
- when updating the system.
-- kiss now understands `.txz` tarballs. (BSD `src.txz` wink wink)
-- `KISS_TMPDIR` can now be used to specify a temporary build directory. This
- will be useful for those of you who would want to build on ram or a different
- file system.
-
-### Changed
-- Simplified tarball extraction method.
-- Removed the 'esc' function inside kiss.
-- Added a 'warn' function to standardise warnings inside kiss
-
-### Fixed
-- Removed the `sys_db` usage on `pkg_find()` where directories could clash with
- external utilities.
-
-
-1.20.3 - 2020-05-09
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed an alternatives bug caused by the previous patch, where the package
- moving to `/var/db/kiss/choices` would take the name of the preferred package.
-
-
-1.20.2 - 2020-05-09
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed an issue regarding manifest format when using pkg_swap (alternatives).
-
-
-1.20.1 - 2020-05-08
---------------------------------------------------------------------------------
-
-### Changed
-- Faster conflict resolution by using a conflict cache file.
-- Standardised `kiss-readlink` usage output.
-
-
-1.20.0 - 2020-05-07
---------------------------------------------------------------------------------
-
-### Added
-- `KISS_NOPROMPT` can be specified in order to skip prompts.
-
-
-1.19.1 - 2020-05-07
---------------------------------------------------------------------------------
-
-### Added
-- Added `e|extension` to `kiss` which can be used to output kiss-extensions.
-
-### Changed
-- `kiss` no longer outputs the extensions when called with `kiss help`. The
- output was too large for an average terminal, and a user had to scroll up
- for actual package manager options. These can now be retrieved with `kiss e`.
-- When called from a subshell, `kiss` disables colour escape sequences. This
- behaviour can be overridden by setting `KISS_COLOUR` environment variable.
- If set to 1, it will be enabled globally, if set to 0 it will be disabled
- globally.
-
-
-1.19.0 - 2020-05-06
---------------------------------------------------------------------------------
-
-### Added
-- Added `kiss-reporevdepends` for finding all the packages on the repository
- that depends on the specified package.
-
-### Changed
-- Removed the `-p` flag from tar while installing packages. busybox ignores it
- and we don't need it.
-- Replaced tar flags with keys for historical compatibility.
-- `kiss` now decompresses a tarball once and uses the decompressed tarball for
- listing and extraction.
-
-### Fixed
-- Fixed the output of doc-strings in contrib scripts.
-- `kiss` now ignores the binary programs in the repository for
- `kiss extensions`.
-
-
-1.18.0 - 2020-05-04
---------------------------------------------------------------------------------
-
-### Added
-- Added editorconfig file since we now have 4 languages (roff, Makefile, sh, C)
- in the repository.
-- Added `kiss-readlink` as a `readlink -f` replacement.
-- Added `kiss-message` for checking package messages.
-- Added this CHANGELOG
-
-### Changed
-- Made tar calls portable. `kiss` is no longer limited to busybox, bsdtar, or
- gnu tar!
-
-### Removed
-- Dropped the usage of `readlink` in `kiss`.
-
-
-1.17.0 - 2020-05-03
---------------------------------------------------------------------------------
-
-### Added
-- Added `kiss-stat`, a simple C program for getting the owner name of a
- file/directory.
-
-### Removed
-- Removed the usage of `stat` calls, as they are not standardised.
-
-### Changed
-- `kiss` now doesn't report `Generating etcsums` if there isn't an `/etc`
- directory in the package
-
-### Fixed
-- `kiss` now uses `sys_db` instead of `pkg_db` when removing packages from the
- system.
-- `kiss` now explicitly exits if prompt returns with a status of 1. This is for
- `ksh` compatibility.
-
-
-1.16.3 - 2020-05-03
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed etcsum location.
-
-
-1.16.2 - 2020-05-03
---------------------------------------------------------------------------------
-
-### Added
-- Added fallbacks for sha256sum. `kiss` now fallbacks to `sha256`, and `openssl`
- for hash checking, respectively.
-- Added `kiss-changelog` and `kiss-which` entries to the `kiss-contrib.1` manual
- page.
-
-### Fixed
-- Fixed `kiss` not using the preferred `tar` program on decompression.
-- Fixed `pkg_conflicts()` getting stuck when you reinstall the same single
- package on a system.
-- Fixed `pkg_conflicts()` giving an error if no packages are installed on a
- system.
-
-
-1.16.1 - 2020-05-01
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed `ksh` Ctrl+C interrupt signals.
-
-
-1.16.0 - 2020-05-01
---------------------------------------------------------------------------------
-
-### Added
-- New message queue system implementation. If a package includes a file named
- `message` it will output its contents in a pretty way.
-- Added `kiss-which`, a tool like `which` but for `kiss` packages.
-- Added `kiss-changelog`, a tool for outputting the git log of a given package.
-
-### Fixed
-- Fixed colour outputting on `OpenBSD ksh`.
-- Made compatibility fixes on the Makefile
-- Fixed an installation issue where `kiss` would look for the manifest with the
- `$KISS_ROOT` variable
-
-
-1.15.0 - 2020-04-30
---------------------------------------------------------------------------------
-
-I have decided to revert to rsync installation method as it is faster and safer.
-Now, rsync is not a huge dependency. Saving 500Kb is not worth it when you look
-at the trade-off.
-
-### REMOVED
-- Removed the new installation method.
-
-### Changed
-- Reverted to `rsync` for installation.
-- We are now forcing decompression to standard output while using `decompress()`
-- `kiss` now accepts decompressed tar archives for package installation as well.
-
-
-1.14.2/1.14.3 - 2020-04-27
---------------------------------------------------------------------------------
-
-### Fixed
-- The new installation method now complies to the `$KISS_ROOT` value.
-
-
-1.14.1 - 2020-04-27
---------------------------------------------------------------------------------
-
-### Removed
-- Removed the unnecessary `[ -d ]` from the path query.
-
-### Fixed
-- Fixed directory permissions in the new installation method.
-- Added support for `$KISS_ROOT` to the new installation method.
-- Added a check for symlinks that could overwrite a directory during
- installation.
-- Whitespace cleanup.
-
-
-1.14.0 - 2020-04-25
---------------------------------------------------------------------------------
-
-This release removes `rsync` from `kiss` and implements its own installation
-method.
-
-### Added
-- `kiss` now implements user scripts available in the `$PATH`. This can be used
- to call `kiss manifest` from `kiss` itself.
-- `kiss` now displays a warning if the user has a `$KISS_ROOT` that ends with
- a `/`.
-- `kiss` now uses its own new package installation method.
-
-### Removed
-- usage of rsync as an installation method.
-- usage of `old_ifs`
-
-
-1.13.1 - 2020-04-19
---------------------------------------------------------------------------------
-
-### Removed
-- Reverted and removed `kiss ss` changes.
-
-
-1.13.0 - 2020-04-19
---------------------------------------------------------------------------------
-
-### Added
-- `kiss ss` for outputting a single location for scripting.
-
-### Changed
-- `kiss` now elevates permissions during checksum if the file isn't owned by us.
-- Hide read error messages when `version` file cannot be found.
-- Made the `pkg_fixdeps()` usage of `diff` portable.
-
-### Fixed
-- Fixed a shellcheck error.
-
-
-1.12.3 - 2020-04-17
---------------------------------------------------------------------------------
-
-### Changed
-- Changed indentation style on decompression.
-
-### Fixed
-- `kiss-export` fallbacks to gzip if the compression method is unknown.
-- `kiss-repodepends` now outputs the proper depends file.
-
-
-1.12.2 - 2020-04-15
---------------------------------------------------------------------------------
-
-### Added
-- `kiss` can now decompress zip files.
-
-### Changed
-- `checksum`, `build`, `install`, and `remove` operations can now be done on the
- current package directory without arguments. So you can `cd` into a package an
- type `kiss b` to build that package.
-
-### Fixed
-- `kiss-export` now honours your `KISS_COMPRESS` value
-
-
-1.12.1 - 2020-04-12
---------------------------------------------------------------------------------
-
-### Fixed
-- Fixed printing empty arguments in `kiss-outdated`.
-
-
-1.12.0 - 2020-04-05
---------------------------------------------------------------------------------
-
-### Added
-- `kiss-cargolock-urlgen`: a tool that can read a Cargo.lock file to generate a
- list of urls.
-- `kiss-cat`: a tool to concatenate package build files.
-- Manual page for `kiss-contrib`.
-
-### Changed
-- `kiss-owns` now gives an error on directories.
-- `kiss-link` can now take multiple file names and will create symbolic links
- of them all.
-- Simplified `kiss-link`
-
-### Fixed
-- `kiss-cargo-urlgen`: Fixed an issue where if a package version contained a '-'
- it could lead to wrong url generation.
-
-
-1.9.0 - 1.11.2 - 2020-04-04
---------------------------------------------------------------------------------
-
-### Added
-- `kiss f` to fetch repositories without an update prompt.
-- Support for submodules in the repository.
-- Added a Makefile to standardise the installation.
-- Zstd compression method.
-
-### Changed
-- Modified `kiss-chbuild` to fit Carbs Linux.
-- Changed README to notify about forking status.
-- `pkg_find()` now also checks for symlinks instead of just directories.
-- `pkg_find()` now uses a `for` loop instead of `find`.
-- Force C locale for faster grepping.
-- Easily readable manual page.
-
-### Fixed
-- Compression method now fallbacks to gzip if unknown.
diff --git a/docs/cpt.org b/docs/cpt.org
index 9107604..3949cea 100644
--- a/docs/cpt.org
+++ b/docs/cpt.org
@@ -482,6 +482,9 @@ the following =depends= file:
#+END_EXAMPLE
** meta
+:PROPERTIES:
+:DESCRIPTION: File containing more information on packages
+:END:
=meta= is a non-mandatory package file that can be used to provide information
otherwise non-relevant to the functions of the package manager. This file can
diff --git a/docs/cpt.texi b/docs/cpt.texi
index a25b622..c39b393 100644
--- a/docs/cpt.texi
+++ b/docs/cpt.texi
@@ -77,7 +77,7 @@ Packaging System
* checksums:: The file containing sha256sum of the sources
* version:: The file containing the version and the release numbers of a package
* depends:: The file containing the dependencies of a package
-* meta::
+* meta:: File containing more information on packages
* post-install:: The post-installation script
* message:: The post-installation message to be displayed
* test:: The test script for a package
@@ -520,7 +520,7 @@ can be patches, configuration files, etc.
* checksums:: The file containing sha256sum of the sources
* version:: The file containing the version and the release numbers of a package
* depends:: The file containing the dependencies of a package
-* meta::
+* meta:: File containing more information on packages
* post-install:: The post-installation script
* message:: The post-installation message to be displayed
* test:: The test script for a package
diff --git a/src/cpt-lib.in b/src/cpt-lib.in
index 9ddee72..bf58fbe 100644
--- a/src/cpt-lib.in
+++ b/src/cpt-lib.in
@@ -39,7 +39,10 @@ die() {
trap_set() {
# Function to set the trap value.
case ${1:-cleanup} in
- cleanup) trap pkg_clean EXIT INT ;;
+ cleanup)
+ trap pkg_clean EXIT
+ trap 'pkg_clean; exit 1' INT
+ ;;
block) trap '' INT ;;
unset) trap - EXIT INT ;;
esac
@@ -1041,7 +1044,7 @@ pkg_build() {
log "Building: $*"
# Only ask for confirmation if more than one package needs to be built.
- [ $# -gt 1 ] || [ "$pkg_update" ] && { prompt || exit 0 ;}
+ [ $# -gt 1 ] || [ "$pkg_update" ] && prompt
log "Checking for pre-built dependencies"
@@ -1792,8 +1795,8 @@ pkg_updates(){
# Read version and release information from the installed packages
# and repository.
- read -r db_ver db_rel < "$pkg/version" || exit 1
- read -r re_ver re_rel < "$(pkg_find "$pkg_name")/version" || exit 1
+ read -r db_ver db_rel < "$pkg/version"
+ read -r re_ver re_rel < "$(pkg_find "$pkg_name")/version"
# Compare installed packages to repository packages.
[ "$db_ver-$db_rel" != "$re_ver-$re_rel" ] && {
@@ -1809,7 +1812,7 @@ pkg_updates(){
# shellcheck disable=2154
[ "$download_only" = 1 ] && {
log "Only sources for the packages will be acquired"
- prompt || exit 0
+ prompt
for pkg in $outdated; do
pkg_sources "$pkg"
@@ -1822,7 +1825,7 @@ pkg_updates(){
log "Detected package manager update"
log "The package manager will be updated first"
- prompt || exit 0
+ prompt
pkg_build cpt
cpt-install cpt