Commit Graph

1640 Commits

Author SHA1 Message Date
Dylan Araps f122076086
kiss: expose owner user to hooks 2021-07-25 17:01:21 +03:00
Dylan Araps 94944ac5a4
kiss: 5.5.21 2021-07-25 07:41:55 +03:00
Dylan Araps 465d4e2697
kiss: search db first when removing packages. Fixes #250 2021-07-24 23:53:27 +03:00
Dylan Araps 3108ca2d71
revert: order arguments after as_user. 2021-07-24 23:38:46 +03:00
Dylan Araps be1f5efb98
kiss: order arguments after as_user.
See #250
2021-07-24 23:32:19 +03:00
Dylan Araps 2454d9c956
kiss: fix msg 2021-07-24 23:18:17 +03:00
Dylan Araps 8360e07955
kiss: remove msg 2021-07-24 23:09:46 +03:00
Dylan Araps be67ae5eb2
misc: nit 2021-07-24 22:37:27 +03:00
Dylan Araps 054761905e
kiss: don't print misleading message as hooks can update repositories 2021-07-24 22:27:43 +03:00
Dylan Araps caf4a4254e
kiss: remove unused variable 2021-07-24 22:21:27 +03:00
Dylan Araps cb54b59f98
kiss: move as_root out of git 2021-07-24 22:19:50 +03:00
Dylan Araps f09f0d6ec1
misc: comment 2021-07-24 21:32:52 +03:00
Dylan Araps 36050fb9d1
kiss: 5.5.19 2021-07-24 21:22:34 +03:00
Dylan Araps c423b67e65
kiss: fix package manager not cleating hash. Closes #248 2021-07-24 20:52:30 +03:00
Dylan Araps 5f4b22bdae
kiss: change msg 2021-07-24 20:36:55 +03:00
Dylan Araps 18be5567a0
kiss: revert early exit. Closes #247 2021-07-24 20:31:38 +03:00
Dylan Araps dfd000e9c5
kiss: update clean up
- Update hooks now fire for non-Git repositories. This allows hooks
  to add support for other update methods.

- Foundational work to explore other update methods in the package
  manager itself.

- Added 'U|upgrade' to update the system without pulling new changes
  from remotes.

- Other minor changes.
2021-07-24 12:44:31 +03:00
Dylan Araps 651e5a3ea7
kiss: only show ordering message if more than one package will be operated on 2021-07-23 11:22:19 +03:00
Dylan Araps d2b952651e
meta: new domain 2021-07-23 00:34:24 +03:00
Dylan Araps f48192f598
5.5.18 2021-07-22 15:57:46 +03:00
Dylan Araps 4bcefedb4b
kiss: let's try early error on ordering one more time 2021-07-22 13:21:06 +03:00
Dylan Araps 0ad76a03df
kiss: find cmd_su in system if KISS_SU is unset 2021-07-22 09:56:06 +03:00
Dylan Araps 2f16432993
kiss: use higher level sha256 for etcsums 2021-07-22 08:51:40 +03:00
Dylan Araps 671364fc11
misc: nits
Clean up of help output.

Also renamed KISS_SHA to KISS_CHK.
2021-07-22 08:34:52 +03:00
Dylan Araps 0a5b7ffbb9
kiss: remove unused variable 2021-07-21 11:20:39 +03:00
Dylan Araps d7ca1d9d5b
Revert "kiss: tar improvements"
This reverts commit f8256d699d.

libarchive tar prepends 'x ' to verbose output whereas busybox
tar does not. Did not test other implementations though behave
seems to not be standard regardless.
2021-07-21 11:18:45 +03:00
Dylan Araps 94523bd62f
kiss: misc cleanup 2021-07-21 08:07:51 +03:00
Dylan Araps f8256d699d
kiss: tar improvements
- 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.
2021-07-20 21:57:28 +03:00
Dylan Araps b48a89c7fa
kiss: only run sh256 if we have elements 2021-07-20 21:34:13 +03:00
Dylan Araps ab9c0841ff
kiss: fix incorrect variable in error message 2021-07-20 20:30:15 +03:00
Dylan Araps cf9e663c76
kiss: split sha256 into two functions
- 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.
2021-07-20 20:27:12 +03:00
Dylan Araps 60fbd39d73
kiss: 5.5.17 2021-07-20 19:52:56 +03:00
Dylan Araps 62e3d9426d
kiss: depends fixer nits 2021-07-20 19:50:50 +03:00
Dylan Araps d5a835e8e3
kiss: fix syntax error 2021-07-20 19:39:06 +03:00
Dylan Araps 6cf99638ef
kiss: add support for axel and wget2 2021-07-20 19:38:13 +03:00
Dylan Araps bfd75cc6d5
kiss: various changes
- 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. :)
2021-07-20 18:30:29 +03:00
Dylan Araps de24833038
kiss: minor changes
- 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.
2021-07-20 18:13:05 +03:00
Dylan Araps c4d3ba4390
kiss: unset _des in early return 2021-07-20 17:50:37 +03:00
Dylan Araps c2aa4b4ab6
kiss: sources improvements
- 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.
2021-07-20 17:38:00 +03:00
Dylan Araps bb98f71bc5
5.5.16 2021-07-20 15:42:33 +03:00
Dylan Araps ca14261544
kiss: fix #243 2021-07-20 15:42:18 +03:00
Dylan Araps 7cb2b052dd
kiss: more precise check 2021-07-20 12:20:50 +03:00
Dylan Araps d121fd318f
kiss: 5.5.15 2021-07-20 12:18:21 +03:00
Dylan Araps 83c88b4222
kiss: support escaping markers in sources files.
VERSION  -> resolved version
\VERSION -> VERSION

