#1146232 testdisk: debian/copyright misses several upstream authors, file mappings, and GPL-2-only license terms

#1146232#5
Date:
2026-08-30 17:00:29 UTC
From:
To:
Dear Jean-Michel,

While reviewing testdisk 7.2-1 in the NEW queue, I conducted a DFSG and
copyright audit comparing the upstream source tree against debian/copyright.

The audit revealed several pre-existing discrepancies in debian/copyright
(also present in 7.2-0.2 currently in unstable). Under Debian Policy §12.5,
all copyright notices and distinct license terms must be accurately recorded.

Below is a structured summary of the findings, followed by a proposed
patch updating debian/copyright.

======================================================================
1. License Scope Mismatches (GPL-2 vs GPL-2+)
======================================================================
Several filesystem header files are explicitly licensed under GNU GPL v2
*only* (lacking the "or (at your option) any later version" clause), but
are currently covered under the catch-all GPL-2+ stanza:

- src/refs.h (lines 4-6)
- src/ufs.h (lines 4-6)
- src/xfs.h (lines 4-6)
- src/xfs_struct.h (lines 4-6)
  Header quote:
  "under the terms of version 2 of the GNU General Public License as
   published by the Free Software Foundation."

======================================================================
2. Missing Upstream Authors & Attributions
======================================================================
The following source files contain explicit third-party copyright notices
that are currently omitted from debian/copyright:

| File(s)               | Copyright Holder / Author                     | Year(s)     |
|-----------------------|-----------------------------------------------|-------------|
| src/file_bpg.c:6      | Dmitry Brant <me@dmitrybrant.com>             | 2016        |
| src/file_mkv.c:6      | Nick Schrader <nick.schrader@iserv-gis.de>    | 2011        |
| src/file_xm.c:6       | Christophe GISQUET <christophe.gisquet@free.fr> | 2007      |
| src/file_zip.c:6      | Christophe GISQUET <christophe.gisquet@free.fr> | 2007      |
| src/dfxml.c:5         | Simson Garfinkel                              | 2011        |
| src/dfxml.h:5         | Simson Garfinkel                              | 2011        |
| src/pe.h:3            | Tomasz Kojm <tkojm@clamav.net>                | 2004-2005   |
| src/rfs.h:6           | Hans Reiser (ReiserFS v0.91)                  | 1996-1998   |
| src/hfsp_struct.h:7-9 | Klaus Halfmann <klaus.halfmann@feri.de>       | 2000        |
|                       | Robert Leslie <rob@mars.org>                  | 1996-1998   |
|                       | Brad Boyer <flar@pants.nu>                    | 2000        |
| src/suspend.c:8       | Michael Cohen <scudette@users.sourceforge.net>| 2008        |
| src/md.h:24           | Ingo Molnar, Gadi Oxman                       | 1996-1998   |
| src/jfs_superblock.h:4| International Business Machines Corp.         | 2000-2002   |
| src/lvm.h:9           | Michail Brzitwa <mb@ichabod.han.de> (gpart)   | 1999-2001   |
| src/memmem.h:6        | Free Software Foundation, Inc. (glibc)        | 1991-2004   |
| src/ntfs_dir.c:7      | Lode Leroy (Linux-NTFS project)               | 2003        |
| src/ntfs_utl.c:7      | Lode Leroy (Linux-NTFS project)               | 2003        |
| src/ntfs_io.c:5       | Anton Altaparmakov                            | 2000-2003   |

======================================================================
3. Incomplete File Lists in Existing Stanzas
======================================================================
- James Holodnak stanza: covers `src/file_fds.c`, but should also include
  `src/file_nes.c` (line 5: Copyright (C) 2013 James Holodnak).
- Peter Turczak stanza: covers `src/file_fh5.c`, but should also include
  `src/file_fh10.c` and `src/file_indd.c` (and the alternate email address
  `<pnospamt@netconsequence.de>`).
- NTFS stanza: covers `src/ntfs_udl.c` and `src/ntfs_dir.c`, but should
  also include `src/ntfs_utl.c` and `src/ntfs_io.c`.

======================================================================
4. Copyright Year Coverage
======================================================================
The catch-all stanza `Files: *` lists `1998-2018 Christophe Grenier`, whereas
upstream file headers and the `INFO` file show copyright notices through 2024
(`1998-2024 Christophe GRENIER <grenier@cgsecurity.org>`).

======================================================================
Proposed Patch (debian/copyright)
======================================================================
Below is the proposed update to debian/copyright to resolve all of the above:
--- a/debian/copyright
+++ b/debian/copyright
@@ -3,48 +3,130 @@
 Source: https://www.cgsecurity.org/

 Files: *
-Copyright: 1998-2018 Christophe Grenier <grenier@cgsecurity.org>
+Copyright: 1998-2024 Christophe Grenier <grenier@cgsecurity.org>
 License: GPL-2+

