[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