[Debian GNUstep maintainers] Reporting backend info automatically with reportbug

Yavor Doganov yavor at gnu.org
Tue Dec 28 21:29:48 GMT 2021


Quite often, when users report bugs against GNUstep apps we ask them
to say which GNUstep backend they are using, especially when the bug
is related to rendering or some visual defect/problem.  It is unsafe
to assume that the user knows what a backend means in the GNUstep
world, so we usually explain the bug reporter how to check the
information we need and report it back.  This is extra mail and at
least another question/answer cycle/hoop that could be easily avoided
if we had means to obtain this info automatically.

Luckily, reportbug allows scripts to be run in order to obtain extra
information, they are installed at /usr/share/bug or
/usr/share/bug/<package> if the package provides other files related
to the bug-reporting mechanism.  Currently, among our packages only
plopfolio.app installs such file and it's not a script.

Just an idea, but I am thinking of installing a common bug script
/usr/share/bug/gnustep-common.app (let's say in the
gnustep-back-common package) which every interested app could symlink
and thus provide its own bug script that would work out of the box.
The script contents could be something like:

  #!/bin/sh
  
  set -e
  
  exec 1>&3
  exec 2>&3
  
  echo System backend:
  update-altelrnatives --display gnustep-back- at IFVER@
  echo User backend:
  defaults read NSGlobalDomain GSBackend || echo Not set.
  # As we intend to package themes and they may interfere...
  echo Theme:
  defaults read NSGlobalDomain GSTheme || echo Default theme.
  # Any additional info, suggestions welcome
  ...

@IFVER@ is the interface version set in gnustep-back's debian/rules
that is substituted when generating the maintscripts.  IOW, this file
will be installed by gnustep-back and every app or theme can use it.
Ideally, we should try to automate this with gsdh_gnustep but I can't
see an easy way; unfortunately my perl skills are rather crappy.
Alternatively, it could be done with one command in the
override_dh_link target that nearly (all?) every app has:

  override_dh_link:
        ... (move arch-indep app bundle files to /usr/share) ...
        dh_link /usr/share/bug/gnustep-common.app \
          $(d_app)/usr/share/bug/specific.app

Yet another alternative is a canned command/recipe defined in
config.mk which most apps include (or should include anyway).

Thoughts?  Ideas?  Criticism?




More information about the pkg-GNUstep-maintainers mailing list