[commit: ghc] master: Use 'install' command for 'inplace/' install as we do in 'make install' (637978f)

git at git.haskell.org git at git.haskell.org
Mon Aug 4 13:13:08 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/637978fa8a7dae97ff67551cb9d5c8fc3ac0fa9d/ghc

>---------------------------------------------------------------

commit 637978fa8a7dae97ff67551cb9d5c8fc3ac0fa9d
Author: Sergei Trofimovich <slyfox at gentoo.org>
Date:   Mon Aug 4 08:09:44 2014 -0500

    Use 'install' command for 'inplace/' install as we do in 'make install'
    
    Summary:
    On hardened gentoo ghc-stage2 does not work as-is,
    as it uses runtime code generation/loading, thus
    ghc0stage2 needs to be marked in a special way
    (via POSIX extened attributes).
    
    Before the patch we used 'cp -p' command, which
    does not preserve that marking. It leads to buid
    failure on hardened. Hardened's 'install' does
    preserve POSIX xattrs, thus patch uses it instead.
    
    'inplace/' directory can be seen the same way as target
    for 'make install', thus using the same facilities
    to install files to 'inplace/' sounds more consistent.
    
    Reported-by: Jay Yang
    Gentoo-bug: https://bugs.gentoo.org/518734
    Signed-off-by: Sergei Trofimovich <slyfox at gentoo.org>
    
    Test Plan: tested ghc installation on vanilla and hardened distributions
    
    Reviewers: austin
    
    Reviewed By: austin
    
    Subscribers: phaskell, simonmar, relrod, ezyang, carter
    
    Differential Revision: https://phabricator.haskell.org/D108


>---------------------------------------------------------------

637978fa8a7dae97ff67551cb9d5c8fc3ac0fa9d
 rules/build-prog.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rules/build-prog.mk b/rules/build-prog.mk
index 399369e..ba1fa00 100644
--- a/rules/build-prog.mk
+++ b/rules/build-prog.mk
@@ -286,7 +286,7 @@ endif
 ifeq "$(findstring clean,$(MAKECMDGOALS))" ""
 ifeq "$$($1_$2_INSTALL_INPLACE)" "YES"
 $$($1_$2_INPLACE) : $1/$2/build/tmp/$$($1_$2_PROG_INPLACE) | $$$$(dir $$$$@)/.
-	"$$(CP)" -p $$< $$@
+	$$(INSTALL) -m 755 $$< $$@
 endif
 endif
 



More information about the ghc-commits mailing list