Bug 253600

Summary: Dependencies should receive a PORTREVISION bump when devel/isl is upgraded
Product: Ports & Packages Reporter: Patrick McMunn <doctorwhoguy>
Component: Individual Port(s)Assignee: Danilo Egea Gondolfo <danilo>
Status: New ---    
Severity: Affects Only Me    
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Patrick McMunn 2021-02-17 21:40:42 UTC
I don't know if there is a good way to do this or not. If not, it's probably a good idea to a least put a notice in UPDATING. I am upgrading a FreeBSD CURRENT system that hasn't been updated in at least a couple of months. Apparently devel/isl was upgraded from 0.22 to 0.23. Then another package needed gcc10's gfortran to compile, but it failed. After checking the config.log file, I saw that gfortran was failing because it was looking for the old isl 0.22 .so file which no longer existed because it had been replaced by 0.23. I'm using portmaster, but there should be some way for the build system to know that gcc needs to be rebuilt against the new version of a dependency -- especially before gcc is called to be used to compile something else.
Comment 1 Gerald Pfeifer freebsd_committer 2021-02-17 22:00:24 UTC
When a port is upgraded, its dependencies should be "bumped" when there are
material changes, that is, their PORTREVISION should be increased to trigger
a rebuild.

This has not happened with the devel/isl upgrade you mentioned, which 
looks like a problem.

Some times in the past it did happen, see for example:

  r466827 | danilo | 2018-04-08 19:05:36 +0000 (So., 08 Apr. 2018) | 10 lines

  math/cloog
   - Update to 0.19.0
   - Use github
   - Add ac_cv_prog_TEXI2DVI to avoid building docs for now

  devel/isl
   - Update to 0.19

  - Bump PORTREVISION of all dependencies

Danilo, mind having a look?


Patrick, as a side note, lang/gcc10 only depends on devel/isl when the
GRAPHITE option is active which is *not* the default. Any non-default
options you have set are useful to report.
Comment 2 Danilo Egea Gondolfo freebsd_committer 2021-04-24 13:46:04 UTC
Hi, sorry for the huge delay.

Yes, you are absolutely right. All the consumers must be bumped when the major version is bumped like what happened here. And in fact I did that as usual, see [1].

Although, the way I look for the consumers (make search bdeps=isl- | grep Path) does not seem to be enough to find all of them. In this particular case, the usage of devel/isl in lang/gcc10 is conditional and disabled by default. So, what I do is enough to provide the packages correctly via the official pkg repositories, but that might not be the case for custom builds as it seems.

Thanks for calling it out.


[1] - https://cgit.freebsd.org/ports/commit/?id=29f440dfd8c5b0e3d74ae8561fc0b1b0b8dd0bfc