Commit Graph

1640 Commits

Author SHA1 Message Date
Dylan Araps 228075aab1
kiss: Fix signal handling and implement SIGINT and SIGEXIT hooks.
Ctrl+C is now correctly blocked during installation and removal
and ordering of pkg_clean is maintained.

Two new hooks have been added, SIGINT and SIGEXIT. These run in
the corresponding signal handlers.

Fixes #280
2021-10-06 09:10:56 +03:00
Dylan Araps 764acdcde7
kiss: Fix #279 2021-10-05 07:37:01 +03:00
Dylan Araps e58c74eb1f
kiss: fix conflicts bug. See #278 2021-10-04 08:56:28 +03:00
Dylan Araps eed63b0d81
kiss: don't pull if no remote. Closes #269 2021-09-11 10:02:53 +03:00
Dylan Araps 12646e4009
kiss: export RUSTFLAGS and GOFLAGS in builds. Closes #271 2021-09-11 09:47:39 +03:00
Dylan Araps a4f7765f94
kiss: Shallow clone git sources where possible. Also avoid pulling down tags. See #270 2021-09-10 17:07:54 +03:00
Dylan Araps 60c32c5fa2
kiss: checkout output of git remote. See #269 2021-09-07 16:58:59 +03:00
Dylan Araps cade52d1cc
misc: fix comment 2021-09-03 20:06:54 +03:00
Dylan Araps 9ab1f9f5e0
misc: fix comment 2021-09-03 07:32:22 +03:00
Dylan Araps 252df82806
kiss: make KISS_PROMPT=0 skip install entirely.
Less intrusive fix for #265
2021-08-31 17:47:41 +03:00
Dylan Araps d58eb983bf
kiss: add KISS_BUILD_INSTALL
This option defaults to '1' and controls the installation prompt
at the end of the build process. Setting this to '0' will disable
the installation of packages post-build.

Closes #265
2021-08-31 17:19:54 +03:00
Dylan Araps 7a53298241
pkg_verify: simplify 2021-08-30 17:51:54 +03:00
Dylan Araps 98097feec5
misc: nit 2021-08-30 17:20:38 +03:00
Dylan Araps 02cec7a879
5.5.28 2021-08-30 17:08:57 +03:00
Dylan Araps 6a00546b3b
kiss: simplify pkg_source_git 2021-08-28 15:48:59 +03:00
Dylan Araps ea9d8e7ad5
kiss: fix bug with mkcd 2021-08-25 19:20:28 +03:00
Dylan Araps 4de7a6ffb4
kiss: fix git 2021-08-25 19:16:07 +03:00
Dylan Araps 29c57a0115
kiss: unify pkg_source_ 2021-08-25 19:02:25 +03:00
Dylan Araps 47a4b2b769
kiss: add comment 2021-08-25 17:09:37 +03:00
Dylan Araps e58a0f4f0b
kiss: don't clone git repositories for kiss c 2021-08-25 14:32:25 +03:00
Dylan Araps c84775c152
kiss: handle remote swaps 2021-08-25 14:29:39 +03:00
Dylan Araps 755838425f
kiss: git caching 2021-08-25 09:21:57 +03:00
Dylan Araps b14526b9bf
kiss: 5.5.27 2021-08-21 14:27:32 +03:00
Dylan Araps a0c25b2a89
kiss: dereference symlinks on source copy 2021-08-21 14:00:12 +03:00
Dylan Araps 27d597138e
kiss: fix build-fail hook not causing exit
This wraps the call in a subshell so the die() call does not exit
the script early. Error code is also forced back to 0 so the
existing clean up code runs.

Closes #260
2021-08-17 06:47:37 +03:00
Dylan Araps cb98a8860c
5.5.26 2021-08-14 15:17:15 +03:00
Dylan Araps 470d280c11
kiss: Fix random cache clean failures
Turns out that kiss extensions which call the package manager
inherit the parent _KISS_LVL value. This get incremented further
and the wrong cache clean path is taken on exit.

