BRANCH: experiment/lazyload This branch was an experiment for lazy loading the package library. It generated function autoloads from the cpt-* files on the lib/ directory and loaded the libraries of the functions when they were called. I tested this out, because I assumed that the result would be an increase of speed, but it turned out that the answer was quite the contrary. Using the master branch (757d256), running `cpt l` takes 33 seconds. Using this branch, it takes 37 seconds. Even though, this currently slows the operation, I would love to revisit this branch someday if I come up with a better idea for lazyloading functions. At the current stage, this branch doesn't improve speed at all. ____ ____ _____ / ___| _ \_ _| | | | |_) || | | |___| __/ | | \____|_| |_| Carbs Packaging Tools -------------------------------------------------------------------------------- Package management toolset for Carbs Linux. Forked from [KISS]. All usage information can be obtained from the manual page. For changes please refer to the `CHANGELOG.md` file. [KISS]: https://github.com/kisslinux/kiss Dependencies -------------------------------------------------------------------------------- To build and use cpt, you need the following software. RUNTIME DEPENDS - rsync - curl - POSIX base utilities [coreutils, busybox, sbase, etc.] - tar [GNU tar, busybox, toybox, libarchive, etc.] MAKE DEPENDS - redo (optional, the repository contains tools/do) Directory Structure -------------------------------------------------------------------------------- / -- README, LICENSE, CHANGELOG contrib/ -- for Shell scripts that wrap around cpt. docs/ -- for documentation. man/ -- for manual pages. src/ -- for the tools that make up the package manager. Defining Base -------------------------------------------------------------------------------- Tools such as cpt-orphans and cpt-reset define the base from the file '/etc/cpt-base'. An example cpt-base file can be found from the root directory of the repository, which is the default base for Carbs Linux. A user can modify this file to fit their needs and redefine their base for the system. For example, a user can decide that they want 'sbase' instead of 'busybox' for their base, so if they reset their system, busybox will be removed instead of sbase. This file is used to ship a predefined base, while leaving the base to a user's choice. However, it isn't installed by the Makefile so that the packagers may define their own base, or so that a user can install cpt without using it as their main package manager.