💾 Archived View for tilde.team › ~kiedtl › k1ss › blog › 20200303a.gmi captured on 2022-04-29 at 11:52:50. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2020-11-07)

-=-=-=-=-=-=-

Subject This week in KISS (#13)

From Dylan Araps <dylan@k1ss.org>

Date Tue, 3 Mar 2020 12:07:09 +0100

Hello all.

This week I worked on slimming down the official repositories. The official repositories no longer require, libnl, automake, autoconf, libtool, python-mako and others.

https://user-images.githubusercontent.com/6799467/81232111-f39e7480-8ffc-11ea-86ed-9332272e91ac.jpg

Perl is now an optional dependency and is only required when building Firefox or libvpx. The kernel also requires perl though there are patches available for removing this requirement.

YASM is now also an optional dependency and NASM is used everywhere. The only package which requires YASM during builds is Firefox which is optionally also available as a binary through firefox-bin.

The installation guide will be updated once GCC 10 is released to include the kernel changes above and how to avoid perl.

I also worked on removing libxdg-basedir from picom and my patch was accepted and merged upstream [1]. This library is tiny, unmaintained and doesn't see much use anymore.

[1] https://github.com/yshui/picom/pull/322

WYVERKISS 0.2 released

Wyverkiss is an alternative root-fs tarball created by Konimex which uses LLVM/clang as the default compiler. This extends to removing as much GNU as possible.

This isn't an officially supported project so any bugs should be reported to the wyverkiss repository. I thought I'd post about it regardless as it is KISS related and may be of some interest to you.

To quote the README:

Wyverkiss is an alternative rootfs for KISS Linux. If KISS goes GNU, we go the opposite.

Source:

https://github.com/wyvertux/wyverkiss/releases/tag/0.0.2

DOCS

Every KISS install now optionally includes the distribution's documentation (in /usr/share/doc/kiss). This was done for a couple of reasons.

The files themselves take up no space at all as they're merely plain .txt files. With this change, every KISS user has the entire distro stored locally on their system.

This was fairly simple to achieve as the repositories are git based and contain full history, the package manager is written in shell so the installed program _is_ the source code and the docs are little .txt files.

Were something to happen to me (knock on wood!), there is now nothing to lose access to. Every KISS user has the ability to continue to keep their system up to date and to additionally keep KISS alive.

Remember, the distribution is designed to be maintainable by a single person. You have the right and means as a user to drop the dependence on me at any time.

SYSMGR

Cem Keylan, (the creator of Carbs Linux (a distro based on KISS)) has released a simple system supervisor. The project was written with KISS Linux an Carbs Linux in mind and Cem is calling for testers.

The project is written in POSIX shell and should require no additional dependencies. If you are interested, please try it out.

I am yet to use it though it's always good to have options. I thought I'd post about this as it's a minimal alternative for those using KISS who are looking to move away from busybox init.

Source:

https://github.com/cemkeylan/sysmgr

BIRCH

I spent some time working on my IRC client as well. I rewrote it from the ground up and it's now in a "ready" state. Documentation is still lacking which I will tackle over the next week.

While all of the core functionality has been implemented, you may still find some bugs. This is expected!

A little introduction first. Birch is an IRC client written in around 200 lines of bash (excluding blank lines and comments).

birch screenshot

Interesting features include:

These may seem pretty basic to you as a reader though keep in mind that bash is very tricky to work with when it comes to writing any kind of TUI.

The trickiest part is that the input prompt and IRC listener must run asynchronously and small portions of the window must be updated without affecting other parts of the window.

So, the listener runs in the background. When you background something in bash, it runs in a subshell. What this means is that you can no longer share variables between the now separate processes.

This made it very hard to communicate between input/output. I ended up using files for IPC which turned out great for logging purposes. Lots of fun to be had.

I know I'll get this question: "Why bash?". I'll answer as simply as possible. It's fun and challenging!

Source:

https://github.com/dylanaraps/birch

POW

I also spent a little time writing a simple and barebones laptop power management tool called pow. It merely provides two commands, 'pow pow' to swap to power (AC) and 'pow bat' to swap to battery.

On my hardware the battery mode passes all of powertop's tunable nitpicks though more rules may need to be added for yours. Patches are welcome.

This tool provides no daemon to listen to AC/Battery events. It only provides the switching mechanism. It's up to you how, when and why it should be run.

There is no configuration file either as the program is so tiny. Once edits are made and it works, there's no real need to ever touch it again.

As an example, you could pair this with acpid to automatically run it on specific events. I hope you find some use out of it, I have!

Source:

https://github.com/dylanaraps/pow

SOWM

SOWM is a simple window manager of my creation and is the closest thing to a "default" window manager in a KISS system. It comes in at around 200 LOC and is extendable through patches.

sowm screenshot

The patch process for SOWM has changed to a more maintainable system. Each patch is now a pull request on GitHub which will be kept open in perpetuity.

The author of the pull request will know when there are merge conflicts as the web-UI won't allow the PR to be merged. GitHub also allows patches to be generated by appending '.patch' to the PR URL.

I also worked on adding basic titlebar support to SOWM. They're pretty useless right now though I'll be extending the patch to add title text, buttons, etc. It's a start.

Patches:

https://github.com/dylanaraps/sowm/pulls

---

Dylan Araps (62):

wpa_supplicant: Link statically to libnl-tiny

libnl: move to community

eiwd,openresolv: Move to community

wpa_supplicant: minor fixes

opendoas: fix comment

kiss: More portable install usage

liberation-fonts: More portable install

json-c: Move to community

libevent: Move to community

kiss: bump to 1.7.1

fontconfig: Remove automake dependency

GNU auto*,libtool: Move to community

glib: bump to 2.63.6

wpa_supplicant: use CC. @konimex. Closes #160

baseinit: bump to 0.4.2

baseinit: bump to 0.4.3

baseinit: bump to 0.4.4

gcc: latest snapshot

python: bump to 3.8.2

baseinit: bump to 0.5.0

mesa: Use own python-mako. python-mako: drop

various: fix maintainer

various: fix maintainer

python: fix chmod

python2: fix chmod

meson bump to 0.53.2

glib: never pcre

kiss: bump to 1.7.2

bison: Remove perl dependency

rsync: Remove perl dependency. Thanks @E5ten

x264: Remove perl depend

gtk+3: Remove perl dependency

xkeyboard-config: Remove perl dependency

rsync: Add comment

xkeyboard-config: Simpler xml2lst. Thanks @E5ten

glib: bump to 2.64.0

rust: bump to 1.41.1

xvidcore: use yasm

lame: Disable nasm.

libass: Use nasm

xvidcore: Use nasm.

libvpx: use nasm

libjpeg-turbo: Use nasm

ffmpeg: use nasm

xkeyboard-config: Fix checksums

libevdev: bump to 1.9.0

fribidi: bump to 1.0.9

imagemagick: bump to 7.0.9-26

libnl: Add to community

eiwd,openresolv: Add to community

apulse: drop from community

json-c: Add to community

libevent: Add to community

GNU auto*,libtool: Move to community

compton,esetroot,keychain: Drop from community

zsh: drop from community

luajit: Create missing symlinks

guile: drop from community

mercurial: Drop from community.

imagemagick: bump to 7.0.9-27

ntfs-3g: Fix build. Closes #489

mc: Remove from community

Adam Schaefers (7):

drop nawk, add nawk-git, closes #467

nettle: remove texinfo dependency

pciutils: fix #490

libcap: bump to 2.33, use_sched_not_pthread.patch

libcap: use sed, not patch

Cem Keylan (4):

lazygit: bump to 0.15.2

lazygit: bump to 0.15.3

libsoup: bump to 2.68.4

lazygit: bump to 0.15.5

Dilyn Corner (5):

xf86-input-mtrack: new package at 0.5.0

modified: xf86-input-mtrack/build

modified: build

modified: depends

xf86-input-mtrack: bumped to 0.5.1

Dzogovic Vehbo (1):

fix lua rights - thanks to paper

Kris Heck (1):

Various packages: adoption (#415) (#454)

M. Herdiansyah (3):

json-c: swap to cmake (#457)

picom: remove libxdg-basedir depends (#458)

libxdg-basedir: drop package (#459)

Matthew W (1):

mercurial: new package at 5.3

Muhammad Herdiansyah (6):

picom: use patch submitted to upstream

go: update to 1.14

picom: switch to merged patch

libsodium: new package at 1.0.18

minisign: new package at 0.8

libsodium/minisign: move to proper directories

Owen Rafferty (7):

sfeed: new package at 0.9.16

xwallpaper: bump to 0.6.3

glu: new package at 9.0.1

cython: new package at 0.29.15

freeglut: new package at 3.2.1

flashrom: new package at 1.2

keyutils: new package at 1.6.1

Will Eccles (3):

cfm: update to 0.5.4

cfm: update to 0.5.6

cfm: update to 0.6.0

dzove855 (1):

Add dylan's improvement.