[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1029555: lintian: license-problem-font-adobe-copyrighted-fragment-no-credit false positive



Package: lintian
Version: 2.116.1~bpo11+1
Severity: normal

Dear Maintainer,

during the work with fonts-urw-base35 https://bugs.debian.org/1029168
the lintian error
license-problem-font-adobe-copyrighted-fragment-no-credit was
triggered on all fonts, because of the following code in
lib/Lintian/Check/Fonts/Postscript/Type1.pm:

        # If copy pasted from black book they are
        # copyright adobe a few line before the only
        # place where the startlock is documented is
        # in the black book copyrighted fragment
        if ($line =~ m/startlock\s*get\s*exec/) {

            $self->pointed_hint(
                'license-problem-font-adobe-copyrighted-fragment-no-credit',
                $item->pointer);

            last;
        }

This refers to the following book:
https://web.archive.org/web/20150321034514/http://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF
Appendix 3, page 95 (of the book) page 101 (of the PDF).

But while the code in the book contains 181 lines of code only the
following lines are used in the urw-base35 fonts:

{systemdict /internaldict known not
{pop 3}
{1183615869 systemdict /internaldict get exec
dup /startlock known
{/startlock get exec}
{dup /strtlck known
{/strtlck get exec}
{pop 3}
ifelse}
ifelse}
ifelse
} executeonly
] noaccess def


I searched for the number (1183615869) in afdko source and found the
following file:
https://github.com/adobe-type-tools/afdko/blob/develop/c/shared/source/t1write/t1write_hintothers.h

/* Copyright 2014 Adobe Systems Incorporated (http://www.adobe.com/). All Rights Reserved.
   This software is licensed as OpenSource, under the Apache License, Version 2.0.
   This license is available at: http://opensource.org/licenses/Apache-2.0. */

"/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869\n"
"systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup\n"
"/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def\n"

As far as I can see, that is exactly the code, that I found in the
urw-base35 fonts and that triggers the lintian error, but it is a
false positive, since the trigger ("startlock get exec") is now under
Apache-2.0 license and the rest of the Adobe code from the book isn't
used here.

So the lintian check should be changed to trigger on some other code,
that's only in the book but not in the part that's relicensed under
Apache-2.0.

Greetings
Roland


Reply to: