Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=720998
--- Comment #5 from Richard Shaw <hobbes1069(a)gmail.com> 2011-07-14 13:51:40 EDT ---
(In reply to comment #3)
(In reply to comment #2)
> Hey,
>
> Just some quick questions about the spec file.
>
> I'm pretty sure my patch update had cmake creating the correct library
> symlinks. Is there a particular reason you want to create them manually? Also,
> since you've hardcoded the names in %install and %files, you'll have to fix
> this on every version change.
Really?
Yup! But I was concentrating so much on the build/cmake side I forgot to update
the install side. My Fault!
With this in the spec:
--------------------------------------------------------------
# Install includes
install -d $RPM_BUILD_ROOT/%{_includedir}/NL/
cp -av src/NL/nl.h $RPM_BUILD_ROOT/%{_includedir}/
find src/NL/ -name "*.h" ! -name "nl.h" -execdir cp -av '{}'
$RPM_BUILD_ROOT/%{_includedir}/NL/ \;
# Create the .so symlinks
#pushd $RPM_BUILD_ROOT/%{_libdir}
# ln -sfv libopennl.so.3.2.1 libopennl.so
# ln -sfv libopennl.so.3.2.1 libopennl.so.3
#popd
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc doc
#%{_libdir}/libopennl.so.3.2.1
#%{_libdir}/libopennl.so.3
They're not commented out in mine but I instead used one line:
%{_libdir}/libopennl.so.*
That way it picks up all the versioned libraries and leaves the .so for the
-devel package.
To fix "%install" I first need to understand why you're using the
"install"
command. Generally mkdir and cp (with appropriate option, -p, -a, -r, etc.) is
sufficient. In my spec files (and many others I've learned from) install is
generally used to correct things like permissions. Cmake *SHOULD* create
libraries with correct permissions. If not, rpmlint will complain about it.
That being said I think the library portion of %install could look like this:
"""
%install
# Install library files
mkdir -p $RPM_BUILD_ROOT/%{_libdir}
cp -p build/linux-Release/binaries/lib/libopennl.so*
$RPM_BUILD_ROOT/%{_libdir}/
"""
Which will copy the library and symlinks (instead of just the library, which is
what I forgot to fix). Also all the above changes will make all the global
variables at the top of the spec unnecessary.
--
Configure bugmail:
https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.