pthbs

Packaging Through Hashed Build Scripts
git clone https://ccx.te2000.cz/git/pthbs
Log | Files | Refs | Submodules | README

commit 5b13434289a8118d052db6f9cfd7ee7df47aadcf
parent 506b55ea9357bc22b19728b4b20bf250641918c4
Author: Jan Pobříslo <ccx@te2000.cz>
Date:   Thu, 22 Feb 2024 14:05:10 +0100

Install libressl from tarball

Diffstat:
Mdownloadlist.sha256 | 1+
Mgen-downloadlist-entry | 32+++++++++++++++++++-------------
Agen-downloadlist-entry-from-sha512 | 48++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/default.environment | 2+-
Mpackages/libressl | 4++--
Mpackages/userspace.environment | 2+-
Mtemplates/pkg/libressl | 4++--
7 files changed, 74 insertions(+), 19 deletions(-)

diff --git a/downloadlist.sha256 b/downloadlist.sha256 @@ -30,3 +30,4 @@ ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd 783756 https:// 4496d6cec9644cda8006ead15e17e500629ce30fe85ab2f2052a77ba43a1358d 122231 ./libelf-compat-0.152c001.tar.bz2 9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5 3332400 https://sourceforge.net/projects/zsh/files/zsh/5.9/zsh-5.9.tar.xz d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b 80888824 https://ftpmirror.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz +6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954 4473978 http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.8.2.tar.gz diff --git a/gen-downloadlist-entry b/gen-downloadlist-entry @@ -4,32 +4,38 @@ zmodload zsh/stat || exit $? typeset -g basedir=$0:h -### Utility functions {{{1 +typeset -g hl_fatal hl_reset +if (( $terminfo[colors] >= 8 )); then + hl_fatal='%F{red}%B'; hl_fatal=${(%)hl_fatal} + hl_warn='%F{yellow}%B'; hl_warn=${(%)hl_warn} + hl_reset='%b%f'; hl_reset=${(%)hl_reset} +fi + # helper that prints out stack, error message and exits die_ret() { set +x - local ret n - ret=$1 - shift - print -r - >&2 "${hl_fatal}Fatal$hl_reset error occurend in:" - for n in {${#funcfiletrace}..1}; do - printf >&2 '%d> %s (%s)\n' $n "$funcfiletrace[$n]" "$functrace[$n]" - done - printf >&2 '%s\n' "${hl_fatal}*$hl_reset $^@" - exit $ret + local ret n + ret=$1 + shift + print -r - >&2 "${hl_fatal}Fatal$hl_reset error occurend in:" + for n in {${#funcfiletrace}..1}; do + printf >&2 '%d> %s (%s)\n' $n "$funcfiletrace[$n]" "$functrace[$n]" + done + printf >&2 '%s\n' "${hl_fatal}*$hl_reset $^@" + exit $ret } die() { set +x - die_ret 1 "$@" + die_ret 1 "$@" } die100() { # 100: wrong usage set +x - die_ret 100 "$@" + die_ret 100 "$@" } die111() { # 111: system call failed set +x - die_ret 111 "$@" + die_ret 111 "$@" } -() { # Run command and die on nonzero exitcode diff --git a/gen-downloadlist-entry-from-sha512 b/gen-downloadlist-entry-from-sha512 @@ -0,0 +1,48 @@ +#!/bin/zsh +setopt no_unset warn_create_global + +typeset -g basedir=$0:h +typeset -g dl_dir=$basedir/work/download.$$ + +typeset -g hl_fatal hl_reset +if (( $terminfo[colors] >= 8 )); then + hl_fatal='%F{red}%B'; hl_fatal=${(%)hl_fatal} + hl_warn='%F{yellow}%B'; hl_warn=${(%)hl_warn} + hl_reset='%b%f'; hl_reset=${(%)hl_reset} +fi + +# helper that prints out stack, error message and exits +die_ret() { + set +x + local ret n + ret=$1 + shift + print -r - >&2 "${hl_fatal}Fatal$hl_reset error occurend in:" + for n in {${#funcfiletrace}..1}; do + printf >&2 '%d> %s (%s)\n' $n "$funcfiletrace[$n]" "$functrace[$n]" + done + printf >&2 '%s\n' "${hl_fatal}*$hl_reset $^@" + [[ -d $dl_dir ]] && rm -vr $dl_dir + exit $ret +} + +-() { # Run command and die on nonzero exitcode + setopt local_options xtrace + "$@" || die_ret $? "command failed with exitcode $?: ${(j: :)${(q)@}}" +} + +main() { + local digest url fname + + digest=$1 + url=$2 + fname=$dl_dir/${url:t} + + - mkdir -p $dl_dir + - wget -O $fname $url + - sha512sum -c <<<"$digest $fname" + - $basedir/gen-downloadlist-entry "$url" "$fname" + rm -vr $dl_dir +} + +main "$@" diff --git a/packages/default.environment b/packages/default.environment @@ -14,7 +14,7 @@ #+s6-linux-init.163646f3a337341ddb9ce39a5fc8afbd3507c0c3c94bc8f4d0458c0cee753448 #+mdevd.1ccacf0514eeffea88fc8203b470398b95638632eae38f1048a6f3bf5754f6dd #+s6-dns.41e9bc09d7f62576c34aad13f3e57168c5052ec4674abbbb9d2ccf78ee0db6e0 -#+libressl.cc0501557666329ab84addad7a5bfd021da64afb50174d854b64b3ff6c77d2c6 +#+libressl.dbaae1cb36b86f78102a4701fa46380144d21763fd5bdd30741eb6876c26062f #+s6-networking.15adf950be6728a030816bedd5b2283e78e41796cea59b614b22c44690dfd6fa #+zsh.f8b4dc59a1d38643db3a4ec70dca58f74f4c9407c809b0fc519402f0bcccfbdb #+pthbs-banginstall.089f7542767b49f891e4acbca5ddf214ee7f45ba958f866fdbc514d6f7e39276 diff --git a/packages/libressl b/packages/libressl @@ -4,7 +4,7 @@ #+busybox.a41e637082cdc82c38a093db7af3615cc2f417a0e8034f7a7ba88d64e852e101 #+busybox-diffutils.28aa9a4a515da839eaf2e9873bccf363e8eb4829bff3307d2f000204690dfc82 #+m4.b4d536e5f08f9c11575bfc61d943c9714bc556ed473eedb0520288720ff13871 -#@git:a5f207bea5b54c5066ac99cc8112a5aa0b56dec4:libressl +#@untar:-z:sha256:6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954:. autotools() { cd "$1" @@ -61,7 +61,7 @@ check_static() { -autotools_static libressl +autotools_static libressl-3.8.2 check_static command/ocspcheck diff --git a/packages/userspace.environment b/packages/userspace.environment @@ -14,7 +14,7 @@ #+s6-linux-init.163646f3a337341ddb9ce39a5fc8afbd3507c0c3c94bc8f4d0458c0cee753448 #+mdevd.1ccacf0514eeffea88fc8203b470398b95638632eae38f1048a6f3bf5754f6dd #+s6-dns.41e9bc09d7f62576c34aad13f3e57168c5052ec4674abbbb9d2ccf78ee0db6e0 -#+libressl.cc0501557666329ab84addad7a5bfd021da64afb50174d854b64b3ff6c77d2c6 +#+libressl.dbaae1cb36b86f78102a4701fa46380144d21763fd5bdd30741eb6876c26062f #+s6-networking.15adf950be6728a030816bedd5b2283e78e41796cea59b614b22c44690dfd6fa #+zsh.f8b4dc59a1d38643db3a4ec70dca58f74f4c9407c809b0fc519402f0bcccfbdb #+pthbs-banginstall.089f7542767b49f891e4acbca5ddf214ee7f45ba958f866fdbc514d6f7e39276 diff --git a/templates/pkg/libressl b/templates/pkg/libressl @@ -1,10 +1,10 @@ {% extends "autotools" %} {%- block extra_deps %} -#@git:{{submodule.current[name]}}:{{name}} +#@untar:-z:sha256:6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954:. {%- endblock %} {% block at_script %} -autotools_static libressl +autotools_static libressl-3.8.2 check_static command/ocspcheck {% endblock %}