Build and packaging library
  • Python 55.2%
  • Makefile 32.4%
  • Shell 12.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jan Lindemann 9961d4b5f4
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 5m31s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m42s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 5m7s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m25s
CI / Packaging test (push) Successful in 0s
CmdBuild.run(): Build projects that only have a Makefile
A workspace project directory that has a Makefile but no package proofs -
no project.conf, no VERSION - is buildable with a plain make, yet the build
fails on it: calculate_order() walks the requested modules, and the walk in
App.__get_project_refs() raises an unmet dependency, because the
installation state of such a project is unprovable.  The walk has to stay
strict: its proofs are package proofs, and loosening App.is_installed()
would weaken the unmet dependency detection for every get_project_refs()
caller.

This commit therefore keeps the tolerance in the build: before calculating
the order, run() partitions the requested modules. A module that is not
installed in any flavour but resolves to a workspace directory with a
Makefile is appended to the build order as a dependency-less leaf and built
with a plain make; modules without any directory at all still raise the
unmet dependency error. A jw dependency declared in a project.conf on such
a project still raises, which is correct: it is a declared dependency on a
package that does not exist.

Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.85.1
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-09-19 17:34:36 +02:00
.github/workflows ci.yaml: test-packaging.yaml@{master-test -> master} 2026-06-08 19:43:15 +02:00
bin bin, make, scripts: Re-add files necessary for packaging jw-build 2025-11-14 11:22:50 +01:00
conf run-success.mk: Record last successful run 2026-09-16 18:16:17 +02:00
doc doc: Add subdir 2026-08-19 20:51:11 +02:00
make make/disabled.mk: Re-add file for legacy projects 2026-09-19 17:34:36 +02:00
scripts calculate_hash(): Derive hash from VCS file ids 2026-09-16 14:44:59 +02:00
src CmdBuild.run(): Build projects that only have a Makefile 2026-09-19 17:34:36 +02:00
test lib.version.Dependency.__version_boundaries(): Use Version.next() 2026-09-15 21:43:47 +02:00
.gitignore run-success.mk: Record last successful run 2026-09-16 18:16:17 +02:00
HASH Release 1.0.0-267@suse-tumbleweed/x86_64 2026-09-16 23:33:13 +00:00
Makefile .gitignore: Run make gitignore 2026-09-13 23:09:26 +02:00
RELEASES Release 1.0.0-267@suse-tumbleweed/x86_64 2026-09-16 23:33:13 +00:00
VERSION Start version: 1.0.0-267 2026-09-16 23:11:11 +00:00