2021-09-23 14:08:02 +00:00
|
|
|
# Rust Prevention and Removal (Gentoo)
|
2021-09-23 13:30:10 +00:00
|
|
|
(not affiliated with the actual evapo-rust product)
|
|
|
|
|
2021-09-23 14:08:02 +00:00
|
|
|
This repo contains mask, use and accept files for portage to keep Rust away from your systems.
|
2021-09-23 13:30:10 +00:00
|
|
|
|
2021-09-23 14:08:02 +00:00
|
|
|
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
|