Bug 2270572 - Papirus icon theme (required by budgie-desktop) seems overly large
Summary: Papirus icon theme (required by budgie-desktop) seems overly large
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: papirus-icon-theme
Version: 40
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Robert-André Mauchin 🐧
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-Legal
TreeView+ depends on / blocked
 
Reported: 2024-03-21 00:56 UTC by Adam Williamson
Modified: 2024-03-21 20:05 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Adam Williamson 2024-03-21 00:56:54 UTC
budgie-desktop requires papirus-icon-theme. This theme ships 97,113 files. That...seems like a lot.

This causes a concrete problem: it makes build of the Onyx ostree container extremely slow, because rpm-ostree walks the entire filesystem as part of the container build process, checksumming every file it hits. I've filed an rpm-ostree issue asking if this can be sped up - https://github.com/coreos/rpm-ostree/issues/4880 - but cutting down the icons would of course help a lot.

It seems like this single package ships three separate themes - "Papirus", "Papirus Dark", and "Papirus Light". It seems to include thousands of custom icons for third-party applications (each of which will already come with its own original icon which would probably be fine for most people). Multiply thousands of icons by three themes by multiple resolutions and you get to nearly six figures.

Could this perhaps be split up a bit? Perhaps the three themes could be separate subpackages, and budgie-desktop could depend on only one or maybe two (a lighter and darker)? Could the third-party app icons be separated out from the 'core' icons, perhaps, and budgie-desktop made to only depend on the core part? It looks like about half the icons are in "apps" folders:

[adamw@xps13a papirus-icon-theme (rawhide)]$ sudo dnf repoquery -l papirus-icon-theme | grep /apps/ | wc -l
48841

Or, alternatively, budgie-desktop could just go with a different default icon theme.

Just as a reference point, adwaita-icon-theme contains 802 files. breeze-icon-theme has 35,182, which explains why kinoite takes the second-longest after onyx, but is still a hell of a lot less than 97,113. :D

Comment 1 Joshua Strobl 2024-03-21 19:30:16 UTC
Papirus Icon Theme is a pretty standard theme used by other distributions that ship Budgie Desktop. For example, Solus ships papirus-icon-theme alongside budgie-desktop.

I completely agree that papirus-icon-theme is quite large and maybe could do with more splitting. That said, I do not think it appropriate to assign this to the budgie-desktop component or to me, when I'm not the package maintainer of papirus-icon-theme and this seems like a broader problem that is only noticeable because Papirus ends up being the default, and its size cripples some parts of ostree building. Maybe should be assigned to papirus-icon-theme component?

In the case of Solus, it strips out a bunch of icons / icon packs from Papirus that are otherwise found extraneous, see https://github.com/getsolus/packages/blob/main/packages/p/papirus-icon-theme/package.yml

> rm -f $installdir/usr/share/icons/Papirus/**/apps/{dcc_nav*,dde*,*deepin*,io.elementary*,uos*,com.github.cassidyjames*}

In the above command, it strips out everything related to uos, dde, Deepin, elementary, etc.

Looking at https://src.fedoraproject.org/rpms/papirus-icon-theme/blob/rawhide/f/papirus-icon-theme.spec, it splits out ePapirus already, but I wonder if this would be a good opportunity to split out Light and Dark variants, as well as removing some extra icons such as those for Deepin.

In terms of choosing another icon theme, I'm not quite sure about that. While large, Papirus provides a massive range of well-crafted icons for third-party applications that help to create a more consistent desktop user experience. This is not something the likes of Adwaita Icon Theme can provide, since those do not have the same goals (and is actually blacklisted by Budgie Desktop because it does not provide sufficient coverage of needed icons). Breeze is also blacklisted for the same reason: https://github.com/BuddiesOfBudgie/budgie-desktop/blob/a040ccb96094f1d3a1ee81a6733c9434722bdf6c/src/panel/settings/themes.vala#L64

Thoughts?

Comment 2 Adam Williamson 2024-03-21 19:36:19 UTC
I guess the initial question was "does Budgie really want to use Papirus, given this?" and if the answer's "yes" we can reassign it to papirus to be about maybe splitting it up a bit.

Comment 3 Adam Williamson 2024-03-21 19:41:08 UTC
btw, I don't want to open a can of worms, but aren't there copyright/trademark issues around the third party app icons, where they are just takes on the 'official' icon or logo for the app?

