diff options
author | Rickard Green <[email protected]> | 2019-02-12 18:33:04 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2019-03-04 16:23:09 +0100 |
commit | 1adb588f84b1a9340beac2719c0890a05e2dfaad (patch) | |
tree | 92394117d700ef7b61559d68b76b24d288702dfc /make | |
parent | c1df511623b9a2a98d4d3862ae612c1ca9837da7 (diff) | |
download | otp-1adb588f84b1a9340beac2719c0890a05e2dfaad.tar.gz otp-1adb588f84b1a9340beac2719c0890a05e2dfaad.tar.bz2 otp-1adb588f84b1a9340beac2719c0890a05e2dfaad.zip |
Fix install phase in build system
- Install of (mainly) documentation caused rebuild and
modification of the source tree even when the source
previously had been built. Also otp_patch_apply
modified the source tree when updating documentation.
This messed up the installation if installation was
performed by another user than the user that originally
built the system which not is an uncommon scenario.
- Some documentation was installed by copying files
instead of installing the files which caused faulty
access rights on files.
- The documentation was not properly updated when
applying a patch using otp_patch_apply.
Diffstat (limited to 'make')
-rw-r--r-- | make/install_dir_data.sh.in | 70 | ||||
-rw-r--r-- | make/otp.mk.in | 4 |
2 files changed, 74 insertions, 0 deletions
diff --git a/make/install_dir_data.sh.in b/make/install_dir_data.sh.in new file mode 100644 index 0000000000..8c1dc3d889 --- /dev/null +++ b/make/install_dir_data.sh.in @@ -0,0 +1,70 @@ +#!/bin/sh +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 2019. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% +# + +# +# install_dir_data.sh <SourceDir> <DestDir> +# +# Install all content in <SourceDir> including subdirectories +# into <DestDir>. +# + +INSTALL="@INSTALL@" +INSTALL_DIR="@INSTALL_DIR@" +INSTALL_DATA="@INSTALL_DATA@" + +debug=yes + +error () { + echo "ERROR: $1" 1>&2 + exit 1 +} + +usage () { + error "$1\n Usage $progname <SourceDir> <DestDir>" +} + +cmd () { + [ $debug = no ] || echo "$@" + "$@" || exit 1 +} + +progname="$0" + +[ $# -eq 2 ] || usage "Invalid amount of arguments" + +src="$1" +dest="$2" + +cmd cd "$src" + +for dir in `find . -type d`; do + destdir="$dest" + [ "$dir" = "." ] || destdir="$dest/$dir" + cmd $INSTALL_DIR "$destdir" +done + +for file in `find . -type f`; do + subdir=`dirname "$file"` + destdir="$dest" + [ "$subdir" = "." ] || destdir="$dest/$subdir" + cmd $INSTALL_DATA "$file" "$destdir" +done + +exit 0 diff --git a/make/otp.mk.in b/make/otp.mk.in index a89bc37820..ddc9cd9b79 100644 --- a/make/otp.mk.in +++ b/make/otp.mk.in @@ -68,6 +68,7 @@ INSTALL_DIR = @INSTALL_DIR@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_DIR_DATA = $(ERL_TOP)/make/install_dir_data.sh CC = @CC@ GCC = @GCC@ @@ -263,6 +264,9 @@ DEFAULT_GIF_FILES = $(HTMLDIR)/min_head.gif XSLTPROC = @XSLTPROC@ FOP = @FOP@ XMLLINT = @XMLLINT@ +RM = @RM@ +CP = @CP@ +MKDIR = @MKDIR@ DOCGEN=$(ERL_TOP)/lib/erl_docgen FOP_CONFIG = $(DOCGEN)/priv/fop.xconf |