On 9 September 2017 at 01:31, Andreas Beckmann wrote: | On 2017-09-08 22:49, Dirk Eddelbuettel wrote: | > I still maintain that this is a useless "academic" consideration. If users | > want to corrupt their systems by only upgrading one package I will not stop | > them. They can simply fix them by also upgrading the package left behind. | | If the package dependencies are not strict enough and allow known broken | package combinations to be installed (without any --force switch), it's | our fault, not the user. | | > I aim for 'apt-get dist-upgrade' doing the right thing for them. It will | > automate this. | | Users running testing or sid are much more likely to perform partial | upgrades. | Or imagine someone backporting r-base 3.4.1 to stretch ... Breaks will | really help here. | | But let's get back on the topic. | | I think a similar example to what you want to achive is #874413 + | #873791. This is a ABI break in python (some internal module was | removed), which requires a bunch of binNMUs. In addition to this, there | were Breaks added in some core python packages (e.g. libpython2.7- | stdlib) against all the packages that used the removed ABI. | | Since you already compiled a minimal list of affected packages (that | need to be binNMUed), you just need to add appropriately versioned | Breaks against all of them in r-base-core (or whichever package better | fits this). | | These Breaks can be removed on the next r ABI bump. | | For the 42 packages listed in message #15 (even if you said there were | 46) this would be ... hmm, wait, only 4 of the versions listed there | are actually in sid, so the NMU list does not look too useful: | | $ rmadison -s unstable,stable r-cran-hdf5 r-cran-spam r-cran-spatstat r-cran-surveillance | r-cran-hdf5 | 1.6.10-4 | stable | source | r-cran-hdf5 | 1.6.10-4 | unstable | source | r-cran-hdf5 | 1.6.10-4+b1 | stable | amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x | r-cran-hdf5 | 1.6.10-4+b1 | unstable | amd64, arm64, armel, armhf, hurd-i386, i386, kfreebsd-amd64, kfreebsd-i386, mips, mips64el, mipsel, powerpc, ppc64el, s390x | r-cran-spam | 1.4-0-1 | stable | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x | r-cran-spam | 1.4-0-1 | unstable | source, amd64, arm64, armel, armhf, hurd-i386, i386, kfreebsd-amd64, kfreebsd-i386, mips, mips64el, mipsel, powerpc, ppc64el, s390x | r-cran-spatstat | 1.48-0-1 | stable | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x | r-cran-spatstat | 1.48-0-1 | unstable | source, amd64, arm64, armel, armhf, hurd-i386, i386, kfreebsd-amd64, kfreebsd-i386, mips, mips64el, mipsel, powerpc, ppc64el, s390x | r-cran-surveillance | 1.13.0-1 | stable | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x | r-cran-surveillance | 1.13.0-1 | unstable | source, amd64, arm64, armel, armhf, hurd-i386, i386, kfreebsd-amd64, kfreebsd-i386, mips, mips64el, mipsel, powerpc, ppc64el, s390x | | | Anyway, these are the Breaks for the list from comment #15: | | $ sort r-nmu-list | tr _ \ | awk 'BEGIN {print "Breaks:"} {print " " $2 " (<= " $3 "), "}' | | Breaks: | r-cran-ade4 (<= 1.7-5-1), | r-cran-bayesm (<= 3.0-2-2), | r-cran-blockmodeling (<= 0.1.8-1), | r-cran-brglm (<= 0.5-9-1), | r-cran-caret (<= 6.0-73+dfsg1-1), | r-cran-coin (<= 1.1-3-1), | r-cran-contfrac (<= 1.1-10-1), | r-cran-data.table (<= 1.10.0-1), | r-cran-deldir (<= 0.1-12-1), | r-cran-desolve (<= 1.14-1), | r-cran-eco (<= 3.1-7-1), | r-cran-expm (<= 0.999-0-1), | r-cran-fields (<= 8.10-1), | r-cran-gam (<= 1.14-1), | r-cran-glmnet (<= 2.0-5-1), | r-cran-goftest (<= 1.0-3-1), | r-cran-hdf5 (<= 1.6.10-4+b1), | r-cran-igraph (<= 1.0.1-1), | r-cran-mapproj (<= 1.2-4-1), | r-cran-maps (<= 3.1.1-1), | r-cran-maptools (<= 1:0.8-41+dfsg-1), | r-cran-mcmc (<= 0.9-4-2), | r-cran-mcmcpack (<= 1.3-8-1), | r-cran-medadherence (<= 1.03-2), | r-cran-mixtools (<= 1.0.4-1), | r-cran-mnp (<= 2.6-4-1), | r-cran-ncdf4 (<= 1.15-1+b2), | r-cran-phangorn (<= 2.1.1-1), | r-cran-phylobase (<= 0.8.2-1), | r-cran-qtl (<= 1.40-8-1), | r-cran-randomfields (<= 3.1.36-1), | r-cran-randomfieldsutils (<= 0.3.15-1), | r-cran-rcurl (<= 1.95-4.8-2), | r-cran-rniftilib (<= 0.0-35.r79-2), | r-cran-sp (<= 1:1.2-4-1), | r-cran-spam (<= 1.4-0-1), | r-cran-spatstat (<= 1.48-0-1), | r-cran-spdep (<= 0.6-9-1), | r-cran-surveillance (<= 1.13.0-1), | r-cran-treescape (<= 1.10.18-6), | r-cran-vegan (<= 2.4-2-1), | r-cran-vgam (<= 1.0-3-1),
That is madness, and AFAIUI also wrong (as you miss the package which might have been in the list, but aren't as they may have gotten upgraded by now). I do not plan to add this to r-base-core. We already waited five month since April, what are another seven til the next release of R. Dirk | Also note that the nmu commands for the packages that already were | binNMUed are wrong: you need the source version there, so no +bX suffix. | | | Andreas -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org