Hi Eric, On 2019-11-06, E. Madison Bray <erik.m.b...@gmail.com> wrote: >> However, I heard rumours that in order to make a Sage optional package >> uninstallable, one needs some new script analogous to spkg-install. >> >> Can someone give me a pointer on what should be done in that script and >> what tools (sdh_*) are available for it? > > That's not quite accurate. In general you do *not* need any > additional scripts, with some exception. > These packaging guidelines still need better documentation, but > essentially you need to make sure the package is built for what is > referred in GNU standards as a "DESTDIR install" [1]. This means that > the package is built for installation to some particular prefix (e.g. > `./configure --prefix=$SAGE_LOCAL` in autoconf terms), but can then be > *installed* with some additional path (the "DESTDIR") prepended to the > prefix. This is similar to providing an alternate root (e.g. prefix > is appended to DESTDIR instead of just "/").
Then what to do with p_group_cohomology? Its spkg-install script installs two sub-packages. Each of them, I think, follows the above scheme. However, Sage has no way of knowing that uninstalling p_group_cohomology means uninstalling two sub-packages. Perhaps one possibility is to split the current p_group_cohomology-3.3 into its two sub-packages, and make the first (which is autotoolized) a dependency for the second (which is a bunch of cython and python modules linked against the first sub-package. Say: - p_group_cohomology-3.4 shall only comprise what currently is the p/cython part of p_group_cohomology-3.3, and have modular_resolution as a dependency. - modular_resolution-1.0 shall only comprise what currently is the autotoolized c-library part of p_group_cohomology-3.3 Advantage: "make p_group_cohomology" would also install the dependency, hence, both packages get installed. And both packages can also be un-installed, I suppose. Disadvantage: The only purpose of modular_resolution-1.0 would be to serve as a dependency, it is (to my knowledge at least) of no independent use. Best regards, Simon -- 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/qpuqe5%247598%241%40blaine.gmane.org.