This allows users to disable substitution of specific markers
while keeping others functional.

Example (URL contains literal RELEASE):

https://github.com/jedisct1/libsodium/releases/download/VERSION-\RELEASE/libsodium-VERSION.tar.gz
2021-07-20 12:08:31 +03:00
Dylan Araps 3be01d38a6
kiss: 5.5.14 2021-07-20 08:31:34 +03:00
Dylan Araps bfee50bfbd
kiss: Add means of disabling find/replace in sources files
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
2021-07-20 08:29:31 +03:00
Dylan Araps 04fc05aa88
kiss: EPOCH -> RELEASE 2021-07-20 08:26:30 +03:00
Dylan Araps 166a9a9f7f
kiss: 5.5.13 2021-07-20 08:16:52 +03:00
Dylan Araps 5c53879e0c
kiss: rename RELEASE to EPOCH, rename PKG to PACKAGE
Closes #242
2021-07-20 08:15:50 +03:00
Dylan Araps b7b57bd34c
misc: nit 2021-07-19 23:07:57 +03:00
Dylan Araps bb32b12e82
kiss: don't create temporary files for manifest generation
Just insert them into the manifest.
2021-07-19 22:18:26 +03:00
Dylan Araps b08eac6f02
misc: nit 2021-07-19 21:32:45 +03:00
Dylan Araps 13cdbfc8dd
kiss: nit 2021-07-19 21:27:05 +03:00
Dylan Araps 3820e00e32
kiss: better fix for su 2021-07-19 21:22:49 +03:00
Dylan Araps 3f889ac262
5.5.12 2021-07-19 21:19:30 +03:00
Dylan Araps 888c1491cb
kiss: remove pkg_lint 2021-07-19 21:13:06 +03:00
Dylan Araps 80b43e66cd
kiss: remove sources warning 2021-07-19 21:07:39 +03:00
Dylan Araps 9dd0a1fc25
su: fix issues with new as_user stuff 2021-07-19 21:05:01 +03:00
Dylan Araps 4be8784476
kiss: remove id usage 2021-07-19 19:13:15 +03:00
Dylan Araps be0ea0a881
kiss: sed is gone 2021-07-19 18:53:01 +03:00
Dylan Araps 6cbf35151b
kiss: remove second last sed call 2021-07-19 18:32:30 +03:00
Dylan Araps 935196adaa
misc: nits 2021-07-19 18:20:41 +03:00
Dylan Araps 6f2e47f0bb
misc: nit 2021-07-19 18:16:49 +03:00
Dylan Araps bfcaca6146
misC: nit 2021-07-19 18:14:12 +03:00
Dylan Araps e44458cd24
kiss: 5.5.11 2021-07-19 17:55:11 +03:00
Dylan Araps f490f3d5b0
misc: nits 2021-07-19 17:54:57 +03:00
Dylan Araps 6c40c27229
kiss: remove grep call 2021-07-19 17:35:39 +03:00
Dylan Araps ce2f4c8f9a
kiss: use fd for etcsums. Removes last awk 2021-07-19 17:29:19 +03:00
Dylan Araps 8ffbdea2a1
5.5.10 2021-07-19 16:47:38 +03:00
Dylan Araps 22d96abf58
kiss: fix regex error
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
2021-07-19 16:42:57 +03:00
Dylan Araps a4b5f9eaca
kiss: 5.5.9 2021-07-19 12:26:08 +03:00
Dylan Araps e99fbcc170
kiss: revert printf change 2021-07-19 12:25:44 +03:00
Dylan Araps c43600e7c7
5.5.8 2021-07-19 12:06:54 +03:00
Dylan Araps 8ead0b1096
kiss: disallow newlines in arguments 2021-07-19 11:49:38 +03:00
Dylan Araps 75295c11e8
misc: nit 2021-07-19 11:42:13 +03:00
Dylan Araps 4f8973732e
misc: add null 2021-07-19 11:41:18 +03:00
Dylan Araps fab34f69eb
kiss: use fnr to remove manifest
Prevents us looping once for each package installed.
2021-07-19 10:59:05 +03:00
Dylan Araps 52b3c72340
misc: remove todo 2021-07-19 10:38:27 +03:00
Dylan Araps dc8cf3c06a
kiss: use safe copy for etc files. removes last root assumption 2021-07-19 10:34:42 +03:00
Dylan Araps 1e14b794a3
kiss: fix too strict install check 2021-07-19 10:25:15 +03:00
Dylan Araps 49e9feca74
kiss: as_root changes
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).
2021-07-19 10:18:12 +03:00
Dylan Araps 7c2c32fb37
kiss: minor nits 2021-07-19 08:18:49 +03:00
Dylan Araps 650e786edb
misc: comments 2021-07-19 08:11:13 +03:00
Dylan Araps f70bc4c35c
kiss: linter 2021-07-19 08:08:49 +03:00
Dylan Araps fcc9d0f536
kiss: use equ/ok to replace simple cases 2021-07-19 08:06:32 +03:00
Dylan Araps 0d7d24c40b
kiss: replace [ command with internal equivalent where possible.
This limits [ usage to file checks. Avoids many subshell spawns
when [ is an external utility (some shells make it a builtin).
2021-07-19 07:50:17 +03:00
Dylan Araps 36ee91c0ae
kiss: minor fixes 2021-07-19 00:11:29 +03:00
Dylan Araps 3a33ff29ad
kiss: fix inverted return 2021-07-19 00:04:13 +03:00
Dylan Araps e91f582b67
kiss: initial unneeded [ (external command) removal 2021-07-19 00:00:41 +03:00
Dylan Araps 25155b824b
kiss: keep old string list behavior 2021-07-18 23:15:58 +03:00
Dylan Araps e62a239fb3
kiss: sha changes
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.
2021-07-18 23:05:19 +03:00
Dylan Araps e65148db9f
kiss: don't set PREFIX (we don't hardcode /usr anywhere else) 2021-07-18 05:17:02 +03:00
Dylan Araps b006ffa670
kiss: 5.5.7 2021-07-17 20:44:46 +03:00
Dylan Araps 72db2d1fc1
kiss: avoid looping many times during tar extraction.
Instead, sort the tarballs manifest and filter out duplicate
top-level directories. For most tarballs this now results in
one loop iteration.
2021-07-17 18:55:11 +03:00
Dylan Araps 0cdcdedfd5
kiss: nit 2021-07-17 18:40:34 +03:00
Dylan Araps 105f29fb9d
kiss: nit 2021-07-17 18:27:46 +03:00
Dylan Araps b6b374dbc6
kiss: add back check 2021-07-17 18:18:25 +03:00
Dylan Araps 571b137df0
kiss: simplify etc removal check 2021-07-17 18:17:39 +03:00
Dylan Araps 0c687a0b2a
kiss: remove subshell from pkg_tar 2021-07-17 18:14:09 +03:00
Dylan Araps 83608d65c2
kiss: fix message 2021-07-17 18:09:22 +03:00
Dylan Araps 8ce7c9a701
misc: doc 2021-07-17 17:51:17 +03:00
Dylan Araps fc05246b3b
kiss: reduce indentation 2021-07-17 17:49:43 +03:00
Dylan Araps ddbefa66b7
kiss: handle etc in pkg_install_files 2021-07-17 17:43:58 +03:00
Dylan Araps f5764dfc2d
misc: nit 2021-07-17 16:44:32 +03:00
Dylan Araps 321af6f003
misc: nit 2021-07-17 16:28:50 +03:00
Dylan Araps b6c9179247
pkg_swap: use pkg_owner 2021-07-17 16:12:31 +03:00
Dylan Araps 501c4d315e
kiss: only attempt to strip files in specific locations 2021-07-17 16:01:17 +03:00
Dylan Araps cd29cb3eaa
pkg_conflicts: use pkg_name from caller 2021-07-17 15:40:11 +03:00
Dylan Araps c3c9049113
kiss: simplify manifest filter 2021-07-17 15:36:37 +03:00
Dylan Araps 25a5cd543d
kiss: move git code to function 2021-07-17 15:32:33 +03:00
Dylan Araps c3a2a415f4
kiss: ensure _seen is fresh 2021-07-17 15:23:07 +03:00
Dylan Araps 07c62219a1
kiss: simplify tar contains 2021-07-17 15:21:46 +03:00
Dylan Araps a73f120c9d
kiss: Only verify checksums if we have checksums to verify 2021-07-17 15:07:06 +03:00
Dylan Araps 912ba91654
kiss: don't resolve comments/blank lines 2021-07-17 15:01:53 +03:00
Dylan Araps 4072a621c7
kiss: move set to where its needed 2021-07-17 14:58:44 +03:00
Dylan Araps a9fd59bfa0
kiss: clean up install 2021-07-17 14:55:59 +03:00
Dylan Araps 0d475206ff
kiss: unsquish 2021-07-17 14:42:27 +03:00
Dylan Araps 5d024096c7
kiss: don't run some functions unless needed 2021-07-17 14:40:03 +03:00
Dylan Araps 0832390955
kiss: nit 2021-07-17 14:31:06 +03:00
Dylan Araps 1b4afb2ce0
misc: nit 2021-07-17 14:15:09 +03:00
Dylan Araps 7416bd3b5e
kiss: unify all version logic 2021-07-17 13:58:36 +03:00
Dylan Araps 9404f699f0
kiss: move to before set 2021-07-17 12:39:28 +03:00
Dylan Araps 17569fbde4
kiss: silence linter 2021-07-17 12:37:50 +03:00
Dylan Araps 4ca35d8122
pkg_fix_deps: Look only in select locations
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).
2021-07-17 12:27:11 +03:00
Dylan Araps 88bbd83020
kiss: nits 2021-07-17 11:46:20 +03:00
Dylan Araps 274a99c584
misc: nit 2021-07-17 11:40:51 +03:00
Dylan Araps a105371e48
misc: nit 2021-07-17 11:39:55 +03:00
Dylan Araps 674bd0bdfe
misc: comment 2021-07-17 11:35:29 +03:00
Dylan Araps 029da210b9
kiss: clean up conflicts 2021-07-17 11:31:29 +03:00
Dylan Araps cec912a496
misc: nit 2021-07-17 11:21:26 +03:00
Dylan Araps c2f90e93b0
kiss: remove . from find output using find 2021-07-17 11:19:08 +03:00
Dylan Araps 781808b9d6
kiss: make find/replace generic.
Replaces all but two sed calls with fnr() calls.
This removes subshell usage.

Other misc clean up.
2021-07-17 11:11:44 +03:00
Dylan Araps 859a088ce3
kiss: move manifest replacement to function 2021-07-17 09:57:01 +03:00
Dylan Araps da98f7f3ef
kiss: move manifest code to pkg_manifest 2021-07-17 09:35:54 +03:00
Dylan Araps 85c053430b
kiss: Skip removal of .la files and charset.alias
Instead, just don't include them in the manifest. Same result.
2021-07-17 09:27:46 +03:00
Dylan Araps ae345fd8c2
kiss: simplify prompt 2021-07-17 09:18:14 +03:00
Dylan Araps 65f553e053
misc: nit 2021-07-17 07:43:15 +03:00
Dylan Araps f264baaaf9
misc: remove message 2021-07-16 20:46:49 +03:00
Dylan Araps bf2e18c5d8
kiss: remove pipe/pointless check from tar extraction
- Directory check was in reality a NULL check. ie, '' is not a
  directory. Changed to use case.

- Removed pipe when iterating over tarball manifest. Swapped to
  using a temporaru file to avoid subshell.
2021-07-16 20:34:47 +03:00
Dylan Araps 7a9fde9494
kiss: move main around a little 2021-07-16 20:12:52 +03:00
Dylan Araps effb608988
kiss: rename KISS_LVL to _KISS_LVL
This is for internal use by the package manager.
2021-07-16 20:04:23 +03:00
Dylan Araps 09d670d47e
kiss: add hook for queue information 2021-07-16 18:54:16 +03:00
Dylan Araps f6dc492be8
pkg_verify: reduce to one loop and no temporary file 2021-07-16 17:55:45 +03:00
Dylan Araps 04a795b742
misc: typo 2021-07-16 15:38:29 +03:00
Dylan Araps bc9fb7b1b2
kiss: disallow spaces inside arguments.
This has never been supported. The package manager now aborts
if any spaces are present in arguments.
2021-07-16 15:36:56 +03:00
Dylan Araps 185b949628
misc: comment 2021-07-16 15:21:43 +03:00
Dylan Araps a68608dfd1
kiss: use temporary file for fix-deps 2021-07-16 15:14:52 +03:00
Dylan Araps f644275c62
kiss: store path once 2021-07-16 15:04:30 +03:00
Dylan Araps 35be405279
misc: nit 2021-07-16 14:59:29 +03:00
Dylan Araps b41a163101
kiss: nit 2021-07-16 14:15:57 +03:00