Commit Graph

1972 Commits

Author SHA1 Message Date
illiliti
3309146e61 kiss: use dd for prompt (#106)
use dd for prompt since it will always exit upon receiving SIGINT
signal, unlike the read builtin, which, as permitted by POSIX, can
ignore this signal.

Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/106
Co-authored-by: illiliti <illiliti@protonmail.com>
Co-committed-by: illiliti <illiliti@protonmail.com>
2022-10-29 09:03:06 +02:00
phoebos
a27fcec564 kiss: use Ctrl+D to abort prompt (#105)
EOF is defined by POSIX to cause read to return an error, and works with
every shell while SIGINT (Ctrl+C) does not (eg. with yash).

Co-authored-by: phoebos <ben@bvnf.space>
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/105
Co-authored-by: phoebos <phoebos@noreply.codeberg.org>
Co-committed-by: phoebos <phoebos@noreply.codeberg.org>
2022-10-27 09:01:59 +02:00
Pratham
8a1a88e0d3 kiss: fixup etcsums, closes #94 (#97)
```
λ rm -rf /tmp/root
λ KISS_FORCE=1 kiss i iproute2
-> iproute2 Checking for package conflicts
-> iproute2 Installing package (iproute2@5.19.0-1.tar.gz)
-> iproute2 Installed successfully
λ kiss r iproute2
-> iproute2 Checking if package removable
-> iproute2 Removing package
Skipping /etc/iproute2/rt_tables (modified)
Skipping /etc/iproute2/rt_scopes (modified)
Skipping /etc/iproute2/rt_realms (modified)
Skipping /etc/iproute2/rt_protos (modified)
Skipping /etc/iproute2/nl_protos (modified)
Skipping /etc/iproute2/group (modified)
Skipping /etc/iproute2/ematch_map (modified)
Skipping /etc/iproute2/bpf_pinning (modified)
-> iproute2 Removed successfully
λ
λ rm -rf /tmp/root
λ KISS_FORCE=1 $PWD/kiss i iproute2
-> iproute2 Checking for package conflicts
-> iproute2 Installing package (iproute2@5.19.0-1.tar.gz)
-> iproute2 Installed successfully
λ $PWD/kiss r iproute2
-> iproute2 Checking if package removable
-> iproute2 Removing package
-> iproute2 Removed successfully
```

Co-authored-by: git-bruh <e817509a-8ee9-4332-b0ad-3a6bdf9ab63f@aleeas.com>
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/97
2022-10-26 09:19:25 +02:00
phoebos
58475f7f29 kiss-outdated: fix repo name for cleaner cache (#101)
If you run `kiss outdated .`, everything works but the cached SVGs are
all dumped into ~/.cache/kiss/repology/ rather than
~/.cache/kiss/repology/repo/. Fix this by getting the repo name from PWD.

Co-authored-by: phoebos <ben@bvnf.space>
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/101
Co-authored-by: phoebos <phoebos@noreply.codeberg.org>
Co-committed-by: phoebos <phoebos@noreply.codeberg.org>
2022-10-21 09:50:35 +02:00
Pratham
74f78a8529 kiss: fix quadratic behaviour (#91)
Not really necessary considering it occurs only when files are actually invalid

Example with manually broken linux package:

```
λ time ./kiss i linux > /dev/null
-> linux Checking if manifest valid
ERROR linux manifest contains 16997 non-existent files
Command exited with non-zero status 1
real	0m 0.57s
user	0m 0.15s
sys	0m 0.42s
```

```
λ time kiss i linux > /dev/null
-> linux Checking if manifest valid
ERROR linux manifest contains 16997 non-existent files
Command exited with non-zero status 1
real	1m 10.04s
user	1m 7.94s
sys	0m 2.08s
```

Co-authored-by: git-bruh <e817509a-8ee9-4332-b0ad-3a6bdf9ab63f@aleeas.com>
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/91
2022-10-21 09:47:38 +02:00
phoebos
9c72484a62 kiss: add back repo update message support (#99)
A file called "MOTD" in each repo in KISS_PATH will be printed during `kiss u`.
As discussed in kiss-community/community#1295.

Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/99
2022-10-18 16:30:26 +02:00
git-bruh
b748b87148
Revert "kiss: bail out if package removal would break alternatives (#89)"
This reverts commit 2f4fc41582.
2022-10-07 21:02:03 +05:30
Pratham
2f4fc41582 kiss: bail out if package removal would break alternatives (#89)
Co-authored-by: git-bruh <e817509a-8ee9-4332-b0ad-3a6bdf9ab63f@aleeas.com>
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/89
2022-10-07 17:13:02 +02:00
Pratham
cb9fe25776 kiss-owns: fix usage with KISS_ROOT (#86)
Co-authored-by: git-bruh <e817509a-8ee9-4332-b0ad-3a6bdf9ab63f@aleeas.com>
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/86
2022-10-07 17:12:14 +02:00
Pratham
e9c72295d6 kiss: use chroot in run_hook_pkg (#83) 2022-10-05 21:36:42 +02:00
Pratham
2b84ea4563 Merge pull request 'kiss: return to original dir before rerunning' (#84) from phoebos/kiss:dir into master
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/84
2022-10-04 14:56:41 +02:00
phoebos
967f62b3be
kiss: return to original dir before rerunning
This ensures that kiss is found if $0 is a relative path.
2022-10-04 13:46:16 +01:00
phoebos
7de9d70fe4 kiss: preserve sticky bit in file_rwx (#80)
Co-authored-by: aabacchus <ben@bvnf.space>
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/80
Co-authored-by: phoebos <phoebos@noreply.codeberg.org>
Co-committed-by: phoebos <phoebos@noreply.codeberg.org>
2022-10-03 13:47:38 +02:00
git-bruh
f50ea0caa5
kiss: 5.6.3 2022-09-29 14:36:39 +05:30
ioraff
51768ad4c3 kiss: switch to blake3 checksums (#72)
As discussed in kiss-community/repo#100 and #39, we seem to be in favor of switching to blake3.

The following changes are made:
- All newly generated checksums are blake3
- The user is prompted to generate blake3 checksums if sha256 sums are present (maybe this should be automatic)
- For installed packages, we can fall back to sha256 to check etcsums

This includes a name change of the `checksums` and `etcsums` files -- I'm not sure of any better way to detect whether sha256 sums are in use, as blake3 sums are the same length.

Feedback is appreciated

Co-authored-by: Owen Rafferty <owen@owenrafferty.com>
Reviewed-on: https://codeberg.org/kiss-community/kiss/pulls/72
2022-09-28 19:15:17 +02:00
phoebos
d31dcf585e kiss: make KISS_FORCE bypass build dependency checks (#60)
Co-authored-by: phoebos <phoebos@noreply.codeberg.org>
Co-committed-by: phoebos <phoebos@noreply.codeberg.org>
2022-09-28 09:40:11 +02:00
ehawkvu
5f9c2c70fa
kiss: make help output more accurate (#78) 2022-09-24 23:09:35 +05:30
ehawkvu
74313a873c
kiss: don't run pkg_upgrade when using pkg_update (#65)
You are now required to run 'kiss U' if you want to update your
packages, since now all 'kiss u' does is sync the repositories in
your KISS_PATH.
2022-09-24 00:26:20 +05:30
aabacchus
b815b07b7a
kiss-maintainer: quote for shellcheck (#76) 2022-09-24 00:25:50 +05:30
aabacchus
154dada0df
kiss: fix shellcheck (#77) 2022-09-24 00:25:37 +05:30
git-bruh
875a574eb7
contrib/kiss-outdated: fix ctags 2022-09-21 17:37:41 +05:30
git-bruh
909ef5ac74
5.6.2 2022-09-17 22:28:57 +05:30
Wolf Gupta
15c89f6423
kiss: fix masking local source as remote, closes #70 (#73) 2022-09-17 22:24:47 +05:30
Wolf Gupta
36df1ae0e5
kiss: ignore libraries with RPATH in dependency detector (#69) 2022-09-16 13:17:47 +00:00
Wolf Gupta
af2335c55e
kiss-outdated: updates (#68)
* kiss-outdated: log if no remote version is found

* kiss-outdated: update package names
2022-09-09 11:36:37 +00:00
git-bruh
031179e1b1
kiss: 5.6.1 2022-09-03 14:11:48 +05:30
git-bruh
fd3fe16812
ldd prefixes with a tab... 2022-09-03 14:03:43 +05:30
git-bruh
2afac4e981 Fix #64, closes #67
Co-authored-by: illiliti <illiliti@protonmail.com>
2022-09-03 00:24:38 +05:30
Owen Rafferty
2e7e04a537
Merge pull request #61 from qi777xj/master
Make aria2 use the absolute path
2022-08-11 14:14:03 -05:00
aabacchus
96bb00372c
kiss: fix pkg_update for extra colons in KISS_PATH (#59)
If KISS_PATH=:: or even KISS_PATH=:/repo1:/repo2, the `IFS=:; set -- $KISS_PATH`
trick leaves some of $@ as empty strings. These cause git to print errors.
Instead, skip empty arguments.

Demonstration of bug:

    $ cd
    $ KISS_PATH=::: kiss u 2>&1 | sed '/Checking/q'
    -> Updating repositories
    fatal: not a git repository (or any of the parent directories): .git
    fatal: not a git repository (or any of the parent directories): .git
    fatal: not a git repository (or any of the parent directories): .git
    -> Checking for new package versions

The git commands producing the errors are:
    git -C "" rev-parse 'HEAD@{upstream}'
and when the argument to -C is empty, the current working directory is
unchanged. Therefore, if PWD happens to be inside a git tree, this
command could have unexpected effects: currently, if KISS_PATH contains
(an) extra colon(s), and PWD is in a git repo with an upstream, the repo
is updated irrespective of whether it is in KISS_PATH or a package repo.
This behaviour is also fixed by this commit.
2022-08-11 00:26:54 +05:30
jellybean
d47508c04d
Make aria2 use the absolute path 2022-08-08 05:42:23 +00:00
Owen Rafferty
6887884127 don't error out silently on git rev-parse 2022-08-05 21:24:43 +05:30
aabacchus
c6c851b645 kiss-chroot: fix trap
If the chroot is exited with nonzero status, kiss-chroot runs `die
chroot failed`. Then, die runs `exit 1` which causes the trap to
execute. However, in this scope, "$@" is "chroot failed", so the trap
evaluates $1 to be "chroot" rather than the mountpoint given to the
kiss-chroot script. Then, the trap tries to unmount "chroot/dev" etc
rather than the true mountpoint.

This patch uses double quotes rather than single when setting the trap,
so that $1 is expanded then and the mountpoint is stored for when the
trap is called.
2022-08-05 21:24:43 +05:30
illiliti
363fcaf71c kiss: copy symlinks as is
If source contains dangling symlink, attempt to dereference it
would result into error.
2022-08-05 21:24:43 +05:30
aabacchus
800d3ac854 kiss-maintainer: fix CRUX-style usage
Commit d94c811 changed `sort -u` to `uniq -u`; these are not equivalent.
`uniq -u` suppresses all duplicate lines, but `sort -u` removes all but
one. In the case of there being no command-line args, PWD is taken as
the package, and if that package is in a repo already in KISS_PATH, the
repo will be in KISS_PATH twice. This will cause the `kiss search`
command to give two entries for PWD, and `uniq -u` removes both.
Revert to `sort -u` to keep one of those entries.

If the package in PWD is not installed, there will be not entries left;
if it is installed, kiss-maintainer will try to get the history from
/var/db/kiss/installed/pkg, which is not a git repo.

Example of the incorrect behaviour:
    KISS_PATH=/home/me/repo/core
    PWD=/home/me/repo/core/musl
    $ sh -x /usr/bin/kiss-maintainer
    + '['  ]
    + export 'KISS_PATH=/home/me/repo/core::/home/me/repo/core'
    + set -- musl
    + kiss search musl
    + uniq -u
    + read -r repo
    + read -r repo
    + cd /var/db/kiss/installed/musl
    + git log -1 version
    + m=
    + :
    + m=
    + m=
    + '['  ]
    + continue
    + read -r repo

    (no output)
2022-08-05 21:24:43 +05:30
aabacchus
a973491b0e kiss-size: fix for packages containing files with quotes in filenames
if a package contains a file with a quote in it's name, xargs complains
about an unmatched quote and fails, and the pipeline is aborted.
this patch escapes all non-alphanumeric characters so that xargs can
handle such filenames.
2022-08-05 21:24:42 +05:30
dylan
990eba374e
Merge pull request #290 from jgarte/jgarte-patch-1
typo fix
2021-12-13 07:03:16 +02:00
jgart
8e304105b7
typo fix 2021-12-12 23:58:35 -05:00
Dylan Araps
54a8fab2f2
kiss-outdated: libseat -> seatd 2021-11-07 16:33:27 +02:00
Dylan Araps
ff86512d3a
kiss: nit 2021-11-05 07:49:36 +02:00
Dylan Araps
d21b33742d
kiss: nit 2021-11-05 07:48:18 +02:00
Dylan Araps
70bd51f46b Merge branch 'master' of github.com:kisslinux/kiss 2021-11-04 07:42:40 +02:00
Dylan Araps
9f31e3db97
kiss-chroot: Minor changes. Closes #286 2021-11-04 07:42:09 +02:00
dylan
69b8c9ac1e
Merge pull request #288 from TAAPArthur/portable_xz
Removed non-portable xz options
2021-10-23 12:45:35 +03:00
Arthur Williams
11e28a4c9b Removed non-portable xz options
Remove the "-T0" from the invocations of xz
2021-10-23 03:53:59 -05:00
Dylan Araps
1c743cea46 Merge branch 'master' of github.com:kisslinux/kiss 2021-10-22 08:24:28 +03:00
Dylan Araps
0fd043a4c1
kiss: Fix tar issue with top-level files. Closes #285 2021-10-22 08:23:02 +03:00
dylan
898fa5ac3a
Merge pull request #284 from ehawkvu/kiss-outdated-nit
kiss-outdated: nit
2021-10-22 08:15:30 +03:00
Ethan
c3e9bf86b4 kiss-outdated: nit 2021-10-21 23:52:34 -05:00
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