Commit Graph

1071 Commits

Author SHA1 Message Date
Dylan Araps 284897af22
kiss: Support relative input to the install action.
This adds support for relative paths when passing tarballs to kiss
directly and removes a prevents a misleading and confusing error
message from appearing (a false 'file not found').
2020-07-24 18:30:53 +03:00
Dylan Araps 528b3023a9
kiss: Don't return from pkg_clean
This fixes an issue where a build failure alongside KISS_DEBUG
having a value of '1' prevented the package manager from aborting.
2020-07-24 17:51:07 +03:00
Dylan Araps b1bd880c07
kiss: Fixes to post-install output. 2020-07-24 02:03:36 +03:00
Dylan Araps c7b32e6531 Merge branch 'master' of github.com:kisslinux/kiss 2020-07-24 01:44:58 +03:00
Dylan Araps 863f79ca38
kiss: Add environment variable to toggle stripping.
This commit adds KISS_STRIP to allow stripping to be controlled at
runtime for all staged packages. This is also handy when temporarily
needing debugging symbols for a given piece of software.

Defaults to '1', set to '0' to disable stripping.

Example:

KISS_STRIP=0 kiss b zlib
2020-07-24 01:42:04 +03:00
muevoid 27bfa92521
Add submodule support to kiss.
Simple pr that adds support for submodules basically adds no time to repos that dont have submodules as far as I can tell.
2020-07-21 04:59:19 +00:00
Dylan Araps 8848d3f1d3
kiss: Fix bug with empty post-install messages.
This never truly worked as the post-install message would always
ensure that file size is '> 0' despite there being nothing to show
the user.

We now store the output to a variable, ensure it isn't empty and
go on our merry way.
2020-07-18 19:42:14 +03:00
Dylan Araps 47190ffc08
kiss: Hide post-install output and only log at the end.
This prevents duplicate output and output which will just zoom
past alongside the endless scroll of software compilation.
2020-07-18 19:31:36 +03:00
Dylan Araps b608d15033
docs: update 2020-07-09 14:43:38 +03:00
Dylan Araps 3607d64300
kiss: bump to 3.1.0 2020-07-08 18:39:18 +03:00
Dylan Araps 9912bb07c0
kiss: Don't set LC_ALL=C to fix qt5 (and potentially others) build errors. 2020-07-08 00:52:23 +03:00
Dylan Araps d808b15c68
docs: update 2020-07-08 00:51:40 +03:00
Dylan Araps 52eb07fe82
kiss: Don't complain about make dependencies during install 2020-06-30 10:14:32 +03:00
Dylan Araps dcb5cd4d4f
kiss: Swap to git pulls for updates 2020-06-28 10:00:46 +03:00
Dylan Araps 2f918ca372 Merge branch 'master' of github.com:kisslinux/kiss 2020-06-25 11:40:35 +03:00
Dylan Araps a1ceb62d89
docs: update 2020-06-25 11:40:06 +03:00
Michael Czigler ce333b5839
kiss: remove unsupported glyph
*** Background

Liberation Mono, which is the "default" font set in the core repo, does not support the "✓" glyph. 

*** Change
Suggested removing unsupported glyph(s).

*** Alternative Solution
Add additional or patched font to support more glyphs or add alternative font set (e.g. Terminus) to main repository for better unicode and glyph support.

