[libtpcimgio/f14] shared PIC library

Tom Callaway spot at fedoraproject.org
Mon Aug 8 18:30:09 UTC 2011


commit 5a85d5b2bda83a8f0669ff46a500731639c89926
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date:   Mon Aug 8 14:29:53 2011 -0400

    shared PIC library

 libtpcimgio.spec |   35 ++++++++++++++++++++++++++++++-----
 1 files changed, 30 insertions(+), 5 deletions(-)
---
diff --git a/libtpcimgio.spec b/libtpcimgio.spec
index 4be2a27..94e1e71 100644
--- a/libtpcimgio.spec
+++ b/libtpcimgio.spec
@@ -1,12 +1,13 @@
 Name:           libtpcimgio
 Version:        1.5.10
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Turku PET Centre for image file input and output procedures
 
 License:        LGPLv2+
 URL:            http://www.turkupetcentre.net/software/libdoc/%{name}/index.html
 Source0:        http://www.turkupetcentre.net/software/libsrc/%{name}_1_5_10_src.zip
 Patch0:         %{name}-add-header.patch
+Patch1:         %{name}-shared.patch
 BuildRequires:  libtpcmisc-devel
 BuildRequires:  doxygen dos2unix
 BuildRequires:  graphviz
@@ -21,7 +22,6 @@ partly interfile formats.
 
 %package        devel
 Summary:        Development files for %{name}
-Provides:       %{name}-static = %{version}-%{release}
 Requires:       %{name}%{?_isa} = %{version}-%{release}
 
 %description    devel
@@ -29,9 +29,16 @@ The %{name}-devel package contains libraries and header files for
 developing applications that use %{name}.
 
 
+%package        static
+Summary:        Static libraries for %{name}
+
+%description    static
+This package contains static libraries for %{name}.
+
 %prep
 %setup -q -n %{name}
 %patch0 -p1
+%patch1 -p1 -b .shared
 sed -i "/^CFLAGS/d" Makefile
 
 # Fix encodings and line endings.
@@ -44,9 +51,10 @@ iconv -f ISO_8859-1 -t utf8 -o History.new History && mv -f History.new History
 # includedirs since it doesn't find them on their own
 # the _XOPEN_SOURCE for timezone declaration
 # undefine STRICT_ANSI since c99 sets it, and it conflicts with the strings.h declaration
+# PIC for shared objects
 
-export CFLAGS="%{optflags} -std=c99 -Iinclude/ -I%{_includedir}/libtpcmisc/ -D_XOPEN_SOURCE -U__STRICT_ANSI__"
-export CXXFLAGS="%{optflags}"
+export CFLAGS="%{optflags} -std=c99 -Iinclude/ -I%{_includedir}/libtpcmisc/ -D_XOPEN_SOURCE -U__STRICT_ANSI__ -fPIC -DPIC"
+export CXXFLAGS="%{optflags} -fPIC -DPIC"
 make %{?_smp_mflags}
 
 # Build doxygen documentation
@@ -62,18 +70,35 @@ install -d $RPM_BUILD_ROOT%{_bindir}
 
 install -p -m 0755 %{name} -t $RPM_BUILD_ROOT%{_bindir}/
 install -p -m 0644 %{name}.a -t $RPM_BUILD_ROOT%{_libdir}/
+install -p -m 0755 %{name}.so.0.0.0 -t $RPM_BUILD_ROOT%{_libdir}/
 install -p -m 0644 include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/
 
+pushd $RPM_BUILD_ROOT%{_libdir}/
+ln -s %{name}.so.0.0.0 %{name}.so.0
+ln -s %{name}.so.0.0.0 %{name}.so
+popd
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
 %files
 %doc History Readme TODO
 %{_bindir}/%{name}
+%{_libdir}/%{name}.so.*
 
 %files devel
 %doc doc/%{name}/*
-%{_libdir}/%{name}.a
+%{_libdir}/%{name}.so
 %{_includedir}/*
 
+%files static
+%{_libdir}/%{name}.a
+
 %changelog
+* Mon Aug 08 2011 Tom Callaway <spot at fedoraproject.org> - 1.5.10-4
+- compile with -fPIC so that xmedcon can use it in shared libs later
+- build shared libs, put static libs in separate subpackage
+
 * Mon Aug 01 2011 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.5.10-3
 - Add graphviz to BR
 


More information about the scm-commits mailing list