# Figure out how deep down bindir is
touch $RPM_BUILD_ROOT/rootfile
root=..
while [ ! -r $RPM_BUILD_ROOT/%{_bindir}/${root}/rootfile ] ; do
root=${root}/..
done
# Install symlink from %{_bindir} to %{_datadir}
%{__ln_s} ${root}/%{_datadir}/some.file $RPM_BUILD_ROOT/%{_bindir}/some.file
# Clean up temporary files in buildroot
%{__rm} -f $RPM_BUILD_ROOT/rootfile
Technique as used in Fedora sendmail package.
Good news for you -- you should no longer be required to deal with this
drivel in FC3. It's a known issue, and my understanding that FC3's rpm uses
the internal glob() function, instead of glibc's which breaks rpm.
I rebuilt rpm for FC2, using the internal glob() func, and this fixed the
problem.
I think this should really be an errata for rpm for FC2. Even if it's only
the same version of rpm as released with FC2, but with the configure option
to enable the internal glob().