Opened 9 years ago

Closed 9 years ago

#31215 closed defect (fixed)

gnome-keyring is reinstalled every time an (unrelated) port install command is issued

Reported by: michael.culbertson@… Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: ryandesign (Ryan Schmidt)
Port: gnome-keyring

Description

Each time I issue an install or upgrade command, port uninstalls and recompiles gnome-keyring. It appears to be caught in some kind of version conflict. The Portfile is 2.30.3_1; but each time, port installs 2.30.3_0. When I execute a port install/upgrade for any other port, it uninstalls 2.30.3_0, then recompiles and installs it again.

I imagine that the problem isn't with the gnome-keyring Portfile, but rather with some corruption of the ports database, but I don't know enough about it to try and diagnose the problem.

Here is verbose output showing the build:

--->  Computing dependencies for gnome-keyring.
--->  Cleaning gnome-keyring
--->  Removing work directory for gnome-keyring
--->  Unable to uninstall gnome-keyring @2.30.3_0, the following ports depend on it:
--->  	evince @2.30.3_0
--->  	libgnome-keyring @2.30.1_1
--->  	libgnome-keyring @2.30.1_1+universal
--->  	libgnomeui @2.22.1_0
--->  	libgnomeui @2.24.2_0
--->  	libgnomeui @2.24.4_0
--->  	nautilus @2.30.1_0
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating gnome-keyring @2.30.3_0
--->  Unable to deactivate gnome-keyring @2.30.3_0, the following ports depend on it:
--->  	evince @2.30.3_0
--->  	libgnome-keyring @2.30.1_1+universal
--->  	nautilus @2.30.1_0
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Cleaning gnome-keyring
--->  Removing work directory for gnome-keyring
--->  Uninstalling gnome-keyring @2.30.3_0
--->  Cleaning gnome-keyring
--->  Removing work directory for gnome-keyring
--->  Computing dependencies for gnome-keyring.
--->  Fetching archive for gnome-keyring
--->  gnome-keyring-2.30.3_0.darwin_9.i386.tgz doesn't seem to exist in /opt/local/var/macports/software/gnome-keyring
--->  Attempting to fetch gnome-keyring-2.30.3_0.darwin_9.i386.tgz from http://packages.macports.org/gnome-keyring
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
--->  Fetching gnome-keyring
--->  Verifying checksum(s) for gnome-keyring
--->  Checksumming gnome-keyring-2.30.3.tar.bz2
--->  Extracting gnome-keyring
--->  Extracting gnome-keyring-2.30.3.tar.bz2
--->  Applying patches to gnome-keyring
[Output omitted]
--->  Installing gnome-keyring @2.30.3_0
[Output ommited]
--->  Cleaning gnome-keyring
--->  Removing work directory for gnome-keyring
[Continues to build the requested port...]

After the command completes, port reports that 2.30.3_0 is installed and activated:

The following ports are currently installed:
  gnome-keyring @2.22.1_0
  gnome-keyring @2.26.3_0
  gnome-keyring @2.30.3_0 (active)
  gnome-keyring @2.30.3_1

And the contents of /opt/local/var/macports/software/gnome-keyring includes the file gnome-keyring-2.30.3_0.darwin_9.i386.tgz that port keeps trying to find (I assume it must delete it at some point):

gnome-keyring-2.22.1_0.darwin_9.i386.tbz2
gnome-keyring-2.26.3_0.darwin_9.i386.tbz2
gnome-keyring-2.30.3_0.darwin_9.i386.tgz
gnome-keyring-2.30.3_1.darwin_9.i386.tbz2

I've tried explicitly activating version 2.30.3_1, but it keeps trying to return to 2.30.3_0.

I just did a selfupdate today to upgrade to port 2.0.3. I did an upgrade to version 2 from version 1.* a few weeks ago.

Ideas?

Change History (3)

comment:1 Changed 9 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added
Component: baseports
Owner: changed from macports-tickets@… to devans@…
Port: gnome-keyring added
Summary: Port is reinstalled every time an (unrelated) port install command is issuedgnome-keyring is reinstalled every time an (unrelated) port install command is issued

This port's recent history is a bit confused:

  • In r75163 the port was upgraded to 2.30.3_2 to force a rebuild against the latest libpng.
  • In r75627 the port was upgraded to 2.32.1_0.
  • In r77986 the port was downgraded as 2.32.1 was found to be problematic, but the port was downgraded back to 2.30.3_0, which was an error; in addition to increasing the epoch, which was done, the revision needed to have been set greater than it was in r75163, not less than.

So while I don't completely understand why that particular behavior is happening to you, what you're not seeing in your list of installed ports is that you have 2.30.3_1 with epoch 0, and 2.30.3_0 with epoch 1 (which supersedes it; epoch has higher precedence than version or revision). This at least explains why MacPorts would want to have 2.30.3_0 (epoch 1) active rather than 2.30.3_1 (epoch 0). If indeed you see 2.30.3_0 (epoch 1) being rebuilt even if that was already active, then that is odd. It would also be odd if MacPorts would do anything with this port when you try to deal with an unrelated port. Since you didn't mention what the requested port was, I'll have to assume it was in fact related to gnome-keyring somewhere in the dependency chain.

In r83832 I've increased the port to 2.30.3_3 (epoch 1) to hopefully fix this problem. Let me know if that works. That is, after you wait 30 minutes, then sudo port selfupdate, then sudo port upgrade outdated, it should upgrade gnome-keyring to 2.30.3_3 (epoch 1) once, and then not need to do so again.

comment:2 Changed 9 years ago by michael.culbertson@…

This seems to have solved the problem. gnome-keyring may have been in the dependency tree. I was working with gnucash (gnome-keyring was very probably a dependency there), but it also seemed to happen with any other package I touched (can't remember any specifics). The macports dependency graph is incredibly expansive and deep.

In any case, thanks for the fix!

comment:3 Changed 9 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: newclosed

You're welcome

Note: See TracTickets for help on using tickets.