Please format the sha256sum list like GNU does (for ease of use)

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
jb_wisemo
Moonbather
Moonbather
Posts: 72
Joined: 2016-01-27, 02:09

Please format the sha256sum list like GNU does (for ease of use)

Post by jb_wisemo » 2026-06-24, 17:26

On the download page, the sha-256 sums of the downloads are listed in the format "filename(newline)hash(newline)". This is cumbersome to import into the standard sha256sum checking tools from GNU and BSD. The BSD format list the elements in the same order but with a lot of extra fluff that needs to be pasted into each line. The GNU format is more traditional (equivalent to the historic md5sum file format) but the opposite order "hexdigits(space)(star)filename(newline)". The star is important as it instructs Windows ports of the tool to check the files as binary files, not mangle them through a crlf-removal filter. For example, here are the 34.3.1 hashes in the GNU/traditional format (but in the order from the current page)

Code: Select all

8186c3d653790a4408f470cd2bd234eda0cc0399ddffeec4006420785dc0a3f2 *palemoon-34.3.1.win32.installer.exe
2040d0b1a454e57b38ed9b9020f85bc057469ef34629538bf0e02b1f17887478 *palemoon-34.3.1.win64.installer.exe
ce5a21aab3d1df3553a8287f2800b76fd75c438d94467eb4c8c08422dc86fcc4 *Palemoon-Portable-34.3.1.win32.exe
00579a7c172f7f95b9c9a1743e1f6db237638b771ac85149cf769ba13b9e9154 *Palemoon-Portable-34.3.1.win64.exe
c950952888897ed19edd579579817376ef7c3d68b37ed605a61f43baa609a131 *palemoon-34.3.1.win32.7z
6d5db06e6646062c3ad6834e69a91e499175be7dab20b4b2d109da74f4d34ff1 *palemoon-34.3.1.win64.7z
a89a0ff99cff8aa26689ee789977bcea61e449c026edf10fab0519ce76fbbc3d *palemoon-34.3.1.linux-x86_64-gtk2.tar.xz
5e59facce62b4332ce134833a65bda4cbc6c234383780c676940b1eac75d0739 *palemoon-34.3.1.linux-x86_64-gtk3.tar.xz
b93f8ad536eaf379e3b3dae067e0189b68fa5b2301381226fb18c788aae6642f *palemoon-34.3.1.arm64.dmg
4023e28d36eb14d4cab7d5e410364fe58556ac4c2a03463cd18274ec845d8a7e *palemoon-34.3.1.intel64.dmg
a72efa8e3083ee46b433b18acd8e7084ffb38cf718a0977861788987edc4d377 *palemoon-34.3.1.freebsd14.4-x86_64-gtk2.tar.xz
90b853932011c6513f0af8043a08443e2c17c4936e0c44f00c26c94850300a84 *palemoon-34.3.1.freebsd14.4-x86_64-gtk3.tar.xz
As an additional improvement, please provide hashes for the .sig files and and src bundle too.

The way to generate these sums in alphabetical order from a directory of known good files is

Code: Select all

$ # Putting this in a shell script is left as an exercise for the reader
$ #
$ # On entry, KeyId is the GPG key id of the release signing key for example 0x8FCF9CEC
$ umask 0277
$
$ PwFile=$(mktemp /dev/shm/tmpXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
$ export PwFile
$ trap '/bin/rm ${PwFile}' EXIT
$ [ -f "${PwFile}" ] || exit 2
$
$ perl -MIO::Prompter \
$   -e 'die unless(prompt "Enter password for release siging key '${KeyId}': ", "-e*");' \
$   -e 'open PWD,">","'${PwFile}'" or die;' \
$   -e 'print PWD $_ or die;' \
$   -e 'close PWD or die;' || exit 1
$ /bin/rm *alemoon*34.3.1*.sig palemoon-34.3.1.sha* || :
$ for PmFile in *alemoon*34.3.1* ; do gpg -u $KeyId --batch --passphrase-file ${PwFile} -s -b ${PmFile} > ${PmFile}.sig ; done
$ sha256sum -b *alemoon*34.3.1* | sort -k 2 -f -V > palemoon-34.3.1.sha256sum
$ gpg -u $KeyId --batch --passphrase-file ${PwFile} -s -b palemoon-34.3.1.sha256sum > palemoon-34.3.1.sha256sum.sig
$ /bin/rm ${PwFile}
$ unset PwFile
$ chmod 0444 *alemoon*34.3.1*

Windows and Linux:
34.3.1:
64 bit:
https://www.palemoon.org/download.shtml:
Browser theme (default):
eMatrix and others:
Installed plugins: (planning to make one):

User avatar
Moonchild
Project founder
Project founder
Posts: 39633
Joined: 2011-08-28, 17:27
Location: Sweden

Re: Please format the sha256sum list like GNU does (for ease of use)

Post by Moonchild » 2026-06-24, 18:18

Sorry but no. The checksums are created with Windows tools and part of my release engineering. There is no easy way to reformat it into what seems to be an illogical format with the hash coming before the file name which is a disgustingly unreadable list for humans. Since the checksums are included as part of page content, the GNU-style format is unusable.
"Sales hates anything that can't be turned into a confident sentence." - anonymous warehouse worker
"Why debate someone you fundamentally don't trust?" - Dario Amodei
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
RealityRipple
Keeps coming back
Keeps coming back
Posts: 955
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: Please format the sha256sum list like GNU does (for ease of use)

Post by RealityRipple » 2026-06-24, 22:14

7zip has a built-in context menu item to generate one of those .sha256 files, but no command line to do it for some reason?

User avatar
Moonchild
Project founder
Project founder
Posts: 39633
Joined: 2011-08-28, 17:27
Location: Sweden

Re: Please format the sha256sum list like GNU does (for ease of use)

Post by Moonchild » 2026-06-24, 22:51

I'm not using 7zip for it. I use certutil and it's part of my releng scripts to generate the hashes in a single plaintext file. releng is already complicated enough, I don't want to add even more steps, let alone deal with separate .sha256 files.
"Sales hates anything that can't be turned into a confident sentence." - anonymous warehouse worker
"Why debate someone you fundamentally don't trust?" - Dario Amodei
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite