From 52346d074a62e66b186501dcef691bb1125f1e01 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Thu, 27 May 2021 12:59:37 -0400 Subject: wip - meld-src-pkgbuilds --- src/maintenance-tools/meld-src-pkgbuilds | 51 +++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/src/maintenance-tools/meld-src-pkgbuilds b/src/maintenance-tools/meld-src-pkgbuilds index e53b3fd..ecc8237 100755 --- a/src/maintenance-tools/meld-src-pkgbuilds +++ b/src/maintenance-tools/meld-src-pkgbuilds @@ -4,12 +4,32 @@ readonly PKGS_DIR="$(source <(grep 'WORKDIR=' /etc/libretools.conf) ; echo "${WORKDIR}")" # readonly PKGS_DIR=$(grep 'WORKDIR=' /etc/libretools.conf | sed 's|.*WORKDIR="\([^"]*\)*"|\1|') +read -r -d '' USAGE <<-'USAGE_MSG' +USAGE: + + $0 [ -a | -g ] PKGBUILD-or-srcpkg-or-pkgname PKGBUILD-or-srcpkg + +OPTIONS: + + $0 [ -a ] UseAbs + $0 [ -g ] UseGui + +EXAMPLES: + +# # local srcpkg_a='icecat' +# # local srcpkg_a="$(SelectSrcpkg "${pkgname}")" +# # local srcpkg_=/packages/abslibre/libre/icecat/PKGBUILD +# # local srcpkg_=/packages/abslibre/libre/icecat/icecat-78.10.0_pre2-1-x86_64.src.tar.gz +USAGE_MSG + readonly UseAbs=0 readonly UseGui=0 SelectSrcpkg() # (pkgname) { +echo "SelectSrcpkg() OUT"; return + # echo back parameter, if not a valid pkgname local pkgname=$1 local pkgname_rx='^[0-9a-z][0-9a-zA-Z_-]*$' @@ -30,14 +50,17 @@ SelectSrcpkg() # (pkgname) (( ${#pkgs[@]} )) && [[ -n "${pkgs[@]}" ]] || return 1 select pkg in "${pkgs[@]}" ; do echo "${pkg}" ; break ; done +echo "SelectSrcpkg() OUT" } GitPkgbuilds() { +echo "GitPkgbuilds() IN" ; return local pkgname_rx='^[-@\._\+0-9a-z]+$' local pkgname=$( [[ "$1" =~ ${pkgname_rx} ]] && echo "$1" ) local sort_order=$( [[ "$2" == '--reverse' ]] && echo '--reverse' ) [[ -z "${pkgname}" ]] && echo "invalid pkgname: '$1'" && return 1 +echo "GitPkgbuilds() 2" local arch_dirs="$( find -L $ABS_DIR/ -maxdepth 2 -type d -name $pkgname | sort $sort_order)" local abs_dirs="$( find $ABSLIBRE_DIR/ -maxdepth 2 -type d -name $pkgname | sort $sort_order)" @@ -52,9 +75,8 @@ GitPkgbuilds() [[ "$abs_dir" =~ $ABSLIBRE_DIR.+$ABSLIBRE_DIR ]] && echo "multiple abslibre PKGBUILDs found (try --reverse)" (( ! ${is_writable} )) && echo "fixing 'dev' group perms on ABS dir" && mkdev ${abs_dir}/ ls --color=auto --group-directories-first -F -l ${arch_dir}/trunk/ ${abs_dir}/ -# echo -# ( set -x ; echo ${arch_dir}/trunk/ ${abs_dir}/ ) +echo "GitPkgbuilds() OUT" # ( set -x ; echo ${arch_dir}/trunk/ ${abs_dir}/ ) } DoDiff() # (pkgbuild_a pkgbuild_b) @@ -87,29 +109,24 @@ echo "meld-src-pkgbuilds() IN" # $# $@" >&2 ; local in=$# ; # local UseGui=$( [[ "$1" == '--gui' ]] ; echo ! $(($?)) ) ; (( UseGui )) && shift ; # local UseGui=$( while getopts 'g' opt ; do [[ "${opt}" == 'g' ]] ; echo $(( ! $? )) ; done ; shift $(( OPTIND - 1 )) ; ) - while getopts 'g' opt + while getopts 'ag' opt do case "$opt" in - a) UseAbs=1 ;; - g) UseGui=1 ;; - *) echo "invalid option: '%s'" "${opt}" ; return 1 ;; + a) UseAbs=1 ;; + g) UseGui=1 ;; + *) echo "invalid option: '%s'" "${opt}\n${USAGE}" ; return 1 ;; esac done ; shift $(( OPTIND - 1 )) ; - # srcpkg_* eg: - # # local srcpkg_a="$(SelectSrcpkg "${pkgname}")" - # # local srcpkg_a='icecat' - # # local srcpkg_=/packages/abslibre/libre/icecat/PKGBUILD - # # local srcpkg_=/packages/abslibre/libre/icecat/icecat-78.10.0_pre2-1-x86_64.src.tar.gz local srcpkg_a="$( (( UseAbs )) && $(GitPkgbuilds "$1" || echo "$1" ) || \ $(SelectSrcpkg "$1" || GitPkgbuilds "$1" || echo "$1" ) )" local srcpkg_b="$( (( UseAbs )) && $(GitPkgbuilds "$2" || echo "$2" ) || \ $(SelectSrcpkg "$1" || GitPkgbuilds "$2" || echo "$2" ) )" - local is_src_pkg=$( [[ "${srcpkg_a}" =~ src\.tar\.gz$ && \ - "${srcpkg_b}" =~ src\.tar\.gz$ ]] ; echo $(( ! $? )) ) - local is_abs_dir=$( (( UseAbs )) && [[ -d "${srcpkg_a}" && \ - -d "${srcpkg_b}" ]] ; echo $(( ! $? )) ) - local is_pkgbuild=$( [[ "${srcpkg_a}" =~ /PKGBUILD$ && -f "${srcpkg_a}" && \ - "${srcpkg_b}" =~ /PKGBUILD$ && -f "${srcpkg_b}" ]] ; echo $(( ! $? )) ) + local is_src_pkg=$( [[ "${srcpkg_a}" =~ src\.tar\.gz$ && \ + "${srcpkg_b}" =~ src\.tar\.gz$ ]] ; echo $(( ! $? )) ) + local is_abs_dir=$( (( UseAbs )) && [[ -d "${srcpkg_a}" && \ + -d "${srcpkg_b}" ]] ; echo $(( ! $? )) ) + local is_pkgbuild=$( [[ "${srcpkg_a}" =~ /PKGBUILD$ && -f "${srcpkg_a}" && \ + "${srcpkg_b}" =~ /PKGBUILD$ && -f "${srcpkg_b}" ]] ; echo $(( ! $? )) ) echo -e "meld-src-pkgbuilds()\n srcpkg_a=${srcpkg_a}\n srcpkg_b=${srcpkg_b}" >&2 -- cgit v1.2.2