Commit Graph

1603 Commits

Author SHA1 Message Date
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
Dylan Araps 4517334d8a
kiss: store newline in variable 2021-07-16 14:11:03 +03:00
Dylan Araps 0980dc877d
kiss: remove subshell from kiss c 2021-07-16 13:50:53 +03:00
Dylan Araps bc58b6613e
5.5.6 2021-07-16 13:17:32 +03:00
Dylan Araps d2fc69655e
kiss: fix prompt issue. better repo orphan output 2021-07-16 13:17:20 +03:00
Dylan Araps e3941e6218
5.5.5 2021-07-16 12:28:12 +03:00
Dylan Araps 83a7556dee
kiss: fix KISS_LVL 2021-07-16 12:27:48 +03:00
Dylan Araps 2bebf1f318
kiss: Fix incorrect variable name 2021-07-16 12:24:06 +03:00
Dylan Araps dd3292d920
pkg_conflicts: Fix path joining 2021-07-16 12:21:13 +03:00
Dylan Araps b9a81e347f
pkg_manifest_validate: fix path joining and swap test around 2021-07-16 12:18:32 +03:00
Dylan Araps 92d8513908
5.5.4 2021-07-16 12:00:58 +03:00
Dylan Araps 0427d9cfa6
kiss: Split on all invocations of pkg_find_version 2021-07-16 11:59:51 +03:00
Dylan Araps a191caba07
5.5.3 2021-07-16 11:31:27 +03:00
Dylan Araps ace258aac0
kiss: Fix bug with version split.
pkg_find_version was not being told to update
split information.
2021-07-16 11:23:47 +03:00
Dylan Araps db52393278
misc: typo 2021-07-16 11:05:53 +03:00
Dylan Araps f7a4a106bf
kiss: Correctly increment KISS_LVL 2021-07-16 11:01:47 +03:00
Dylan Araps d1ba479458
kiss: put all temporary files in their own directory 2021-07-16 10:46:33 +03:00
Dylan Araps 6555df6209
kiss: Fix bug with strict cache removal
Turns out nested package manager processes would wipe the cache
earlier than expected when installing packages.

As all these nested processes are involved in is installation,
this changes pkg_clean to have them only wipe tar_dir (the only
directory they use).
2021-07-16 10:20:20 +03:00
Dylan Araps 268504bec8
kiss: use pre_pre 2021-07-16 10:07:04 +03:00
Dylan Araps 9895a14e83
kiss: unique temporary files
All temporary files now have unique names and reuse of the same
file for multiple purposes has been removed.

This prevents issues where a failed write to a log file used
in multiple places can cause prior data to be read elsewhere
in the package manager.
2021-07-16 09:58:14 +03:00
Dylan Araps e853e1accc
kiss: potential fix for cache issues. See #218 2021-07-16 07:59:37 +03:00
Dylan Araps 3e73ce0c2a
kiss: fix errors on update. See #218 2021-07-16 07:51:40 +03:00
Dylan Araps c9a37c2f3e
kiss: don't prompt when updating unless dependnecies added 2021-07-16 07:47:43 +03:00
Dylan Araps e87d3670ba
kiss fix bug with updating kiss. See #218 2021-07-16 07:42:34 +03:00
Dylan Araps 8315dd3ddc
kiss: fix bug where second command has user reset 2021-07-15 22:48:06 +03:00
Dylan Araps b1332a309a
kiss: fix random cache errors. 2021-07-15 22:41:19 +03:00
Dylan Araps cdbe560117
misc: remove unneeded shellcheck directive 2021-07-15 20:33:02 +03:00
Dylan Araps a39eb24ab1
kiss: 5.5.2 2021-07-15 11:51:27 +03:00
Dylan Araps f3c2cf717c
kiss: split on _ also 2021-07-15 10:48:42 +03:00
Dylan Araps f77905abcb
kiss: make release usable in sources 2021-07-15 09:52:11 +03:00
Dylan Araps 3cab00e132
kiss: 5.5.1 2021-07-15 09:36:32 +03:00
Dylan Araps 34ccbcbc3e
kiss: fix bug with variables and git sources 2021-07-15 09:36:20 +03:00
Dylan Araps 515ae5b549
kiss: fix bug with source download and variables 2021-07-15 09:34:21 +03:00
Dylan Araps 46993dfa26
kiss: 5.5.0 2021-07-15 07:44:43 +03:00
Dylan Araps 534ab0d96d
kiss: simplify check 2021-07-15 07:41:59 +03:00
Dylan Araps c0cc18b6ee
kiss: Give tarball to post-package hook. See #234 2021-07-15 07:30:09 +03:00
Dylan Araps ec3952b014
misc: typo 2021-07-15 07:23:06 +03:00
Dylan Araps e7f691d992
kiss: update hook docs 2021-07-15 07:20:31 +03:00