[Debian GNUstep maintainers] New gui/back (almost) ready to upload

Yavor Doganov yavor at gnu.org
Wed Jan 3 23:12:00 UTC 2018


I think the packages are almost ready with one notable exception:
debian/copyright.  I truly don't understand how this new machinery
works, so the only way for me to update them is manually.  Eric, can
you take care of this?  You wrote this scary stuff, after all :)

All of my changes (except changelogs) are pushed: -gui to experimental
and -back to master as agreed.

For -gui, most of the changes are self-explanatory and similar to
those in -base.  Please reformat your changelog as you prefer.  The
entry "Ensure that gnustep-gui-runtime..." definitely must be removed
as it's already present in 0.25.0-5.  I have stripped my multiple "New
upstream version" and left only the last one.  I think you should
remove yours too as upstream releases which never made it to Debian
are not important for users -- they'll get an upgrade from 0.25.0 to
0.26.2 and who merged the releases in between shouldn't matter.

gnustep-gui (0.26.2-1) experimental; urgency=medium

  [ Eric Heintzmann ]
  * New upstream version 0.25.1
  * Remove fix-spelling-errors patch, now useless
  * Bump Standards-Version to 4.0.0
  * Add testsuite
  * Remove -pie option
  * Now depends on latest gnustep-base
  * Ensure that gnustep-gui-runtime package does not depend on gnustep-back
  * As required by Gürkan, update his name
  * Use canonical URL in Vcs-Browser field
  * Bump Standards-Version to 4.1.0
  * Remove Testsuite field to make lintian quiet
  * Enable --as-needed LDFLAG
  * Remove -shared-libgcc LDFLAG, now useless
  * Recalculate dependencies of shared lib
  * Improve testsuite

  [ Yavor Doganov ]
  * New upstream release 0.26.2:
    + Fixes printing via CUPS (Closes: #883583).
    + Fixes overlapping glyphs (Closes: #886226).
    + Rename library package following the SONAME change:
      - libgnustep-gui0.25 -> libgnustep-gui0.26
  * debian/watch: Switch to ftp.gnustep.org; much more reliable.
  * debian/compat: Bump compat level to 11.
  * debian/rules: Replace shell comments with makefile comments; strip
    trailing whitespace.
    (DEB_LDFLAGS_MAINT_APPEND): Add -Wl,--no-undefined.
    (v_base): Bump to 1.25.1; required.
    (override_dh_testdir): New target to regenerate debian/control.
    (override_dh_auto_build_arch): Explicitly pass dpkg-buildflags;
    gnustep-make discards environment flags so OBJCFLAGS is ignored
    completely for all compilation units, while LDFLAGS is discarded for
    some executables in the -runtime package.  Also pass $(optim) for
    proper noopt support in DEB_BUILD_OPTIONS.
    (override_dh_autotest): Run the testsuite.
    (override_dh_install): Don't skip .gsdoc files; they're necessary for
    generating proper cross-references.
    (override_dh_installdocs): Don't act on the -dbg package.
    (override_dh_strip): Remove override.
  * debian/templates/control.m4: Remove -dbg package in favor of automatic
    -dbgsym packages.  Relax some dependencies for smoother transitions (a
    reincarnation of #655433; regression introduced during the migration
    to modern debhelper).
    (Build-Depends): Require debhelper >= 11; remove dh-autoreconf.  Add
    gnustep-make >= 2.7.0-3 for the optim variable conditional definition.
    (Build-Depeends-Indep): Add gnustep-base-doc for usable xrefs to -base
    classes and methods.
    (gnustep-gui-doc): Recommend gnustep-base-doc.
    (Standards-Version): Claim compliance with 4.1.3 as of this release.
  * debian/control: Regenerate.
  * debian/tests/testsuite: New test; run the testsuite.
  * debian/tests/control (Tests): Add testsuite.
    (Restrictions): Add allow-stderr.
    (Depends): Add file, needed by file-tests.
  * debian/changelog: Whitespace cleanup.

 -- Yavor Doganov <yavor at gnu.org>  Tue, 02 Jan 2018 12:09:51 +0200

Here's the -back changelog:

gnustep-back (0.26.2-1) experimental; urgency=medium

  [ Eric Heintzmann ]
  * New upstream version 0.25.1
  * Remove -shared-libgcc LDFLAG, now useless
  * Hardening: remove -pie option
  * Now build depends on latest gnustep-gui package
  * Bump Standards Versions to 4.1.0
  * As requested by Gurkan, change his name
  * New fix spelling error patch
  * Add a testsuite
  * Append --as-needed LDFLAG
  * Improve testsuite

  [ Yavor Doganov ]
  * New upstream release 0.26.2:
    + Rename packages following the SONAME change:
      - gnustep-back0.25 -> gnustep-back0.26
      - gnustep-back0.25-art -> gnustep-back0.26-art
      - gnustep-back0.25-cairo -> gnustep-back0.26-cairo
  * debian/watch: Switch to ftp.gnustep.org; much more reliable.
  * debian/compat: Bump compat level to 11.
  * debian/rules: Replace shell comments with makefile comments; M-x wh-cl.
    (p_dbg): Remove variable definition.
    (DEB_LDFLAGS_MAINT_APPEND): Add -Wl,--no-undefined.
    (override_dh_testdir): New target to regenerate debian/control.
    (override_dh_auto_configure): Substitute GNUSTEP_SYSTEM_DOC as well
    when generating gnustep-back-common.install.
    (override_dh_auto_build): Pass dpkg-buildflags explicitly as OBJCFLAGS
    and CFLAGS are being reset by gnustep-make.  Build documentation.
    Pass $(optim) for proper noopt support.
    (override_dh_auto_install): Install documentation.
    (override_dh_auto_clean): Clean documentation; ignoring errors.
    (override_dh_strip): Remove in favor of automatic -dbgsym packages.
    (override_dh_shlibdeps): Add override to fix circular dependencies;
    regression introduced in 0.25.0-1 (Closes: #882078).  Thanks to Bill
    Allombert for the report.
  * debian/templates/control.m4: Remove gnustep-back-dbg.
    (Build-Depends): Require debhelper >= 11 and gnustep-make >= 2.7.0-3
    for the optim variable definition.
    (Section): Remove secion "libs" for all packages as it is wrong
    according to lintian (and to me).
    (Depends): Relax dependencies on -common to ease transitions with the
    ultimate goal to support partial upgrades.
    (Breaks, Replaces): Remove; obsolete.
    (Standards-Version): Declare compliance with 4.1.3.
  * debian/control: Regenerate.
  * debian/templates/gnustep-back-common.install.in: Add
    @GNUSTEP_SYSTEM_DOC@/*.
  * debian/templates/gnustep-back-common.prerm.in: Also delete
    /var/lib/GNUstep, another regession in 0.25.0-1 (Closes: #832349).
    Thanks Andreas Beckmann.
  * debian/patches/autoreconf.patch: New; fix autoreconf failure.
  * debian/patches/series: Update.
  * debian/changelog: Whitespace cleanup.

 -- Yavor Doganov <yavor at gnu.org>  Wed, 03 Jan 2018 22:58:39 +0200

Several comments:

1) Was removal of the documentation intentional?  I guess so; it is
   restored now.  

2) I don't quite understand the purpose of tools.patch -- is it to
   build with different hardening options?  It doesn't make sense;
   everything has to be built in the same way.  I think the patch
   should be removed along with the relevant portion of the recipe.
   I've left that alone as I don't understand your intention. 

3) I don't understand why you moved -common's maintainer scripts to
   debian/templates and generate them via debian/rules just to
   substite a variable which is supposed to be always static?  It's
   addinional hassle for no apparent benefit: ~14 extra lines in
   debian/rules plus the introduction of an important bug (#832349):

   On a jessie machine:

   $ grep GNUstep /var/lib/dpkg/info/gnustep-back-common.prerm 
          rm -rf /var/lib/GNUstep

   On stretch/buster/sid:

   $ grep GNUstep /var/lib/dpkg/info/gnustep-back-common.prerm 
          rm -rf /var/lib/GNUstep/Fonts

4) You may not bother with fonts=no at all; they are installed in
   debian/tmp and not present in any of the .install files, so
   building/installing them is harmless.  In fact, you forgot to add
   fonts=no for the cairo build so the fonts *are* left in debian/tmp
   anyway.

Please test/review/comment and eventually upload.

I'll start build-testing the rdeps in a chroot and will file bugs as
appropriate, so we'll have plenty of time to fix them before the
transition.




More information about the pkg-GNUstep-maintainers mailing list