tor, 30.06.2005 kl. 17.40 skrev Bob Proulx: > > install -m 644 db.h %{buildroot}/usr/local/BerkeleyDB.4.2/include > > install -m 644 db_cxx.h %{buildroot}/usr/local/BerkeleyDB.4.2/include > > install -m 755 .libs/libdb* %{buildroot}/usr/local/BerkeleyDB.4.2/lib > > install -m 755 libdb.a %{buildroot}/usr/local/BerkeleyDB.4.2/lib > > pushd %{buildroot}/usr/local/BerkeleyDB.4.2/lib/ > > ln -s libdb-4.2.so libdb.so > > popd > > The %install script is run with /bin/sh by default. You should not be > using pushd and popd there. Those are not standard commands and would > fail if /bin/sh were a different shell than bash. And you don't need > them here anyway. First off: If you don't get to the bottom - Thanks! Secondly, this is meant for Red Hat, so bash is standard (sh *is* bash). > The common idiom is to perform chdirs in a subshell. Something like this. > > (cd %{buildroot}/usr/local/BerkeleyDB.4.2/lib/ && ln -s libdb-4.2.so libdb.so) Ok. > But you don't need to chdir here at all. Just create the link. > > ln -s libdb-4.2.so %{buildroot}/usr/local/BerkeleyDB.4.2/lib/libdb.so This *works*. But I can't see how. How does rpmbuild know where to find libdb-4.2.so? > > tir, 28.06.2005 kl. 17.55 skrev Bob Proulx: > > > That is not the behavior that I am seeing here. Can you show your > > > spec file? I do this all of the time and it works for me. > > > > Could you please comment? I'm open for everything at the moment ... > > > %files > > > > [...] > > Uhm, your %files section is completely empty. You need to list > something there in order to have your symlinks in the package. This > can't be your actual spec file. No, of course it isn't. I tried to attach the spec file, but it was 4.9 kB and it appears the list doesn't accept anything over 4 kB. So you got what was relevant to my question; my actual %fies section (which works, everything works) is: %files %defattr(-,root,root) /usr/local/BerkeleyDB.4.2/bin/* /usr/local/BerkeleyDB.4.2/lib/* /usr/local/BerkeleyDB.4.2/include/* /usr/local/BerkeleyDB.4.2/docs/* > Since you are trying to package the Berkeley DB which has been > packaged many times before, you might try to find another version of > the package and look at the techniques used by the other packager. > Using http://www.rpmfind.net to find another package might be helpful. Good call. That's how I got the pushd/popd stuff (I'm still learning ;) Really the idea was, that what Sleepycat packaged for rpm building was so utterly useless, that even though I got it to work in the end (by all sorts of sleight of hand), I thought I could build my own from the beginning. And I did. Thanks again! -- mail: tonye@xxxxxxxxxxxxxx http://www.billy.demon.nl