*-devel ports
Ryan Schmidt
ryandesign at macports.org
Mon Feb 4 09:27:24 PST 2008
On Feb 4, 2008, at 08:56, Vincent Lefevre wrote:
> On 2008-02-04 07:52:44 -0600, Ryan Schmidt wrote:
>
>> On Feb 4, 2008, at 06:51, js wrote:
>>
>>> What's happen after -devel port get officially released?
>>> are they removed from svn?
>>
>> Some maintainers do that. I think most just leave the -devel ports
>> around.
>
> I think that both choices are a bad idea, i.e. that -devel ports are
> a bad idea.
Ok, but we have them, and this thread wasn't really to debate that,
but to document the current status quo.
> IMHO, there should be stable ports and "latest" ports; by
> "latest", I mean with all the latest features (e.g. with the highest
> version number): in general, this is a development version, but for
> some periods of time, this can be (stable or not) releases, in which
> case the stable port and the "latest" can sometimes be the same. This
> is not a problem, and this avoids the user having to switch between
> the stable and the -devel port; and there's no point to stay with an
> outdated RC once the corresponding release has been done.
I have no objection to the idea that *-devel ports should be updated
to the latest stable version, if no later development version is
available. Should we make this policy? Portmgr? Anyone?
Regarding the suggestion to rename all *-devel ports to *-latest, in
light of the above change, the name "latest" would indeed seem to be
clearer. It would also remove any potential confusion with the RPM -
devel packages, which IMHO would be quite a good thing.
I guess this is as good a time as any to bring up the "tin" ports:
$ port search ^tin$ ^tin-
tin news/tin 1.8.3 A threaded
NNTP and spool based UseNet newsreader
tin-devel news/tin-devel 1.7.10 A threaded
NNTP and spool based UseNet newsreader
tin-recent news/tin-recent 1.9.2 A Usenet
newsreader
$
Now, ignore the version numbers shown for a minute. Based on comments
in the header of "tin-recent" (copied below), it seems to be the
maintainer's intention (hey, that's you, Vincent!) that "tin" is the
latest released version, "tin-devel" is the latest development
version, and "tin-recent" is the more recent of the two. It looks
like someone has updated tin-recent but forgotten to update tin-
devel. So, to match Vincent's new proposals, "tin-devel" gets deleted
and "tin-recent" gets renamed to "tin-latest", yes?
# The Tin development model is based on patchsets, as indicated in
# the doc/CHANGES file. There are:
# * stable patches, numbered ddd (001, 002, and so on), which are
# applied to the current stable branch, and in general, to the
# unstable branch too (i.e. when there is one and when this makes
# sense);
# * unstable patches (new features), numbered Uddd (U001, U002,
# and so on), which are applied to the unstable branch only.
# In general, at some point in the time, there are two currently
# supported branches: a stable branch (e.g. 1.6) and an unstable
# branch (e.g. 1.7). At some later point (i.e. after a feature
# freeze?), the development line (coming from the unstable branch)
# is regarded as stable; this leads to a new stable release (e.g.
# 1.8.0) and a new stable branch (e.g. 1.8). At this point, the
# old stable branch (e.g. 1.6) is abandonned. Then the new stable
# branch (1.8) gets stable patches as usual (fixes, translation
# updates...), leading to new stable releases (e.g. 1.8.1), which
# correspond to the latest unstable release (e.g. 1.7.10) + bug
# fixes. As soon as the first unstable patch (U001) needs to be
# applied, a new unstable branch (e.g. 1.9) is created (split from
# the current stable branch).
# Portfile update policy: Follow the development line as shown on
# <http://www.tin.org/history.html>, preferring unstable versions
# to stable ones when there is a split, i.e. stay on the right.
# The goal of this tin-recent port (as opposed to tin and tin-devel)
# is to have the highest upstream version (regarded as either stable
# or unstable), i.e. with the latest features, using a single port,
# thus benefiting from some port management features, such as those
# provided by "port outdated" and "port upgrade".
# For instance, if ports are updated as soon as tin versions are
# released:
# tin tin-devel tin-recent
# 1.6.2 1.7.9 1.7.9
# 1.6.2 1.7.10 1.7.10
# 1.8.0 1.7.10 1.8.0
# 1.8.1 1.7.10 1.8.1
# 1.8.1 1.9.0 1.9.0
# 1.8.1 1.9.1 1.9.1
# 1.8.2 1.9.1 1.9.1
# 1.8.3 1.9.2 1.9.2
# where:
# 1.7.9 = 1.7.8 + patches U040 to U045.
# 1.7.10 = 1.7.9 + patches U046 to U052.
# 1.8.0 = 1.7.10 + patches U053 to U056.
# 1.8.1 = 1.8.0 + patches 001 to 006.
# 1.9.0 = 1.8.1 + patches 007, 008 and U001.
# 1.9.1 = 1.9.0 + patches 009 and U002.
# 1.8.2 = 1.8.1 + patches 007 to 011.
# 1.8.3 = 1.8.2 + patches 012 to 018.
# 1.9.2 = 1.9.1 + patches 010 to 018 and U003 to U006.
# Said otherwise:
# 1.8.1 = 1.8.0 + patches 001 to 006.
# 1.9.0 = 1.8.0 + patches 001 to 008 and U001.
# 1.9.1 = 1.8.0 + patches 001 to 009 and U001 to U002.
# 1.8.2 = 1.8.0 + patches 001 to 011.
# 1.8.3 = 1.8.0 + patches 001 to 018.
# 1.9.2 = 1.8.0 + patches 001 to 018 and U001 to U006.
More information about the macports-dev
mailing list