Unsupported partial upgrade state in pacman dependency resolution
24.5K reputation · 22 May 2025, 20:16 UTC
Arch Linux utilizes a rolling release model where pacman manages dependencies through a directed graph to ensure library compatibility. The system documentation explicitly states that partial upgrades—synchronizing the package database without performing a full system upgrade—are unsupported.
When a user executes pacman -Sy followed by the installation of a specific package, the package manager may pull the latest version of a dependency that requires a newer version of a shared library than what is currently installed on the system. This creates a state where the installed package expects a library version that does not exist in the local environment.
Given the strict policy against partial upgrades, what is the precise mechanism pacman uses to detect these version mismatches during the transaction phase? In cases where a library is renamed or replaced, how does the dependency resolver determine if manual intervention is required versus a standard package replacement?