securedrop-client icon indicating copy to clipboard operation
securedrop-client copied to clipboard

Sync appmenus in package postinst

Open rocodes opened this issue 1 year ago • 1 comments

Description

Rather than syncing appmenus from dom0 (via Salt or scripted), when packages change we can request an appmenu sync via the built-in appmenu sync RPC call provided in (istr?) qubes-core-agent-linux in our own package's postisnt:

qrexec-client-vm dom0 qubes.SyncAppMenus /etc/qubes-rpc/qubes.GetAppmenus

rocodes avatar Jun 28 '24 16:06 rocodes

Took another look cause based on the slightly complicated script stuff evolving in https://github.com/freedomofpress/securedrop-workstation/pull/1112 it would be nice to keep it simple and out of dom0/into rpc.

In the qubes-core-agent-linux package there's a post-install RPC (/etc/qubes-rpc/qubes.PostInstall) that runs all the scripts in /etc/qubes/post-install.d, one of which is the qubes-core-agent-appmenus script, which itself calls /usr/lib/qubes/qubes-trigger-sync-appmenus.sh, which does basically what I posted above. This package is in debian minimal as well as fedora, triggered by distro specific hooks (yum, debian, arch).

If we make sure we conform to behaviour that /etc/qubes-rpc/qubes.GetAppmenus understands, I don't think we have any need to trigger the appmenu sync from dom0. As for which applications to display in the qubes app menu (original issue), I'm going to look into if there's an easy way to do that in the new appmenu repo and comment in the original issue

rocodes avatar Jul 01 '24 14:07 rocodes

Closed as no longer applicable

nathandyer avatar Nov 24 '25 20:11 nathandyer

Sorry this should stay open.

legoktm avatar Nov 24 '25 20:11 legoktm