Re: Proposed changes to wesnoth-1.16
On Thu, 18 Jan 2024 at 05:57:43 -0500, P. J. McDermott wrote:
> <id>org.wesnoth.Wesnoth-1.16-httt.desktop</id>
I don't think the ID for new components should end with .desktop,
particularly if the package doesn't (and won't) ship a .desktop file of
that name.
Ideally this would be happening in consultation with upstream, because
it's the upstream that owns the namespace, and Appstream is generally an
effort that encourages "upstream first" development.
> <metadata_license>GPL-2.0-or-later</metadata_license>
I don't think Appstream allows this license for the metadata, because
metadata for all packages gets bundled together into one large index,
and with copyleft licenses it wouldn't be obvious that it's legally
valid to do that (imagine trying to build an index where one package's
metadata is GPL-2.0-only, another is GPL-3.0-or-later and a third is
CDDL or something, and then ask yourself what license would be valid
for the combined work). There's a short list of permissive licenses that
are allowed, with FSFAP suggested. See:
https://freedesktop.org/software/appstream/docs/chap-Quickstart.html
> > That seems a good model for a game with multiple campaigns? Some basics
> > are built-in, and the rest are "free DLC"?
>
> Right now, as I said, only the tutorial is built in.
If there is a campaign that you (or upstream) would recommend as "if
you only play one campaign after finishing the tutorial, it should be
this one", then I would personally include that in the core content too,
unless its size is prohibitive.
> On amd64, src:wesnoth-1.16/1:1.16.11-1 campaign packages total
> 191.558 MiB
For perspective, if I try installing the game and all its dependencies
and Recommends into a minbase-like container (debian:sid-slim), apt tells
me that the installed sizes of some comparable games are:
- openarena: about 1 GiB
- 0ad: about 1.5 GiB
- wesnoth-1.16-core: about 500M
- wesnoth-1.16: about 900M
This is double-counting some dependencies like the X11/Wayland libraries,
which a real desktop user would already have installed, so the first ~ 250M
of each of those sizes can probably be ignored.
I personally don't think +400M of installed size (200M of compressed
packages) for a complete set of campaigns is very "expensive" in the
2020s.
> Which, if they were all one package, would be in the 99th percentile of
> largest packages
I'm not suggesting that they need to be all one big package at the
apt/dpkg level: openarena splits up its data packages (originally done so
that its source packages could fit on CD-ROMs) but they are all mandatory,
and from an end-user perspective, the only options that make sense are
"install OpenArena" or "don't".
Being in the 99th percentile isn't necessarily a problem, in any case:
this is a game, not a typical package like a utility or a library, so
it's expected that its data package(s) is/are quite large.
For Wesnoth campaigns, I'd probably suggest Recommends over Depends,
so that users who care enough about disk space can remove them if they
want to.
> It does however look like 92% (518/562, most
> but not all) of popcon[5] users install the wesnoth-1.16 metapackage
> instead of just wesnoth-1.16-core and à la carte campaigns.
Right - to me, that suggests that putting a lot of effort into making
the campaigns not be installed by default is not necessarily worth it,
and not installing them by default might even be a net negative.
> I don't see this if I view com.libretro.RetroArch details in GNOME
> Software on bookworm, but maybe just because I'm looking at it on a
> small screen, so addons are excluded from the details?
This might be a new feature in testing/unstable, I don't know.
> Should desktop application and addon IDs end in ".desktop" or not?
Desktop application IDs: optional. For new products, not adding .desktop
is preferred, but keeping an existing ID as-is (so that old and new
versions of the same app have the same ID) is a higher priority than
canonicalizing it.
Addon IDs: no they should not.
https://freedesktop.org/software/appstream/docs/sect-Quickstart-Addons.html
> And AppStream says <extends>[6] refers to the <id>, but <extends> in
> libretro-mgba.metainfo.xml apparently refers to a <launchable> of type
> "desktop-id"? Which is correct?
I would say that by definition, the spec is correct :-)
smcv
Reply to: