💾 Archived View for tilde.team › ~kiedtl › k1ss › blog › 20200209a.gmi captured on 2022-06-12 at 05:29:59. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2020-11-07)
-=-=-=-=-=-=-
More package manager goodies this week.
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:
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. ;; esac
This paves the way for finer tuning of compilation settings for LTO and more aggressive compiler options. See:
The 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 are git 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 setgid input 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.0
a9b34e1 libinput: bump to 1.15.1
f86714c busybox: Fix mdev.run. Closes #140
eb4160f opendoas: bump to 6.6.1
2679adc libarchive: new package at 3.4.1
87629a8 busybox: fix checksums
b9df4fa kiss-utils: bump to 1.2.0
b476d52 kiss-utils: bump to 1.2.1
dc2ee5c kiss-utils: bump to 1.2.2
e486531 nodejs: bump to 13.8.0
ba246df xorg-server: Run setgid. input group no longer needed per-user.
ef7f7fc libinput: Remove postinstall message
e951a27 vim: don't link to util-linux
891344b kiss-utils: bump to 1.3.0
5611459 baseinit: bump to 0.4.1
1316592 libSM: Remove util-linux dependency
1fa3519 vim: remove unused flag
d4c1ea6 glib: Remove util-linux dependency
ccf9ffb gdk-pixbuf: Don't build tests
84e7d60 gtk+3: Don't install tests
5901fbf python: remove util-linux dependency
5ea31f6 kiss-utils: bump to 1.3.1
66c8f14 meta: Move non-xorg related packages out of xorg/
3d47a77 xorg: Drop www. from sources
5ea359f gdk-pixbuf: Remove shared-mime-info dependency
dcacfe9 gtk+3: Remove shared-mime-info dependency
7621366 gtk+2: remove shared-mime-info dependency
8c7acc6 e2fsprogs: Remove util-linux dependency
96ad6fb gcc: bump version for libgomp and static-pie fixes.
1dc1377 kiss-utils: bump to 1.4.0
b2a5d52 json-c: fix depends. Closes #143 by @artemkobets
0cbdf32 xf86-video-ati: Fix rootless xorg
e67a209 extra-cmake-modules: bump to 5.67.0
cfbe193 kiss-utils: bump to 1.4.1
1a9ada8 opendoas: added new doas.conf for latest kiss
eecc3f2 grub: Fix build after GCC changes
0483840 strace: bump to 5.5 (#319)
2edfb7b gawk: bump to 5.0.1 (#318)
a915d2d gdb: new package at 8.3.1 (#300)
8f9db40 slmenu: new package at 0.1 (#310)
59ce0e6 xmlsec1: new package at 1.2.29 (#316)
f38228e oath-toolkit: new package at 2.6.2 (#317)
90ba99a fff: fix depends (#305)
b512ccf ntfs-3g: new packages at 2017.3.23 (#306)
11dd377 syncthing: new package at 1.3.4 (#308)
7488c6a lazygit: bump to 0.14 (#309)
f687a7a sinit: build without depending on ubase (#276)
5ef22f8 Update poppler-glib to 0.85.0 (#301)
bf05708 New package: poppler at 0.85.0 and removal of poppler-glib (#314)
2907091 weechat: Fix depends. Closes #302
28eb81c libgpg-error: bump to 1.37
0782430 imagemagick: bump to7.0.9-22
795969a mawk: new package at 1.3.4-20200120 (#313)
61f1da0 sbase: respect environmental vars, fix static linking (#303)
fd16383 ubase: respect LDFLAGS (#304)