[packages/kinetic-c] - new
qboosh
qboosh at pld-linux.org
Fri Oct 17 21:59:17 CEST 2014
commit 22d802681ba5c9740d1e5de62e671ea11ae7ebab
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Oct 17 21:59:27 2014 +0200
- new
kinetic-c-make.patch | 66 +++++++++++++++++++++++++++++
kinetic-c.spec | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 183 insertions(+)
---
diff --git a/kinetic-c.spec b/kinetic-c.spec
new file mode 100644
index 0000000..5d6620e
--- /dev/null
+++ b/kinetic-c.spec
@@ -0,0 +1,117 @@
+#
+# Conditional build:
+%bcond_without apidocs # do not build and package API docs
+#
+Summary: Kinetic C client library
+Summary(pl.UTF-8): Biblioteka kliencka C Kinetic
+Name: kinetic-c
+Version: 0.6.0
+Release: 1
+License: GPL v2+
+Group: Libraries
+Source0: https://github.com/Seagate/kinetic-c/archive/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 5f88679259cf90b7ccdddbb1cd3b64cc
+Patch0: %{name}-make.patch
+URL: https://github.com/Seagate/kinetic-c/
+%{?with_apidocs:BuildRequires: doxygen}
+BuildRequires: openssl-devel
+BuildRequires: protobuf-c-devel >= 1.0
+BuildRequires: socket99-devel
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+This package contains a library for producing Kinetic C clients for
+interacting with Kinetic object-based storage. The library uses the
+cross-platform Seagate Kinetic protocol for standardizing interaces
+between the Java simulator and Kinetic Device storage clusters.
+
+%description -l pl.UTF-8
+Ten pakiet zawiera bibliotekę do tworzenia w języku C klientów Kinetic
+mających współpracować z opartym na obiektach systemem przechowywania
+danych Kinetic. Biblioteka wykorzystuje wieloplatformowy protokół
+Seagate Kinetic do standaryzacji interfejsów między symulatorem w
+Javie a klastrami przechowującymi dane na urządzeniach Kinetic.
+
+%package devel
+Summary: Header files for Kinetic C library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki C Kinetic
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+Header files for Kinetic C library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki C Kinetic.
+
+%package static
+Summary: Static Kinetic C library
+Summary(pl.UTF-8): Statyczna biblioteka C Kinetic
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static Kinetic C library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka C Kinetic.
+
+%package apidocs
+Summary: Kinetic C API documentation
+Summary(pl.UTF-8): Dokumentacja API biblioteki C Kinetic
+Group: Documentation
+
+%description apidocs
+API documentation for Kinetic C library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki C Kinetic.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+LDFLAGS="%{rpmldflags}" \
+%{__make} \
+ CC="%{__cc}" \
+ OPTIMIZE="%{rpmcflags} %{rpmcppflags}"
+
+%if %{with apidocs}
+doxygen config/Doxyfile
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+ PREFIX=$RPM_BUILD_ROOT%{_prefix} \
+ LIB=%{_lib}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README.md RELEASE.md
+%attr(755,root,root) %{_libdir}/libkinetic-c-client.%{version}.so
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libkinetic-c-client.so
+%{_includedir}/kinetic_client.h
+%{_includedir}/kinetic_proto.h
+%{_includedir}/kinetic_types.h
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libkinetic-c-client.a
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc docs/*.{css,html,js,png}
+%endif
diff --git a/kinetic-c-make.patch b/kinetic-c-make.patch
new file mode 100644
index 0000000..6f055af
--- /dev/null
+++ b/kinetic-c-make.patch
@@ -0,0 +1,66 @@
+--- kinetic-c-0.6.0/Makefile.orig 2014-10-07 00:54:46.000000000 +0200
++++ kinetic-c-0.6.0/Makefile 2014-10-14 22:04:07.222209100 +0200
+@@ -12,9 +12,10 @@
+ SOCKET99 = ./vendor/socket99
+ VND_INC = ./vendor
+ BIN = $(BIN_DIR)/kinetic_client
+-LDFLAGS += -lm -l ssl -l kinetic-c-client -l crypto
++LDFLAGS += -lm -lssl -lcrypto -lsocket99 -lprotobuf-c
+
+ PREFIX ?= /usr/local
++LIB ?= lib
+ INSTALL ?= install
+ RM ?= rm
+
+@@ -39,10 +40,9 @@
+ LIB_INCS = -I$(LIB_DIR) -I$(PUB_INC) -I$(PBC_INC) -I$(VND_INC)
+ LIB_DEPS = $(PUB_INC)/kinetic_client.h $(PUB_INC)/kinetic_types.h $(LIB_DIR)/kinetic_connection.h $(LIB_DIR)/kinetic_hmac.h $(LIB_DIR)/kinetic_logger.h $(LIB_DIR)/kinetic_message.h $(LIB_DIR)/kinetic_nbo.h $(LIB_DIR)/kinetic_operation.h $(LIB_DIR)/kinetic_pdu.h $(LIB_DIR)/kinetic_proto.h $(LIB_DIR)/kinetic_socket.h
+ # LIB_OBJ = $(patsubst %,$(OUT_DIR)/%,$(LIB_OBJS))
+-LIB_OBJS = $(OUT_DIR)/kinetic_nbo.o $(OUT_DIR)/kinetic_operation.o $(OUT_DIR)/kinetic_pdu.o $(OUT_DIR)/kinetic_proto.o $(OUT_DIR)/kinetic_socket.o $(OUT_DIR)/kinetic_message.o $(OUT_DIR)/kinetic_logger.o $(OUT_DIR)/kinetic_hmac.o $(OUT_DIR)/kinetic_connection.o $(OUT_DIR)/kinetic_types.o $(OUT_DIR)/kinetic_client.o $(OUT_DIR)/socket99.o $(OUT_DIR)/protobuf-c.o
++LIB_OBJS = $(OUT_DIR)/kinetic_nbo.o $(OUT_DIR)/kinetic_operation.o $(OUT_DIR)/kinetic_pdu.o $(OUT_DIR)/kinetic_proto.o $(OUT_DIR)/kinetic_socket.o $(OUT_DIR)/kinetic_message.o $(OUT_DIR)/kinetic_logger.o $(OUT_DIR)/kinetic_hmac.o $(OUT_DIR)/kinetic_connection.o $(OUT_DIR)/kinetic_types.o $(OUT_DIR)/kinetic_client.o
+
+-# default: $(KINETIC_SO)
+-default: $(KINETIC_LIB)
++default: $(KINETIC_LIB) $(KINETIC_SO)
+
+ test_all: Rakefile $(LIB_OBJS)
+ @echo
+@@ -101,7 +101,7 @@
+ @echo --------------------------------------------------------------------------------
+ @echo Building $(KINETIC_SO) dynamic library
+ @echo --------------------------------------------------------------------------------
+- $(CC) $(LIB_OBJS) -shared ${LDFLAGS} -o ${KINETIC_SO}
++ $(CC) $(LIB_OBJS) -shared ${LDFLAGS} -Wl,-soname,${KINETIC_SO} -o ${KINETIC_SO}
+
+ libso: $(KINETIC_SO)
+
+@@ -170,7 +171,7 @@
+
+ # Installation
+ # Need to re-add ${KINETIC_SO}, once ready
+-install: ${KINETIC_LIB} VERSION
++install: ${KINETIC_SO} ${KINETIC_LIB} VERSION
+ @echo
+ @echo --------------------------------------------------------------------------------
+ @echo Installing $(PROJECT) v$(VERSION) into $(PREFIX)
+@@ -178,15 +179,13 @@
+ @echo
+ @echo You may be prompted for your password in order to proceed.
+ @echo
+- ${INSTALL} -d ${PREFIX}/lib/
+- ${INSTALL} -c ${KINETIC_LIB} ${PREFIX}/lib/
+- # ${INSTALL} -c ${KINETIC_SO} ${PREFIX}/lib/
++ ${INSTALL} -d ${PREFIX}/${LIB}/
++ ${INSTALL} -c ${KINETIC_LIB} ${PREFIX}/${LIB}/
++ ${INSTALL} -c ${KINETIC_SO} ${PREFIX}/${LIB}/ ; ln -s ${KINETIC_SO} ${PREFIX}/${LIB}/libkinetic-c-client.so
+ ${INSTALL} -d ${PREFIX}/include/
+ ${INSTALL} -c ./include/${API_NAME}.h ${PREFIX}/include/
+ ${INSTALL} -c ./include/kinetic_types.h ${PREFIX}/include/
+ ${INSTALL} -c ./src/lib/kinetic_proto.h ${PREFIX}/include/
+- ${INSTALL} -d ${PREFIX}/include/protobuf-c
+- ${INSTALL} -c ./vendor/protobuf-c/protobuf-c/protobuf-c.h ${PREFIX}/include/protobuf-c/
+
+ uninstall:
+ @echo
+--- ../BUILD/kinetic-c-0.6.0/Makefile.orig 2014-10-17 18:57:11.958468832 +0200
++++ ../BUILD/kinetic-c-0.6.0/Makefile 2014-10-17 21:53:09.594692437 +0200
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kinetic-c.git/commitdiff/22d802681ba5c9740d1e5de62e671ea11ae7ebab
More information about the pld-cvs-commit
mailing list