Subject	This month in KISS (#4)!
From	Dylan Araps <>
Date	Mon, 3 Aug 2020 06:06:06 +0100

Welcome to month 4!

KISS is an independent Linux(R) distribution with a focus on simplicity and the
concept of less is more. See for more information.

[0.0] Index

- c package manager                                                        [1.0]
-                                                     [2.0]
- libelf                                                                   [3.0]
- libudev-zero                                                             [4.0]
- removal of .la files                                                     [5.0]
- package manager changes                                                  [6.0]
- neofetch 7.1.0                                                           [7.0]
- gkiss                                                                    [8.0]
- paleta                                                                   [9.0]

[1.0] c package manager

The C package manager is on hold and I will be revisiting it soon. The vision I
have for it has changed and I'd like to explore something slightly different.
Will have more to share about this later.


KISS now has its own mirror of the repositories which live on GitHub. This
currently serves as backup for when GitHub goes down (or vice versa) which has
seemingly happened more and more since its acquisition.

As a user, feel free to set your git remotes here. Those wanting to avoid GitHub
in its entirety can send in patches via email if they like.

[3.0] libelf

We have swapped libelf implementations from elftoolchain to elfutils.

In the past year we have swapped our libelf implementation twice, the most
recent swap occurring two days ago. This was just in time for Linux 5.8 as this
version cannot be built with elftoolchain libelf.

libelf is a library which lets you read, modify or create ELF files in an
architecture independent way. There are a few different implementations of this
library (some in development, others not).

The Linux kernel (from 4.14.12) makes use of this library when
CONFIG_UNWINDER_ORC or CONFIG_STACK_VALIDATION are enabled. The former requires
the latter so in any case, the latter controls this.

E5ten tracked the build failure to a difference in behavior between elftoolchain
and elfutils in the gelf_getsymshndx() function. elfutils allows the second
parameter to be NULL whereas elftoolchain does not.

The kernel build process happens to trigger this which causes build failure when
using elftoolchain's libelf.

Bug filed here:

[4.0] libudev-zero

libudev-zero is a daemonless, drop-in replacement for libudev written in C99.

This library enables the user to run the device manager of their choosing
without needing to worry about the udev dependency at all.

Development started just a month ago by illiliti, also known for
$/illiliti/tinyramfs and $/illiliti/kiss-encryption

[5.0] removal of .la files

Packages will no longer install libtool's .la files.

These files contain descriptions of libraries for use by libtool and they
really aren't needed. Arch Linux got rid of them in 2005!

[6.0] package manager changes

Here are the highlights, more in the commit log.

* Git sources now also pull down their submodules (if any exist).
* Arguments to 'kiss install' can now be relative.
* Added '$KISS_STRIP' to globally control binary stripping.
* Removed last Linux-specific pieces of code.
* Build files now modifiable in pre-build hooks.
* Fixed output bugs with post-install log.

[7.0] neofetch 7.1.0

Today I released neofetch 7.1.0.

* Neofetch will now detect Ubuntu flavours (Xubuntu, etc) and show their logo.
* The latest macOS is now supported.
* Memory output unit can now be changed (KiB, MiB, GiB).
* Added es-shell support.
* Show -current or -release when using OpenBSD.
* Desktop environment output now shows version.
* ... see commits.

Thanks to everyone involved.


[8.0] gkiss

GKISS (GNU KISS Linux) is an alternative rootfs and set of repositories for KISS
providing glibc instead of musl.

This is a great option for those needing glibc (and it can be run in a chroot
under musl too!).

[9.0] paleta

paleta is a tool I recently wrote in C which enables on-the-fly terminal
palette modification, independent of terminal emulator. This covers foreground,
background, cursor and colors 0-255.

A list of hex colors is passed via stdin to paleta, the input is morphed into
a set of escape sequences and sent to every running terminal in the
system + stdout. Every terminal's colorscheme is updated in realtime!