- No more temporary file for tarball.
- Uses verbose output as manifest instead of invoking tar tf.
NOTE: May revert this (need to investigate usage of v for this
purpose). Just pushing to get it into history.
- Installation/removal needs the filtering, other parts of the
package manager do not (so they can now use the bare function).
- Changed method of output transformation to something simpler.
- Added support for other download utilities (wget and aria2c).
- Made download utility configurable via KISS_GET.
- Made sha256 utility configurable via KISS_SHA.
Let me know if there are other utilities which you would like
supported. :)
- Drop zip support. Repositories don't use it for anything, it has
no standard interface, the code is rather naive (does not strip
any parent directory so build files must cd (dir may change...).
Also.. the current zip code will prompt the user if there are
any conflicts which is contrary to expected behavior (later
sources overwrite prior files by design).
- Use one pattern in checksum generation.
- Moved download code to function. Can now explore supporting
different download tools (to remove hard curl lock-in).
- Added two hooks, pre-source and post-source. These hooks allow
for obtainment of verbatim and resolved sources (as well as
absolute paths to sources on disk).
- Other small improvements.
Any source starting with raw: will be used verbatim. This allows
one to disable the marker substitution for a given source.
Am open to suggestions for a different syntax to raw: though for
now it's fine.
See #242
1. Matching of owner was .*<path>$ to accomodate pkg_fix_deps's
partial path resolution (/lib instead of /usr/lib). Code now
changed to search fully resolved paths.
2. Our matching is now fixed strings and whole line. This removes
the possibility of false-positives due to partial matching by
prior regex (/bin/ls -> /usr/local/bin/ls (wrong file!))
3. This should be faster (no more regex, now full line matches).
Closes #241
1. Removed strict list of KISS_SU values. Anything that uses
sudo-like arguments is now supported.
2. Calling a nested package manager instance is now avoided when
unneeded.
3. Removed hardcoded root assumptions (and renamed as_root to
as_user). The check is now simply (current_user == owner of path).
1. Now supports multiple input files. Reduces calls/subshells to
sha utilities to once per list of files.
2. Errors from sha utilities are now shown rather than hidden.
3. Made sha command detection a startup thing. Made 2. possible.
4. Updated callers of sha256 to give all files at once (except for
one last TODO).
5. Remove find/sort/whatever from pkg_etcsums.
Also removes subshell, pipe, find, etc.
Stops the package manager from running ldd on upwards of 4000
files when building Python.
The code remains dumb in that it /uses/ ldd's error handling to
figure out which files to operate on. It now just runs on way
less files as it has a restricted search path.
If any paths are missing, do let me know. I think I have included
all places of interest (and I get same outputs with this commit
and without).