Received: from cogitri.dev (cogitri.dev [207.180.226.74]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id 50C52782CA1 for <~alpine/devel@lists.alpinelinux.org>; Tue, 7 Apr 2020 18:43:33 +0000 (UTC) X-Virus-Scanned: Yes Message-ID: <6cf2005d396fdc4c165003b59751b158b20dbfa4.camel@cogitri.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cogitri.dev; s=mail; t=1586285011; bh=RSI3EZ9wy3ZcdnrIG4PC3UecEZKTipNm0sEUOGJh9ug=; h=Subject:From:To; b=oWR0dwRw3LvuixpTFNucLhhu3qellPzn9h2K0sTJJBoDE7sGlxKYGjXxyZF/b6+3M ushaU74vD5txkuVzxK3F85sAw4gmSkDttf/rqzVpL44W+ciVKbxEF4kGPh+uXneWzv kC+RPqsGBNKkjt//WYraIqhK44hvcvpPDV4B5cfO2S3xyqlzZh7YcHUvdPCXZY/2YM hrJWpCLjCAW8WmG/Bf5LnsjLPzRrJIfhC8YMqc226pWTKH8TRhDXGRiXSY5IsTRUU7 THVhzKuRsRHrWTJYWPHEDEmuj0snpxwlLbEwwulLm5utWojJZy+WTmwuXdVG2+1iVH MAaBYTMP2Yk5w== Subject: Packaging of AppStream data in Alpine From: Rasmus Thomsen To: ~alpine/devel@lists.alpinelinux.org Date: Tue, 07 Apr 2020 20:43:31 +0200 Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Hello, right now we simply package AppStream in the package that provides them, which kind of misses the point of Appstream: It's supposed to (also) offer the user information about apps before installing them. It's required for things like displaying the description and screenshots of apps in "appstores" (e.g. GNOME Software, KDE Discover, ...), which is what most users expect to see in these stores. With missing appdata the description, screenshot and upstream name isn't displayed (and not searchable, which might be confusing to users in case we name something different than upstream, e.g. gnome- authenticator vs Authenticator). As such we should provide a way for users to install the AppStream data for all packages which are in our repositories, so appstores actually become useful. There are multiple ways to do this: * Add an -appstream subpackage to all packages which provide AppStream data and add a "appstream-data" package (or something like that), which pulls in _all_ appstream-data packages (for all available packages). This integrate nicely with our current workflow of just updating packages and would make changes available to users ASAP. Also note that AppStream data itself isn't big (it's only a XML file), since screenshots are fetched from the internet when required. The downside to this is that it'll be some effort to add -appstream subpackages to everything which provides appstream data, but it'd be possible to get this done before 3.13 and the chance for breakage of anything is basically 0. * Collect the appstream data via other means (e.g. magically pull it from builds on the builders, I *think* this is how Arch Linux and Debian[0] are doing it, but I'm not quite sure on that - I'll dig deeper on that) and compress it into one massive tarball (well, massive as in 5MB) in the case of Arch Linux or compile it into one big YAML metadata file like Debian does it, so users only have the appstream- data package to install which comes with everything they need. This way we wouldn't need to add subpackages to everything but in turn we need some magic in abuild to do this. I'd really like to have this in 3.13, so I'd appreciate feedback from you about this! :) Thanks, Rasmus Thomsen 0: https://wiki.debian.org/AppStream