Daniel J. Luke dluke at
Thu Jul 31 12:04:47 PDT 2014

On Jul 31, 2014, at 2:50 PM, Ryan Schmidt <ryandesign at> wrote:
>> On Jul 28, 2014, at 6:35 PM, Daniel J. Luke wrote:
>>>> TODO:
>>>> - some way to mass rev-bump/force rebuild/force reinstall of all p5 ports when the perl5 port changes (ideally something that could be done from within the perl5 portgroup, so it can be done in one place)
>>> That's what I suggested a few posts back. And I was told that this is
>>> a problem because one would have to modify all the thousand ports
>>> anyway, else index wouldn't see any chance.
>> We may have to modify base and/or just portindex to make this possible (that's why I put it under 'TODO' :-) ).
> I don't see what change could be made to base or portgroup that would change the necessity for each individual port getting a revision increase.
> Imagine p5-whatever is installed and uses perl 5.20. Now we want to update to 5.22. p5-whatever's version, revision or epoch will need to increase so that users will see the port in "port outdated". And the revision is the correct value to change for this situation. There's no way for base or portgroup to know what the correct revision is for each individual p5 port; they must each declare it themselves.

with the current code, that's the case.

The portgroup could possibly set revision/epoch to something (datestamp) and we could recommend that individual ports do the same (so they can easily override the portgroup). base/portindex may need to be enhanced to process an epoch/revision that's set in the portgroup, though (I haven't checked this).

Similarly, it would be possible to do something like add a trigger to do a +1 in revision to any ports that use the perl5 portgroup if that were better.

> Or are you suggesting that, in addition to the existing version, revision, epoch and platform, base grows a new variable based on which a port shows up in "port outdated", which would be specific to perl ports? That seems unnecessarily special-cased.


> We already have a general-purpose solution for getting ports rebuilt: increase their revision.

There is a general problem with this solution, though - when there are large numbers of dependencies, revbumping all the individual ports is annoying. 

A generic solution would be for an individual port to be able to indicate that all ports that depend on it need to be rebuilt, but it seems like it would be easier to just allow a portgroup to be modified [maybe I'm wrong, and the more generic solution would be better enough to make it worthwhile?]

> Various scripts have previously been developed to edit portfiles to increase ports' revisions automatically.

link? is there one in the repo? do we trust it enough to (frequently) run it on the crap-ton of p5 ports [of which there may end up being many, many more]?

for perl modules, I would actually be fine with not having packages built - just having a way to invalidate all of the modules/force rebuild whenever perl was upgraded would then make the end-user installs work OK through upgrades.

Daniel J. Luke                                                                   
| *---------------- dluke at ----------------* |                          
| *-------------- -------------* |                          
|   Opinions expressed are mine and do not necessarily   |                          
|          reflect the opinions of my employer.          |                          

More information about the macports-dev mailing list