My spec file:
http://pastebin.com/tfPUBv0c

I patched it to remove patches that don't apply cleanly to 1.0.1c and to get it to build a ix86 package properly under a x86_64 host.

I'm building a rpm package of OpenSSL 1.0.1c for my F14 installation but I'm missing something but now knowing what.

[buurin@htcore SPECS]$ rpm -q --provides openssl.x86_64
config(openssl) = 1.0.0a-1.fc12
lib4758cca.so()(64bit)
libaep.so()(64bit)
libatalla.so()(64bit)
libcapi.so()(64bit)
libchil.so()(64bit)
libcrypto.so.10()(64bit)
libcswift.so()(64bit)
libgmp.so()(64bit)
libnuron.so()(64bit)
libpadlock.so()(64bit)
libssl.so.10()(64bit)
libsureware.so()(64bit)
libubsec.so()(64bit)
openssl = 1.0.0a-1.fc12
openssl(x86-64) = 1.0.0a-1.fc12
[buurin@htcore SPECS]$

[buurin@htcore SPECS]$ rpm -qp --provides ../RPMS/x86_64/openssl-1.0.1c-1.pig.x86_64.rpm
config(openssl) = 1.0.1c-1.pig
lib4758cca.so()(64bit)
libaep.so()(64bit)
libatalla.so()(64bit)
libcapi.so()(64bit)
libchil.so()(64bit)
libcrypto.so.1.0.0()(64bit)
libcswift.so()(64bit)
libgmp.so()(64bit)
libnuron.so()(64bit)
libpadlock.so()(64bit)
libssl.so.1.0.0()(64bit)
libsureware.so()(64bit)
libubsec.so()(64bit)
openssl = 1.0.1c-1.pig
openssl(x86-64) = 1.0.1c-1.pig
[buurin@htcore SPECS]$

The openssl rpm from Fedora provides libcrypto.so.10 but has it as a symlink to libcrypto.so.1.0.0a. Here I have the same symlink, that means my package should also provide libcrypto.so.10. But no, it only provides libcrypto.so.1.0.0 (which is how the shared object is named in vanilla OpenSSL). What did I do wrong?

Another problem is that I can't get the included thread test program to compile properly when building for i686; it just doesn't want to receive the required -m32 flag.