rpmbuild and dependency disabling

Paul Howarth paul at city-fan.org
Tue Aug 2 16:39:53 UTC 2005


Paul Howarth wrote:
>>         libodbc.so is needed by java-ies-1.4.2-08.i386
>>         libodbcinst.so is needed by java-ies-1.4.2-08.i386
> 
> 
> Hmm, an unversioned soname. The unixODBC package provides libodbc.so.1 
> and libodbcinst.so.1; I wonder why you're getting the unversioned ones?

This appears to be a common problem with java packages. Here's one way 
you can try to work around it:

Near the top of your spec file, add this:

%define _use_internal_dependency_generator 0
%define our_find_requires %{_builddir}/%{name}-%{version}/find_requires

(you may need to alter "%{name}-%{version}" to be the name of the 
directory your package source gets unpacked into)

At the end of the %prep section of your spec, add this:

# Kludge to remove bogus odbc dependencies
cat <<EOF >%{our_find_requires}
#!/bin/sh
echo unixODBC
exec %{__find_requires} | /bin/egrep -v '^(libodbc(inst)?\.so)$'
exit 0
EOF
chmod +x %{our_find_requires}
%define __find_requires %{our_find_requires}

That will hopefully result in a sensible set of dependencies being 
generated.

Paul.




More information about the fedora-list mailing list