On Tue, 24 Sep 2024, Ben Hutchings wrote: >I suppose I can make this work again for bookworm, but I won't do so >for unstable.
Then, perhaps issue a visible warning so that people can change their scripts? >This was not an intended feature. When specifiing a diectory as the >target you are supposed to ensure that it already exists under >${DESTDIR}. It seems that this just happened to work when the target >name ended in a slash. Hmmh, but this is used in so many other places, e.g. dh_install does that, and many of the other scripts also don’t place filenames after directories, they are just lucky that the directories exist then. But, wait, copy_exec *DOES* create missing directories, so this *does* look like intended behaviour to me… >The changes in the last point release to avoid duplicating files >accessed via directory symlinks broke that because realpath strips the >trailing slash. Hmh. IMHO we have two ways we can go from here (also towards sid). One, repair this. If there is a trailing slash, it’s supposed to be placed into that directory, then create that if missing. That is, make bullseye’s behaviour the intended one. Two, say people are expected to create the directories first. But in that case, copy_exec also must not create any missing directories any more *at all*, and additionally, if the target ends in a slash in the argv (i.e. before realpathisation), it still must be interpreted as the name of a directory (or symlink to a directory), so that copying to '/usr/libexec/' will either work (if pre-created) or fail (if not pre-created). These two are needed for consistency and to have a sensitive failure mode for users’ scripts, as opposed to create /usr/libexec as file. bye, //mirabilos -- 22:20⎜<asarch> The crazy that persists in his craziness becomes a master 22:21⎜<asarch> And the distance between the craziness and geniality is only measured by the success 18:35⎜<asarch> "Psychotics are consistently inconsistent. The essence of sanity is to be inconsistently inconsistent