On Mon, Feb 19, 2024 at 10:29 PM Matthias Koeppe <matthiaskoe...@gmail.com> wrote:
> An option to "./configure" could work too, except that the "bootstrap" > phase already downloads the "configure" tarball into that directory. an option to ./bootstrap then would be logical > > Another possible direction: I've been thinking about creating a "./sage > worktree" command, see https://github.com/sagemath/sage/issues/34744 > > > On Monday, February 19, 2024 at 2:24:40 PM UTC-8 John H Palmieri wrote: > >> Regarding symlinking the upstream directory: instead or in addition, what >> about an option to `./configure` for the location of that directory? >> >> >> On Monday, February 19, 2024 at 12:09:54 PM UTC-8 Matthias Koeppe wrote: >> >>> Prompted by the discussion of space use on the *local machines* of >>> users and developers, I propose another item in addition to A and B: >>> >>> *C. Advertise use of "git worktree" and recommend symlinking the >>> "upstream" directory.* For testing a new release when you have an >>> existing clone of the repository, using "git clone" another time is >>> overkill as it creates another copy of the .git directory. And there is no >>> point in having multiple copies of the "upstream" directory, as the >>> filenames of the tarballs change whenever the contents change. >>> >>> On Monday, February 19, 2024 at 11:42:01 AM UTC-8 John H Palmieri wrote: >>> >>> This (A and B below) has the advantage of being quite explicit. The >>> original proposal >>> >>> 1) allow standard packages to be pip packages >>> >>> 2) drop the contents of upstream/ from the Sage source tarballs. >>> >>> sounds explicit, but the more the discussion goes on, the more I feel >>> that there are hidden pieces. Does the proposal also mean removing version >>> restrictions and all of the other claimed maintenance burden for various >>> components of Sage? >>> >>> Regarding item (2): if I clone the github repository, there is no >>> upstream directory at the start, but after building Sage, it ends up being >>> almost as large as in the current tarballs. (This is on OS X with a lot of >>> homebrew packages installed.) So how much savings are we actually talking >>> about? (Maybe it's not savings for the end user that are important, so >>> *what* are we saving? Disk space on the mirrors?) Dima, can you please >>> provide data? If we convert (according to (1)) to pip packages, those still >>> need to be downloaded, and while they may not end up in "upstream" — I >>> don't actually know how they work — don't they still take up disk space? So >>> again, how much savings are we talking about? Please provide data. >>> >>> By the way, the git clone yields a package that is 616M on my machine. A >>> good chunk of that is the .git directory. Are you proposing that we do not >>> distribute this? (A recent beta tarball is 1.4G, unpacked 1.6G.) >>> >>> Regarding item (1): can you provide a list of packages that would become >>> pip packages? Or describe how you would come up with a list? >>> >>> >>> On Monday, February 12, 2024 at 3:52:29 PM UTC-8 Matthias Koeppe wrote: >>> >>> I'll now offer: >>> >>> *Opinion 1. Nobody needs to care in the slightest what the size of that >>> release tarball is. * >>> >>> In any use cases with internet connectivity, people will be better off >>> by just cloning the git repo, not use the release tarball. >>> >>> If there are relevant use cases without internet connectivity (I have no >>> opinion to offer on this), then the release tarball has exactly the right >>> contents. >>> >>> *Proposed action items: * >>> *A.* Change https://github.com/sagemath/sage/blob/develop/README.md so >>> that "git clone" is described as the primary way to obtain the Sage >>> sources. That the big release tarball is available can be a footnote in the >>> Installation Guide ( >>> https://deploy-livedoc--sagemath.netlify.app/html/en/installation/source#installation-steps) >>> for the limited no-internet connectivity use case. >>> >>> *B. *Likewise, get rid of all of these "Download Sage source code" >>> pages (https://www.sagemath.org/download-source.html, >>> https://www.sagemath.org/download-latest.html), mirror selection, etc. >>> from the Sage website. >>> >>> >>> On Sunday, February 11, 2024 at 11:23:42 AM UTC-8 Dima Pasechnik wrote: >>> >>> Currently the standard packages cannot be pip packages, i.e. we must, in >>> effect, vendor them. This entails an extra effort which is often not >>> needed, in particular as we patch only very few Python packages. >>> Pip packages are on the other hand installed straight from PyPI. >>> >>> Good examples of standard packages which can become pip ones are tox, >>> pytest (not yet standard). >>> >>> >>> The other difference is that by default these packages are not included >>> in the Sage releases source tarball. >>> >>> Rather than adding them there I propose to split the upstream/* part of >>> the tarball into something optional - which is represented by a list of >>> files to download, and which is just not needed if you build while >>> connected to the internet. >>> >>> This is a huge saving on the tarball size: with upstream/* in, Sage 10.2 >>> tarball is 1.3Gb, and without it is smaller than 0.25Gb. >>> >>> Note that as William writes, the desire to have Sage buildable without >>> an internet connection was a requirement by a past Sage funder, gone about >>> 10 years ago. Thus there's no longer an obligation to have this option. >>> I am not aware of a similar to Sage which provides tarballs allowing for >>> an offline build. >>> >>> Thus, I would like to call a vote on these two topics: >>> >>> 1) allow standard packages to be pip packages >>> >>> 2) drop the contents of upstream/ from the Sage source tarballs. >>> >>> >>> --- >>> Dima >>> >>> -- > 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/ab2b37cb-e44c-4489-bb88-8ba834064661n%40googlegroups.com > <https://groups.google.com/d/msgid/sage-devel/ab2b37cb-e44c-4489-bb88-8ba834064661n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CAAWYfq1%3DpukmGzuFNufRFB5XU_TM7%2BTdSguXhJ4QPeY_Jx9D6g%40mail.gmail.com.