summaryrefslogtreecommitdiff
path: root/app-arch/zoo
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-arch/zoo
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-arch/zoo')
-rw-r--r--app-arch/zoo/Manifest2
-rw-r--r--app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch36
-rw-r--r--app-arch/zoo/files/zoo-2.10-febz-183426.patch16
-rw-r--r--app-arch/zoo/files/zoo-2.10-gentoo-fbsd.patch25
-rw-r--r--app-arch/zoo/files/zoo-2.10-multiple-dos-fix.patch71
-rw-r--r--app-arch/zoo/files/zoo-2.10-security_pathsize.patch23
-rw-r--r--app-arch/zoo/metadata.xml8
-rw-r--r--app-arch/zoo/zoo-2.10-r4.ebuild37
8 files changed, 218 insertions, 0 deletions
diff --git a/app-arch/zoo/Manifest b/app-arch/zoo/Manifest
new file mode 100644
index 00000000000..7024a3ea8c5
--- /dev/null
+++ b/app-arch/zoo/Manifest
@@ -0,0 +1,2 @@
+DIST zoo-2.10-gcc-issues-fix.patch 19467 SHA256 0215efd7aa218048f5f8bc085810f89cad6a9f710234f0d0e93be959a02f582b SHA512 a5b5e857b3d38633224ca8a28717cb529a11a2e66ca974fb9b7e326d18443657439b88b4af4867492399813845496dc0812a7e07885b01116e0163416562ce3c WHIRLPOOL dcf18afbfb097e4edf35dd0b9a10f8253c949d0017ad4c26b7bf3f0acfaa090bc32a3d06e5fa55960073baa06b6d4a8721674a355a060d31ee6acf32c13ec247
+DIST zoo-2.10pl1.tar.gz 172096 SHA256 ad8d8fee5e524aca0e1e9a1e431c21cd59943d8373d5dffe4edca03a7e4284f4 SHA512 cf69b15020ebcbd10bda19967a52ac6f8fe09dc598e8034b82449c50f4c5000571a5be284452f5e7801d134e1581f8f9e871fbef65518dc9c69a77fb536f2c12 WHIRLPOOL 430fe2bd185dc1845afd36426966d0c29a2df5495d6c5c8e3092de5da48a77b781430cf95c93467826da03b646ab4641b881c5bacd4e6e763cb409dcbcf11762
diff --git a/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch b/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch
new file mode 100644
index 00000000000..3752728c8e5
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch
@@ -0,0 +1,36 @@
+Taken from Fedora
+
+--- portable.c
++++ portable.c
+@@ -364,6 +364,31 @@
+ show_dir(direntry);
+ }
+ #endif
++ char *p;
++ /* take off '../' */
++ while ((p = strstr( direntry->dirname, "../" )) != NULL) {
++ while (*(p+3) != '\0') {
++ *p = *(p + 3);
++ p++;
++ }
++ *p = *(p+3); /* move last null */
++ //printf("zoo: skipped \"../\" path component in '%s'\n", direntry->dirname);
++ }
++ /* take off '/' */
++ if ( direntry->dirname[0] == '/' ) {
++ p = direntry->dirname;
++ while (*p != '\0') {
++ *p = *(p + 1);
++ p++;
++ }
++ *p = *(p+1); /* move last null */
++ //printf("zoo: skipped \"/\" path component in '%s'\n", direntry->dirname);
++ }
++ /* take off '..' */
++ if(!strcmp(direntry->dirname, ".."))
++ direntry->dirname[0] = '\0';
++ /* direntry->dirlen = strlen(direntry->dirname); */
++
+ return (0);
+ }
+
diff --git a/app-arch/zoo/files/zoo-2.10-febz-183426.patch b/app-arch/zoo/files/zoo-2.10-febz-183426.patch
new file mode 100644
index 00000000000..d8e34d62809
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-febz-183426.patch
@@ -0,0 +1,16 @@
+Taken from Fedora
+
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183426
+http://bugs.gentoo.org/125622
+
+--- zoo/parse.c
++++ zoo/parse.c
+@@ -39,7 +39,7 @@
+ char *namep; /* points to relevant part of tempname */
+
+ char *p;
+- strcpy (tempname, fname);
++ strncpy(tempname, fname, LFNAMESIZE);
+
+ #ifdef DEBUG
+ printf ("parse: supplied name is [%s].\n", tempname);
diff --git a/app-arch/zoo/files/zoo-2.10-gentoo-fbsd.patch b/app-arch/zoo/files/zoo-2.10-gentoo-fbsd.patch
new file mode 100644
index 00000000000..64eabaf4058
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-gentoo-fbsd.patch
@@ -0,0 +1,25 @@
+--- sysv.c 2007-06-16 15:01:53 +0200
++++ sysv.c.new 2007-06-16 14:38:38 +0200
+@@ -63,8 +63,8 @@
+ return (fname); /* default is no-op */
+ }
+
+-extern long timezone; /* defined by library routine */
+-long time ();
++/*extern long timezone; defined by library routine */
++/* long time (); */
+ struct tm *localtime ();
+
+ /* Function gettz(), returns the offset from GMT in seconds of the
+--- zoo.h 2007-06-16 15:01:53 +0200
++++ zoo.h.new 2007-06-16 14:57:58 +0200
+@@ -95,6 +95,9 @@
+ #endif
+
+ typedef unsigned char uchar;
++typedef unsigned int uint;
++typedef unsigned long ulong;
++typedef unsigned short ushort;
+
+ /* WARNING: Static initialization in zooadd.c or zooext.c depends on the
+ order of fields in struct zoo_header */ \ No newline at end of file
diff --git a/app-arch/zoo/files/zoo-2.10-multiple-dos-fix.patch b/app-arch/zoo/files/zoo-2.10-multiple-dos-fix.patch
new file mode 100644
index 00000000000..b37cee0c94d
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-multiple-dos-fix.patch
@@ -0,0 +1,71 @@
+diff -ur zoo-2.10-r2/zooext.c zoo-2.10-r3/zooext.c
+--- zoo-2.10-r2/zooext.c 2007-05-23 23:39:14.000000000 +0200
++++ zoo-2.10-r3/zooext.c 2007-05-23 23:36:37.000000000 +0200
+@@ -89,6 +89,7 @@
+ #endif
+ struct direntry direntry; /* directory entry */
+ int first_dir = 1; /* first dir entry seen? */
++ unsigned long zoo_pointer = 0; /* Track our position in the file */
+
+ static char extract_ver[] = "Zoo %d.%d is needed to extract %s.\n";
+ static char no_space[] = "Insufficient disk space to extract %s.\n";
+@@ -169,6 +170,9 @@
+ exit_status = 1;
+ }
+ zooseek (zoo_file, zoo_header.zoo_start, 0); /* seek to where data begins */
++
++ /* Begin tracking our position in the file */
++ zoo_pointer = zoo_header.zoo_start;
+ }
+
+ #ifndef PORTABLE
+@@ -597,6 +601,11 @@
+ } /* end if */
+
+ loop_again:
++ /* Make sure we are not seeking to already processed data */
++ if (next_ptr <= zoo_pointer)
++ prterror ('f', "ZOO chain structure is corrupted\n");
++ zoo_pointer = next_ptr;
++
+ zooseek (zoo_file, next_ptr, 0); /* ..seek to next dir entry */
+ } /* end while */
+
+Nur in zoo-2.10-r3: zooext.c~.
+Nur in zoo-2.10-r3: zooext.c.orig.
+diff -ur zoo-2.10-r2/zoolist.c zoo-2.10-r3/zoolist.c
+--- zoo-2.10-r2/zoolist.c 1991-07-20 00:57:27.000000000 +0200
++++ zoo-2.10-r3/zoolist.c 2007-05-23 23:38:19.000000000 +0200
+@@ -92,7 +92,7 @@
+ int show_mode = 0; /* show file protection */
+ #endif
+ int first_dir = 1; /* if first direntry -- to adjust dat_ofs */
+-
++unsigned long zoo_pointer = 0; /* Track our position in the file */
+ while (*option) {
+ switch (*option) {
+ case 'a': show_name++; break;
+@@ -211,6 +211,9 @@
+ show_acmt (&zoo_header, zoo_file, 0); /* show archive comment */
+ }
+
++ /* Begin tracking our position in the file */
++ zoo_pointer = zoo_header.zoo_start;
++
+ /* Seek to the beginning of the first directory entry */
+ if (zooseek (zoo_file, zoo_header.zoo_start, 0) != 0) {
+ ercount++;
+@@ -437,6 +440,11 @@
+ if (verb_list && !fast)
+ show_comment (&direntry, zoo_file, 0, (char *) NULL);
+ } /* end if (lots of conditions) */
++
++ /* Make sure we are not seeking to already processed data */
++ if (direntry.next <= zoo_pointer)
++ prterror ('f', "ZOO chain structure is corrupted\n");
++ zoo_pointer = direntry.next;
+
+ /* ..seek to next dir entry */
+ zooseek (zoo_file, direntry.next, 0);
+Nur in zoo-2.10-r3: zoolist.c~.
+Nur in zoo-2.10-r3: zoolist.c.orig.
diff --git a/app-arch/zoo/files/zoo-2.10-security_pathsize.patch b/app-arch/zoo/files/zoo-2.10-security_pathsize.patch
new file mode 100644
index 00000000000..4f89530f43e
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-security_pathsize.patch
@@ -0,0 +1,23 @@
+Taken from Fedora
+
+--- misc.c
++++ misc.c
+@@ -135,11 +135,17 @@
+ char *fullpath (direntry)
+ struct direntry *direntry;
+ {
+- static char result[PATHSIZE];
++ static char result[PATHSIZE+LFNAMESIZE+12]; /* Room for enough space.*/
+ combine (result,
+ direntry->dirlen != 0 ? direntry->dirname : "",
+ (direntry->namlen != 0) ? direntry->lfname : direntry->fname
+ );
++
++ if (strlen (result) >= PATHSIZE) {
++ prterror ('f', "Combined dirname and filename too long!\n");
++ *result = '\0';
++ }
++
+ return (result);
+ }
+
diff --git a/app-arch/zoo/metadata.xml b/app-arch/zoo/metadata.xml
new file mode 100644
index 00000000000..f9d50da18d3
--- /dev/null
+++ b/app-arch/zoo/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ <description>This package lacks a primary herd or maintainer.</description>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-arch/zoo/zoo-2.10-r4.ebuild b/app-arch/zoo/zoo-2.10-r4.ebuild
new file mode 100644
index 00000000000..16e50d87379
--- /dev/null
+++ b/app-arch/zoo/zoo-2.10-r4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Manipulate archives of files in compressed form"
+HOMEPAGE="ftp://ftp.kiarchive.ru/pub/unix/arcers"
+SRC_URI="ftp://ftp.kiarchive.ru/pub/unix/arcers/${P}pl1.tar.gz
+ mirror://gentoo/${P}-gcc-issues-fix.patch"
+
+LICENSE="zoo"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+S=${WORKDIR}
+
+src_unpack() {
+ unpack ${A}
+ epatch "${DISTDIR}"/${P}-gcc-issues-fix.patch
+ epatch "${FILESDIR}"/${P}-CAN-2005-2349.patch
+ epatch "${FILESDIR}"/${P}-febz-183426.patch
+ epatch "${FILESDIR}"/${P}-security_pathsize.patch
+ epatch "${FILESDIR}"/${P}-multiple-dos-fix.patch
+ epatch "${FILESDIR}"/${P}-gentoo-fbsd.patch
+}
+
+src_compile() {
+ # emake no workie on FreeBSD
+ make CC="$(tc-getCC)" linux || die
+}
+
+src_install() {
+ dobin zoo fiz || die
+ doman zoo.1 fiz.1
+}