Local portfile masks portfile in main repository

Joshua Root jmr at macports.org
Fri Apr 15 07:15:49 PDT 2011


On 2011-4-15 21:40 , Ryan Schmidt wrote:
> On Apr 15, 2011, at 06:13, Joshua Root wrote:
>> On 2011-4-15 20:37 , Ryan Schmidt wrote:
>>> By design, if you have a local portfile for a port, then that will be used, instead of any identically-named port in the main port repository. Some users may have forgotten that they have a local portfile, which can result in a problem, as in this situation where the user's local port was older than the official version:
>>>
>>> https://trac.macports.org/ticket/29132#comment:2
>>>
>>> This user suggests we should print a message in this case. Can anyone think of a way to do that, and any ideas about what the message should say?
>>
>> That guy wasn't using a separate local repo, he'd apparently edited the
>> copy in the main tree. Seems like that would be something you'd remember
>> doing, at least long enough to have synced again.
> 
> Based on what's in the ticket, I don't believe the user manually edited any portfile. I believe the user downloaded a tarball of portfiles, configured MacPorts to use it, then later went back to using rsync, without realizing that the rsync ports would be masked by the local directory that came from the tarball, and MacPorts did not print any message that would help the user to realize this; adding such a message is what I'm trying to discuss here.

I don't see how you figure that. The output in the ticket shows a daily
tarball source being used, and even if he added rsync to the bottom of
sources.conf, running sync or selfupdate would still update all the
configured sources. Furthermore, the Portfile is read from the same
source in which the port's name was first found in the PortIndex. A
difference between the version number in the Portfile and that in the
index can't be due to a different source being used.

- Josh


More information about the macports-dev mailing list