Bug 166919

Summary: Review Request: findlib
Product: [Fedora] Fedora Reporter: Chong Kai Xiong <descender>
Component: Package ReviewAssignee: Gérard Milmeister <gemi>
Status: CLOSED NOTABUG QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideFlags: tibbs: fedora‑review-
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://www.ocaml-programming.de/programming/findlib.html
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-05-07 00:44:58 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 201449    

Description Chong Kai Xiong 2005-08-27 15:43:23 EDT
Spec Name or Url: 
http://www.clanrgb.net/~descender/files/findlib.spec

SRPM Name or Url: 
http://www.clanrgb.net/~descender/files/findlib-1.0.4-1.src.rpm

Description: 
The findlib library provides a scheme to query metainformation of
OCaml libraries.
Comment 1 Gérard Milmeister 2005-09-11 12:08:14 EDT
- Could not be build in mock because of "Requires: ocaml = %{ocaml_version}".
  The version must be fixed. Maybe just leave out the version altogether.
- You can use %doc in the %files section to install the documentation, i.e.,
  %doc LICENSE doc/{README,QUICKSTART} doc/{ref-html,guide-html}
  If you need to do some cleanup before, the way I do it is to install the
  documentation in a separate local directory
- The name "findlib" is a little generic; I propose to use a naming scheme
  similar to perl modules, e.g., ocaml-findlib