Closes #259
2021-08-14 15:15:34 +03:00
Dylan Araps dfc2070d95
kiss: fix syntax not supported by some BSD shells
Needs further investigation.
2021-08-09 08:12:28 +03:00
Dylan Araps bb98906055
kiss: remove non-posix code 2021-08-05 06:37:58 +03:00
Dylan Araps 26ca4b0747
misc: nit 2021-07-28 10:35:48 +03:00
Dylan Araps 40736326c8
kiss: 5.5.25 2021-07-28 10:23:22 +03:00
Dylan Araps 7b5f749f37
kiss: potential fix for #253 2021-07-28 10:17:24 +03:00
Dylan Araps b21d22964f
kiss: unset variables early 2021-07-28 10:13:08 +03:00
Dylan Araps 4f715f678b
kiss: fix continue -> return 2021-07-27 20:57:49 +03:00
Dylan Araps c2e630c365
kiss: initial args clean up 2021-07-27 20:56:43 +03:00
Dylan Araps 61a3177051
kiss: remove double KISS_PID in path 2021-07-27 20:47:33 +03:00
Dylan Araps 8ee6a3948d
kiss: initial depends clean up 2021-07-27 20:42:43 +03:00
Dylan Araps 354bc63cc3
kiss: 5.5.24 2021-07-27 14:51:19 +03:00
Dylan Araps e88678bac5
kiss: skip symlinks in fix_deps 2021-07-27 14:48:53 +03:00
Dylan Araps 530d123eb2
kiss: skip symlinks when stripping 2021-07-27 14:45:39 +03:00
Dylan Araps c22649263e
kiss: strip improvements
- No longer hides errors from strip commands. Some errors may now
  appear, these are bugs and should be reported.

- The whitelist of paths included subdirectories themselves. This
  has been changed to only glob for files.

- Each strip command is now printed to the screen.
2021-07-27 14:34:12 +03:00
Dylan Araps a21bba2d14
misc: nit 2021-07-27 14:22:23 +03:00
Dylan Araps 1c884d870e
kiss: fix incorrect path to pkg_strip. Closes #252 2021-07-27 14:20:33 +03:00
Dylan Araps c884f57eb2
kiss: fix incorrect path to pkg_strip. Closes #252 2021-07-27 14:19:33 +03:00
Dylan Araps e0afa0c2fb
kiss: filter out duplicates in fix deps 2021-07-26 15:57:38 +03:00
Dylan Araps 82d32dc0e3
kiss: revert update-resolve 2021-07-26 15:09:24 +03:00
Dylan Araps 03d8f980ac
kiss: 5.5.22 2021-07-26 15:07:51 +03:00
Dylan Araps d0228beccf
kiss: ignore libraries from llvm/gcc in depends fixer 2021-07-26 15:04:39 +03:00
Dylan Araps 4f4af4aac3
misc: nits 2021-07-26 08:02:38 +03:00
Dylan Araps 569554d315
kiss: Add update-resolve hook
Hooks can now resolve paths if needed and tell the package manager
about the result. ie, a hook performing git retrieval can tell the
package manager the resolved path to the repository.

The package manager will then filter duplicates /correctly/ and
hooks can be sure they'll run once per *Git repository*.

  #!/bin/sh -e
  #
  # Generic Git repository updater.

  git remote >/dev/null 2>&1 || exit 0

  case $1 in
      update-resolve)
          subm=$(git rev-parse --show-superproject-working-tree)
          git -C "${subm:-"$PWD"}" rev-parse --show-toplevel
      ;;

      pre-update)
          case $(git config --get merge.verifySignatures) in true)
              printf 'Signature verification enabled.\n'
          esac

          git pull
          git submodule update --remote --init -f
      ;;
  esac

