Is it possible to roll-back all of MacPorts to earlier version?

Fielding, Eric J (329A) eric.j.fielding at jpl.nasa.gov
Tue Jan 10 22:00:49 UTC 2017


Ryan,

Thanks for the suggested plan. I can see that the tricky part is convincing MacPorts to install just the older port versions. Maybe the more fool-proof way would be to make the active ports list and then do a full new install from the git clone of the older commit version after moving /opt/local somewhere else. I am not feeling very adventurous as I need to get some maps made, umm, yesterday.

I installed the pre-built QGIS (and its required GDAL, NumPy, and matplotlib) from kyngchaos.com, which uses the system Python, as a temporary method of getting a working QGIS. I deactivated my MacPorts QGIS first, which I hope avoids conflicts. 

Thanks,
	++Eric
On 1/10/17, 1:24 PM, "Ryan Schmidt" <ryandesign at macports.org> wrote:

    
    > On Jan 10, 2017, at 12:06, Fielding, Eric J (329A) <eric.j.fielding at jpl.nasa.gov> wrote:
    > 
    > I use the QGIS installed with MacPorts and it has been working great for years. When I did the regular “port selfupdate” and “upgrade outdated” recently, I was not able to get the latest version of QGIS to build, which already had a ticket open. I also find that I cannot run the previous version because it crashes, presumably because one of the dynamically linked libraries changed. I opened a new ticket about this.
    >  
    > I was wondering if there is a way to roll back all of the MacPorts ports to the versions as of a month ago, when QGIS was working for me.
    
    There is no particular support for that built into MacPorts.
    
    You could certainly backdate an entire git clone of the macports-ports repository to an older point in time, but it might not be straightforward to then get MacPorts to determine which of your installed ports are now "too new" and should be backdated to older versions.
    
    It might work to record a list of installed active ports in a text file -- including the variants you've selected, but excluding the version numbers:
    
    port -qv installed active | sed -E -e 's/@[^_]+_[0-9]+//' -e 's/ \(active\).*$//' > ~/Desktop/active_ports.txt
    
    Then clone the macports-ports repository and backdate it to whatever old commit you want. And configure sources.conf to use that git clone instead of the rsync server.
    
    Then deactivate all active ports:
    
    sudo port -f deactivate active
    
    Then tell MacPorts to install all the ports you recorded in the text file:
    
    xargs sudo port install < ~/Desktop/active_ports.txt
    
    For any ports whose versions have not changed, this should result in the already-installed ports just being reactivated, and for any ports that were at different versions then, they'll be installed with that version.
    
    
    I have not really tested this, so having a good backup of your computer before attempting this would be a good idea.
    
    
    > I found the “HOW TO” about installing an older version of a single port, which uses the old “svn” system. I tried to use that, but the last version in the svn repository no longer compiles with the present versions of the other libraries. It seems like I would need to get the older versions of all the libraries, and QGIS has quite a long list.
    >  
    > I had an older version of QGIS running on one of my computers until yesterday, but I had to reboot the computer and now I can’t restart it.
    >  
    > Thanks for any suggestions.
    >           ++Eric
    
    



More information about the macports-users mailing list