Bug 465897 (Judy)

Summary: Review Request: Judy - General purpose dynamic array library
Product: [Fedora] Fedora Reporter: Charles R. Anderson <cra>
Component: Package ReviewAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: erik-fedora, fedora-package-review, greenrd, itamar, jochen, notting, paul
Target Milestone: ---Keywords: Reopened
Target Release: ---Flags: mtasaka: fedora-review+
kevin: fedora-cvs+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-21 19:39:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 437626    

Description Charles R. Anderson 2008-10-07 00:46:14 UTC
Spec URL: http://cra.fedorapeople.org/Judy/Judy.spec
SRPM URL: http://cra.fedorapeople.org/Judy/Judy-1.0.4-1.fc9.src.rpm
Description: Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Judy arrays are declared
simply with a null pointer. A Judy array consumes memory only when it
is populated, yet can grow to take advantage of all available memory
if desired. Judy's key benefits are scalability, high performance, and
memory efficiency. A Judy array is extensible and can scale up to a
very large number of elements, bounded only by machine memory. Since
Judy is designed as an unbounded array, the size of a Judy array is
not pre-allocated but grows and shrinks dynamically with the array
population.

This is a requirement for another package I intend to submit:
miredo - Tunneling of IPv6 over UDP through NATs (a Teredo client/server/relay)

I also need a sponsor for cvs access.  Thanks.

Comment 1 Charles R. Anderson 2008-10-07 01:00:35 UTC

*** This bug has been marked as a duplicate of bug 464429 ***

Comment 2 Jochen Schmitt 2008-10-07 16:54:32 UTC
*** Bug 464429 has been marked as a duplicate of this bug. ***

Comment 3 Mamoru TASAKA 2008-11-07 18:48:54 UTC
Well,

* License
  - README says LGPLv2, however all codes are under LGPLv2+.
    Would you ask the upstream about this?
    Currently to honor README file, the license tag
    must be "LGPLv2".

* test program
  - As the tarball contains test/ subdirectory, please execute
    some test program at %check.
    You may have to set LD_FLAGS or LD_LIBRARY_PATH or so,
    or to modify test/Checkit to create test program correctly.

Comment 4 Mamoru TASAKA 2008-11-20 14:53:32 UTC
ping?

Comment 5 Mamoru TASAKA 2008-11-27 07:58:45 UTC
ping again?

Comment 6 Charles R. Anderson 2008-11-27 17:16:26 UTC
BTW, I'm already a sponsored packager now.

Analyzing the license:

The README file actually says LGPLv2.1 and refers to COPYING which is a copy of the LGPL v2.1:

4. LICENSE
----------

The user library is licensed under the GNU Lesser Public License (LGPL)
Version 2.1, February 1999.  The full text of the LGPL is located at:

COPYING
------------------

Looking in COPYING it says LGPL v2.1 or later:

Judy - C library functions for creating and accessing dynamic arrays
Copyright (C) 2004  Doug Baskins

This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
------------------

The source files have headers that mention the license as LGPLv2 or later, for example:

./src/JudyCommon/JudyMemUsed.c-// Copyright (C) 2000 - 2002 Hewlett-Packard Company
./src/JudyCommon/JudyMemUsed.c-//
./src/JudyCommon/JudyMemUsed.c-// This program is free software; you can redistribute it and/or modify it
./src/JudyCommon/JudyMemUsed.c:// under the term of the GNU Lesser General Public License as published by the
./src/JudyCommon/JudyMemUsed.c:// Free Software Foundation; either version 2 of the License, or (at your
./src/JudyCommon/JudyMemUsed.c-// option) any later version.
./src/JudyCommon/JudyMemUsed.c-//

I'll check with upstream which license they intended.

Comment 7 Charles R. Anderson 2008-11-27 18:51:28 UTC
Spec URL: http://cra.fedorapeople.org/Judy/Judy.spec
SRPM URL: http://cra.fedorapeople.org/Judy/Judy-1.0.4-2.fc10.src.rpm
Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=954819

* Thu Nov 27 2008 Charles R. Anderson <cra> 1.0.4-2
- patch tests to run with shared library
- run tests in check section

Comment 8 Erik van Pienbroek 2008-11-27 20:59:19 UTC
Why'd you CC me? You want me to continue with this review? (As I already started reviewing https://bugzilla.redhat.com/show_bug.cgi?id=464429 before it was pulled back)

Comment 9 Charles R. Anderson 2008-11-28 03:13:24 UTC
Re: Comment #8, I thought you'd like to be Cc'd since you were on the original review which was CLOSED/DUPLICATE--bugzilla usually does this automatically, but didn't in this case.  If you'd like to help, extra eyes for review are always helpful.  No worries either way.  Thanks.

Comment 10 Mamoru TASAKA 2008-11-29 18:10:15 UTC
For -2:

* License tag
  - So until README file is fixed (or COPYING may be fixed)
    stay the license tag as "LGPLv2"
    ! Anyway on Fedora the license tag "LGPLv2.1+" is invalid.

