Commit Graph

1071 Commits

Author SHA1 Message Date
Dylan Araps c154233aa4
kiss: clean up pkg_conflicts() 2020-05-22 12:53:40 +03:00
Dylan Araps a747565ef4
kiss: Clean up fixdeps() 2020-05-22 12:40:09 +03:00
Dylan Araps 87cc8c726e Merge branch 'master' of github.com:kisslinux/kiss 2020-05-22 12:11:50 +03:00
Dylan Araps 99f4c99d78
kiss: Strip some extra sections from binaries 2020-05-22 12:11:38 +03:00
Ethan Sommer 79ae82bd30 kiss: remove non-POSIX printf * field width specifier
POSIX doesn't specify %*s for the printf command, with the rationale
that one can just put the variable there in place, do that.
2020-05-21 20:07:25 -04:00
Dylan Araps a02ad08ba0
kiss: Revert strip change. 2020-05-21 18:06:32 +03:00
Dylan Araps 7ec23086af
kiss: Hide strip errors once again. 2020-05-21 17:36:33 +03:00
Dylan Araps 11707b7ff4
kiss: Fix minor issue. Also test bare strip 2020-05-21 17:34:35 +03:00
Dylan Araps ddf11917f3
kiss: minor cleanups 2020-05-21 17:28:33 +03:00
Dylan Araps 1a38d4f64f
kiss: clean up 2020-05-21 11:47:13 +03:00
Dylan Araps 4fe69427b7
kiss: Clean up temp files 2020-05-21 11:42:33 +03:00
Dylan Araps 8558099bb3
kiss: Clean up 2020-05-21 11:32:32 +03:00
Dylan Araps 0c9d1b7c3b
kiss: Silently skip fixdeps() if dependencies not available 2020-05-21 11:11:10 +03:00
Dylan Araps 228e52f1ca
kiss: Silently skip stripping if dependencies aren't available. 2020-05-21 11:09:31 +03:00
Dylan Araps eaa4f3410c
kiss: clean up 2020-05-21 11:04:48 +03:00
Dylan Araps f6e47939d0
kiss: clean up 2020-05-21 11:03:13 +03:00
Dylan Araps f4d061b22d
kiss: Remove duplicate removal code 2020-05-21 10:55:29 +03:00
Dylan Araps 8a6a6a6ba8
kiss: Wrap comments longer 2020-05-21 10:38:07 +03:00
Dylan Araps d99fc72ec1
kiss: Solaris sha256 checksum support 2020-05-19 23:27:09 +03:00
Dylan Araps 622f3617a8
kiss: Added submodule support to repositories. 2020-05-19 13:22:53 +03:00
Dylan Araps 278de80b25
kiss: Fix KISS_COLOR support for help output 2020-05-19 12:55:10 +03:00
Dylan Araps f154c427e4
kiss: Simplify argument parsing for remove/install 2020-05-19 12:47:27 +03:00
Dylan Araps b1d54112dd
kiss: Simplify removal arg stuff 2020-05-19 12:38:54 +03:00
Dylan Araps f5c2777787
kiss: Big cleanup of as_root() usage.
1. The same as_root() function is used for all elevation now. The
   environment can be fully controlled when calling the function.

2. Removal of mixed tabs/spaces due to heredoc fuckery thanks to
   'set -- $(cmd)'.

3. Moved file owner code to a function and added safety measure
   against non-existent UIDs.

4. Fixed bugs when generating checksums via as_root(). Permissions
   are now checked on a file basis instead of a directory one.
2020-05-19 12:28:08 +03:00
Dylan Araps 724d393bb1
kiss: minor changes 2020-05-19 10:37:30 +03:00
Dylan Araps 0abc6be41d
kiss: Drop _tar() portability function. Thanks everyone. 2020-05-18 22:55:57 +03:00
Dylan Araps d4e6e14324
kiss: Move error supression to where the error is 2020-05-18 12:03:19 +03:00
Dylan Araps 9aa8687a98
docs: update 2020-05-18 11:45:15 +03:00
Dylan Araps f41a014104
kiss: CRUX style usage fixes 2020-05-18 11:44:24 +03:00
Dylan Araps d224ccad0a
docs: update 2020-05-18 10:43:09 +03:00
Dylan Araps c55374a52b
as_root(): Strict environment.
Running a portion of the script as root will now use a stricter
environment. The root user will only inherit a small and fixed
white-list of environment variables.

- HOME/XDG_CACHE_HOME
  - To make use of the non-root user's package
    cache for the purposes of installation.

- KISS_PATH
  - To make use of the non-root user's set repositories
    during installation.

- KISS_FORCE
  - To carry over KISS_FORCE if passed as non-root.

