From: Jakub Bogusz Date: Fri, 17 Oct 2014 19:59:27 +0000 (+0200) Subject: - new X-Git-Tag: auto/th/kinetic-c-0.12.0-1~5 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?p=packages%2Fkinetic-c.git;a=commitdiff_plain;h=22d802681ba5c9740d1e5de62e671ea11ae7ebab - new --- 22d802681ba5c9740d1e5de62e671ea11ae7ebab 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 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