Jan Lindemann
de7984f63a
CI / Packaging - Kali Linux (pull_request) Failing after 2m59s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m28s
CI / Packaging test (pull_request) Failing after 0s
scripts / make: Add Recommends support
...
The spec generator only supports Requires, Conflicts and Provides from
the [pkg.requires.*], [pkg.conflicts.*] and [pkg.provides.*] sections of
make/project.conf. A package that works without but is better with another
package, like jw-amavis-run without jw-clamav-run, must hard-require it, so
the dependency is pulled in on every install and cannot be removed without
dragging the depending package along.
This commit adds Recommends support to the spec generation chain:
- CmdPkgRecommends: new pkg-recommends command that reads the
[pkg.recommends.<flavour>] sections, same base as pkg-requires
- pkg-dist.mk: compute PKG_RECOMMENDS_RUN and pass it to pkg.sh via a new
-E option
- pkg.sh: accept -E and forward it to the mkspec wrapper
- mkspec-wrapper.sh: accept -E and export RECOMMENDS_RUN
- create-mkspec.sh: emit a Recommends: line when RECOMMENDS_<subpkg> is set
- create-mkdebian.sh: emit a Recommends: field in the debian control file
Projects without a [pkg.recommends.*] section generate unchanged specs:
every new line is guarded by a non-empty test. zypper follows Recommends by
default, so existing OpenSUSE installations are unaffected; a recommended
package can be removed without dragging the depending package along.
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:48:31 +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
disabled.mk
make/disabled.mk: Re-add file for legacy projects
2026-09-19 17:34:36 +02: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
scripts / make: Add Recommends support
2026-09-19 17:48:31 +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
rules.mk, projects-dir.mk: Add git-log targets
2026-09-16 18:16:17 +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
run-success.mk: Record last successful run
2026-09-16 18:16:17 +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, projects-dir.mk: Add git-log targets
2026-09-16 18:16:17 +02:00
run-success.mk
run-success.mk: Record last successful run
2026-09-16 18:16:17 +02:00
run.mk
run-success.mk: Record last successful run
2026-09-16 18:16:17 +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