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).


  laptop


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


  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)