From bd21ccaf486d897165373489b1e88e49e0368a54 Mon Sep 17 00:00:00 2001 From: Yingjie Wang Date: Sun, 21 Dec 2025 15:38:12 -0500 Subject: [PATCH] new: add dirct-install --- leaf | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/leaf b/leaf index 95f9cbf..349cbf4 100755 --- a/leaf +++ b/leaf @@ -45,7 +45,7 @@ main() { else local _item case $1 in - prepare|build|install|force-install|remove|pack) + prepare|build|install|force-install|remove|pack|dirct-install) leaf_check_permission for _item in "${@:2}"; do leaf_find_pkgbuild "${_item}" @@ -54,7 +54,9 @@ main() { leaf_parse_options srcdir="${BUILD_DIR}/${PKG_PREFIX}/${PKG_NAME}" pkgdir="${srcdir}"/__pkgdir__ - rm -rf "${srcdir}" && install -dm755 "${srcdir}" && cd "${srcdir}" + if [[ x"$1" != x"dirct-install" ]]; then + rm -rf "${srcdir}" && install -dm755 "${srcdir}" && cd "${srcdir}" + fi leaf_${1}_package done ;; @@ -264,6 +266,7 @@ Option: prepare prepare packages but do not build build build packages but do not install install install packages forece-install install packages even if test faild + dirct-install install packages directly from previous build remove remove packages clean clean all source folders list list installed packages @@ -453,6 +456,21 @@ leaf_install_package() { echo -e "${GREEN_COLOR}* Package ${PKG_PREFIX}/${PKG_NAME} has been installed${CLEAR_COLOR}\n" } +leaf_dirct-install_package() { + # install need to be in fakeroot + #leaf_build_package + # trace need to to in the same fakeroot + leaf_trace_package "${pkgdir}" + # ROOT starts + src_preinstall + leaf_merge_package "${pkgdir}" + src_postinstall + leaf_update_package_database add "${PKG_PREFIX}/${PKG_NAME}" + leaf_update_environment + # ROOT ends + echo -e "${GREEN_COLOR}* Package ${PKG_PREFIX}/${PKG_NAME} has been installed${CLEAR_COLOR}\n" +} + leaf_force-install_package(){ FORCE_INSTALL=1 leaf_install_package