Ravenports generated: 10 Feb 2024 22:55
[ravenports.git] / bucket_79 / unzoo
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               unzoo
4 VERSION=                4.4
5 KEYWORDS=               archivers
6 VARIANTS=               standard
7 SDESC[standard]=        ZOO archive extractor
8 HOMEPAGE=               http://freshmeat.sourceforge.net/projects/unzoo/
9 CONTACT=                nobody
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            FREELOCAL/ehaupt
13 DISTFILE[1]=            unzoo_4.4.orig.tar.gz:main
14 DISTFILE[2]=            unzoo_4.4-4.diff.gz:main
15 DF_INDEX=               1
16 SPKGS[standard]=        single
17
18 OPTIONS_AVAILABLE=      none
19 OPTIONS_STANDARD=       none
20
21 USES=                   cpe
22
23 EXTRACT_DIRTY=          1
24
25 LICENSE=                PUBDOM:single
26 LICENSE_FILE=           PUBDOM:{{WRKSRC}}/debian/copyright
27 LICENSE_SCHEME=         solo
28
29 FPC_EQUIVALENT=         archivers/unzoo
30
31 PATCHFILES=             2
32 PATCHFILES_STRIP=       -p1
33
34 CFLAGS=                 -DSYS_IS_UNIX
35                         -DSYS_HAS_MKDIR
36                         -trigraphs
37
38 do-build:
39         cd ${WRKSRC} && ${CC} ${CFLAGS} -o unzoo unzoo.c
40
41 do-install:
42         ${INSTALL_PROGRAM} ${WRKSRC}/unzoo ${STAGEDIR}${PREFIX}/bin
43         ${INSTALL_MAN} ${WRKSRC}/debian/unzoo.1 \
44                 ${STAGEDIR}${MANPREFIX}/man/man1
45
46 [FILE:195:descriptions/desc.single]
47 Unzoo is a zoo archive extractor written by Martin Schoenert. If unzoo is
48 called with no arguments, it will first print a summary of the commands
49 and then prompt for command lines interactively.
50
51
52 [FILE:198:distinfo]
53 977bb2147a52370d3fce87947f66ea18eb927654d732f685d977a1f68ac35ef6        25737 unzoo_4.4.orig.tar.gz
54 67b8e05465448cfad88c20dfebc4cce9b3fc62326231a83f3e3fb41ab746d283         8567 unzoo_4.4-4.diff.gz
55
56
57 [FILE:36:manifests/plist.single]
58 bin/unzoo
59 share/man/man1/unzoo.1.gz
60
61
62 [FILE:2220:patches/patch-unzoo.c]
63 --- unzoo.c.orig        2021-01-10 02:37:57 UTC
64 +++ unzoo.c
65 @@ -949,7 +949,7 @@ int             MacOpenWritBinr ( patl )
66          return 0;
67      }
68      fndrInfo.ioFlFndrInfo.fdType    = 'BINA';
69 -       fndrInfo.ioFlFndrInfo.fdCreator = '????';
70 +    fndrInfo.ioFlFndrInfo.fdCreator = '____';
71       if ( PBSetFInfo( (ParmBlkPtr)&fndrInfo, 0 ) ) {
72          return 0;
73      }
74 @@ -2590,20 +2590,20 @@ int             ExtrArch ( bim, out, ovr
75              /* but only if the user did not request otherwise              */
76  
77              /* building the universal path of this member                  */
78 +            int found_trav = 0;
79              char patu [sizeof(Entry.diru) + sizeof(Entry.namu) + 2];
80              strcpy( patu, Entry.diru );
81              if ( strlen(patu) && patu[strlen(patu)-1] != '/') strcat( patu, "/" );
82              strcat( patu, (Entry.lnamu ? Entry.namu : Entry.nams) );
83  
84 -            int found_trav = 0;
85  
86              if ( strstr( patu, "/../" )) {
87 -                found_trav = 1;
88  
89                  /* remove "/../" from the path                             */
90                  char tmp [sizeof(patu)];
91                  char *p;
92                  char *q;
93 +                found_trav = 1;
94                  memset(tmp, 0, sizeof(tmp));
95                  q = patu;
96  
97 @@ -2625,10 +2625,10 @@ int             ExtrArch ( bim, out, ovr
98                  printf("unzoo: skipped \"/../\" path component(s) in '%s'\n", Entry.patl);
99              }
100              if ( *patu == '/' && !strlen( pre ) ) {
101 -                found_trav = 1;
102  
103                  char *p = malloc(sizeof(patu));
104                  char *q = p;
105 +                found_trav = 1;
106                  memset(p, 0, sizeof(patu));
107                  strcpy(p, patu);
108                  while ( q[0] == '/' ) q++;
109 @@ -2638,9 +2638,9 @@ int             ExtrArch ( bim, out, ovr
110                  printf("unzoo: skipped root directory path component in '%s'\n", patl);
111              }
112              if ( !strncmp( patu, "../", 3 )) {
113 -                found_trav = 1;
114  
115                  char tmp [sizeof(patu)];
116 +                found_trav = 1;
117                  memset(tmp, 0, sizeof(tmp));
118                  strcpy(tmp, patu + 3);
119                  strcpy(patu, tmp);
120