Package: ruby-kramdown Version: 1.15.0-1 Tags: patch User: helm...@debian.org Usertags: rebootstrap Control: affects -1 + src:espeak-ng
espeak-ng fails to cross build from source, because its dependeny on ruby-kramdown is unsatisfiable. In general, Architecture: all packages can never satisfy cross Build-Depends unless marked Multi-Arch: foreign. In the case of ruby-kramdown, such a marking would be fatal, because the kramdown library builds on architecture-dependent ruby extensions and that architecture-dependence would be masked by the marking. Bummer. The issue here is that the ruby-kramdown package ships both a library and a tool. That's something the Debian policy advises against. Splitting library and tool into separate binary packages solves the issue: A separate "kramdown" package containing the kramdown command can be marked Multi-Arch: foreign. Please consider applying the attached patch. Helmut
diff --minimal -Nru ruby-kramdown-1.15.0/debian/changelog ruby-kramdown-1.15.0/debian/changelog --- ruby-kramdown-1.15.0/debian/changelog 2017-10-01 15:38:06.000000000 +0200 +++ ruby-kramdown-1.15.0/debian/changelog 2018-08-26 20:52:27.000000000 +0200 @@ -1,3 +1,11 @@ +ruby-kramdown (1.15.0-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Split kramdown command into a separate Multi-Arch: foreign package. + (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Sun, 26 Aug 2018 20:52:27 +0200 + ruby-kramdown (1.15.0-1) unstable; urgency=medium * Team upload diff --minimal -Nru ruby-kramdown-1.15.0/debian/control ruby-kramdown-1.15.0/debian/control --- ruby-kramdown-1.15.0/debian/control 2017-10-01 15:38:06.000000000 +0200 +++ ruby-kramdown-1.15.0/debian/control 2018-08-26 20:52:27.000000000 +0200 @@ -27,7 +27,6 @@ Architecture: all XB-Ruby-Versions: ${ruby:Versions} Depends: libjs-jquery, - ruby | ruby-interpreter, ruby-coderay, ruby-prawn, ruby-prawn-table, @@ -36,7 +35,7 @@ ${misc:Depends}, ${shlibs:Depends} Suggests: libjs-mathjax -Description: Fast, pure-Ruby Markdown-superset converter +Description: Fast, pure-Ruby Markdown-superset converter - ruby library The kramdown is a fast, pure Ruby, Markdown parser and converter, using a strict syntax definition and supporting several common extensions. @@ -47,3 +46,27 @@ supported formats: * input formats: kramdown (a Markdown superset), Markdown, HTML * output formats: HTML, kramdown, LaTeX (and therefore PDF) + . + This package contains the ruby library. + +Package: kramdown +Architecture: all +Multi-Arch: foreign +Depends: ruby | ruby-interpreter, + ruby-kramdown (= ${binary:Version}), + ${misc:Depends}, +Breaks: ruby-kramdown (<< 1.15.0-1.1~) +Replaces: ruby-kramdown (<< 1.15.0-1.1~) +Description: Fast, pure-Ruby Markdown-superset converter - kramdown command + The kramdown is a fast, pure Ruby, Markdown parser and converter, using + a strict syntax definition and supporting several common + extensions. + . + The kramdown library is mainly written to support the kramdown-to-HTML + conversion chain. However, due to its flexibility it supports other + input and output formats as well. Here is a list of the + supported formats: + * input formats: kramdown (a Markdown superset), Markdown, HTML + * output formats: HTML, kramdown, LaTeX (and therefore PDF) + . + This package contains the kramdown command. diff --minimal -Nru ruby-kramdown-1.15.0/debian/kramdown.install ruby-kramdown-1.15.0/debian/kramdown.install --- ruby-kramdown-1.15.0/debian/kramdown.install 1970-01-01 01:00:00.000000000 +0100 +++ ruby-kramdown-1.15.0/debian/kramdown.install 2018-08-26 20:52:27.000000000 +0200 @@ -0,0 +1 @@ +usr/bin diff --minimal -Nru ruby-kramdown-1.15.0/debian/kramdown.manpages ruby-kramdown-1.15.0/debian/kramdown.manpages --- ruby-kramdown-1.15.0/debian/kramdown.manpages 1970-01-01 01:00:00.000000000 +0100 +++ ruby-kramdown-1.15.0/debian/kramdown.manpages 2017-10-01 15:38:06.000000000 +0200 @@ -0,0 +1 @@ +man/man1/kramdown.1 diff --minimal -Nru ruby-kramdown-1.15.0/debian/ruby-kramdown.install ruby-kramdown-1.15.0/debian/ruby-kramdown.install --- ruby-kramdown-1.15.0/debian/ruby-kramdown.install 2017-10-01 15:38:06.000000000 +0200 +++ ruby-kramdown-1.15.0/debian/ruby-kramdown.install 2018-08-26 20:52:27.000000000 +0200 @@ -1 +1,2 @@ data/kramdown usr/share +usr/lib diff --minimal -Nru ruby-kramdown-1.15.0/debian/ruby-kramdown.manpages ruby-kramdown-1.15.0/debian/ruby-kramdown.manpages --- ruby-kramdown-1.15.0/debian/ruby-kramdown.manpages 2017-10-01 15:38:06.000000000 +0200 +++ ruby-kramdown-1.15.0/debian/ruby-kramdown.manpages 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -man/man1/kramdown.1 diff --minimal -Nru ruby-kramdown-1.15.0/debian/rules ruby-kramdown-1.15.0/debian/rules --- ruby-kramdown-1.15.0/debian/rules 2017-10-01 15:38:06.000000000 +0200 +++ ruby-kramdown-1.15.0/debian/rules 2018-08-26 20:52:27.000000000 +0200 @@ -1,6 +1,7 @@ #!/usr/bin/make -f export GEM2DEB_TEST_RUNNER = --check-dependencies +export DH_RUBY_USE_DH_AUTO_INSTALL_DESTDIR = yes %: dh $@ --buildsystem=ruby --with ruby @@ -9,4 +10,4 @@ rdoc --all --line-numbers \ -o $(CURDIR)/debian/ruby-kramdown/usr/share/doc/ruby-kramdown/rdoc lib README.md rm -f $(CURDIR)/debian/ruby-kramdown/usr/share/doc/ruby-kramdown/rdoc/js/jquery.js - dh_installdocs + dh_installdocs --link-doc=ruby-kramdown