NOTE: This may be reverted. Just merging to allow users to play
around with it. It's one possible solution to removing hook
boilerplate for updates.
2021-07-26 07:59:32 +03:00
Dylan Araps f122076086
kiss: expose owner user to hooks 2021-07-25 17:01:21 +03:00
Dylan Araps 94944ac5a4
kiss: 5.5.21 2021-07-25 07:41:55 +03:00
Dylan Araps 465d4e2697
kiss: search db first when removing packages. Fixes #250 2021-07-24 23:53:27 +03:00
Dylan Araps 3108ca2d71
revert: order arguments after as_user. 2021-07-24 23:38:46 +03:00
Dylan Araps be1f5efb98
kiss: order arguments after as_user.
See #250
2021-07-24 23:32:19 +03:00
Dylan Araps 2454d9c956
kiss: fix msg 2021-07-24 23:18:17 +03:00
Dylan Araps 8360e07955
kiss: remove msg 2021-07-24 23:09:46 +03:00
Dylan Araps be67ae5eb2
misc: nit 2021-07-24 22:37:27 +03:00
Dylan Araps 054761905e
kiss: don't print misleading message as hooks can update repositories 2021-07-24 22:27:43 +03:00
Dylan Araps caf4a4254e
kiss: remove unused variable 2021-07-24 22:21:27 +03:00
Dylan Araps cb54b59f98
kiss: move as_root out of git 2021-07-24 22:19:50 +03:00
Dylan Araps f09f0d6ec1
misc: comment 2021-07-24 21:32:52 +03:00
Dylan Araps 36050fb9d1
kiss: 5.5.19 2021-07-24 21:22:34 +03:00
Dylan Araps c423b67e65
kiss: fix package manager not cleating hash. Closes #248 2021-07-24 20:52:30 +03:00
Dylan Araps 5f4b22bdae
kiss: change msg 2021-07-24 20:36:55 +03:00
Dylan Araps 18be5567a0
kiss: revert early exit. Closes #247 2021-07-24 20:31:38 +03:00
Dylan Araps dfd000e9c5
kiss: update clean up
- Update hooks now fire for non-Git repositories. This allows hooks
  to add support for other update methods.

- Foundational work to explore other update methods in the package
  manager itself.

- Added 'U|upgrade' to update the system without pulling new changes
  from remotes.

- Other minor changes.
2021-07-24 12:44:31 +03:00
Dylan Araps 651e5a3ea7
kiss: only show ordering message if more than one package will be operated on 2021-07-23 11:22:19 +03:00
Dylan Araps d2b952651e
meta: new domain 2021-07-23 00:34:24 +03:00
Dylan Araps f48192f598
5.5.18 2021-07-22 15:57:46 +03:00
Dylan Araps 4bcefedb4b
kiss: let's try early error on ordering one more time 2021-07-22 13:21:06 +03:00
Dylan Araps 0ad76a03df
kiss: find cmd_su in system if KISS_SU is unset 2021-07-22 09:56:06 +03:00
Dylan Araps 2f16432993
kiss: use higher level sha256 for etcsums 2021-07-22 08:51:40 +03:00
Dylan Araps 671364fc11
misc: nits
Clean up of help output.

Also renamed KISS_SHA to KISS_CHK.
2021-07-22 08:34:52 +03:00
Dylan Araps 0a5b7ffbb9
kiss: remove unused variable 2021-07-21 11:20:39 +03:00
Dylan Araps d7ca1d9d5b
Revert "kiss: tar improvements"
This reverts commit f8256d699d.

libarchive tar prepends 'x ' to verbose output whereas busybox
tar does not. Did not test other implementations though behave
seems to not be standard regardless.
2021-07-21 11:18:45 +03:00
Dylan Araps 94523bd62f
kiss: misc cleanup 2021-07-21 08:07:51 +03:00
Dylan Araps f8256d699d
kiss: tar improvements
- No more temporary file for tarball.
- Uses verbose output as manifest instead of invoking tar tf.

NOTE: May revert this (need to investigate usage of v for this
      purpose). Just pushing to get it into history.
