because nobody should have to see rust on their systems :)
Go to file
bronze 0ec69e49d9 Update 'README.md' 2021-09-23 10:23:43 -04:00
package.accept_keywords first commit 2021-09-23 09:30:10 -04:00
package.mask first commit 2021-09-23 09:30:10 -04:00
package.use first commit 2021-09-23 09:30:10 -04:00
FAQ.md Update 'FAQ.md' 2021-09-23 10:10:36 -04:00
README.md Update 'README.md' 2021-09-23 10:23:43 -04:00

README.md

Rust-oleum: Rust Removal and Prevention (Gentoo)

Because nobody should have rust on their system

(not affiliated with the actual rustoleum product)

This repo contains mask, use and accept files for portage to keep Rust away from your systems.

I don't like how people are forcing this language and I certainly don't like the so called "people" that use it. No I will not elaborate any further.

The files are pretty self explanatory by themselves but I'll go over some specifics:

polkit

  • critical (?) system component using spidermonkey as its js engine
    • yes it has a javascript engine, wtf right :/
  • spidermonkey is a fuckhuge dependency for something like this
  • spidermonkey versions past 78 all require rust to build
    • it is a mozilla project after all
  • polkit, which depends on spidermonkey, also depends on rust by proxy

how to mitigate

  • compile polkit with duktape instead of spidermonkey for its js engine
    • duktape is much smaller than spidermonkey
  • polkit w/ duktape hasn't been mainstreamed yet, but patches are available
    • add the miramir overlay and then enable the duktape use flag for polkit
    • I might host the duktape patched ebuilds myself at some point

librsvg

  • gnome project (god what the fuck)
  • head dev = rustification freak
  • used by literally anything that requires svg support
    • seriously, try masking this package outright and see how many packages really depend on this (spoiler: a fucking insane amount)
  • newer versions are fully made in rust

how to mitigate

  • 2.40 is the last version before rustification
  • still hosted at ::gentoo
    • who knows how long that will last...
    • will probably have to host the ebuild for this at some point
  • mask librsvg versions later than 2.40 (or rather anything after 2.41)
  • explicitly enable version 2.40