The 'sudo' and 'su' commands were also changed to run as
"login shells". This allows environment variables to be set
solely for the root account (KISS_HOOK, etc) via '.profile' or
etc. As for 'doas', this has to happen via doas.conf.
2020-05-18 10:29:25 +03:00
Dylan Araps e711f76296
kiss: Don't run user hook as root when sudo/doas are set to keep environment. Closes #157 2020-05-18 09:08:04 +03:00
Dylan Araps 61804b81e8
kiss: bump version 2020-05-17 10:16:24 +03:00
Dylan Araps 6fc4f9ef78
kiss: bump version 2020-05-17 10:10:56 +03:00
Dylan Araps 99f007c24f
kiss: Don't hardcode path to charset.alias 2020-05-17 09:26:00 +03:00
Dylan Araps 33b8ef33bb
docs: update 2020-05-16 19:00:44 +03:00
Dylan Araps d98d3a02a8
kiss: minor cleanup of etcsums 2020-05-16 15:20:53 +03:00
Dylan Araps cc0ab4d072
kiss: drop esc() 2020-05-16 09:49:05 +03:00
Dylan Araps d0a45c4437
kiss: Drop pop() 2020-05-16 09:36:07 +03:00
Dylan Araps a08b796f79
kiss: Minor clean up 2020-05-16 09:26:34 +03:00
Dylan Araps 507143ad21
docs: update 2020-05-16 08:18:28 +03:00
Dylan Araps 510a7c1cdb
kiss: Minor clean up 2020-05-16 08:10:37 +03:00
Dylan Araps c666d415ba
kiss: drop unneeded check 2020-05-16 07:57:49 +03:00
Dylan Araps 9433fcd7c3
kiss: clean up 2020-05-15 10:49:42 +03:00
Dylan Araps 7b4e0439da
kiss: minor change 2020-05-15 10:37:57 +03:00
Dylan Araps 28afd9d7c5
kiss: No longer automatically pick a grep 2020-05-14 17:34:27 +03:00
Dylan Araps de87f5b164
kiss: Minor fixes from illiliti 2020-05-14 17:17:48 +03:00
Dylan Araps d73cb5b463
docs: update 2020-05-14 10:20:01 +03:00
Dylan Araps 1a8a43ec62
kiss: POSIX find usage. Closes #154 2020-05-14 10:18:51 +03:00
Dylan Araps 1c6dd610e4
docs: update 2020-05-13 17:48:37 +03:00
Dylan Araps 8d6e4b4ce7
kiss: Print log() messages to stderr 2020-05-13 17:44:50 +03:00
Dylan Araps 6f4bb626a5
docs: update 2020-05-13 14:11:47 +03:00
Dylan Araps 6620f5c674
kiss: Better tar compatibility 2020-05-13 14:10:28 +03:00
Dylan Araps 985068abe7
docs: update 2020-05-13 10:40:58 +03:00
Dylan Araps 9052d5cc3b
sha: Simplify function 2020-05-13 10:28:16 +03:00
Dylan Araps b2b55e5cdb
sha: Fix issue with specific implementation and '*' 2020-05-13 10:09:55 +03:00
Dylan Araps 87c4f2afc1
kiss: Drop $tar 2020-05-13 09:45:40 +03:00
Dylan Araps 68cbb2b68d
kiss: Provide a default post-build hook 2020-05-12 13:02:40 +03:00
Dylan Araps f095e9fb98
kiss: Added KISS_TMPDIR 2020-05-12 12:37:40 +03:00
Dylan Araps f5d0fe0a5f
kiss: Added KISS_COLOR to control color output 2020-05-12 12:03:13 +03:00
Dylan Araps dd825b0a14
kiss: Added ability to disable prompts 2020-05-12 11:49:27 +03:00
Dylan Araps 66cea7ce2c
docs: update 2020-05-12 11:46:14 +03:00
Dylan Araps 4cc633bc57
docs: update 2020-05-12 11:44:57 +03:00
Dylan Araps 5d370fa33a
docs: update 2020-05-12 11:41:07 +03:00
Dylan Araps d91820834a
kiss: Log and queue post-install messages 2020-05-12 11:37:24 +03:00
Dylan Araps 7c43cceaf1
kiss: Make KISS_ROOT and alternatives work together 2020-05-12 11:13:43 +03:00
Dylan Araps e049f468ec
kiss: Allow full rootless use via KISS_ROOT 2020-05-12 11:02:08 +03:00
Dylan Araps f49e575b64
kiss: Don't hardcode root 2020-05-12 10:51:12 +03:00
Dylan Araps 14b54e0c61
kiss: More KISS_ROOT fixes 2020-05-12 10:50:05 +03:00
Dylan Araps c320af4ebb
kiss: Install fixes when using KISS_ROOT 2020-05-12 10:42:54 +03:00
Dylan Araps 60b279731c
kiss: Use host cache for KISS_ROOT 2020-05-12 10:38:38 +03:00
Dylan Araps 534afc16a6
kiss: minor fixes 2020-05-12 10:36:18 +03:00
Dylan Araps 670ecb5ea9
kiss: Revert recent pkg_clean() changes 2020-05-12 10:08:54 +03:00
Dylan Araps a6da44f5d3
kiss: Ensure deleted directories exist 2020-05-12 10:00:29 +03:00
Dylan Araps 5d731dcec3
kiss: Silently clear cache 2020-05-12 09:27:11 +03:00
Dylan Araps c3725beaad
docs: update 2020-05-12 08:49:11 +03:00
Dylan Araps 16e40cb0fa
kiss: tarball must be full path. Closes #149' 2020-05-12 08:11:11 +03:00
Dylan Araps 970301805c
kiss: sort swap changes 2020-05-11 17:38:24 +03:00
Dylan Araps a73b7278ac
kiss: Tar .txz support 2020-05-11 17:34:57 +03:00
Dylan Araps cc665bf849
kiss: Don't send release to build files 2020-05-11 14:07:08 +03:00
Dylan Araps 2e2eb3c860
kiss: Fix firefox depends on firefox-bin 2020-05-11 10:26:27 +03:00
Dylan Araps df379e835f
kiss: Make package version available to build scripts via $2 2020-05-11 10:17:33 +03:00
Dylan Araps 03c801fd66
kiss: Don't allow invalid characters via PWD 2020-05-11 09:41:37 +03:00
Dylan Araps f42043cdce
kiss: Move shebang options to main() 2020-05-09 21:25:38 +03:00
Dylan Araps 62d038e719
kiss: Drop final install command. Thanks E5ten 2020-05-09 21:20:38 +03:00
Dylan Araps 10477f280f
kiss: Swap from install to mkdir. Thanks E5ten 2020-05-09 21:02:47 +03:00
Dylan Araps f18a4c339d
kiss: Show warning when sources file is missing 2020-05-09 20:49:58 +03:00
Dylan Araps 3e004b193a
kiss: Support packages without sources files 2020-05-09 20:38:25 +03:00
Dylan Araps df05ed582d
kiss: Fix typo 2020-05-09 19:39:27 +03:00
Dylan Araps d4ac10b37b
kiss: Support a bunch of sha256 utilities. 2020-05-09 19:35:57 +03:00
Dylan Araps 29d019a56b
kiss: Drop sha256sum_sh for now 2020-05-09 19:05:23 +03:00
Dylan Araps b415d18b9e
docs: update 2020-05-09 18:21:13 +03:00
Dylan Araps a5d963a644
kiss: Drop readlink 2020-05-09 18:18:52 +03:00
Dylan Araps d33360548d
docs: update 2020-05-09 12:24:15 +03:00
Dylan Araps 08eae0366a
kiss: Make ldd, readelf and strip optional 2020-05-09 12:11:40 +03:00
Dylan Araps 4dd4af5ac0
docs: update 2020-05-09 00:47:39 +03:00
Dylan Araps ca705d8911
kiss: Fix issues with naming conflicts in source extraction 2020-05-09 00:42:39 +03:00
Dylan Araps 5bbc7f9945
kiss: Update portability comment 2020-05-08 22:21:49 +03:00
Dylan Araps 104c54b10a
kiss: Fix typos 2020-05-08 22:19:06 +03:00
Dylan Araps 8cab612d2f
kiss: Fix trailing white-space 2020-05-08 22:15:16 +03:00
Dylan Araps bbb1873f6e
kiss: Full tar portability. Closes #143 2020-05-08 22:12:27 +03:00
Dylan Araps 0c2893b9dc
kiss: Split KISS_PATH/PATH usage 2020-05-08 18:48:16 +03:00
Dylan Araps 4fa90584b5
kiss: bump version 2020-05-08 11:22:02 +03:00
Dylan Araps cffaaa63a0
kiss: Remove forgotten cache file 2020-05-08 11:12:27 +03:00
Dylan Araps c3ead91f81
kiss: bump to 1.13.3 2020-05-07 18:18:34 +03:00
Dylan Araps caeb6a6d08
kiss: lzip support 2020-05-07 18:17:12 +03:00
Dylan Araps 407a6b722b
kiss: lz is lzip, not lzma 2020-05-07 17:25:35 +03:00
Dylan Araps bd28b306a2
kiss: bump to 1.13.2 2020-05-07 17:18:20 +03:00
Dylan Araps 754cb72ec8
kiss: Sort compression methods 2020-05-07 16:25:53 +03:00
Dylan Araps 931b2e13f3
kiss: Added lzma support to sources and tarballs 2020-05-07 16:25:18 +03:00
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
Dylan Araps c57210a71b
kiss: nitpick 2020-03-26 15:00:29 +02:00
Dylan Araps 8210e660a1
kiss: nitpicks 2020-03-26 14:53:03 +02:00
Dylan Araps 759dc1081a
kiss: Minor nitpicks 2020-03-26 12:45:22 +02:00
Dylan Araps be5d87b3ff
kiss: Force C locale 2020-03-26 12:21:57 +02:00
Dylan Araps 1f9ab42fd6
kiss: Clean up pkg_remove 2020-03-26 12:15:05 +02:00
Dylan Araps d3b988300a
kiss: Clean up leftover cache entries 2020-03-26 11:30:30 +02:00
Dylan Araps 0d5499f7b8
kiss: fixdeps clean up 2020-03-25 17:36:13 +02:00
Dylan Araps 4ff149bcd5
kiss: Remove newline 2020-03-25 17:22:06 +02:00
Dylan Araps 0fb84cccec
kiss: Clean up 2020-03-25 17:14:44 +02:00
Dylan Araps 8f111e0fc1
kiss: Clean up 2020-03-25 17:03:06 +02:00
Dylan Araps f1b551db4e
kiss: Minor nitpicks 2020-03-25 13:11:22 +02:00
Dylan Araps 64d0ef3f90
kiss: Minor change 2020-03-25 12:36:55 +02:00
Dylan Araps 09fa052fe2
kiss: Move etc handling to function 2020-03-25 12:21:10 +02:00
Dylan Araps 58b0272574
kiss: Minor changes 2020-03-25 11:59:15 +02:00
Dylan Araps c84472e531
kiss: simplify 2020-03-23 13:04:45 +02:00
Dylan Araps d4d01a5512
kiss: Show context when using fixdeps 2020-03-23 12:45:51 +02:00
Dylan Araps 811808f881
kiss: simplify fixdeps 2020-03-23 12:40:38 +02:00
Dylan Araps 7f22697bdc
kiss: simplify 2020-03-23 12:05:54 +02:00
Dylan Araps 2db59e03db
kiss: simplify 2020-03-23 11:41:32 +02:00
Dylan Araps 44c6050a39
kiss: Simplfy pkg_find usage 2020-03-22 16:32:05 +02:00
Dylan Araps 3990e34dc0
kiss: Squish alternatives list 2020-03-22 16:26:08 +02:00
Dylan Araps a2e36ead63
docs: update 2020-03-22 14:49:06 +02:00
Dylan Araps d01ffde93c
kiss: zstd support 2020-03-22 14:46:38 +02:00
Dylan Araps c570d24086
kiss: clean up 2020-03-21 13:54:48 +02:00
Dylan Araps 625d5f6855
kiss: Drop semi-colons 2020-03-21 13:48:05 +02:00
Dylan Araps c19a20b32c
kiss: lint packages sooner 2020-03-21 13:44:43 +02:00
Dylan Araps beee6c07f2
kiss: Squish some things together 2020-03-21 13:35:43 +02:00
Dylan Araps e9bbe7be3e
kiss: Move error 2020-03-21 13:29:56 +02:00
Dylan Araps 2cf5b74c9b
docs: update 2020-03-17 10:14:56 +02:00
Dylan Araps a2ad91ccb7
kiss: Fix #125 2020-03-17 10:12:43 +02:00
Dylan Araps cb1f16a282
docs: update 2020-03-15 14:26:55 +02:00
Dylan Araps fb319ef3c2
docs: update 2020-03-15 14:25:10 +02:00
Dylan Araps 0b4b4ddcd8
kiss: Tar changes.
- Sped up conflict resolution by removing a tar call.
- More portable tar usage in source extraction.
- The same decompressor detection is now used when
  extracting sources.
2020-03-15 14:15:32 +02:00
Dylan Araps 024cab7fb8
kiss: Keep default compression as gz 2020-03-15 13:04:35 +02:00
Dylan Araps ad9cda2e34
kiss: Configurable and dynamic tarball compression.
This allows you to swap between gzip and xz compression via
the new environment variable ('KISS_COMPRESS'). As of this
commit, new builds will use xz compression (making use of
all cores on the machine).

Other compression methods can easily be added by adding two
simple lines to the script. Your existing package cache will
continue to be used as the package manager will use whatever
tarball is available (for the package and version it is
looking for).
2020-03-15 12:50:49 +02:00
Dylan Araps 1c3ede992e
docs: update 2020-03-13 16:01:19 +02:00
Dylan Araps f590b5bc73
kiss: Revert build change. Needs more thought 2020-03-13 15:18:04 +02:00
Dylan Araps 58f5819af2
kiss: Allow hooks to modify build files 2020-03-13 13:01:13 +02:00
Dylan Araps 52893958d0
kiss: Added post-install hook 2020-03-13 11:37:28 +02:00
Dylan Araps ba59821bb8
docs: update 2020-03-12 17:00:53 +02:00