Josh,

I think this would be an awesome talk. I'm particularly interested in the /sysroot upgrading process. 
I like the idea of having an immutable root that you can unwind things if they go horribly wrong.

I'm game for having this as our Dec. topic!

Thanks,
Tim.

On Sat, Nov 16, 2019 at 12:03 PM Joshua Stone via WLUG <wlug@lists.wlug.org> wrote:
Hey everyone,

I'd just like to say I had a fun time at Thursday's meeting! I'm
already looking forward to the next meeting as I'm sure there are
plenty of interesting topics we could discuss.

As mentioned before, I think we could examine technologies that'd be
beneficial to Linux on the desktop, like comparing packaging
technologies including Flatpak, Snap, and AppImage.

I think we could also look into the future of containers on the desktop
as a whole with projects like Flatpak, toolbox, podman, and Silverblue.

My workflow over the past few years has been using these upcoming
technologies as daily drivers as they lead to saner development. For
example, my laptop runs Silverblue (
https://fedoramagazine.org/what-is-silverblue/) which is a Fedora
variant designed around immutability where a new system image is
committed as the new /sysroot without affecting the state of the
running system. This is reminiscent of Android A/B updates, although
the update backend -- ostree -- has elements of a version control
system like git.

Toolbox (
https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/) is
also interesting as it lets you switch into an unprivileged development
environment that can be built up and torn down without affecting the
host as tools are installed inside a container. For example, I can
build and install duc inside a toolbox without actually installing to
the host /usr:

[jstone@jstone-laptop ~]$ toolbox create --release 31 --container duc-
test
[jstone@jstone-laptop ~]$ toolbox enter --container duc-test
⬢[jstone@toolbox ~]$ git clone https://github.com/zevv/duc
⬢[jstone@toolbox ~]$ cd duc
⬢[jstone@toolbox duc]$ sudo dnf --assumeyes install gcc make autoconf
automake pango-devel cairo-devel tokyocabinet-devel ncurses-devel
⬢[jstone@toolbox duc]$ autoreconf --install
⬢[jstone@toolbox duc]$ ./configure
⬢[jstone@toolbox duc]$ make
⬢[jstone@toolbox duc]$ sudo make install # no password needed
⬢[jstone@toolbox duc]$ mkdir ~/.cache/duc
⬢[jstone@toolbox duc]$ tcbmgr create ~/.cache/duc/duc.db
⬢[jstone@toolbox duc]$ duc index ~
⬢[jstone@toolbox duc]$ duc gui

Finally, I've been installing most of my apps as Flatpaks, which uses
the same file storage backend as Silverblue to manage apps and shared
runtimes. This app distribution technology allows you to decouple apps
and operating systems as everything is built and run inside a sandbox,
making upgrades easier. Compare needing only one version of an app to
package as a flatpak, versus packaging for different versions of
distros:

https://flathub.org/apps/details/org.clementine_player.Clementine
https://www.clementine-player.org/downloads

I'd be glad to hear what everyone has to say!

-Josh
_______________________________________________
WLUG mailing list -- wlug@lists.wlug.org
To unsubscribe send an email to wlug-leave@lists.wlug.org


--
I am leery of the allegiances of any politician who refers to their constituents as "consumers".