Gentoo-xfce template -How to update / remove

I installed the gentoo-xfce template on my qubes 4.1. I have to say that I am using gentoo just for a few days and don’'t know much about gentoo at the moment, but definitely are willing to learn it. The perfomance of the gentoo template and the firefox on x11 is amazing. None vm starts so fast and has such great internet perfomance for me as gentoo… But updating gentoo has some errors and tells me that some packages are masked by ~amd64 keyword. I google a while and tried some changes accepting keywords but cannot reach the goal :wink: Does anybody know what is the correct way or emerge command to update it? Maybe I already did a big error and run emerge -udnav @world to update the complete template. This step took hours to compile and install everything again, but it is working. I already tried to install the gentoo template without -xfce, but that could not be installed correctly and I cannot delete the appmenue entry anymore. It will appear what ever I try. Here is a gentoo documentation about this problem, but unfortuntely it don’t work.
So pls can you tell me, too how to delete the gentoo templates correctly? I am bit afraid to uninstall my gentoo-xfce template and then I’ll get problem installing it again :wink:

$ rm ~/.local/share/applications/ doesn’t work to delete the appmenu entry and sudo dnf remove qubes-template- don*t find the template ,too. and reinstall with the action=reinstall command even is not working.

TemplateVMs | Qubes OS this is doc I already tried to remove

Just for a bit more understanding according to my update error. it is ~amd64 file and
Btw. it is not a big problem not to update and everything is working so far, just a complete system is always nice :wink: Another + for the gentoo-xfce template is that it is one of the less templates that has pulseadio enabled / working and you can attach a mic and else to these vm’s. It is very good developed and fits good for qubes. Just to understand ist is a bit difficult, but worth!

update: I found the new folder of the appmenus ~.local/share/qubes-appmenus
→ there still exist a gentoo folder. Deleting with rm should fix the showing entry in the appmenu. Maybe now the installation will work again :slight_smile: will try that these days and tell you here :slight_smile:
thank you for ur help!
Update: deleting this folder doesn’t fix the problem with the appmenu entry; hm. what else can I try to delete?

Updating the gentoo-xfce template emerge --sync runs now fine without any masked packages error or other, just the qubes updater says that that is not fully updated and if I run a update there then I will get several packages errors that cannot installed by the qubes-updater. emerge --sync says that not outdated packages were found on the system.
I even installed an compiled some useful apps like libreoffice and teams I need daily and it is working:) I now understand how to unmask a packages to /etc/portage/package.accept_keywords and the only problem I notice is the problem with the qubes updater. I will upload an screenshot later, which packages/ dependencies are my problem here .

qvm-copy-to-vm even runs fine, just if you want to copy sth. from the gentoo-xfce to another vm u need to run it in terminal and the windows pops up, where u can select the vm. Other way around it is working like usual and that defintely is not a big problem :slight_smile:
So it will be nice to know how to fix it that qubes-updater problem, but most is really nice! thank you for that great job @fepitre

next is the error I’ll get downloading the gentoo template. Niot the xfce-version. Here I even cannot delete that appmenu entry anymore and is another problem. The main topic here is about the gentoo-xfce and again nearly everything from that template is amazing ! thank you very much for that big and well done work!

You should start reading KEYWORDS - Gentoo Wiki. Please note I’ve made recent changes in default python target but if you used templates-community-testing you should be on a good basis. Also, you did not said what’s exactly the error with keyword is. Take a look at Remove not needed anymore testing for dev-ruby/minitest · QubesOS/qubes-builder-gentoo@60c03d4 · GitHub Add gtk3 for dev-libs/libdbusmenu · QubesOS/qubes-builder-gentoo@9fdf27b · GitHub the two recent changes in the keywords used.

1 Like

first of all thank you for the advises:) I read a last gentoo docs the last days and it is getting better and better hehe. I will summarize my post:

