Re: Latest packages being built with stale dependencies?
On Thu, Jul 25, 2019 at 10:52 AM Kevin Oberman wrote: > Today I tried updating llvm80 to the newest version, 8.0.1, using pkg. I > discovered that the package for llvm80 is built using the deprecated and > soon to expire sambe47. Last week, in preparation for the expiry , I > updated to samba48 and I assumed that any ports that were being packaged > for "latest" would also be built with the default versions of dependencies. > SAMBA_DEFAULT was changed to samba48 back on June 8, so why are "LATEST" > packages still being built with samba47? > Thanks to David's nudge I just learned something new about pkg upgrade. If there are any installed ports, whether built from source or installed from packages, that are missing dependencies, pkg will try to install them for any package upgrade even if the package being upgraded has no dependency on that port. Perhaps the --force option would have bypassed this. The man page is not clear. In any case, that was the problem and re-installing the two packages that the use of "portmaster -o" missed when updating samba47 to samba48. I probably did something wrong. I'm still confused, but things are now working and everything seems clean. -- > Kevin Oberman, Part time kid herder and retired Network Engineer > E-mail: rkober...@gmail.com > PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683 > ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: Massive PORTS_REVISION bump after making gcc-9.1 default
Gerald, Thanks for our excellent explanation. I must admit that I did not think about various archs. So, now I understand why the PORTREVISION was bumped and that I don't need to go back and build the ports that were rebuilt prior to the gcc9-9.1 upgrade. I trust tat portmaster did hte right thing. (Yes, I suppose that there is a slight risk, but I'll take it!) Now, why the heck do rust and llvm both have packages that require samba47. I don't see why they require samba at all, let alone a deprecated version that will expire in about a week. Since I'm trying to upgrade a package for amd64, I can't see archs being an issue, so I'm baffled. But that's a different thread. -- Kevin Oberman, Part time kid herder and retired Network Engineer E-mail: rkober...@gmail.com PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683 On Sun, Jul 28, 2019 at 12:12 PM Lorenzo Salvadore via freebsd-ports < freebsd-ports@freebsd.org> wrote: > > ‐‐‐ Original Message ‐‐‐ > On Sunday 28 July 2019 20:56, Gerald Pfeifer wrote: > > > On Sun, 28 Jul 2019, Kevin Oberman wrote: > > > > > The description of the commit states: > > > This includes ports > > > > > > - with USE_GCC=yes or USE_GCC=any, > > > - with USES=fortran, > > > - using Mk/bsd.octave.mk which in turn features USES=fortran, and > > > - with USES=compiler specifying openmp, nestedfct, c11, c++0x, > c++11-lang, > > > c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib > > > plus, everything INDEX-11 shows with a dependency on lang/gcc9 now. > > > > > > > > > This would appear to me like it did catch a great many ports which are > > > not build with or any anything to do will gcc, though I am not sure. > > > > These ports may not use GCC on your system, or even the majority of > > systems, but there are systems and situations where they do, and bumping > > PORTREVISION is a global binary decision for each port considered. > > > > > E.g. I thought that USES=compiler:c11 and similar were asking for > > > c11 semantics from whatever compiler was used but > > > > Let's look at your example. ports/Mk/Uses/compiler.mk has the following > > on USES=compiler:c11: > > > > .if ${_COMPILER_ARGS:Mc11} > > .if !${COMPILER_FEATURES:Mc11} > > .if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || > > (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on > Tier-2 > > USE_GCC= yes > > CHOSEN_COMPILER_TYPE= gcc > > .elif ${COMPILER_TYPE} == gcc > > > > That is, if a user has set a preference for GCC or for non x86/x86-64 > > platforms, GCC is used. > > > > And if there is one legitimate configuration on the planet where a > > PORTREVISION bump is required, we have to perform it in our repository. > > > > (This is not saying I may not have made a mistake somewhere, but in > > general those bumps do appear necessary.) > > > > Gerald > > It might be useful to add a command to pkg that bumps PORTREVISION > for installed packages without really building them again, for those cases > when users know that they are not affected by the bump. > I think at the moment this is possible only by manually modifying > /var/db/pkg/local.sqlite (I never tried). > > Lorenzo Salvadore. > ___ > freebsd-ports@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org" > ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: Massive PORTS_REVISION bump after making gcc-9.1 default
‐‐‐ Original Message ‐‐‐ On Sunday 28 July 2019 20:56, Gerald Pfeifer wrote: > On Sun, 28 Jul 2019, Kevin Oberman wrote: > > > The description of the commit states: > > This includes ports > > > > - with USE_GCC=yes or USE_GCC=any, > > - with USES=fortran, > > - using Mk/bsd.octave.mk which in turn features USES=fortran, and > > - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang, > > c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib > > plus, everything INDEX-11 shows with a dependency on lang/gcc9 now. > > > > > > This would appear to me like it did catch a great many ports which are > > not build with or any anything to do will gcc, though I am not sure. > > These ports may not use GCC on your system, or even the majority of > systems, but there are systems and situations where they do, and bumping > PORTREVISION is a global binary decision for each port considered. > > > E.g. I thought that USES=compiler:c11 and similar were asking for > > c11 semantics from whatever compiler was used but > > Let's look at your example. ports/Mk/Uses/compiler.mk has the following > on USES=compiler:c11: > > .if ${_COMPILER_ARGS:Mc11} > .if !${COMPILER_FEATURES:Mc11} > .if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || > (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2 > USE_GCC= yes > CHOSEN_COMPILER_TYPE= gcc > .elif ${COMPILER_TYPE} == gcc > > That is, if a user has set a preference for GCC or for non x86/x86-64 > platforms, GCC is used. > > And if there is one legitimate configuration on the planet where a > PORTREVISION bump is required, we have to perform it in our repository. > > (This is not saying I may not have made a mistake somewhere, but in > general those bumps do appear necessary.) > > Gerald It might be useful to add a command to pkg that bumps PORTREVISION for installed packages without really building them again, for those cases when users know that they are not affected by the bump. I think at the moment this is possible only by manually modifying /var/db/pkg/local.sqlite (I never tried). Lorenzo Salvadore. ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: Massive PORTS_REVISION bump after making gcc-9.1 default
On Sun, 28 Jul 2019, Kevin Oberman wrote: > The description of the commit states: > > This includes ports > - with USE_GCC=yes or USE_GCC=any, > - with USES=fortran, > - using Mk/bsd.octave.mk which in turn features USES=fortran, and > - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang, >c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib > plus, everything INDEX-11 shows with a dependency on lang/gcc9 now. > > This would appear to me like it did catch a great many ports which are > not build with or any anything to do will gcc, though I am not sure. These ports may not use GCC on your system, or even the majority of systems, but there are systems and situations where they do, and bumping PORTREVISION is a global binary decision for each port considered. > E.g. I thought that USES=compiler:c11 and similar were asking for > c11 semantics from whatever compiler was used but Let's look at your example. ports/Mk/Uses/compiler.mk has the following on USES=compiler:c11: .if ${_COMPILER_ARGS:Mc11} .if !${COMPILER_FEATURES:Mc11} .if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2 USE_GCC=yes CHOSEN_COMPILER_TYPE= gcc .elif ${COMPILER_TYPE} == gcc That is, if a user has set a preference for GCC or for non x86/x86-64 platforms, GCC is used. And if there is one legitimate configuration on the planet where a PORTREVISION bump is required, we have to perform it in our repository. (This is not saying I may not have made a mistake somewhere, but in general those bumps do appear necessary.) Gerald ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: Massive PORTS_REVISION bump after making gcc-9.1 default
Stefan Esser writes: > Am 28.07.19 um 01:26 schrieb Kevin Oberman: > > Today I was hit with 226 ports needing update. With one > > exception, all were the result of the bump or the default gcc > > version to 9.1. The problem is that 9.1 was not installed first, > > so over 43 of these ports were rebuilt with the exact same > > compiler it was built with before the rebuild, eating up 2:45 of > > time on my build system. I'm sure if was less for many as my > > build system is over 8 years old. It was non-trivial in any case. > > Which port management tool did you use to rebuild the updated ports? > > I just checked what portmaster does, and it appears to build gcc-9.1 > before starting to update ports that depend on it. This matches my experience - ports tree updated starting 00:00:01 Saturday, build started eight hours later. Respectfully, Robert Huff ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: Massive PORTS_REVISION bump after making gcc-9.1 default
On Sun, Jul 28, 2019 at 7:06 AM Stefan Esser wrote: > Am 28.07.19 um 01:26 schrieb Kevin Oberman: > > Today I was hit with 226 ports needing update. With one exception, all > were > > the result of the bump or the default gcc version to 9.1. The problem is > > that 9.1 was not installed first, so over 43 of these ports were rebuilt > > with the exact same compiler it was built with before the rebuild, eating > > up 2:45 of time on my build system. I'm sure if was less for many as my > > build system is over 8 years old. It was non-trivial in any case. > > Which port management tool did you use to rebuild the updated ports? > > I just checked what portmaster does, and it appears to build gcc-9.1 > before starting to update ports that depend on it. > > It was the 78th port out of 653 out-dated ports (most of them due to > a bumped port revision because of the gcc update), and I checked with > "make all-depends-list" that none of the first 77 ports depended on > gcc ... > > > Should an install of gcc9 preceded all updates? Perhaps a note in > UPDATING? > > I certainly looked there before I started when I saw 226 ports in the > list. > > Updating required build tools before ports that require them should > be automatic, if a tool like portmaster, portupgrade or poudriere is > used. > > Regards, STefan > I used "portmaster -a". The problem is that all ports compiled with gcc had PORTREVISION bumped. Most do not have a run-time dependency on gcc. I am pretty sure that gcc9 was updated prior to the build of any port that did have a run dependency, but that is a tiny minority of the ports that had PORTREVISION bumped. It deems likely that the code generated by gcc9 will be different from that generated by gcc8 and I admit that I lack the expertise to know whether this really justifies a port rebuild. The description of the commit states: This includes ports - with USE_GCC=yes or USE_GCC=any, - with USES=fortran, - using Mk/bsd.octave.mk which in turn features USES=fortran, and - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang, c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib plus, everything INDEX-11 shows with a dependency on lang/gcc9 now. This would appear to me like it did catch a great many ports which are not build with or any anything to do will gcc, though I am not sure. E.g. I thought that USES=compiler:c11 and similar were asking for c11 semantics from whatever compiler was used but, again, I am not familiar enough with compilers to be clear on this. My days of serious coding ended back to the 80s and were generally focused on assembly language and several languages which have not been used this century. So, do I really need to re-install audio/faac which has "USES=compiler:c11 "? I seriously doubt it, but I'm just not sure, which is why I asked. -- Kevin Oberman, Part time kid herder and retired Network Engineer E-mail: rkober...@gmail.com PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683 ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: Massive PORTS_REVISION bump after making gcc-9.1 default
Am 28.07.19 um 01:26 schrieb Kevin Oberman: > Today I was hit with 226 ports needing update. With one exception, all were > the result of the bump or the default gcc version to 9.1. The problem is > that 9.1 was not installed first, so over 43 of these ports were rebuilt > with the exact same compiler it was built with before the rebuild, eating > up 2:45 of time on my build system. I'm sure if was less for many as my > build system is over 8 years old. It was non-trivial in any case. Which port management tool did you use to rebuild the updated ports? I just checked what portmaster does, and it appears to build gcc-9.1 before starting to update ports that depend on it. It was the 78th port out of 653 out-dated ports (most of them due to a bumped port revision because of the gcc update), and I checked with "make all-depends-list" that none of the first 77 ports depended on gcc ... > Should an install of gcc9 preceded all updates? Perhaps a note in UPDATING? > I certainly looked there before I started when I saw 226 ports in the list. Updating required build tools before ports that require them should be automatic, if a tool like portmaster, portupgrade or poudriere is used. Regards, STefan ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: Massive PORTS_REVISION bump after making gcc-9.1 default
On Sat, 27 Jul 2019, Kevin Oberman wrote: > Today I was hit with 226 ports needing update. With one exception, all > were the result of the bump or the default gcc version to 9.1. The > problem is that 9.1 was not installed first, so over 43 of these ports > were rebuilt with the exact same compiler it was built with before the > rebuild This feels a bit like a deja vu? Wasn't there a similar issue last year, with the update from GCC 7 to GCC 8 (or an earlier one)? And wasn't one finding back then that there was a bug in the tool you used to update/build your ports tree? I just double checked, and r507371 | gerald | 2019-07-26 20:35:21 + (Fr., 26 Juli 2019) | 7 lines Update the default version of GCC as pulled in via USE_GCC=yes and a myriad of other ways from GCC 8 (8.3 right now) to GCC 9 (9.1 right now). landed in the tree directly before the PORT_REVISION bump you are referring to, so lang/gcc9 *should* have been installed first and then used to rebuild all those bumped ports. > Should an install of gcc9 preceded all updates? Yes. > Perhaps a note in UPDATING? I certainly looked there before I started > when I saw 226 ports in the list. UPDATING is described as This file documents some of the problems you may encounter when upgrading your ports. We try our best to minimize these disruptions, but sometimes they are unavoidable. and the update of the default version of GCC in the ports tree should not be, nor cause, problems worth documenting there. For example, most of the updates to Firefox are not mentioned there, either. > Should I rebuild the ports that were rebuilt prior to the installation > of gcc-9.1? If you want to have a consistent system, and be in line with what the majority of users will have, then yes, I'd recommend that. Gerald ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"