diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2021-01-22 20:42:35 -0500 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2022-08-29 10:27:59 -0400 |
commit | 9b5e9c6ad600ae2f272f83e71dc081c4585a69bd (patch) | |
tree | c39020b12ebc309fe752ef4d33d5f4212823b1e3 | |
parent | 6e12538e5832180ae4664339ff504d218a005184 (diff) |
re-work special mksource PKGBUILD
-rwxr-xr-x | src/librefetch/librefetch | 63 |
1 files changed, 31 insertions, 32 deletions
diff --git a/src/librefetch/librefetch b/src/librefetch/librefetch index 518b6e9..9973342 100755 --- a/src/librefetch/librefetch +++ b/src/librefetch/librefetch @@ -331,56 +331,55 @@ 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 $((!$?)) ) +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}" +for algo in ${known_hash_algos[*]} +do eval "[[ -n \"\${mk${algo}sums[*]}\" ]] && \ + ${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 $((!$?)) ) +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" } |