Gentoo-xfce Installed from the templates-community-testing repo :slight_smile:
Working and pro’s !

  • Updating in terminal sudo emerge --sync shows a complete updated system and no packages are outdated. First there exist a few mask package errors but the very first update I run, to update a gentoo-system that has not been updated for some month
    was : sudo emerge uDav --tree world and that fixed the errors with the mask packages in terminal that emerge --sync cannot fix. But after this updating portage,apps,config,sync…works
  • Unmasking packages with “autounmask function” of gentoo works fine, too.
  • Libreoffice, teams, terminals, thunderbird (x11), firefox (x11) everything I need for daily work runs fine in that template and the perfomance of the x11 apps is amazing!
  • Pulseaudio is working ,too and attaching a headset / microphone, webcam is no problem. Pulseaudio is not working easily at much templates; especially not the newer versions for example debian-11; arch, centos.
  • Gentoo is very customizable and u can build your “own” system
  • More secure as debian and other templates
  • Very good to learn linux foundings , like folder structure and such things equal to arch.

Not working:

  • Not much :wink:
  • Only updating over the Qubes-updater doesn’t work for me and always show that there are updates available, but terminal says: fully updated. Next are the details of the error from the Qubes-updater. Maybe it will help to tell me what packages I need to install /emerge how to fix that. But this problem doesn’t hurt my system and and I can use it without any other errors! The keywords in package.accept_keywords are like you told me here:
    QubesOS/qubes-builder-gentoo@9fdf27b · GitHub, but when I understand it right I don’t need these keywords anymore and can delete it. Maybe the qubes-updater works. I will try that.

    Thank you again for this amazing work.

Solution for the gentoo standard template appmenus entry:

Now to the problem with the existing folder, after I uninstalled the gentoo template:
It was not enough to delete the folder in ./local…/qubes-appmenus , there is an other directory in that folder called “desktop-directories” and there even exists a link to my gentoo. After deleting that it was fixed and the entry is not here anymore :slight_smile:
Installing the template again shows me the error: Failed to download metadata for repo "qubes-dom0-chached’ : Yum repo downloading error from file ///var/lib/qubes/updates/repodata/xxxxxxlongnumber;)-primary.xml.gzwas successful but error while checksumming: fsync failed: input /output error but that is wayne and I prefer the xfce version and just wanna tell you, because I tried it,too.

Update 1) gentoo-xfce After adding the keywords to /accept_keywords
Adding the keywords from /dev-ruby-2.7r1 “works” so far and now there is an other error in the qubes updater, that already a process with this uuid xxxx , but I restarted several times and there cannot be any old update progress running.

How can I delete the old dispmgt-gentoo-xfce update chache or whatever?
And very thank you for your help again, I will take a look and get a bit more confident with github and will do the reports in future there :slight_smile:
Much blesses and stay healthy

1 Like

Thank you very much for your feedback. You can stay tuned on related enhancement tasks:"C%3A+Gentoo" notably related to appmenu update. As far as I remember, there is no hook system in Portage so when emerging a package there is no way for trigger appmenu sync. Maybe a wrapper like pacman would solve this. For the keywords, they are not necessary fixed indeed. The current state of keywords is for allowing a full rebuild every week without any issue :slight_smile:


Hey:) I installed a fresh qubes, because there were too much changes and to annoying to repair it all hehe. But it was not a bad solution because now I got the gentoo template working, fully updated.
I think it is important after installing the gentoo template, first run sudo emerge --sync in terminal and then see the messages, usually the next step is eselect news and then it tells u that portage needs an update. And this u need to do then, and after all the gentoo template is completely updated and do not show any masked packages errors or sth. else and the Qubes updater has no updates, too! So everything is working. Just running the updates over the qubes updater for the first time can be a problem and even you updated gentoo in terminal ,then the updater has updates left, but cannot install it because of missing dependencies. But that is wrong messages and the qubes updater only did not recognize that gentoo is fully updated. But that is only if you do not the updates over the terminal for the first time :slight_smile: So know the next days I will write it to github again, but this topic now is completely working! Thank you again for your great work and stay healthy!

  1. install gentoo /xfce template from community testing repo
  2. update gentoo in terminal sudo emerge --sync
  3. read the news eselect news
  4. update portage of gentoo
  5. run sudo emerge --sync again and now the gentoo template is working and the qubes updater doesn’t show any updates:)
1 Like


Emerging (1 of 679) app-emulation/qubes-db-4.1.11::qubes

