]> git.pld-linux.org Git - packages/kinetic-c.git/commitdiff
- new
authorJakub Bogusz <qboosh@pld-linux.org>
Fri, 17 Oct 2014 19:59:27 +0000 (21:59 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Fri, 17 Oct 2014 19:59:27 +0000 (21:59 +0200)
kinetic-c-make.patch [new file with mode: 0644]
kinetic-c.spec [new file with mode: 0644]

diff --git a/kinetic-c-make.patch b/kinetic-c-make.patch
new file mode 100644 (file)
index 0000000..6f055af
--- /dev/null
@@ -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
diff --git a/kinetic-c.spec b/kinetic-c.spec
new file mode 100644 (file)
index 0000000..5d6620e
--- /dev/null
@@ -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
This page took 0.10299 seconds and 4 git commands to generate.