diff --git a/321.bash.vars b/321.bash.vars index 9f1737e..9cd822b 100644 --- a/321.bash.vars +++ b/321.bash.vars @@ -2,6 +2,7 @@ # . ./build.vars and set -o errexit -o noglob are assumed. # +PKG_BASH_PATCHES_EXTRA_URL="https://ftp.gnu.org/gnu/bash/bash-${PKG_BASH_VERSION}-patches/"; PKG_BASH_PATCHES_EXTRA_MANIFEST=" bash43-001 ecb3dff2648667513e31554b3ad054ccd89fce38e33367c9459ac3a285153742 bash43-002 eee7cd7062ab29a9e4f02924d9c367264dcb8b162703f74ff6eb8f175a91502b @@ -46,4 +47,20 @@ bash43-040 84bb396b9262992ca5424feab6ed3ec39f193ef5c76dfe4a62b551bd8dd9d76b bash43-041 4ec432966e4198524a7e0cd685fe222e96043769c9613e66742ac475db132c1a bash43-042 ac219322db2791da87a496ee6e8e5544846494bdaaea2626270c2f73c1044919"; +pkg_bash_patch_post() { + rm_if_exists -m -c ${PKG_SUBDIR}-patches-extra; + wget -c -nd -np -r -R \*.htm\* -R \*.sig ${PKG_BASH_PATCHES_EXTRA_URL}; + for __pbpp_patch_fname in \ + $(find . -type f -not -iname \*.sig | sort); do + patch -b -d ../${PKG_SUBDIR} -p0 < ${__pbpp_patch_fname}; + done; unset __pbpp_patch_fname; + echo ${PKG_BASH_PATCHES_EXTRA_MANIFEST} | while read __pbpp_manifest_line; do + set -- ${__pbpp_manifest_line}; + if ! compare_hash ${1} ${2}; then + log_msg failexit "Error: hash mismatch for patch file \`${1}'."; + fi; + done; + cd ${OLDPWD}; +}; + # vim:filetype=sh diff --git a/build.vars b/build.vars index d1b36ec..d2f2ea5 100644 --- a/build.vars +++ b/build.vars @@ -64,7 +64,7 @@ export PATH="${PREFIX}/bin${PATH:+:${PATH}}"; # pkg.build # DEFAULT_MAKEFLAGS_BUILD=-j8; -PKG_BUILD_VARS="BUILD_CMDLINE BUILD_DIR BUILD_TYPE CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CFLAGS_INSTALL_EXTRA CONFIG_CACHE_EXTRA CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA ENV_VARS_EXTRA FNAME GIT_ARGS_EXTRA INSTALL_FILES INSTALL_TARGET LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE LDFLAGS_CONFIGURE_EXTRA LDFLAGS_INSTALL_EXTRA MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA MAKEFLAGS_INSTALL MAKEFLAGS_INSTALL_EXTRA NO_CLEAN NO_MAKE_INSTALL PATCHES_EXTRA_URL PREFIX_EXTRA SHA256SUM SLIBTOOL SUBDIR SUBDIR_CREATE URL URL_FNAME URL_TYPE VERSION"; +PKG_BUILD_VARS="BUILD_CMDLINE BUILD_DIR BUILD_TYPE CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CFLAGS_INSTALL_EXTRA CONFIG_CACHE_EXTRA CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA ENV_VARS_EXTRA FNAME GIT_ARGS_EXTRA INSTALL_FILES INSTALL_TARGET LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE LDFLAGS_CONFIGURE_EXTRA LDFLAGS_INSTALL_EXTRA MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA MAKEFLAGS_INSTALL MAKEFLAGS_INSTALL_EXTRA NO_CLEAN NO_MAKE_INSTALL PREFIX_EXTRA SHA256SUM SLIBTOOL SUBDIR SUBDIR_CREATE URL URL_FNAME URL_TYPE VERSION"; PKG_LVL0_PREFIX="${PREFIX_CROSS}"; PKG_LVL0_BUILD_TYPE="host"; PKG_LVL0_CONFIGURE_ARGS="-C --disable-nls --host=${TARGET} --prefix= --target=${TARGET}"; @@ -262,7 +262,6 @@ PKG_LVL3_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}"; : ${PKG_BASH_SHA256SUM:=afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4}; : ${PKG_BASH_URL:=https://ftp.gnu.org/gnu/bash/bash-${PKG_BASH_VERSION}.tar.gz}; : ${PKG_BASH_CONFIGURE_ARGS_EXTRA:="--enable-static-link --without-bash-malloc --with-curses"}; -: ${PKG_BASH_PATCHES_EXTRA_URL:=https://ftp.gnu.org/gnu/bash/bash-${PKG_BASH_VERSION}-patches/}; : ${PKG_COREUTILS_VERSION:=8.23}; : ${PKG_COREUTILS_SHA256SUM:=ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d}; : ${PKG_COREUTILS_URL:=https://ftp.gnu.org/gnu/coreutils/coreutils-${PKG_COREUTILS_VERSION}.tar.xz}; diff --git a/pkg.build b/pkg.build index e937614..1f828de 100644 --- a/pkg.build +++ b/pkg.build @@ -91,21 +91,8 @@ if ! is_build_script_done patch; then patch -b -d ${PKG_SUBDIR} -p1 < ${__patch_fname}; fi; done; unset __patch_fname; - if [ -n "${PKG_PATCHES_EXTRA_URL}" ]; then - (rm_if_exists -m -c ${PKG_SUBDIR}-patches-extra; - wget -c -nd -np -r -R \*.htm\* -R \*.sig ${PKG_PATCHES_EXTRA_URL}; - for __patch_fname in \ - $(find . -type f -not -iname \*.sig | sort); do - patch -b -d ../${PKG_SUBDIR} -p0 < ${__patch_fname}; - done); - if [ -n "${PKG_PATCHES_EXTRA_MANIFEST}" ]; then - (set -- ${PKG_PATCHES_EXTRA_MANIFEST}; - while [ ${#} -gt 0 ]; do - if ! compare_hash ${1} ${2}; then - log_msg failexit "Error: hash mismatch for patch file \`${1}'."; - fi; shift; - done); - fi; + if test_cmd pkg_${PKG_NAME}_patch_post; then + pkg_${PKG_NAME}_patch_post; fi; set_build_script_done patch -configure; fi; @@ -230,7 +217,7 @@ if ! is_build_script_done install; then echo mkdir -p -- ${PKG_PREFIX}/${__mkdir_fname}; mkdir -p -- ${PKG_PREFIX}/${__mkdir_fname}; ;; - *) + *) __file_fname_src="${1%=*}"; __file_fname_dst="${1#*=}"; echo cp -pP -- ${__file_fname_src} ${PKG_PREFIX}/${__file_fname_dst};