dep

Package manager for embedded C libraries
git clone git://git.finwo.net/app/dep
Log | Files | Refs | README | LICENSE

commit 162dd1ae9a1702fc5d2689b8f612453f74f08a64
parent 3b31da03ea422160a5d1e86330460d46ab59ae2b
Author: finwo <finwo@pm.me>
Date:   Sun, 29 Jan 2023 16:54:33 +0100

Treat config.mk as special file with appending together instead of symlinking

Diffstat:
Mdist/dep | 9++++++++-
Msrc/command/install/index.sh | 9++++++++-
2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/dist/dep b/dist/dep @@ -375,7 +375,14 @@ function cmd_install_dep { filetarget=${line%%=*} filesource=${line#*=} mkdir -p "$(dirname "${CMD_INSTALL_PKG_DEST}/.dep/${filetarget}")" - ln -fs "${CMD_INSTALL_PKG_DEST}/${name}/${filesource}" "${CMD_INSTALL_PKG_DEST}/.dep/${filetarget}" + case "${filetarget}" in + config.mk) + cat "${CMD_INSTALL_PKG_DEST}/${name}/${filesource}" | sed "s|__DIRNAME|${CMD_INSTALL_PKG_DEST}/${name}|g" >> "${CMD_INSTALL_PKG_DEST}/.dep/${filetarget}" + ;; + *) + ln -fs "${CMD_INSTALL_PKG_DEST}/${name}/${filesource}" "${CMD_INSTALL_PKG_DEST}/.dep/${filetarget}" + ;; + esac done < <(ini_foreach ini_output_section "${CMD_INSTALL_PKG_DEST}/${name}/package.ini" "export.") } read -r -d '' help_topics[repository] <<- EOF diff --git a/src/command/install/index.sh b/src/command/install/index.sh @@ -145,6 +145,13 @@ function cmd_install_dep { filetarget=${line%%=*} filesource=${line#*=} mkdir -p "$(dirname "${CMD_INSTALL_PKG_DEST}/.__NAME/${filetarget}")" - ln -fs "${CMD_INSTALL_PKG_DEST}/${name}/${filesource}" "${CMD_INSTALL_PKG_DEST}/.__NAME/${filetarget}" + case "${filetarget}" in + config.mk) + cat "${CMD_INSTALL_PKG_DEST}/${name}/${filesource}" | sed "s|__DIRNAME|${CMD_INSTALL_PKG_DEST}/${name}|g" >> "${CMD_INSTALL_PKG_DEST}/.__NAME/${filetarget}" + ;; + *) + ln -fs "${CMD_INSTALL_PKG_DEST}/${name}/${filesource}" "${CMD_INSTALL_PKG_DEST}/.__NAME/${filetarget}" + ;; + esac done < <(ini_foreach ini_output_section "${CMD_INSTALL_PKG_DEST}/${name}/package.ini" "export.") }