checkinstall (1.8.3-1) unstable; urgency=medium

  * New upstream release
    - Fix getcwd() returning a pointer into a stack frame that has gone
    - Intercept faccessat() and euidaccess(), so access checks see files
      being installed instead of reporting them missing
    - Fix a stack overflow on a chroot() path longer than MAXPATHLEN
  * Fixes the hppa FTBFS. The first two bugs affected all architectures

 -- Stephen Gelman <ssgelm@debian.org>  Sun, 09 Aug 2026 18:54:16 -0500

checkinstall (1.8.2-1) unstable; urgency=medium

  * New upstream release
    - Fixes ftbfs on armhf

 -- Stephen Gelman <ssgelm@debian.org>  Sun, 09 Aug 2026 13:42:27 -0500

checkinstall (1.8.1-1) unstable; urgency=medium

  * New upstream release
    - The new test suite uncovered bugs on 32-bit platforms that set 64-bit
      time and file offsets. Checkinstall has been broken on those platforms
      since then.

 -- Stephen Gelman <ssgelm@debian.org>  Sun, 09 Aug 2026 10:39:21 -0500

checkinstall (1.8.0-1) unstable; urgency=medium

  * New upstream release
    - Opens that create or empty a file without asking for write access are
      tracked, so packages now contain files that used to be written to the
      real filesystem and left out of the package
    - Exclusions match whole path components, so excluding /tmp no longer
      excludes /tmpfoo as well
    - renameat2 passes its flags to the kernel, which stops a requested
      exchange from renaming one file over the other and losing the second
    - An empty pathname keeps its AT_EMPTY_PATH meaning, which fixes tar
      aborting on an archive holding a symlink ahead of its target
    - Several buffer overruns and a copy that could be truncated without
      being reported as failed
  * Run upstream's test suite at build time, in place of installwatch's
    own tests. Test 01 runs those, so nothing is lost
  * Add an autopkgtest running the same suite against the installed
    package

 -- Stephen Gelman <ssgelm@debian.org>  Sun, 09 Aug 2026 03:22:17 -0500

