Opened 5 years ago

Closed 5 years ago

#18441 closed enhancement (duplicate)

base packages except configure should be standard; gcc optional

Reported by: jdemeyer Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: build Keywords:
Cc: ncohen Merged in:
Authors: Reviewers: Jeroen Demeyer, Nathann Cohen
Report Upstream: N/A Work issues:
Branch: u/jdemeyer/base_packages_except_configure_should_be_standard (Commits) Commit: f83b0c4289a6dcf1ece58172928d6a511819a725
Dependencies: #18431 Stopgaps:

Description (last modified by jdemeyer)

There is really no reason to make a difference between base and standard packages, except for the only truly "base" package configure. And gcc isn't needed for Sage, so it should be optional.

Also make various changes to #18431:

  1. Remove initial spaces from dependencies.
  2. Build prereq before other packages, remove explicit dependencies on prereq.
  3. Fix this bug: cat >&5 "# Standard packages"
  4. Compute make variable name and version in filtered_packages_list function.
  5. List all packages (not only standard) in build/Makefile.
  6. Beautify the listing of all standard package, use a make variable instead of a new target.
  7. Remove superfluous rule for $(INST)/$(SAGE_MP_LIBRARY)

Change History (19)

comment:1 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:2 Changed 5 years ago by jdemeyer

  • Description modified (diff)
  • Summary changed from base packages except configure should be standard to base packages except configure should be standar; gcc optional

comment:3 Changed 5 years ago by jdemeyer

  • Description modified (diff)
  • Summary changed from base packages except configure should be standar; gcc optional to base packages except configure should be standard; gcc optional

comment:4 follow-up: Changed 5 years ago by ncohen

Hello Jeroen! I obviously have nothing against what you plan on doing, and I will probably give you a confirmation that what you want to do makes sense:

the reason why I created this 'base' category is that indeed not all packages were listed in the "Standard packages" list in the (former) build/install script. Some, like configure, bzip2 and others, were handled differently. In particular, all standard packages appear in the 'all-sage' Makefile rule, while the *base* ones do not.

That's the only reason. I know that I do not know enough about how this all works to change the Makefile's behaviour, so I kept trying to write scripts that generate a Makefile equivalent to the former version. Thus 'basic' packages, which you can of course remove as you know what you are doing far better than me.

Nathann

Last edited 5 years ago by ncohen (previous) (diff)

comment:5 in reply to: ↑ 4 Changed 5 years ago by jdemeyer

Replying to ncohen:

Hello Jeroen! I obviously have nothing against what you plan on doing, and I will probably give you a confirmation that what you want to do makes sense:

the reason why I created this 'base' category is that indeed not all packages were listed in the "Standard packages" list in the (former) build/install script.

That doesn't really matter. If those packages are dependencies of a standard package, they will be built anyway. So adding them to the all-sage rule doesn't make a difference.

comment:6 Changed 5 years ago by ncohen

Oh, cool. That will simplify the code indeed, then.

comment:7 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:8 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:9 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:10 Changed 5 years ago by jdemeyer

  • Branch set to u/jdemeyer/base_packages_except_configure_should_be_standard

comment:11 Changed 5 years ago by git

  • Commit set to 4de8e37b49dacfb56aad239d2bd800ce0d3b7288

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

4de8e37Various changes to build system

comment:12 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:13 Changed 5 years ago by git

  • Commit changed from 4de8e37b49dacfb56aad239d2bd800ce0d3b7288 to f83b0c4289a6dcf1ece58172928d6a511819a725

Branch pushed to git repo; I updated commit sha1. New commits:

f83b0c4Correct variable name

comment:14 Changed 5 years ago by ncohen

  • Reviewers set to Nathann Cohen

Okay that's smart: we do not have to differentiate so often the standard/optional packages, we can just generate the rules and if some are never called, well, we do not have to care. Much cleaner code as a result, thanks!

Was it in 'needs_review'? If so, you can switch it to postive_review.

Nathann

comment:15 Changed 5 years ago by jdemeyer

I'm still testing the ticket. I am currently doing a SAGE_INSTALL_GCC=yes build and if that works, I'll set the ticket to positive_review.

comment:16 Changed 5 years ago by ncohen

Works for me!

Nathann

comment:17 Changed 5 years ago by jdemeyer

  • Authors Jeroen Demeyer deleted
  • Milestone changed from sage-6.7 to sage-duplicate/invalid/wontfix
  • Reviewers changed from Nathann Cohen to Jeroen Demeyer, Nathann Cohen
  • Status changed from new to needs_review

Dupe of #18431.

comment:18 Changed 5 years ago by jdemeyer

  • Status changed from needs_review to positive_review

comment:19 Changed 5 years ago by vbraun

  • Resolution set to duplicate
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.