Subject This month in KISS (#1)
From Dylan Araps <dylan@k1ss.org>
Date Tue, 25 Apr 2020 12:07:09 +0100
Hello,
First off. Apologies for the rather large delay in the release of this post. My
laptop of four years decided to never again turn on. The model (Lenovo Yoga 900)
is plagued with power issues which I came to know very well.
This caused me to take a temporary leave from my usual post until a replacement
laptop could arrive. I was gone a total of 18 days, I believe. I would like to
thank the community and all users for keeping things going while I was gone.
I was able to replace the laptop in a timely manner due to three very generous
donations which I received out of the blue. I can't even begin to thank you,
your kindness left me over the moon.
From now on, these posts will be written and published monthly (instead of
weekly). This will make the posts fuller, more interesting and allow me to
spend more time writing them.
Seeing as I was inactive for a good part of this month, this post will be
smaller than what I envisioned for "This Month in KISS". Expect the next one
to be what I describe above.
KISS saw a large influx of users while I was away and I'd like to formally
welcome everyone. o/
(KISS has also recently been added to DistroWatch!
https://distrowatch.com/table.php?distribution=kiss)
NEW LAPTOP
I now develop KISS on an "Honor MagicBook 14". For those unaware of "Honor",
it's a company owned by Huawei (which previously stuck to the release of various
Android smartphones but has since released laptops).
The laptop was €550 and arrived within a week of purchase. This being Greece,
I was able to buy the laptop online with cash (via cash-on-delivery)! It's a
cool system which enables you to shop online without the use of a card/Paypal.
I'm very happy with the laptop. I didn't have much choice in the matter as my
priorities were obtaining something quickly and within my budget (at that time).
I believe I made the best choice possible in that moment.
The specification are as follows:
- Ryzen 3500u (I now have 4 cores instead of the 2 I had prior!)
- 256GB NVME SSD (It's weird not having /dev/sdXY anymore)
- 8GB of memory (7GB usable) (The aGPU actually reserves 1GB for its own use)
- 1080p IPS matte display (Very nice for outdoor usage)
Odd/Interesting things:
- The webcam sits *below* a key on the keyboard and a press will pop it up.
There's no webcam in the usual place (above the display). I no longer have to
tape up my webcam in other words.
- The FN key is more like Caps Lock than Shift (a toggle). I don't know if this
is something uncommon but I've never personally come across it.
- The power button is a fingerprint reader. While I'm no longer taping my
webcam, I'm now taping over my power button.
- The laptop charges (with fast charging) over USB-C. I'm really happy with this
as my last laptop had its own special charger and replacements were nigh
impossible to find.
PACKAGE MANAGER CHANGES
A lot of smaller changes have been made and a myriad of bugs fixed. I'll stick
to mentioning the interesting or major changes as this post will be rather long.
The package manager no longer uses 'rsync' to handle transfers during
installation and instead handles everything using basic utilities (cp, etc).
In other words; if you do not personally use rsync, you may now remove it!
The behavior of 'kiss <action>' when no further arguments are passed has
changed. Instead of aborting, the package manager will check to see if '$PWD'
resolves to a kiss package.
What I've been told is CRUX-like usage looks as follows (zlib as example):
-> cd /path/to/zlib
-> kiss b
-> kiss i
What's great about this is that it bypasses your enabled list of repositories.
The repository it belongs to will be added to your `$KISS_PATH` _only_ for this
invocation of the package manager.
Any utilities named in 'kiss-*' in your '$PATH' will now integrate directly
with the package manager. They'll appear in the help output and be usable via
'kiss <name>' (<name> being the utlitity name with 'kiss-' stripped).
Here's what it looks like:
-> kiss [a|b|c|i|l|r|s|u|v] [pkg] [pkg] [pkg]
-> alternatives List and swap to alternatives
-> build Build a package
-> checksum Generate checksums
-> install Install a package
-> list List installed packages
-> remove Remove a package
-> search Search for a package
-> update Check for updates
-> version Package manager version
-> Installed extensions (kiss-* in $PATH)
-> cargo-urlgen Generate sources for rust packages.
-> chbuild Create/destroy temporary chroots.
-> chroot Enter a kiss chroot.
-> depends Display a package's dependencies.
-> depends-finder Find missing dependencies by parsing 'ldd'.
-> export Turn an installed package into a KISS tarball.
-> fork Fork a package to the current directory.
-> link Link a repository file to another repository.
-> maintainer Find the maintainer of a package.
-> manifest Display all files owned by a package.
-> manifest-tree Display all files owned by a package in a tree.
-> new Create a boilerplate package.
-> orphans List orphaned packages.
-> outdated Check installed packages for updates.
-> owns Check which package owns a file.
-> repodepends Display a package's original dependencies.
-> reset Remove all packages except for the base.
-> revdepends Display packages which depend on package.
-> size Show the size on disk for a package.
FLATPAK
One of the most frequent questions I receive about KISS is support for software
like Steam, Spotify, Discord and others which don't run natively on musl at all.
There are also open source offerings like Libreoffice, Gimp, Krita, etc which
are very difficult and time consuming to package (especially given KISS' chosen
software stack)..
I usually answer this question by directing users to a 'glibc chroot'. What this
entails is a chroot of a glibc distribution which is then used to house and run
the software.
This runs flawlessly though is a little difficult to setup and manage compared
Flatpaks, snaps and appimages.
I have packaged Flatpak for KISS and modified it to fit nicely into the system.
For now, Flatpak lives in a separate repository as there is a rather important
bug which needs to be resolved.
KISS doesn't lock you into a single provider for Audio and an ALSA only system
is typically what users go for. An issue with Flatpak arises where any Flatpaks
without support for ALSA will refuse to output sound.
Using something like apulse to solve the issue isn't possible as apulse would
have to live _inside_ the Flatpak (and not on the host). Flatpak also expects
a functional PulseAudio server to be running on the host.
Most Flatpaks will still function correctly without working audio. What's funny
is that one of the Flatpaks which crashes on startup (due to no audio) is
LibreOffice(!).
I'm exploring a number of solutions to this problem and I hope to have some kind
of working fix soon. If anyone knows more or has tried to solve this problem
themselves, please get in touch.
Source: https://github.com/dylanaraps/kiss-flatpak/
KISS PORTED TO i586
KISS has been ported to i586 by a user. The author of the port can explain
things better than I:
> I found this machine and would have probably thrown it away, but I decided
> to wrap my head around porting KISS to another architecture and show this old
> metal some love.
> Xserver, ffmpeg + mpv and webkit2gtk are running. Webkit2gtk takes more than
> overnight to compile :D . Gcc takes ~6h.
> I have released a chroot in my repo. Its still WIP!
Source: https://github.com/sdsddsd1/kiss-s3d4/tree/master/kiss-i586
USER REPOSITORY FOR DBUS and friends.
A user by the name of Perish has created a KISS repository which provides dbus
and any related software with the goal to also provide Bluez for working
Bluetooth support.
Any KISS user can simply clone this repository, add it to their `KISS_PATH` and
install dbus (eventually Bluez too).
Source: https://github.com/periish/kiss-dbus
USER REPOSITORY for OPENJDK and friends
Another user repository (with a specific purpose) has popped up. This time by
a user named Eudaldgr and with the aim to provide working versions of openjdk.
OpenJDK still requires some work before it can be built and the repository is
looking for contributors to assist in this method. If you're interested,
check it out.
Source: https://github.com/eudaldgr/kiss-java
Dylan
----
Dylan Araps (83):
libva: nitpick
ssh: Run keygen on post-install
libressl: Use curl
gtk+3: bump to 3.24.16
gtk+2: Faster builds
kiss: bump to 1.10.0
gcc: bump to latest snapshot
python: Re-add CFLAGS as clang (as of 10.0.0) supports it
ccache: bump to 3.7.9
kiss: bump to 1.10.1
samurai: bump to 1.1
meson: bump to 0.54.0
xorg-server: bump to 1.20.8
kiss: bump to 1.10.2
atk: bump to 2.36.0
bison: bump to 3.5.4
cmake: bump to 3.17.1
dhcpcd: bump to 9.0.1
glib: bump to 2.64.2
gtk+3: bump to 3.24.18
libdrm: bump to 2.4.101
libva: bump to 2.7.0
libva-utils: bump to 2.7.1
mesa: bump to 20.0.4
libinput: bump to 1.15.5
busybox: Add modprobe patch
git: bump to 2.26.1
xorgproto: bump to 2020.1
nodejs: bump to 13.13.0
kiss: bump to 1.10.3
busybox: Enable mkswap
cbindgen: bump to 0.14.1
firefox: bump to 68.7.0esr
libressl: Fix typo. Closes #181
libressl: Fix checksums
alsa-utils: Fix udev dir
freetype-harfbuzz: Bump to 2.10.1+2.6.5
busybox: Fix unicode display bug
xz: Disable nls
alsa-utils: Disable nls
fontconfig: Disable nls
gnupg1: Disable nls
xkeyboard-config: Disable nls
kiss: bump to 1.11.0
kiss: bump to 1.11.1
pixman: bump to 0.40.0
kiss: bump to 1.11.2
firefox: Enable webrtc in builds
firefox-bin: bump to 68.7.0esr
libva: bump to 2.7.1
git: bump to 2.26.2
python2: bump to 2.7.18
dhcpcd: bump to 9.0.2
node: bump to 14.0.0
busybox: Fix broken install command
mesa: bump to 20.0.5
bzip2: Saner build
glib: bundle json-glib
glib: Fix build when not installed prior. Closes #184
tzdata: bump to 2020a
rust: bump to 1.43.0
dhcpcd: Drop privsepuser auto detection
kiss: bump to 1.12.0
binutils: Enable gold/lto
rsync: Move to extra
xz: fix source
kiss: bump to 1.12.1
gzip: add zcat
busybox: Enabled MODUTILS stuff
imagemagick: Drop size to 6MB
imagemagick: bump to 7.0.10-3
imagemagick: bump to 7.0.10-6
shellcheck-bin: bump to 0.7.1
nano: bump to 4.9.2
htop: Fix build with GCC 10. Closes #642
i3: Drop from community. Closes #618
harfbuzz-icu: Bump to 2.6.5
intel-media-driver: bump to 20.1.1
imagemagick: bump to 7.0.10-7
bash: bump to 5.0.p17
imagemagick: bump to 7.0.10-8
Adam Schaefers (8):
mksh: bump version to 58 (#610)
Iproute2: bump to 5.6.0 (#650)
strace: bump to 5.6 (#649)
gnutls: new maintainer (#648)
openvpn: bump to 2.4.9 (#700)
gnutls: bump to 3.6.13 (#699)
mksh: bump to R59 (#698)
gawk: bump to 5.1.0 (#697)
Anirudh Oppiliappan (1):
radare2: bump to 4.4.0 (#710)
Artem Kobets (1):
man-pages: update to 5.06 (#660)
Ben Cornett (1):
vmwh: drop patches (#676)
Camille (19):
micro: new package at 2.0.2 (#628)
glm: new package at 0.9.9.5 (#634)
slop: new package at 7.4 (#635)
pcre2: new package at 10.34 (#625)
gnuplot: new package at 5.2.8 (#630)
maim: new package at 5.5.3 (#636)
alsa-plugins: new package at 1.2.2 (#637)
dsp: new package at 1.6 (#639)
ncmpcpp: new package at 0.8.2 (#627)
ladspa: new package at 1.15 (#638)
mpdas: new package at 0.4.5 (#629)
ppp: new package at 2.4.8 (#655)
pptp: new package at 1.10.0 (#632)
freerdp: new package at 2.0.0-rc4 (#633)
fish: new package at 3.1.0 (#626)
slop: update to 7.5 (#668)
maim: update to 5.6.3 (#669)
mpdas: add service file (#691)
mpdas: hide service file output (#694)
Cem Keylan (16):
lazygit: remove package (#592)
webkit2gtk: bump to 2.28.0 (#593)
glib-networking: bump to 2.64.1 (#608)
Change maintainer mail (#616)
webkit2gtk: bump to 2.28.1 (#664)
mpd: bump to 0.21.22 (#644)
ruby: bump to 2.7.1 (#622)
glib-networking: bump to 2.64.2 (#657)
ubase: add illiliti's mount patch (#671)
mpd: provide service files. Resolves #646 (#687)
sysmgr: bump to 0.3.0 (#688)
mpd: fix faulty service file (#690)
sent: add new package at 1 to community (#696)
libsoup: build with glib-networking (#715)
mpd: bump to 0.21.23 (#721)
webkit2gtk: bump to 2.28.2 (#727)
Cliford Sab (3):
berry: drop from community (#619)
xbacklight: drop from community (#620)
nnn: bump to 3.1 (#685)
Cédric (6):
Update poppler to 0.87.0 (#607)
Trailing space removed from version (#612)
Girara: update email address of maintainer (#611)
msmtp: update to version 1.8.8 (#706)
tdm: update email of maintainer (#705)
fdm: update email of maintainer (#704)
Dilyn Corner (5):
Iosevka nerd fonts (#614)
Qt5 bump (#621)
Fixes Falkon looking in the wrong directory for Qt resources. (#665)
extra-cmake-modules bumped to 5.69.0 (#666)
Removed unzip from build script (#679)
Eudald Gubert i Roldan (3):
font-awesome: splitted into font-awesome-{ttf,otf} (#624)
surf: new package at 2.0 (#681)
zzz: new package at 1? (#683)
Jonathan Dahan (1):
osh: bump to 0.8.pre3 (#600)
Kiëd Llaentenn (3):
ripgrep: update v12.0.0 => v12.0.1 (#673)
tokei: update v11.0.0 => v11.1.0 (#675)
rage: update v0.3.1 => v0.4.0 (#674)
Kris Heck (5):
netsurf, perl-html-parser, perl-html-tagset: drop (#601)
wireguard-tools: new package at 1.0.20200319 (#678)
wireguard-tools: remove unnecessary build flags (#682)
tor: add runit service (#720)
tor: move /usr/etc/tor to /etc/tor (#726)
M. Herdiansyah (5):
weechat: remove pkg (#598)
feh: update to 3.4 (#661)
lvm2: update to 2.03.09 (#662)
go: update to 1.14.2 (#663)
unifont: update to 13.0.01 (#640)
Michael Ablassmeier (3):
add entr to community repo (#680)
add pv to community repository (#686)
add tcpdump and needed libpcap dependency (#689)
Timothy Robert Bednarzyk (12):
libusb: new package at 1.0.23 (#605)
bdwgc: new package at 8.0.4 (#603)
w3m: new package at v0.5.3+git20190105 (#604)
usbutils: new package at v012 (#606)
ccls: new package at 0.20190823.5 (#623)
usbutils: add eudev to depends, remove make requirement for bash (#654)
libusb: add depends file with eudev dependency (#653)
w3m: change version to 0.5.3 (#617)
libfuse: new package at 3.9.1 (#701)
fuse: new package at 3.9.1 (#708)
sshfs: new package at 3.7.0 (#702)
fuse: set udevrulesdir for non-udev systems (#717)
ax (9):
Numlockx: new package at 1.2 (#591)
Libuv: new package at 1.35.0 (#589)
Btrfs-progs: bump to 5.6 and depends change (#684)
Giblib: new package at 1.2.4 (#595)
Scrot: new package at 0.8 (#596)
Bind utils: new package at 9.17.0 (#590)
ranger: new package at 1.9.3 (#692)
Giblib: sources and checksums issue (#711)
Giblib: checksums problem (#713)
penguin-ff (1):
mutt: update to 1.13.5 (#641)
periish (3):
Fixed --sysconfdir in nano build options. Now set to /etc. (#718)
New package: fzf (#719)
Added sx
sdsddsd1 (1):
wyebadblock: new package at git-version (#728)