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" <[email protected]> wrote:

    
    > On Jan 10, 2017, at 12:06, Fielding, Eric J (329A) 
<[email protected]> 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
    
    

Reply via email to