* Source0
  - Using %name, %version (especially %{version}) is preferred:
    https://fedoraproject.org/wiki/Packaging/SourceURL#Using_.25.7Bversion.7D

Comment 11 Charles R. Anderson 2008-11-30 22:18:05 UTC
Spec URL: http://cra.fedorapeople.org/Judy/Judy.spec
SRPM URL: http://cra.fedorapeople.org/Judy/Judy-1.0.4-3.fc10.src.rpm
Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=964814

* Thu Nov 30 2008 Charles R. Anderson <cra> 1.0.4-3
- fix Judy1 man page symlinks
- use valid tag License: LGPLv2+ confirmed with upstream
- use version macro in Source0
- remove Makefiles from installed doc tree

Regarding the license, upstream has confirmed that the current license is LGPL v2.1 or later.  Also, the source code is really the final say on this, and it says "GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version."  Either way, Fedora spec files don't distinguish between v2.1 and v2, so this is specified as LGPLv2+ for the spec file.

"From dougbaskins  Thu Nov 27 21:45:54 2008
From: Doug Baskins <dougbaskins>
To: Chuck Anderson <cra>
Cc: judy-devel.net
Date: Thu, 27 Nov 2008 18:45:47 -0800 (PST)
Subject: Re: Judy license confusion - (LGPL v2.1 or later applies)
Reply-To: Doug Baskins <dougbaskins>

Chuck:

I did not know a new version of LGPL existed.  You are correct,
the COPYING file is correct (LGPL v2.1 or later applies).  I will
change the README file to reflect that in the next release of Judy.
..."



However, the author has noted that the license may change in a future release to just LGPLv2.  I'll be sure to update the License tag and notify fedora-devel-list if/when such a new release is imported into Fedora:



"From dougbaskins  Fri Nov 28 19:09:55 2008
From: Doug Baskins <dougbaskins>
To: Chuck Anderson <cra>
Date: Fri, 28 Nov 2008 16:09:48 -0800 (PST)
Subject: Re: Judy license confusion 
Reply-To: Doug Baskins <dougbaskins>

Chuck:

I have been requested by Hewlett-Packard to REMOVE the
"or (at your option) later version"  part of the wording from Judy sources.
Apparently the v3 License is not acceptable to a lot of people and companies with regard to the patent section.  If I do not do this, HP personnel cannot
support me in the future.  Sorry about that.  I suspect that this problem will
get sorted out in the future.  (Sometimes I hate politics or perhaps Lawyers).


Doug


Doug Baskins <dougbaskins>"

Comment 12 Mamoru TASAKA 2008-12-01 15:50:57 UTC
For -3:

* License
  - Please include the reply from the upstream as %doc to show
    that this package is surely licensed under LGPLv2+.

* build error
  - dist-f11 (rawhide) now uses libtool 2.2.6 and without
-----------------------------------------------------
%prep
%setup -q
%patch0 -p1 -b .test-shared
%patch1 -p1 -b .fix-Judy1-mans
%if 0%{?fedora} >= 11
libtoolize --force
%endif
autoreconf
------------------------------------------------------
     build fails:
     http://koji.fedoraproject.org/koji/taskinfo?taskID=966046

Comment 13 Mamoru TASAKA 2008-12-07 16:02:49 UTC
ping?

Comment 14 Charles R. Anderson 2008-12-13 18:35:56 UTC
Spec URL: http://cra.fedorapeople.org/Judy/Judy.spec
SRPM URL: http://cra.fedorapeople.org/Judy/Judy-1.0.4-4.fc10.src.rpm
Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=996794

* Sat Dec 13 2008 Charles R. Anderson <cra> 1.0.4-4
- for Judy1 man page fix, patch Makefile.{am,in} instead of
  relying on autotools to regenerate the latter.
- Add README.Fedora with upstream's license explanation.

Comment 15 Mamoru TASAKA 2008-12-15 07:19:15 UTC
Okay.
-------------------------------------------------------------
    This package (Judy) is APPROVED by mtasaka
-------------------------------------------------------------

Comment 16 Charles R. Anderson 2008-12-16 12:56:16 UTC
New Package CVS Request
=======================
Package Name: Judy
Short Description: General purpose dynamic array
Owners: cra
Branches: F-10
InitialCC:

Comment 17 Kevin Fenzi 2008-12-17 22:04:12 UTC
cvs done.

Comment 18 Charles R. Anderson 2008-12-21 19:39:15 UTC
imported and built.  thanks guys.

Comment 19 Paul Howarth 2010-07-09 22:34:51 UTC
Package Change Request
======================
Package Name: Judy
New Branches: EL-4 EL-5 EL-6
Owners: pghmcfc

I have just taken over maintenance of the Judy package from Charles.
Co-maintainers welcome, as with all of my packages.

Comment 20 Kevin Fenzi 2010-07-12 17:11:26 UTC
CVS done (by process-cvs-requests.py).