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
Dylan Araps
66c6bfcfae
kiss: move mkdir/cd to mkcd, fix bug with sources and mkdir
2021-07-11 11:26:28 +03:00
Dylan Araps
8c2591f6b4
kiss: fix bug with source printing
2021-07-11 11:14:01 +03:00
Dylan Araps
69fc1e15ec
kiss: fix bug when log file cannot be written
2021-07-11 00:35:50 +03:00
Dylan Araps
5fab95f7c6
kiss: silence read error
2021-07-11 00:27:32 +03:00
Dylan Araps
0de9322eb2
kiss 5.4.10
2021-07-08 17:46:43 +03:00
Dylan Araps
c2216a3388
kiss: skip already seen directories during tar hack
...
Fixed bug where fcft/fcft becomes fcft.
Also improves performance.
2021-07-08 15:12:43 +03:00
Dylan Araps
6db1ac3bd0
kiss; 5.4.9
2021-07-08 14:08:21 +03:00
Dylan Araps
abeaf4a7a7
kiss: initial steps to fixing kiss r arg handling
2021-07-08 13:54:37 +03:00
Dylan Araps
91b39a0f97
kiss: remove reverse ordering for kiss r (needs to be replaced)
2021-07-08 13:04:28 +03:00
Dylan Araps
3e08cf1ff2
kiss: set KISS_COMPRESS once
2021-07-08 11:15:31 +03:00
Dylan Araps
40fd458c8f
kiss: use KISS_COMPRESS when getting tarballs from cache
2021-07-08 11:10:45 +03:00
Dylan Araps
7d22d91611
kiss: don't show it twice
2021-07-07 23:10:07 +03:00
Dylan Araps
429b8011e0
kiss: show tarball name
2021-07-07 23:07:47 +03:00
Dylan Araps
1a0943a84f
kiss: 5.4.8
2021-07-07 12:44:18 +03:00
Dylan Araps
cd27776fd8
kiss: nit
2021-07-07 11:45:21 +03:00
Dylan Araps
a2cb46d126
kiss: remove unneeded pkg_find
2021-07-07 11:16:25 +03:00
Dylan Araps
855bda4497
kiss: only sort manifest once during install
2021-07-07 10:34:05 +03:00
Dylan Araps
001ce0396f
kiss: improve install performance slightly
2021-07-07 10:30:43 +03:00
Dylan Araps
9d34420bee
kiss: check for directory first
2021-07-07 10:17:19 +03:00
Dylan Araps
9becb3b9a1
kiss: use case
2021-07-07 10:11:23 +03:00
Dylan Araps
d6db894cbc
kiss: expose build queue to hooks
...
_build_cur holds current package number.
_build_tot holds the total number of packages.
Closes #222
2021-07-07 10:12:33 +03:00
Dylan Araps
2008f7478e
kiss: fix bugs
...
- Fixed ldd mode not working.
- Fixed too strict argument validation (need to use IFS).
2021-07-06 22:45:50 +03:00
Dylan Araps
018c362a5f
kiss: add run_hook_pkg and pre-remove user hook
2021-07-06 22:23:27 +03:00
Dylan Araps
4931d9762c
misc: nit
2021-07-06 22:16:39 +03:00
Dylan Araps
7f02d9bcad
kiss: remove post-install logging
...
I want to redo this in a less awful way.
2021-07-06 22:16:00 +03:00
Dylan Araps
422262d629
kiss: make pre-remove errors fatal
2021-07-06 22:14:57 +03:00
Dylan Araps
825e0305bf
kiss: ensure input tarball contains @
2021-07-06 22:10:23 +03:00
Dylan Araps
5f93bfef55
kiss: rewrite install input
2021-07-06 22:07:12 +03:00
Dylan Araps
0c51261486
kiss: fix globs
2021-07-06 22:00:43 +03:00
Dylan Araps
837148bc9b
kiss: don't lint tarballs
2021-07-06 21:55:48 +03:00
Dylan Araps
3ac3fdcbf8
kiss: use pkg_order for crux-like usage
2021-07-06 21:49:44 +03:00
Dylan Araps
c716a4b996
kiss: nit
2021-07-06 21:41:30 +03:00
Dylan Araps
caff0ef981
kiss: arg clean up
2021-07-06 21:35:37 +03:00
Dylan Araps
47d057a52c
kiss: move build code to separate function
2021-07-06 21:25:56 +03:00
Dylan Araps
af19cd7d6d
kiss: rename pkg_build to pkg_build_all
2021-07-06 21:14:51 +03:00
Dylan Araps
08199f6977
kiss: lint all arguments early. lint all dependencies during pkg_depends
2021-07-06 21:12:19 +03:00