*** Source 
https://fonts2u.com/liberation-mono.font
2020-06-24 10:33:52 -04:00
Dylan Araps 67512f756a Merge branch 'master' of github.com:kisslinux/kiss 2020-06-21 18:09:09 +03:00
Dylan Araps c41f7b2e0b
kiss: Remove up to 3 trailing slashes from KISS_ROOT. Closes #165 2020-06-21 18:08:56 +03:00
Kevin Brebanov f7b85cf400 kiss: Don't create empty post-install log file 2020-06-21 10:57:11 -04:00
Dylan Araps bfec038740
docs: update 2020-06-13 00:25:17 +03:00
Dylan Araps 249c5a2c43
kiss-help: New utility 2020-06-13 00:00:58 +03:00
Dylan Araps 9df12bce11
kiss: bump to 3.0.1 2020-06-12 18:22:12 +03:00
Dylan Araps bdfaf95e49
kiss: Minor nitpick 2020-06-12 18:13:18 +03:00
Dylan Araps c6472156d7
kiss: Check that there are conflicts prior to choice creation 2020-06-12 18:12:02 +03:00
Dylan Araps d25fe5841a
kiss: simplify part of pkg_build() 2020-06-11 11:30:11 +03:00
Dylan Araps 177588c713
kiss: Drop special case. Alternatives / Hooks can handle this easily 2020-06-11 11:23:29 +03:00
Dylan Araps 3fdee15f60
kiss: squish loops 2020-06-11 11:17:12 +03:00
Dylan Araps ad8ad409c8
kiss: minor clean up 2020-06-11 11:06:43 +03:00
Dylan Araps aa4cbae5f9
kiss: bump to 3.0.0 2020-06-11 10:55:12 +03:00
Dylan Araps 2cdc994e41
kiss: Further simplify git source handling 2020-06-11 10:34:53 +03:00
Dylan Araps c1bdf283f2
kiss: Add shallow commit cloning 2020-06-11 09:44:32 +03:00
Dylan Araps a39e9d2410
kiss: Clean up as_root() 2020-06-11 08:51:35 +03:00
Dylan Araps b0a460fcf6
kiss: Clean up pkg_install() 2020-06-10 11:23:34 +03:00
Dylan Araps 2ca86ee2c0
kiss: Simplify pkg_depends and pkg_install() dependency checking. 2020-06-10 11:07:58 +03:00
Dylan Araps ae8a48cd30
kiss: Fix spacing 2020-06-10 10:48:48 +03:00
Dylan Araps 4f75bda942
kiss: Simplify pkg_remove_files() 2020-06-10 10:42:13 +03:00
Dylan Araps 04730c9be6
kiss: Clean up checksum generation 2020-06-10 10:38:42 +03:00
Dylan Araps 3733eeacab
kiss: Minor clean up 2020-06-10 10:28:53 +03:00
Dylan Araps 028652c45f
kiss: Fix ordering of help output 2020-06-10 10:18:47 +03:00
Dylan Araps 81170f6cbb
kiss: Added d|download to pre-download package sources. 2020-06-10 10:15:56 +03:00
Dylan Araps 5acaff9bdc
kiss: Use $pid instead of $$ 2020-06-10 09:45:46 +03:00
Dylan Araps ad5532671e
kiss: drop stray space 2020-06-10 06:50:18 +03:00
Dylan Araps 5d92df7a8b
kiss: Simplify package installation 2020-06-10 06:42:23 +03:00
Dylan Araps ba18694b80
docs: update 2020-06-09 10:03:13 +03:00
Dylan Araps 4efddd0410
kiss: Fix pkg_swap failure. Closes #162 2020-06-09 10:02:52 +03:00
Dylan Araps d8beb34aa5
version: bump 2020-06-08 08:08:25 +03:00
Dylan Araps 427dc39a16
kiss: Move all git source support to pkg_extract()
This reduces the overall code size as we no longer do an
"extraction" early in pkg_sources(). Also comes with less
network usage when a source points to a specific commit.
2020-06-06 17:07:10 +03:00
Dylan Araps 90f1057bf1
docs: update 2020-06-06 08:59:12 +03:00
Dylan Araps 556617fcfb
kiss: Define KISS_TMPDIR if unset 2020-06-06 08:06:40 +03:00
Dylan Araps 8fc5b5c85e
kiss: Added pre-extract hook.
This is handy for manipulating the package manager internals prior
to source extraction. I currently use this to conditionally run the
source extraction, build and tarball creation in memory (tmpfs).

    pre-extract)
        case $PKG in
            # Reset the directories to their default values.
            firefox*|rust|llvm|clang)
                mak_dir=${KISS_TMPDIR:-$cac_dir}/build-${pid:=$$}
                pkg_dir=${KISS_TMPDIR:-$cac_dir}/pkg-$pid
            ;;

            # Package is not in the above list, do everything in
            # memory. Really nice speedups.
            *)
                log "$PKG" "Activating tmpfs"

                mak_dir=/tmp/build-$pid
                pkg_dir=/tmp/pkg-$pid
            ;;
        esac

        mkdir -p "$mak_dir" "$pkg_dir/$PKG/var/db/kiss/installed"
    ;;
