xtrs (4.9d-2.1) unstable; urgency=medium

  * Non-maintainer upload.
  * Replace Build-Depends: bsdmainutils with bsdextrautils. (Closes: #1081669)
  * Replace html2text's -style option with -rcfile. (Closes: #1066954)

 -- Bastian Germann <bage@debian.org>  Fri, 13 Sep 2024 20:26:43 +0200

xtrs (4.9d-2) unstable; urgency=low

  * debian/control: Bump Standards-Version to 4.0.0.
    + Update debian/patches/make-plain-text-docs-from-html.patch and
      debian/patches/makefile-generate-pdf-manpages.patch to respect "nodoc"
      in DEB_BUILD_OPTIONS.

  * debian/rules: Set DEB_CFLAGS_MAINT_APPEND to "-Wall -Werror".  Set
    DEB_LDFLAGS_MAINT_APPEND to "-Wl,--as-needed".

  * debian/rules: Run upstream "check" target as part of our "check-binary"
    target.

  * debian/rules: Add "maintainer-clean" target to work around the fact that
    some of our patches cause new files to be created, and the package build
    unapplies all the patches without cleaning the build tree.

  * debian/control: Add link to upstream GitHub site in package description;
    thanks, Reiner Herrmann!  (Closes: #905584)
  * debian/control: Tweak English style in package description.

  * debian/README.source: Add material from the Debian Policy Manual's
    upgrading checklist to document my findings regarding this package's
    compliance with it.

  * debian/patches/stop-mkdisk-from-overflowing-buffers.patch:
    + Don't spuriously report test failures if $MKDISK is set to a non-default
      value.
  * debian/patches/ignore-alt-key-events.patch:
    + Update help window to stop documenting Alt key bindings.
  * debian/patches/map-f12-to-shifted-down-arrow.patch:
    + Update help window to document what F12 does now.
  * debian/patches/move-error.c-prototypes-to-new-error.h.patch:
    + Move diagnostic function prototypes into their own header.
  * debian/copyright: Add patch-created error.h file.
  * debian/patches/add-warning-diagnostic-function.patch:
    + A few places in the code were calling error() with "warning:" in the
      argument string, which looked weird.  Make a warn() function for these
      use cases.
  * debian/patches/fix-compiler-warnings.patch:
    + Fix clunky logic in unused variable warning suppression when neither
      SB_SOUND nor HAVE_OSS is #defined.  Don't bother specifying the
      signedness of the ints we use as booleans.  Move declaration of
      sb_address such that it is only present if either SB_SOUND and/or
      HAVE_OSS is #defined.  Add explanatory comment.  Actually throw a
      warning about lack of host system sound support for emulated cassette
      and sound ports only once each.  Don't bother zeroing sb_address after
      issuing said warning.
  * debian/patches/stop-mkdisk-from-overflowing-buffers.patch:
    + Update to resolve GCC 8's stringop-truncation warnings (which
      mysteriously do not appear with debian/rules-driven builds, just with
      manual "make"s).  Get rid of unneeded variable fname_truncated.  Use
      GCC pragmas to suppress remaining instance; add comment explaining that
      we know what we're doing, since we're writing to a static buffer inside
      a struct.
  * debian/patches/fix-stringop-truncation-warning.patch:
    + Issue warning diagnostic if the argument to cmddump -p is too long.
      Swap order of space-padding strncat and forced setting of pdsbuf[8] to a
      null byte.  This persuades GCC that we're ensuring pdsbuf has a string
      terminator.  Use '\0' instead of '\000' as null character escape.

 -- G. Branden Robinson <g.branden.robinson@gmail.com>  Wed, 15 Aug 2018 11:59:02 -0400

xtrs (4.9d-1) unstable; urgency=medium

  * Merge new upstream release.
    + "Deleted all SIGIO code.  The code was a kludge to begin with and it no
      longer worked with current X libraries and Linux kernels, causing xtrs
      to hang.  It was also reported to cause hangs when xtrs was compiled for
      Windows using Cygwin.  Thanks to Howard Pepper, Dennis Lovelady, Arumin
      Nueckel, Christopher Currie, and Joe Peterson for bug reports."

  * Patches to upstream:
    + trs_imp_exp.c: Turn on the "emtsafe" flag by default, preventing actions
      potentially harmful to the host environment (like removing the user's
      files or running shell commands) from being done within the emulator.
      - xtrs.man: Document the new default.
    + trs_xinterface.c: Protect potentially reckless setuid(getuid()) call
      with #ifdef SB_SOUND guard.  The call is no longer compiled.
    + trs_xinterface.c: Get rid of unused variable in help window display
      function.
    + trs_cassette.c: Squash unused variable warnings; add preprocessor
      guards to symbols used only when system support is available.  Work
      around dual usage of sb_address as a boolean (prefer SoundBlaster to
      OSS when both are available?) and a hardware address on x86.  Throw a
      warning the first time (each of) the cassette port or sound port is
      written to on systems where there is no supporting sound system for
      either.  Relocate some #if guards, and one static function so that there
      isn't a forward reference to it.  Rewrite a call to trs_orch90_out(0,
      FLUSH) to orch90_flush(FLUSH) (the former being exactly what
      orch90_flush() is defined as), which is how this forward reference was
      avoided before.  Add comment documenting why orch90_flush() takes an
      argument that it ignores.  (Closes: #642919)
    + z80.c: Hoist volatile dummy variable into file scope to silence GCC
      warning about variable being set but not used.
    + trs_memory.c: Explicitly declare int type on function arguments with
      implicit types.
      - trs_disk.c: Same.
    + trs_disk.c: Quieten compiler warning by saving the return value of
      fread(); conventional wisdom says you really shouldn't ignore the return
      value from fread(), but several functions in this file do so.
    + trs_keyboard.c: Don't catch Alt_L or Alt_R key events, since lots of
      window managers use them.
      - xtrs.man: Stop claiming mappings for Alt keys.
    + trs_keyboard.c: Map F12 to the TRS-80 shifted down-arrow key.
      - xtrs.man: Document that.
    + mkdisk.c: Fix buffer overflow when given filename >8 characters.
      Truncate filename by default when copying to hard disk image.  Add -S
      ("spill") flag to partially simulate old behavior.  Exit with error if
      filename argument would overflow even the subsequent structure member
      historically used by xtrs to store extra filename characters.
      - mkdisk.man: Document -S flag and related issues.
      - test-mkdisk.sh: New file; implement tests for overflow and new
        filename truncation and spillage logic.
      - Makefile: Add "check" target to run the foregoing test.  Nothing
        upstream calls this target automatically.
    + mkdisk.c: Check return value of fopen() when creating DMK disk image
      file.
    + mkdisk.c: Refuse to clobber files by default.  Add -f ("force") flag to
      override this behavior.
      - mkdisk.man: Document new behavior and -f flag.
      - test-mkdisk.sh: Test default no-clobber and -f flag behavior.
    + mkdisk.c: Document the -d option for hard disk images in usage message.
    + trs_xinterface.c: Write the key binding help to standard error if the
      emulator's X window is too small to hold it.
    + trs_xinterface.c, main.c: Convert the last users of fprintf(stderr, ...)
      to use the functions from error.c.
    + Makefile: Observe LDFLAGS when building internal "compile_rom" tool.
      Thanks to Graham Inggs for the discussion!  (Closes: #859751)
    + Makefile: Build with -std=c11.
      - cmddump.c: Port to C11.
      - debug.c: Same.
      - mkdisk.c: Same.
      - trs_cassette.c: Same.
      - trs_disk.c: Same.
      - trs_imp_exp.c: Same.
      - trs_interrupt.c: Same.
      - trs_uart.c: Same.
      - trs_xinterface.c: Same.
    + xtrs.man: Reformat and tweak style of manual page to attempt to more
      closely follow the conventions set down in man-pages(7), groff_man(7),
      and groff(7).
      - cassette.man, cmddump.man, hex2cmd.man, mkdisk.man: Same.
    + Makefile: Generate and install PDF versions of man pages.
      - debian/xtrs.docs: Ship them, too.
      - debian/control: Promote groff-base build-dependency to full groff, for
        gropdf.
  * Export Debian build flags to environment.  Executables are now hardened
    per < https://wiki.debian.org/Hardening >.
  * Add Turkish debconf template translations; thanks, Mert Dirik!
    (Closes: #757864)
  * Add Dutch debconf template translations; thanks, Frans Spiesschaert!
    (Closes: #767488)
  * Add Indonesian debconf template translations; thanks, Izharul Haq!
    (Closes: #835622)
  * Update README.Debian to refresh URLs and reflect developments in the
    TRS-80 retrocomputing enthusiast community over the past several years.
  * Implement debian/compare-copyright script.
    + Add "check-source" target to debian/rules to call the script.
    + Add debian/{no-,}copyright-info.expected files.
  * Migrate former contents of debian/checklist to debian/README.source.
  * Rewrite debian/copyright using machine-readable copyright info.
  * Migrate to new (to me) quilt-based Debian source format 3.0.
    + Drop patches now merged upstream.
  * Migrate former contents of debian/README.contrib-only to Disclaimer field
    of debian/copyright, and update discussion.
  * Stop shipping Tim Mann's TRS-80 FAQ document.  It's great, but strictly
    speaking, it doesn't carry a license, I don't want to pester him to put
    one on it, and in any event it updates much more frequently than the xtrs
    software itself.  Finally, I trust people to do web searches, and
    archive.org to stick around, more now than I did 19 years ago.
  * Write doc-base descriptions for the supplementary documentation in
    /usr/share/doc/xtrs.
  * Add check-binary target to debian/rules to aid regression testing.
  * Thanks to Christian Perrier, Hector Oron, Cyril Brulebois, and
    YunQiang Su for taking care of this package during my long absence.

 -- G. Branden Robinson <g.branden.robinson@gmail.com>  Wed, 08 Aug 2018 03:21:44 -0400

xtrs (4.9c-4) unstable; urgency=medium

  * Makefile: Undefine HAVE_SIGIO.  (Closes: #511645)
  * Update Maintainer full name and email address from the "old me" to the
    "new me".

 -- G. Branden Robinson <g.branden.robinson@gmail.com>  Thu, 30 Mar 2017 09:20:32 -0400

# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog xtrs`.
