Snap and modern software (was: Remove /snap directory)

Jeffrey Walton noloader at gmail.com
Wed Dec 14 01:41:02 UTC 2022


On Tue, Dec 13, 2022 at 5:28 PM Keith <keith at caramail.com> wrote:
>
> On 12/13/22 2:30 PM, Jeffrey Walton wrote:
> > On Tue, Dec 13, 2022 at 1:45 PM Ian Bruntlett <ian.bruntlett at gmail.com> wrote:
> >>
> >> On Tue, 13 Dec 2022 at 18:14, Liam Proven <lproven at gmail.com> wrote:
> >>>
> >>> Since then, I have relented from this hardline position, partly after
> >>> listening to sometime list member Oliver Grawert's talk at the Ubuntu
> >>> Summit last month. I also attached a few of my laptops to my free
> >>> Ubuntu Pro account, which automatically, and without asking,
> >>> re-installed Snap and installed the livepatch tool. :-D
> >>
> >> Was Oliver's talk on snaps recorded somewhere? Tried looking for it on Google but didn't find that.
> >>
> >>> So I tolerate it, but I mostly use deb-get to install native packages,
> >>> and usually I have almost no snaps installed on most of my machines.
> >>
> >> Same here. For one (major) reason: it will mean an installation of an LTS Ubuntu will get to run reasonably up to date software (at least, regarding snaps). OTOH, I could be *completely* wrong with that observation :)
> >
> > I've never been able to figure out what Snap is supposed to do that
> > Apt does not do. In my mind's eye, it's a solution looking for a
> > problem.
> >
> > To keep software up-to-date by following major releases on Ubuntu, you
> > use do-release-upgrade every year. That's similar in cadence to Fedora
> > and dnf-system-upgrade.
> >
> > When a user chooses an Ubuntu LTS or ESM release, then they are only
> > following point releases. They are wandering into antique software
> > land. It's the realm of Red Hat Enterprise Linux and CentOS, where a
> > stable ABI is valued over modern software.
> >
> > Snap does not solve the problem of building software with up to date
> > components. Ubuntu's SRU [1] does not allow it. About the best you can
> > do is Upstream Microreleases.[2]
>
> That's not true. Snap packages are not governed by SRU policy at all.

Correct. But that's not my point.

The base OS is governed by SRU, and that's what matters. That's what
custom software is going to use. That's what deb packages are going to
use. That's what you are going to use when you build your favorite
warez from GitHub.

> > As a case in point, suppose I want to build and use the latest cURL
> > library in my C program. cURL has a number of dependencies that will
> > remain downlevel: zLib, Bzip2, IDN2, PCRE2, libxml2, libunistring,
> > ngHTTP2, OpenSSL, and OpenLDAP. Those are first order dependencies,
> > and they don't include the secord order dependencies, like GNU's
> > Gnulib, Ncurses, iConvert, Readline, etc.
>
> https://curl.se/
> "What's the latest curl?
>
> The most recent stable version is 7.86.0, released on 26th of October
> 2022. Currently, 81 of the listed downloads are of the latest version."
>
> $ snap info curl
> name:      curl
> summary:   CLI tool for transferring data with URL syntax (HTTP, HTTPS, etc)
> publisher: Wouter van Bommel (woutervb)
> store-url: https://snapcraft.io/curl
> contact:   https://github.com/woutervb/snap-curl
> license:   curl
> description: |
>    A command line tool and library for transferring data with URL syntax,
>    supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB,
> TELNET,DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP.
>    libcurl offers a myriad of powerful features
> snap-id: jFJhGxzO7zh4xPun3oLzsYPesPvyGblh
> channels:
>    latest/stable:    7.86.0 2022-11-03 (1256) 6MB -
>    latest/candidate: 7.86.0 2022-11-03 (1256) 6MB -
>    latest/beta:      ↑
>    latest/edge:      7.86.0 2022-12-12 (1350) 6MB -

And what happens when you try to build your C program against
libcurl4? Are all the development headers and libraries available?

I suspect not. I can't find these, and these are the basis of a lot of
libraries and programs:

* https://snapcraft.io/search?q=bzip2
* https://snapcraft.io/search?q=libz
* https://snapcraft.io/search?q=readline
* https://snapcraft.io/search?q=ncurses
* https://snapcraft.io/search?q=iconv
* https://snapcraft.io/search?q=idn2
* https://snapcraft.io/search?q=pcre2

Old libraries and programs are a problem, but Snap is not solving that problem.

If it is the intention of the Snap folks to provide an entire mirror
of the base system in /opt/snap (or wherever it puts artifacts), then
the team may as well provide a Snap Linux distro derived from Ubuntu
that is a rolling release.

Jeff



More information about the ubuntu-users mailing list