From c901ba6bb674af6106bec70ecd554de606451941 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 23 Nov 2020 17:02:44 -0800 Subject: [PATCH 01/12] Add script packages build/pkgs/_prereq, build/pkgs/_bootstrap --- build/pkgs/_bootstrap/SPKG.rst | 6 ++++++ .../{arch-bootstrap.txt => _bootstrap/distros/arch.txt} | 0 .../{conda-bootstrap.txt => _bootstrap/distros/conda.txt} | 0 .../{cygwin-bootstrap.txt => _bootstrap/distros/cygwin.txt} | 0 .../{debian-bootstrap.txt => _bootstrap/distros/debian.txt} | 0 .../{fedora-bootstrap.txt => _bootstrap/distros/fedora.txt} | 0 .../distros/freebsd.txt} | 0 .../{gentoo-bootstrap.txt => _bootstrap/distros/gentoo.txt} | 0 .../distros/homebrew.txt} | 0 .../pkgs/{nix-bootstrap.txt => _bootstrap/distros/nix.txt} | 0 .../distros/slackware.txt} | 0 .../{void-bootstrap.txt => _bootstrap/distros/void.txt} | 0 build/pkgs/_bootstrap/spkg-install | 2 ++ build/pkgs/_bootstrap/type | 1 + build/pkgs/_prereq/SPKG.rst | 5 +++++ build/pkgs/{ => _prereq/distros}/arch.txt | 0 build/pkgs/{ => _prereq/distros}/conda.txt | 0 build/pkgs/{ => _prereq/distros}/cygwin.txt | 0 build/pkgs/{ => _prereq/distros}/debian.txt | 0 build/pkgs/{ => _prereq/distros}/fedora.txt | 0 build/pkgs/{ => _prereq/distros}/freebsd.txt | 0 build/pkgs/{ => _prereq/distros}/gentoo.txt | 0 build/pkgs/{ => _prereq/distros}/homebrew.txt | 0 build/pkgs/{ => _prereq/distros}/nix.txt | 0 build/pkgs/{ => _prereq/distros}/slackware.txt | 0 build/pkgs/{ => _prereq/distros}/void.txt | 0 build/pkgs/_prereq/spkg-install | 2 ++ build/pkgs/_prereq/type | 1 + 28 files changed, 17 insertions(+) create mode 100644 build/pkgs/_bootstrap/SPKG.rst rename build/pkgs/{arch-bootstrap.txt => _bootstrap/distros/arch.txt} (100%) rename build/pkgs/{conda-bootstrap.txt => _bootstrap/distros/conda.txt} (100%) rename build/pkgs/{cygwin-bootstrap.txt => _bootstrap/distros/cygwin.txt} (100%) rename build/pkgs/{debian-bootstrap.txt => _bootstrap/distros/debian.txt} (100%) rename build/pkgs/{fedora-bootstrap.txt => _bootstrap/distros/fedora.txt} (100%) rename build/pkgs/{freebsd-bootstrap.txt => _bootstrap/distros/freebsd.txt} (100%) rename build/pkgs/{gentoo-bootstrap.txt => _bootstrap/distros/gentoo.txt} (100%) rename build/pkgs/{homebrew-bootstrap.txt => _bootstrap/distros/homebrew.txt} (100%) rename build/pkgs/{nix-bootstrap.txt => _bootstrap/distros/nix.txt} (100%) rename build/pkgs/{slackware-bootstrap.txt => _bootstrap/distros/slackware.txt} (100%) rename build/pkgs/{void-bootstrap.txt => _bootstrap/distros/void.txt} (100%) create mode 100755 build/pkgs/_bootstrap/spkg-install create mode 100644 build/pkgs/_bootstrap/type create mode 100644 build/pkgs/_prereq/SPKG.rst rename build/pkgs/{ => _prereq/distros}/arch.txt (100%) rename build/pkgs/{ => _prereq/distros}/conda.txt (100%) rename build/pkgs/{ => _prereq/distros}/cygwin.txt (100%) rename build/pkgs/{ => _prereq/distros}/debian.txt (100%) rename build/pkgs/{ => _prereq/distros}/fedora.txt (100%) rename build/pkgs/{ => _prereq/distros}/freebsd.txt (100%) rename build/pkgs/{ => _prereq/distros}/gentoo.txt (100%) rename build/pkgs/{ => _prereq/distros}/homebrew.txt (100%) rename build/pkgs/{ => _prereq/distros}/nix.txt (100%) rename build/pkgs/{ => _prereq/distros}/slackware.txt (100%) rename build/pkgs/{ => _prereq/distros}/void.txt (100%) create mode 100755 build/pkgs/_prereq/spkg-install create mode 100644 build/pkgs/_prereq/type diff --git a/build/pkgs/_bootstrap/SPKG.rst b/build/pkgs/_bootstrap/SPKG.rst new file mode 100644 index 00000000000..6408a634376 --- /dev/null +++ b/build/pkgs/_bootstrap/SPKG.rst @@ -0,0 +1,6 @@ +_bootstrap +========== + +This optional script package represents the requirements (system packages) +that are needed in addition to those represented by the ``_prereq`` package +in order to run the top-level ``bootstrap`` script. diff --git a/build/pkgs/arch-bootstrap.txt b/build/pkgs/_bootstrap/distros/arch.txt similarity index 100% rename from build/pkgs/arch-bootstrap.txt rename to build/pkgs/_bootstrap/distros/arch.txt diff --git a/build/pkgs/conda-bootstrap.txt b/build/pkgs/_bootstrap/distros/conda.txt similarity index 100% rename from build/pkgs/conda-bootstrap.txt rename to build/pkgs/_bootstrap/distros/conda.txt diff --git a/build/pkgs/cygwin-bootstrap.txt b/build/pkgs/_bootstrap/distros/cygwin.txt similarity index 100% rename from build/pkgs/cygwin-bootstrap.txt rename to build/pkgs/_bootstrap/distros/cygwin.txt diff --git a/build/pkgs/debian-bootstrap.txt b/build/pkgs/_bootstrap/distros/debian.txt similarity index 100% rename from build/pkgs/debian-bootstrap.txt rename to build/pkgs/_bootstrap/distros/debian.txt diff --git a/build/pkgs/fedora-bootstrap.txt b/build/pkgs/_bootstrap/distros/fedora.txt similarity index 100% rename from build/pkgs/fedora-bootstrap.txt rename to build/pkgs/_bootstrap/distros/fedora.txt diff --git a/build/pkgs/freebsd-bootstrap.txt b/build/pkgs/_bootstrap/distros/freebsd.txt similarity index 100% rename from build/pkgs/freebsd-bootstrap.txt rename to build/pkgs/_bootstrap/distros/freebsd.txt diff --git a/build/pkgs/gentoo-bootstrap.txt b/build/pkgs/_bootstrap/distros/gentoo.txt similarity index 100% rename from build/pkgs/gentoo-bootstrap.txt rename to build/pkgs/_bootstrap/distros/gentoo.txt diff --git a/build/pkgs/homebrew-bootstrap.txt b/build/pkgs/_bootstrap/distros/homebrew.txt similarity index 100% rename from build/pkgs/homebrew-bootstrap.txt rename to build/pkgs/_bootstrap/distros/homebrew.txt diff --git a/build/pkgs/nix-bootstrap.txt b/build/pkgs/_bootstrap/distros/nix.txt similarity index 100% rename from build/pkgs/nix-bootstrap.txt rename to build/pkgs/_bootstrap/distros/nix.txt diff --git a/build/pkgs/slackware-bootstrap.txt b/build/pkgs/_bootstrap/distros/slackware.txt similarity index 100% rename from build/pkgs/slackware-bootstrap.txt rename to build/pkgs/_bootstrap/distros/slackware.txt diff --git a/build/pkgs/void-bootstrap.txt b/build/pkgs/_bootstrap/distros/void.txt similarity index 100% rename from build/pkgs/void-bootstrap.txt rename to build/pkgs/_bootstrap/distros/void.txt diff --git a/build/pkgs/_bootstrap/spkg-install b/build/pkgs/_bootstrap/spkg-install new file mode 100755 index 00000000000..599e0b77a66 --- /dev/null +++ b/build/pkgs/_bootstrap/spkg-install @@ -0,0 +1,2 @@ +#! /usr/bin/env bash +# Nothing to do diff --git a/build/pkgs/_bootstrap/type b/build/pkgs/_bootstrap/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/_bootstrap/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/_prereq/SPKG.rst b/build/pkgs/_prereq/SPKG.rst new file mode 100644 index 00000000000..eff55756975 --- /dev/null +++ b/build/pkgs/_prereq/SPKG.rst @@ -0,0 +1,5 @@ +_prereq +======= + +This script package represents the minimal requirements (system packages) +for installing SageMath from source. diff --git a/build/pkgs/arch.txt b/build/pkgs/_prereq/distros/arch.txt similarity index 100% rename from build/pkgs/arch.txt rename to build/pkgs/_prereq/distros/arch.txt diff --git a/build/pkgs/conda.txt b/build/pkgs/_prereq/distros/conda.txt similarity index 100% rename from build/pkgs/conda.txt rename to build/pkgs/_prereq/distros/conda.txt diff --git a/build/pkgs/cygwin.txt b/build/pkgs/_prereq/distros/cygwin.txt similarity index 100% rename from build/pkgs/cygwin.txt rename to build/pkgs/_prereq/distros/cygwin.txt diff --git a/build/pkgs/debian.txt b/build/pkgs/_prereq/distros/debian.txt similarity index 100% rename from build/pkgs/debian.txt rename to build/pkgs/_prereq/distros/debian.txt diff --git a/build/pkgs/fedora.txt b/build/pkgs/_prereq/distros/fedora.txt similarity index 100% rename from build/pkgs/fedora.txt rename to build/pkgs/_prereq/distros/fedora.txt diff --git a/build/pkgs/freebsd.txt b/build/pkgs/_prereq/distros/freebsd.txt similarity index 100% rename from build/pkgs/freebsd.txt rename to build/pkgs/_prereq/distros/freebsd.txt diff --git a/build/pkgs/gentoo.txt b/build/pkgs/_prereq/distros/gentoo.txt similarity index 100% rename from build/pkgs/gentoo.txt rename to build/pkgs/_prereq/distros/gentoo.txt diff --git a/build/pkgs/homebrew.txt b/build/pkgs/_prereq/distros/homebrew.txt similarity index 100% rename from build/pkgs/homebrew.txt rename to build/pkgs/_prereq/distros/homebrew.txt diff --git a/build/pkgs/nix.txt b/build/pkgs/_prereq/distros/nix.txt similarity index 100% rename from build/pkgs/nix.txt rename to build/pkgs/_prereq/distros/nix.txt diff --git a/build/pkgs/slackware.txt b/build/pkgs/_prereq/distros/slackware.txt similarity index 100% rename from build/pkgs/slackware.txt rename to build/pkgs/_prereq/distros/slackware.txt diff --git a/build/pkgs/void.txt b/build/pkgs/_prereq/distros/void.txt similarity index 100% rename from build/pkgs/void.txt rename to build/pkgs/_prereq/distros/void.txt diff --git a/build/pkgs/_prereq/spkg-install b/build/pkgs/_prereq/spkg-install new file mode 100755 index 00000000000..599e0b77a66 --- /dev/null +++ b/build/pkgs/_prereq/spkg-install @@ -0,0 +1,2 @@ +#! /usr/bin/env bash +# Nothing to do diff --git a/build/pkgs/_prereq/type b/build/pkgs/_prereq/type new file mode 100644 index 00000000000..a6a7b9cd726 --- /dev/null +++ b/build/pkgs/_prereq/type @@ -0,0 +1 @@ +standard From 5b2f4fbbfff2f7cc48c3402630a9d6616c62e889 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 23 Nov 2020 20:52:24 -0800 Subject: [PATCH 02/12] build/pkgs/_prereq/spkg-configure.m4: New --- build/pkgs/_prereq/spkg-configure.m4 | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 build/pkgs/_prereq/spkg-configure.m4 diff --git a/build/pkgs/_prereq/spkg-configure.m4 b/build/pkgs/_prereq/spkg-configure.m4 new file mode 100644 index 00000000000..f1dbebfd0ec --- /dev/null +++ b/build/pkgs/_prereq/spkg-configure.m4 @@ -0,0 +1,6 @@ +dnl We cannot check prerequisites because they are required +dnl already for running the configure script. +SAGE_SPKG_CONFIGURE([_prereq], [ + dnl Just assume that they are present. + sage_spkg_install__prereq=no +]) From 7ad82868e49dd8017619b72f08451dbcf6c0b8e5 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 23 Nov 2020 20:53:46 -0800 Subject: [PATCH 03/12] src/doc/bootstrap: Remove special casing of build/pkgs/$SYSTEM.txt - _prereq is now just a standard package with spkg-configure.m4 --- src/doc/bootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index f170fd4740d..228d78b3f6b 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -26,7 +26,7 @@ mkdir -p "$OUTPUT_DIR" shopt -s extglob for SYSTEM in arch debian fedora cygwin homebrew conda; do - SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} build/pkgs/$SYSTEM.txt)) + SYSTEM_PACKAGES= OPTIONAL_SYSTEM_PACKAGES= SAGELIB_SYSTEM_PACKAGES= SAGELIB_OPTIONAL_SYSTEM_PACKAGES= From ad242940df18edc6302812287731f22a1b9dce44 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 23 Nov 2020 21:14:49 -0800 Subject: [PATCH 04/12] tox.ini: Simplify, use sage-get-system-packages, sage-package list --- tox.ini | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/tox.ini b/tox.ini index 14005a5ac7c..27e168ecf9b 100644 --- a/tox.ini +++ b/tox.ini @@ -326,6 +326,7 @@ setenv = local: SETENV=: local-nobootstrap: BOOTSTRAP=: local-!direct: PATH=/usr/bin:/bin:/usr/sbin:/sbin + local-sudo: __SUDO=--sudo # brew caches downloaded files in ${HOME}/Library/Caches. We share it between different toxenvs. local-homebrew: HOMEBREW={envdir}/homebrew local-homebrew-usrlocal: HOMEBREW=/usr/local @@ -387,12 +388,7 @@ commands = # # https://docs.brew.sh/Installation homebrew: bash -c 'if [ ! -x {env:HOMEBREW}/bin/brew ]; then mkdir -p {env:HOMEBREW} && cd {env:HOMEBREW} && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 ; fi' - # homebrew-minimal: Minimal for bootstrapping and build. - # gettext and pkg-config are needed so that their aclocal macros are available. - homebrew: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/homebrew*.txt`; {env:HOMEBREW}/bin/brew install $PACKAGES; {env:HOMEBREW}/bin/brew upgrade $PACKAGES' - # -standard and -maximal are for now the same. This should be fixed when refactoring write-dockerfile. - homebrew-standard: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/*/distros/homebrew.txt`; {env:HOMEBREW}/bin/brew install $PACKAGES; {env:HOMEBREW}/bin/brew upgrade $PACKAGES' - homebrew-maximal: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/*/distros/homebrew.txt`; {env:HOMEBREW}/bin/brew install $PACKAGES; {env:HOMEBREW}/bin/brew upgrade $PACKAGES' + homebrew: bash -c 'PACKAGES=$(build/bin/sage-get-system-packages homebrew $(PATH=build/bin:$PATH build/bin/sage-package list {env:SAGE_PACKAGE_LIST_ARGS}) _bootstrap); {env:HOMEBREW}/bin/brew install $PACKAGES; {env:HOMEBREW}/bin/brew upgrade $PACKAGES' # # local-conda # @@ -405,18 +401,12 @@ commands = local-conda: bash -c 'cat {env:CONDARC} >> {env:CONDA_PREFIX}/.condarc' local-conda: bash -c 'if [ ! -x {env:CONDA_PREFIX}/bin/conda ]; then curl -L {env:CONDA_INSTALLER_URL_BASE}{env:CONDA_INSTALLER_FILE} -C - -o {env:SHARED_CACHE_DIR}/{env:CONDA_INSTALLER_FILE} && bash {env:SHARED_CACHE_DIR}/{env:CONDA_INSTALLER_FILE} -b -f -p {env:CONDA_PREFIX}; fi' local-conda: bash -c '{env:SETENV} && {env:CONDA_PREFIX}/bin/conda update -n base --yes conda' - local-conda: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/conda*.txt`; {env:SETENV} && {env:CONDA_PREFIX}/bin/conda install --yes --quiet $PACKAGES' - # -standard and -maximal are for now the same. This should be fixed when refactoring write-dockerfile. - local-conda-standard: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/*/distros/conda.txt`; {env:SETENV} && {env:CONDA_PREFIX}/bin/conda install --yes --quiet $PACKAGES' - local-conda-maximal: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/*/distros/conda.txt`; {env:SETENV} && {env:CONDA_PREFIX}/bin/conda install --yes --quiet $PACKAGES' + local-conda: bash -c 'PACKAGES=$(build/bin/sage-get-system-packages conda $(PATH=build/bin:$PATH build/bin/sage-package list {env:SAGE_PACKAGE_LIST_ARGS}) _bootstrap); {env:SETENV} && {env:CONDA_PREFIX}/bin/conda install --yes --quiet $PACKAGES' # - # local-sudo + # local-sudo: Use sudo to run the system package commands as root # local-sudo: bash -c '$(build/bin/sage-print-system-package-command {env:SYSTEM} update) #' - local-sudo: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/{env:SYSTEM}*.txt`; $(build/bin/sage-print-system-package-command {env:SYSTEM} --sudo --yes --no-install-recommends install $PACKAGES) || [ "$IGNORE_MISSING_SYSTEM_PACKAGES" = yes ] && echo "(ignoring errors)" ' - # -standard and -maximal are for now the same. This should be fixed when refactoring write-dockerfile. - local-sudo-standard: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/*/distros/{env:SYSTEM}.txt`; $(build/bin/sage-print-system-package-command {env:SYSTEM} --sudo --yes --no-install-recommends install $PACKAGES) || [ "$IGNORE_MISSING_SYSTEM_PACKAGES" = yes ] && echo "(ignoring errors)" ' - local-sudo-maximal: bash -c 'PACKAGES=`sed "s/#.*//;" build/pkgs/*/distros/{env:SYSTEM}.txt`; $(build/bin/sage-print-system-package-command {env:SYSTEM} --sudo --yes --no-install-recommends install $PACKAGES) || [ "$IGNORE_MISSING_SYSTEM_PACKAGES" = yes ] && echo "(ignoring errors)" ' + local-sudo: bash -c 'PACKAGES=$(build/bin/sage-get-system-packages {env:SYSTEM} $(PATH=build/bin:$PATH build/bin/sage-package list {env:SAGE_PACKAGE_LIST_ARGS}) _bootstrap); $(build/bin/sage-print-system-package-command {env:SYSTEM} {env:__SUDO:} --yes --no-install-recommends install $PACKAGES) || [ "$IGNORE_MISSING_SYSTEM_PACKAGES" = yes ] && echo "(ignoring errors)" ' # # All "local" environments # From 1a77a6bf5cf13edb74e4b17a8e169c238fceee99 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 23 Nov 2020 21:49:41 -0800 Subject: [PATCH 05/12] build/bin/write-dockerfile.sh: Remove special casing of build/pkgs/$SYSTEM.txt --- build/bin/write-dockerfile.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/bin/write-dockerfile.sh b/build/bin/write-dockerfile.sh index c576a4052aa..e028a79305f 100755 --- a/build/bin/write-dockerfile.sh +++ b/build/bin/write-dockerfile.sh @@ -12,9 +12,9 @@ IGNORE_MISSING_SYSTEM_PACKAGES="${4:-no}" STRIP_COMMENTS="sed s/#.*//;" SAGE_ROOT=. export PATH="$SAGE_ROOT"/build/bin:$PATH -SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} "$SAGE_ROOT"/build/pkgs/$SYSTEM{,-bootstrap}.txt)) +SYSTEM_PACKAGES= CONFIGURE_ARGS="--enable-option-checking " -for PKG_BASE in $($SAGE_ROOT/sage -package list --has-file=distros/$SYSTEM.txt $SAGE_PACKAGE_LIST_ARGS); do +for PKG_BASE in $($SAGE_ROOT/sage -package list --has-file=distros/$SYSTEM.txt $SAGE_PACKAGE_LIST_ARGS) _bootstrap; do PKG_SCRIPTS="$SAGE_ROOT"/build/pkgs/$PKG_BASE if [ -d $PKG_SCRIPTS ]; then SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS/distros/$SYSTEM.txt From 35241e7cc31dd679bc491028d7186629c2f97c57 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 23 Nov 2020 21:58:20 -0800 Subject: [PATCH 06/12] src/doc/en/developer/portability_testing.rst: Update paths in documentation --- src/doc/en/developer/portability_testing.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/doc/en/developer/portability_testing.rst b/src/doc/en/developer/portability_testing.rst index a2743fb488d..37c92a4d60e 100644 --- a/src/doc/en/developer/portability_testing.rst +++ b/src/doc/en/developer/portability_testing.rst @@ -155,14 +155,14 @@ Using Sage's database of distribution prerequisites The source code of the Sage distribution contains a database of package names in various distributions' package managers. For -example, the file ``build/pkgs/debian.txt`` contains the following +example, the file ``build/pkgs/_prereq/distros/debian.txt`` contains the following .. code-block:: yaml - # This file, build/pkgs/debian.txt, contains names of Debian/Ubuntu packages - # needed for installation of Sage from source. + # This file, build/pkgs/_prereq/distros/debian.txt, contains names + # of Debian/Ubuntu packages needed for installation of Sage from source. # - # In addition, the files build/pkgs/SPKG/debian.txt contain the names + # In addition, the files build/pkgs/SPKG/distros/debian.txt contain the names # of packages that provide the equivalent of SPKG. # # Everything on a line after a # character is ignored. @@ -700,7 +700,7 @@ Let us try a first variant of the ``local`` technology, the tox environment called ``local-direct``. Because all builds with tox begin by bootstrapping the source tree, you will need autotools and other prerequisites installed in your system. See -``build/pkgs/*-bootstrap.txt`` for a list of system packages that +``build/pkgs/_bootstrap/distros/*.txt`` for a list of system packages that provide these prerequisites. We start by creating a fresh (distclean) git worktree. From 68baff143410209e56af62dc81eb6ec38ba12249 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 24 Nov 2020 10:47:39 -0800 Subject: [PATCH 07/12] Makefile (configure): Update dependency on moved files build/pkgs/*.txt --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1ad7c172d87..ddc3a241dea 100644 --- a/Makefile +++ b/Makefile @@ -208,7 +208,7 @@ ptestoptional: all ptestoptionallong: all $(PTESTALL) --long --logfile=logs/ptestoptionallong.log -configure: bootstrap src/doc/bootstrap configure.ac src/bin/sage-version.sh m4/*.m4 build/pkgs/*/spkg-configure.m4 build/pkgs/*/type build/pkgs/*.txt build/pkgs/*/distros/*.txt +configure: bootstrap src/doc/bootstrap configure.ac src/bin/sage-version.sh m4/*.m4 build/pkgs/*/spkg-configure.m4 build/pkgs/*/type build/pkgs/*/distros/*.txt ./bootstrap -d install: all From fae4bd089c019cc0e27929d78a2b85b5e4dfa3a2 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 26 Nov 2020 12:12:19 -0800 Subject: [PATCH 08/12] bootstrap: Remove --enable-_recommended etc. --- bootstrap | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bootstrap b/bootstrap index f73791f75ed..83535a112a1 100755 --- a/bootstrap +++ b/bootstrap @@ -88,8 +88,12 @@ bootstrap () { # Trac #29629: Temporary solution for Sage 9.1: Do not provide # --enable-SPKG options for installing pip packages if [ ! -f "$(dirname $filename)/requirements.txt" ]; then - spkg_configures="$spkg_configures -SAGE_SPKG_ENABLE([$pkgname], [$pkgtype])" + # Trac #29124: Do not provide --enable-_recommended and similar + case "$pkgname" in + _*) ;; + *) spkg_configures="$spkg_configures +SAGE_SPKG_ENABLE([$pkgname], [$pkgtype])" ;; + esac fi ;; esac From a9bd1455bf3762c21957bcf4da3e06750897b830 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 26 Nov 2020 12:19:14 -0800 Subject: [PATCH 09/12] m4/sage_spkg_collect.m4: Remove _recommended etc. from the configure package summary --- m4/sage_spkg_collect.m4 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/m4/sage_spkg_collect.m4 b/m4/sage_spkg_collect.m4 index 48a3ca295de..ef85189b4bc 100644 --- a/m4/sage_spkg_collect.m4 +++ b/m4/sage_spkg_collect.m4 @@ -230,8 +230,16 @@ for DIR in $SAGE_ROOT/build/pkgs/*; do message="does not support check for system package; $message" ]) ]) + + dnl Trac #29124: Do not talk about underscore club + case "$SPKG_NAME" in + _*) + ;; + *) formatted_message=$(printf '%-45s%s' "$SPKG_NAME-$SPKG_VERSION:" "$message") AC_MSG_RESULT([$formatted_message]) + ;; + esac AS_VAR_POPDEF([sage_use_system])dnl AS_VAR_POPDEF([sage_require])dnl From 9988c5fab43adc6f5784a124248887637475d67c Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 29 Dec 2020 11:08:29 -0800 Subject: [PATCH 10/12] ci-cygwin*.yml: Adjust to new script packages _bootstrap, _prereq --- .github/workflows/ci-cygwin-minimal.yml | 62 ++++++++++++------------ .github/workflows/ci-cygwin-standard.yml | 24 ++++----- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/.github/workflows/ci-cygwin-minimal.yml b/.github/workflows/ci-cygwin-minimal.yml index 865873d8848..f13d97a6018 100644 --- a/.github/workflows/ci-cygwin-minimal.yml +++ b/.github/workflows/ci-cygwin-minimal.yml @@ -43,7 +43,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -113,7 +113,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -188,7 +188,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -205,7 +205,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -233,7 +233,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 # upload-artifact@v2 does not support whitespace in file names. @@ -268,7 +268,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -285,7 +285,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -313,7 +313,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: @@ -346,7 +346,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -363,7 +363,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -391,7 +391,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: @@ -424,7 +424,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -441,7 +441,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -469,7 +469,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: @@ -502,7 +502,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -519,7 +519,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -547,7 +547,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: @@ -582,7 +582,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -599,7 +599,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -627,7 +627,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: @@ -662,7 +662,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -679,7 +679,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -707,7 +707,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: @@ -740,7 +740,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -757,7 +757,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -785,7 +785,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: @@ -818,7 +818,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -835,7 +835,7 @@ jobs: path: C:\\tools\\cygwin\\tmp - name: Extract sage-local artifact run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-${{ env.PREVIOUS_STAGES }}.tar' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null local' - name: configure run: | C:\\tools\\cygwin\\bin\\bash -l -c 'export PATH=/usr/local/bin:/usr/bin && cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure $CONFIGURE_ARGS' @@ -863,7 +863,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: @@ -896,7 +896,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -941,7 +941,7 @@ jobs: # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. # We remove the local/lib64 link, which will be recreated by the next stage. run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --remove-files local' + C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f local/lib64; tar -cf /tmp/sage-local-${{ env.STAGE }}.tar --listed-incremental=/tmp/sage-local.snar local' if: always() - uses: actions/upload-artifact@v2 with: diff --git a/.github/workflows/ci-cygwin-standard.yml b/.github/workflows/ci-cygwin-standard.yml index 75e493f733e..8824d1738a1 100644 --- a/.github/workflows/ci-cygwin-standard.yml +++ b/.github/workflows/ci-cygwin-standard.yml @@ -43,7 +43,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -113,7 +113,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -188,7 +188,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -268,7 +268,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -346,7 +346,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -424,7 +424,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -502,7 +502,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -582,7 +582,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -662,7 +662,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -740,7 +740,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -818,7 +818,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | @@ -896,7 +896,7 @@ jobs: shell: bash {0} run: | choco --version - PACKAGES=$(sed 's/#.*//;' ./build/pkgs/cygwin.txt ./build/pkgs/cygwin-bootstrap.txt) + PACKAGES=$(sed 's/#.*//;' ./build/pkgs/_prereq/distros/cygwin.txt ./build/pkgs/_prereq/distros/cygwin-bootstrap.txt) choco install $PACKAGES --source cygwin - name: bootstrap run: | From e7a768b7dddd24c34638ada7e8f819745aec419d Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 2 Jan 2021 12:44:37 -0800 Subject: [PATCH 11/12] build/pkgs/{_bootstrap,_prereq}/SPKG.rst: Reformat title --- build/pkgs/_bootstrap/SPKG.rst | 7 +++++-- build/pkgs/_prereq/SPKG.rst | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/build/pkgs/_bootstrap/SPKG.rst b/build/pkgs/_bootstrap/SPKG.rst index 6408a634376..9c8c233797b 100644 --- a/build/pkgs/_bootstrap/SPKG.rst +++ b/build/pkgs/_bootstrap/SPKG.rst @@ -1,5 +1,8 @@ -_bootstrap -========== +_bootstrap: Represents system packages required for running the top-level bootstrap script +========================================================================================== + +Description +----------- This optional script package represents the requirements (system packages) that are needed in addition to those represented by the ``_prereq`` package diff --git a/build/pkgs/_prereq/SPKG.rst b/build/pkgs/_prereq/SPKG.rst index eff55756975..a798c656ed0 100644 --- a/build/pkgs/_prereq/SPKG.rst +++ b/build/pkgs/_prereq/SPKG.rst @@ -1,5 +1,8 @@ -_prereq -======= +_prereq: Represents system packages required for installing SageMath from source +================================================================================ + +Description +----------- This script package represents the minimal requirements (system packages) for installing SageMath from source. From 6ff6545fe6bea41785a60d4eb7c1f5489da26c7c Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 2 Jan 2021 12:45:54 -0800 Subject: [PATCH 12/12] Move build/pkgs/opensuse*.txt to build/pkgs/{_bootstrap,_prereq}/distros --- .../{opensuse-bootstrap.txt => _bootstrap/distros/opensuse.txt} | 0 build/pkgs/{ => _prereq/distros}/opensuse.txt | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename build/pkgs/{opensuse-bootstrap.txt => _bootstrap/distros/opensuse.txt} (100%) rename build/pkgs/{ => _prereq/distros}/opensuse.txt (100%) diff --git a/build/pkgs/opensuse-bootstrap.txt b/build/pkgs/_bootstrap/distros/opensuse.txt similarity index 100% rename from build/pkgs/opensuse-bootstrap.txt rename to build/pkgs/_bootstrap/distros/opensuse.txt diff --git a/build/pkgs/opensuse.txt b/build/pkgs/_prereq/distros/opensuse.txt similarity index 100% rename from build/pkgs/opensuse.txt rename to build/pkgs/_prereq/distros/opensuse.txt