New comment by Duncaen on void-packages repository https://github.com/void-linux/void-packages/issues/40357#issuecomment-1336426906 Comment: The scripts don't run at the stage where your update aborts, this is the file conflict/obsolete files detection where its still safe to abort the update since nothing is actually changed (or deleted in this case, xbps in this case just counts files it tracks and deletes in that directory that is supposed to be replaced with a symlink and sees that there are too many files and then aborts since it won't be able to delete that file without deleting userdata). When the scripts run they change the system, so can't really run safely before this stage without changing the system when an actual conflict is detected.