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
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
Dylan Araps
7481a9dca0
kiss: simplify pkg_install_files
...
Permissions are already preserved.
2021-07-13 22:52:42 +03:00
Dylan Araps
a5be67afa7
kiss: installation fixes
...
- No longer keep going on error.
- Fixed updates crashings software/systems.
Closes #226
2021-07-13 20:44:32 +03:00
Dylan Araps
f8078d884a
kiss: Inform the user of any repository orphans.
...
During updates the package manager will now tell you if a package
has been dropped from repositories - ie, the only place the package
exists is in /var/db/kiss/installed.
2021-07-13 10:29:21 +03:00
Dylan Araps
c2fbc4193f
misc: rename updates -> update
2021-07-12 12:44:27 +03:00
Dylan Araps
96030c4917
kiss: default to openssl for sha256sums
...
This brings a nice little performance increase.
The time required to checksum Firefox's sources
is more than halved on my machine.
2021-07-12 11:44:30 +03:00
Dylan Araps
acc1a22475
kiss: fix installation errors. Closes #228
2021-07-12 10:53:15 +03:00
Dylan Araps
ef2aff7ce9
kiss: fix tbz sources. Closes #227
2021-07-12 03:57:48 +03:00
Dylan Araps
d3adf7d773
kiss: fix installation of files causing processes to die.
...
This modifies pkg_install_files() to do atomic mv on each of the
files. This prevents processes from crashing when the underlying
shared library changes (but the inode stays the same).
Closes #226
2021-07-12 01:05:24 +03:00
Dylan Araps
4149fc0530
kiss: 5.4.11
2021-07-11 15:40:35 +03:00
Dylan Araps
ea59543996
kiss: Fix dependency detector issue with glibc. See #225
2021-07-11 15:33:59 +03:00
Dylan Araps
918a75f43d
kiss: Fix dependency detector issues with glibc. Closes #225
2021-07-11 15:23:57 +03:00
Dylan Araps
60ad9cfafc
kiss: Fix dependency detector issue with glibc
2021-07-11 15:05:27 +03:00