RPM build spec help
Dan Track
dan.track at gmail.com
Tue Mar 6 09:30:45 UTC 2007
On 3/5/07, Sam Varshavchik <mrsam at courier-mta.com> wrote:
> Dan Track writes:
>
> > Hi
> >
> > I hope someone can help. Basically I want to access an environment
> > variable and place it in my macro in my spec file.
> >
> > If I try to define a macro like the following:
> >
> > %define oracle_home $ORACLE_HOME
> >
> > and then try to build it "rpmbuild -ba perl-DBD-Oracle"
> >
> > I get the following error:
> > error: line 18: Dependency tokens must begin with alpha-numeric, '_'
> > or '/': BuildRequires: $ORACLE_HOME/lib/libclntsh.so
> >
> > On line 18 I have the following:
> > BuildRequires: %{oracle_home}/lib/libclntsh.so
> >
> > Any ideas how I can resolve this?
>
> %{expand:%%define oracle_home %(echo $ORACLE_HOME)}
>
> However, this is considered to be bad practice. RPM build specs should not
> depend on the parent environment, because they won't be reproducible. The
> correct way to do this is:
>
> 1) You should install Oracle via rpm. Create an rpm package for Oracle, if
> necessary
>
> 2) Then, your BuildRequires becomes simply "BuildRequires: oracle"
>
> 3) Then, your %prep, %build, and %install sections would initialize
> ORACLE_HOME accordingly (use the same snippet in all three cases).
>
>
> --
> fedora-list mailing list
> fedora-list at redhat.com
> To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
>
>
Hi
Thanks for the tip, it helped. Sadly I can't make the oracle install
into an rpm as the local DBA is a bit conservative in his approach and
doesn't want to do something different from his normal installation
method.
I having a problem though. If I include the following
BuildRequires: %{oracle_home}/lib/libclntsh.so.10.1
Then try to build it I get:
rpmbuild -ba perl-DBD-Oracle.spec
error: Failed build dependencies:
/opt/app/oracle/product/10.2.0/lib/libclntsh.so is needed by
perl-DBD-Oracle-1.16-4
although the file is there
ls -l /opt/app/oracle/product/10.2.0/lib/libclntsh.so
lrwxrwxrwx 1 oracle oinstall 17 Jul 20 2006
/opt/app/oracle/product/10.2.0/lib/libclntsh.so -> libclntsh.so.10.1
Any ideas why this would be happening?
Thanks in advance
Dan
More information about the users
mailing list