Re: Latest packages being built with stale dependencies?

2019-07-28 Thread Kevin Oberman
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

2019-07-28 Thread Kevin Oberman
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

2019-07-28 Thread Lorenzo Salvadore via freebsd-ports

‐‐‐ 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

2019-07-28 Thread Gerald Pfeifer
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

2019-07-28 Thread Robert Huff


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

2019-07-28 Thread Kevin Oberman
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

2019-07-28 Thread Stefan Esser
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

2019-07-28 Thread Gerald Pfeifer
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"