rpms/itext/devel itext.spec,1.13,1.14
Panu Matilainen
pmatilai at laiskiainen.org
Mon Feb 23 19:19:20 UTC 2009
On Mon, 23 Feb 2009, Orcan Ogetbil wrote:
> On Mon, Feb 23, 2009 at 7:29 AM, Panu Matilainen wrote:
>> On Sun, 22 Feb 2009, Orcan Ogetbil wrote:
>>
>>> On Fri, Feb 20, 2009 at 3:06 AM, Panu Matilainen wrote:
>>>>
>>>> On Thu, 19 Feb 2009, Jochen Schmitt wrote:
>>>>
>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>> Hash: SHA1
>>>>>
>>>>> Orcan Ogetbil schrieb:
>>>>>>
>>>>>> +%ifarch x86_64 ppc64
>>>>>> +Provides:
>>>>>> %{_libdir}/gcj/%{name}/%{name}-%{version}.jar.so()(64bit)
>>>>>> +%else
>>>>>> +Provides: %{_libdir}/gcj/%{name}/%{name}-%{version}.jar.so
>>>>>> +%endif
>>>>>>
>>>>>> %description
>>>>>> iText is a library that allows you to generate
>>>>>> @@ -141,6 +147,9 @@
>>>>>> #
>>>>>
>>>>>
>>>>>
>>>>> -----------------------------------------------------------------------------
>>>>> - From my point of view, this is a workaround, which is only good until
>>>>> rpmbuild may be fixed.
>>>>
>>>> Fix what? What exactly is being worked around here?
>>>>
>>>> - Panu -
>>>>
>>>
>>> This is an issue with the rpmbuild's automatic dependency generation.
>>> Here's the story:
>>>
>>> itext provides (rpm -q --provides itext):
>>>
>>> itext-2.1.4.jar.so()(64bit)
>>>
>>> which is in the directory /usr/lib64/gcj/itext/ . Note that this is
>>> not a standard library path.
>>> Meanwhile, pdftk requires (rpm -qR pdftk):
>>>
>>> /usr/lib64/gcj/itext/itext-2.1.4.jar.so()(64bit)
>>>
>>> Notice the full path, which was not in the Provides of itext. Because
>>> of this path, the pdftk RPM won't install, complaining about unmet
>>> dependencies.
>>
>> Well sure that requires looks pretty screwed, something that rpm should not
>> ever generate.
>>
>
> Why does it look screwed? Why are full paths on Requires/Provides "bad"?
Nothing wrong with file dependencies, but the above is not a file:
[pmatilai at turre ~]$ repoquery -l itext|grep jar\\.so
/usr/lib64/gcj/itext/itext-2.1.4.jar.so
[pmatilai at turre ~]$ repoquery --provides itext|grep jar\\.so
itext-2.1.4.jar.so()(64bit)
>>> Therefore we put an additional Provides:
>>> /usr/lib64/gcj/itext/itext-2.1.4.jar.so()(64bit) on itext.
>>
>> I dont see pdftk in Fedora, other that it has been there and is now marked
>> dead.package. What pdftk package are we talking about here?
>>
>
> Sorry, I should have given this link:
> https://bugzilla.redhat.com/show_bug.cgi?id=485641
>
>>>
>>> Is there a better solution?
>>
>> Fix the busted requires instead?
>>
>> - Panu -
>>
>
> Yes, that was the other option (not sure why you call it "busted"
> though). I asked a few people and the common advice is to not lie to
> RPM. If it asks a full path, give it a full path.
Again, file requires are fine but this is not a file:
/usr/lib64/gcj/itext/itext-2.1.4.jar.so()(64bit)
The dependency should either be: "itext-2.1.4.jar.so()(64bit)" or then for
the actual file: "/usr/lib64/gcj/itext/itext-2.1.4.jar.so". Both of these
are provided by itext already.
> So what will be the benefit of hacking the Requires of pdftk?
The question really is, where the heck does the strange
path-and-soname-mixed-up require come from in the first place? I dont see
anything like that in the spec so it suggests a bug in whatever it is that
generates the dependency - rpm's "javadeps" extractor maybe. The pdftk
src.rpm doesn't want to build in mock here so I'm having trouble
reproducing it.
Hmm.. there's at least one somewhat similar (in that it's java-related)
very very buggy dependency, although provide in this case:
[pmatilai at turre ~]$ repoquery --provides jna|grep libjni
/builddir/build/BUILD/jna-3.0.4-svn729/build-d64/native/libjnidispatch.so()(64bit)
- Panu -
More information about the devel
mailing list