add spec and package for building

This commit is contained in:
lmz 2021-08-13 22:46:40 +00:00
parent 2f9be57ecb
commit 3dc5af60e5
4 changed files with 168 additions and 0 deletions

View File

@ -0,0 +1,12 @@
diff -ur tsg--liberasurecode-4e1290ea61e5/doc/Makefile.am tsg--liberasurecode-4e1290ea61e5-p3/doc/Makefile.am
--- tsg--liberasurecode-4e1290ea61e5/doc/Makefile.am 2015-03-13 01:47:05.000000000 -0600
+++ tsg--liberasurecode-4e1290ea61e5-p3/doc/Makefile.am 2015-03-30 21:49:20.078340707 -0600
@@ -1,6 +1,6 @@
DOC_MODULE=@PACKAGE@
-HTML_DIR=$(datadir)/$(DOC_MODULE)/html
-TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+HTML_DIR=$(datadir)/doc/$(DOC_MODULE)/html
+TARGET_DIR=$(HTML_DIR)
all-local: html/index.html

View File

@ -0,0 +1,72 @@
This patch undoes parts of the following upstream patches:
commit 19442df2cd9a5bc8ec4deded7046ea7aca1d50a2
Author: Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp>
Date: Mon Feb 20 14:12:43 2017 -0800
Fix warning on automake tool
..........
Change-Id: I0e79bed7755a1f286b746a70fcf56fdc972bfd5d
commit b046ff7091e710ecafb31b13678e0092fd1d3fd7
Author: Ondřej Nový <novy@ondrej.org>
Date: Sun Sep 30 12:23:22 2018 +0200
Fix building with LD_LIBRARY_PATH set
..........
Change-Id: Ib7a1d6b839d4a207ee0471b55233e1ce5d958705
diff -ur liberasurecode-1.6.1/Makefile.am liberasurecode-1.6.1-p3/Makefile.am
--- liberasurecode-1.6.1/Makefile.am 2019-05-24 08:10:22.000000000 -0500
+++ liberasurecode-1.6.1-p3/Makefile.am 2020-02-05 21:12:35.031620770 -0600
@@ -46,20 +46,38 @@
$(LN_S) liberasurecode/config_liberasurecode.h)
test: check
- @./test/liberasurecode_test
- @./test/alg_sig_test
- @./test/test_xor_hd_code
- @./test/libec_slap
+ $(eval SONAMES := $(shell find $(abs_top_builddir) -name '*.so'))
+ $(eval SODIRS := $(dir $(SONAMES)))
+ $(eval LD_LIBRARY_PATH := LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(subst / ,/:,$(SODIRS))")
+ $(eval DYLD_LIBRARY_PATH := DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(subst / ,/:,$(SODIRS))")
+ $(eval DYLD_FALLBACK_LIBRARY_PATH := DYLD_FALLBACK_LIBRARY_PATH=$(DYLD_FALLBACK_LIBRARY_PATH):"$(subst / ,/:,$(SODIRS))")
+ @$(LD_LIBRARY_PATH) $(DYLD_LIBRARY_PATH) $(DYLD_FALLBACK_LIBRARY_PATH) \
+ ./test/liberasurecode_test
+ @$(LD_LIBRARY_PATH) $(DYLD_LIBRARY_PATH) $(DYLD_FALLBACK_LIBRARY_PATH) \
+ ./test/alg_sig_test
+ @$(LD_LIBRARY_PATH) $(DYLD_LIBRARY_PATH) $(DYLD_FALLBACK_LIBRARY_PATH) \
+ ./test/test_xor_hd_code
+ @$(LD_LIBRARY_PATH) $(DYLD_LIBRARY_PATH) $(DYLD_FALLBACK_LIBRARY_PATH) \
+ ./test/libec_slap
VALGRIND_EXEC_COMMAND = $(LIBTOOL_COMMAND) valgrind --tool=memcheck \
--error-exitcode=1 --leak-check=yes --track-fds=yes \
--malloc-fill=A5 --free-fill=DE --fullpath-after=. --trace-children=yes
valgrind-test: check
- @$(VALGRIND_EXEC_COMMAND) ./test/alg_sig_test
- @$(VALGRIND_EXEC_COMMAND) ./test/liberasurecode_test
- @$(VALGRIND_EXEC_COMMAND) ./test/test_xor_hd_code
- @$(VALGRIND_EXEC_COMMAND) ./test/libec_slap
+ $(eval SONAMES := $(shell find $(abs_top_builddir) -name '*.so'))
+ $(eval SODIRS := $(dir $(SONAMES)))
+ $(eval LD_LIBRARY_PATH := LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(subst / ,/:,$(SODIRS))")
+ $(eval DYLD_LIBRARY_PATH := DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(subst / ,/:,$(SODIRS))")
+ $(eval DYLD_FALLBACK_LIBRARY_PATH := DYLD_FALLBACK_LIBRARY_PATH=$(DYLD_FALLBACK_LIBRARY_PATH):"$(subst / ,/:,$(SODIRS))")
+ @$(LD_LIBRARY_PATH) $(DYLD_LIBRARY_PATH) $(DYLD_FALLBACK_LIBRARY_PATH) \
+ $(VALGRIND_EXEC_COMMAND) ./test/alg_sig_test
+ @$(LD_LIBRARY_PATH) $(DYLD_LIBRARY_PATH) $(DYLD_FALLBACK_LIBRARY_PATH) \
+ $(VALGRIND_EXEC_COMMAND) ./test/liberasurecode_test
+ @$(LD_LIBRARY_PATH) $(DYLD_LIBRARY_PATH) $(DYLD_FALLBACK_LIBRARY_PATH) \
+ $(VALGRIND_EXEC_COMMAND) ./test/test_xor_hd_code
+ @$(LD_LIBRARY_PATH) $(DYLD_LIBRARY_PATH) $(DYLD_FALLBACK_LIBRARY_PATH) \
+ $(VALGRIND_EXEC_COMMAND) ./test/libec_slap
CLEANFILES = cscope.in.out cscope.out cscope.po.out

BIN
liberasurecode-1.6.2.tar.gz Normal file

Binary file not shown.

84
liberasurecode.spec Normal file
View File

@ -0,0 +1,84 @@
Name: liberasurecode
Version: 1.6.2
Release: 1
Summary: Erasure Code API library written in C with pluggable backends
License: BSD and CRC32
URL: https://bitbucket.org/tsg-/liberasurecode/
Source0: %{name}-%{version}.tar.gz
Patch2: liberasurecode-1.6.2-docs.patch
Patch3: liberasurecode-1.6.2-ldtest.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: coreutils
BuildRequires: doxygen
BuildRequires: findutils
BuildRequires: gcc
BuildRequires: libtool
BuildRequires: make
BuildRequires: sed
BuildRequires: zlib-devel
%description
An API library for Erasure Code, written in C. It provides a number
of pluggable backends, such as Intel ISA-L library.
%package doc
Summary: Documentation for %{name}
%description doc
The documentation for %{name}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gcc
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%setup -q
%patch2 -p1
%patch3 -p1
%build
autoreconf -i -v
%configure --disable-static --disable-mmi
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make V=1 %{?_smp_mflags}
%check
make test
%install
%make_install
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
find $RPM_BUILD_ROOT%{_datadir}/doc -type f -exec chmod a-x {} ';'
%post
/sbin/ldconfig
%postun
/sbin/ldconfig
%files
%license COPYING
%doc AUTHORS ChangeLog README.md
%{_libdir}/*.so
%{_libdir}/*.so.*
%files doc
%{_datadir}/doc/liberasurecode/html/*
%files devel
%{_includedir}/*
%{_libdir}/pkgconfig/erasurecode-1.pc
%changelog
* Sun Aug 15 2021 OpenStack_SIG <openstack@openeuler.org> - 1.6.2-1
- Initial release