aboutsummaryrefslogtreecommitdiff
path: root/src/cpt-lib.in
AgeCommit message (Collapse)Author
2021-02-04pkg_extract(): Add support for pax and add new methodsmerakor
Even though we had a portable extraction method for tarballs, this slowed down the extraction immensely. I have added 2 new methods for tarball extraction so that we have faster extraction speeds based on the system tar implementation. Here are the options with the order of preference: - pax: Although an uncommon program, pax is defined by POSIX, and supports regular expressions, meaning that we can 'strip' components. This is slightly faster than bsdtar and GNU tar. - bsdtar/gnutar: We simply use '--strip-components 1' for these tar implementations. - tar: This is the portable method we had been using for a while, it's good, gets the job done, but it is slower. Here is also a little benchmarking I did by extracting the Linux tarball for 10 times per method. tarball=$CPT_CACHE/sources/linux-headers/linux-5.10.12.tar.xz for extract in pax bsdtar tar; do time sh -c ". cpt-lib extract=$extract for i in \$(seq 10); do mkdir -p hdr; cd hdr; tar_extract \"$tarball\"; cd ..; rm -rf hdr done" done This yields the following output, methods are as ordered above: sh -c 75.21s user 11.11s system 115% cpu 1:14.90 total sh -c 78.68s user 14.64s system 124% cpu 1:15.15 total sh -c 99.88s user 69.99s system 119% cpu 2:21.70 total FossilOrigin-Name: 45e3a9a03e7eff9b30b0e911d68d44068e8681ebf4501f271c8a686118f29243
2021-02-04pkg_find(): break early if only a single match is requestedmerakor
FossilOrigin-Name: ff26aa326167c4751040d86e06e298ac11b4ed7923b729ed3940e881bdc24124
2021-02-04getoptions: update to 2.5.0 of the librarymerakor
FossilOrigin-Name: 536a4979e768c7b605a393251f0468a878e46a23b554045049b7404072b5258b
2021-01-05pkg_build(): create package directories manuallymerakor
This ensures that we create the needed directories regardless of pkg_extract() FossilOrigin-Name: c7c7c11246aeb74343f06e1d5d53ea9ad4cab2f4153d745cb00ae0c62f51b048
2021-01-05run_hook(): store and release the CPT_HOOK variablemerakor
FossilOrigin-Name: 4bd8dc7830c8308c31510e5624550b1cf39df1401b4091a5bb80a2e24e109a30
2021-01-04Merge branch '5.1.x'merakor
FossilOrigin-Name: 035deb0250c22e7feafad486f8f2b1a40893ad87073c8e41ba4bdc0db0d23d62
2021-01-04pkg_get_base: fix shellcheck error on older versionsmerakor
Just so you know, the error is due to a bug on the older versions, but we still don't want checks to fail because of it. Installing newer versions of shellcheck takes too long on test containers that I am okay with fixing a faulty error. FossilOrigin-Name: 179ced7baf35e7eace835e1f7903ce72d2249e7ec6c809cfdd92ba7aa14b2517
2021-01-04pkg_get_base(): Return with success if cpt-base doesn't existmerakor
FossilOrigin-Name: cc958373d206ec3dd65008461a715120b25f05772b9a2d70539b3a53839569c2
2021-01-03pkg_gentree(): add function to generate a dependency graphmerakor
FossilOrigin-Name: e56971ac89f4a4e1c3efd62dad13b3a1c43bc6266c2803600995954cb61ee6cd
2021-01-03pkg_get_base(): add function to print the packages defined in /etc/cpt-basemerakor
FossilOrigin-Name: f282158e981153846bc1aca83263de583403dd78444435cb139a7f25e6658c4e
2021-01-03sepchar(): add function to seperate characters on given stringmerakor
FossilOrigin-Name: 3c44de3bfd6fbf69658371b2d8cd4d30043dd6f9b568c43ab30291925ebc582e
2021-01-03_seq(): add function to print numbers sequentiallymerakor
FossilOrigin-Name: e512f7d12e12c16fe109cfdf642361bb46ba594273ecacd93531c0ddfb144a8e
2021-01-03as_root(): add `sls` to accepted root toolsmerakor
FossilOrigin-Name: ca05dfca6f8529b23647ddac4e9d7d3317c4508ee15045e60a4eac63787a04b7
2020-12-24cpt: do not track info directory pagesmerakor
FossilOrigin-Name: 63e4717d7cc2790f055d562b165fb7ada2a6a34760078c2d178027fae28034b2
2020-12-21cpt-lib: add ability to be used as a scriptmerakor
- cpt script no longer ignores anything. - If cpt-lib is invoked from the command-line, it parses the given command-line arguments, making it possible to be used as a script. FossilOrigin-Name: 8484d0ff082d03f38fa41d7a5e76c21bfdd5951b6db5193bb4a7f17e74a5025e
2020-12-21cpt: remove cpt-stat and cpt-readlink, add _stat() and _readlinkfmerakor
cpt-readlink and cpt-stat were unnecessary additions for mundane tasks. Since they were binaries instead of scripts, they added an extra layer of complexity to the library. These functions are now included inside the package manager library with the names _readlinkf() and _stat(). FossilOrigin-Name: 7e15e2b57ddcb834c4286c8d1ac0a28031ae4f5d39f3c6a99f5b3aa0e9a83d43
2020-12-21tests: calm shellcheck downmerakor
FossilOrigin-Name: 16695158bf8e9ce16fb245dd3d71c44b3678892cbc7e8cd7ca221ce7d4c48823
2020-12-21Merge branch 'master' into redoredomerakor
FossilOrigin-Name: 242ef9adb08b706d0d45a500ef95aaa32860e4119cb1715a981c9a87c5f29843
2020-12-20cpt-lib: move to cpt-lib.inmerakor
FossilOrigin-Name: ffb46492fd34c44bd9d422c3e5febec38f8938901d339e5f952cac5c91274ee7