sdh_install installs a json file into
SAGE_LOCAL/var/lib/sage/installed/
which are then used by unistallaller

e.g. "make meataxe" produces SAGE_LOCAL/var/lib/sage/installed/meataxe-1.0.p0
{
    "package_name": "meataxe",
    "package_version": "1.0.p0",
    "install_date": "Wed Nov  6 17:24:57 GMT 2019",
    "system_uname": "Linux hilbert 5.1.12-gentoo #1 SMP Fri Jun 21
19:27:38 BST 2019 x86_64 Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
GenuineIntel GNU/Linux",
    "sage_version": "SageMath version 9.0.beta4, Release Date: 2019-11-02",
    "test_result": "",
    "files": [
        "bin/cfcomp",
        "bin/chop",
...
}

I guess sdh_pip_install does not do this, I don't know.

Anyhow, it would make perfect sense to split the package into two, as
you propose.

On Wed, Nov 6, 2019 at 3:55 PM Simon King <simon.k...@uni-jena.de> wrote:
>
> 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.

-- 
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/CAAWYfq22%3DK%2Bss9jhCj2L57iBOe5i9_5iUE9Kdg-ZQO_SxwM50Q%40mail.gmail.com.

Reply via email to