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) ________________________________________________________________________________ Dylan Araps (C) 2019-2020 Linux(R) is the registered trademark of Linus Torvalds in the U.S. and other countries.