Opened 19 years ago

Closed 19 years ago

Last modified 18 years ago

#4866 closed defect (fixed)

Port registry doesn't store epoch of port; outdated fails.

Reported by: jberry@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.0
Keywords: Cc:
Port:

Description

Since we don't successfully store the epoch of a port, port installed ignores epoch while reporting which ports are out of date. Thus epoch looses some meaning.

Port upgrade may suffer similar issues.

We probably should:

  • Revise the registry to actually store/retreive the epoch.
  • Be sure to compare the epoch while comparing port versions in upgrade and outdated (it might be

nice to use a central port version comparison for this purpose).

  • It would be nice to jump to sqlite at the same time, though that may be too ambitious--it would

certainly speed up the registry.

Issues:

  • I'm not sure what it would take/imply to add a new field to the current flat registry. I guess additional

fields could default to empty if they don't exist.

Change History (3)

comment:1 Changed 19 years ago by olegb@…

(In reply to comment #0)

Since we don't successfully store the epoch of a port, port installed ignores epoch while reporting which ports are out of date. Thus epoch looses some meaning.

Port upgrade may suffer similar issues.

Upgrade handles epoch.

comment:2 Changed 19 years ago by jberry@…

Looking into this a bit more, it's not true to say that the registry doesn't store the epoch. It does. So it's a matter of retrieving it for use by the outdated and upgrade code.

comment:3 Changed 19 years ago by jberry@…

Resolution: fixed
Status: newclosed

I checked in a fix for this that returns epoch back from the registry for use by the code that checks for outdated. outdated now checks the epoch before looking at the version string.

I also verified that upgrade does properly check the epoch.

Note: See TracTickets for help on using tickets.