Control: tags -1 + patch

On Sat, Sep 30, 2017 at 01:59:17AM +0200, Andreas Beckmann wrote:
> during a test with piuparts I noticed your package ships (or creates)
> a broken symlink.

Thank you for the report.

> From the attached log (scroll to the bottom...):
> 
> 0m22.5s ERROR: FAIL: Broken symlinks:
>   /usr/share/man/man1/x86_64-linux-gnu-ld.1.gz -> ld.1.gz
>   /usr/share/man/man1/x86_64-linux-gnu-gold.1.gz -> gold.1.gz

> but uses an additional redirection via a symlink in the binutils package
> (that is not being depended upon) for the manpages:

And that's the issue here. Those symlinks should have ended up in
binutils-common rather than binutils.

> In case binutils switches to ld -> ld.gold and ld.1.gz -> ld.gold.1.gz
> but binutils-<triplet> does not change (for some arch), the manpage for
> <triplet>-ld.1.gz would be wrong.

I don't think this is a realistic scenario. If it was, more things would
have to change around the packaging.

> I think for consistency the symlinks should rather be
> 
> (unchanged)
> /usr/share/man/man1/x86_64-linux-gnu-ld.bfd.1.gz -> ld.bfd.1.gz
> /usr/share/man/man1/x86_64-linux-gnu-ld.gold.1.gz -> ld.gold.1.gz
> 
> and (updated):
> /usr/share/man/man1/x86_64-linux-gnu-gold.1.gz -> 
> x86_64-linux-gnu-ld.gold.1.gz
> /usr/share/man/man1/x86_64-linux-gnu-ld.1.gz -> x86_64-linux-gnu-ld.bfd.1.gz

Such consistency does not make sense to me as those symlinks serve
different purposes. While the binary symlinks point unqualified tools at
qualified ones, the manual page symlinks are reversed. Thus centralizing
the decision point (of where ld points to) on ld.1.gz (as currently
implemented) is the right thing to do.

What's wrong is the placement into packages (binutils vs
binutils-common).

Helmut
diff --minimal -Nru binutils-2.29.1/debian/changelog 
binutils-2.29.1/debian/changelog
--- binutils-2.29.1/debian/changelog    2017-09-23 14:00:50.000000000 +0200
+++ binutils-2.29.1/debian/changelog    2017-10-01 14:56:57.000000000 +0200
@@ -1,3 +1,10 @@
+binutils (2.29.1-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Move man/{go,}ld.1.gz to binutils-common. (Closes: #877266)
+
+ -- Helmut Grohne <[email protected]>  Sun, 01 Oct 2017 14:56:57 +0200
+
 binutils (2.29.1-3) unstable; urgency=medium
 
   * Update, taken from the 2.29 branch 20170923.
diff --minimal -Nru binutils-2.29.1/debian/control.in 
binutils-2.29.1/debian/control.in
--- binutils-2.29.1/debian/control.in   2017-09-17 16:43:39.000000000 +0200
+++ binutils-2.29.1/debian/control.in   2017-10-01 14:56:57.000000000 +0200
@@ -158,8 +158,8 @@
 Package: binutils-common
 Architecture: any
 Multi-Arch: same
-Breaks: binutils (<< 2.29-10)
-Replaces: binutils (<< 2.29-10)
+Breaks: binutils (<< 2.29.1-3.1~)
+Replaces: binutils (<< 2.29.1-3.1~)
 Description: Common files for the GNU assembler, linker and binary utilities
  This package contains the localization files used by binutils packages for
  various target architectures and parts of the binutils documentation. It is
diff --minimal -Nru binutils-2.29.1/debian/rules binutils-2.29.1/debian/rules
--- binutils-2.29.1/debian/rules        2017-09-23 14:00:50.000000000 +0200
+++ binutils-2.29.1/debian/rules        2017-10-01 14:56:57.000000000 +0200
@@ -1121,8 +1121,8 @@
        mv $(d_com)/$(PF)/share/man/man1/ld.1 \
                $(d_com)/$(PF)/share/man/man1/ld.bfd.1
        ln -sf $(DEB_HOST_GNU_TYPE)-ld.bfd $(d_bin)/$(PF)/bin/ld
-       $(install_dir) $(d_bin)/$(PF)/share/man/man1
-       ln -sf ld.bfd.1.gz $(d_bin)/$(PF)/share/man/man1/ld.1.gz
+       $(install_dir) $(d_com)/$(PF)/share/man/man1
+       ln -sf ld.bfd.1.gz $(d_com)/$(PF)/share/man/man1/ld.1.gz
 ifeq ($(with_gold),yes)
        ln -s ld.gold $(d_bin)/$(PF)/bin/gold
   ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
@@ -1142,7 +1142,7 @@
   endif
        cp debian/dwp.1 $(d_com)/$(PF)/share/man/man1/
        cp debian/ld.gold.1 $(d_com)/$(PF)/share/man/man1/
-       ln -s ld.gold.1.gz $(d_bin)/$(PF)/share/man/man1/gold.1.gz
+       ln -s ld.gold.1.gz $(d_com)/$(PF)/share/man/man1/gold.1.gz
 
        : # install a symlink for the gold linker
        $(install_dir) $(d_bin)/$(PF)/lib/gold-ld

Reply via email to