MKCOMPOSECACHE(8)

πŸ“¦ version 1.2.2, in opensuse-leap 16.0

πŸ‘‘ MKCOMPOSECACHE(8) β€” like, the manual page manual page πŸ’…

okay bestie, so this is mkcomposecache from section 8 of the System Manager's Manual, and it's literally about making a cache file for a compose file, but like β€” explicitly. on purpose. by hand. no vibes-based automation here ✨


🌸 NAME

mkcomposecache β€” create a cache file for a compose file explicitly πŸŽ€


πŸ¦‹ SYNOPSIS

mkcomposecache locale compose-file cache-dir [ internal-name ]

πŸ’– DESCRIPTION

so mkcomposecache creates a cache file for the compose-file you picked, the one that gets used in the given locale, and it saves that cache file in cache-dir. iconic. no cap. 🫢

and if you passed internal-name? then that's what it uses as the name of the compose table when it computes the hash values and does the internal validation. it's giving "necessary" β€” like, genuinely you need this if you want global compose cache files created while using DESTDIR during X11 installation. iykyk πŸ”₯

πŸ“ Notes (read these, fr fr)

  • compose cache files are created by libX11, so an Xserver has to be running and DISPLAY has to be set correctly for creating cache files. yes bestie, a whole display server just to make a cache file. that's the vibe check it demands πŸ‘€
  • libX11 will not write compose cache files if run as root or with different real and effective uids. so like, don't be root, and don't be all mismatched β€” it's a whole thing 😭
  • libX11 will not create compose cache files in directories writable for other users. it's very picky about who gets to touch its stuff, and honestly? boundaries. we love to see it πŸ’…

🌈 DIAGNOSTICS ✨

mkcomposecache returns with exit status 1 on general errors (no Xserver, invoked as root, etc.) and 2 on unsupported locales. so if you see a 2 it's literally just "that locale? not supported, bestie" πŸ™ˆ

⚠️ but like β€” an exit status of 0 does not imply that a cache file is actually written. nope. it very much depends on the used libX11 and its safety regulations. so 0 is more of a "i survived" than a "i did the thing". tragic but true πŸ’€

πŸ“ EXAMPLES

ok so here's the whole invocation, exactly as it goes down β€” one command, several lines, that's just how it's laid out, don't come for me:

mkcomposecache en_US.UTF-8
/var/tmp/buildroot/usr/share/X11/locale/en_US.UTF-8/Compose
/var/tmp/buildroot/var/X11R6/compose_cache
/usr/share/X11/locale/en_US.UTF-8/Compose

like, locale = en_US.UTF-8, compose-file = the buildroot Compose path, cache-dir = the buildroot compose_cache path, and then internal-name = /usr/share/X11/locale/en_US.UTF-8/Compose. the DESTDIR situation, in the flesh. slay 🧚


πŸŽ€ FILES

  • /var/cache/libx11/compose/ β€” Location of global compose cache. that's the spot. the main character directory. πŸ‘‘

πŸ’œ AUTHOR

mkcomposecache was written by Matthias Hopf <mhopf@suse.de>. thank you matthias, we appreciate you 🫢✨


and that's the whole page, bestie β€” this is X Version 11, mkcomposecache 1.2.2, dated with love in the manual page for MKCOMPOSECACHE(8) πŸŒΈπŸ’… mwah, go make some cache files (as a non-root user, in a directory nobody else can write to, with DISPLAY set correctly, obviously) πŸ¦‹

πŸ“¦ where this page comes from