commit dad75ce7977c9bd68718060772ed4173b942265a
Author: Elan Ruusamäe <[email protected]>
Date:   Thu Jul 30 16:05:23 2015 +0300

    build shared library

 mcrouter.spec    | 62 ++++++++++++++++++++++++++++++++++++++++++-
 shared-lib.patch | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+), 1 deletion(-)
---
diff --git a/mcrouter.spec b/mcrouter.spec
index 4ad48b9..09b673c 100644
--- a/mcrouter.spec
+++ b/mcrouter.spec
@@ -1,12 +1,13 @@
 Summary:       Memcached protocol router for scaling memcached deployments
 Name:          mcrouter
 Version:       0.1.0
-Release:       1
+Release:       1.1
 License:       BSD
 Group:         Daemons
 Source0:       
https://github.com/facebook/mcrouter/archive/v%{version}/%{name}-%{version}.tar.gz
 # Source0-md5: 5cc3e44ee2ff027e8b4077494222610c
 Patch0:                am-subdir-objects.patch
+Patch1:                shared-lib.patch
 URL:           https://github.com/facebook/mcrouter
 BuildRequires: autoconf >= 2.59
 BuildRequires: automake
@@ -21,20 +22,57 @@ BuildRequires:      libstdc++-devel
 BuildRequires: libtool
 BuildRequires: openssl-devel
 BuildRequires: ragel
+BuildRequires: rpmbuild(macros) >= 1.583
 BuildRequires: zlib-devel
+Requires:      %{name}-libs = %{version}-%{release}
 # needs folly, which builds on x86-64 only
 ExclusiveArch: %{x8664}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+# it links to -lfolly, but still symbols seem missing. meh
+%define                skip_post_check_so      libmcroutercore.so.0.0.0 
libmcrouter.so.0.0.0
+
 %description
 Mcrouter is a memcached protocol router for scaling memcached
 <http://memcached.org/> deployments. It's a core component of cache
 infrastructure at Facebook and Instagram where mcrouter handles almost
 5 billion requests per second at peak.
 
