1
0
mirror of https://codeberg.org/kiss-community/kiss synced 2024-07-02 14:02:26 +00:00
Commit Graph

1324 Commits

Author SHA1 Message Date
Dylan Araps
fda570d0d2
kiss: more clean up 2020-09-11 17:58:16 +03:00
Dylan Araps
f915d9aebc
kiss: minor changes 2020-09-11 17:38:02 +03:00
Dylan Araps
0b328b8c31
kiss: less squish 2020-09-09 16:52:18 +03:00
Dylan Araps
f619fad60f
kiss: clean up 2020-09-09 15:03:57 +03:00
dylan
43a2476f7e
Merge pull request #186 from kisslinux/rm_etc
kiss: Add handling of /etc/ files to removal action.
2020-09-09 10:49:02 +03:00
Dylan Araps
66e6c0fe34
kiss: Add handling of /etc/ files to removal action.
If the user has modified the file in /etc/, it will not be removed
and a message will be printed to the screen. If the file is
unmodified, it will be removed like any other.

This uses the etcsums file for comparison of checksums. The file
is also used during installation handling of files in /etc/.
2020-09-08 22:35:49 +03:00
Dylan Araps
e2b292bc0b
kiss: split usage 2020-09-08 17:07:55 +03:00
Dylan Araps
6ba7b61bfb
kiss: remove occurrence of blank checksum files when checksums aren't needed. Closes #185 2020-09-08 14:56:19 +03:00
Dylan Araps
6998e9f58c
kiss: fix hang when no packages installed during conflict resolution. Closes #182 2020-09-08 14:30:38 +03:00
Dylan Araps
cf722ec4ba
docs: update 2020-09-02 01:53:47 +03:00
illiliti
42163ae1f2 kiss: update sls syntax 2020-09-01 07:19:02 +03:00
Dylan Araps
3b251b96b6
kiss: Fix compatibility with pre-change checksums 2020-08-31 10:54:39 +03:00
Dylan Araps
942f36b672
kiss-chbuild: drop for now. full utility planned 2020-08-30 13:14:55 +03:00
dylan
2c3b2aa821
Merge pull request #177 from illiliti/as_root_sls
kiss: add support for sls
2020-08-30 10:30:24 +03:00
Dylan Araps
be40eb0114
docs: update 2020-08-30 10:25:24 +03:00
Dylan Araps
1c1175933f
kiss: Fix checksum generation. 2020-08-30 10:24:58 +03:00
illiliti
f0f3825419 automatically discover sls 2020-08-30 01:42:15 +03:00
illiliti
0d5fc4a2b6 kiss: add support for sls 2020-08-30 01:14:25 +03:00
Dylan Araps
76f3b72479
docs: update 2020-08-28 01:08:42 +03:00
Dylan Araps
fed12ab37f
docs: update 2020-08-20 18:14:21 +03:00
Dylan Araps
fefd0d7b28
kiss: fix etcsums hang. Closes #176 2020-08-20 18:14:05 +03:00
Dylan Araps
d1c0bb0dba
docs: update 2020-08-20 15:15:40 +03:00
Dylan Araps
18c79222b8
kiss: fix handling of /etc. closes #175 2020-08-20 15:15:16 +03:00
Dylan Araps
dba5144024
docs: update 2020-08-18 09:21:37 +03:00
Dylan Araps
d0f4358f84
minor cleanup 2020-08-15 10:27:35 +03:00
Dylan Araps
93b598d5fa
kiss: stop making build file modifiable by hooks
This was half-assed. I'd much prefer we keep things simple and users
use repositories for this purpose. Either full or partial forks. This
is "proper" and stores the build configuration
2020-08-14 10:24:05 +03:00
Dylan Araps
7cfce11abc
fix shellcheck 2020-08-13 10:35:59 +03:00
Dylan Araps
d6917d5fe1
kiss: Stop showing Git repositories in checksums
This is a backwards compatible change. The package manager will
for the time being /ignore/ checksums lines containing Git
repositories.

These aren't checksums and have no business living in the checksums
file. This file is now strictly for checksums. In the coming months,
this special handling will be lifted.
2020-08-13 10:31:19 +03:00
Dylan Araps
99f61fc340
kiss: add support for directories and absolute file paths as sources
This adds support for both absolute and relative directories in
sources files. Relative file sources have always been supported,
this just extends it to directories.

Absolute paths to directories and files in sources is totally new.

Directories will have their /contents/ copied to the initial build
directory. The second field in the sources file can be used to set
destination location.

Checksums will not be validated for directories of any type. Absolute
file paths do have their checksums validated.

Notes:

