Add script package _recommended and generate "recommended system packages" info
mkoeppe opened this issue · 65 comments
Let's improve the installation-from-source documentation regarding the "recommended system packages" for 9.1.
build/pkgs/_recommended- records additional recommended packages such as texlive-xetex (see https://wiki.sagemath.org/prerequisites/Ubuntu); also texinfo (from #22191)
(from #29124)
Related:
- #29146: Meta-ticket: Refactor and improve system package related scripts, tox.ini, build/bin/write_dockerfile.sh
- #29372: At the end of configure, show installation hints for disabled optional packages separately
- #30624: Improve configure's recommendation message
CC: @egourgoulhon @dimpase @kiwifb @orlitzky @jhpalmieri @videlec @kcrisman @slel @antonio-rojas @kliem @thierry-FreeBSD @saraedum
Component: documentation
Keywords: sd109
Author: Matthias Koeppe, John Palmieri
Branch: 6d5cc43
Reviewer: John Palmieri, Matthias Koeppe
Issue created by migration from https://trac.sagemath.org/ticket/29557
Commit: 449df5a
New commits:
449df5a | build/pkgs/_recommended: New |
Description changed:
---
+++
@@ -1,6 +1,6 @@
Let's improve the installation-from-source documentation regarding the "recommended system packages" for 9.1.
-- `build/pkgs/_recommended` - records additional recommended packages such as texlive-xetex (see https://wiki.sagemath.org/prerequisitesUbuntu)
+- `build/pkgs/_recommended` - records additional recommended packages such as texlive-xetex (see https://wiki.sagemath.org/prerequisites/Ubuntu)
(from #29124)
So far we only have the recommended packages for debian/ubuntu
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
66c07d8 | trac 29558: first draft |
deb84cd | sage-print-system-package-command: More options, update uses |
a832dbc | src/doc/bootstrap: Initialize OPTIONAL_SYSTEM_PACKAGES |
272f01b | build/bin/sage-spkg: Update use of sage-print-system-package-command |
8f064f4 | trac 29558: correct some markup, change the date at end of file |
8273e84 | build/pkgs/_recommended: New |
Branch pushed to git repo; I updated commit sha1. New commits:
7151382 | src/doc/bootstrap: Generate debian-recommended.txt etc |
Would someone like to help with the list of packages on their favorite distribution?
Author: Matthias Koeppe
Changed branch from u/mkoeppe/29557-recommended-packages to u/jhpalmieri/29557-recommended-packages
Here are a few suggestions for homebrew.
New commits:
85281cf | trac 29557: some recommended packages for homebrew |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
2104e53 | trac 29557: some recommended packages for homebrew |
I don't think gcc needs to be added here - it's already listed in build/pkgs/gfortran/distros/homebrew.txt
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
8550fe0 | trac 29557: some recommended packages for homebrew |
Okay, I took gcc out.
Thanks!
Typo in the ubuntu link:
+https://wiki.sagemath.org/prerequisites/Ubuntu
-https://wiki.sagemath.org/prerequisitesUbuntuMy fault: I recently moved that page from prerequisitesUbuntu
to prerequisites/Ubuntu to make it easier to find, better indexed,
and thinking we might have other prerequisites/something.
Replying to @slel:
[...] thinking we might have other
prerequisites/something.
Hopefully this won't be necessary and we can keep this information up to date in a single place - the install manual.
Changed author from Matthias Koeppe to Matthias Koeppe, John Palmieri
Fedora, Arch, anyone?
Changed branch from u/jhpalmieri/29557-recommended-packages to u/mkoeppe/29557-recommended-packages
Branch pushed to git repo; I updated commit sha1. New commits:
5a0682e | src/doc/en/installation/source.rst: Add recommended ubuntu packages from wiki |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
Changed keywords from none to sd109
Description changed:
---
+++
@@ -1,6 +1,6 @@
Let's improve the installation-from-source documentation regarding the "recommended system packages" for 9.1.
-- `build/pkgs/_recommended` - records additional recommended packages such as texlive-xetex (see https://wiki.sagemath.org/prerequisites/Ubuntu)
+- `build/pkgs/_recommended` - records additional recommended packages such as texlive-xetex (see https://wiki.sagemath.org/prerequisites/Ubuntu); also texinfo (from #22191)
(from #29124)
Branch pushed to git repo; I updated commit sha1. New commits:
fe9ba0b | build/pkgs/_recommended/distros/homebrew.txt: New |
Branch pushed to git repo; I updated commit sha1. New commits:
d198e9c | build/pkgs/_recommended/distros/debian.txt: Format change |
For homebrew, do we want to recommend any of:
- autoconf
- automake
- ffmpeg
- imagemagick
- pandoc
?
A related question: if we recommend pandoc (for instance) for debian, then for consistency, should we necessarily recommend it for homebrew?
Replying to @jhpalmieri:
For homebrew, do we want to recommend any of:
- autoconf
- automake
- ffmpeg
- imagemagick
- pandoc
autoconf/automake are already in homebrew-bootstrap.txt
The other, yes.
A related question: if we recommend pandoc (for instance) for debian, then for consistency, should we necessarily recommend it for homebrew?
Ideally, yes, but getting a version of this ticket merged would be good even if it has not reached 100% consistency between distributions
Hmm. I did git trac pull 29557 and made some changes, but it won't let me do git trac push ..., saying the remote contains work that you do not have locally. Any objections if I do a forced push?
What commit are you working on top of?
What does git log --oneline -20 say (or -3 if it's enough)?
6d5cc43d09 (HEAD -> t/29557/29557-recommended-packages) trac 29557: recommended packages for homebrew
d198e9c5b7 build/pkgs/_recommended/distros/debian.txt: Format change
fe9ba0b00c build/pkgs/_recommended/distros/homebrew.txt: New
ea5d610b21 src/doc/bootstrap: Generate debian-recommended.txt etc
2cd5ef99ee build/pkgs/_recommended: New
go for the force push. It's possible that you had a branch under your name previously that can't be fast-forwarded
Changed branch from u/mkoeppe/29557-recommended-packages to u/jhpalmieri/29557-recommended-packages
We could update the installation manual, in src/doc/en/installation/source.rst, using the generated files, but probably it's best to leave this for another ticket.
Reviewer: ..., Matthias Koeppe
Changed reviewer from ..., Matthias Koeppe to John Palmieri, Matthias Koeppe
This looks good to me, although I can't really vouch for the recommendations on debian. It's certainly a good start, and people can supplement on later tickets.
Changed branch from u/jhpalmieri/29557-recommended-packages to 6d5cc43
On OS X, I see this:
configure:40015: notice: the following SPKGs did not find equivalent system packages: _recommended arb brial cbc cddlib cliquer cmake coxeter3 eclib ecm fflas_ffpack flint flintqs fplll gf2x gfan giac givaro gp2c iml lcalc libbraiding libsemigroups lrcalc m4ri m4rie ntl palp pari pari_elldata pari_galdata pari_galpol pari_nftables pari_seadata pari_seadata_small perl_cpan_polymake_prereq perl_term_readline_gnu planarity rw symmetrica sympow tachyon zn_poly
configure:40017: checking for the package system in use
configure:40020: result: homebrew
configure:40029: hint: installing the following system packages is recommended and may avoid building some of the above SPKGs from source:
configure:40031: $ brew install pandoc ffmpeg imagemagick texinfo cmake
On a follow-up, we could improve this message. First, these recommended packages don't actually help to avoid building any of the listed SPKGs. Second, this message is printed regardless of whether ffmpeg et al. are installed. Third, I actually have pandoc installed, it is correctly detected by ./configure, but it recommends installing it anyway.
Changed commit from 6d5cc43 to none
Note there's also a separate pandoc script package
Replying to @mkoeppe:
Note there's also a separate
pandocscript package
Right, and that correctly detects my pandoc installation, so it would be nice if the ending message took that into account. The ending message automatically prints every recommended external package, even those which are installed and have corresponding script packages.
Description changed:
---
+++
@@ -4,4 +4,10 @@
(from #29124)
+Related:
+- #29146: Meta-ticket: Refactor and improve system package related scripts, tox.ini, build/bin/write_dockerfile.sh
+- #29372: At the end of configure, show installation hints for disabled optional packages separately
+- #30624: Improve configure's recommendation message
+
+Replying to jhpalmieri (comment 51):
On a follow-up, we could improve this message. First, these recommended
packages don't actually help to avoid building any of the listed SPKGs.
Second, this message is printed regardless of whether ffmpeg et al.
are installed. Third, I actually have pandoc installed, it is correctly
detected by ./configure, but it recommends installing it anyway.
See:
- #30624: Improve configure's recommendation message
The package texlive-generic-extra doesn't exist for ubuntu 20.04, and on 18.04 it was already labeled as "transitional dummy package". I'm not sure what's the correct replacement, maybe simply "texlive"?