From f6acaa7a7843a7f5b9b4fc2d09b8dfbd0941a543 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Fri, 22 Jan 2021 20:42:35 -0500 Subject: re-work special mksource PKGBUILD --- src/librefetch/librefetch | 56 +++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/src/librefetch/librefetch b/src/librefetch/librefetch index 53034ef..cbd52df 100755 --- a/src/librefetch/librefetch +++ b/src/librefetch/librefetch @@ -327,56 +327,54 @@ modified_makepkg() { # Modify PKGBUILD ############################################################## -# a string to be appended -pkgbuild_append=' -# do not do split packages -if [[ ${#pkgname[@]} -gt 1 ]]; then - if [[ -n $pkgbase ]]; then - pkgname=("$pkgbase") - else - pkgname=("$pkgname") - fi +# modified temporary mksource PKGBUILD over-rides +readonly PKGBUILD_APPEND=' +## this is a temporary mksource PKGBUILD ## +## the modifications below, over-ride the abslibre PKGBUILD above to do mksource magic ## + +# ignore split packages - we want a single source-ball +_is_split_pkg=$( [[ "$(declare -p pkgname 2> /dev/null)" =~ ^"declare -a " ]] && echo 1 || echo 0 ) +if (( _is_split_pkg )) +then pkgname=( $( [[ -n "${pkgbase}" ]] && echo ${pkgbase} || echo ${pkgname} ) ) fi -# copy source variables -source=("${mksource[@]}") ; unset "source_${CARCH}" +# replace *depends* arrays with mksource dependencies +depends=() ; unset "depends_${CARCH}" ; +checkdepends=() ; unset "checkdepends_${CARCH}" ; +makedepends=("${mkdepends[@]}") ; unset "makedepends_${CARCH}" ; + +# replace source* arrays with mksource sources +source=("${mksource[@]}") ; unset "source_${CARCH}" ; noextract=("${mknoextract[@]}") +# replace *sums* arrays with mksource checksums declare algo for algo in "${known_hash_algos[@]}"; do eval "${algo}sums=(\"\${mk${algo}sums[@]}\")" unset "${algo}sums_${CARCH}" done -depends=() ; unset "depends_${CARCH}" -checkdepends=() ; unset "checkdepends_${CARCH}" -makedepends=("${mkdepends[@]}") ; unset "makedepends_${CARCH}" - +# cleanup any remaining, possibly conflicting data backup=() -#### -# See packaging_options in the makepkg source +# set source-ball specific options (see packaging_options in the makepkg source) options=(!strip docs libtool staticlibs emptydirs !zipman !debug purge) PURGE_TARGETS=(.bzr/ .cvs/ .git/ .hg/ .svn/ .makepkg/) -#### -if ! declare -f mksource >/dev/null; then - mksource() { :; } -fi -prepare() { :; } -build() { msg "Starting mksource()"; mksource; } -check() { :; } -package() { cp -a "$srcdir"/*/ "$pkgdir/"; } -if [[ "$(declare -p pkgname 2> /dev/null)" =~ ^"declare -a " ]] -then for pkg in ${pkgname[*]} ; do unset package_${pkg} ; done ; -fi +# over-ride build/packaging functions to do mksource magic +_has_mksource=$( declare -f mksource > /dev/null && echo 1 || echo 0 ) +prepare() { : ; } +build() { msg "Starting mksource()" ; (( has_mksource )) && mksource || : ; } +check() { : ; } +package() { cp -a "$srcdir"/*/ "$pkgdir/" ; } +(( _is_split_pkg )) && for pkg in ${pkgname[*]} ; do unset package_${pkg} ; done ; ' modified_pkgbuild() { local pkgbuild=$1 local srcbuild srcbuild="$(mktemp "${pkgbuild%/*}/${cmd}.XXXXXXXXXXX.PKGBUILD.to.SRCBUILD")" - printf '%s' "$pkgbuild_append" | cat "$pkgbuild" - > "$srcbuild" + printf '%s' "$PKGBUILD_APPEND" | cat "$pkgbuild" - > "$srcbuild" printf '%s\n' "$srcbuild" } -- cgit v1.2.2