- The description is a little terse IMHO and doesn't quite reflect the summary
- in the files section, you can simply use %{_libdir}/ocaml/*
Comment 2 Chong Kai Xiong 2005-09-12 04:48:16 EDT
Thanks you for the valuable comments. Here is my response:

a. Mock problem

I added the version check because, OCaml does not guarantee backward compatible
(3.08.2 broke it once) , according to the post and thread below:

  http://lists.debian.org/debian-ocaml-maint/2005/01/msg00050.html

b. %doc shortcut

This was to avoid installing the TIMESTAMPs file. Installing it in another
directory in the source tree seems like a good idea, so I will do that instead.

c. Genericity of package name
I originally wanted to call it ocaml-findlib, but there were 2 things that
prompted me not to   until there is some apparent consensus or guideline:
1. Lack of consistency in the first place. labltk, lablgl, lablgtk and camlp4
are not prefixed with 'ocaml'. Also, currently only packages built from the
Ocaml distribution have prefixes (excluding camlp4, labltk).
2. googling for findlib didn't turn up anything else

Personally, I prefer a prefix to none. Shall I still go ahead?

d. Terse description
Agreed, I will come up with a better one. The one on the homepage is too
long-winded.

e. %{libdir}/ocaml/* wildcard
This will be changed for brevity's sake. I had decided against owning the labltk
and camlp4 subdirectories since labltk and camlp4 also own them. Now that I
think about it, it shouldn't matter. 
Comment 3 Gérard Milmeister 2005-09-12 07:05:39 EDT
(In reply to comment #2)
> c. Genericity of package name
> I originally wanted to call it ocaml-findlib, but there were 2 things that
> prompted me not to   until there is some apparent consensus or guideline:
> 1. Lack of consistency in the first place. labltk, lablgl, lablgtk and camlp4
> are not prefixed with 'ocaml'. Also, currently only packages built from the
> Ocaml distribution have prefixes (excluding camlp4, labltk).
> 2. googling for findlib didn't turn up anything else
> 
> Personally, I prefer a prefix to none. Shall I still go ahead?
The official policy is to retain the name of the original source.
Are you the author of findlib? If so, you may change the tarball to 
ocaml-findlib-...tar.gz and there is no issue. If not, then
retaining the name findlib would be probably more correct.
In any case I would prefer ocaml-findlib.
Comment 4 Chong Kai Xiong 2005-09-12 10:04:24 EDT
Updated SRPM and .spec files:
* http://www.clanrgb.net/~descender/files/findlib.spec
* http://www.clanrgb.net/~descender/files/findlib-1.0.4-2.src.rpm

Changes:
* Mon Sep 12 2005 Chong Kai Xiong <descender@phreaker.net> - 1.0.4-2
- Rewrite summary and description.
- Remove OCaml version enforcement for now.
- Simplify %files wildcards and documentation installation.
- Rename guide and reference directories to guide and ref respectively.

Comments:
My personal preference notwithstanding, I've decided to keep the findlib name
since this would be in accordance with the official policy (for consistency) and
the name is unambiguous. 

I forgot to ask: why does mock fail with the ocaml Require line?

P.S. I'm not the author of findlib.
Comment 5 Gérard Milmeister 2005-09-12 18:27:27 EDT
> I forgot to ask: why does mock fail with the ocaml Require line?

Mock first builds a new srpm before any BuildRequires are installed, I think.
So ocamlc is not present and then the spec file is syntactically incorrect.
At least, that's how I see it.
Comment 6 Chong Kai Xiong 2005-09-12 23:42:46 EDT
That would explain it. 

Still I wonder if there's a way to properly solve this without losing the
version requirement or writing it explicitly by hand. I don't know the impact of
future incompatibilities to decide against having it.
Comment 7 Michael A. Peters 2005-09-12 23:58:52 EDT
(In reply to comment #1)

> - The name "findlib" is a little generic; I propose to use a naming scheme
>   similar to perl modules, e.g., ocaml-findlib

I second that.
It is also done that way with most python add-ons and with tetex packages, and I
believe with many others as well (ie xmms etc.).

I believe the official policy does say that packages that are add-ons to another
package should be prefixed by the name of the package they are an addon to.
Comment 8 Gérard Milmeister 2005-09-13 12:34:47 EDT
(In reply to comment #6) 
> Still I wonder if there's a way to properly solve this without losing the
> version requirement or writing it explicitly by hand. I don't know the impact of
> future incompatibilities to decide against having it.
Look at it this way:
If an exact version requirement is encoded, then a future update of ocaml to
a new version has the following effect:
- ocaml is updated, but there is the usual delay before findlib is rebuilt with 
  the new version
- yum update says that in order to upgrade ocaml, findlib has to be removed
  (because a rebuilt findlib is not yet available)
- yum updates ocaml and removes findlib
- the user must remember to regularly try to install findlib which fails until
  a rebuilt version is available
This last step is really annoying and I want to avoid it.
Comment 9 Chong Kai Xiong 2005-09-13 21:42:26 EDT
I understand what you're saying. Right now, I'm having the exact issue with my
other OCaml RPMs (SDL, etc.) as OCaml was just updated to 3.08.4 :)

If compatibility is broken, there would probably be subtle failures and I think
that it's probably less evil to have it fail noisily. I say probably, because I
don't know the actual impact. But this is probably less of a concern for
findlib. Most apps don't need to use the library at  runtime, so let's leave it
and see how it goes.

Is there no way to make the build system rebuild dependent packages automatically?
Comment 10 Gérard Milmeister 2005-09-22 13:50:07 EDT
(In reply to comment #9)
> Is there no way to make the build system rebuild dependent packages automatically?
Not that I know.
Comment 11 Chong Kai Xiong 2005-12-03 01:11:19 EST
Spec Name or Url: 
http://beep-media-player.org/~descender/files/findlib.spec

SRPM Name or Url: 
http://beep-media-player.org/~descender/files/findlib-1.1.1-1.src.rpm

Description:
Update to 1.1.1
Comment 12 Gérard Milmeister 2006-06-03 15:20:13 EDT
I completely forgot about this, sorry!
The URLs are broken, can you provide new ones.
Comment 13 Parag AN(पराग) 2006-11-19 03:12:32 EST
Looks like this is dead review now
Comment 14 Jason Tibbitts 2007-05-07 00:44:58 EDT
Indeed, this review seems to be very dead.  But now that ocaml is heating back
up, perhaps it will be useful for someone.  Blocking FE-DEADREVIEW and closing.