Just to take a random example: apps/github.svg appears to be more or less the GitHub logo. Is that under an approved content license for Fedora? Are we complying with the GitHub guidelines around using their trademark? https://github.com/logos . Has anyone considered these questions?

Comment 4 Adam Williamson 2024-03-21 19:42:43 UTC
tagging FE-Legal for the aspect from comment #3 .

Comment 5 Adam Williamson 2024-03-21 19:45:51 UTC
The papirus theme's "Legal" section says:

"Every logo in this icon theme is owned by the respective trademark holder. We have not received approval to create these logos from any of the trademark owners, and the existence of an icon in this repository is in no way supported by the trademark owner.

Where possible, we stayed true to the branding and official guidelines.

If you are a trademark holder or application owner for one of these applications and disapprove of the icons we've created for your application, please submit an issue to this repository."

which doesn't seem...hugely reassuring.

Comment 6 Adam Williamson 2024-03-21 19:47:42 UTC
The original review ticket was https://bugzilla.redhat.com/show_bug.cgi?id=1635367 , it doesn't seem like the legal aspects were strongly considered there.

Comment 7 Joshua Strobl 2024-03-21 19:48:39 UTC
Ah, fair enough. Yea, it would be really great if Budgie Desktop could continue using Papirus Icon Theme.

I think some easy wins with regards to cleaning up Papirus would be:

- Removing Deepin, dde
- Removing Steam game icons (steam_icon*)
- Removing all the extra start-here icons for non Fedora operating systems
- Possibly removing AppImageKit icons?
- Brave webapp support (brave-*-Default.svg)
- Google Chrome webapp support (chrome-*-Default.svg)
- All distributor-logo-*.svg (or only have Fedora's)
- Kali Linux icons (kali*)
- Lutris icons (lutris_*.svg)

Keeping in mind, many of there are symbolic links, so the number is inflated.

Removing many of the color variants in places/ might help too, like realistically we could nuke folder-yaru*.

Comment 8 Joshua Strobl 2024-03-21 19:49:34 UTC
Sorry for the block removal, comment was made at the same time.

Comment 9 Adam Williamson 2024-03-21 19:51:03 UTC
The number is relevant to the rpm-ostree issue even if they're symlinks - the walk rpm-ostree does really does consider every node in the filesystem, whether it's a real file or a symlink doesn't matter in that context.

fortunately, it seems we may be able to get rid of that walk upstream, which makes that less of a big problem.

Let's re-assign this to papirus, then, since budgie still wants to use it.

Comment 10 Adam Williamson 2024-03-21 19:55:56 UTC
Hum. Here's another weird thing I noticed:

[adamw@xps13a Papirus (rawhide %)]$ diff -u 48x48/apps/Zoom.svg 96x96/apps/Zoom.svg

what?

Shouldn't SVGs - those are *scalable* vector graphics - be in a scalable/ subdir, not the fixed-size subdirs? AIUI how icon themes are *supposed* to work, the fixed-size subdirectories should contain (only) fixed-size representations (i.e. they should be PNGs), in the size specified. They're usually there for when the scalable icon doesn't scale down to a small size very well.

Why is Papirus shipping an identical SVG as both the "48x48" and "96x96" Zoom icon? That just seems wrong.

Comment 11 Richard Fontana 2024-03-21 20:05:59 UTC
(In reply to Adam Williamson from comment #5)
> The papirus theme's "Legal" section says:
> 
> "Every logo in this icon theme is owned by the respective trademark holder.
> We have not received approval to create these logos from any of the
> trademark owners, and the existence of an icon in this repository is in no
> way supported by the trademark owner.
> 
> Where possible, we stayed true to the branding and official guidelines.
> 
> If you are a trademark holder or application owner for one of these
> applications and disapprove of the icons we've created for your application,
> please submit an issue to this repository."
> 
> which doesn't seem...hugely reassuring.

I took a quick look at some of these icons. I could ask Red Hat's trademark lawyer to look into this, but I'm nearly positive she would say (1) these need to be individually reviewed, and (2) by default these icons are no good unless we can point to some specific permission covering them, and should be replaced somehow by use of plain text.


Note You need to log in before you can comment on or make changes to this bug.