+Files: src/refs.h
+       src/ufs.h
+       src/xfs.h
+       src/xfs_struct.h
+Copyright: 1998-2024 Christophe Grenier <grenier@cgsecurity.org>
+License: GPL-2
+
 Files: src/ntfs_udl.c
        src/ntfs_dir.c
-Copyright: 2002-2005 Richard Russon
+       src/ntfs_utl.c
+Copyright: 2004-2008 Christophe Grenier <grenier@cgsecurity.org>
+           2002-2005 Richard Russon
            2004-2005 Holger Ohmacht
-           2005 Anton Altaparmakov
+           2003-2005 Anton Altaparmakov
+           2003 Lode Leroy
+License: GPL-2+
+
+Files: src/ntfs_io.c
+Copyright: 2004-2006 Christophe Grenier <grenier@cgsecurity.org>
+           2000-2003 Anton Altaparmakov
 License: GPL-2+

 Files: src/file_fh5.c
+       src/file_fh10.c
+       src/file_indd.c
 Copyright: 2007 Christophe GRENIER <grenier@cgsecurity.org>
            2007 Peter Turczak <pspamt@netconsequence.de>
+           2007 Peter Turczak <pnospamt@netconsequence.de>
 License: GPL-2+

 Files: src/file_fds.c
+       src/file_nes.c
 Copyright: 2013 James Holodnak <jamesholodnak@gmail.com>
 License: GPL-2+

+Files: src/file_bpg.c
+Copyright: 1998-2007 Christophe GRENIER <grenier@cgsecurity.org>
+           2016 Dmitry Brant <me@dmitrybrant.com>
+License: GPL-2+
+
+Files: src/file_mkv.c
+Copyright: 1998-2011 Christophe GRENIER <grenier@cgsecurity.org>
+           2011 Nick Schrader <nick.schrader@iserv-gis.de>
+License: GPL-2+
+
 Files: src/file_shp.c
 Copyright: 2023 Grzegorz Szymaszek <gszymaszek@short.pl>
 License: GPL-2+

+Files: src/file_xm.c
+       src/file_zip.c
+Copyright: 1998-2009 Christophe GRENIER <grenier@cgsecurity.org>
+           2007 Christophe GISQUET <christophe.gisquet@free.fr>
+License: GPL-2+
+
 Files: src/crc.c
 Copyright: 2007 Christophe GRENIER <grenier@cgsecurity.org>
            1986 Gary S. Brown for the crc32 table
 License: GPL-2+

+Files: src/dfxml.c
+       src/dfxml.h
+Copyright: 2011 Simson Garfinkel
+           2011 Christophe Grenier <grenier@cgsecurity.org>
+License: GPL-2+
+
+Files: src/hfsp_struct.h
+Copyright: 2005-2006 Christophe GRENIER <grenier@cgsecurity.org>
+           2000 Klaus Halfmann <klaus.halfmann@feri.de>
+           1996-1998 Robert Leslie <rob@mars.org>
+           2000 Brad Boyer <flar@pants.nu>
+License: GPL-2+
+
+Files: src/jfs_superblock.h
+Copyright: 2004 Christophe GRENIER <grenier@cgsecurity.org>
+           2000-2002 International Business Machines Corp.
+License: GPL-2+
+
+Files: src/lvm.h
+Copyright: 2003-2008 Christophe GRENIER <grenier@cgsecurity.org>
+           1999-2001 Michail Brzitwa <mb@ichabod.han.de>
+License: GPL-2+
+
+Files: src/md.h
+Copyright: 1998-2004 Christophe GRENIER <grenier@cgsecurity.org>
+           1996-1998 Ingo Molnar, Gadi Oxman
+License: GPL-2+
+
+Files: src/memmem.h
+Copyright: 2005-2007 Christophe GRENIER <grenier@cgsecurity.org>
+           1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 2004 Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: src/pe.h
+Copyright: 2007 Christophe Grenier <grenier@cgsecurity.org>
+           2004-2005 Tomasz Kojm <tkojm@clamav.net>
+License: GPL-2+
+
+Files: src/rfs.h
+Copyright: 2005-2006 Christophe GRENIER <grenier@cgsecurity.org>
+           1996-1998 Hans Reiser
+License: GPL-2+
+
+Files: src/suspend.c
+Copyright: 2009 Christophe GRENIER <grenier@cgsecurity.org>
+           2008 Michael Cohen <scudette@users.sourceforge.net>
+License: GPL-2+
+
 Files: debian/*
 Copyright: 2004-2019 Jean-Michel Kelbert <kelbert@debian.org>
 License: GPL-2+

+License: GPL-2
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of version 2 of the GNU General Public License as
+ published by the Free Software Foundation.
+ .
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ .
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+
 License: GPL-2+
  This software is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by

regards,
    -rt