Bug 205211

Summary: File conflicts in gphoto2
Product: [Fedora] Fedora Reporter: Bill Nottingham <notting>
Component: gphoto2Assignee: Jindrich Novy <jnovy>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: pknirsch, rhbugs, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-01-12 13:04:42 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: 192658    

Description Bill Nottingham 2006-09-05 14:20:11 UTC
Description of problem:

        file /usr/bin/gphoto2-port-config from install of
gphoto2-devel-2.2.0-2.1 conflicts with file from package gphoto2-devel-2.2.0-2.1

Comment 1 Hans Ulrich Niedermann 2006-10-04 19:00:33 UTC
gphoto2-devel-2.2.0-2.1 == gphoto2-devel-2.2.0-2.1

Are you installing 32/64bit versions in parallel or why do you need to have the
same package installed twice?

(I am upstream, and may fix something there.)

Comment 2 Bill Nottingham 2006-10-04 19:09:34 UTC
Yes, installing both 32 and 64 bit versions, for multiarch development.

So, a potential solution would be to install pkg-config files in
/usr/{lib,lib64}/pkgconfig, and change gphoto2-port-config to
just call 'pkg-config --libs gphoto2-port' (or whatever).

Comment 3 Hans Ulrich Niedermann 2006-10-05 15:58:52 UTC
We have been shipping pkg-config files in '${libdir}/pkgconfig' for quite some time.

I don't yet see how having two gphoto2-config scripts calling pkg-config would
solve problem of conflicting files - or how a single gphoto2-config script could
properly distinguish between lib and lib64.

However, we could replace the -config scripts by

#/bin/sh
echo "foo-config is deprecated." >&2
echo "Use pkg-config --blah instead." >&2
exit 1

and thus avoid the problem.


Comment 4 Bill Nottingham 2006-10-05 16:43:45 UTC
The idea is that *in* gphoto2-config, instead of (warning: paraphrased):

 --libs)
       echo "-L /usr/lib"

you have

  --libs)
       pkg-config --libs gphoto2

When you develop for i386 on x86_64, you would set the personality first to
i386; this would make pkg-config pull the 'right' (i386) pkgconfig file, even
though it's the same command line each time.

See curl-config or libart2-config for some examples.


Comment 5 Hans Ulrich Niedermann 2006-10-05 19:59:51 UTC
Have you actually checked that pkg-config works as intended on a
i386-personalized x86_64 system? From looking at the pkg-config source code, I
can't see how that should work.

Anyway, regarding the -config scripts... I propose Fedora ships the kind of
-config scripts which work for Fedora, or not ship them at all.

I cannot ship them in upstream, as upstream must support $prefix != "/usr", and
having gphoto2-config set PKG_CONFIG_PATH to ${libdir}/pkgconfig at libgphoto2
compile time would result in different gphoto2-config scripts for the 32bit and
64bit versions, which was the thing you wanted to avoid in the first place.

Comment 6 Jindrich Novy 2007-01-12 13:04:42 UTC
Ok, I fixed it downstream in a pretty standard way, so that I modified the
gphoto-config and gphoto-config-port scripts to use pkg-config to get libs and
cflags. Since the scripts are then identical on multiarch, the multilib conflict
is now history.

Comment 7 Fedora Update System 2007-01-31 16:48:15 UTC
gphoto2-2.3.1-3.fc6 has been pushed for fc6, which should resolve this issue.  If these problems are still present in this version, then please make note of it in this bug report.