Bug 344721 - gocr-devel should be built as well
Summary: gocr-devel should be built as well
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: gocr
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Tomas Smetana
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-10-21 20:56 UTC by Matěj Cepl
Modified: 2018-04-11 11:28 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-09-04 11:33:55 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Matěj Cepl 2007-10-21 20:56:13 UTC
Description of problem:
It is possible to build packages using gocr and there is /usr/include/gocr.h for
that. Unfortunately, you have removed it together with .a file, and so there are
programs (not in Fedora -- my problem was ogmrip from ogmrip.sf.net) which are
not compilable under Fedora.

There are packages of gocr available at http://mcepl.fedorapeople.org/rpms/
which IMHO fix this problem.

Comment 1 Patrice Dumas 2007-10-21 21:07:28 UTC
I think this is a good idea, too. Do you want that I do it?

Comment 2 Matěj Cepl 2007-10-21 21:59:48 UTC
Whom do you ask? Me? If so (and I doubt it ;-)), then just go ahead -- that's
the reason why I filed this bug.

Comment 3 Patrice Dumas 2007-10-21 22:09:30 UTC
No, I was asking Orion ;-), he his the primary maintainer...

Comment 4 Orion Poplawski 2007-10-22 03:19:50 UTC
Well, the mcepl package adds the .h for but not the library, which I have a hard
time imagining to be useful.  Fedora has a strong bias against shipping static
libraries.  I would rather work with upstream to ship a shared library instead.

Comment 5 Patrice Dumas 2007-10-22 07:11:58 UTC
In my opinion there is no problem shipping a static library 
when upstream doesn't provide a shared library. That doesn't preclude
working with upstream at the same time. It is problematic because
unneeded rebuild may be needed when the library is updated, but 
otherwise it isn't that a big deal.

Comment 6 Matěj Cepl 2007-10-22 08:53:30 UTC
This is probably the relevant information on the topic.
http://fedoraproject.org/wiki/Packaging/Guidelines#head-2302ec1e1f44202c9cc4bcce24cb711266557ad7

Comment 7 Tomas Smetana 2007-11-08 11:58:01 UTC
I've sent a patch upstream and made these testing packages that contain DSO
instead of a static library.  You may try:
http://tsmetana.fedorapeople.org/gocr/

Comment 8 Tomas Smetana 2008-01-11 08:09:25 UTC
Does anybody actually care of this one?  I'm going to close this one as WONTFIX
if not.  The patch was reported upstream (no response) so maybe one day they
decide to incorporate it.

Comment 9 Patrice Dumas 2008-01-11 08:45:28 UTC
In my opinion we should ship the static library if somebody needs it
and otherwise we can wait for upstream inclusion of DSO build.

Comment 10 Tomas Smetana 2008-01-11 09:27:09 UTC
Shouldn't we rather keep the patch then and ship the DSO?  We maintain patches
in other packages to keep them in line with our policies.  And this one is quite
simple.

Comment 11 Patrice Dumas 2008-01-11 10:36:31 UTC
It is not simple at all, since it involves setting a soname. I have
put an explanation about why I find it bad to add shared lib in fedora
without upstream consultation, the second point on:

https://fedoraproject.org/wiki/PatriceDumas

Comment 12 Matěj Cepl 2008-01-11 17:15:28 UTC
I would vote for keeping our own patch. The patch is actually pretty simple, we
just don't delete upstream .h file, so there is no reason to believe that this
will evolve substantially different.

Comment 13 Tomas Smetana 2008-01-14 09:54:52 UTC
(In reply to comment #12)
> I would vote for keeping our own patch. The patch is actually pretty simple, we
> just don't delete upstream .h file, so there is no reason to believe that this
> will evolve substantially different.

We were talking about my patch that adds the DSO.  Shipping a header file
without a library is useless.  After reading Patrice's arguments I agree to
include the static library in the package.

Comment 14 Tomas Smetana 2008-01-14 10:40:50 UTC
I've updated the packages at
http://tsmetana.fedorapeople.org/gocr/

If there will be no objections I'll build them in rawhide.

Comment 15 Patrice Dumas 2008-06-10 09:28:06 UTC
I have checked gocr.h, and found that it refers to other gocr 
files, pnm.h, unicode.h and list.h and also uses autoconf
conditionals. pnm.h includes config.h.

I suggest the following:
* remove the autoconf conditionals from gocr.h (setting them to what
  they should be, that is HAVE_GETTIMEOFDAY should be defined)
* remove the  g_debug symbol definition from list.h
* remove the config.h include in pnm.h
* rename pnm.h gocr_pnm.h, list.h gocr_list.h and unicode.h gocr_unicode.h
  and change the corresponding includes in gocr.h

I don't know exactly how these changes could be done. Maybe the
best would be a patch applied in the $RPM_BUILD_ROOT directory.

Comment 16 Patrice Dumas 2008-06-10 09:52:47 UTC
Also it seems to me that pgm2asc.h could be shipped, given that
it has the same name than the library I guess that it is related.
It is also an include file used in the software I am looking at
(swftools) which uses gocr.

In that case the following should be patched out:

#ifndef HAVE_WCHAR_H
const wchar_t *wcschr (const wchar_t *wcs, wchar_t wc);
const wchar_t *wcscpy (wchar_t *dest, const wchar_t *src);
size_t wcslen (const wchar_t *s);
#endif
#ifndef HAVE_WCSDUP
wchar_t * wcsdup (const wchar_t *WS);   /* its a gnu extension */
#endif


Comment 17 Tomas Smetana 2008-06-10 10:13:53 UTC
...and nobody noticed this for six months.

Looking at the required changes I would really like to see them implemented
upstream first.

Comment 18 Tomas Smetana 2008-09-04 11:33:55 UTC
I've removed the useless devel package again.  Closing with WONTFIX -- the required changes would be too invasive.


Note You need to log in before you can comment on or make changes to this bug.