diff options
-rw-r--r-- | CHANGELOG.md | 786 | ||||
-rw-r--r-- | docs/cpt.org | 3 | ||||
-rw-r--r-- | docs/cpt.texi | 4 | ||||
-rw-r--r-- | src/cpt-lib.in | 15 |
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 |