Commit Graph

983 Commits

Author SHA1 Message Date
Dylan Araps 2c19349a09
kiss: Remove need for external sort of extension list 2020-05-22 14:00:38 +03:00
Dylan Araps e9fbcc6f13
kiss: Simplify listing of extensions 2020-05-22 13:52:22 +03:00
Dylan Araps 368484b24a
kiss: Drop line break 2020-05-22 13:43:27 +03:00
Dylan Araps 9f162fd4d0
kiss: Final clean up of pkg_checksums() 2020-05-22 13:42:30 +03:00
Dylan Araps e7eb498d34
kiss: Remove dead code 2020-05-22 13:41:05 +03:00
Dylan Araps 061d90fc78
kiss: Drop unneeded line 2020-05-22 13:39:31 +03:00
Dylan Araps b5ece9e225
kiss: Further simplify pkg_checksums 2020-05-22 13:39:01 +03:00
Dylan Araps 0ca739aafb
kiss: Simplify pkg_checksums 2020-05-22 13:31:32 +03:00
Dylan Araps 426607b4fc
kiss: Remove pointless comment 2020-05-22 13:19:33 +03:00
Dylan Araps ee8f85495c
kiss: Drop pointless strip change 2020-05-22 13:15:12 +03:00
Dylan Araps 33f9c811c6
kiss: Clean up fixdeps() 2020-05-22 13:13:22 +03:00
Dylan Araps 07cd3613db
kiss: Pass KISS_CHOICE to env 2020-05-22 12:58:55 +03:00
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