From 050e9d9b0f59c7a9e19b4a7d25174e06951784b5 Mon Sep 17 00:00:00 2001 From: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon, 30 Sep 2019 10:54:47 -0400 Subject: [PATCH] Package init --- ...-libaio-install-to-destdir-slash-usr.patch | 20 ++++ 9000-libaio-arm64-ilp32.patch | 18 +++ 9001-libaio-makefile-cflags.patch | 11 ++ 9002-destdir.patch | 11 ++ 9003-libaio-fix-for-x32.patch | 18 +++ libaio-0.3.111.tar.gz | Bin 0 -> 45093 bytes libaio.spec | 109 ++++++++++++++++++ 7 files changed, 187 insertions(+) create mode 100644 0000-libaio-install-to-destdir-slash-usr.patch create mode 100644 9000-libaio-arm64-ilp32.patch create mode 100644 9001-libaio-makefile-cflags.patch create mode 100644 9002-destdir.patch create mode 100644 9003-libaio-fix-for-x32.patch create mode 100644 libaio-0.3.111.tar.gz create mode 100644 libaio.spec diff --git a/0000-libaio-install-to-destdir-slash-usr.patch b/0000-libaio-install-to-destdir-slash-usr.patch new file mode 100644 index 0000000..aebc175 --- /dev/null +++ b/0000-libaio-install-to-destdir-slash-usr.patch @@ -0,0 +1,20 @@ +diff -up libaio-0.3.111/src/Makefile.orig libaio-0.3.111/src/Makefile +--- libaio-0.3.111/src/Makefile.orig 2018-03-06 17:24:47.000000000 -0500 ++++ libaio-0.3.111/src/Makefile 2018-03-07 10:44:49.148004447 -0500 +@@ -53,11 +53,11 @@ $(libname): $(libaio_sobjs) libaio.map + $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) + + install: $(all_targets) +- install -D -m 644 libaio.h $(includedir)/libaio.h +- install -D -m 644 libaio.a $(libdir)/libaio.a +- install -D -m 755 $(libname) $(libdir)/$(libname) +- ln -sf $(libname) $(libdir)/$(soname) +- ln -sf $(libname) $(libdir)/libaio.so ++ install -D -m 644 libaio.h $(destdir)$(includedir)/libaio.h ++ install -D -m 644 libaio.a $(destdir)$(usrlibdir)/libaio.a ++ install -D -m 755 $(libname) $(destdir)$(usrlibdir)/$(libname) ++ ln -sf $(libname) $(destdir)$(usrlibdir)/$(soname) ++ ln -sf $(libname) $(destdir)$(usrlibdir)/libaio.so + + $(libaio_objs): libaio.h + diff --git a/9000-libaio-arm64-ilp32.patch b/9000-libaio-arm64-ilp32.patch new file mode 100644 index 0000000..401d053 --- /dev/null +++ b/9000-libaio-arm64-ilp32.patch @@ -0,0 +1,18 @@ +--- libaio-0.3.111_old/src/libaio.h 2019-01-26 10:54:53.202000000 +0800 ++++ libaio-0.3.111/src/libaio.h 2019-01-26 12:51:37.150000000 +0800 +@@ -53,6 +53,7 @@ + #if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \ + defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \ + defined(__cris__) || (defined(__riscv) && __riscv_xlen == 32) || \ ++ (defined(__aarch64__) && defined(__ILP32__) && defined(__AARCH64EL__)) || \ + (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ + __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 4) + #define PADDED(x, y) x; unsigned y +@@ -84,6 +85,7 @@ + (defined(__arm__) && defined(__ARMEB__)) || \ + defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \ + defined(__hppa__) || defined(__frv__) || defined(__avr32__) || \ ++ (defined(__aarch64__) && defined(__ILP32__) && defined(__AARCH64EB__)) || \ + (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ + __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 4) + #define PADDED(x, y) unsigned y; x diff --git a/9001-libaio-makefile-cflags.patch b/9001-libaio-makefile-cflags.patch new file mode 100644 index 0000000..a0b0aa9 --- /dev/null +++ b/9001-libaio-makefile-cflags.patch @@ -0,0 +1,11 @@ +--- libaio-0.3.111_old/src/Makefile 2019-01-26 10:54:53.200000000 +0800 ++++ libaio-0.3.111/src/Makefile 2019-01-26 11:20:44.106000000 +0800 +@@ -3,7 +3,7 @@ + libdir=$(prefix)/lib + + CFLAGS ?= -g -fomit-frame-pointer -O2 +-CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC ++CFLAGS += $(RPM_OPT_FLAGS) -nostdlib -nostartfiles -Wall -I. -fPIC + SO_CFLAGS=-shared $(CFLAGS) + L_CFLAGS=$(CFLAGS) + LINK_FLAGS= diff --git a/9002-destdir.patch b/9002-destdir.patch new file mode 100644 index 0000000..1f89e29 --- /dev/null +++ b/9002-destdir.patch @@ -0,0 +1,11 @@ +--- libaio-0.3.111_old/Makefile 2019-02-14 04:09:48.697926020 -0500 ++++ libaio-0.3.111/Makefile 2019-02-14 04:10:10.715926272 -0500 +@@ -14,7 +14,7 @@ + @$(MAKE) -C src + + install: +- @$(MAKE) -C src install prefix=$(prefix) includedir=$(includedir) libdir=$(libdir) ++ @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) includedir=$(includedir) libdir=$(libdir) + + check: + @$(MAKE) -C harness check diff --git a/9003-libaio-fix-for-x32.patch b/9003-libaio-fix-for-x32.patch new file mode 100644 index 0000000..152fabd --- /dev/null +++ b/9003-libaio-fix-for-x32.patch @@ -0,0 +1,18 @@ +--- libaio-0.3.111_old/src/syscall-x86_64.h 2019-02-14 04:09:48.632926019 -0500 ++++ libaio-0.3.111/src/syscall-x86_64.h 2019-02-14 04:14:05.585928959 -0500 +@@ -1,5 +1,15 @@ ++#ifndef __NR_io_setup + #define __NR_io_setup 206 ++#endif ++#ifndef __NR_io_destroy + #define __NR_io_destroy 207 ++#endif ++#ifndef __NR_io_getevents + #define __NR_io_getevents 208 ++#endif ++#ifndef __NR_io_submit + #define __NR_io_submit 209 ++#endif ++#ifndef __NR_io_cancel + #define __NR_io_cancel 210 ++#endif diff --git a/libaio-0.3.111.tar.gz b/libaio-0.3.111.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..88c18e539d355da24edbe072d2ff9dea7b0cadb0 GIT binary patch literal 45093 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 literal 0 HcmV?d00001 diff --git a/libaio.spec b/libaio.spec new file mode 100644 index 0000000..6feff14 --- /dev/null +++ b/libaio.spec @@ -0,0 +1,109 @@ +Name: libaio +Version: 0.3.111 +Release: 4 +Summary: Linux-native asynchronous I/O access library +License: LGPLv2+ +URL: https://pagure.io/libaio +Source: http://releases.pagure.org/libaio/libaio-0.3.111.tar.gz + +Patch0000: 0000-libaio-install-to-destdir-slash-usr.patch + +Patch9000: 9000-libaio-arm64-ilp32.patch +%ifarch aarch64 aarch64_ilp32 +Patch9001: 9001-libaio-makefile-cflags.patch +%endif + +Patch9002: 9002-destdir.patch +Patch9003: 9003-libaio-fix-for-x32.patch + +BuildRequires: gcc + +%description +The Linux-native asynchronous I/O facility ("async I/O", or "aio") has a +richer API and capability set than the simple POSIX async I/O facility. +This library, libaio, provides the Linux-native API for async I/O. +The POSIX async I/O facility requires this library in order to provide +kernel-accelerated async I/O capabilities, as do applications which +require the Linux-native async I/O API. + +%package devel +Summary: Files for libaio development +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Files for libaio development + +%prep +%setup -q -a 0 +%patch0000 -p0 -b .install-to-destdir-slash-usr +%patch0000 -p1 -b .install-to-destdir-slash-usr + +%patch9000 -p0 -b .arm64-ilp32 +%patch9000 -p1 -b .arm64-ilp32 +%ifarch aarch64 aarch64_ilp32 +%patch9001 -p0 -b .makefile-cflags +%patch9001 -p1 -b .makefile-cflags +%endif +%patch9002 -p0 -b .makefile-destdir +%patch9002 -p1 -b .makefile-destdir +%patch9003 -p0 -b .fix-x32 +%patch9003 -p1 -b .fix-x32 + +mv %{name}-%{version} setup-%{name}-%{version} + +%build +make -C setup-%{name}-%{version} soname='libaio.so.1.0.0' libname='libaio.so.1.0.0' +make + +%install +pushd setup-%{name}-%{version} +install -D -m 755 src/libaio.so.1.0.0 \ + $RPM_BUILD_ROOT/%{_libdir}/libaio.so.1.0.0 +popd +make destdir=$RPM_BUILD_ROOT prefix=/ libdir=/%{_lib} usrlibdir=%{_libdir} \ + includedir=%{_includedir} install + +rm -rf %{buildroot}%{_usr}/%{_lib}/libaio.a + +%ldconfig_scriptlets + +%files +%license COPYING +%attr(0755,root,root) %{_libdir}/libaio.so.* + +%files devel +%attr(0644,root,root) %{_includedir}/* +%attr(0755,root,root) %{_libdir}/libaio.so + +%changelog +* Wed Sep 4 2019 sunshihao - 0.3.111-4 +- Type:enhancemnet +- ID:NA +- SUG:restart +- DESCi:openEuler Debranding. + +* Wed Aug 21 2019 wubo - 0.3.111-3.h4 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:change patch name + +* Tue Apr 2 2019 guyue 0.3.111-3.h3 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:delete useless code + +* Thu Feb 14 2019 geruijun 0.3.111-3.h2 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:add backport patches + +* Sat Jan 26 2019 wangxiao 0.3.111-h1 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC: support ilp32 for aarch64 + +- Package Init