PPAs are fundamentally flawed. Since each repository is separate, they only care to maintain consistency internally, plus the packages of the Ubuntu version they were based on.
Adding a PPA and using its packages on your system takes your dependency tree into a “cul de sac” where only that PPA is reliable.
But of course people use multiple PPAs so what happens is that the dependency tree grows increasingly unrecoverable.
Eventually you get the dreaded “requires X but cannot be installed” errors which pretty much mean you’ve hit a dead end. You can recover your system from it (aptitude can provide solutions) but they are extremely invasive, basically come down to uninstalling and reinstalling thousands of packages to bring your tree back to a manageable state.
I admit I haven’t used Ubuntu in years, so I didn’t think they were that bad. Thanks for the info, it made me learn a dependency hell scenario I never thought about before.
I wanted to use the up to date version of FFMPEG, had to download the binary from the website. Wanted to install some program that needed the latest version of KDE, had to install a PPA which updated a lot of packages and at the end it would break many other apps installed from other PPAs.
At some point I realized using Arch was just much less work than worrying myself about all the dependencies that could break when you don’t stick to what’s available in their official repositories.
Debian technically has the same issue but people who want Debian usually stick to stable + backports so it’s less frequent.
Yeah that’s why distributions which put all their community packages in one place with the same dependencies are more resilient in this respect.
Arch’s AUR is not perfect either, you can have packages that list dependencies badly or replace core packages so you can still mess up but in a different way.
NixOS seems to have hit on a very robust formula that lets packages coexist with minimal friction.
PPAs are fundamentally flawed. Since each repository is separate, they only care to maintain consistency internally, plus the packages of the Ubuntu version they were based on.
Adding a PPA and using its packages on your system takes your dependency tree into a “cul de sac” where only that PPA is reliable.
But of course people use multiple PPAs so what happens is that the dependency tree grows increasingly unrecoverable.
Eventually you get the dreaded “requires X but cannot be installed” errors which pretty much mean you’ve hit a dead end. You can recover your system from it (aptitude can provide solutions) but they are extremely invasive, basically come down to uninstalling and reinstalling thousands of packages to bring your tree back to a manageable state.
I admit I haven’t used Ubuntu in years, so I didn’t think they were that bad. Thanks for the info, it made me learn a dependency hell scenario I never thought about before.
It’s basically one reason I stopped using Ubuntu.
I wanted to use the up to date version of FFMPEG, had to download the binary from the website. Wanted to install some program that needed the latest version of KDE, had to install a PPA which updated a lot of packages and at the end it would break many other apps installed from other PPAs.
At some point I realized using Arch was just much less work than worrying myself about all the dependencies that could break when you don’t stick to what’s available in their official repositories.
Debian technically has the same issue but people who want Debian usually stick to stable + backports so it’s less frequent.
Yeah that’s why distributions which put all their community packages in one place with the same dependencies are more resilient in this respect.
Arch’s AUR is not perfect either, you can have packages that list dependencies badly or replace core packages so you can still mess up but in a different way.
NixOS seems to have hit on a very robust formula that lets packages coexist with minimal friction.