/usr/include/python3.9/Python.h:44:10: fatal error: crypt.h: No such file or directory
44 | #include <crypt.h>
| ^~~~~~~~~
compilation terminated.
error: command ‘/usr/bin/cc’ failed with exit code 1
make[1]: *** [Makefile:8: build] Error 1
make[1]: Leaving directory ‘/var/tmp/portage/app-emulation/qubes-db-4.1.11/work/qubes-db-4.1.11/python’
make: *** [Makefile:18: all] Error 2

  • ERROR: app-emulation/qubes-db-4.1.11::qubes failed (compile phase):
  • emake failed
  • If you need support, post the output of emerge --info '=app-emulation/qubes-db-4.1.11::qubes',
  • the complete build log and the output of emerge -pqv '=app-emulation/qubes-db-4.1.11::qubes'.

    Failed to emerge app-emulation/qubes-db-4.1.11
Portage 3.0.30 (python 3.9.1-final-0, default/linux/amd64/17.1/desktop/gnome/systemd, gcc-9.3.0, glibc-2.33-r7, 5.10.76-1.fc32.qubes.x86_64 x86_64)
                         System Settings
System uname: Linux-5.10.76-1.fc32.qubes.x86_64-x86_64-xxxxx-with-glibc2.33
KiB Mem:      xxxx total,    xxxx free
KiB Swap:    xxxxx total,    xxxx free
Timestamp of repository gentoo: Wed, 29 Dec 2021 09:30:01 +0000
Head commit of repository gentoo: xxxxxx
Head commit of repository qubes: xxxxx

sh bash 5.0_p18
ld GNU ld (Gentoo 2.35.1 p2) 2.35.1
app-misc/pax-utils:        1.3.3::gentoo
app-shells/bash:           5.0_p18::gentoo
dev-lang/perl:             5.30.3::gentoo
dev-lang/python:           3.8.7-r1::gentoo, 3.9.1-r1::gentoo
dev-lang/rust:             1.47.0-r2::gentoo
dev-util/cmake:            3.18.5::gentoo
dev-util/meson:            0.55.3::gentoo
sys-apps/baselayout:       2.7-r3::gentoo
sys-apps/sandbox:          2.25::gentoo
sys-apps/systemd:          246.6::gentoo
sys-devel/autoconf:        2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:        1.16.2-r1::gentoo
sys-devel/binutils:        2.35.1-r1::gentoo
sys-devel/binutils-config: 5.4::gentoo
sys-devel/clang:           11.0.0::gentoo
sys-devel/gcc:             9.3.0-r2::gentoo
sys-devel/gcc-config:      2.4::gentoo
sys-devel/libtool:         2.4.6-r6::gentoo
sys-devel/lld:             11.0.0::gentoo
sys-devel/llvm:            11.0.0::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.15-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.33-r7::gentoo

    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://
    priority: -1000
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24

    location: /var/db/repos/qubes
    sync-openpgp-key-refresh: no
    sync-type: git
    masters: gentoo
    sync-git-verify-commit-signature: true

CFLAGS="-O2 -pipe"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
USE="X a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo cdda cdr cli colord crypt cups dbus dri dts dvd dvdr eds emboss encode evo exif flac fortran gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gui iconv icu introspection ipv6 jpeg lcms libglvnd libnotify libsecret libtirpc mad mng mp3 mp4 mpeg multilib nautilus ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp spell split-usr ssl startup-notification svg sysprof systemd tiff tracker truetype udev udisks unicode upower usb vorbis wayland wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_8 python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"

Can fepitre or anyone else help?

I have tried

but to no avail

I’ve encountered this issue too. I think you need to: emerge sys-libs/libxcrypt first. Then, you can run again update like e.g.: emerge --update --deep --newuse --changed-use --with-bdeps=y --keep-going @world.

Gentoo templates are getting a bit old (that’s also the reason of that issue). I’m about to rebuild them soon. I’m fixing some new circular dependencies and I would notify when fresh builds are made.


Thanks fepitre. I also did emerge sys-aps/hwdata which actually replaced hwids. So far I reached emerging 203rd package, which means for now it works. It’ll going to be several long days and nights reaching the end, hahah

Fresh builds are now available. It’s not necessary to reinstall the templates if you already did a full update.


Thank you so much for your time @fepitre. That is the most appreciable thing one could be thankful for.

1 Like

A sub lurker very much appreciates the fresh builds and your contributions. Thanks for all the work you pour into this project @fepitre

1 Like