[Debian-med-packaging] Bug#820879: How to avoid version restrictions for JS libraries (Was: Bug#820879: r-cran-shiny: uninstallable in sid: Depends: libjs-jquery (< 1.11.3+dfsg.0~) but 1.12.3-1 is to be installed)

Raphael Hertzog hertzog at debian.org
Thu Apr 14 10:00:26 UTC 2016


On Thu, 14 Apr 2016, Andreas Tille wrote:
> You might like to checkout r-cran-shiny[1] or look directly at the
> linktrees file[2].
> 
> > But replace can definitely operate on
> > directories even though it will only act on all files below that
> > directory. You must have done some mistake in the way you use it...
> 
> I can't exclude that it is just my fault. ;-)

So I did have a look and the problem is that your package doesn't contain any
usr/lib/R/site-library/shiny/www/shared/jqueryui/images to replace
with some real files.

I added this to check it:
 install/$(package)::
+       find $(debRlib)
        dh_linktree

And the output for contains this for the jqueryui directory:
/home/rhertzog/tmp/r-cran-shiny/debian/r-cran-shiny/usr/lib/R/site-library/shiny/www/shared/jqueryui
/home/rhertzog/tmp/r-cran-shiny/debian/r-cran-shiny/usr/lib/R/site-library/shiny/www/shared/jqueryui/README
/home/rhertzog/tmp/r-cran-shiny/debian/r-cran-shiny/usr/lib/R/site-library/shiny/www/shared/jqueryui/jquery-ui.theme.min.css
/home/rhertzog/tmp/r-cran-shiny/debian/r-cran-shiny/usr/lib/R/site-library/shiny/www/shared/jqueryui/jquery-ui.structure.css
/home/rhertzog/tmp/r-cran-shiny/debian/r-cran-shiny/usr/lib/R/site-library/shiny/www/shared/jqueryui/jquery-ui.theme.css
/home/rhertzog/tmp/r-cran-shiny/debian/r-cran-shiny/usr/lib/R/site-library/shiny/www/shared/jqueryui/index.html
/home/rhertzog/tmp/r-cran-shiny/debian/r-cran-shiny/usr/lib/R/site-library/shiny/www/shared/jqueryui/jquery-ui.structure.min.css


No "images" directory to replace. Are you sure that you need it?

> However, what now converns me even more is that when using the replace
> action the dependencies are missing in the resulting control
> DEBIAN/control inside the package.  It looks like:
> 
>   Depends: libjs-jquery-ui (<< 1.10.1+dfsg.0~), libjs-jquery-ui (>= 1.10.1+dfsg), r-base-core (>= 3.2.4.20160412-1), r-api-3, r-cran-httpuv, r-cran-mime, r-cran-jsonlite, r-cran-xtable, r-cran-digest, r-cran-r6, r-cran-htmltools
> 
> So the embed triggers the (unwanted) strong dependency and the replace
> triggers no dependency from the other libs.  So most probably I did
> something really wrong here - but I wonder what?

That's because nothing got replaced really... the files that you ask to replace
do not exist.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Support Debian LTS: http://www.freexian.com/services/debian-lts.html
Learn to master Debian: http://debian-handbook.info/get/



More information about the Debian-med-packaging mailing list