Le 28/05/2013 15:33, Dirk Eddelbuettel a écrit :
> There is no such thing as an "R 2.7" API, and as long as upstream does not
> define one I do not plan to jump into the frey and meddle with it.
> 
> The status quo works well enough, but I will acknowledge the breakage you got
> with that r-cran-mgcv package.  But I think we have bigger fish to fry.

  I really disagree here.

  Upstream is perhaps not interested into defining a proper ABI.
But the fact is that sometimes the R ABI is broken by upstream
and, at this point, all Debian packaging mess up as soon as
either the user do not wait enough for all package to be rebuilt
*or* the user do a partial upgrade from the previous release
(ie mixing old and new r-package on its installation). The
second point (partial upgrade) is something that is supported
by Debian.

  R is not the only one software in this case. The most used that
come into my mind is the Linux kernel itself.
Linux kernel maintainers do a great job to ensure, when upgrading
minor version, that modules are still compatible or not.
Maintainers decide on case-by-case bases to bump or not
the *debian-specific* ABI version (they have tools to help them).
The 'current' ABI for 3.8 kernel is the second from the first
packaging of 3.8.x:
linux-image-3.8-2-amd64
                ^

  Moreover, you have all required tools in Debian to do better
dependencies. It has already been discussed in this bug report.
For future breakage, if you want to support only one R version
(as currently), introducing a [debian-]ABI version as a
virtual package would avoid you the need to change the name of
the core R package.
  For the current 'transition', as old Debian R-packages only have
a relation of the type "r-base-core (>= X)", the only good solution
I see is:
- rename the r-base-core into another name (r-base-core3 for example)
- r-base-core3 must replace *and* conflict with r-base-core
- all rebuilt Debian R-packages must now depends on r-base-core3
  (or better, on r-base-core-debianabi-X that would be a virtual
  package provided by the current r-base-core3)

By doing this, you would ensure that partial upgrade between
wheezy and testing will never break user software (either the
upgrade will be refused by apt or all installed r-packages will
be also updated to a compatible version)
  Of course, all of this will really works once all packages
in testing/unstable depending on "r-base-core (>=3.xxx)" will
have disappear (ie once all of them will have been rebuilt
with the new dependency).
  At this time, partial upgrades between wheezy and testing
will work correctly.

  Regards,
    Vincent

Note: is you really do not want to rename you r-base-core package,
you can keep it but you then will need to add a versionned Breaks:
dependency for all previous (before R 3.x) Debian R-packages.
  As I know that there exists lots of Debian R packages outside
of the main archive, it seems to me that this is a worst solution
as a rename of r-base-core.

> Dirk
> 


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to