update: seperate HOME and TEMPDIR

now setup LEAFHOME and LEAFTEMPDIR to /tmp/leaf-tmp/$PKG_NAME
and export HOME=$LEAFHOME TEMPDIR=$LEAFTEMPDIR
in this way, HOME and TEMPDIR is out of source tree, which is better
also, path is shorter
This commit is contained in:
2026-01-02 01:30:13 -05:00
parent 1386633baf
commit 4ff79cfdd6

29
leaf
View File

@@ -68,15 +68,17 @@ main() {
fi
leaf_parse_options
srcdir="${BUILD_DIR}/${PKG_PREFIX}/${PKG_NAME}"
TMPDIR="${srcdir}/.leaf-tmp"
HOME="${srcdir}/.leaf-home"
export TMPDIR
export HOME
LEAFTMPDIR="/tmp/leaf-tmp/${PKG_NAME}"
LEAFHOME="/tmp/leaf-tmp/${PKG_NAME}"
export TMPDIR="${LEAFTMPDIR}"
export HOME=${LEAFHOME}
pkgdir="${srcdir}"/__pkgdir__
if [[ x"$1" != x"dirct-install" ]]; then
rm -rf "${srcdir}" && install -dm755 "${srcdir}" && cd "${srcdir}"
fi
leaf_${1}_package
#rm -rf "${LEAFTMPDIR}"
#rm -rf "${LEAFHOME}"
done
;;
upgrade)
@@ -650,6 +652,7 @@ leaf_prepare_package() {
}
leaf_build_package() {
rm -rf -- ${TMPDIR} ${HOME}
mkdir -pv ${TMPDIR}
mkdir -pv ${HOME}
@@ -773,13 +776,14 @@ leaf_upgrade_package() {
leaf_parse_options
srcdir="${BUILD_DIR}/${PKG_PREFIX}/${PKG_NAME}"
TMPDIR="${srcdir}/.leaf-tmp"
HOME="${srcdir}/.leaf-home"
export TMPDIR HOME
LEAFTMPDIR="/tmp/leaf-tmp/${PKG_NAME}"
LEAFHOME="${LEAFTMPDIR}"
export TMPDIR="${LEAFTMPDIR}"
export HOME="${LEAFHOME}"
pkgdir="${srcdir}/__pkgdir__"
rm -rf -- "${srcdir}" && install -dm755 -- "${srcdir}" && cd "${srcdir}"
mkdir -pv -- "${TMPDIR}" "${HOME}"
mkdir -pv -- "${LEAFTMPDIR}" "${LEAFHOME}"
leaf_build_package
@@ -800,15 +804,18 @@ leaf_upgrade_package() {
srcdir="${new_srcdir}"
pkgdir="${new_pkgdir}"
TMPDIR="${srcdir}/.leaf-tmp"
HOME="${srcdir}/.leaf-home"
export TMPDIR HOME
LEAFTMPDIR="/tmp/leaf-tmp/${PKG_NAME}"
LEAFHOME="${LEAFTMPDIR}"
export TMPDIR="${LEAFTMPDIR}"
export HOME="${LEAFHOME}"
[ -d "${pkgdir}" ] || leaf_error "upgrade: built pkgdir missing: ${pkgdir}"
cd "${srcdir}" || leaf_error "upgrade: cannot enter build dir: ${srcdir}"
leaf_dirct-install_package
#rm -rf -- "${LEAFTMPDIR}" "${LEAFHOME}"
# new trace dir now exists (generated by leaf_dirct-install_package -> leaf_trace_package)
new_trace_dir="${TRACE_DIR}/${new_prefix}/${new_name}"
[ -d "${new_trace_dir}" ] || leaf_error "upgrade: new trace dir missing: ${new_trace_dir}"