Bug 2168586

Summary: Modernize a spec file (SPDX conversion)
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: sane-frontendsAssignee: Zdenek Dohnal <zdohnal>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: nphilipp, zdohnal
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-26 10:57:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Pisar 2023-02-09 12:53:29 UTC
sane-frontends-1.0.14-45.fc38 is not up to current packaging guidelines:

(1) %files section should not glob directly under %{_binddir} and %{_mandir}/*.
(2) COPYING file with a license is not packaged with a %license macro.
(3) License tag is not in an SPDX format. Here a license breakdown I made:

# aclocal.m4:           FSFULLRWD
# config.guess:         GPL-2.0-or-later WITH Autoconf-exception-2.0-like exception
# config.sub:           GPL-2.0-or-later WITH Autoconf-exception-2.0-like exception
# configure:            FSFUL
# COPYING:              GPL-2.0 text
# include/getopt.h:     GPL-2.0-or-later
# include/lalloca.h:    GPL-2.0-or-later
# include/sane/sanei.h: GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# include/sane/sanei_codec_ascii.h: GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# include/sane/sanei_codec_bin.h:   GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# include/sane/sanei_wire.h:    GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# install-sh:       HPND
# lib/getopt.c:     GPL-2.0-or-later
# lib/getopt1.c:    GPL-2.0-or-later
# lib/snprintf.c:   Artistic-1.0-Perl-like  !
# lib/strdup.c:     LGPL-2.0-or-later
# lib/strndup.c:    LGPL-2.0-or-later
# lib/strsep.c:     LGPL-2.0-or-later
# lib/usleep.c:     LGPL-2.0-or-later
# sanei/sanei_codec_ascii.c:    GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# sanei/sanei_codec_bin.c:      GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# sanei/sanei_init_debug.c:     GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# sanei/sanei_load_values.c:    GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# sanei/sanei_thread.c:     GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# sanei/sanei_wire.c:       GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# sanei/sanei_save_values.c:    GPL-2.0-or-later WITH gnu-javamail-exception-like exception
# src/gtkglue.c:    GPL-2.0-or-later
# src/preferences.c:    GPL-2.0-or-later
# src/preview.c:    GPL-2.0-or-later
# src/preview.h:    GPL-2.0-or-later
# src/progress.c:   GPL-2.0-or-later
# src/progress.h:   GPL-2.0-or-later
# src/scanadf.c:    GPL-2.0-or-later
# src/xcam.c:       GPL-2.0-or-later
# src/xscanimage.c:     GPL-2.0-or-later
# src/xscanimage-gimp-1_0-compat.h: GPL-2.0-or-later
# sane-frontends-1.0.14-update-to-current-lprng-plp_snprintf.patch:
#                   Artistic-1.0-Perl-like AND an unknown license
#                   (copyright... remain in place, modified version must be identified)

The exceptions and the patch will need a legal review to assign (or identify) an SPDX identifier.

Comment 1 Zdenek Dohnal 2023-02-09 15:02:12 UTC
Hi Petr,

I've fixed the first two in the latest commit.

As for licenses, I've created PR upstream to remove bundled glibc functions - https://gitlab.com/sane-project/frontends/-/merge_requests/11 - which should remove some of the licenses and the patch.

I'll update License tag and send email fedora-legal about the remaining exceptions:

GPL-2.0-or-later WITH Autoconf-exception-2.0-like exception
GPL-2.0-or-later WITH gnu-javamail-exception-like exception

Do you think we should mention HPND, FSFULLRWD and FSFUL in the tag as well? IIRC the more restrictive and distinctive licenses were usually included in License, thus such non-restrictive licenses weren't mentioned.

Comment 2 Zdenek Dohnal 2023-02-09 15:47:22 UTC
I've removed the bundled glibc functions, repacked the source and updated License tag to SPDX version without exceptions for now, until they are reviewed by legal team.

Email - https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/QCLFPVPTL6FOUMCW5H4MROAKU4ZM7Z34/

Comment 3 Petr Pisar 2023-02-10 08:44:22 UTC
The License tag only pertains binary packages. That means if a file is not built into a packaged executable, then it does not belong to the License tag. In this case HPND, FSFULLRWD, and FSFUL are about build scripts which are used at build time, but they are not present in any form in the binary package. Hence they should not be listed in the tag.

I agree that the only problem for Fedora is the two exceptions. And it's only a formal problem with finding the best identifier. The exceptions do not make the code non-free.

Comment 4 Zdenek Dohnal 2023-07-26 10:57:50 UTC
The gnu-javamail exception has not been added yet into allowed licenses+exceptions in Fedora, so I've opened an issue for fedora-license-data https://gitlab.com/fedora/legal/fedora-license-data/-/issues/264 .

The current License tag reflects the currently allowed licenses, but the new tag is in comment for now.

Closing this as UPSTREAM to indicate there is work to be done on fedora-license-data, and once it is finished, update the spec file.