after `sync -d`, installed versions are too new

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

after `sync -d`, installed versions are too new

Werner LEMBERG

Folks,


I'm running MacPorts directly from the git repository, using macOS
10.7.5.  Today, I've done my usual incantation

  git fetch upstream && git merge upstream/master && git push
  port -d sync

Calling

  port outdated

gives the expected output:

  The following installed ports are outdated:
  bison                          3.7.4_0 < 3.7.5_0        
  bison-runtime                  3.7.4_0 < 3.7.5_0        
  cctools                        927.0.2_7 < 949.0.1_0    
  cmake                          3.19.3_0 < 3.19.4_0      
  gcc8                           8.4.0_2 < 8.4.0_3        
  gcc9                           9.3.0_4 < 9.3.0_5        
  gd2                            2.3.0_0 < 2.3.1_0        
  ghostscript                    9.53.3_0 < 9.53.3_1      
  graphviz                       2.40.1_3 < 2.40.1_4      
  libgcrypt                      1.9.0_1 < 1.9.1_0        
  libmacho-headers               927.0.2_0 < 949.0.1_0    
  lilypond-devel                 2.21.82_0 < 2.23.0_0      
  mc                             4.8.25_1 < 4.8.26_0      
  meson                          0.55.3_1 < 0.56.2_0      
  ncurses                        6.2_0 < 6.2_1            
  p5.28-io-socket-ssl            2.68.0_0 < 2.69.0_0      
  p5.28-role-tiny                2.2.3_0 < 2.2.4_0        
  poppler                        20.12.1_0 < 20.12.1_1

However, calling

  sudo port -pb install outdated

yields errors that I haven't seen before:

  Error: bison version 3.7.4_0 is not available (current version is 3.7.5_0)
  Error: bison-runtime version 3.7.4_0 is not available (current version is 3.7.5_0)
  Error: cctools version 927.0.2_7 is not available (current version is 949.0.1_0)
  Error: cmake version 3.19.3_0 is not available (current version is 3.19.4_0)
  Error: gcc8 version 8.4.0_2 is not available (current version is 8.4.0_3)
  Error: gcc9 version 9.3.0_4 is not available (current version is 9.3.0_5)
  Error: gd2 version 2.3.0_0 is not available (current version is 2.3.1_0)
  Error: ghostscript version 9.53.3_0 is not available (current version is 9.53.3_1)
  Error: graphviz version 2.40.1_3 is not available (current version is 2.40.1_4)
  Error: libgcrypt version 1.9.0_1 is not available (current version is 1.9.1_0)
  Error: libmacho-headers version 927.0.2_0 is not available (current version is 949.0.1_0)
  Error: lilypond-devel version 2.21.82_0 is not available (current version is 2.23.0_0)
  Error: mc version 4.8.25_1 is not available (current version is 4.8.26_0)
  Error: meson version 0.55.3_1 is not available (current version is 0.56.2_0)
  Error: ncurses version 6.2_0 is not available (current version is 6.2_1)
  Error: p5.28-io-socket-ssl version 2.68.0_0 is not available (current version is 2.69.0_0)
  Error: p5.28-role-tiny version 2.2.3_0 is not available (current version is 2.2.4_0)
  Error: poppler version 20.12.1_0 is not available (current version is 20.12.1_1)

Just to be sure, I've deleted the `PortIndex` files, then regenerated
with them with `port -d sync`, but the errors persist.  I've also
updated MacPorts itself to the latest git version, with no difference.

What's the right solution to this?

A few days ago, everything was OK...


    Werner


PS: The mailing list archive at

      https://lists.macports.org/pipermail/macports-users/

    is rather useless; it neither provides a search function, nor does
    it display the dates for messages within the monthly views.  What
    I expect is something like this:

      https://lists.gnu.org/archive/html/lilypond-devel/

    It would be great if those features could be activated.
Reply | Threaded
Open this post in threaded view
|

Re: after `sync -d`, installed versions are too new

Clemens Lang-2
Hello Werner,

----- On Feb 2, 2021, at 7:59 AM, Werner LEMBERG [hidden email] wrote:

> sudo port -pb install outdated

-p is discouraged and harmful.

When updating libraries that change their SONAMEs, we increase the
revision of dependents to force a rebuild against the new library version.
When you specify -p and the upgrade of the library fails, the dependent
ports will get pointlessly rebuilt against the old library, and when
you eventually update the library, your dependents will be broken.

Our recommendation is not do specify -p.



> yields errors that I haven't seen before:

> Error: bison version 3.7.4_0 is not available (current version is 3.7.5_0)

We used to get numerous reports from users that expected

  sudo port install bison @3.7.4_0

to install bison 3.7.4, when in fact "install" ignores the version specifier
(except in cases where you already have a copy of 3.7.4 installed and "install"
really just means "activate"). Since this was a common misconception, jmr
extended install to check the version specification against the current version
in the tree and raise an error on mismatch:

  https://github.com/macports/macports-base/commit/ca071954d482c752b7ebddb802ef6cf421fa5512

You're hitting this error because "outdated" is a pseudo-portname that expands
to a list of tuples (portname, portversion), so "install outdated" really means
"install bison @3.7.4_0 bison-runtime @3.7.4_0 ..."


The solution to the problem is not using "install", but using "upgrade", which
does not have the version check:

  sudo port upgrade outdated



> PS: The mailing list archive at

> https://lists.macports.org/pipermail/macports-users/

> is rather useless; it neither provides a search function, nor does

We recommend using your search engine of choice to search the archives, e.g.
using a site:lists.macports.org specifier.



> it display the dates for messages within the monthly views. What
> I expect is something like this:

> https://lists.gnu.org/archive/html/lilypond-devel/

> It would be great if those features could be activated.

If that's a standard feature of mailman and you can point me to the necessary
setting I can look into enabling this.


--
Clemens Lang
Reply | Threaded
Open this post in threaded view
|

Re: after `sync -d`, installed versions are too new

Werner LEMBERG

>> sudo port -pb install outdated
>
> -p is discouraged and harmful.

OK.

> We used to get numerous reports from users that expected
>
>   sudo port install bison @3.7.4_0
>
> to install bison 3.7.4, when in fact "install" ignores the version
> specifier (except in cases where you already have a copy of 3.7.4
> installed and "install" really just means "activate"). Since this
> was a common misconception, jmr extended install to check the
> version specification against the current version in the tree and
> raise an error on mismatch: [...]

Ah, ok.

> The solution to the problem is not using "install", but using
> "upgrade", which does not have the version check:
>
>   sudo port upgrade outdated

This worked, thanks a lot!  No idea why I suddenly used 'install',
since previously I always used 'upgrade'...

>> PS: The mailing list archive at
>
>> https://lists.macports.org/pipermail/macports-users/
>
>> is rather useless; it neither provides a search function, nor does
>
> We recommend using your search engine of choice to search the archives, e.g.
> using a site:lists.macports.org specifier.

OK, thanks.  Savannah uses Namazu for indexing; this is what I've
found on that topic.

  https://wiki.list.org/DOC/4.08%20How%20can%20I%20add%20Namazu%20as%20a%20search%20engine%20for%20my%20Mailman%20list%20archives%3F

>> it display the dates for messages within the monthly views. What
>> I expect is something like this:
>
>> https://lists.gnu.org/archive/html/lilypond-devel/
>
>> It would be great if those features could be activated.
>
> If that's a standard feature of mailman and you can point me to the
> necessary setting I can look into enabling this.

Uh, oh, I can't help here, sorry.  I have no idea how to handle
mailman at all.


    Werner