2020-06-06 07:33:50 +03:00
Dylan Araps bf3bc4a546
docs: update 2020-06-03 19:24:01 +03:00
Dylan Araps b671d44a5d
kiss: Workaround -bin/-esr packages in fixdeps().
Not ideal of course. This does however fix the issue. A proper fix
will come shortly.
2020-06-03 19:23:01 +03:00
Dylan Araps b07a418ab8
docs: update 2020-06-02 11:57:12 +03:00
Dylan Araps 6e7e3f5226
kiss: Temporary workaround for incorrect fixdeps() output in rare cases. 2020-06-02 11:56:21 +03:00
Dylan Araps 46b48e4003
kiss: minor changes 2020-05-30 13:18:29 +03:00
Dylan Araps 79fec5bf70
docs: update 2020-05-29 19:09:43 +03:00
Dylan Araps 7a936123f6
kiss: Fix fixdeps() bug. 2020-05-29 19:09:17 +03:00
Dylan Araps 5c813b3609
KISS_FORCE: Check value: 2020-05-28 17:32:06 +03:00
Dylan Araps c5bf1664cc
kiss: Added post-package hook. Stop printing hook message 2020-05-26 20:07:58 +03:00
Dylan Araps 1bc455f80a
docs: update 2020-05-26 18:09:01 +03:00
Dylan Araps a6934118af
kiss: Change KISS_NOPROMPT to KISS_PROMPT 2020-05-26 18:08:18 +03:00
Dylan Araps 259a2e9f2b
kiss: Drop final touch 2020-05-25 19:16:16 +03:00
Dylan Araps 1741a04968
kiss: Add missing environment variables to as_root() 2020-05-25 18:40:58 +03:00
Dylan Araps 14a1bd3638
kiss: More portable od usage 2020-05-25 18:37:57 +03:00
Dylan Araps 6134d5d02f
kiss: Correctly quote $\# 2020-05-25 12:50:42 +03:00
Dylan Araps 8366eb5e19
docs: update 2020-05-25 08:35:59 +03:00
Dylan Araps 6f820b9dbf
kiss: Fix shellcheck 2020-05-25 08:35:34 +03:00
Dylan Araps f1c8fb5b1b
kiss: Simplify pkg_remove_files() 2020-05-25 08:26:14 +03:00
Dylan Araps 23a0e14aaa
kiss: bump to 2.1.1 2020-05-25 08:23:52 +03:00
Dylan Araps d375e42d8e
kiss: Drop 'ls -ld' file symlink resolution as it is unsafe/unneeded 2020-05-25 08:21:49 +03:00
Dylan Araps 922d27f6d2
kiss: Drop unneeded space. 2020-05-25 07:46:19 +03:00
Dylan Araps 4375b8d4dc
kiss: Quote unquoted 0 blocks 2020-05-25 07:45:55 +03:00
Dylan Araps 3df43ed52f
kiss: Minor fixes from Crestwave. 2020-05-25 07:43:33 +03:00
Dylan Araps 566fdbdf24
kiss: Bye bye ternary 2020-05-24 21:05:13 +03:00
Dylan Araps fc1734c36c
kiss: Bye bye ternary 2020-05-24 21:04:33 +03:00
Dylan Araps fd91d64169
docs: update 2020-05-24 19:54:02 +03:00
Dylan Araps 55471c0cba
docs: update 2020-05-24 19:42:44 +03:00
Dylan Araps 276849b9e8
pkg_strip: Minor fixes 2020-05-24 19:34:05 +03:00
Dylan Araps 39f0009507
pkg_strip: Check for ELF and !<arch> 2020-05-24 19:22:13 +03:00
Dylan Araps 4881e7a668
docs: update 2020-05-24 17:50:28 +03:00
Dylan Araps c7d05235c0
kiss: Drop --strip-unneeded as it's... unneeded (This also adds compatibility for elfutils strip). 2020-05-24 17:48:42 +03:00
Dylan Araps d1e926ddab
kiss: Drop printing strip information for the 10th time 2020-05-24 17:00:56 +03:00
Dylan Araps c1b98b4f3b
kiss: Drop readelf dependency. 2020-05-24 16:56:30 +03:00
Dylan Araps 18c304951d
pkg_strip: Clean up 2020-05-24 11:42:56 +03:00
Dylan Araps 0c805343b0
kiss: Minor clean up 2020-05-23 10:05:19 +03:00
Dylan Araps 74ed4988c9
docs: update 2020-05-23 09:30:45 +03:00
Dylan Araps 14695e2bf8
kiss: Minor clean up 2020-05-23 09:25:41 +03:00
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