sagemath/sage

sage_setup: Modify clean_stale_files to support out-of-tree namespace packages

mkoeppe opened this issue · 8 comments

Follow-up from #28925.

We modify clean_stale_files so that the incremental install logic of sagelib can work even if we want to install namespace packages in addition to sagelib, such as:

Depends on #32874

Component: refactoring

Branch/Commit: u/mkoeppe/out_of_tree_namespace @ d825e55

Reviewer: Kwankyu Lee

Issue created by migration from https://trac.sagemath.org/ticket/30152

Dependencies: #28925

comment:3

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

comment:8

Not needed with #32874


New commits:

ef4e554Merge branch 't/30277/remove_src_module_list_py' into t/28925/modify_find_python_sources__clean_stale_files_to_support_modularization_of_sagelib_by_native_namespace_packages__pep_420_
6282b8dsage.graphs.graph_decompositions: Make it a namespace package by removing __init__.py (which had unnecessary reimports only)
7c10680sage.numerical.backends: Make it a namespace package by removing __init__.py (which was empty)
6e68259Mark src and src/sage/ext_data as directories that are not namespace packages
b71c3a6sage_setup.find.find_python_sources: Handle native namespace packages, 'nonamespace' files
3a12146is_package_or_namespace_package_dir: New, recognize namespace packages by file 'namespace', monkeypatch into Cython
98a1b88sage_setup.command.sage_install.sage_install: Rename to sage_install_and_clean, update use it in src/setup.py; refactor through new class sage_install
6892432sage_setup/command/sage_install.py: WIP: Disable cleaning
b6e771dRevert "sage_setup/command/sage_install.py: WIP: Disable cleaning"
d825e55WIP

Changed dependencies from #28925 to #32874

Commit: d825e55

Reviewer: Kwankyu Lee

comment:9

Okay. See #32927 comment:36