unison and protocol breakage

Ryan Schmidt ryandesign at macports.org
Mon Feb 18 15:39:57 PST 2008


On Feb 18, 2008, at 07:48, Kevin Ballard wrote:

> On Feb 18, 2008, at 4:34 AM, Ryan Schmidt wrote:
>
>> On Feb 17, 2008, at 07:36, Kevin Ballard wrote:
>>
>>> No, the solution here is to not do anything. Anybody using 2.13  
>>> needs
>>> to upgrade if they want to work with 2.27. We are not in the  
>>> business
>>> of providing old port versions, and we *should not* be.
>>
>> Kevin, I think we are in fact in the business of providing old port
>> versions too. Where the newer version of the software is
>> incompatible in some way with the older version of the software,
>> it's reasonable to have two portfiles, if there is still demand for
>> the older version. We already have this for several software
>> packages. Consider php5 and php4; apache2, apache20 and apache; apr
>> and apr0; mysql5, mysql4 and mysql3; postgresql83, postgresql82,
>> postgresql81, postgresql80 and postgresql7; db46, db45, db44, db43,
>> db42, db41 and db3.
>
> That's a bit different - those are specific versions as required by
> other ports (at least, if they aren't then why the hell do we still
> have Portfiles for them?). Unison is not required by other ports, and
> if it were these other ports wouldn't require a specific version.
> Therefore, we shouldn't be providing old ports because we don't have
> to maintain them for dependencies.

[snip]

I wouldn't say it's only about dependencies. For example:

php4 contains some functionality that was dropped or changed in php5,  
so some sites that work with php4 do not work with php5 without some  
changes. A developer of such a site might reasonably want to install  
php4 using MacPorts to continue developing his site.

apache20 exists for the reason explained at length in the Portfile:  
to support the use of third-party binary modules compiled for Apache  
2.0, which would not work in Apache 2.2 without recompilation.

The several postgresql ports exist, as I understand it, because the  
database format is binary-incompatible between releases, requiring  
the user to perform a manual migration. It was thought that breaking  
a user's database just because they ran "sudo port upgrade outdated"  
was rude.

So, in all these cases, we are concerned with the MacPorts user who  
wants to continue using the old version of the software, because the  
newer version works incompatibly. It doesn't matter if other ports  
depend on these older versions.

> Note: It really is fairly trivial to install unison by hand once you
> have OCaml installed. If you have a debian machine that doesn't
> provide unison 2.27, just install it manually! Seriously! It's easier
> than trying to get Unison 2.13 into MacPorts.

I would still agree it's better to install the latest software on the  
other machine, rather than get the older software into MacPorts.




More information about the macports-dev mailing list