t1lib ffcall fcgi

This commit is contained in:
Rmys
2020-03-22 11:49:11 +03:00
parent 3e414900a6
commit ec541d46e0
18 changed files with 212102 additions and 211355 deletions
+26
View File
@@ -0,0 +1,26 @@
#!/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 autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
def setup():
pisitools.dosed("doc/Makefile.in", "dvips", "#dvips")
pisitools.dosed("xglyph/xglyph.c", "\./\(t1lib\.config\)", "/etc/t1lib/\1")
autotools.configure("--datadir=/etc \
--with-x \
--enable-static=no")
def build():
autotools.make("without_doc")
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.dodoc("Changes", "README*")
@@ -0,0 +1,12 @@
diff -Naur t1lib-5.1.1-orig/lib/Makefile.in t1lib-5.1.1/lib/Makefile.in
--- t1lib-5.1.1-orig/lib/Makefile.in 2006-11-05 17:06:05.000000000 -0600
+++ t1lib-5.1.1/lib/Makefile.in 2007-10-04 21:21:20.000000000 -0600
@@ -133,7 +133,7 @@
cp t1lib/t1lib.h .
-libt1x.la: $(T1LIBX_OBJS)
+libt1x.la: $(T1LIBX_OBJS) libt1.la
$(LIBTOOL) --mode=link \
$(CC) $(LDFLAGS) -o $@ $(T1LIBX_OBJS) \
-version-info @T1LIB_LT_CURRENT@:@T1LIB_LT_REVISION@:@T1LIB_LT_AGE@ \
@@ -0,0 +1,46 @@
CVE-2010-2642, CVE-2011-0433 and CVE-2011-5244
CVE-2010-2642:
==============
Upstream-Bug: https://bugzilla.gnome.org/show_bug.cgi?id=643882
Upstream-Fix: https://git.gnome.org/browse/evince/commit/?id=efadec4ffcdde3373f6f4ca0eaac98dc963c4fd5
CVE-2011-0433:
==============
Upstream-Bug: https://bugzilla.gnome.org/show_bug.cgi?id=640923
Upstream-Fix: https://git.gnome.org/browse/evince/commit/?id=439c5070022eab6cef7266aab47f978058012c72
CVE-2011-5244:
==============
Upstream-Bug: https://bugzilla.gnome.org/show_bug.cgi?id=643882
Upstream-Fix: https://git.gnome.org/browse/evince/commit/?id=efadec4ffcdde3373f6f4ca0eaac98dc963c4fd5
Origin: https://bugs.debian.org/652996
diff --git a/lib/t1lib/parseAFM.c b/lib/t1lib/parseAFM.c
index 6a31d7f..ba64541 100644
--- a/lib/t1lib/parseAFM.c
+++ b/lib/t1lib/parseAFM.c
@@ -199,7 +199,9 @@ static char *token(stream)
idx = 0;
while (ch != EOF && ch != ' ' && ch != CR && ch != LF &&
- ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'){
+ ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'
+ && idx < (MAX_NAME -1))
+ {
ident[idx++] = ch;
ch = fgetc(stream);
} /* while */
@@ -235,7 +237,7 @@ static char *linetoken(stream)
while ((ch = fgetc(stream)) == ' ' || ch == '\t' );
idx = 0;
- while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z)
+ while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z && idx < (MAX_NAME - 1))
{
ident[idx++] = ch;
ch = fgetc(stream);
@@ -0,0 +1,133 @@
Author: Jaroslav Škarvada <jskarvad@redhat.com>
Description: Fix more crashes on oversized fonts
Bug-Redhat: http://bugzilla.redhat.com/show_bug.cgi?id=692909
Index: b/lib/type1/lines.c
===================================================================
--- a/lib/type1/lines.c 2007-12-23 09:49:42.000000000 -0600
+++ b/lib/type1/lines.c 2012-01-17 14:15:08.000000000 -0600
@@ -67,6 +67,10 @@
None.
*/
+#define BITS (sizeof(LONG)*8)
+#define HIGHTEST(p) (((p)>>(BITS-2)) != 0) /* includes sign bit */
+#define TOOBIG(xy) ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy))
+
/*
:h2.StepLine() - Produces Run Ends for a Line After Checks
@@ -84,6 +88,9 @@
IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n",
x1, y1, x2, y2);
+ if ( TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2))
+ abort("Lines this big not supported", 49);
+
dy = y2 - y1;
/*
Index: b/lib/type1/objects.c
===================================================================
--- a/lib/type1/objects.c 2007-12-23 09:49:42.000000000 -0600
+++ b/lib/type1/objects.c 2012-01-17 14:15:08.000000000 -0600
@@ -1137,12 +1137,13 @@
"Context: out of them", /* 46 */
"MatrixInvert: can't", /* 47 */
"xiStub called", /* 48 */
- "Illegal access type1 abort() message" /* 49 */
+ "Lines this big not supported", /* 49 */
+ "Illegal access type1 abort() message" /* 50 */
};
- /* no is valid from 1 to 48 */
- if ( (number<1)||(number>48))
- number=49;
+ /* no is valid from 1 to 49 */
+ if ( (number<1)||(number>49))
+ number=50;
return( err_msgs[number-1]);
}
Index: b/lib/type1/type1.c
===================================================================
--- a/lib/type1/type1.c 2012-01-17 14:13:28.000000000 -0600
+++ b/lib/type1/type1.c 2012-01-17 14:19:54.000000000 -0600
@@ -1012,6 +1012,7 @@
double nextdtana = 0.0; /* tangent of post-delta against horizontal line */
double nextdtanb = 0.0; /* tangent of post-delta against vertical line */
+ if (ppoints == NULL || numppoints < 1) Error0v("FindStems: No previous point!\n");
/* setup default hinted position */
ppoints[numppoints-1].ax = ppoints[numppoints-1].x;
@@ -1289,7 +1290,7 @@
static int DoRead(CodeP)
int *CodeP;
{
- if (strindex >= CharStringP->len) return(FALSE); /* end of string */
+ if (!CharStringP || strindex >= CharStringP->len) return(FALSE); /* end of string */
/* We handle the non-documented Adobe convention to use lenIV=-1 to
suppress charstring encryption. */
if (blues->lenIV==-1) {
@@ -1700,7 +1701,7 @@
long pindex = 0;
/* compute hinting for previous segment! */
- if (ppoints == NULL) Error0i("RLineTo: No previous point!\n");
+ if (ppoints == NULL || numppoints < 2) Error0i("RLineTo: No previous point!\n");
FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy);
/* Allocate a new path point and pre-setup data */
@@ -1729,7 +1730,7 @@
long pindex = 0;
/* compute hinting for previous point! */
- if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n");
+ if (ppoints == NULL || numppoints < 2) Error0i("RRCurveTo: No previous point!\n");
FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1);
/* Allocate three new path points and pre-setup data */
@@ -1788,7 +1789,9 @@
long tmpind;
double deltax = 0.0;
double deltay = 0.0;
-
+
+ if (ppoints == NULL || numppoints < 1) Error0i("DoClosePath: No previous point!");
+
/* If this ClosePath command together with the starting point of this
path completes to a segment aligned to a stem, we would miss
hinting for this point. --> Check and explicitly care for this! */
@@ -1803,6 +1806,7 @@
deltax = ppoints[i].x - ppoints[numppoints-1].x;
deltay = ppoints[i].y - ppoints[numppoints-1].y;
+ if (ppoints == NULL || numppoints <= i + 1) Error0i("DoClosePath: No previous point!");
/* save nummppoints and reset to move point */
tmpind = numppoints;
numppoints = i + 1;
@@ -1905,7 +1909,7 @@
FindStems( currx, curry, 0, 0, dx, dy);
}
else {
- if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n");
+ if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n");
FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy);
}
@@ -2155,6 +2159,7 @@
DOUBLE cx, cy;
DOUBLE ex, ey;
+ if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!");
/* Our PPOINT list now contains 7 moveto commands which
are about to be consumed by the Flex mechanism. --> Remove these
@@ -2324,6 +2329,7 @@
/* Returns currentpoint on stack */
static void FlxProc2()
{
+ if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!");
/* Push CurrentPoint on fake PostScript stack */
PSFakePush( ppoints[numppoints-1].x);
PSFakePush( ppoints[numppoints-1].y);
@@ -0,0 +1,32 @@
Description: Don't lookup previous point if there isn't any
Author: Marc Deslauriers <marc.deslauriers@canonical.com>
Forwarded: no
Index: t1lib-5.1.2/lib/type1/type1.c
===================================================================
--- t1lib-5.1.2.orig/lib/type1/type1.c 2011-12-13 14:24:14.280965637 -0600
+++ t1lib-5.1.2/lib/type1/type1.c 2011-12-13 14:25:25.893320747 -0600
@@ -1700,6 +1700,7 @@
long pindex = 0;
/* compute hinting for previous segment! */
+ if (ppoints == NULL) Error0i("RLineTo: No previous point!\n");
FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy);
/* Allocate a new path point and pre-setup data */
@@ -1728,6 +1729,7 @@
long pindex = 0;
/* compute hinting for previous point! */
+ if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n");
FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1);
/* Allocate three new path points and pre-setup data */
@@ -1903,6 +1905,7 @@
FindStems( currx, curry, 0, 0, dx, dy);
}
else {
+ if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n");
FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy);
}
@@ -0,0 +1,39 @@
fixes FTBFS with -Werror=format-security by using relevant "%s" format when
passing a variable string to a printf()
Origin: https://bugs.debian.org/646470
--- a/lib/type1/objects.c
+++ b/lib/type1/objects.c
@@ -957,7 +957,7 @@
sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n",
name, TypeFmt(expect), TypeFmt(obj->type));
- IfTrace0(TRUE,typemsg);
+ IfTrace1(TRUE, "%s", typemsg);
ObjectPostMortem(obj);
--- a/lib/t1lib/t1subset.c
+++ b/lib/t1lib/t1subset.c
@@ -759,7 +759,7 @@
tr_len);
T1_PrintLog( "T1_SubsetFont()", err_warn_msg_buf,
T1LOG_DEBUG);
- l+=sprintf( &(trailerbuf[l]), linebuf); /* contains the PostScript trailer */
+ l+=sprintf( &(trailerbuf[l]), "%s", linebuf); /* contains the PostScript trailer */
}
/* compute size of output file */
--- a/lib/type1/objects.h
+++ b/lib/type1/objects.h
@@ -214,7 +214,7 @@
/*SHARED*/
/* NDW: personally, I want to see status and error messages! */
#define IfTrace0(condition,model) \
- {if (condition) printf(model);}
+ {if (condition) fputs(model,stdout);}
#define IfTrace1(condition,model,arg0) \
{if (condition) printf(model,arg0);}
#define IfTrace2(condition,model,arg0,arg1) \
+73
View File
@@ -0,0 +1,73 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>t1lib</Name>
<Homepage>ftp://metalab.unc.edu/pub/Linux/libs/graphics/</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<IsA>library</IsA>
<Summary>A Type 1 Font Rasterizer Library for UNIX/X11</Summary>
<Description>t1lib is a library written in the C programming language allowing a programmer to generate bitmaps from Adobe (TM) Type 1 fonts quite easily. These bitmaps are returned in a data structure with type GLYPH. This special GLYPH-type is also used in the X11 window system to describe character bitmaps. It contains the bitmap data as well as some metric information. But t1lib is in itself entirely independent of the X11-system or any other graphical user interface.</Description>
<Archive sha1sum="4b4fc22c8688eefaaa8cfc990f0039f95f4287de" type="targz">https://www.ibiblio.org/pub/Linux/libs/graphics/t1lib-5.1.2.tar.gz</Archive>
<BuildDependencies>
<Dependency>libXmu-devel</Dependency>
<Dependency>libICE-devel</Dependency>
<Dependency>libXt-devel</Dependency>
<Dependency>libXpm-devel</Dependency>
<Dependency>libXext-devel</Dependency>
<Dependency>libSM-devel</Dependency>
<Dependency>libXaw-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">parallel.patch</Patch>
<Patch level="1">t1lib-5.1.2-format-security.patch</Patch>
<Patch level="1">t1lib-5.1.2-CVE-2010-2642_2011-0433_2011-5244.patch</Patch>
<Patch level="1">t1lib-5.1.2-cve-2011-0764.patch</Patch>
<Patch level="1">t1lib-5.1.2-CVE-2011-1552_1553_1554.patch</Patch>
</Patches>
</Source>
<Package>
<Name>t1lib</Name>
<RuntimeDependencies>
<Dependency>libXmu</Dependency>
<Dependency>libICE</Dependency>
<Dependency>libXt</Dependency>
<Dependency>libXpm</Dependency>
<Dependency>libXext</Dependency>
<Dependency>libSM</Dependency>
<Dependency>libXaw</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="config">/etc/t1lib</Path>
<Path fileType="doc">/usr/share/doc/t1lib</Path>
<Path fileType="library">/usr/lib</Path>
</Files>
</Package>
<Package>
<Name>t1lib-devel</Name>
<Summary>Development files for t1lib</Summary>
<RuntimeDependencies>
<Dependency release="current">t1lib</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
</Files>
</Package>
<History>
<Update release="1" type="security">
<Date>2020-03-20</Date>
<Version>5.1.2</Version>
<Comment>First release</Comment>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Update>
</History>
</PISI>
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>t1lib</Name>
<Summary xml:lang="tr">UNIX/X11 sistemler için Tip-1 yazıtipi işleme kütüphanesi</Summary>
<Description xml:lang="tr">T1lib, programcıya Adobe Type1 yazıtiplerinden kolay bir şekilde bitmap dosyalar üretmeye izin veren C programlama dilinde yazılan bir kütüphanedir. Bu bitmapler GLYPH tipi ile bir veri yapısı içinde dönüştürülürler. Bu özel GLYPH tipi, karakter bitmapleri tasvir etmek için X11 pencere sisteminde de kullanılırlar. Bitmap veri içerdikleri gibi bazı metrik bilgileri de içerirler.</Description>
<Description xml:lang="fr">t1lib est une librairie écrite en langage C permettant à un programmeur de générer des bitmaps de fontes Adobe (TM) Type 1 assez facilement. Ces bitmaps sont retournés sous la forme d'une structure de données de type GLYPH. Ce type spécial GLYPH est également utilisé dans le système de fenêtrage X11 pour décrire les bitmaps caractères. Il contien les données bitmap en plus de quelques informations métriques. t1lib est toutefois totalement indépendante du système X11 ou tout autre interface graphique.</Description>
<Description xml:lang="es">t1lib es una librería programada en C que permite al programador generar fácilmente bitmaps de fuentes Adobe (TM) Type 1. Estos bitmaps están representados por una estructura de datos del tipo GLYPH. Este tipo especial GLYPH también está usado en el sistema de ventanas X11 para describir mapas de bits de caracteres. Contiene los datos del bitmap y además algunas informaciones métricas. Sin embargo t1lib mismo está completamente independiente del sistema X11 y de otros interfaces gráficos de usuario.</Description>
</Source>
<Package>
<Name>t1lib-devel</Name>
<Summary xml:lang="tr">t1lib için geliştirme dosyaları</Summary>
</Package>
</PISI>
+211538 -211353
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
5f47cab99876d79b714e79afa16771a1d4b1550d
4fbd9c3f76645acefa86849c5f9a255121d2b1c9
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
195b4664460f531fc63032016c27726efcbdca60
916fa3b8e3c6f6af97fc7b507e11dce2af407e1e
+27
View File
@@ -0,0 +1,27 @@
#!/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 autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
def setup():
autotools.configure("--disable-static \
--enable-shared")
def build():
autotools.make("-j1")
def install():
pisitools.dodir("/usr/share")
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.domove("/usr/share/html/", "/usr/share/doc/%s/" % get.srcNAME())
pisitools.remove("/usr/lib/*.a")
pisitools.dodoc("COPYING", "NEWS", "README")
+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>ffcall</Name>
<Homepage>http://www.haible.de/bruno/packages-ffcall.html</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<IsA>library</IsA>
<Summary>Foreign function call libraries</Summary>
<Description>Collection of four libraries which can be used to build foreign function call interfaces in embedded interpreters.</Description>
<Archive sha1sum="464f1af197d417366face3007d7b63848b8fd6f4" type="targz">https://ftp.gnu.org/gnu/libffcall/libffcall-2.2.tar.gz</Archive>
</Source>
<Package>
<Name>ffcall</Name>
<Files>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path>
</Files>
</Package>
<Package>
<Name>ffcall-devel</Name>
<Summary>Development files for ffcall</Summary>
<RuntimeDependencies>
<Dependency>ffcall</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="man">/usr/share/man/man3</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>2020-03-20</Date>
<Version>2.2</Version>
<Comment>First release</Comment>
<Name>Pisi Linux Admins</Name>
<Email>admin@pisilinux.org</Email>
</Update>
</History>
</PISI>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>ffcall</Name>
<Summary xml:lang="tr">Dış işlev fonksiyonları çağırma kitaplıkları</Summary>
<Description xml:lang="tr">ffcall inşa sırasında yabancı fonksiyonları çağırmak için kullanılan, 4 kitaplıktan oluşan, bir kitaplığıdır.</Description>
</Source>
<Package>
<Name>ffcall-devel</Name>
<Summary xml:lang="tr">ffcall için geliştirme dosyaları</Summary>
</Package>
</PISI>
+30
View File
@@ -0,0 +1,30 @@
#!/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 autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import libtools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
#WorkDir = "%s-%s-SNAP-0311112127" % (get.srcNAME(), get.srcVERSION())
def setup():
#libtools.libtoolize("--copy --force")
#autotools.aclocal()
shelltools.system("sh ./autogen.sh")
autotools.configure("--enable-static=no")
def build():
autotools.make("-j1")
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.dodoc("LICENSE.TERMS", "README*")
pisitools.dohtml("doc/*.html", "doc/*.gif", "doc/fastcgi-prog-guide/*.*", "doc/fastcgi-whitepaper/*.*")
pisitools.doman("doc/cgi-fcgi.1", "doc/FCGI_Accept.3", "doc/FCGI_Finish.3", "doc/FCGI_SetExitStatus.3", "doc/FCGI_StartFilterData.3")
+56
View File
@@ -0,0 +1,56 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>fcgi</Name>
<Homepage>http://www.fastcgi.com/drupal</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>BSD</License>
<IsA>library</IsA>
<Summary>FastCGI development kit</Summary>
<Description>FastCGI is a language independent, scalable, open extension to CGI that provides high performance without the limitations of server specific APIs.</Description>
<Archive sha1sum="a0c37cfb9b4d2bfa8f105b298759f1f00ff88050" type="targz">https://github.com/FastCGI-Archives/fcgi2/archive/2.4.2.tar.gz</Archive>
<Patches>
<!--Patch level="1">fcgi-no-libs.patch</Patch>
<Patch level="1">fcgi-2.4.0-Makefile.patch</Patch>
<Patch level="1">fcgi-2.4.0-clientdata-pointer.patch</Patch>
<Patch level="1">fcgi-2.4.0-html-updates.patch</Patch>
<Patch level="1">fcgi-2.4.1_pre0311112127-gcc44.patch</Patch-->
</Patches>
</Source>
<Package>
<Name>fcgi</Name>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc/fcgi</Path>
<Path fileType="man">/usr/share/man</Path>
</Files>
</Package>
<Package>
<Name>fcgi-devel</Name>
<Summary>Development files for fcgi</Summary>
<RuntimeDependencies>
<Dependency release="current">fcgi</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="man">/usr/share/man/man3</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>2020-03-21</Date>
<Version>2.4.2</Version>
<Comment>First release</Comment>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Update>
</History>
</PISI>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>fcgi</Name>
<Summary xml:lang="tr">FastCGI araç takımı</Summary>
<Description xml:lang="tr">FastCGI; dil bağımsız, ölçeklenebilir, CGI sunucusunun sınırlamaları olmadan belirli API'leri yüksek performansda çalıştıran bir kitaplıktır.</Description>
</Source>
<Package>
<Name>fcgi-devel</Name>
<Summary xml:lang="tr">fcgi için geliştirme dosyaları</Summary>
</Package>
</PISI>