Skip to contentSkip to conversation

ceph.spec.in: fixes and additions for the rpm spec file

PATCH In review Christian Brunner 2 participants 4 messages Jul 9, 2010 – Sep 24, 2010

lore
Share & tools
lore
#0 lore raw

cover ceph.spec.in: fixes and additions for the rpm spec file

Hi,

in the following I'll send a few fixes and additions for the rpm spec file. Please commit the patches that you like to the repository.

Regards,
Christian

#1 lore raw
Quoted 4 lines · Christian Brunner

Hi,

in the following I'll send a few fixes and additions for the rpm spec file. Please commit the patches that you like to the repository.

Thanks, committing now.

There's one other pitfall I ran into with the debs... by default symbols are stripped from all binaries, but the libcls_rbd.so shared object needs to _not_ be stripped, or else the class loading doesn't work. I have no idea where/when/if this is done during the rpmbuild. The version in the built package should look like so:

$ nm .libs/libcls_rbd.so
000000000000797d T __cls_init
000000000020ce50 D __cls_name
000000000020ce7c B __cls_name__rbd
000000000020ce78 B __cls_ver__1_1
000000000020ce48 D __cls_ver_maj
000000000020ce4c D __cls_ver_min

Thanks-
sage

#2 lore raw

2010/7/9 Sage Weil <[email protected]>:

Quoted 7 lines

There's one other pitfall I ran into with the debs... by default symbols are stripped from all binaries, but the libcls_rbd.so shared object needs to _not_ be stripped, or else the class loading doesn't work.  I have no idea where/when/if this is done during the rpmbuild.  The version in the built package should look like so:

Quoted 7 lines
$ nm .libs/libcls_rbd.so
000000000000797d T __cls_init
000000000020ce50 D __cls_name
000000000020ce7c B __cls_name__rbd
000000000020ce78 B __cls_ver__1_1
000000000020ce48 D __cls_ver_maj
000000000020ce4c D __cls_ver_min

After setting up a new build system I ran into this, too. I've now looked at this a bit closer and was able to find a workaround. A patch for the spec file is attached.

Christian

---
 ceph.spec.in |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
ceph.spec.in +5 -0
index c92ff9d..ab91f7b 100644
@@ -75,6 +75,11 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/tmp/
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/stat
 
+# To avoid that libcls_rbd.so.1.0.0 is being striped by find-debuginfo.sh
+# we pretend that the debug symbols have already been extracted
+mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/%{_libdir}/rados-classes/
+touch $RPM_BUILD_ROOT/usr/lib/debug/%{_libdir}/rados-classes/libcls_rbd.so.1.0.0.debug
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 

--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#3 lore raw
Quoted 16 lines · Christian Brunner

2010/7/9 Sage Weil <[email protected]>:

Quoted 7 lines

There's one other pitfall I ran into with the debs... by default symbols are stripped from all binaries, but the libcls_rbd.so shared object needs to _not_ be stripped, or else the class loading doesn't work.  I have no idea where/when/if this is done during the rpmbuild.  The version in the built package should look like so:

Quoted 7 lines
$ nm .libs/libcls_rbd.so
000000000000797d T __cls_init
000000000020ce50 D __cls_name
000000000020ce7c B __cls_name__rbd
000000000020ce78 B __cls_ver__1_1
000000000020ce48 D __cls_ver_maj
000000000020ce4c D __cls_ver_min
Quoted 5 lines

After setting up a new build system I ran into this, too. I've now looked at this a bit closer and was able to find a workaround. A patch for the spec file is attached.

Christian

I'm sorry. Sending the patch with cut and paste was a bad idea. Here is the patch again...

---
 ceph.spec.in |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
ceph.spec.in +5 -0
index c92ff9d..ab91f7b 100644
@@ -75,6 +75,11 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/tmp/
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/stat
 
+# To avoid that libcls_rbd.so.1.0.0 is beeing stiped by find-debuginfo.sh
+# we petend that the debug symbols have already been extracted
+mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/%{_libdir}/rados-classes/
+touch $RPM_BUILD_ROOT/usr/lib/debug/%{_libdir}/rados-classes/libcls_rbd.so.1.0.0.debug
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
Signature · 6 lines
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html