summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2021-01-22 20:42:35 -0500
committerbill-auger <mr.j.spam.me@gmail.com>2021-07-26 19:01:03 -0400
commitf6acaa7a7843a7f5b9b4fc2d09b8dfbd0941a543 (patch)
treea9abceaa714948e588dd5b5eba8ea3dcc5a8f257
parentf0e0c75d9615d3f9af91af20796820204bc5c127 (diff)
re-work special mksource PKGBUILD
-rwxr-xr-xsrc/librefetch/librefetch56
1 files 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"
}