checkinstall (1.7.0-1) unstable; urgency=medium

  * New upstream release, now maintained at
    https://github.com/ssgelm/checkinstall
    - A mode set on a symlink no longer reaches the file it points at.
      fchmodat() dropped AT_SYMLINK_NOFOLLOW, so a binary installed 755 came
      out of the package writable by anyone, and a link extracted before its
      target aborted the install (LP: #1861281)
    - Keep names that contain consecutive spaces. The file list was carried
      as space separated words, so such a name came back with one space and
      the file was dropped from the package (LP: #1953239)
    - Build on alpha, where glibc is libc.so.6.1
  * Drop 38 patches, all now in the upstream release
  * Update copyright file with correct licenses and copyrights
  * Build the manpages from upstream's SGML rather than the copies
    in debian/
  * Bump debhelper compat to 14

 -- Stephen Gelman <ssgelm@debian.org>  Fri, 07 Aug 2026 14:29:01 -0500

checkinstall (1.6.2+git20170426.d24a630-9) unstable; urgency=medium

  * Do not define the 64-bit time entry points where glibc already
    renames the ordinary wrappers to them. armhf builds with
    _TIME_BITS=64 throughout, so the assembler was given two of each and
    the build failed
  * Add --debcompression to set what dpkg-deb packs a Debian package with:
    gzip, xz, zstd or none. Left unset, the choice stays with dpkg-deb
    (Closes: #750028)

 -- Stephen Gelman <ssgelm@debian.org>  Fri, 07 Aug 2026 03:29:45 -0500

checkinstall (1.6.2+git20170426.d24a630-8) unstable; urgency=medium

  * Initialise from lstat64(), __lxstat64() and renameat2() as the other
    wrappers do. Reached before _init() runs, they called a NULL pointer and
    took the process down (Closes: #964458)
  * Wrap openat64(). Programs built for large files, which on 32-bit is most
    of them, created their output on the real filesystem (Closes: #1054601)
  * Wrap utimensat(), which set timestamps on the real path and stopped an
    install with "cp: preserving times ...: No such file or directory"
  * Wrap the 64-bit time entry points. A program built with _TIME_BITS=64
    calls __stat64_time64() rather than stat(), so on i386 nothing coreutils
    did to inspect a file was intercepted
  * Strip ELF objects that have no execute bit. A shared library installs
    0644, so --stripso had never stripped one
  * Apply --exclude to a path that is not on the build host. With filesystem
    translation the installed files are only in the translated tree, so the
    exclusion was silently ignored. Thanks Kostas Tamateas for diagnosing
    both of these (Closes: #667606)
  * Add the French translation. Thanks Damien and the debian-l10n-french
    team! It matches more of the current strings than any translation the
    package already carried (Closes: #805905)
  * Guess the package name from the source directory rather than from a
    build subdirectory, and keep a trailing field as the version only when it
    has a digit in it. cmake and meson builds produced packages called build,
    and gr-binviz produced gr version binviz (Closes: #878117)
  * Work out the shared library dependencies with dpkg-shlibdeps and record
    them, as a normally packaged program has. Packages built here had none
    unless typed by hand. Debian only, and --autodeps=no turns it off
    (Closes: #993498)

 -- Stephen Gelman <ssgelm@debian.org>  Fri, 07 Aug 2026 02:18:30 -0500

checkinstall (1.6.2+git20170426.d24a630-7) unstable; urgency=medium

  * Guard the 32-bit wrappers on every architecture where glibc redirects the
    ordinary names onto the 64-bit ones, rather than on ARM alone. Fixes the
    armhf FTBFS, and hppa, m68k and powerpc, failing since the t64 transition.

 -- Stephen Gelman <ssgelm@debian.org>  Thu, 06 Aug 2026 23:22:06 -0500

checkinstall (1.6.2+git20170426.d24a630-6) unstable; urgency=medium

  * Bump standards version to 4.7.4
  * Add loong64 support (Closes: #1085196)
    Thanks wuruilong for the patch! loongarch64 has no __xstat() to
    intercept, so the patch wraps stat(), lstat(), fstatat() and mknod()
    directly.
  * Make filesystem translation work against a current glibc, which covers
    most of what has been reported over the years as --fstrans=yes being
    broken (Closes: #1051180, #1116590):
    - Intercept the stat family through the symbols glibc exports. glibc 2.33
      turned stat(), lstat(), fstatat() and mknod() into ordinary functions,
      so a library defining only __xstat() no longer sees the stat calls that
      binaries in the archive make, and every tool that stats a path before
      acting on it was told the file did not exist. The loong64 wrappers
      above are needed here too, so the condition guarding them is the glibc
      version rather than the architecture.
    - Intercept statx()
    - Perform linkat() on the translated paths. It linked the paths it was
      given, so the hard link was made against the real filesystem even with
      --fstrans=yes
    - Intercept __open_2(), __openat_2() and their LFS64 spellings, which
      _FORTIFY_SOURCE substitutes for open() and openat()
    - Intercept the mkstemp family, which opens its file through an internal
      call the open() wrapper never sees
  * Stop backups from destroying symlinked directories such as /lib on
    merged-/usr systems (Closes: #1107638):
    - Resolve symlinks in the parent directories of a path before mirroring
      it into installwatch's backup tree, so restoring that tree over / can
      no longer replace a symlink with a real directory
    - Don't back up files on a read-only access() call
    - Pass --keep-directory-symlink to tar when restoring a backup, as a
      safety net
  * Record installed files under their real parent directories, so that a
    package built from an install writing to e.g. /lib/systemd/system ships
    /usr/lib/systemd/system and drops the aliased paths
  * Take option values as given rather than re-evaluating them through the
    shell. Values holding shell metacharacters, such as
    --maintainer="Jane Doe <jane@example.org>" and
    --requires="libc6 (>= 2.28)", now reach the package intact where they
    used to be dropped without a word (Closes: #785441)
  * Keep installed files whose path merely contains the name of the build
    directory. The check that finds them anchors its pattern, the one that
    dropped them did not, so building in /myapp also excluded
    /usr/include/myapp from the package (Closes: #1033483)
  * Fix the ld.so.conf guard in the postinstall script written for
    --addso=yes. It used "&>", which /bin/sh reads as a background command
    plus a stray redirection, so the guard never held and the library
    directory was appended again on every install (Closes: #892985)
  * Look for the shared libraries under the build directory when --addso=yes
    is given. checkinstall asked file(1) about their final absolute path,
    where filesystem translation leaves nothing, so it recognised no
    libraries and wrote no postinstall script
  * Drop "install -o root -g root" from the upstream install target. It fails
    under dpkg 1.22.13 and later, where a package that leaves
    Rules-Requires-Root unset runs its binary targets without (fake)root

 -- Stephen Gelman <ssgelm@debian.org>  Thu, 06 Aug 2026 17:10:56 -0500

checkinstall (1.6.2+git20170426.d24a630-5.1) unstable; urgency=medium

  * Non-maintainer upload.
  * Make requirement for root when building the package explicit.
    (Closes: #1089300)
  * Pass `-n` to `gzip` to make compressed files easier to
    reproduce.

 -- Niels Thykier <niels@thykier.net>  Wed, 01 Jan 2025 14:59:22 +0000

checkinstall (1.6.2+git20170426.d24a630-5) unstable; urgency=medium

  [ Stephen Gelman ]
  * Fix HPPA build (Closes: #1055075)
    Thanks John David Anglin for the patch!
  * Fix riscv64 build (Closes: #1055077)
    Thanks Aurelien Jarno for the patch!
  * Fix armhf/armel build post-t64 transition (Closes: #1069436)

  [ Samuel Thibault ]
  * control: Add hurd-amd64 case.

 -- Stephen Gelman <ssgelm@debian.org>  Wed, 11 Sep 2024 00:24:44 -0500

checkinstall (1.6.2+git20170426.d24a630-4) unstable; urgency=medium

  * Add support for Pre-Depends field in package (Thanks
    yjqg6666 <jinking.this@gmail.com>!)
  * Fix bug with "mkdir -p" command. Thanks to Geoffrey Hausheer for the fix!
    (Closes: #717778)
  * Bump standards version to 4.6.2 (no changes)

 -- Stephen Gelman <ssgelm@debian.org>  Sun, 29 Oct 2023 16:30:19 -0500

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