From 981a63738ae634913c88920275828210779a9a06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz=20=28arab=2C=20vx?= =?UTF-8?q?p=29?= Date: Tue, 21 Nov 2017 15:07:53 +0000 Subject: vars/build.vars: wake up disabled packages. vars/env.vars: fix ${DEFAULT_BUILD_CPUS} reference. vars/{gcc,libfirm,psxstub}.vars: fix ${PKG_MAKEFLAGS_BUILD} reference. vars/git.vars:pkg_git_install_post(): process files in destdir. subr/pkg_install_libs.subr:pkgp_install_lib_link(): ln(1) w/ target's basename. subr/pkg_install_libs.subr:pkg_install_libs(): sanity-check filenames. subr/pkg_setup_env.subr:pkg_setup_env(): rm(1) ${PKG_BASE_DIR} during -r. etc/build.usage: updated. --- subr/pkg_install_libs.subr | 21 +++++++++++++++------ subr/pkg_setup_env.subr | 9 ++++++++- 2 files changed, 23 insertions(+), 7 deletions(-) (limited to 'subr') diff --git a/subr/pkg_install_libs.subr b/subr/pkg_install_libs.subr index 29ec8915..c12369ea 100644 --- a/subr/pkg_install_libs.subr +++ b/subr/pkg_install_libs.subr @@ -2,6 +2,17 @@ # set -o errexit -o noglob are assumed. # +pkgp_install_lib_check() { + local _so_path="${1}" _so_ver="${1##*.so}"; + while [ -n "${_so_ver}" ]; do + if [ "${_so_ver#[0-9].}" = "${_so_ver}" ]; then + return 0; + else + _so_ver="${_so_ver#[0-9].}"; + fi; + done; return 1; +}; + pkgp_install_lib_link() { local _so_path="${1}" _so_dir="${2}" _lib_name="${3}" \ _lib_link_tgt _lib_link_path; @@ -11,7 +22,7 @@ pkgp_install_lib_link() { if [ -n "${_lib_link_tgt}" ]; then _lib_link_path="${_so_path%.so*}.lib.a"; build_fileop rm "${_lib_link_path}"; - build_fileop ln_symbolic "${_lib_link_tgt}" \ + build_fileop ln_symbolic "$(basename "${_lib_link_tgt}")" \ "${_lib_link_path}"; fi; }; @@ -21,11 +32,9 @@ pkg_install_libs() { if [ "${PKG_BUILD_TYPE}" != "host" ]; then for _so_src_path in \ $(find "${PWD}/../destdir" \ - \( -name "*.so" \ - -or -name "*.so.[0-9]*" \ - -or -name "*.so.[0-9]*.[0-9]*" \ - -or -name "*.so.[0-9]*.[0-9]*.[0-9]*" \) -print); - do if [ "$(readlink -f "${_so_src_path}")" = "/dev/null" ]; then + \( -name "*.so" -or -name "*.so.*" \) -print); + do if ! pkgp_install_lib_check "${_so_src_path}" \ + || [ "$(readlink -f "${_so_src_path}")" = "/dev/null" ]; then continue; else case "${_so_src_path}" in *.so) _lib_src_path="${_so_src_path%%.so}.lib.a"; ;; diff --git a/subr/pkg_setup_env.subr b/subr/pkg_setup_env.subr index 6f2ef2cb..a02b1a60 100644 --- a/subr/pkg_setup_env.subr +++ b/subr/pkg_setup_env.subr @@ -16,7 +16,14 @@ pkg_setup_env() { [ -n "${PKG_ENV_VARS_EXTRA}" ] && set_env_vars_with_sep : "${PKG_ENV_VARS_EXTRA}"; [ -z "${PKG_FNAME}" ] && PKG_FNAME="${PKG_URL##*/}"; [ -z "${PKG_TARGET}" ] && PKG_TARGET="${TARGET}"; - [ -z "${PKG_BASE_DIR}" ] && PKG_BASE_DIR="${WORKDIR}/${PKG_NAME}-${PKG_BUILD_TYPE:-native}-${PKG_TARGET}"; + case "${PKG_BASE_DIR}" in + ?*) ;; + *) PKG_BASE_DIR="${WORKDIR}/${PKG_NAME}-${PKG_BUILD_TYPE:-native}-${PKG_TARGET}"; + if [ -n "${ARG_RESTART}" ]\ + && [ -z "${ARG_RESTART_AT}" ]; then + build_fileop rm "${PKG_BASE_DIR}"; + fi; ;; + esac; case "${PKG_BUILD_TYPE}" in host) export AR="ar"; export CC="gcc"; -- cgit v1.2.3