+%package libs
+Summary:       mcrouter shared libraries
+Group:         Libraries
+
+%description libs
+mcrouter shared libraries.
+
+%package devel
+Summary:       Header files for %{name} library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki %{name}
+Group:         Development/Libraries
+Requires:      %{name}-libs = %{version}-%{release}
+
+%description devel
+Header files for %{name} library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki %{name}.
+
+%package static
+Summary:       Static %{name} library
+Summary(pl.UTF-8):     Statyczna biblioteka %{name}
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description static
+Static %{name} library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka %{name}.
+
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 cd mcrouter
@@ -54,7 +92,29 @@ rm -rf $RPM_BUILD_ROOT
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
 %doc README.md LICENSE PATENTS
 %attr(755,root,root) %{_bindir}/mcrouter
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmcrouter.so.*.*.*
+%ghost %{_libdir}/libmcrouter.so.0
+%attr(755,root,root) %{_libdir}/libmcroutercore.so.*.*.*
+%ghost %{_libdir}/libmcroutercore.so.0
+
+%files devel
+%defattr(644,root,root,755)
+%{_libdir}/libmcrouter.la
+%{_libdir}/libmcrouter.so
+%{_libdir}/libmcroutercore.la
+%{_libdir}/libmcroutercore.so
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libmcrouter.a
+%{_libdir}/libmcroutercore.a
diff --git a/shared-lib.patch b/shared-lib.patch
new file mode 100644
index 0000000..4641d93
--- /dev/null
+++ b/shared-lib.patch
@@ -0,0 +1,81 @@
+--- b/mcrouter/Makefile.am
++++ mcrouter-0.1.0/mcrouter/Makefile.am        2015-07-30 15:32:15.698144074 
+0300
+@@ -2,7 +2,7 @@
+ 
+ ACLOCAL_AMFLAGS = -I m4
+ 
+-noinst_LIBRARIES = libmcroutercore.a
++lib_LTLIBRARIES = libmcroutercore.la
+ bin_PROGRAMS = mcrouter
+ 
+ BUILT_SOURCES = \
+@@ -19,7 +19,7 @@
+   lib/mc/ascii_client.c \
+   lib/network/McAsciiParser-gen.cpp
+ 
+-libmcroutercore_a_SOURCES = \
++libmcroutercore_la_SOURCES = \
+   async.cpp \
+   async.h \
+   awriter.h \
+@@ -187,5 +187,6 @@
+ 
+-libmcroutercore_a_CPPFLAGS = -Ioss_include
++libmcroutercore_la_CPPFLAGS = -Ioss_include
++libmcroutercore_la_LIBADD = -lfolly
+ 
+-mcrouter_LDADD = libmcroutercore.a lib/libmcrouter.a
++mcrouter_LDADD = $(top_builddir)/libmcroutercore.la 
$(top_builddir)/lib/libmcrouter.la
+ mcrouter_CPPFLAGS = -Ioss_include
+--- b/mcrouter/lib/Makefile.am
++++ mcrouter-0.1.0/mcrouter/lib/Makefile.am    2015-07-30 15:05:52.049330939 
+0300
+@@ -1,8 +1,8 @@
+ SUBDIRS = . config cycles fbi network test
+ 
+-noinst_LIBRARIES = libmcrouter.a
++lib_LTLIBRARIES = libmcrouter.la
+ 
+-libmcrouter_a_SOURCES = \
++libmcrouter_la_SOURCES = \
+   CacheClientStats.h \
+   Ch3HashFunc.h \
+   Crc32HashFunc.h \
+@@ -179,2 +179,3 @@
+-libmcrouter_a_CPPFLAGS = -I$(top_srcdir)/oss_include
+-libmcrouter_a_CFLAGS = -I$(top_srcdir)/oss_include
++libmcrouter_la_CPPFLAGS = -I$(top_srcdir)/oss_include
++libmcrouter_la_CFLAGS = -I$(top_srcdir)/oss_include
++libmcrouter_la_LIBADD = -lfolly
+--- a/mcrouter/routes/test/Makefile.am
++++ b/mcrouter/routes/test/Makefile.am
+@@ -11,4 +11,4 @@ mcrouter_routes_test_SOURCES = \
+   WarmUpRouteTest.cpp
+ 
+ mcrouter_routes_test_CPPFLAGS = -I$(top_srcdir)/oss_include
+-mcrouter_routes_test_LDADD = $(top_builddir)/libmcroutercore.a 
$(top_builddir)/lib/libmcrouter.a -lgtest -lfollybenchmark
++mcrouter_routes_test_LDADD = $(top_builddir)/libmcroutercore.la 
$(top_builddir)/lib/libmcrouter.la -lgtest -lfollybenchmark
+--- a/mcrouter/test/cpp_unit_tests/Makefile.am
++++ b/mcrouter/test/cpp_unit_tests/Makefile.am
+@@ -16,7 +16,7 @@ mcrouter_test_SOURCES = \
+   TokenBucketTest.cpp
+ 
+ mcrouter_test_CPPFLAGS = -I$(top_srcdir)/oss_include
+-mcrouter_test_LDADD = $(top_builddir)/libmcroutercore.a 
$(top_builddir)/lib/libmcrouter.a -lgtest -lgtestmain
++mcrouter_test_LDADD = $(top_builddir)/libmcroutercore.la 
$(top_builddir)/lib/libmcrouter.la -lgtest -lgtestmain
+ 
+ mcrouter_libmc_test_SOURCES = \
+   libmcrouter_test.cpp \
+@@ -26,4 +26,4 @@ mcrouter_libmc_test_SOURCES = \
+   MemcacheLocal.h
+ 
+ mcrouter_libmc_test_CPPFLAGS = -I$(top_srcdir)/oss_include
+-mcrouter_libmc_test_LDADD = $(top_builddir)/libmcroutercore.a 
$(top_builddir)/lib/libmcrouter.a -lgtest
++mcrouter_libmc_test_LDADD = $(top_builddir)/libmcroutercore.la 
$(top_builddir)/lib/libmcrouter.la -lgtest
+--- mcrouter-0.1.0/mcrouter/lib/network/Makefile.am~   2015-06-23 
05:21:52.000000000 +0300
++++ mcrouter-0.1.0/mcrouter/lib/network/Makefile.am    2015-07-30 
14:30:38.322797598 +0300
+@@ -8,4 +8,4 @@
+   test/MockMcServer.cpp
+ 
+ mock_mc_server_CPPFLAGS = -I$(top_srcdir)/oss_include
+-mock_mc_server_LDADD = $(top_builddir)/lib/libmcrouter.a
++mock_mc_server_LDADD = $(top_builddir)/lib/libmcrouter.la
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mcrouter.git/commitdiff/dad75ce7977c9bd68718060772ed4173b942265a

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to