On Tue, 2022-04-26 at 10:26 -0700, Nils Bruin wrote: > > If packaging is going to play a more important role in the distribution of > sage, I think we need to make a distinction between build-time optional > packages and packages that can be installed after sage has been built. And > ideally we'd make as many as possible installable after build.
This generally makes packaging harder if the optional thing affects the existing sage installation. Distribution packages should know all of their dependencies at install-time. Additional things not declared as dependencies that "automagically" [0] enable some new behavior violate that, leading to problems: 1. What the user would consider dependencies are not declared as such and can be "surprise" removed by the package manager. 2. There's no way to disable the behavior change if you didn't enable it in the first place. 3. General confusion when the user installs an optional thing for some other unrelated purpose and his sage starts acting funny. 4. Repeated runtime detection of features is (repeatedly) slower than build-time detection. It's a headache for sage-the-distribution as well. Many hours were wasted working around system executable issues when the new runtime "feature" detection started to forcefully use them, and they still suffer from the problems above. I outlined a solution in Trac 30746 [1] that should avoid most of those problems. It mainly requires admitting that automagic feature detection has been tried repeatedly and turns out to be a dead-end. [0]https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies [1]https://trac.sagemath.org/ticket/30746 -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/5f17d189502d598491e0ddcc6d3bcdce5dc9550a.camel%40orlitzky.com.