jw-pkg/make
Jan Lindemann 99a8d9140f
py-ns-dir.mk: Add file

Add py-ns-dir.mk. It's first intended use is inside the $(TOPDIR)/src/python/jw directories of each package. These are to be treated specially, because they contribute to the same namespace: jw.

This is true when installed, which means that no __init__.py should be packaged from that directory, see the guide linked below.

And it's also true when not installed, in which case there has to be a path-extending __init__.py in the directory. Normally, it should work without __init__.py in that case, as well, and it does for running Python code with PYTHONPATH pointing to the respective package roots. However, pyright doesn't seem to pull in code scattered over multiple locations without an old-style namespace path-extender, so we're likely going to add (but not install) an __init__.py there.

Not sure if it's going to be auto-generated py py-ns-dir.mk or committed to version control, we'll see with more testing.

Here's where I have my info from, aside from experiments.

https://packaging.python.org/en/latest/guides/packaging-namespace-packages/

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-05-31 18:20:33 +02:00
..
backup.mk make, scripts: Re-add files necessary for building ytools 2025-11-14 15:59:49 +01:00
bin.mk bin, make, scripts: Re-add files necessary for packaging jw-build 2025-11-14 11:22:50 +01:00
cache.mk cache.mk: Don't overwrite defined variables 2026-05-05 16:57:00 +02:00
cleandirs.mk cleandirs.mk: Fix: Descend into subdirectories 2026-05-05 16:55:44 +02:00
conf.mk make: Align equal signs in *.mk to column 30 2026-03-16 14:57:50 +01: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 defs-[dev|dist].mk: Add DATA_DIR, JSON_DIR 2025-12-03 20:48:32 +01:00
defs-dirs.mk defs-dirs.mk: Add support for EXTRA_SUBDIR_TARGETS 2020-04-10 12:03:42 +00:00
defs-dist.mk defs-dist.mk: HTMLDIROWNER wwwrun -> root 2026-01-13 15:41:46 +01:00
defs.mk conf/project: Add directory and variables 2026-05-31 18:20:31 +02:00
depend.mk defs.mk: Define Q and use it in *.mk 2026-01-26 17:58:23 +01:00
dev-utils.mk defs.mk: Define Q and use it in *.mk 2026-01-26 17:58:23 +01: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 Everywhere: Purge spaces in text files 2019-03-06 12:38:20 +00:00
doc.mk Everywhere: Rename MODDIR -> JWBDIR 2019-06-29 21:34:18 +00:00
dummy.mk std-targets.mk: Add file 2026-01-26 17:17:23 +01:00
exe.mk make, scripts: Re-add files necessary for building ytools 2025-11-14 15:59:49 +01:00
gettext.mk gettext.mk: Re-add files necessary for building bootstrap 2025-11-14 16:22:40 +01: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, scripts: Re-add files necessary for building ytools 2025-11-14 15:59:49 +01:00
include.mk make: Align equal signs in *.mk to column 30 2026-03-16 14:57:50 +01:00
install-files.mk defs.mk: Define Q and use it in *.mk 2026-01-26 17:58:23 +01:00
js.mk js.mk: Don't minify without minifier 2025-12-11 17:23:22 +01:00
ldlibpath.mk ldlibpath.mk: Replace ifndef by ifeq ($(origin, ...)) 2026-01-28 15:24:13 +01:00
lib.mk make: Align equal signs in *.mk to column 30 2026-03-16 14:57:50 +01:00
list-files.mk make: Align equal signs in *.mk to column 30 2026-03-16 14:57:50 +01:00
lo.mk lo.mk: Fix warning that targets were not remade 2026-02-10 09:57:59 +01:00
make.mk cmds.distro.CmdInfo: Rename to cmds.platform.CmdInfo 2026-04-24 16:53:55 +02:00
Makefile make: Install cache-projects.mk 2026-02-01 09:50:52 +01:00
path-rules.mk defs.mk: Define Q and use it in *.mk 2026-01-26 17:58:23 +01:00
pkg-dist.mk pkg-dist.mk: Make pkg-release-reinstall: get-pub 2026-05-14 16:09:25 +02:00
platform.mk cmds.distro.CmdInfo: Rename to cmds.platform.CmdInfo 2026-04-24 16:53:55 +02:00
profile.mk make: Re-add files necessary for building jw-python 2025-11-13 17:27:14 +01: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 topdir.mk / projects-dir.mk: Remove BASE_PKGS 2026-03-15 14:58:54 +01: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 topdir.mk / projects-dir.mk: Add get-pub 2026-05-14 12:44:04 +02:00
projects.mk projects.mk -> platform.mk: Move definitions up 2026-03-02 12:55:36 +00:00
py-defs.mk py-defs.mk / py-rules.mk: install py.typed 2026-05-31 18:20:32 +02:00
py-mod.mk python-tools.sh: Fix __init__.py linter complaints 2026-05-31 17:51: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: Add file 2026-05-31 18:20:33 +02:00
py-rules.mk py-defs.mk / py-rules.mk: install py.typed 2026-05-31 18:20:32 +02:00
py-run.mk make: Align equal signs in *.mk to column 30 2026-03-16 14:57:50 +01: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 make: Align equal signs in *.mk to column 30 2026-03-16 14:57:50 +01:00
run.mk make, scripts: Re-add files necessary for building ytools 2025-11-14 15:59:49 +01:00
scripts-targets.mk defs.mk: Remove installation type SCRIPT 2026-04-11 14:51:11 +02:00
scripts.mk Everywhere: Rename MODDIR -> JWBDIR 2019-06-29 21:34:18 +00:00
so.mk make, scripts: Re-add files necessary for building ytools 2025-11-14 15:59:49 +01:00
srcdist.mk make: Replace RPM -> PKG 2026-03-16 14:57:50 +01:00
std-targets.mk std-targets.mk: Add file 2026-01-26 17:17:23 +01:00
std-tools.mk make: Align equal signs in *.mk to column 30 2026-03-16 14:57:50 +01:00
subdirs.mk make, scripts: Re-add files necessary for building ytools 2025-11-14 15:59:49 +01: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: Align equal signs in *.mk to column 30 2026-03-16 14:57:50 +01:00
text.mk make, scripts: Re-add files necessary for building ytools 2025-11-14 15:59:49 +01:00
tmpl.mk tmpl.mk: Re-add because it's useful 2025-12-23 11:07:37 +01: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 dynamic file creation machinery 2026-05-31 18:20:30 +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, scripts: Re-add files necessary for building ytools 2025-11-14 15:59:49 +01:00