An option to "./configure" could work too, except that the "bootstrap" phase already downloads the "configure" tarball into that directory.
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.