Wireshark-dev: Re: [Wireshark-dev] checklicenses.py

From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Fri, 5 Aug 2016 11:10:31 +0100


On 5 August 2016 at 10:52, Graham Bloice <graham.bloice@xxxxxxxxxxxxx> wrote:


On 5 August 2016 at 10:45, Guy Harris <guy@xxxxxxxxxxxx> wrote:
On Aug 5, 2016, at 2:00 AM, João Valverde <[email protected].pt> wrote:

> On 08/05/2016 08:56 AM, Alexis La Goutte wrote:
>> I confirm ;-) (too slow...)
>>
>> But it is strange don't get the same warning between Ubuntu 14.04 and
>> 16.04....
>
> I assume the licensecheck regexes changed. Michael may need to be running 16.04 to test this with any accuracy.

By way of explanation:

licensecheck is a tool that checklicenses.py uses - but is *not* something we ship, which means that

        1) if you don't have it installed on your system, checklicenses.py won't work, and I suspect only (some?) Linux distributions provide it as part of the distribution (and even there you might have to install the right package - in particular, Microsoft don't, as far as I know, ship it with Windows;

        2) if version X.Y of a given OS has one version of licensecheck, and version X+1.Z of that OS has a different version, and the two different versions behave differently, that could cause checklicenses.py to behave differently on the two different versions of that OS.

So

        1) checklicenses.py might not work on Windows unless you install licensecheck

and

        2) checklicenses.py might start coughing up a lot more errors if upgrading from Ubuntu 15.whatever to 16.whatever gives you a new version of licensecheck that behaves differently in a way that causes more license complaints.

(I just discovered this a few minutes ago, when I went looking for licensecheck.  It doesn't ship with OS X, either.)


I did look a bit for licensecheck and it appears to be a Perl script available as a Debian (and RPM) package devscripts as suggested by João, a package for Debian package maintainers.  As such, it isn't available for Windows.  The checklicenses.py script should probably check for the existence of licensecheck before trying to open it as a subprocess.


There is a Cygwin licensecheck package, which installed for me, but doesn't run.  The Perl stuff fails for dependencies, and attempting to fix that leads you down the rabbit hole of cpan module dependencies, so I gave up.

--
Graham Bloice