alapból nem kerül fel a libssl1 csak a libssl2 ?
Nyilvánvalóan úgy, hogy felteszed, csak ismételni tudom magam: "a libssl1 és libssl2 két külön, egymástól független függőség."
Ugyanez van SDL1 / SDL2 / SDL3 esetén, apache és apache2 esetén, libtss és libtss2 esetén, libssh és libssh2 esetén, libfuse és libfuse2 / libfuse3 stb. esetén. A főverziót pont azért rakják a csomagnévbe (is), hogy külön dependelhetőek és telepíthetőek maradjanak.
A lényeg nem ez, hanem hogy míg a Rust remote-ból akarja mindig hozni a legfrissebbet (hacsak nem gányolod szét a cargót már a legeslegelején), addig a C csak lokális libeket ismer, ezért könnyedén archíválható a teljes fordítási környezete. Egy olyan backup-ot készíteni, amiben benne vannak a libek is, gyerekjáték C repó esetén, Rust-os repónál meg kőszopás (pláne, mivel mindig minden függőséget kötelező újrafordítani, szóval nem is elég a lib, az összes forrás akkori állapotát kell(ene) archíválnod hozzá, de az rengeteg, ezért nem is csinálja senki).
A fentebb linkelt példámban például a regex lib függőség nem fordult le az új Rust verzióval, mégcsak nem is arról a forrásról van szó, amit a csóka írt.