You are not logged in.
Greetings,
is there a logical reason why not?
Recently my X wouldn't start, because of a partial upgrade from a bad mirror combination, where the linux package was upgraded, but the nvidia package was not upgraded to a version matching the linux package version.
https://github.com/archlinux/svntogit-p … idia/trunk shows that nvidia is always committed matching a specific linux version.
However, the nvidia PKGBUILD file lists just "linux" as a dependency. Not the specific linux version it is committed against.
So I'm curious, why the nvidia package just lists "linux" as a dependency, and not "linux=x.y.z"
Would the above mentioned partial upgrade have been canceled, if pacman had seen that the already installed nvidia version could not have its dependencies met by the new linux version?
Best regards
Johnny
Last edited by johnnyn (2020-12-03 16:48:31)
Offline
This is generally not done as the normal procedure is that kernel updates lead to nvidia rebuilds. This happens correctly and is pushed to the primary mirrors in correct correlation. It's not pacman's nor the packagers job to account for broken mirrors.
If you were to properly complete your logic, that would mean every single package would need to depend on versioned libraries as applicable, which is a additional maintenance burden that isn't being taken as it is expected that the distribution rolls along properly as needed. Every package always depends on the latest releases at the time of compiling. Version constraints are usually used in corner cases where an application cannot be built against the newer dependency, which isn't the case here.
This of course doesn't mean there can't be exceptions and it would ultimately be up to the packager but in this case you really ought to make sure you are using proper mirrors. If it hadn't happened with nvidia it might have happened with readline with similarly devastating effects or with the big python rebuild where part of your modules would be on the old version and other parts on the new version or... you catch the drift
Last edited by V1del (2020-12-03 17:07:32)
Offline
Thanks again, V1del, for the help
I don't consider myself particularly knowledgeable about how packages are distributed in relation to dependencies. So you just tought me something new
Best regards
Johnny
Offline
Wouldn't the DKMS nvidia package help with this type of issue also? Or am I misunderstanding something?
Last edited by CarbonChauvinist (2020-12-03 23:18:07)
"the wind-blown way, wanna win? don't play"
Offline
It definitely would, but that just offloads the relevant responsibility to the user's system. And would fail, though visibly so, as well if the mirror disjoint would concern the linux and linux-headers package, but as that one comes from the same base package your mirror would have to be truly fubar'd for this disjoint to happen
Offline
It definitely would, but that just offloads the relevant responsibility to the user's system. And would fail, though visibly so...
Thanks for clarifying, this was in fact my assumption and may be something for OP to consider.
"the wind-blown way, wanna win? don't play"
Offline