diff options
Diffstat (limited to 'subr.pkg/pkg_install_files.subr')
-rw-r--r-- | subr.pkg/pkg_install_files.subr | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/subr.pkg/pkg_install_files.subr b/subr.pkg/pkg_install_files.subr new file mode 100644 index 00000000..f37257c6 --- /dev/null +++ b/subr.pkg/pkg_install_files.subr @@ -0,0 +1,94 @@ +# +# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 LucĂa Andrea Illanes Albornoz <lucia@luciaillanes.de> +# set +o errexit -o noglob -o nounset is assumed. +# + +pkgp_install_files() { + if [ "${PKG_INSTALL_FILES:+1}" = 1 ]; then + if ! rtl_install -v "${PKG_DESTDIR}" ${PKG_INSTALL_FILES}; then + return 1; + fi; + fi; + return 0; +}; + +pkgp_install_files_v2() { + local _ppifv2_status="" _ppifv2_vflag=""; + + if [ "${PKG_INSTALL_FILES_V2:+1}" = 1 ]; then + if rtl_lmatch \$ARG_VERBOSE_TAGS "install" ","; then + _ppifv2_vflag="-v"; + fi; + if ! rtl_install_v2 \ + \$_ppifv2_status \ + -p "_builddir=${PKG_BUILD_DIR}" \ + -p "_destdir=${PKG_BASE_DIR}/${PKG_DESTDIR}" \ + -p "_destdir_host=${PKG_BASE_DIR}/${PKG_DESTDIR_HOST}" \ + -p "_files=${MIDIPIX_BUILD_PWD}/files/${PKG_NAME}" \ + -p "_name=${PKG_NAME}" \ + -p "_prefix=${PKG_PREFIX}" \ + -p "_prefix_host=${PREFIX}" \ + -p "_prefix_native=${PREFIX_NATIVE}" \ + -p "_subdir=${PKG_BASE_DIR}/${PKG_SUBDIR}" \ + -p "_target=${PKG_TARGET}" \ + -p "_version=${PKG_VERSION:-}" \ + -p "_workdir=${BUILD_WORKDIR}" \ + ${_ppifv2_vflag} -- "${PKG_DESTDIR}" \ + "${PKG_INSTALL_FILES_V2}"; + then + return 1; + fi; + fi; +}; + +pkgp_install_files_libraries() { + if [ "${PKG_BUILD_TYPE}" != "host" ]; then + ex_rtl_install_library_archives "${PKG_DESTDIR}" "${PKG_TARGET}-mdso" || return 1; + fi; + if [ "${PKG_NO_PURGE_LA_FILES:-0}" -eq 0 ]; then + ex_rtl_purge_la_files "${PKG_DESTDIR}" || return 1; + fi; + return 0; +}; + +pkgp_install_files_perms() { + rtl_set_perms_treeV \ + 0755 0755 0644 \ + "${PKG_DESTDIR}" \ + "${PKG_DESTDIR_HOST}"; + return "${?}"; +}; + +pkgp_install_files_strip() { + local _ppifs_pkg_minipixfl=0 _ppifs_rc=0; + + rtl_match "${PKG_NAME}" "*_minipix"; _ppifs_pkg_minipixfl="${?}"; + if [ \( "${_ppifs_pkg_minipixfl}" -eq 0 \) -a \( "${ARG_DEBUG_MINIPIX:-0}" -eq 0 \) ]\ + || [ \( "${BUILD_KIND}" = release \) -a \( "${PKG_BUILD_TYPE}" = native \) ]; then + ex_rtl_strip_files \ + "${PKG_TARGET}-strip" \ + "${PKG_DESTDIR}" \ + -- \ + rtl_log_msgV "pkg_strip" "${MSG_pkg_strip}"; + _ppifs_rc="${?}"; + fi; + + return "${_ppifs_rc}"; +}; + +pkg_install_files() { + local _pif_group_name="${1}" _pif_pkg_name="${2}" _pif_restart_at="${3}"; + + if ! pkgp_install_files\ + || ! pkgp_install_files_v2\ + || ! pkgp_install_files_perms\ + || ! ex_rtl_fixup_pkgconfig_paths "${PKG_DESTDIR}"\ + || ! pkgp_install_files_strip\ + || ! pkgp_install_files_libraries; + then + return 1; + fi; + return 0; +}; + +# vim:filetype=sh textwidth=0 |