diff options
Diffstat (limited to 'subr.pkg/pkg_configure_patch.subr')
-rw-r--r-- | subr.pkg/pkg_configure_patch.subr | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/subr.pkg/pkg_configure_patch.subr b/subr.pkg/pkg_configure_patch.subr index c616fde2..8ed0ad33 100644 --- a/subr.pkg/pkg_configure_patch.subr +++ b/subr.pkg/pkg_configure_patch.subr @@ -6,8 +6,8 @@ pkg_configure_patch() { local _pcp_group_name="${1}" _pcp_pkg_name="${2}" _pcp_restart_at="${3}" \ _pcp_patch_cwd="" _pcp_patch_dir="${MIDIPIX_BUILD_PWD}/patches" \ - _pcp_patch_fname="" _pcp_patches_done="" _pcp_pkg_name_full="" \ - _pcp_strip_count=0; + _pcp_patch_fname="" _pcp_patch_idx=0 _pcp_patches_done="" \ + _pcp_pkg_name_full="" _pcp_strip_count=0; _pcp_pkg_name_full="${_pcp_pkg_name}${PKG_VERSION:+-${PKG_VERSION}}"; if [ "${PKG_FNAME:+1}" = 1 ]\ @@ -20,24 +20,23 @@ pkg_configure_patch() { _pcp_strip_count=1; fi; - set +o noglob; - for _pcp_patch_fname in \ - "${_pcp_patch_dir}/${PKG_NAME}/"*.patch \ - "${_pcp_patch_dir}/${_pcp_pkg_name_full}.local.patch" \ - "${_pcp_patch_dir}/${_pcp_pkg_name_full}.local@${BUILD_HNAME}.patch" \ - ${PKG_PATCHES_EXTRA:-}; + _pcp_patch_idx=1; + while ex_pkg_get_default \ + \$_pcp_patch_fname "${_pcp_pkg_name}" \ + "${PKG_VERSION}" "patches" "${_pcp_patch_idx}" \ + && [ "${_pcp_patch_fname:+1}" = 1 ]; do + : $((_pcp_patch_idx += 1)); if [ -r "${_pcp_patch_fname}" ]\ && ! rtl_lmatch \$_pcp_patches_done "${_pcp_patch_fname}"; then if ! patch -b -d "${_pcp_patch_cwd}" "-p${_pcp_strip_count}" < "${_pcp_patch_fname}"; then - set -o noglob; return 1; + return 1; else rtl_lconcat \$_pcp_patches_done "${_pcp_patch_fname}"; fi; fi; done; - set -o noglob; return 0; }; |