[DRE-maint] Bug#907344: ruby-kramdown: move /usr/bin/kramdown into a Multi-Arch: foreign package
Helmut Grohne
helmut at subdivi.de
Sun Aug 26 20:33:22 BST 2018
Package: ruby-kramdown
Version: 1.15.0-1
Tags: patch
User: helmutg at 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
-------------- next part --------------
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 <helmut at 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
More information about the Pkg-ruby-extras-maintainers
mailing list