09/02/2020: This week in KISS (#10)
More package manager goodies this week.
ARCHIVED PAGE More package manager goodies this week.09/02/2020: This week in KISS (#10)
It is now possible to hook into specific "events" in the package manager with a script. Right now only pre-build and post-build are supported though I expect to see this list expand as users need them.
The KISS_HOOK environment variable takes the path to a shellscript which is then executed with three additional environment variables defined. Rather than needing a separate script per event, a single script is all that is required.
The following three environment variables are defined:
$PKG: The name of the package.$TYPE: The event type (valid: pre-build, post-build).$DEST: The path to where 'make install', etc will put the package.A simple script to set different CFLAGS for specific flags could look as follows.
#!/bin/sh
case $TYPE in
    pre-build)
        case $PKG in
           zlib) export CFLAGS="-Os -static" ;;
           curl) export CFLAGS="-O3" ;;
        esac
    ;;
    post-build)
        # post-build code here.
    ;;
esacThis paves the way for finer tuning of compilation settings for LTO and more aggressive compiler options. See: /r/kisslinux post
/etc/ handlingThe package manager now performs a 3-way "handshake" to determine how it should handle the installation of files in /etc. In short, when a file cannot be overwritten due to user modifications it is installed as $file.new.
This is very similar to how Arch Linux handles /etc and it's a really nice way of doing things.
A new opt-in feature has been added which will open a scrollable diff of every modified file for a system update. This was implemented to allow users to easily get a deeper insight as to what will happen during updates.
The repositories themselves aregit repositories so this is simply a git diff call post-fetch.
To enable this feature set KISS_AUDIT to 1.
Our GCC builds enable PIE by default though this wasn't applied when compiling statically. A patch was submitted by Owen Rafferty which fixes this issue.
To revert to the previous behavior the following $CFLAGS can be used -fno-pie -no-pie.
Our default non-root Xorg configuration required the user be in the input group to function correctly. This is no longer a requirement and you may now remove yourself from the group.
Instead, our Xorg is now setgidinput which limits the permissions to /dev/input solely to Xorg. Any applications spawned under Xorg will not be able to read /dev/input.
This is a nicer and more secure default configuration.
These two tar implementations are now supported in the package manager further reducing the dependence on busybox. I have found these to be faster than busybox's tar for those large source tarballs.
f1db1cf cryptsetup: bump to 5.67.0a9b34e1 libinput: bump to 1.15.1f86714c busybox: Fix mdev.run. Closes #140eb4160f opendoas: bump to 6.6.10751732 glib: bump to 2.63.52679adc libarchive: new package at 3.4.187629a8 busybox: fix checksums2a1127c kiss: bump to 1.2.0b9df4fa kiss-utils: bump to 1.2.06447193 baseinit: bump to 0.4696613a cmake: bump to 3.16.4287bee5 kiss: bump to 1.2.1b476d52 kiss-utils: bump to 1.2.12969c8c kiss: bump to 1.2.2dc2ee5c kiss-utils: bump to 1.2.2e486531 nodejs: bump to 13.8.0ba246df xorg-server: Run setgid. input group no longer needed per-user.ef7f7fc libinput: Remove post-install messagee951a27 vim: don't link to util-linux662f59d kiss: bump to 1.3.0891344b kiss-utils: bump to 1.3.05611459 baseinit: bump to 0.4.11316592 libSM: Remove util-linux dependency1fa3519 vim: remove unused flagd4c1ea6 glib: Remove util-linux dependencyccf9ffb gdk-pixbuf: Don't build tests84e7d60 gtk+3: Don't install tests5901fbf python: remove util-linux dependencybbec1d1 kiss: bump to 1.3.15ea31f6 kiss-utils: bump to 1.3.13a38408 nss: bump to 3.5066c8f14 meta: Move non-xorg related packages out of xorg/3d47a77 xorg: Drop www. from sources99d840e eiwd: move to extra5ea359f gdk-pixbuf: Remove shared-mime-info dependencydcacfe9 gtk+3: Remove shared-mime-info dependency7621366 gtk+2: remove shared-mime-info dependency8c7acc6 e2fsprogs: Remove util-linux dependency96ad6fb gcc: bump version for libgomp and static-pie fixes.cbbbf9b kiss: bump to 1.4.01dc1377 kiss-utils: bump to 1.4.0b2a5d52 json-c: fix depends. Closes #143 by @artemkobets0cbdf32 xf86-video-ati: Fix rootless xorge67a209 extra-cmake-modules: bump to 5.67.06e64fb7 kiss: bump to 1.4.1cfbe193 kiss-utils: bump to 1.4.11a9ada8 opendoas: added new doas.conf for latest kisseecc3f2 grub: Fix build after GCC changes