Dylan Araps
6415605174
kiss: Fix error messages
2020-05-07 14:46:50 +03:00
Dylan Araps
69a4a5d255
kiss: bump version
2020-05-07 14:42:52 +03:00
Dylan Araps
c72a6c34db
kiss: Fix openssl sha256sum fallback
2020-05-07 14:42:27 +03:00
Dylan Araps
8a51e76de9
kiss: Fix /etc/ handling bug.
...
The shell implementations of readlink and sha256sum were being
used always (instead of as a fallback). This commit ensures that
the real utilities are used where possible.
This also means that there is a bug in the openssl fallback of
sha256sum which will be fixed in the following commit.
2020-05-07 14:39:44 +03:00
Dylan Araps
7df8acc0f1
kiss: Faster conflict resolution.
2020-05-06 22:31:54 +03:00
Dylan Araps
e0a44771de
kiss: bump version
2020-05-06 00:51:18 +03:00
Dylan Araps
1c31b264df
kiss: support uncompressed tar archives
2020-05-06 00:48:11 +03:00
Dylan Araps
1933a19e10
kiss: Drop tar's p flag as it's not needed.
2020-05-05 23:08:14 +03:00
Dylan Araps
f10cdb1938
kiss: readlink(), run in subshell
2020-05-02 10:00:59 +03:00
Dylan Araps
881c6114b9
docs: update
2020-05-01 23:44:19 +03:00
Dylan Araps
1712618765
kiss: Remove trailing white-space
2020-05-01 19:26:36 +03:00
Dylan Araps
3cbcab11f3
kiss: Portable shasums
2020-05-01 09:47:01 +03:00
Dylan Araps
99025df126
kiss: Swap back to sha256sum
2020-04-30 19:57:38 +03:00
Dylan Araps
8d2f470295
kiss: Various portability fixes.
...
- Added POSIX shell implementation of the 'readlink' utility for
use _only_ when the 'readlink' utility is not available.
- Made tar usage more portable. All that is left now is the removal
of --strip-components 1 for full (presumed) portability.
- Swapped from sha256sum to shasum as it's more portable. This is
still not a full solution.
Here's a checklist of where we currently are:
POSIX Core utilities (depends coreutils)
- [x] sh (POSIX)
- [x] find (POSIX) -type f, -type d, -exec {} [+;], -o, -print, !
- [x] ls (POSIX) -l, -d
- [x] sed (POSIX) -n, s/<search>/<replace>/g, /<delete>/d
- [x] grep (POSIX) -l, -F, -x, -f, -q, -v
- [x] sort (POSIX) -r, -u, -k
- [x] tee (POSIX)
- [x] date (POSIX)
- [x] mkdir (POSIX) -p
- [x] rm (POSIX) -f, -r
- [x] rmdir (POSIX)
- [x] cp (POSIX) -f, -P, -p, -L, -R
- [x] mv (POSIX) -f
- [x] chown (POSIX) -h
- [x] diff (POSIX) -U
BSD utilities
- [x] install (BSD, not POSIX) (still portable) -o, -g, -m, -d
Misc
- [x] readlink (NOT POSIX) (fallback shell implementation)
- [x] su* (sudo, doas, su) (in order, optional)
- [x] git (downloads from git) (must link to curl)
Compiler/libc utilities (depends cc & libc)
- [x] readelf (Part of compiler toolchain) (GNU, LLVM or elfutils)
- [x] strip (Part of compiler toolchain) (GNU, LLVM or elfutils)
- [x] ldd (Part of libc)
Tarball compression
- [ ] tar (must have --strip-components) (busybox, GNU, libarchive))
- [x] bzip2 (widely used) -d, -z
- [x] xz (widely used) -d, -z, -c, -T
- [x] gzip (widely used) -d, -6
- [x] zstd (optional) -d, -z, -c
- [x] unzip (optional)
- [ ] shasum (checksums) (NO standard. Portable across Linux/BSD)
2020-04-30 19:38:37 +03:00
Dylan Araps
3e4e38d002
kiss: Swap to more portable shasum generation
2020-04-30 17:17:41 +03:00
Dylan Araps
62ee15db43
kiss: Use diff instead of cmp
2020-04-30 16:59:25 +03:00
Dylan Araps
400bc8e83e
kiss: Add message for checksums
2020-04-29 16:22:57 +03:00
Dylan Araps
1ad4076c0d
docs: update
2020-04-29 10:12:55 +03:00
Dylan Araps
23c0278f5b
kiss: Use mak_dir to store the file
2020-04-29 10:12:09 +03:00
dylan
5f00b925c8
Merge pull request #141 from E5ten/posix-sed
...
kiss: replace sed -i with redirection to a temp file
2020-04-29 10:05:16 +03:00
Dylan Araps
79f6f30e8b
kiss: Use war() for other warnings
2020-04-28 18:40:59 +03:00
Dylan Araps
888e9e06d5
kiss: Add print function for warnings
2020-04-28 18:36:53 +03:00
Dylan Araps
1a89e0b0a2
kiss: warn if package only exists in /var/db/kiss/installed
2020-04-28 18:30:57 +03:00
Ethan Sommer
be793fb1f7
kiss: replace sed -i with redirection to a temp file
2020-04-28 02:18:36 -04:00
Dylan Araps
d46bbf517d
kiss: swap to rm instead of unlink
2020-04-28 08:39:59 +03:00
Dylan Araps
d0100b03a1
kiss: Swap to ls -l instead of stat
2020-04-28 07:43:54 +03:00
Dylan Araps
278c222902
kiss: Swap to ls -l for user name
2020-04-28 06:26:36 +03:00
Dylan Araps
4e196bb09c
kiss: Fix directory permissions
2020-04-26 11:00:28 +03:00
Dylan Araps
adc4c99a19
kiss: Add back die
2020-04-26 09:29:48 +03:00
dylan
d7e251ef02
Merge branch 'master' into kiss-fix-cd
2020-04-26 09:06:41 +03:00
Cliford Sab
7b6ed9bafd
kiss: Use suggested primary
2020-04-26 10:38:16 +08:00
Cliford Sab
7e3f208199
kiss: Actually hide an error + whitespace cleanup
2020-04-26 10:31:09 +08:00
Dylan Araps
d4a82ec0f1
docs: update
2020-04-25 14:03:51 +03:00
Dylan Araps
6bc7deb64b
kiss: Add support for KISS_ROOT to install
2020-04-25 14:03:34 +03:00
Dylan Araps
da605670e0
kiss: look in /
2020-04-25 14:01:05 +03:00
Dylan Araps
1b30642474
kiss: Add case for symlinks which would overwrite a dir
2020-04-25 13:58:51 +03:00
Dylan Araps
83b097bef8
docs: update
2020-04-25 09:56:01 +03:00
Dylan Araps
56a63c4742
Merge branch 'master' of github.com:kisslinux/kiss
2020-04-25 09:01:25 +03:00
Dylan Araps
d66ba59b01
kiss: Silent stripping once again
2020-04-25 08:59:44 +03:00
Cliford Sab
f059e16494
kiss: Cleanup
2020-04-24 16:41:32 +08:00
Dylan Araps
e924bb2ec2
kiss: More portable cp flags
2020-04-22 20:08:47 +03:00
Dylan Araps
132ce20099
kiss: Use pkg_manifest to properly update manifest files
2020-04-22 20:03:39 +03:00
Dylan Araps
40d57d4948
kiss: Clean up install
2020-04-22 19:35:17 +03:00
Dylan Araps
8a4c642d4b
kiss: Use install for installation
2020-04-22 19:29:55 +03:00
Dylan Araps
6ce01392bd
kiss: Use sort to reverse the manifest
2020-04-22 17:51:42 +03:00
Dylan Araps
6f31468c94
kiss: Fix symlink permissions bug
2020-04-22 17:47:13 +03:00
Dylan Araps
16097a5b98
kiss: oops
2020-04-22 17:42:57 +03:00
Dylan Araps
f2f2f643f2
kiss: Fix broken symlink handling (runit stuff)
2020-04-22 17:32:08 +03:00
Dylan Araps
285b271dee
kiss: ensure that the owner actually exists
2020-04-22 15:02:28 +03:00
dylan
93ea92ee8e
Merge pull request #136 from kisslinux/no_rsync
...
kiss: Drop rsync
2020-04-22 14:13:02 +03:00
Dylan Araps
b271605467
kiss: Add KISS_FORCE to bypass manifest checks. Fix bug in manifest checker
2020-04-22 14:00:40 +03:00
Dylan Araps
57e27f73cc
kiss: Set permissions for all non dirs
2020-04-22 13:50:02 +03:00
Dylan Araps
c542169997
kiss: Add install output
2020-04-22 09:37:46 +03:00
Dylan Araps
33cdc64803
kiss: Add comments to new install function
2020-04-22 09:23:19 +03:00
Dylan Araps
6e3064d0f8
kiss: Remove func subshell use
2020-04-22 09:18:12 +03:00
Dylan Araps
c8029d6a71
kiss: Move new install method to function
2020-04-22 09:06:43 +03:00
Dylan Araps
8a49cd6911
kiss: Skip /etc/
2020-04-22 08:48:16 +03:00
Dylan Araps
776c3f5590
kiss: Drop rsync
2020-04-22 08:41:59 +03:00
Dylan Araps
80f50ca20b
kiss: Abort install if file missing in manifest
2020-04-22 07:45:58 +03:00
Dylan Araps
e67bb8e6b8
kiss: Fix shellcheck
2020-04-21 13:05:28 +03:00
Dylan Araps
9ace6a1b83
kiss: Fix IFS fix
2020-04-20 12:14:25 +03:00
Dylan Araps
c13a48dec2
kiss: minor fixes
2020-04-20 11:07:48 +03:00
Dylan Araps
27e1a65b2b
kiss: Add back LANG=C
2020-04-20 09:56:20 +03:00
Dylan Araps
dc9f40b517
kiss: Fix dumb test
2020-04-20 09:29:53 +03:00
Dylan Araps
fa86269ae5
kiss: Drop LANG=
2020-04-20 09:28:27 +03:00
Dylan Araps
b80df1a12e
kiss: Drop old_ifs
2020-04-20 09:27:57 +03:00
Dylan Araps
1d15a04fe1
docs: update
2020-04-20 09:05:19 +03:00
Dylan Araps
26599066ce
kiss: Smaller ternary
2020-04-20 08:59:13 +03:00
Dylan Araps
0e367daf53
kiss: Case remove UB
2020-04-20 08:58:25 +03:00
Cem Keylan
866860eac7
kiss: use '-x' and '-d' flags in pkg_find instead of '-e'
...
'-e' flag applies to everything that exists, which is not ideal.
This can, for example, also show README files on personal repositories.
Since our target is user-scripts and package directories, checking
if the target is executable is the best overall solutions as most
directories are also marked executable. This change makes sure we
get what we want while keeping other files out of pkg_find.
Signed-off-by: Dylan Araps <dylan.araps@gmail.com>
2020-04-20 08:55:12 +03:00
Cem Keylan
df6c55e439
Reset arguments on 'kiss help' function
...
This removes the previous arguments when calling kiss help so that
they are not listed as extensions. This is not a big issue, but
someone can type
kiss help please
and 'please' would be shown as an available extension.
Signed-off-by: Dylan Araps <dylan.araps@gmail.com>
2020-04-20 08:54:46 +03:00
Dylan Araps
772f6beae3
docs: update
2020-04-19 16:51:30 +03:00
Dylan Araps
3b73381613
kiss: Swap back to prior search behavior
2020-04-19 16:51:01 +03:00
Cem Keylan
65d2d45a8c
kiss: fix checksum mistake when checksums file doesn't exist.
...
If the checksums file doesn't exist on the package directory, kiss
used as_root regardless of permissions. This checks whether the directory
is writable instead of the checksums file, which should provide proper
permissions.
This patch ignores if the directory has weird permissions. If the
directory is writable but the checksums file isn't, kiss will exit
with error. This ignorance is intentional as ideally a package dir
should have identical permissions.
Signed-off-by: Dylan Araps <dylan.araps@gmail.com>
2020-04-19 15:00:19 +03:00
Dylan Araps
ad79c6ea7e
kiss: Fix comment
2020-04-19 09:29:26 +03:00
dylan
7c7aa83710
Merge pull request #135 from clifordsab/kiss-fix-diff
...
kiss: pkg_fixdeps(): Make diff work across diff-erent implementations
2020-04-18 15:51:25 +03:00
Cliford Sab
36568ec045
kiss: pkg_fixdeps(): More portable diff
2020-04-18 17:57:30 +08:00
Dylan Araps
bcbdd99e5c
kiss: Allow partial matches for extensions.
...
It is now possible to do 'kiss f' instead of 'kiss fork' to give
a simple example. In the case where there is a conflict in single
lettering, the first match will be used.
This extends to 'kiss fo', 'kiss for' and so on.
2020-04-18 12:48:48 +03:00
Dylan Araps
6786d2ca0a
kiss: Unify usage outputs for all contrib scripts.
...
Seeing as how these utilities are now better integrated,
more effort should go into the overall interface between
what should be the "benchmark" or example kiss scripts.
2020-04-18 12:11:56 +03:00
Dylan Araps
fdf2775640
kiss: Integrate with user scripts.
...
kiss' help output will now include all executables found in $PATH
which begin with kiss-*. A comment string is optionally usable via
setting the second line of the script to a string.
Example:
...
This also means that 'kiss <script name>' is also possible now.
If I have a script in my $PATH called kiss-depends, I can now use
it via kiss with 'kiss depends'.
2020-04-18 11:39:37 +03:00
Dylan Araps
afda171053
kiss: Supress error in pkg_install() as we have our own
2020-04-18 10:26:29 +03:00
Dylan Araps
75c9785d39
kiss: Rationale for installation process.
...
People seem to have the odd belief that little to no thought has
gone into the installation process of the package manager. The
reality is of course the opposite.
This commit adds comments to the pkg_install() function hopefully
giving insight into _why_ it works as it does.
Additional rationale for rsync is that it allowed us to drop
fakeroot from the repositories and package system entirely.
2020-04-18 10:21:33 +03:00
Dylan Araps
8fef13c48b
kiss: Squish build to match its size.
2020-04-18 09:56:21 +03:00
Dylan Araps
764c21426f
kiss: Make 'kiss s' usage saner for scripting.
...
Changes 'kiss s' to only show the first match if run from a
subshell. Here's a simple example:
-> kiss s zlib
/home/dylan/projects/repo/core/zlib
/var/db/kiss/installed/zlib
-> echo $(kiss s zlib)
/home/dylan/projects/repo/core/zlib
->
2020-04-18 09:54:05 +03:00
Dylan Araps
21caebdfc5
kiss: Hide read error message as we have our own
2020-04-18 09:39:34 +03:00
Dylan Araps
1c059e8139
kiss: Elevate permissions if needed during checksum generation.
...
This simply modifies as_root() to allow running commands as any
given user and generates checksums according to the owner of the
checksums file and the current user's write permissions.
2020-04-18 09:35:38 +03:00
Dylan Araps
4e7184e20c
kiss: fixdeps(), remove depends file if empty
2020-04-16 08:31:26 +03:00
Dylan Araps
bb9293c629
kiss: Fix shellcheck
2020-04-15 16:13:33 +03:00
Cem Keylan
a0f0b8b5ad
kiss: fix possible KISS_ROOT usage
...
If the user defines KISS_ROOT to / or anything that ends
with '/', some functions will not work as intended (like fixdeps).
This removes the '/' at the very end, if it exists.
Signed-off-by: Dylan Araps <dylan.araps@gmail.com>
2020-04-15 16:08:20 +03:00
Dylan Araps
a6b79b79da
kiss: Ignore llvm in fixdeps. (May revert)
2020-04-15 10:38:18 +03:00
Dylan Araps
6ce63764cb
kiss: bump version
2020-04-15 12:02:12 +03:00
Dylan Araps
f9c0533280
kiss: Fix fixdeps() bugs. Closes #132
2020-04-15 11:58:01 +03:00
Dylan Araps
acb9398f62
kiss: Support CRUX-like usage
2020-04-15 08:39:03 +00:00
Dylan Araps
f11b6e39b6
kiss: zip source support. Closes #133
2020-04-14 14:52:39 +00:00
Dylan Araps
12f717265c
kiss: Fix removal bug. Closes #131
2020-04-14 14:48:36 +00:00
Dylan Araps
2f545dda68
kiss: Fix KISS_ROOT bug. Closes #130
2020-04-14 14:44:05 +00:00
Dylan Araps
041d8906c7
docs: update
2020-03-30 10:54:44 +03:00
Dylan Araps
9186e2105d
kiss: Follow symlinks when detecting dependencies
2020-03-30 10:53:56 +03:00
Dylan Araps
55c2de2af8
kiss: Fix update bug
2020-03-29 10:08:08 +03:00
Dylan Araps
f1d1ba204c
docs: update
2020-03-28 10:15:32 +02:00