port upgrade outdated
Ryan Schmidt
ryandesign at macports.org
Sat May 9 15:58:04 PDT 2009
On May 2, 2009, at 11:51, Thomas De Contes wrote:
> Le 26 avr. 09 à 17:59, Rainer Müller a écrit :
>
>> Thomas De Contes wrote:
>>
>>> ---> Activating xorg-renderproto @0.9.3_0
>>> Error: Target org.macports.activate returned: Image error: /Users/
>>> thomas/Documents/prgm/bin/autoinstall/macports/include/X11/
>>> extensions/
>>> render.h is being used by the active render port. Please deactivate
>>> this port first, or use 'port -f activate xorg-renderproto' to force
>>> the activation.
>>> Error: The following dependencies failed to build: xorg-renderproto
>>> Error: Unable to upgrade port: 1
>>
>> render has been replaced by xorg-rendrproto. render has been a dummy
>> port for a long time and was removed afterwards. Probably you did not
>> upgrade in a long time and thus running into this problem.
>
> it is probable
>
> well, if i did upgrade when render was a dummy port, there was a
> mechanism to swith from render to xorg-rendrproto quietly ? :-)
While the render port was a dummy port, it installed no files.
Therefore, it could not conflict with the files in the xorg-
renderproto replacement port. And its revision had been incremented.
And render was declared as a dependency of xorg-renderproto. Thus,
for any port that depended on the new xorg-renderproto, you would
first be made to upgrade render to the version that installed no
files, and then xorg-renderproto would install those files.
> since i have often problems when i try to upgrade, i do it only
> when i need it ... maybe i'm wrong ;-)
I would like for any user, regardless of how old their MacPorts
installation is, to be able to use "sudo port selfupdate" and "sudo
port upgrade outdated" and have it work. Unfortunately, over time,
things do break. In this case, dummy ports get removed. So sometimes
you will run into issues.
Upgrading more often is of course not guaranteed to cause fewer
issues. If you had upgraded more recently, while the render dummy
port still existed, you would not have run into this specific issue,
but you might have encountered any number of other issues.
>> sudo port -f uninstall render
>> sudo port -v install xorg-renderproto
>
> thank you :-)
>
> i don't like -f very much,
Its use should be avoided and reserved for special cases. This is one
such special case.
> is there an option to recursively uninstall the ports that depend
> on it,
> in the same way that "port install" recursively installs the ports
> witch it depends on ?
> (is it english ?)
There is the port_cutleaves script (for which there is a port of the
same name) to help you identify ports that are installed but no
longer needed. However, anything that used to depend on render will
now depend on xorg-renderproto.
>>> ---> Fetching scrollkeeper
>>> Error: Target org.macports.fetch returned:
>>>
>>> scrollkeeper is superseded by port rarian; use that port instead
>>>
>>> Error: Unable to upgrade port: 1
>>>
>>>
>>> for this one, it would be nice if MacPorts was able to uninstall it
>>> properly itself
>>
>> No, we are currently not able to decide if it is safe to uninstall
>> this
>> port. Be assured if there would have been a better way to replace a
>> port, it would have been used :-)
>
> ok
> can't you use the same mechanism to swith from scrollkeeper to
> rarian, that you used for render -> xorg-rendrproto ?
It looks like scrollkeeper was changed to a no-op port which now
simply outputs the message "scrollkeeper is superseded by port
rarian; use that port instead".
I would have liked for the render port to have been kept around for
much longer, at least 6 months, to facilitate upgrades for infrequent
upgraders, but the port was removed a lot sooner, and I didn't bother
to go back and reinstate it.
Rather than trying to find solutions for individual ports like this,
we should come up with a global solution for renaming / superseding /
deprecating ports and implement it in base.
More information about the macports-users
mailing list