2021-07-20 21:57:28 +03:00
Dylan Araps b48a89c7fa
kiss: only run sh256 if we have elements 2021-07-20 21:34:13 +03:00
Dylan Araps ab9c0841ff
kiss: fix incorrect variable in error message 2021-07-20 20:30:15 +03:00
Dylan Araps cf9e663c76
kiss: split sha256 into two functions
- Installation/removal needs the filtering, other parts of the
  package manager do not (so they can now use the bare function).

- Changed method of output transformation to something simpler.
2021-07-20 20:27:12 +03:00
Dylan Araps 60fbd39d73
kiss: 5.5.17 2021-07-20 19:52:56 +03:00
Dylan Araps 62e3d9426d
kiss: depends fixer nits 2021-07-20 19:50:50 +03:00
Dylan Araps d5a835e8e3
kiss: fix syntax error 2021-07-20 19:39:06 +03:00
Dylan Araps 6cf99638ef
kiss: add support for axel and wget2 2021-07-20 19:38:13 +03:00
Dylan Araps bfd75cc6d5
kiss: various changes
- Added support for other download utilities (wget and aria2c).
- Made download utility configurable via KISS_GET.
- Made sha256 utility configurable via KISS_SHA.

Let me know if there are other utilities which you would like
supported. :)
2021-07-20 18:30:29 +03:00
Dylan Araps de24833038
kiss: minor changes
- Drop zip support. Repositories don't use it for anything, it has
  no standard interface, the code is rather naive (does not strip
  any parent directory so build files must cd (dir may change...).

  Also.. the current zip code will prompt the user if there are
  any conflicts which is contrary to expected behavior (later
  sources overwrite prior files by design).

- Use one pattern in checksum generation.
2021-07-20 18:13:05 +03:00
Dylan Araps c4d3ba4390
kiss: unset _des in early return 2021-07-20 17:50:37 +03:00
Dylan Araps c2aa4b4ab6
kiss: sources improvements
- Moved download code to function. Can now explore supporting
  different download tools (to remove hard curl lock-in).

- Added two hooks, pre-source and post-source. These hooks allow
  for obtainment of verbatim and resolved sources (as well as
  absolute paths to sources on disk).

- Other small improvements.
2021-07-20 17:38:00 +03:00
Dylan Araps bb98f71bc5
5.5.16 2021-07-20 15:42:33 +03:00
Dylan Araps ca14261544
kiss: fix #243 2021-07-20 15:42:18 +03:00
Dylan Araps 7cb2b052dd
kiss: more precise check 2021-07-20 12:20:50 +03:00
Dylan Araps d121fd318f
kiss: 5.5.15 2021-07-20 12:18:21 +03:00
Dylan Araps 83c88b4222
kiss: support escaping markers in sources files.
VERSION  -> resolved version
\VERSION -> VERSION

This allows users to disable substitution of specific markers
while keeping others functional.

Example (URL contains literal RELEASE):

https://github.com/jedisct1/libsodium/releases/download/VERSION-\RELEASE/libsodium-VERSION.tar.gz
2021-07-20 12:08:31 +03:00
Dylan Araps 3be01d38a6
kiss: 5.5.14 2021-07-20 08:31:34 +03:00
Dylan Araps bfee50bfbd
kiss: Add means of disabling find/replace in sources files
Any source starting with raw: will be used verbatim. This allows
one to disable the marker substitution for a given source.

Am open to suggestions for a different syntax to raw: though for
now it's fine.

See #242
2021-07-20 08:29:31 +03:00
Dylan Araps 04fc05aa88
kiss: EPOCH -> RELEASE 2021-07-20 08:26:30 +03:00
Dylan Araps 166a9a9f7f
kiss: 5.5.13 2021-07-20 08:16:52 +03:00
Dylan Araps 5c53879e0c
kiss: rename RELEASE to EPOCH, rename PKG to PACKAGE
Closes #242
2021-07-20 08:15:50 +03:00
Dylan Araps b7b57bd34c
misc: nit 2021-07-19 23:07:57 +03:00