Commit 0fb4a38f authored by Mike Hommey's avatar Mike Hommey
Browse files

Bug 1621436 - Run process_install_manifest with python3. r=rstewart

Differential Revision: https://phabricator.services.mozilla.com/D70156

--HG--
extra : moz-landing-system : lando
parent b54179e4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ ifneq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
	@# same directory, because that would blow up
	$(if $(wildcard _build_manifests/install/$(subst /,_,$*)),$(if $(wildcard faster/install_$(subst /,_,$*)*),$(error FasterMake and RecursiveMake ends of the hybrid build system want to handle $*)))
endif
	$(addprefix $(call py_action,process_install_manifest,--track install_$(subst /,_,$*).track $*) ,$(wildcard _build_manifests/install/$(subst /,_,$*)))
	$(addprefix $(call py3_action,process_install_manifest,--track install_$(subst /,_,$*).track $*) ,$(wildcard _build_manifests/install/$(subst /,_,$*)))

# Dummy wrapper rule to allow the faster backend to piggy back
$(addprefix install-,$(subst /,_,$(filter dist/%,$(install_manifests)))): install-dist_%: install-dist/% ;
@@ -108,7 +108,7 @@ install-tests: install-test-files

.PHONY: install-test-files
install-test-files:
	$(call py_action,process_install_manifest,--track install__test_files.track _tests _build_manifests/install/_test_files)
	$(call py3_action,process_install_manifest,--track install__test_files.track _tests _build_manifests/install/_test_files)

include $(topsrcdir)/build/moz-automation.mk

+1 −1
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ $(addprefix install-,$(INSTALL_MANIFESTS)): install-%: $(addprefix $(TOPOBJDIR)/
	@# The overhead is not that big, and this avoids waiting for proper
	@# support for defines tracking in process_install_manifest.
	@touch install_$(subst /,_,$*)
	$(PYTHON) -m mozbuild.action.process_install_manifest \
	$(PYTHON3) -m mozbuild.action.process_install_manifest \
		--track install_$(subst /,_,$*).track \
		$(TOPOBJDIR)/$* \
		-DAB_CD=en-US \
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ install:: ../js-config.h
#

install::
	$(call py_action,process_install_manifest,--track install_dist_include.track --no-symlinks $(DESTDIR)$(includedir)/$(JS_LIBRARY_NAME) $(DEPTH)/_build_manifests/install/dist_include)
	$(call py3_action,process_install_manifest,--track install_dist_include.track --no-symlinks $(DESTDIR)$(includedir)/$(JS_LIBRARY_NAME) $(DEPTH)/_build_manifests/install/dist_include)

#
# END SpiderMonkey header installation
+6 −2
Original line number Diff line number Diff line
@@ -375,7 +375,10 @@ class AbsoluteSymlinkFile(File):

        # Handle the simple case where symlinks are definitely not supported by
        # falling back to file copy.
        if not hasattr(os, 'symlink'):
        # Python 3 supports symlinks on Windows, but for some reason, this has
        # weird consequences on automation (but not in a local build). Exclude
        # Windows for now until we figure out what the cause is.
        if not hasattr(os, 'symlink') or platform.system() == 'Windows':
            return File.copy(self, dest, skip_if_older=skip_if_older)

        # Always verify the symlink target path exists.
@@ -577,7 +580,8 @@ class PreprocessedFile(BaseFile):
        # destination is not a symlink, we leave it alone, since we're going to
        # overwrite its contents anyway.
        # If symlinks aren't supported at all, we can skip this step.
        if hasattr(os, 'symlink'):
        # See comment in AbsoluteSymlinkFile about Windows.
        if hasattr(os, 'symlink') and platform.system() != 'Windows':
            if os.path.islink(dest.path):
                os.remove(dest.path)

+3 −1
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ import unittest
import mozfile
import mozunit
import os
import platform
import random
import six
import sys
@@ -75,7 +76,8 @@ class TestWithTmpDir(unittest.TestCase):
        self.symlink_supported = False
        self.hardlink_supported = False

        if hasattr(os, 'symlink'):
        # See comment in mozpack.files.AbsoluteSymlinkFile
        if hasattr(os, 'symlink') and platform.system() != 'Windows':
            dummy_path = self.tmppath('dummy_file')
            with open(dummy_path, 'a'):
                pass