[arch-dev-public] Transitioning between incompatible language versions

Stéphane Gaudreault stephane at archlinux.org
Wed Sep 19 21:29:06 EDT 2012


Le 2012-09-18 22:10, Allan McRae a écrit :
> Hi,
>
> The recent lua-5.2 thread and also python-3 have highlighted the need
> for us to really have a policy for how we deal with providing two
> different versions of a language interpreter in the repos.  This is
> particularly important when there is a period of time where we want to
> supply the newer version of the language, but much software has not
> transitioned to it yet so we must provide an old version too.  Note I
> while i am specifically considering programming languages here, this
> could apply to libraries as well where we are force to provide an old
> version for some time.
>
>
> There are two options that I see (assuming that us being Arch Linux
> always want the newest version in the repos...)
>
>
> 1) The "foo" package is the newest version of the language and the
> legacy version gets the version attached to it - i.e. "foo1".
> Libraries for the language "foo" would be called "foo-libname" and
> "foo1-libname"
>
> 2) Both packages have a version attached to their name.  "foo2" and
> "foo1". Libraries for the language would be called "foo2-libname" and
> "foo1-libname"
>
>
> Choosing which version:
>
> #1 is best if we expect all software to be updated to the new version
> and the legacy version to be soon removed  (e.g. for lua?).
>
> #2 is best if we think we will continue to support both versions for an
> extended period of time (e.g. python2/3).
>
>
> Does that sound a reasonable policy?   It would be up to the maintainer
> to decide whether to use naming scheme #1 or #2 based on expectations of
> the language's future.
>
> Comments?  I'd like to get this sorted quickly so we can get the python
> and lua rebuilds done.
>
> Allan
That sound a reasonable policy.

When the legacy version is going to be phased soon (like lua 5.1) I 
would just recommand to identify the packages that are no longer 
maintained upstream. These packages should be dropped or rebuilded 
without language support. This will avoid legacy version of the language 
to stay in the repository forever.

There is no rush to drop anything when the old version of the language 
is still actively supported (like python2).

Stéphane


More information about the arch-dev-public mailing list