mirror of https://github.com/python/cpython
gh-100221: Fix creating dirs in `make sharedinstall` (GH-100329)
Fix creating install directories in `make sharedinstall` if they exist already outside `DESTDIR`. The previous make rules assumed that the directories would be created via a dependency on a rule for `$(DESTSHARED)` that did not fire if the directory did exist outside `$(DESTDIR)`. While technically `$(DESTDIR)` could be prepended to the rule name, moving the rules for creating directories straight into the `sharedinstall` rule seems to fit the common practices better. Since the rule explicitly checks whether the individual directories exist anyway, there seems to be no reason to rely on make determining that implicitly as well.
This commit is contained in:
parent
35dd55005e
commit
2a8bf25804
|
@ -1816,7 +1816,15 @@ commoninstall: check-clean-src @FRAMEWORKALTINSTALLFIRST@ \
|
|||
# Install shared libraries enabled by Setup
|
||||
DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
|
||||
|
||||
sharedinstall: $(DESTSHARED) all
|
||||
sharedinstall: all
|
||||
@for i in $(DESTDIRS); \
|
||||
do \
|
||||
if test ! -d $(DESTDIR)$$i; then \
|
||||
echo "Creating directory $$i"; \
|
||||
$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
|
||||
else true; \
|
||||
fi; \
|
||||
done
|
||||
@for i in X $(SHAREDMODS); do \
|
||||
if test $$i != X; then \
|
||||
echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
|
||||
|
@ -1828,17 +1836,6 @@ sharedinstall: $(DESTSHARED) all
|
|||
fi; \
|
||||
done
|
||||
|
||||
|
||||
$(DESTSHARED):
|
||||
@for i in $(DESTDIRS); \
|
||||
do \
|
||||
if test ! -d $(DESTDIR)$$i; then \
|
||||
echo "Creating directory $$i"; \
|
||||
$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
|
||||
else true; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Install the interpreter with $(VERSION) affixed
|
||||
# This goes into $(exec_prefix)
|
||||
altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Fix creating install directories in ``make sharedinstall`` if they exist
|
||||
outside ``DESTDIR`` already.
|
Loading…
Reference in New Issue