>> And their newer versions are not backwards compatible with C 1.0, thus:
>
> what is the nature of this incompatibility?

Two examples that I can think of that affect the kind of software I work with 
are:
1) The internal algorithm of some API functions have changed, even though the 
API interface has not. This might lead to different results for certain 
invocations of these functions.
2) The command line interface for certain programs has changed, which are used 
under the hood by higher level tools.


> rev-upgrade (which runs automatically after upgrade) will catch and rebuild B 
> for the cases of incompatibility
> that I’m aware of.

I do not see how any tool could handle the above two examples I gave in an 
automated manner. If that is the case, I want to know more, because that would 
be really impressive.


>> If you look at the sequence of commands run:
>>    sudo port install A
>>    sudo port install B
>>    sudo port sync
>>    sudo port upgrade A
>> one would not expect this to break some of the software, and yet it does.
>
> an example of actual breakage would be good.


If you are really interested then I can give a real example based on the 
software I am working with. Note that this software is from an external 
repository and requires around 4 GB of disk space. The sequence of commands 
would be:

# Setup the older version of the external repository:
curl ftp://ftp.eso.org/pub/dfs/pipelines/repositories/macports/setup/Portfile 
-o Portfile
sudo port install
sudo sed -i '' 's|/macports/|/macports/archive/2015-07-03/|' 
/opt/local/etc/macports/sources.conf
sudo port sync

# Install the two top level packages:
sudo port install esopipe-vimos-all
sudo port install esopipe-fors-all

# Clean the working directory and process data using plugins pulled in by the 
esopipe-fors-all package.
# The esoreflex command should succeed at this point.
rm -rf ~/reflex_data/
esoreflex -n fors_pmos

# Update only the packages for VIMOS
sudo sed -i '' 's|/macports/archive/2015-07-03/|/macports/|' 
/opt/local/etc/macports/sources.conf
sudo port sync
sudo port upgrade esopipe-vimos-all

# Clean the working directory and run again with the esopipe-fors-all package.
# This time the esoreflex command will fail with a Java exception.
rm -rf ~/reflex_data/
esoreflex -n fors_pmos
_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to