diff options
author | B Stack <bgstack15@gmail.com> | 2020-11-06 16:28:00 +0000 |
---|---|---|
committer | B Stack <bgstack15@gmail.com> | 2020-11-06 16:28:00 +0000 |
commit | 8d22c6bf30eabdb6e2296bbe98a3ef9457ca2695 (patch) | |
tree | 4377702df74d0bf5829d866d7cd5a651d0377e41 /ublock-origin-combined/build-orig-tarball.sh | |
parent | Merge branch 'freefilesync-bump' into 'master' (diff) | |
parent | ubo: add a deploy-to-obs script (diff) | |
download | stackrpms-8d22c6bf30eabdb6e2296bbe98a3ef9457ca2695.tar.gz stackrpms-8d22c6bf30eabdb6e2296bbe98a3ef9457ca2695.tar.bz2 stackrpms-8d22c6bf30eabdb6e2296bbe98a3ef9457ca2695.zip |
Merge branch 'ublock-origin-bump' into 'master'
Ublock origin 1.16.4.26
See merge request bgstack15/stackrpms!202
Diffstat (limited to 'ublock-origin-combined/build-orig-tarball.sh')
-rwxr-xr-x | ublock-origin-combined/build-orig-tarball.sh | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/ublock-origin-combined/build-orig-tarball.sh b/ublock-origin-combined/build-orig-tarball.sh new file mode 100755 index 0000000..e804468 --- /dev/null +++ b/ublock-origin-combined/build-orig-tarball.sh @@ -0,0 +1,94 @@ +#!/bin/sh +# Package: libreoffice-tango-iconset +# Startdate: 2020-11-04 14:05 +# References: +# libreoffice-tango-iconset/build-orig-tarball.sh +# Dependencies: +# sudo apt-get install wget curl sed awk + +currdir="${PWD}" +tmpfile1="$( mktemp )" +#frontpageurl="https://extensions.libreoffice.org/en/extensions/show/tango-icon-theme-for-libreoffice" +#domain="$( echo "${frontpageurl}" | awk -F'/' 'BEGIN{OFS="/"} {print $1,$2,$3}' )" +package_name="ublock-origin-combined" + +# FUNCTIONS +ferror() { + printf "%s\n" "$@" 1>&2 +} + +get() { + # get "https://example.com/example.zip" + # get "https://example.com/example.zip" "outputname.zip" + ___get_url="${1}" + ___get_outfile="${2}" + ___wget_options="" + test -n "${___get_outfile}" && ___wget_options="-O ${___get_outfile}" + + test -n "${DEBUG}" && ferror "wget --quiet --content-disposition \"${___get_url}\" ${___wget_options}" + test -z "${DRYRUN}" && wget --quiet --content-disposition "${___get_url}" ${___wget_options} +} + +to_filename() { + # call: to_filename "https://example.com/filename.ext" + # returns: "filename.ext" + printf "${1##*/}" +} + +show_latest_tarball_for_github_repo() { + # call: show_latest_tarball_for_github_repo "https://github.com/gorhill/uBlock-for-firefox-legacy" + # returns: "https://github.com/gorhill/uBlock-for-firefox-legacy/archive/firefox-legacy-1.16.4.26.tar.gz" + # Improve: accept archive type, such as .tar.gz or .zip, to return + # And yes, I know this parses html with awk. Get over it. + # Works, but unused as of 2020-11-04 + ___repo="${1}" + _page="$( curl -s "${___repo}/tags" )" + # tail grabs the highest number, so most recent available tarball from the page + echo "${_page}" | grep -oE "href=[\"'][^\"']+archive[^\"']+tar\.gz\"" | sed -r -e 's/^href=.//;' -e 's/"$//;' | sort -n | uniq | tail -n1 | sed -r -e "s/^/https:\/\/github.com/;" +} + +show_xpi_for_latest_tag() { + # call: fetch_xpi_for_latest_tag "https://github.com/gorhill/uBlock-for-firefox-legacy" + # returns: "https://github.com/gorhill/uBlock-for-firefox-legacy/releases/download/firefox-legacy-1.16.4.26/uBlock0_1.16.4.26.firefox-legacy.xpi" + # How it works: + # 1. visit list of tags + # 2. visit highest sorted tag (can only see page one of github results) + # 3. visit that tag page, and find assets section and then find .xpi file. So this is hard-coded for exactly one xpi file. + ___repo="${1}" + _page1="$( curl -s "${___repo}/tags" )" + _url2="https://github.com$( echo "${_page1}" | grep -oE 'href=[^>]+\/tag\/[^>]+' | sort -n | tail -n1 | sed -r -e "s/^href=[\"']?//;" -e 's/"$//;' )" + _page2="$( curl -s "${_url2}" )" + #echo "${_page2}" + _asset="https://github.com$( echo "${_page2}" | sed -n '/Assets/,$p' ~/foo2 | grep -oE "href=.*\.xpi" | sed -r -e "s/^href=[\"']?//;" )" + echo "${_asset}" +} + +### Flow + +# check dependencies +#which jq 1>/dev/null 2>&1 || { echo "Please install jq! Aborted." ; exit 1; } + +## 1. learn latest version file +#url_contents="$( curl -s "${frontpageurl}" )" +#latest_file="$( echo "${url_contents}" | awk -F'[=>]' '/class="btn".*>Download</{print $4}' | sed -r -e 's/^"//g;' -e 's/"$//g;' | head -n1 )" +latest_file="$( show_xpi_for_latest_tag "https://github.com/gorhill/uBlock-origin-for-firefox-legacy" )" +latest_version="$( basename "${latest_file}" | grep -oE '_[0-9\.]+' | sed -r -e 's/^_//;' -e 's/\.$//;' )" + +## 2. dl it +get "${latest_file}" "uBlock0.firefox-legacy.xpi" + +## 5. assemble orig tarball +test -n "${DEBUG}" && ferror "mkdir -p \"${package_name}-${latest_version}\"" +test -z "${DRYRUN}" && { mkdir -p "${package_name}-${latest_version}" ; cd "${package_name}-${latest_version}" ; } + +test -n "${DEBUG}" && ferror "mv ../\"uBlock0.firefox-legacy.xpi\" ." +test -z "${DRYRUN}" && mv ../"uBlock0.firefox-legacy.xpi" . + +test -n "${DEBUG}" && ferror "cd .." +test -z "${DRYRUN}" && cd .. + +test -n "${DEBUG}" && ferror "tar -zcf \"${package_name}_${latest_version}.orig.tar.gz\" \"${package_name}-${latest_version}\"" +test -z "${DRYRUN}" && tar -zcf "${package_name}_${latest_version}.orig.tar.gz" "${package_name}-${latest_version}" + +# CLEAN UP +rm -rf "${package_name}-${latest_version}/" "${tmpfile1}" |