Commit Graph

1473 Commits

Author SHA1 Message Date
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
Dylan Araps 7f537f7d31
kiss: document hooks. See #234
Information can be retrieved with something like this.

grep -o '\(type\|arg[0-9]\|PWD\): .*' kiss
2021-07-14 23:59:22 +03:00
Dylan Araps 7213bfc88c
kiss: export more variables. See #235 2021-07-14 23:46:43 +03:00
Dylan Araps 679d145434
kiss: only split version once per package 2021-07-14 23:39:44 +03:00
Dylan Araps aa0c62fe4a
kiss: remove unneeded argument given to update hooks
- PWD in hooks is same value anyway.

See #234
2021-07-14 21:40:40 +03:00
Dylan Araps a024ef4663
kiss: simplify run_hook. Remove hardcoded argument count 2021-07-14 21:20:13 +03:00
Dylan Araps cd242f6d23
kiss: add pre/post-update hooks. See #234 2021-07-14 21:13:53 +03:00
Dylan Araps 4ebbfc094f
kiss: make KISS_HOOK generic again, also skip empty tokens. Closes #229 2021-07-14 20:25:33 +03:00
Dylan Araps 509d911236
misc: typo 2021-07-14 20:13:30 +03:00
Dylan Araps cee9184832
misc: typo 2021-07-14 20:06:41 +03:00
Dylan Araps 1520854f89
kiss: fix comment 2021-07-14 19:57:00 +03:00
Dylan Araps 7d256b203c
kiss: support a system-wide hook directory with easy use.
Hooks installed to /var/db/kiss/hooks can be accessed via their
basename. Usage is as follows.

$ ls -1 /var/db/kiss/hooks
no-docs
shell-on-exit

$ export KISS_HOOK=no-docs:shell-on-exit:/home/dylan/bin/kiss_hook

See #229
2021-07-14 18:47:01 +03:00
Dylan Araps 7fc6929516
kiss: KISS_HOOK support multiple files
See #229
2021-07-14 18:40:37 +03:00
Dylan Araps d296b90b75
kiss: support variables in sources files.
This adds support for replacement of simple markers with
corresponding values. To handle cases where a replacement
is not 1:1, various transformations are made available.

- VERSION : The full version string (first field in version file).
- MAJOR   : First component separated by '.'.
- MINOR   : Second component separated by '.'.
- PATCH   : Third component separated by '.'.
- IDENT   : All remaining components separated by '.+-'.
- PKG     : The name of the current package.

NOTE: This may be reverted. Depends on how good the benefits
are. Will do an evaluation of the repositories.
2021-07-14 17:08:58 +03:00
Dylan Araps 6543f3c769
kiss: fix linter 2021-07-14 14:13:27 +03:00
Dylan Araps d765dbd043
kiss: do not source KISS_HOOK
This file can now be written in any language. The only requirement
now is that it be executable. The variable originally exported in
the environment are passed as command-line arguments to KISS_HOOK.

We can now expand on the information we want to explicitly pass on
to hooks via arguments or the environment. Let me know what
information you would like exposed.
2021-07-14 13:41:22 +03:00
Dylan Araps 38722107c6
kiss: remove unneeded shellcheck directive 2021-07-14 13:13:18 +03:00
Dylan Araps a1377fd282
kiss: fix environment change, old code was.. 2021-07-14 13:11:26 +03:00
Dylan Araps 61b5972ebb
kiss: give build scripts some environment variables
- Defines DESTDIR so you no longer need to export it yourself.
- Defines CC and CXX so all builds will now work with other
  compilers if gcc/g++ are the default when unset.
- Defines KISS_ROOT with the sanitized version used by the package
  manager. It can now be safely joined with other paths.
  ("$KISS_ROOT/path/to/file")
2021-07-14 13:05:21 +03:00
Dylan Araps b5308cd471
kiss: fix linter 2021-07-14 11:46:43 +03:00
Dylan Araps 463ac854d7
kiss: ensure exit on first error during install 2021-07-14 11:42:25 +03:00
Dylan Araps 7e2a79a7fa
kiss: ensure move only occurs when copy fails 2021-07-14 11:33:51 +03:00
Dylan Araps e671914090
misc: whitespace 2021-07-14 11:32:57 +03:00
Dylan Araps 51a101f96e
kiss: move tests to if block 2021-07-14 11:12:36 +03:00
Dylan Araps b5fba97ec8
kiss: fix errors with circular symbolic links.
Fixes #232
2021-07-14 10:33:45 +03:00
Dylan Araps 3ab8b4bb2c
kiss: simplify pkg_install_files 2021-07-14 10:22:28 +03:00
Dylan Araps 759e4fb868
pkg_find: use case 2021-07-14 10:04:18 +03:00
Dylan Araps c2e5a03af8
kiss: ensure return on error 2021-07-14 07:28:01 +03:00
Dylan Araps 103ac9fc69
kiss: fix syntax error 2021-07-13 23:48:03 +03:00
Dylan Araps 9fe129bef7
misc: nit 2021-07-13 23:16:21 +03:00
Dylan Araps 44c39789f7
kiss: simplify pkg_install_files further 2021-07-13 23:01:24 +03:00