this post was submitted on 08 Apr 2024
322 points (93.8% liked)
Technology
59421 readers
3944 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Which is?
For sure, my linux experience is limited to playing around with raspis and the Steam Deck, and running apt-get update / upgrade and accepting everything at once. I haven't actually even had a need to refuse updating something individually so I have no idea what the protocol is if I wouldn't want to update some application. What I do know is that basically every single linux application has dependencies and if you don't install, update or remove exactly what that application demands you to do, most of them refuse to install or update themselves - blocking updating because you have or don't have something else on your system seems to be basically the norm with Linux.
Directly patching the code, then letting the distros do their thing.
You'd just put it in an exclude list in your specific package managers config file for example. The depends are forward compatible and will just keep updating as normal. Very very rarely is there ever a case where forward compatibility is broken, and if it ever is the devs did so for a very thought out reason.
It is yes. Because if you don't have a library an application depends on then it just won't run.
Except "have", that's not a real scenario; it's always a matter of not having something; there's packages that may conflict because they provide a different implementation of the same interface, but you'll never be blocked by an application that depends on that interface.
The dependencies are defined by the distro maintainers when they packaged the software.
It ensures that package will function properly when installed.
If you really really want a really really old version of something that depends on deprecated dependencies/libs, there's always portable and universal package solutions that include those specific deps with it instead of relying on system libs.
i mean yeah, when it does happen that's the correct failstate. The difference here is that it's trivial to troubleshoot and maintain. The chance that this happens is very low, unless somebody is rearranging packages in your repo. In which case that's an easy enough fix, and usually already scripted for. Something to do with AUR, which doesn't touch pacman. Or some hilariously convoluted piece of software kerfuckery.
Usually, it's handled remarkably gracefully.