diff --git a/system/base/libaio/actions.py b/system/base/libaio/actions.py new file mode 100755 index 00000000..ff4b83d7 --- /dev/null +++ b/system/base/libaio/actions.py @@ -0,0 +1,37 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools + +def build(): + pisitools.dosed("src/Makefile", "=-shared", r"= -Wl,-O1,--as-needed -shared") + if get.buildTYPE() == "emul32": + pisitools.dosed(".", "\/lib$", r"/lib%s\n" % "32" if get.buildTYPE() == "emul32" else "", filePattern="Makefile") + autotools.make() + +#def check(): + #shelltools.cd("harness") + #pisitools.dodir("testdir") + + #autotools.make("check prefix=../src libdir=../src") + + +def install(): + + if get.buildTYPE() == "emul32": + autotools.rawInstall("prefix=%s/usr \ + includedir=%s/usr/include \ + libdir%s/=usr/lib32 " % ((get.installDIR(), ) * 3)) + pisitools.remove("/usr/lib32/libaio.a") + else: + autotools.rawInstall("prefix=%s/usr \ + includedir=%s/usr/include \ + libdir%s/=usr/lib " % ((get.installDIR(), ) * 3)) + #pisitools.remove("/usr/lib/libaio.a") + + pisitools.dodoc("ChangeLog", "COPYING", "TODO") diff --git a/system/base/libaio/files/92_unused_warnings.patch b/system/base/libaio/files/92_unused_warnings.patch new file mode 100755 index 00000000..d3b22ab9 --- /dev/null +++ b/system/base/libaio/files/92_unused_warnings.patch @@ -0,0 +1,44 @@ +Index: b/harness/cases/12.t +=================================================================== +--- a/harness/cases/12.t ++++ b/harness/cases/12.t +@@ -18,7 +18,7 @@ + + int test_main(void) + { +- int res, status; ++ int status; + pid_t pid; + sigset_t set; + +@@ -35,7 +35,7 @@ + if (pid == 0) + test_child(); + +- res = waitpid(pid, &status, 0); ++ waitpid(pid, &status, 0); + + if (WIFEXITED(status)) { + int failed = (WEXITSTATUS(status) != 0); +Index: b/harness/cases/14.t +=================================================================== +--- a/harness/cases/14.t ++++ b/harness/cases/14.t +@@ -59,7 +59,7 @@ + /* from 12.t */ + int test_main(void) + { +- int res, status; ++ int status; + pid_t pid; + sigset_t set; + +@@ -75,7 +75,7 @@ + if (pid == 0) + test_child(); + +- res = waitpid(pid, &status, 0); ++ waitpid(pid, &status, 0); + + if (WIFEXITED(status)) { + int failed = (WEXITSTATUS(status) != 0); \ No newline at end of file diff --git a/system/base/libaio/files/libaio-0.3.106-build.patch b/system/base/libaio/files/libaio-0.3.106-build.patch new file mode 100755 index 00000000..4a8434bb --- /dev/null +++ b/system/base/libaio/files/libaio-0.3.106-build.patch @@ -0,0 +1,26 @@ +--- src/Makefile.orig 2006-07-09 19:46:41.000000000 -0700 ++++ src/Makefile 2006-07-09 19:51:00.000000000 -0700 +@@ -2,11 +2,10 @@ + includedir=$(prefix)/include + libdir=$(prefix)/lib + +-ARCH := $(shell uname -m | sed -e s/i.86/i386/) +-CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC +-SO_CFLAGS=-shared $(CFLAGS) ++CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC ++SO_CFLAGS=-shared $(CFLAGS) + L_CFLAGS=$(CFLAGS) +-LINK_FLAGS= ++LINK_FLAGS=-lgcc -lrt $(LDFLAGS) + + soname=libaio.so.1 + minor=0 +@@ -48,7 +47,7 @@ + ranlib libaio.a + + $(libname): $(libaio_sobjs) libaio.map +- $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) ++ $(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 diff --git a/system/base/libaio/files/libaio-0.3.107-ar-ranlib.patch b/system/base/libaio/files/libaio-0.3.107-ar-ranlib.patch new file mode 100755 index 00000000..d1ec1403 --- /dev/null +++ b/system/base/libaio/files/libaio-0.3.107-ar-ranlib.patch @@ -0,0 +1,17 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -42,10 +42,12 @@ + $(CC) $(L_CFLAGS) -c -o $@ $< + + ++AR ?= ar ++RANLIB ?= ranlib + libaio.a: $(libaio_objs) + rm -f libaio.a +- ar r libaio.a $^ +- ranlib libaio.a ++ $(AR) r libaio.a $^ ++ $(RANLIB) libaio.a + + $(libname): $(libaio_sobjs) libaio.map + $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) diff --git a/system/base/libaio/files/libaio-0.3.109-generic-arch.patch b/system/base/libaio/files/libaio-0.3.109-generic-arch.patch new file mode 100755 index 00000000..fea3aeee --- /dev/null +++ b/system/base/libaio/files/libaio-0.3.109-generic-arch.patch @@ -0,0 +1,62 @@ +From 5e96c73d5dfbdea8d0be82b7f3fc8d6735e5dfa7 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Sun, 17 Jan 2010 17:07:48 -0500 +Subject: [PATCH] add a generic syscall() fallback + +Signed-off-by: Mike Frysinger +--- + src/syscall-generic.h | 29 +++++++++++++++++++++++++++++ + src/syscall.h | 3 ++- + 2 files changed, 31 insertions(+), 1 deletions(-) + create mode 100644 src/syscall-generic.h + +diff --git a/src/syscall-generic.h b/src/syscall-generic.h +new file mode 100644 +index 0000000..24d7c7c +--- /dev/null ++++ b/src/syscall-generic.h +@@ -0,0 +1,29 @@ ++#include ++#include ++#include ++ ++#define _body_io_syscall(sname, args...) \ ++{ \ ++ int ret = syscall(__NR_##sname, ## args); \ ++ return ret < 0 ? -errno : ret; \ ++} ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) \ ++_body_io_syscall(sname, (long)arg1) ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1,type2 arg2) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2) ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1,type2 arg2,type3 arg3) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3) ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4) ++ ++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, type5,arg5) \ ++type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4, (long)arg5) +diff --git a/src/syscall.h b/src/syscall.h +index 78becfe..d954af0 100644 +--- a/src/syscall.h ++++ b/src/syscall.h +@@ -25,5 +25,6 @@ + #elif defined(__arm__) + #include "syscall-arm.h" + #else +-#error "add syscall-arch.h" ++#warning "using generic syscall method" ++#include "syscall-generic.h" + #endif +-- +1.7.3.1 + diff --git a/system/base/libaio/files/libaio-0.3.109-testcase-8.patch b/system/base/libaio/files/libaio-0.3.109-testcase-8.patch new file mode 100755 index 00000000..de05421b --- /dev/null +++ b/system/base/libaio/files/libaio-0.3.109-testcase-8.patch @@ -0,0 +1,19 @@ +Do not ignore return value of ftruncate(): testcases are compiled with -Werror, +and ftruncate is declared with attribute warn_unused_result. +--- harness/cases/8.t.orig 2012-03-09 16:40:04.074168070 +0100 ++++ harness/cases/8.t 2012-03-09 16:40:57.777278646 +0100 +@@ -9,12 +9,13 @@ + { + long long min = 0, max = 9223372036854775807LL; + char c = 0; ++ int ret; + + while (max - min > 1) { + if (pwrite64(fd, &c, 1, (min + max) / 2) == -1) + max = (min + max) / 2; + else { +- ftruncate(fd, 0); ++ ret = ftruncate(fd, 0); assert(ret == 0); + min = (min + max) / 2; + } + } diff --git a/system/base/libaio/files/libaio-0.3.109-unify-bits-endian.patch b/system/base/libaio/files/libaio-0.3.109-unify-bits-endian.patch new file mode 100755 index 00000000..a94ea20b --- /dev/null +++ b/system/base/libaio/files/libaio-0.3.109-unify-bits-endian.patch @@ -0,0 +1,60 @@ +diff --git a/src/libaio.h b/src/libaio.h +index ffe8259..4a6c9fb 100644 +--- a/src/libaio.h ++++ b/src/libaio.h +@@ -49,40 +49,34 @@ typedef enum io_iocb_cmd { + IO_CMD_PWRITEV = 8, + } io_iocb_cmd_t; + +-#if defined(__i386__) /* little endian, 32 bits */ ++/* little endian, 32 bits */ ++#if defined(__i386__) || defined(__sh__) || defined(__bfin__) || \ ++ defined(__ARMEL__) || defined(__MIPSEL__) || defined(__cris__) + #define PADDED(x, y) x; unsigned y + #define PADDEDptr(x, y) x; unsigned y + #define PADDEDul(x, y) unsigned long x; unsigned y ++ ++/* little endian, 64 bits */ + #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) + #define PADDED(x, y) x, y + #define PADDEDptr(x, y) x + #define PADDEDul(x, y) unsigned long x +-#elif defined(__powerpc64__) /* big endian, 64 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x,y) x +-#define PADDEDul(x, y) unsigned long x +-#elif defined(__PPC__) /* big endian, 32 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x, y) unsigned y; x +-#define PADDEDul(x, y) unsigned y; unsigned long x +-#elif defined(__s390x__) /* big endian, 64 bits */ ++ ++/* big endian, 64 bits */ ++#elif defined(__powerpc64__) || defined(__s390x__) || \ ++ (defined(__sparc__) && defined(__arch64__)) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x,y) x + #define PADDEDul(x, y) unsigned long x +-#elif defined(__s390__) /* big endian, 32 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x, y) unsigned y; x +-#define PADDEDul(x, y) unsigned y; unsigned long x +-#elif defined(__arm__) +-# if defined (__ARMEB__) /* big endian, 32 bits */ ++ ++/* big endian, 32 bits */ ++#elif defined(__PPC__) || defined(__s390__) || defined(__ARMEB__) || \ ++ defined(__MIPSEB__) || defined(__sparc__) || defined(__m68k__) || \ ++ defined(__hppa__) || defined(__frv__) || defined(__avr32__) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x, y) unsigned y; x + #define PADDEDul(x, y) unsigned y; unsigned long x +-# else /* little endian, 32 bits */ +-#define PADDED(x, y) x; unsigned y +-#define PADDEDptr(x, y) x; unsigned y +-#define PADDEDul(x, y) unsigned long x; unsigned y +-# endif ++ + #else + #error endian? + #endif \ No newline at end of file diff --git a/system/base/libaio/files/libaio-0.3.109-x32.patch b/system/base/libaio/files/libaio-0.3.109-x32.patch new file mode 100755 index 00000000..1d2c2a90 --- /dev/null +++ b/system/base/libaio/files/libaio-0.3.109-x32.patch @@ -0,0 +1,63 @@ +http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f5c071d93c9e6f57930bce56b1e4f009c160a826 + +Upstream-Status: Pending + +Properly load arguments 5 an 6 for x86-64 syscall +Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64 +syscall so that it works with both x32 and x86-64. + +Received this patch from H.J. Lu + +Signed-Off-By: Nitin A Kamble +2011/12/02 + +--- libaio-0.3.109/src/syscall-x86_64.h.x32 2009-10-09 11:17:02.000000000 -0700 ++++ libaio-0.3.109/src/syscall-x86_64.h 2011-12-02 09:09:07.537603224 -0800 +@@ -1,8 +1,18 @@ ++#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 + + #define __syscall_clobber "r11","rcx","memory" + #define __syscall "syscall" +@@ -42,10 +52,11 @@ return __res; \ + type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ + { \ + long __res; \ +-__asm__ volatile ("movq %5,%%r10 ;" __syscall \ ++register long __a4 asm ("r10") = (long) arg4; \ ++__asm__ volatile (__syscall \ + : "=a" (__res) \ + : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \ +- "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \ ++ "d" ((long)(arg3)),"r" (__a4)); \ + return __res; \ + } + +@@ -54,10 +65,11 @@ return __res; \ + type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ + { \ + long __res; \ +-__asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \ ++register long __a4 asm ("r10") = (long) arg4; \ ++register long __a5 asm ("r8") = (long) arg5; \ ++__asm__ volatile ( __syscall \ + : "=a" (__res) \ + : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \ +- "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \ +- __syscall_clobber,"r8","r10" ); \ ++ "d" ((long)(arg3)),"r" (__a4),"r" (__a5)); \ + return __res; \ + } diff --git a/system/base/libaio/files/libaio-install-to-slash.patch b/system/base/libaio/files/libaio-install-to-slash.patch new file mode 100755 index 00000000..98fbfe0d --- /dev/null +++ b/system/base/libaio/files/libaio-install-to-slash.patch @@ -0,0 +1,30 @@ +diff -up libaio-0.3.107/src/Makefile.orig libaio-0.3.107/src/Makefile +--- libaio-0.3.107/src/Makefile.orig 2009-01-20 10:07:31.520105235 -0500 ++++ libaio-0.3.107/src/Makefile 2009-01-20 10:08:51.199104930 -0500 +@@ -1,6 +1,7 @@ + prefix=/usr +-includedir=$(prefix)/include +-libdir=$(prefix)/lib ++includedir=/usr/include ++libdir=/usr/lib ++usrlibdir=/usr/lib + + ARCH := $(shell uname -m | sed -e s/i.86/i386/) + CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC +@@ -51,11 +52,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)$(libdir)/$(libname) ++ ln -sf $(libdir)/$(libname) $(destdir)$(libdir)/$(soname) ++ ln -sf $(libdir)/$(libname) $(destdir)$(usrlibdir)/libaio.so + + $(libaio_objs): libaio.h + \ No newline at end of file diff --git a/system/base/libaio/pspec.xml b/system/base/libaio/pspec.xml new file mode 100755 index 00000000..7ea955b3 --- /dev/null +++ b/system/base/libaio/pspec.xml @@ -0,0 +1,90 @@ + + + + + libaio + http://lse.sourceforge.net/io/aio.html + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + Linux-native asynchronous I/O access library + libaio has a richer API and capability set than the simple POSIX async I/O facility. + http://ftp.de.debian.org/debian/pool/main/liba/libaio/libaio_0.3.112.orig.tar.xz + + + + libaio + + /lib + /usr/lib + /usr/share/doc + + + + + libaio-32bit + emul32 + 32-bit shared libraries for libaio + emul32 + + libaio + + + /usr/lib32 + + + + + libaio-devel + Development files for libaio + + libaio + + + /usr/include + + /usr/share/man/man3 + + + + + + 2019-12-26 + 0.3.112 + Version bump for new lvm2 + Kamil Atlı + suvari@pisilinux.org + + + 2018-08-06 + 0.3.110 + Rebuild. + Mustafa Cinasal + muscnsl@gmail.com + + + 2017-02-28 + 0.3.110 + Version Bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2016-06-09 + 0.3.109 + Release Bump + Pisi Linux Community + admin@pisilinux.org + + + 2014-05-19 + 0.3.109 + First release + Alihan Öztürk + alihan@pisilinux.org + + + \ No newline at end of file diff --git a/system/base/libaio/translations.xml b/system/base/libaio/translations.xml new file mode 100755 index 00000000..4b27c4a2 --- /dev/null +++ b/system/base/libaio/translations.xml @@ -0,0 +1,14 @@ + + + + libaio + Linux asenkron girdi/çıktı kütüphanesi + libaio, basit POSIX asenkron girdi/çıktı desteğinden daha iyi bir programlama arayüzü sunan bir kütüphanedir. + Librairie d'entrée/sortie asynchrone utilisant l'interface native du noyau. + + + + libaio-devel + libaio için geliştirme dosyaları + +