Jan Lindemann
f738951642
CI / Packaging - Kali Linux (pull_request) Successful in 5m28s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m34s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 5m12s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m22s
CI / Packaging test (push) Successful in 0s
calculate_hash(): Derive hash from VCS file ids
...
The source hash is an md5sum over all versioned files in the working tree.
md5sum follows symlinks, so a project with links to files outside the tree
may produce different hashes depending on files outside the repo.
Compute the hash over the VCS file ids instead. Add a -s option to scm.sh
ls-files that lists each versioned file together with its content id. The
listing is sorted by path rather than by id, so an entry keeps its position
when its content changes.
For Git repos, git ls-tree -r HEAD reports the blob of a symlink's target
string and the pinned commit of a submodule, so the resulting hash depends
only on the committed tree, never on the working tree or on the machine.
calculate_hash() and the HASH variable in make/pkg-dist.mk feed the id
listing, minus the release metadata files, directly to md5sum.
calculate_hash() fails loudly when the pipeline fails, with its callers
refusing to proceed on an empty result.
The scheme change invalidates the stored HASH values, so every project
gets one more release the first time it runs against the new code, and the
hashes are stable again afterwards.
Signed-off-by: Jan Lindemann <jan@janware.com>
Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.85.1
2026-09-16 14:44:59 +02:00
..
backup.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
bin.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
cache.mk
cache.mk: Avoid recaching stale variable values
2026-08-11 14:25:34 +02:00
cleandirs.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
conf.mk
make: Fix CONFIG_SUBDIR
2026-09-07 09:23:17 +02:00
cpp-extra-targets.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
cpp.mk
cpp.mk, swig.mk: Re-add files necessary for building auth
2025-11-14 16:17:21 +01:00
debugger.mk
defs.mk: Define Q and use it in *.mk
2026-01-26 17:58:23 +01:00
defs-cpp.mk
make: Replace RPM -> PKG
2026-03-16 14:57:50 +01:00
defs-dev.mk
make: Fix CONFIG_SUBDIR
2026-09-07 09:23:17 +02:00
defs-dirs.mk
defs-dirs.mk: Filter out non-existing ordered subdirs
2026-09-05 13:39:51 +02:00
defs-dist.mk
make: Fix CONFIG_SUBDIR
2026-09-07 09:23:17 +02:00
defs.mk
scm.sh ls-files: Honor -f in Git repositories
2026-09-16 14:44:59 +02:00
depend.mk
defs.mk: Define Q and use it in *.mk
2026-01-26 17:58:23 +01:00
dev-utils.mk
dev-utils.mk: cat-makefiles: Fix typo
2026-06-17 20:01:42 +02:00
dirs.mk
Fix: Failing $(PREREQ_DIRS_DONE) doesn\'t have sub-subdirectories rebuilt
2019-07-01 17:59:09 +00:00
doc-rules.mk
doc-rules.mk: Add empty target test
2026-08-19 20:51:11 +02:00
doc.mk
Everywhere: Rename MODDIR -> JWBDIR
2019-06-29 21:34:18 +00:00
dummy-topdir.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
dummy.mk
std-targets.mk: Add file
2026-01-26 17:17:23 +01:00
exe.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
gettext.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
git-cvs-bridge.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
git-submod.mk
make / scripts: git.janware.com -> devgit.janware.com
2026-05-12 15:15:29 +02:00
htdocs.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
include.mk
make: Support INSTALL_PREFIXDIR
2026-09-07 09:23:16 +02:00
install-files.mk
install-files.mk: Add missing target "test"
2026-07-24 13:39:22 +02:00
js.mk
js.mk: Don't minify without minifier
2025-12-11 17:23:22 +01:00
ldlibpath.mk
ldlibpath.mk: Don't include py-path.mk anylonger
2026-07-24 13:25:09 +02:00
lib.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
list-files.mk
scm.sh ls-files: Honor -f in Git repositories
2026-09-16 14:44:59 +02:00
lo.mk
lo.mk: Fix warning that targets were not remade
2026-02-10 09:57:59 +01:00
make.mk
make: Support INSTALL_PREFIXDIR
2026-09-07 09:23:16 +02:00
Makefile
cache.mk: Include from topdir.mk, not make.mk
2026-07-22 14:38:24 +02:00
path-rules.mk
defs.mk: Define Q and use it in *.mk
2026-01-26 17:58:23 +01:00
pkg-dist.mk
calculate_hash(): Derive hash from VCS file ids
2026-09-16 14:44:59 +02:00
platform.mk
platform.mk: Remove --topdir-format from JW_PKG_PY
2026-08-11 16:45:14 +02:00
profile.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
profiler-defs.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
profiler-rules-run.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
profiler.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
proj.mk
make: Replace RPM -> PKG
2026-03-16 14:57:50 +01:00
project.conf
project.conf: pkg.requires.suse.release -= python3-pyright
2026-06-08 18:46:30 +02:00
projects+project.mk
projects+project.mk: Add file
2026-02-18 01:20:26 +01:00
projects-dir-include.mk
projects+project.mk: Add file
2026-02-18 01:20:26 +01:00
projects-dir-minimal.mk
make / scripts: git.janware.com -> devgit.janware.com
2026-05-12 15:15:29 +02:00
projects-dir.mk
projects-dir.mk: Resolve JWB_SCRIPT_DIR from JWBDIR
2026-09-13 23:49:26 +02:00
projects.mk
projects.mk -> platform.mk: Move definitions up
2026-03-02 12:55:36 +00:00
py-check.mk
py-check.mk: Run isort with "make format"
2026-08-11 16:45:14 +02:00
py-defs.mk
py-defs.mk, py-mod.mk: Add PY_LOCAL_PY(C)
2026-08-24 18:14:16 +02:00
py-mod.mk
py-mod.mk: Add TypeAlias to PY_SED_EXTRACT_EXPORT_DEF
2026-09-05 13:39:51 +02:00
py-mods.mk
make: Re-add files necessary for building jw-python
2025-11-13 17:27:14 +01:00
py-ns-dir.mk
py-ns-dir.mk: Support __init__.py generation
2026-09-05 13:39:51 +02:00
py-path.mk
py-path.mk: Add target py-path
2026-07-24 13:32:51 +02:00
py-rules.mk
py-rules.mk: py.clean: Honour PY_UPDATE_INIT_PY
2026-08-24 18:14:16 +02:00
py-run.mk
test-guard.mk: Add file
2026-08-18 14:05:30 +02:00
py-test.mk
py-xxx.mk: Clean more python tool caches
2026-07-22 14:41:38 +02:00
py-topdir.mk
topdir.mk: Add JW_PKG_TMPL_XXX
2026-09-13 23:09:25 +02:00
py-version.mk
projects.mk, py-defs.mk, py-version.mk: Add py-version.mk
2025-02-22 09:04:17 +00:00
rules.mk
rules.mk / defs.mk: Disable BUILD_MAKEDIR
2026-07-24 13:34:08 +02:00
run.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
scripts-targets.mk
make: Support INSTALL_PREFIXDIR
2026-09-07 09:23:16 +02:00
scripts.mk
Everywhere: Rename MODDIR -> JWBDIR
2019-06-29 21:34:18 +00:00
so.mk
make: Support INSTALL_PREFIXDIR
2026-09-07 09:23:16 +02:00
srcdist.mk
make: Replace RPM -> PKG
2026-03-16 14:57:50 +01:00
std-targets.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
std-tools.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
subdirs.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
svg-to-pixmap.mk
Rename svg.mk to svg-to-pixmap.mk
2025-12-21 20:24:56 +01:00
swig.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
tag-defs.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
tag-rules.mk
bin, make, scripts: Re-add files necessary for packaging jw-build
2025-11-14 11:22:50 +01:00
tailwind.mk
tailwind.mk: Add file
2025-12-06 15:12:35 +01:00
targets-tools.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
test-exe.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
test-guard.mk
test-guard.mk: Add file
2026-08-18 14:05:30 +02:00
test-jw-pkg.mk
test-guard.mk: Add file
2026-08-18 14:05:30 +02:00
text.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
tmpl.mk
make: Make target "test" depend on target "all"
2026-07-02 19:52:35 +02:00
tools.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
topdir.mk
topdir.mk: Add target gitignore
2026-09-13 23:09:25 +02:00
upload-defs.mk
upload-defs.mk: Add support for UPLOAD_PROTOCOL
2023-12-18 13:00:43 +00:00
upload-rules.mk
bin, make, scripts: Re-add files necessary for packaging jw-build
2025-11-14 11:22:50 +01:00
vim.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
yapp.mk
make: Support INSTALL_PREFIXDIR
2026-09-07 09:23:16 +02:00