Package: ruby-ronn
Version: 0.7.3-5
Tags: patch
User: helm...@debian.org
Usertags: rebootstrap
Control: affects -1 + src:libidn2

Hi ruby-ronn maintainers,

Your package suddenly became relevant to architecture bootstrap when
libidn2 started to build-depend on it. Unfortunately, this dependency
makes libidn2's Build-Depends unsatisfiable for cross compilation. In
general, Architecture: all packages (like ruby-ronn) can never satisfy
cross Build-Depends unless marked Multi-Arch: foreign.

Unfortunately, marking ruby-ronn in this way is wrong. Another ruby
extension could end up depending on ruby-ronn and thus using
ruby-rdiscount through ruby-ronn. If ruby-ronn was marked Multi-Arch:
foreign, such dependencies could be satisfied from a different
architecture. Thus packages on ruby-ronn would sometimes not work and it
would be difficult to diagnose why. Long story short: We cannot just
mark it Multi-Arch: foreign.

That puts us in a difficult spot: We must mark it and we cannot. Looking
closer, libidn2 really needs /usr/bin/ronn, not the ruby module. A
package containing just the script could be marked. Thus I propose
splitting ruby-ronn into another binary package "ronn" containing
/usr/bin/ronn. This new package could be marked Multi-Arch: foreign and
thus solve the issue around libidn2.

Introducing this new package is not trivial: It must go through the NEW
queue and we need to review the other 35 source packages that depend on
ruby-ronn and maybe switch their dependency over to ronn. Still this
solution sounds manageable to me.

Do you see any alternative?

When closing this bug, libidn2 should be able to build-depend on
ruby-ronn somehow.

Helmut
diff --minimal -Nru ruby-ronn-0.7.3/debian/changelog 
ruby-ronn-0.7.3/debian/changelog
--- ruby-ronn-0.7.3/debian/changelog    2016-09-03 17:08:42.000000000 +0200
+++ ruby-ronn-0.7.3/debian/changelog    2017-11-18 21:05:29.000000000 +0100
@@ -1,3 +1,10 @@
+ruby-ronn (0.7.3-5.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Split to new package ronn and mark it M-A:foreign. (Closes: #-1)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sat, 18 Nov 2017 21:05:29 +0100
+
 ruby-ronn (0.7.3-5) unstable; urgency=medium
 
   * Team upload.
diff --minimal -Nru ruby-ronn-0.7.3/debian/control 
ruby-ronn-0.7.3/debian/control
--- ruby-ronn-0.7.3/debian/control      2016-09-03 17:08:42.000000000 +0200
+++ ruby-ronn-0.7.3/debian/control      2017-11-18 21:05:29.000000000 +0100
@@ -36,3 +36,22 @@
  syntax extensions for features commonly found in manpages (definition lists,
  link notation, etc.). The ronn-format(7) manual page defines the format in
  detail.
+ .
+ This package contains the ronn ruby library.
+
+Package: ronn
+Architecture: all
+Multi-Arch: foreign
+Depends: ruby-ronn (= ${source:Version})
+Breaks: ruby-ronn (<< 0.7.3-5.1)
+Replaces: ruby-ronn (<< 0.7.3-5.1)
+Description: Builds manuals from Markdown
+ Ronn builds manuals. It converts simple, human readable textfiles to roff for
+ terminal display, and also to HTML for the web.
+ .
+ The source format includes all of Markdown but has a more rigid structure and
+ syntax extensions for features commonly found in manpages (definition lists,
+ link notation, etc.). The ronn-format(7) manual page defines the format in
+ detail.
+ .
+ This package contains the ronn conversion tool.
diff --minimal -Nru ruby-ronn-0.7.3/debian/ronn.install 
ruby-ronn-0.7.3/debian/ronn.install
--- ruby-ronn-0.7.3/debian/ronn.install 1970-01-01 01:00:00.000000000 +0100
+++ ruby-ronn-0.7.3/debian/ronn.install 2017-11-18 19:21:45.000000000 +0100
@@ -0,0 +1 @@
+usr/bin
diff --minimal -Nru ruby-ronn-0.7.3/debian/ronn.manpages 
ruby-ronn-0.7.3/debian/ronn.manpages
--- ruby-ronn-0.7.3/debian/ronn.manpages        1970-01-01 01:00:00.000000000 
+0100
+++ ruby-ronn-0.7.3/debian/ronn.manpages        2017-11-18 19:21:16.000000000 
+0100
@@ -0,0 +1 @@
+man/ronn.1
diff --minimal -Nru ruby-ronn-0.7.3/debian/ruby-ronn.install 
ruby-ronn-0.7.3/debian/ruby-ronn.install
--- ruby-ronn-0.7.3/debian/ruby-ronn.install    1970-01-01 01:00:00.000000000 
+0100
+++ ruby-ronn-0.7.3/debian/ruby-ronn.install    2017-11-18 19:21:40.000000000 
+0100
@@ -0,0 +1,2 @@
+usr/lib
+usr/share
diff --minimal -Nru ruby-ronn-0.7.3/debian/ruby-ronn.manpages 
ruby-ronn-0.7.3/debian/ruby-ronn.manpages
--- ruby-ronn-0.7.3/debian/ruby-ronn.manpages   2016-09-03 17:08:42.000000000 
+0200
+++ ruby-ronn-0.7.3/debian/ruby-ronn.manpages   2017-11-18 19:21:18.000000000 
+0100
@@ -1,2 +1 @@
 man/ronn-format.7
-man/ronn.1
diff --minimal -Nru ruby-ronn-0.7.3/debian/rules ruby-ronn-0.7.3/debian/rules
--- ruby-ronn-0.7.3/debian/rules        2016-09-03 17:08:42.000000000 +0200
+++ ruby-ronn-0.7.3/debian/rules        2017-11-18 21:05:29.000000000 +0100
@@ -1,6 +1,10 @@
 #!/usr/bin/make -f
 
 export GEM2DEB_TEST_RUNNER = --check-dependencies
+export DH_RUBY_USE_DH_AUTO_INSTALL_DESTDIR=yes
 
 %:
        dh $@ --buildsystem=ruby --with ruby
+
+override_dh_installdocs:
+       dh_installdocs --link-doc=ruby-ronn

Reply via email to