The package manager will check to see if the source is a directory
or not. There is no need to have a trailing forward slash (though it
might make sense to enforce this anyway, we'll see).
2020-08-13 01:07:41 +03:00
Dylan Araps
fecf4995f8
kiss: drop filenames from checksums files
With this change, checksums generated by the package manager will no
longer contain the second field (the basename of the file). The second
field is quite useless as ordering is already fixed.

This change is backwards compatible and existing checksums files will
containue to function as normal. As checksums are regenerated (with
updates to packages), the new format will be used.

The compatibility works via checking /only the first column/ in each
checksums file. This is the only part of the file which must match
1:1 as ordering is always the same.

Notes about etcsums:

This change also affects the etcsums file which is used for the
3-way checksum verification for files in /etc/.

Existing etcsums will simply be invalidated with the safest path chosen
(.new file is created) until they are regenerated via a package build.

Ordering is now fixed inside etcsums files. This makes parsing them
faster and more reliable.

This also fixes a theoretical bug with naming conflicts during parsing
of etcsums.
2020-08-13 00:23:43 +03:00
Dylan Araps
487358a047
docs: update 2020-08-12 00:21:34 +03:00
Dylan Araps
f552a75427
kiss: Resolve path to root even if in subshell 2020-08-12 00:20:58 +03:00
Dylan Araps
64e77c91e5
kiss: add repository update hook
The package manager will look for an executable called 'update' in the
repository's root directory. If a KISS repository is one of many
children in a git repository, the hook will only be called once.

This hook is run /after/ a repository has been updated by the package
manager. If your repository is not using git, the hook is run immediately.

If the hook fails (exits non-zero), the package manager will also fail.
Hooks can be written in any language. No arguments are given to the executable.

Closes #174
2020-08-11 21:24:43 +03:00
Dylan Araps
a15c6b74fb
docs: update 2020-08-11 15:50:08 +03:00
Dylan Araps
4e34ad6a6a
kiss: don't automatically pull down submodules when using git sources
This should be done in the build file on an opt-in basis.
2020-08-11 15:49:15 +03:00
Dylan Araps
5df9fbb6b1
docs: update 2020-08-11 11:00:27 +03:00
Dylan Araps
197d8b4329
docs: update 2020-08-11 10:48:51 +03:00
Dylan Araps
45f8562c8e
kiss: allow KISS_PATH to be unset.
This is related to the tarball and default repository location
changes which leave KISS_PATH unset /by default/.

There's no real reason for the package manager to die here. When
no repositories are enabled (or no package is found in KISS_PATH),
the package manager uses /var/db/kiss/installed as a fallback.

Related to: https://github.com/kisslinux/repo/issues/209
2020-08-11 10:45:51 +03:00
Dylan Araps
af24f9bd29
kiss: bump to 4.0.2 2020-07-30 01:49:17 +03:00
Dylan Araps
9228f77274
kiss: Rename .build file to .build-kiss 2020-07-29 19:05:38 +03:00
Dylan Araps
c898c04bc8
kiss: Add message about removal 2020-07-29 19:03:02 +03:00
Dylan Araps
6092dd66a2
kiss: Print to screen which files are skipped during removal. 2020-07-29 19:00:21 +03:00
Dylan Araps
f99fcd5309
kiss: Use $0 instead of hardcoding script name 2020-07-29 17:25:25 +03:00
Dylan Araps
f236f3237d
kiss: bump to 4.0.1 2020-07-29 17:16:51 +03:00
Dylan Araps
380da113eb
kiss: Make pkg_remove_files a little clearer 2020-07-29 17:16:15 +03:00
Dylan Araps
d883c42498
kiss: Oops. 2020-07-29 14:45:26 +03:00
Dylan Araps
aff5097d53
kiss: Make build file accessible to hooks.
Named '.build' to reduce potential conflicts.
May be renamed prior to release. We'll see.
2020-07-29 14:21:07 +03:00
Dylan Araps
8c9b25ac95
kiss: Change secondary color to blue 2020-07-29 09:02:18 +03:00
Dylan Araps
554940cd7b
kiss: Drop hardcoded musl reference.
This replaces the package based exemption with one based on C and
POSIX shared library names, removing the hardcoded reference to
musl and adding support for more C libraries.

This needs testing with non-musl systems. Specifically, the
dependency fixer which runs post-build in 'kiss build' should /not/
display anything related to your C library. If it does, please open
an issue.
2020-07-28 04:05:05 +03:00
Dylan Araps
e18826eaf8
kiss: bump to 4.0.0
Bumped major version as we've dropped .la files.
2020-07-28 03:08:21 +03:00
Dylan Araps
6eb62bdd97
kiss: Remove .la files from all packages.
These files are unneeded and become a source of errors when an
autotools build references a non-existing .la file. This was the
case with a recent update to freetype-harfbuzz.

The files are required by libtool to do libtool things, however
libtool works just fine without them. These files are safe to
remove according to upstream and other distributions have already
been doing this for a while.

> https://www.gnu.org/software/automake/faq/autotools-faq.html
>
> 3.1 What are these .la files for and can I safely remove them?
>
> portable encoding of static and shared library names and dependencies.
>
> removing usually only works OK if done in directories which the
> runtime linker searches by default anyway (otherwise you might need
> to set LD_LIBRARY_PATH or an equivalent variable) and only on systems
> where the runtime linker loads indirect library dependencies
> automatically (includes GNU/Linux, GNU, Solaris).

It is recommended that you remove all .la files from your system
if manually updating the package manager to the latest version.
Running 'kiss update' will automatically handle this for you.

The following script will be run on post-install to clean up the
.la files. This can also be run manually. Executing this script
will do nothing if the system is already clean.

  #!/bin/sh

  find "$KISS_ROOT/usr/lib" \
      ! -type d \
      -name \*.la \
      -exec rm -f -- {} +

  find "$KISS_ROOT/var/db/kiss/installed" \
      ! -type d \
      -name manifest \
      -exec sed -i '/.*\.la$/d' {} +

This commit also brings back the removal of charset.alias which was
a part of the default KISS_HOOK prior. It makes much more sense for
it to live alongside this change.
2020-07-28 03:05:55 +03:00
Dylan Araps
a92cb95673
kiss: Simplify pkg_clean(), fixes #173
The package manager will no longer clean up any other pre-existing
cache directories at exit.

- Fixes a portability issue by removing usage of /proc.
- Fixes issues when the user has KISS_PID set.
- Outside of the realm of what the utility should do.
2020-07-25 12:57:40 +03:00
Dylan Araps
5ffa51aa67
kiss: Clear install input error messages 2020-07-24 18:38:42 +03:00
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
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