libaio 0.3.112 and move to core
This commit is contained in:
Executable
+37
@@ -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")
|
||||
+44
@@ -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);
|
||||
+26
@@ -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
|
||||
+17
@@ -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)
|
||||
@@ -0,0 +1,62 @@
|
||||
From 5e96c73d5dfbdea8d0be82b7f3fc8d6735e5dfa7 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Sun, 17 Jan 2010 17:07:48 -0500
|
||||
Subject: [PATCH] add a generic syscall() fallback
|
||||
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
---
|
||||
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 <errno.h>
|
||||
+#include <unistd.h>
|
||||
+#include <sys/syscall.h>
|
||||
+
|
||||
+#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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
+63
@@ -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 <hjl.tools@gmail.com>
|
||||
|
||||
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
|
||||
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; \
|
||||
}
|
||||
+30
@@ -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
|
||||
|
||||
Executable
+90
@@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>libaio</Name>
|
||||
<Homepage>http://lse.sourceforge.net/io/aio.html</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>LGPLv2.1</License>
|
||||
<IsA>library</IsA>
|
||||
<Summary>Linux-native asynchronous I/O access library</Summary>
|
||||
<Description>libaio has a richer API and capability set than the simple POSIX async I/O facility.</Description>
|
||||
<Archive sha1sum="17a9b82fe715551f3157591467421406716b8f91" type="tarxz">http://ftp.de.debian.org/debian/pool/main/liba/libaio/libaio_0.3.112.orig.tar.xz</Archive>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>libaio</Name>
|
||||
<Files>
|
||||
<Path fileType="library">/lib</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>libaio-32bit</Name>
|
||||
<PartOf>emul32</PartOf>
|
||||
<Summary>32-bit shared libraries for libaio</Summary>
|
||||
<BuildType>emul32</BuildType>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">libaio</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib32</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>libaio-devel</Name>
|
||||
<Summary>Development files for libaio</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">libaio</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
<!-- FIXME: Remove this if not necessary -->
|
||||
<Path fileType="man">/usr/share/man/man3</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="5">
|
||||
<Date>2019-12-26</Date>
|
||||
<Version>0.3.112</Version>
|
||||
<Comment>Version bump for new lvm2</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2018-08-06</Date>
|
||||
<Version>0.3.110</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2017-02-28</Date>
|
||||
<Version>0.3.110</Version>
|
||||
<Comment>Version Bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-06-09</Date>
|
||||
<Version>0.3.109</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>Pisi Linux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2014-05-19</Date>
|
||||
<Version>0.3.109</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Alihan Öztürk</Name>
|
||||
<Email>alihan@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>libaio</Name>
|
||||
<Summary xml:lang="tr">Linux asenkron girdi/çıktı kütüphanesi</Summary>
|
||||
<Description xml:lang="tr">libaio, basit POSIX asenkron girdi/çıktı desteğinden daha iyi bir programlama arayüzü sunan bir kütüphanedir.</Description>
|
||||
<Summary xml:lang="fr">Librairie d'entrée/sortie asynchrone utilisant l'interface native du noyau.</Summary>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>libaio-devel</Name>
|
||||
<Summary xml:lang="tr">libaio için geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user