On Thu, Jun 20, 2024 at 09:29:45AM +0200, Peter Eisentraut wrote: > On 16.06.24 21:34, Noah Misch wrote: > > On Thu, Oct 05, 2023 at 05:46:46PM +0200, Peter Eisentraut wrote: > > > --- a/src/backend/Makefile > > > +++ b/src/backend/Makefile > > > > > $(top_builddir)/src/include/storage/lwlocknames.h: > > > storage/lmgr/lwlocknames.h > > > - prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \ > > > - cd '$(dir $@)' && rm -f $(notdir $@) && \ > > > - $(LN_S) "$$prereqdir/$(notdir $<)" . > > > + rm -f '$@' > > > + $(LN_S) ../../backend/$< '$@' > > > $(top_builddir)/src/include/utils/wait_event_types.h: > > > utils/activity/wait_event_types.h > > > - prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \ > > > - cd '$(dir $@)' && rm -f $(notdir $@) && \ > > > - $(LN_S) "$$prereqdir/$(notdir $<)" . > > > + rm -f '$@' > > > + $(LN_S) ../../backend/$< '$@' > > > > These broke the > > https://www.postgresql.org/docs/17/installation-platform-notes.html#INSTALLATION-NOTES-MINGW > > build, where LN_S='cp -pR'. On other platforms, "make LN_S='cp -pR'" > > reproduces this. Reverting the above lines fixes things. The buildfarm has > > no coverage for that build scenario (fairywren uses Meson). > > Is it just these two instances?
Yes. > Commit 721856ff24b contains a few more hunks that change something about > LN_S. Are those ok? I'm guessing "make LN_S='cp -pR'" didn't have a problem with those because they have "." as the second argument. "cp -pR ../foo ." is compatible with "ln -s ../foo ." in that both are interpreting "../bar" relative to the same directory. Not so for "cp -pR ../foo bar/baz" vs. "ln -s ../foo bar/baz".