* [ptxdist] [PATCH 0/4] Add SHA256 package checksum support
@ 2026-04-27 14:28 Philipp Zabel
2026-04-27 14:28 ` [ptxdist] [PATCH 1/4] scripts: make checksum messages hash algorithm agnostic Philipp Zabel
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Philipp Zabel @ 2026-04-27 14:28 UTC (permalink / raw)
To: ptxdist; +Cc: Philipp Zabel
Add support for <PKG>_SHA256 checksum variables in place of
<PKG>_MD5. This allows to use source archive SHA256 checksums
published by upstream projects.
regards
Philipp
Philipp Zabel (4):
scripts: make checksum messages hash algorithm agnostic
scripts: make checksum update hash algorithm agnostic
scripts: add package sha256sum support
ptxdist: add --update-checksum option
bin/ptxdist | 1 +
configure.ac | 1 +
doc/ref_make_variables.rst | 9 ++++
rules/post/ptxd_make_world_common.make | 2 +
rules/post/ptxd_make_world_get.make | 2 +-
rules/pre/000-option-disabled.make | 16 ++++++
scripts/lib/ptxd_lib_dgen.awk | 1 +
scripts/lib/ptxd_make_check_src.sh | 12 +++--
scripts/lib/ptxd_make_world_check_src.sh | 54 +++++++++++++--------
scripts/lib/ptxd_make_world_get.sh | 14 ++++--
scripts/lib/ptxd_make_world_license.sh | 3 ++
scripts/lib/ptxd_make_world_package_info.sh | 1 +
scripts/lib/ptxd_make_world_report.sh | 6 +++
13 files changed, 94 insertions(+), 28 deletions(-)
--
2.47.3
^ permalink raw reply [flat|nested] 9+ messages in thread* [ptxdist] [PATCH 1/4] scripts: make checksum messages hash algorithm agnostic 2026-04-27 14:28 [ptxdist] [PATCH 0/4] Add SHA256 package checksum support Philipp Zabel @ 2026-04-27 14:28 ` Philipp Zabel 2026-05-18 7:54 ` [ptxdist] [APPLIED] " Michael Olbrich 2026-04-27 14:28 ` [ptxdist] [PATCH 2/4] scripts: make checksum update " Philipp Zabel ` (2 subsequent siblings) 3 siblings, 1 reply; 9+ messages in thread From: Philipp Zabel @ 2026-04-27 14:28 UTC (permalink / raw) To: ptxdist; +Cc: Philipp Zabel Replace 'md5sum' with the generic term 'checksum' in messages presented to the user, in preparation for supporting other checksum algorithms. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> --- scripts/lib/ptxd_make_check_src.sh | 4 ++-- scripts/lib/ptxd_make_world_check_src.sh | 6 +++--- scripts/lib/ptxd_make_world_get.sh | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/lib/ptxd_make_check_src.sh b/scripts/lib/ptxd_make_check_src.sh index db08cda0e1fe..2a25fdcb96cf 100644 --- a/scripts/lib/ptxd_make_check_src.sh +++ b/scripts/lib/ptxd_make_check_src.sh @@ -52,9 +52,9 @@ ptxd_make_check_src() { ptxd_make_check_src_impl "$@" && return if [ -z "${2}" ]; then - ptxd_bailout "md5sum for '${1}' missing." + ptxd_bailout "Checksum for '${1}' missing." else - ptxd_bailout "Wrong md5sum for '${1}'" + ptxd_bailout "Wrong checksum for '${1}'" fi } export -f ptxd_make_check_src diff --git a/scripts/lib/ptxd_make_world_check_src.sh b/scripts/lib/ptxd_make_world_check_src.sh index 39e49b274a24..8aaeb1137152 100644 --- a/scripts/lib/ptxd_make_world_check_src.sh +++ b/scripts/lib/ptxd_make_world_check_src.sh @@ -38,15 +38,15 @@ ptxd_make_world_update_md5() { fi done if [ -z "${pkg_makefile}" ]; then - ptxd_bailout "Could not update md5sum for '${pkg_label}': makefile not found" + ptxd_bailout "Could not update checksum for '${pkg_label}': makefile not found" fi local count=$(grep "^${pkg_PKG}_MD5[ ]*:=" "${pkg_makefile}" 2> /dev/null | wc -l) if [ "${count}" -gt 1 ]; then - ptxd_bailout "Could not update md5sum for '${pkg_label}': ${pkg_PKG}_MD5 found ${count} times in '$(ptxd_print_path ${pkg_makefile})'." + ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_MD5 found ${count} times in '$(ptxd_print_path ${pkg_makefile})'." fi sed -i "s/^\(\<${pkg_PKG}_MD5[ ]*:=\) *[a-f0-9]*\$/\1 ${md5}/" "${pkg_makefile}" if ! grep -q "${md5}\$" "${pkg_makefile}"; then - ptxd_bailout "Could not update md5sum for '${pkg_label}': ${pkg_PKG}_MD5 not found" + ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_MD5 not found" fi ptxd_warning "New checksum for ${pkg_PKG}: ${md5} in $(ptxd_print_path "${pkg_makefile}")" } diff --git a/scripts/lib/ptxd_make_world_get.sh b/scripts/lib/ptxd_make_world_get.sh index c2c4facae092..8c0bb0546150 100644 --- a/scripts/lib/ptxd_make_world_get.sh +++ b/scripts/lib/ptxd_make_world_get.sh @@ -27,9 +27,9 @@ ptxd_make_world_get() { if [ "${PTXCONF_SETUP_CHECK}" = "update" ]; then ptxd_make_world_update_md5 elif [ -z "${pkg_md5}" ]; then - ptxd_bailout "md5sum for '${pkg_label}' (${pkg_src}) missing." + ptxd_bailout "Checksum for '${pkg_label}' (${pkg_src}) missing." else - ptxd_bailout "Wrong md5sum for '${pkg_label}' (${pkg_src})" + ptxd_bailout "Wrong checksum for '${pkg_label}' (${pkg_src})" fi fi } -- 2.47.3 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ptxdist] [APPLIED] scripts: make checksum messages hash algorithm agnostic 2026-04-27 14:28 ` [ptxdist] [PATCH 1/4] scripts: make checksum messages hash algorithm agnostic Philipp Zabel @ 2026-05-18 7:54 ` Michael Olbrich 0 siblings, 0 replies; 9+ messages in thread From: Michael Olbrich @ 2026-05-18 7:54 UTC (permalink / raw) To: ptxdist; +Cc: Philipp Zabel Thanks, applied as 7ed86f68f18fd295502c2ce53b92cb4e5e640a1f. Michael [sent from post-receive hook] On Mon, 18 May 2026 09:54:20 +0200, Philipp Zabel <p.zabel@pengutronix.de> wrote: > Replace 'md5sum' with the generic term 'checksum' in messages presented > to the user, in preparation for supporting other checksum algorithms. > > Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> > Message-Id: <20260427142848.989702-2-p.zabel@pengutronix.de> > Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> > > diff --git a/scripts/lib/ptxd_make_check_src.sh b/scripts/lib/ptxd_make_check_src.sh > index db08cda0e1fe..2a25fdcb96cf 100644 > --- a/scripts/lib/ptxd_make_check_src.sh > +++ b/scripts/lib/ptxd_make_check_src.sh > @@ -52,9 +52,9 @@ ptxd_make_check_src() { > ptxd_make_check_src_impl "$@" && return > > if [ -z "${2}" ]; then > - ptxd_bailout "md5sum for '${1}' missing." > + ptxd_bailout "Checksum for '${1}' missing." > else > - ptxd_bailout "Wrong md5sum for '${1}'" > + ptxd_bailout "Wrong checksum for '${1}'" > fi > } > export -f ptxd_make_check_src > diff --git a/scripts/lib/ptxd_make_world_check_src.sh b/scripts/lib/ptxd_make_world_check_src.sh > index 39e49b274a24..8aaeb1137152 100644 > --- a/scripts/lib/ptxd_make_world_check_src.sh > +++ b/scripts/lib/ptxd_make_world_check_src.sh > @@ -38,15 +38,15 @@ ptxd_make_world_update_md5() { > fi > done > if [ -z "${pkg_makefile}" ]; then > - ptxd_bailout "Could not update md5sum for '${pkg_label}': makefile not found" > + ptxd_bailout "Could not update checksum for '${pkg_label}': makefile not found" > fi > local count=$(grep "^${pkg_PKG}_MD5[ ]*:=" "${pkg_makefile}" 2> /dev/null | wc -l) > if [ "${count}" -gt 1 ]; then > - ptxd_bailout "Could not update md5sum for '${pkg_label}': ${pkg_PKG}_MD5 found ${count} times in '$(ptxd_print_path ${pkg_makefile})'." > + ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_MD5 found ${count} times in '$(ptxd_print_path ${pkg_makefile})'." > fi > sed -i "s/^\(\<${pkg_PKG}_MD5[ ]*:=\) *[a-f0-9]*\$/\1 ${md5}/" "${pkg_makefile}" > if ! grep -q "${md5}\$" "${pkg_makefile}"; then > - ptxd_bailout "Could not update md5sum for '${pkg_label}': ${pkg_PKG}_MD5 not found" > + ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_MD5 not found" > fi > ptxd_warning "New checksum for ${pkg_PKG}: ${md5} in $(ptxd_print_path "${pkg_makefile}")" > } > diff --git a/scripts/lib/ptxd_make_world_get.sh b/scripts/lib/ptxd_make_world_get.sh > index c2c4facae092..8c0bb0546150 100644 > --- a/scripts/lib/ptxd_make_world_get.sh > +++ b/scripts/lib/ptxd_make_world_get.sh > @@ -27,9 +27,9 @@ ptxd_make_world_get() { > if [ "${PTXCONF_SETUP_CHECK}" = "update" ]; then > ptxd_make_world_update_md5 > elif [ -z "${pkg_md5}" ]; then > - ptxd_bailout "md5sum for '${pkg_label}' (${pkg_src}) missing." > + ptxd_bailout "Checksum for '${pkg_label}' (${pkg_src}) missing." > else > - ptxd_bailout "Wrong md5sum for '${pkg_label}' (${pkg_src})" > + ptxd_bailout "Wrong checksum for '${pkg_label}' (${pkg_src})" > fi > fi > } ^ permalink raw reply [flat|nested] 9+ messages in thread
* [ptxdist] [PATCH 2/4] scripts: make checksum update hash algorithm agnostic 2026-04-27 14:28 [ptxdist] [PATCH 0/4] Add SHA256 package checksum support Philipp Zabel 2026-04-27 14:28 ` [ptxdist] [PATCH 1/4] scripts: make checksum messages hash algorithm agnostic Philipp Zabel @ 2026-04-27 14:28 ` Philipp Zabel 2026-05-18 7:54 ` [ptxdist] [APPLIED] " Michael Olbrich 2026-04-27 14:28 ` [ptxdist] [PATCH 3/4] scripts: add package sha256sum support Philipp Zabel 2026-04-27 14:28 ` [ptxdist] [PATCH 4/4] ptxdist: add --update-checksum option Philipp Zabel 3 siblings, 1 reply; 9+ messages in thread From: Philipp Zabel @ 2026-04-27 14:28 UTC (permalink / raw) To: ptxdist; +Cc: Philipp Zabel Rename ptxd_make_world_update_md5() to ptxd_make_world_update_checksum() and pass in the checksum tool (md5sum) and the hash suffix (MD5) as parameters. Rename local variables md5 to checksum and PKG_MD5 to PKG_SUM. Add back ptxd_make_world_update_md5() as a wrapper that calls ptx_make_world_update_checksum md5sum MD5. No functional change. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> --- scripts/lib/ptxd_make_world_check_src.sh | 45 ++++++++++++++---------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/scripts/lib/ptxd_make_world_check_src.sh b/scripts/lib/ptxd_make_world_check_src.sh index 8aaeb1137152..044b1872fd0c 100644 --- a/scripts/lib/ptxd_make_world_check_src.sh +++ b/scripts/lib/ptxd_make_world_check_src.sh @@ -8,26 +8,28 @@ # -# try to update the md5sum of the current package -# this only works if the makefile contains a "<PKG>_MD5 := ..." line. +# $1: checksum tool, e.g. md5sum +# $2: hash type suffix appended to <PKG>_, e.g. MD5 # -ptxd_make_world_update_md5() { +ptxd_make_world_update_checksum() { + local tool="${1}" + local SUFFIX="${2}" local config file_dotconfig - set -- $(md5sum "${pkg_src}") - local md5="${1}" + set -- $("${tool}" "${pkg_src}") + local checksum="${1}" - local PKG_MD5="PTXCONF_${pkg_PKG}_MD5" + local PKG_SUM="PTXCONF_${pkg_PKG}_${SUFFIX}" for config in "${PTXDIST_PLATFORMCONFIG}" "${PTXDIST_PTXCONFIG}"; do file_dotconfig="${config}" ptxd_normalize_config - if grep -q "^${PKG_MD5}=\"" "${file_dotconfig}"; then - sed -i "s/^${PKG_MD5}=\".*$/${PKG_MD5}=\"${md5}\"/" "${file_dotconfig}" - ptxd_warning "New checksum for ${pkg_PKG}: ${md5} in $(ptxd_print_path "${file_dotconfig}")" + if grep -q "^${PKG_SUM}=\"" "${file_dotconfig}"; then + sed -i "s/^${PKG_SUM}=\".*$/${PKG_SUM}=\"${checksum}\"/" "${file_dotconfig}" + ptxd_warning "New checksum for ${pkg_PKG}: ${checksum} in $(ptxd_print_path "${file_dotconfig}")" if [ -e "${file_dotconfig}.diff" ]; then - if grep -q "^${PKG_MD5}=\"" "${file_dotconfig}.diff"; then - sed -i "s/^${PKG_MD5}=\".*$/${PKG_MD5}=\"${md5}\"/" "${file_dotconfig}.diff" + if grep -q "^${PKG_SUM}=\"" "${file_dotconfig}.diff"; then + sed -i "s/^${PKG_SUM}=\".*$/${PKG_SUM}=\"${checksum}\"/" "${file_dotconfig}.diff" else - echo "${PKG_MD5}=\"${md5}\"" >> "${file_dotconfig}.diff" + echo "${PKG_SUM}=\"${checksum}\"" >> "${file_dotconfig}.diff" if [ "${config}" == "${PTXDIST_PLATFORMCONFIG}" ]; then arg=" platform" fi @@ -40,14 +42,21 @@ ptxd_make_world_update_md5() { if [ -z "${pkg_makefile}" ]; then ptxd_bailout "Could not update checksum for '${pkg_label}': makefile not found" fi - local count=$(grep "^${pkg_PKG}_MD5[ ]*:=" "${pkg_makefile}" 2> /dev/null | wc -l) + local count=$(grep "^${pkg_PKG}_${SUFFIX}[ ]*:=" "${pkg_makefile}" 2> /dev/null | wc -l) if [ "${count}" -gt 1 ]; then - ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_MD5 found ${count} times in '$(ptxd_print_path ${pkg_makefile})'." + ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_${SUFFIX} found ${count} times in '$(ptxd_print_path ${pkg_makefile})'." fi - sed -i "s/^\(\<${pkg_PKG}_MD5[ ]*:=\) *[a-f0-9]*\$/\1 ${md5}/" "${pkg_makefile}" - if ! grep -q "${md5}\$" "${pkg_makefile}"; then - ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_MD5 not found" + sed -i "s/^\(\<${pkg_PKG}_${SUFFIX}[ ]*:=\) *[a-f0-9]*\$/\1 ${checksum}/" "${pkg_makefile}" + if ! grep -q "${checksum}\$" "${pkg_makefile}"; then + ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_${SUFFIX} not found" fi - ptxd_warning "New checksum for ${pkg_PKG}: ${md5} in $(ptxd_print_path "${pkg_makefile}")" + ptxd_warning "New checksum for ${pkg_PKG}: ${checksum} in $(ptxd_print_path "${pkg_makefile}")" +} +export -f ptxd_make_world_update_checksum + +# try to update the md5sum of the current package +# this only works if the makefile contains a "<PKG>_MD5 := ..." line. +ptxd_make_world_update_md5() { + ptxd_make_world_update_checksum md5sum MD5 } export -f ptxd_make_world_update_md5 -- 2.47.3 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ptxdist] [APPLIED] scripts: make checksum update hash algorithm agnostic 2026-04-27 14:28 ` [ptxdist] [PATCH 2/4] scripts: make checksum update " Philipp Zabel @ 2026-05-18 7:54 ` Michael Olbrich 0 siblings, 0 replies; 9+ messages in thread From: Michael Olbrich @ 2026-05-18 7:54 UTC (permalink / raw) To: ptxdist; +Cc: Philipp Zabel Thanks, applied as da495a88188efd1990b9c106165606a907c080fa. Michael [sent from post-receive hook] On Mon, 18 May 2026 09:54:21 +0200, Philipp Zabel <p.zabel@pengutronix.de> wrote: > Rename ptxd_make_world_update_md5() to ptxd_make_world_update_checksum() > and pass in the checksum tool (md5sum) and the hash suffix (MD5) as > parameters. > Rename local variables md5 to checksum and PKG_MD5 to PKG_SUM. > > Add back ptxd_make_world_update_md5() as a wrapper that calls > ptx_make_world_update_checksum md5sum MD5. > > No functional change. > > Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> > Message-Id: <20260427142848.989702-3-p.zabel@pengutronix.de> > Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> > > diff --git a/scripts/lib/ptxd_make_world_check_src.sh b/scripts/lib/ptxd_make_world_check_src.sh > index 8aaeb1137152..044b1872fd0c 100644 > --- a/scripts/lib/ptxd_make_world_check_src.sh > +++ b/scripts/lib/ptxd_make_world_check_src.sh > @@ -8,26 +8,28 @@ > > > # > -# try to update the md5sum of the current package > -# this only works if the makefile contains a "<PKG>_MD5 := ..." line. > +# $1: checksum tool, e.g. md5sum > +# $2: hash type suffix appended to <PKG>_, e.g. MD5 > # > -ptxd_make_world_update_md5() { > +ptxd_make_world_update_checksum() { > + local tool="${1}" > + local SUFFIX="${2}" > local config file_dotconfig > - set -- $(md5sum "${pkg_src}") > - local md5="${1}" > + set -- $("${tool}" "${pkg_src}") > + local checksum="${1}" > > - local PKG_MD5="PTXCONF_${pkg_PKG}_MD5" > + local PKG_SUM="PTXCONF_${pkg_PKG}_${SUFFIX}" > for config in "${PTXDIST_PLATFORMCONFIG}" "${PTXDIST_PTXCONFIG}"; do > file_dotconfig="${config}" > ptxd_normalize_config > - if grep -q "^${PKG_MD5}=\"" "${file_dotconfig}"; then > - sed -i "s/^${PKG_MD5}=\".*$/${PKG_MD5}=\"${md5}\"/" "${file_dotconfig}" > - ptxd_warning "New checksum for ${pkg_PKG}: ${md5} in $(ptxd_print_path "${file_dotconfig}")" > + if grep -q "^${PKG_SUM}=\"" "${file_dotconfig}"; then > + sed -i "s/^${PKG_SUM}=\".*$/${PKG_SUM}=\"${checksum}\"/" "${file_dotconfig}" > + ptxd_warning "New checksum for ${pkg_PKG}: ${checksum} in $(ptxd_print_path "${file_dotconfig}")" > if [ -e "${file_dotconfig}.diff" ]; then > - if grep -q "^${PKG_MD5}=\"" "${file_dotconfig}.diff"; then > - sed -i "s/^${PKG_MD5}=\".*$/${PKG_MD5}=\"${md5}\"/" "${file_dotconfig}.diff" > + if grep -q "^${PKG_SUM}=\"" "${file_dotconfig}.diff"; then > + sed -i "s/^${PKG_SUM}=\".*$/${PKG_SUM}=\"${checksum}\"/" "${file_dotconfig}.diff" > else > - echo "${PKG_MD5}=\"${md5}\"" >> "${file_dotconfig}.diff" > + echo "${PKG_SUM}=\"${checksum}\"" >> "${file_dotconfig}.diff" > if [ "${config}" == "${PTXDIST_PLATFORMCONFIG}" ]; then > arg=" platform" > fi > @@ -40,14 +42,21 @@ ptxd_make_world_update_md5() { > if [ -z "${pkg_makefile}" ]; then > ptxd_bailout "Could not update checksum for '${pkg_label}': makefile not found" > fi > - local count=$(grep "^${pkg_PKG}_MD5[ ]*:=" "${pkg_makefile}" 2> /dev/null | wc -l) > + local count=$(grep "^${pkg_PKG}_${SUFFIX}[ ]*:=" "${pkg_makefile}" 2> /dev/null | wc -l) > if [ "${count}" -gt 1 ]; then > - ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_MD5 found ${count} times in '$(ptxd_print_path ${pkg_makefile})'." > + ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_${SUFFIX} found ${count} times in '$(ptxd_print_path ${pkg_makefile})'." > fi > - sed -i "s/^\(\<${pkg_PKG}_MD5[ ]*:=\) *[a-f0-9]*\$/\1 ${md5}/" "${pkg_makefile}" > - if ! grep -q "${md5}\$" "${pkg_makefile}"; then > - ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_MD5 not found" > + sed -i "s/^\(\<${pkg_PKG}_${SUFFIX}[ ]*:=\) *[a-f0-9]*\$/\1 ${checksum}/" "${pkg_makefile}" > + if ! grep -q "${checksum}\$" "${pkg_makefile}"; then > + ptxd_bailout "Could not update checksum for '${pkg_label}': ${pkg_PKG}_${SUFFIX} not found" > fi > - ptxd_warning "New checksum for ${pkg_PKG}: ${md5} in $(ptxd_print_path "${pkg_makefile}")" > + ptxd_warning "New checksum for ${pkg_PKG}: ${checksum} in $(ptxd_print_path "${pkg_makefile}")" > +} > +export -f ptxd_make_world_update_checksum > + > +# try to update the md5sum of the current package > +# this only works if the makefile contains a "<PKG>_MD5 := ..." line. > +ptxd_make_world_update_md5() { > + ptxd_make_world_update_checksum md5sum MD5 > } > export -f ptxd_make_world_update_md5 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [ptxdist] [PATCH 3/4] scripts: add package sha256sum support 2026-04-27 14:28 [ptxdist] [PATCH 0/4] Add SHA256 package checksum support Philipp Zabel 2026-04-27 14:28 ` [ptxdist] [PATCH 1/4] scripts: make checksum messages hash algorithm agnostic Philipp Zabel 2026-04-27 14:28 ` [ptxdist] [PATCH 2/4] scripts: make checksum update " Philipp Zabel @ 2026-04-27 14:28 ` Philipp Zabel 2026-05-18 7:54 ` [ptxdist] [APPLIED] " Michael Olbrich 2026-04-27 14:28 ` [ptxdist] [PATCH 4/4] ptxdist: add --update-checksum option Philipp Zabel 3 siblings, 1 reply; 9+ messages in thread From: Philipp Zabel @ 2026-04-27 14:28 UTC (permalink / raw) To: ptxdist; +Cc: Philipp Zabel Add support for <PKG>_SHA256 variables as an alternative to <PKG>_MD5, using sha256sum to check source packages. Plumb SHA256 package checksum through reporting and add ptx/config-sha256 for packages with checksums in PTXCONF. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> --- configure.ac | 1 + doc/ref_make_variables.rst | 9 +++++++++ rules/post/ptxd_make_world_common.make | 2 ++ rules/post/ptxd_make_world_get.make | 2 +- rules/pre/000-option-disabled.make | 16 ++++++++++++++++ scripts/lib/ptxd_lib_dgen.awk | 1 + scripts/lib/ptxd_make_check_src.sh | 8 +++++++- scripts/lib/ptxd_make_world_check_src.sh | 7 +++++++ scripts/lib/ptxd_make_world_get.sh | 10 +++++++--- scripts/lib/ptxd_make_world_license.sh | 3 +++ scripts/lib/ptxd_make_world_package_info.sh | 1 + scripts/lib/ptxd_make_world_report.sh | 6 ++++++ 12 files changed, 61 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 37a0c4bd6c7c..c6ad34fa647b 100644 --- a/configure.ac +++ b/configure.ac @@ -159,6 +159,7 @@ GNU_TOOL(readlink, coreutils) GNU_TOOL(realpath, coreutils) GNU_TOOL(rm, coreutils) GNU_TOOL(rmdir, coreutils) +GNU_TOOL(sha256sum, coreutils) GNU_TOOL(sort, coreutils) GNU_TOOL(stat, coreutils) GNU_TOOL(touch, coreutils) diff --git a/doc/ref_make_variables.rst b/doc/ref_make_variables.rst index 64cc343660cf..f965a1b38c50 100644 --- a/doc/ref_make_variables.rst +++ b/doc/ref_make_variables.rst @@ -158,6 +158,15 @@ Package Definition new version. This check helps to ensure that all developers work with the same source code. + This is the legacy alternative to ``<PKG>_SHA256``. + +``<PKG>_SHA256`` + The sha256 checksum of the source archive. PTXdist calculates the checksum + before extracting the archive and will abort if does not match. Upstream + project occasionally change the content of an archive without releasing a + new version. This check helps to ensure that all developers work with the + same source code. + ``<PKG>_SUFFIX`` The archive suffix without the leading '.', e.g. 'tar.gz' or 'zip'. This is only used locally to define ``<PKG>_URL`` and ``<PKG>_SOURCE``. diff --git a/rules/post/ptxd_make_world_common.make b/rules/post/ptxd_make_world_common.make index 30cc555d86ad..4368a5843fd3 100644 --- a/rules/post/ptxd_make_world_common.make +++ b/rules/post/ptxd_make_world_common.make @@ -95,6 +95,8 @@ world/env/impl = \ pkg_srcs="$(call ptx/escape,$($(1)_SOURCES))" \ pkg_md5s="$(call ptx/escape,$(foreach s,$($(1)_PARTS),$($(s)_MD5):))" \ pkg_md5="$(call ptx/escape,$($(1)_MD5))" \ + pkg_sha256s="$(call ptx/escape,$(foreach s,$($(1)_PARTS),$($(s)_SHA256):))" \ + pkg_sha256="$(call ptx/escape,$($(1)_SHA256))" \ pkg_url="$(call ptx/escape,$($(1)_URL))" \ pkg_cfghash="$(call ptx/escape,$($(1)_CFGHASH))" \ pkg_srchash="$(call ptx/escape,$($(1)_EXTRACT_CFGHASH))" \ diff --git a/rules/post/ptxd_make_world_get.make b/rules/post/ptxd_make_world_get.make index 92dd8a44d8c0..007af2a525a4 100644 --- a/rules/post/ptxd_make_world_get.make +++ b/rules/post/ptxd_make_world_get.make @@ -58,7 +58,7 @@ get = \ ptxd_make_get "$($(strip $(1))_SOURCE)" "$($(strip $(1))_URL)" check_src = \ - ptxd_make_check_src "$($(strip $(1))_SOURCE)" "$($(strip $(1))_MD5)" + ptxd_make_check_src "$($(strip $(1))_SOURCE)" "$($(strip $(1))_MD5)" "$($(strip $(1))_SHA256)" getdev = \ ptxd_make_get_nofail=y \ diff --git a/rules/pre/000-option-disabled.make b/rules/pre/000-option-disabled.make index 9a068b39ce83..646b949a6af9 100644 --- a/rules/pre/000-option-disabled.make +++ b/rules/pre/000-option-disabled.make @@ -197,4 +197,20 @@ define ptx/config-md5 $(call ptx/config-foo,$(strip $(1)),$(if $(strip $(2)),$(strip $(2))_MD5,$(strip $(1))_MD5),$(PTXCONF_SETUP_CHECK)) endef + +# +# $(call ptx/config-sha256, PTXCONF_SYMBOL,PTXCONF_SYMBOL2) returns: +# - if PTXCONF_SYMBOL is defined: +# - $(PTXCONF_SYMBOL2_SHA256) without quotes if it's not empty +# - fails with an error otherwise +# - 'undefined if PTXCONF_SYMBOL is not defined +# If PTXCONF_SYMBOL2 is empty then PTXCONF_SYMBOL_SHA256 is used instead. +# +# This makes it easy to ensure, that the sha256 sum of a package is defined if +# the package is enabled. +# +define ptx/config-sha256 +$(call ptx/config-foo,$(strip $(1)),$(if $(strip $(2)),$(strip $(2))_SHA256,$(strip $(1))_SHA256),$(PTXCONF_SETUP_CHECK)) +endef + # vim: syntax=make diff --git a/scripts/lib/ptxd_lib_dgen.awk b/scripts/lib/ptxd_lib_dgen.awk index 2292741eb432..635fe5a22221 100644 --- a/scripts/lib/ptxd_lib_dgen.awk +++ b/scripts/lib/ptxd_lib_dgen.awk @@ -441,6 +441,7 @@ function write_vars_pkg_all(this_PKG, this_pkg, prefix, dir_prefix) { print this_PKG " = " dir_prefix "$(" target_PKG ")" > DGEN_DEPS_PRE; print this_PKG "_VERSION = $(" target_PKG "_VERSION)" > DGEN_DEPS_PRE; print this_PKG "_MD5 = $(" target_PKG "_MD5)" > DGEN_DEPS_PRE; + print this_PKG "_SHA256 = $(" target_PKG "_SHA256)" > DGEN_DEPS_PRE; print this_PKG "_SOURCE = $(" target_PKG "_SOURCE)" > DGEN_DEPS_PRE; print this_PKG "_URL = $(" target_PKG "_URL)" > DGEN_DEPS_PRE; print this_PKG "_DIR = $(addprefix $(" PREFIX \ diff --git a/scripts/lib/ptxd_make_check_src.sh b/scripts/lib/ptxd_make_check_src.sh index 2a25fdcb96cf..70e20e072ae5 100644 --- a/scripts/lib/ptxd_make_check_src.sh +++ b/scripts/lib/ptxd_make_check_src.sh @@ -9,11 +9,14 @@ # # $1: filename of the source archive to check # $2: md5sum of the source archive to check +# $3: sha256sum of the source archive to check # ptxd_make_check_src_impl() { local src="${1}" local md5="${2}" + local sha256="${3}" local md5sum + local sha256sum if [ -z "${src}" ]; then ptxd_bailout "ptxd_make_check_src called without source file." @@ -41,6 +44,9 @@ ptxd_make_check_src_impl() { for md5sum in ${md5}; do echo "${md5sum} ${src}" | md5sum --check > /dev/null 2>&1 && return done + for sha256sum in ${sha256}; do + echo "${sha256sum} ${src}" | sha256sum --check > /dev/null 2>&1 && return + done return 1 } export -f ptxd_make_check_src_impl @@ -51,7 +57,7 @@ export -f ptxd_make_check_src_impl ptxd_make_check_src() { ptxd_make_check_src_impl "$@" && return - if [ -z "${2}" ]; then + if [ -z "${2}" -a -z "${3}" ]; then ptxd_bailout "Checksum for '${1}' missing." else ptxd_bailout "Wrong checksum for '${1}'" diff --git a/scripts/lib/ptxd_make_world_check_src.sh b/scripts/lib/ptxd_make_world_check_src.sh index 044b1872fd0c..cb368c1932dd 100644 --- a/scripts/lib/ptxd_make_world_check_src.sh +++ b/scripts/lib/ptxd_make_world_check_src.sh @@ -60,3 +60,10 @@ ptxd_make_world_update_md5() { ptxd_make_world_update_checksum md5sum MD5 } export -f ptxd_make_world_update_md5 + +# try to update the sha256sum of the current package +# this only works if the makefile contains a "<PKG>_SHA256 := ..." line. +ptxd_make_world_update_sha256() { + ptxd_make_world_update_checksum sha256sum SHA256 +} +export -f ptxd_make_world_update_sha256 diff --git a/scripts/lib/ptxd_make_world_get.sh b/scripts/lib/ptxd_make_world_get.sh index 8c0bb0546150..da7400bff3cb 100644 --- a/scripts/lib/ptxd_make_world_get.sh +++ b/scripts/lib/ptxd_make_world_get.sh @@ -22,11 +22,15 @@ ptxd_make_world_get() { if [ -n "${pkg_src}" ]; then ptxd_make_get "${pkg_src}" "${pkg_url}" && - ptxd_make_check_src_impl "${pkg_src}" "${pkg_md5}" && return + ptxd_make_check_src_impl "${pkg_src}" "${pkg_md5}" "${pkg_sha256}" && return if [ "${PTXCONF_SETUP_CHECK}" = "update" ]; then - ptxd_make_world_update_md5 - elif [ -z "${pkg_md5}" ]; then + if [ -z "${pkg_sha256}" ]; then + ptxd_make_world_update_md5 + else + ptxd_make_world_update_sha256 + fi + elif [ -z "${pkg_md5}" ] && [ -z "${pkg_sha256}" ]; then ptxd_bailout "Checksum for '${pkg_label}' (${pkg_src}) missing." else ptxd_bailout "Wrong checksum for '${pkg_label}' (${pkg_src})" diff --git a/scripts/lib/ptxd_make_world_license.sh b/scripts/lib/ptxd_make_world_license.sh index 5aa416672d14..6e9d13fea452 100644 --- a/scripts/lib/ptxd_make_world_license.sh +++ b/scripts/lib/ptxd_make_world_license.sh @@ -125,6 +125,7 @@ ptxd_make_world_license_write() { local pkg_chapter="$(ptxd_make_latex_escape ${pkg_label})" local packages_url="${pkg_url}" local packages_md5="${pkg_md5}" + local packages_sha256="${pkg_sha256}" local -a flags=( "${!pkg_license_flags[@]}" ) local -a index=( "${!pkg_license_flags[@]}" ) flags=( "${flags[@]/#/\\nameref${brl}}" ) @@ -139,6 +140,7 @@ ptxd_make_world_license_write() { pkg_chapter="${pkg_chapter} *** Proprietary License!" packages_url="*not available*" packages_md5="*not available*" + packages_sha256="*not available*" ;; *unknown*) pkg_chapter="${pkg_chapter} *** Unknown License!" @@ -160,6 +162,7 @@ ptxd_make_world_license_write() { \item[Flags:] $(ptxd_make_latex_escape "${flags[*]}") \item[URL:] \begin{flushleft}$(ptxd_make_latex_escape "${packages_url}")\end{flushleft} \item[MD5:] {\ttfamily ${packages_md5}} + \item[SHA256:] {\ttfamily ${packages_sha256}} \fi \end{description} EOF diff --git a/scripts/lib/ptxd_make_world_package_info.sh b/scripts/lib/ptxd_make_world_package_info.sh index 46e104d25ffe..1d94e9139bd6 100644 --- a/scripts/lib/ptxd_make_world_package_info.sh +++ b/scripts/lib/ptxd_make_world_package_info.sh @@ -54,6 +54,7 @@ ptxd_make_world_package_info() { do_echo "source:" "$(ptxd_print_path "${pkg_src}")" do_echo "md5:" "${pkg_md5}" + do_echo "sha256:" "${pkg_sha256}" do_echo "url:" "${pkg_url}" do_echo "${pkg_src}${pkg_url}" diff --git a/scripts/lib/ptxd_make_world_report.sh b/scripts/lib/ptxd_make_world_report.sh index 3cb4eb0f93e8..1f3ea9e0d365 100644 --- a/scripts/lib/ptxd_make_world_report.sh +++ b/scripts/lib/ptxd_make_world_report.sh @@ -63,6 +63,7 @@ ptxd_make_world_report_yaml_fragment() { do_echo " version:" "${pkg_version}" do_list " url:" "${pkg_url}" do_echo " md5:" "${pkg_md5}" + do_echo " sha256:" "${pkg_sha256}" do_echo " source:" "${pkg_src}" do_list " cve-product:" "${pkg_cve_product}" do_echo " cve-version:" "${pkg_cve_version}" @@ -96,11 +97,16 @@ ptxd_make_world_report_yaml() { do_echo "version:" "${pkg_version}" do_list "url:" "${pkg_url}" do_echo "md5:" "${pkg_md5}" + do_echo "sha256:" "${pkg_sha256}" do_echo "source:" "${pkg_src}" if [ -n "${pkg_md5s}" -a "${pkg_md5s}" != ":" ]; then echo "md5s:" awk "BEGIN { RS=\" *:\\\\s*\"; FS=\":\" } { if (\$1) print \"- '\" \$1 \"'\" }" <<<"${pkg_md5s}" fi + if [ -n "${pkg_sha256s}" -a "${pkg_sha256s}" != ":" ]; then + echo "sha256s:" + awk "BEGIN { RS=\" *:\\\\s*\"; FS=\":\" } { if (\$1) print \"- '\" \$1 \"'\" }" <<<"${pkg_sha256s}" + fi do_list "sources:" "${pkg_srcs}" if [ -e "${tmp_report}" ]; then echo "source-packages:" -- 2.47.3 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ptxdist] [APPLIED] scripts: add package sha256sum support 2026-04-27 14:28 ` [ptxdist] [PATCH 3/4] scripts: add package sha256sum support Philipp Zabel @ 2026-05-18 7:54 ` Michael Olbrich 0 siblings, 0 replies; 9+ messages in thread From: Michael Olbrich @ 2026-05-18 7:54 UTC (permalink / raw) To: ptxdist; +Cc: Philipp Zabel Thanks, applied as 064c8a896d0eaf5e67543e0256c1b0fdd4f78e56. Michael [sent from post-receive hook] On Mon, 18 May 2026 09:54:21 +0200, Philipp Zabel <p.zabel@pengutronix.de> wrote: > Add support for <PKG>_SHA256 variables as an alternative to <PKG>_MD5, > using sha256sum to check source packages. Plumb SHA256 package checksum > through reporting and add ptx/config-sha256 for packages with checksums > in PTXCONF. > > Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> > Message-Id: <20260427142848.989702-4-p.zabel@pengutronix.de> > [mol: fix handling empty and 'none' checksums] > Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> > > diff --git a/configure.ac b/configure.ac > index 37a0c4bd6c7c..c6ad34fa647b 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -159,6 +159,7 @@ GNU_TOOL(readlink, coreutils) > GNU_TOOL(realpath, coreutils) > GNU_TOOL(rm, coreutils) > GNU_TOOL(rmdir, coreutils) > +GNU_TOOL(sha256sum, coreutils) > GNU_TOOL(sort, coreutils) > GNU_TOOL(stat, coreutils) > GNU_TOOL(touch, coreutils) > diff --git a/doc/ref_make_variables.rst b/doc/ref_make_variables.rst > index 64cc343660cf..f965a1b38c50 100644 > --- a/doc/ref_make_variables.rst > +++ b/doc/ref_make_variables.rst > @@ -158,6 +158,15 @@ Package Definition > new version. This check helps to ensure that all developers work with the > same source code. > > + This is the legacy alternative to ``<PKG>_SHA256``. > + > +``<PKG>_SHA256`` > + The sha256 checksum of the source archive. PTXdist calculates the checksum > + before extracting the archive and will abort if does not match. Upstream > + project occasionally change the content of an archive without releasing a > + new version. This check helps to ensure that all developers work with the > + same source code. > + > ``<PKG>_SUFFIX`` > The archive suffix without the leading '.', e.g. 'tar.gz' or 'zip'. This > is only used locally to define ``<PKG>_URL`` and ``<PKG>_SOURCE``. > diff --git a/rules/post/ptxd_make_world_common.make b/rules/post/ptxd_make_world_common.make > index 30cc555d86ad..4368a5843fd3 100644 > --- a/rules/post/ptxd_make_world_common.make > +++ b/rules/post/ptxd_make_world_common.make > @@ -95,6 +95,8 @@ world/env/impl = \ > pkg_srcs="$(call ptx/escape,$($(1)_SOURCES))" \ > pkg_md5s="$(call ptx/escape,$(foreach s,$($(1)_PARTS),$($(s)_MD5):))" \ > pkg_md5="$(call ptx/escape,$($(1)_MD5))" \ > + pkg_sha256s="$(call ptx/escape,$(foreach s,$($(1)_PARTS),$($(s)_SHA256):))" \ > + pkg_sha256="$(call ptx/escape,$($(1)_SHA256))" \ > pkg_url="$(call ptx/escape,$($(1)_URL))" \ > pkg_cfghash="$(call ptx/escape,$($(1)_CFGHASH))" \ > pkg_srchash="$(call ptx/escape,$($(1)_EXTRACT_CFGHASH))" \ > diff --git a/rules/post/ptxd_make_world_get.make b/rules/post/ptxd_make_world_get.make > index 92dd8a44d8c0..007af2a525a4 100644 > --- a/rules/post/ptxd_make_world_get.make > +++ b/rules/post/ptxd_make_world_get.make > @@ -58,7 +58,7 @@ get = \ > ptxd_make_get "$($(strip $(1))_SOURCE)" "$($(strip $(1))_URL)" > > check_src = \ > - ptxd_make_check_src "$($(strip $(1))_SOURCE)" "$($(strip $(1))_MD5)" > + ptxd_make_check_src "$($(strip $(1))_SOURCE)" "$($(strip $(1))_MD5)" "$($(strip $(1))_SHA256)" > > getdev = \ > ptxd_make_get_nofail=y \ > diff --git a/rules/pre/000-option-disabled.make b/rules/pre/000-option-disabled.make > index 9a068b39ce83..646b949a6af9 100644 > --- a/rules/pre/000-option-disabled.make > +++ b/rules/pre/000-option-disabled.make > @@ -197,4 +197,20 @@ define ptx/config-md5 > $(call ptx/config-foo,$(strip $(1)),$(if $(strip $(2)),$(strip $(2))_MD5,$(strip $(1))_MD5),$(PTXCONF_SETUP_CHECK)) > endef > > + > +# > +# $(call ptx/config-sha256, PTXCONF_SYMBOL,PTXCONF_SYMBOL2) returns: > +# - if PTXCONF_SYMBOL is defined: > +# - $(PTXCONF_SYMBOL2_SHA256) without quotes if it's not empty > +# - fails with an error otherwise > +# - 'undefined if PTXCONF_SYMBOL is not defined > +# If PTXCONF_SYMBOL2 is empty then PTXCONF_SYMBOL_SHA256 is used instead. > +# > +# This makes it easy to ensure, that the sha256 sum of a package is defined if > +# the package is enabled. > +# > +define ptx/config-sha256 > +$(call ptx/config-foo,$(strip $(1)),$(if $(strip $(2)),$(strip $(2))_SHA256,$(strip $(1))_SHA256),$(PTXCONF_SETUP_CHECK)) > +endef > + > # vim: syntax=make > diff --git a/scripts/lib/ptxd_lib_dgen.awk b/scripts/lib/ptxd_lib_dgen.awk > index 2292741eb432..635fe5a22221 100644 > --- a/scripts/lib/ptxd_lib_dgen.awk > +++ b/scripts/lib/ptxd_lib_dgen.awk > @@ -441,6 +441,7 @@ function write_vars_pkg_all(this_PKG, this_pkg, prefix, dir_prefix) { > print this_PKG " = " dir_prefix "$(" target_PKG ")" > DGEN_DEPS_PRE; > print this_PKG "_VERSION = $(" target_PKG "_VERSION)" > DGEN_DEPS_PRE; > print this_PKG "_MD5 = $(" target_PKG "_MD5)" > DGEN_DEPS_PRE; > + print this_PKG "_SHA256 = $(" target_PKG "_SHA256)" > DGEN_DEPS_PRE; > print this_PKG "_SOURCE = $(" target_PKG "_SOURCE)" > DGEN_DEPS_PRE; > print this_PKG "_URL = $(" target_PKG "_URL)" > DGEN_DEPS_PRE; > print this_PKG "_DIR = $(addprefix $(" PREFIX \ > diff --git a/scripts/lib/ptxd_make_check_src.sh b/scripts/lib/ptxd_make_check_src.sh > index 2a25fdcb96cf..191cc69f0d8f 100644 > --- a/scripts/lib/ptxd_make_check_src.sh > +++ b/scripts/lib/ptxd_make_check_src.sh > @@ -9,11 +9,14 @@ > # > # $1: filename of the source archive to check > # $2: md5sum of the source archive to check > +# $3: sha256sum of the source archive to check > # > ptxd_make_check_src_impl() { > local src="${1}" > local md5="${2}" > + local sha256="${3}" > local md5sum > + local sha256sum > > if [ -z "${src}" ]; then > ptxd_bailout "ptxd_make_check_src called without source file." > @@ -27,13 +30,13 @@ ptxd_make_check_src_impl() { > return > ;; > notempty) > - [ -z "${md5}" ] && return > + [ -z "${md5}" -a -z "${sha256}" ] && return > ;; > esac > # for some packages setting the md5sum in the makefile is not possible > # e.g. for the kernel with its variable version number. Use "none" to > # disable the check. > - if [ "${md5}" = "none" ]; then > + if [ "${md5}" = "none" -o "${sha256}" = "none" ]; then > return > fi > > @@ -41,6 +44,9 @@ ptxd_make_check_src_impl() { > for md5sum in ${md5}; do > echo "${md5sum} ${src}" | md5sum --check > /dev/null 2>&1 && return > done > + for sha256sum in ${sha256}; do > + echo "${sha256sum} ${src}" | sha256sum --check > /dev/null 2>&1 && return > + done > return 1 > } > export -f ptxd_make_check_src_impl > @@ -51,7 +57,7 @@ export -f ptxd_make_check_src_impl > ptxd_make_check_src() { > ptxd_make_check_src_impl "$@" && return > > - if [ -z "${2}" ]; then > + if [ -z "${2}" -a -z "${3}" ]; then > ptxd_bailout "Checksum for '${1}' missing." > else > ptxd_bailout "Wrong checksum for '${1}'" > diff --git a/scripts/lib/ptxd_make_world_check_src.sh b/scripts/lib/ptxd_make_world_check_src.sh > index 044b1872fd0c..cb368c1932dd 100644 > --- a/scripts/lib/ptxd_make_world_check_src.sh > +++ b/scripts/lib/ptxd_make_world_check_src.sh > @@ -60,3 +60,10 @@ ptxd_make_world_update_md5() { > ptxd_make_world_update_checksum md5sum MD5 > } > export -f ptxd_make_world_update_md5 > + > +# try to update the sha256sum of the current package > +# this only works if the makefile contains a "<PKG>_SHA256 := ..." line. > +ptxd_make_world_update_sha256() { > + ptxd_make_world_update_checksum sha256sum SHA256 > +} > +export -f ptxd_make_world_update_sha256 > diff --git a/scripts/lib/ptxd_make_world_get.sh b/scripts/lib/ptxd_make_world_get.sh > index 8c0bb0546150..da7400bff3cb 100644 > --- a/scripts/lib/ptxd_make_world_get.sh > +++ b/scripts/lib/ptxd_make_world_get.sh > @@ -22,11 +22,15 @@ ptxd_make_world_get() { > if [ -n "${pkg_src}" ]; then > ptxd_make_get "${pkg_src}" "${pkg_url}" && > > - ptxd_make_check_src_impl "${pkg_src}" "${pkg_md5}" && return > + ptxd_make_check_src_impl "${pkg_src}" "${pkg_md5}" "${pkg_sha256}" && return > > if [ "${PTXCONF_SETUP_CHECK}" = "update" ]; then > - ptxd_make_world_update_md5 > - elif [ -z "${pkg_md5}" ]; then > + if [ -z "${pkg_sha256}" ]; then > + ptxd_make_world_update_md5 > + else > + ptxd_make_world_update_sha256 > + fi > + elif [ -z "${pkg_md5}" ] && [ -z "${pkg_sha256}" ]; then > ptxd_bailout "Checksum for '${pkg_label}' (${pkg_src}) missing." > else > ptxd_bailout "Wrong checksum for '${pkg_label}' (${pkg_src})" > diff --git a/scripts/lib/ptxd_make_world_license.sh b/scripts/lib/ptxd_make_world_license.sh > index 5aa416672d14..6e9d13fea452 100644 > --- a/scripts/lib/ptxd_make_world_license.sh > +++ b/scripts/lib/ptxd_make_world_license.sh > @@ -125,6 +125,7 @@ ptxd_make_world_license_write() { > local pkg_chapter="$(ptxd_make_latex_escape ${pkg_label})" > local packages_url="${pkg_url}" > local packages_md5="${pkg_md5}" > + local packages_sha256="${pkg_sha256}" > local -a flags=( "${!pkg_license_flags[@]}" ) > local -a index=( "${!pkg_license_flags[@]}" ) > flags=( "${flags[@]/#/\\nameref${brl}}" ) > @@ -139,6 +140,7 @@ ptxd_make_world_license_write() { > pkg_chapter="${pkg_chapter} *** Proprietary License!" > packages_url="*not available*" > packages_md5="*not available*" > + packages_sha256="*not available*" > ;; > *unknown*) > pkg_chapter="${pkg_chapter} *** Unknown License!" > @@ -160,6 +162,7 @@ ptxd_make_world_license_write() { > \item[Flags:] $(ptxd_make_latex_escape "${flags[*]}") > \item[URL:] \begin{flushleft}$(ptxd_make_latex_escape "${packages_url}")\end{flushleft} > \item[MD5:] {\ttfamily ${packages_md5}} > + \item[SHA256:] {\ttfamily ${packages_sha256}} > \fi > \end{description} > EOF > diff --git a/scripts/lib/ptxd_make_world_package_info.sh b/scripts/lib/ptxd_make_world_package_info.sh > index 46e104d25ffe..1d94e9139bd6 100644 > --- a/scripts/lib/ptxd_make_world_package_info.sh > +++ b/scripts/lib/ptxd_make_world_package_info.sh > @@ -54,6 +54,7 @@ ptxd_make_world_package_info() { > > do_echo "source:" "$(ptxd_print_path "${pkg_src}")" > do_echo "md5:" "${pkg_md5}" > + do_echo "sha256:" "${pkg_sha256}" > do_echo "url:" "${pkg_url}" > do_echo "${pkg_src}${pkg_url}" > > diff --git a/scripts/lib/ptxd_make_world_report.sh b/scripts/lib/ptxd_make_world_report.sh > index 3cb4eb0f93e8..1f3ea9e0d365 100644 > --- a/scripts/lib/ptxd_make_world_report.sh > +++ b/scripts/lib/ptxd_make_world_report.sh > @@ -63,6 +63,7 @@ ptxd_make_world_report_yaml_fragment() { > do_echo " version:" "${pkg_version}" > do_list " url:" "${pkg_url}" > do_echo " md5:" "${pkg_md5}" > + do_echo " sha256:" "${pkg_sha256}" > do_echo " source:" "${pkg_src}" > do_list " cve-product:" "${pkg_cve_product}" > do_echo " cve-version:" "${pkg_cve_version}" > @@ -96,11 +97,16 @@ ptxd_make_world_report_yaml() { > do_echo "version:" "${pkg_version}" > do_list "url:" "${pkg_url}" > do_echo "md5:" "${pkg_md5}" > + do_echo "sha256:" "${pkg_sha256}" > do_echo "source:" "${pkg_src}" > if [ -n "${pkg_md5s}" -a "${pkg_md5s}" != ":" ]; then > echo "md5s:" > awk "BEGIN { RS=\" *:\\\\s*\"; FS=\":\" } { if (\$1) print \"- '\" \$1 \"'\" }" <<<"${pkg_md5s}" > fi > + if [ -n "${pkg_sha256s}" -a "${pkg_sha256s}" != ":" ]; then > + echo "sha256s:" > + awk "BEGIN { RS=\" *:\\\\s*\"; FS=\":\" } { if (\$1) print \"- '\" \$1 \"'\" }" <<<"${pkg_sha256s}" > + fi > do_list "sources:" "${pkg_srcs}" > if [ -e "${tmp_report}" ]; then > echo "source-packages:" ^ permalink raw reply [flat|nested] 9+ messages in thread
* [ptxdist] [PATCH 4/4] ptxdist: add --update-checksum option 2026-04-27 14:28 [ptxdist] [PATCH 0/4] Add SHA256 package checksum support Philipp Zabel ` (2 preceding siblings ...) 2026-04-27 14:28 ` [ptxdist] [PATCH 3/4] scripts: add package sha256sum support Philipp Zabel @ 2026-04-27 14:28 ` Philipp Zabel 2026-05-18 7:54 ` [ptxdist] [APPLIED] " Michael Olbrich 3 siblings, 1 reply; 9+ messages in thread From: Philipp Zabel @ 2026-04-27 14:28 UTC (permalink / raw) To: ptxdist; +Cc: Philipp Zabel Add an --update-checksum option as alias for --update-md5, now that multiple hash algorithms are supported. Keep --update-md5 for backwards compatibility. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> --- bin/ptxdist | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/ptxdist b/bin/ptxdist index 383b7fc06c87..fbc5d01cee41 100755 --- a/bin/ptxdist +++ b/bin/ptxdist @@ -1177,6 +1177,7 @@ parse_first() # overwrite default from ptxdistrc export PTXCONF_SETUP_PATCHIN_GIT=y ;; + --update-checksum) --update-md5) # overwrite default from ptxdistrc export PTXCONF_SETUP_CHECK="update" -- 2.47.3 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ptxdist] [APPLIED] ptxdist: add --update-checksum option 2026-04-27 14:28 ` [ptxdist] [PATCH 4/4] ptxdist: add --update-checksum option Philipp Zabel @ 2026-05-18 7:54 ` Michael Olbrich 0 siblings, 0 replies; 9+ messages in thread From: Michael Olbrich @ 2026-05-18 7:54 UTC (permalink / raw) To: ptxdist; +Cc: Philipp Zabel Thanks, applied as 8667f82dc96c0f99dd95178156a2f60a615ae00b. Michael [sent from post-receive hook] On Mon, 18 May 2026 09:54:22 +0200, Philipp Zabel <p.zabel@pengutronix.de> wrote: > Add an --update-checksum option as alias for --update-md5, now that > multiple hash algorithms are supported. > > Keep --update-md5 for backwards compatibility. > > Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> > Message-Id: <20260427142848.989702-5-p.zabel@pengutronix.de> > Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> > > diff --git a/bin/ptxdist b/bin/ptxdist > index 383b7fc06c87..2557cb9a206a 100755 > --- a/bin/ptxdist > +++ b/bin/ptxdist > @@ -1177,7 +1177,7 @@ parse_first() > # overwrite default from ptxdistrc > export PTXCONF_SETUP_PATCHIN_GIT=y > ;; > - --update-md5) > + --update-checksum|--update-md5) > # overwrite default from ptxdistrc > export PTXCONF_SETUP_CHECK="update" > ;; ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-05-18 7:56 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-04-27 14:28 [ptxdist] [PATCH 0/4] Add SHA256 package checksum support Philipp Zabel 2026-04-27 14:28 ` [ptxdist] [PATCH 1/4] scripts: make checksum messages hash algorithm agnostic Philipp Zabel 2026-05-18 7:54 ` [ptxdist] [APPLIED] " Michael Olbrich 2026-04-27 14:28 ` [ptxdist] [PATCH 2/4] scripts: make checksum update " Philipp Zabel 2026-05-18 7:54 ` [ptxdist] [APPLIED] " Michael Olbrich 2026-04-27 14:28 ` [ptxdist] [PATCH 3/4] scripts: add package sha256sum support Philipp Zabel 2026-05-18 7:54 ` [ptxdist] [APPLIED] " Michael Olbrich 2026-04-27 14:28 ` [ptxdist] [PATCH 4/4] ptxdist: add --update-checksum option Philipp Zabel 2026-05-18 7:54 ` [ptxdist] [APPLIED] " Michael Olbrich
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox