From 51a50c95b4cd47b6931523926b728d1c0ff8988b Mon Sep 17 00:00:00 2001 From: Guangyao Ma Date: Tue, 20 Jul 2021 14:37:27 +0800 Subject: [PATCH] feat: support .mkshrc close #I3Y5KE Signed-off-by: Guangyao Ma Change-Id: Iea3cfe4da572b1a4e250f90cea24efa2c27ceddb --- Makefile | 2 +- apps/mksh/Makefile | 3 ++ tools/scripts/make_rootfs/rootfs.sh | 39 -------------------------- tools/scripts/make_rootfs/rootfsdir.sh | 18 ++++++++---- 4 files changed, 17 insertions(+), 45 deletions(-) delete mode 100755 tools/scripts/make_rootfs/rootfs.sh diff --git a/Makefile b/Makefile index ff3bf7c9..3ef0218e 100644 --- a/Makefile +++ b/Makefile @@ -181,7 +181,7 @@ endif $(ROOTFSDIR): prepare $(APPS) $(HIDE)$(MAKE) clean -C apps - $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsdir.sh $(OUT)/bin $(OUT)/musl $(ROOTFS_DIR) $(LITEOS_TARGET_DIR) + $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsdir.sh $(OUT) $(ROOTFS_DIR) $(LITEOS_TARGET_DIR) ifneq ($(VERSION),) $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/releaseinfo.sh "$(VERSION)" $(ROOTFS_DIR) $(LITEOS_TARGET_DIR) endif diff --git a/apps/mksh/Makefile b/apps/mksh/Makefile index 182c7c01..43f215f1 100755 --- a/apps/mksh/Makefile +++ b/apps/mksh/Makefile @@ -34,6 +34,7 @@ LITEOSTOPDIR = $(MKSH_DIR)/../../ include $(MKSH_DIR)/../config.mk APPS_OUT := $(OUT)/bin +ETC_OUT := $(OUT)/etc BUILD_DIR := $(MKSH_DIR)/build BUILD_LOG := $(MKSH_DIR)/build.log TARGET_OS := OpenHarmony @@ -61,6 +62,8 @@ endif $(HIDE)$(STRIP) $(MKSH) $(HIDE)mkdir -p $(APPS_OUT) $(HIDE)$(CP) $(MKSH) $(APPS_OUT) + $(HIDE)mkdir -p $(ETC_OUT) + $(HIDE)$(CP) -rf $(BUILD_DIR)/.mkshrc $(ETC_OUT)/ clean: $(HIDE)$(RM) $(MKSH) $(BUILD_DIR) $(BUILD_LOG) diff --git a/tools/scripts/make_rootfs/rootfs.sh b/tools/scripts/make_rootfs/rootfs.sh deleted file mode 100755 index e1c46223..00000000 --- a/tools/scripts/make_rootfs/rootfs.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. -# Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, -# are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of -# conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list -# of conditions and the following disclaimer in the documentation and/or other materials -# provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used -# to endorse or promote products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -set -e - -BIN_DIR=$1 -LIB_DIR=$2 -ROOTFS_DIR=$3 -FSTYPE=$4 -CUR_DIR=$(dirname $(readlink -f "$0")) -. ${CUR_DIR}/rootfsdir.sh ${BIN_DIR} ${LIB_DIR} ${ROOTFS_DIR} -. ${CUR_DIR}/rootfsimg.sh ${ROOTFS_DIR} ${FSTYPE} \ No newline at end of file diff --git a/tools/scripts/make_rootfs/rootfsdir.sh b/tools/scripts/make_rootfs/rootfsdir.sh index 35c553e4..a7c571e4 100755 --- a/tools/scripts/make_rootfs/rootfsdir.sh +++ b/tools/scripts/make_rootfs/rootfsdir.sh @@ -30,14 +30,17 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. set -e -BIN_DIR=$1 -LIB_DIR=$2 -ROOTFS_DIR=$3 -OUT_DIR=$4 +OUT=$1 +ROOTFS_DIR=$2 +OUT_DIR=$3 +BIN_DIR=${OUT}/bin +LIB_DIR=${OUT}/musl +ETC_DIR=${OUT}/etc NEED_COPYTO_OUTDIR=(shell toybox mksh tftp) + mkdir -p ${ROOTFS_DIR}/bin ${ROOTFS_DIR}/lib ${ROOTFS_DIR}/usr/bin ${ROOTFS_DIR}/usr/lib ${ROOTFS_DIR}/etc \ ${ROOTFS_DIR}/app ${ROOTFS_DIR}/data ${ROOTFS_DIR}/proc ${ROOTFS_DIR}/dev ${ROOTFS_DIR}/data/system ${ROOTFS_DIR}/data/system/param \ -${ROOTFS_DIR}/system ${ROOTFS_DIR}/system/internal ${ROOTFS_DIR}/system/external ${OUT_DIR}/bin ${OUT_DIR}/libs +${ROOTFS_DIR}/system ${ROOTFS_DIR}/system/internal ${ROOTFS_DIR}/system/external ${OUT_DIR}/bin ${OUT_DIR}/libs ${OUT_DIR}/etc if [ -d "${BIN_DIR}" ] && [ "$(ls -A "${BIN_DIR}")" != "" ]; then cp -f ${BIN_DIR}/* ${ROOTFS_DIR}/bin for el in ${NEED_COPYTO_OUTDIR[@]} @@ -49,3 +52,8 @@ if [ -d "${BIN_DIR}" ] && [ "$(ls -A "${BIN_DIR}")" != "" ]; then fi cp -f ${LIB_DIR}/* ${ROOTFS_DIR}/lib cp -f ${LIB_DIR}/* ${OUT_DIR}/libs + +if [ -e ${ETC_DIR} ]; then +cp -f ${ETC_DIR}/.mkshrc ${ROOTFS_DIR}/etc +cp -f ${ETC_DIR}/.mkshrc ${OUT_DIR}/etc +fi -- GitLab