Skip to content

Commit bbccebc

Browse files
committed
fix corruped tar mkfile
1 parent 248d2ca commit bbccebc

1 file changed

Lines changed: 260 additions & 29 deletions

File tree

sys/src/ape/cmd/tar/mkfile

Lines changed: 260 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,285 @@
1-
<//mkfile
1+
</$objtype/mkfile
22
APEXPROOT=../../../../..
33

44
TARG=tar
55

6-
OFILES= buffer. checkpoint. compare. create. delete. exit. exclist. extract. xheader. incremen. list. map. misc. names. sparse. suffix. system. tar. transform. unlink. update. utf8. warning. xattrs.
6+
OFILES=\
7+
buffer.$O\
8+
checkpoint.$O\
9+
compare.$O\
10+
create.$O\
11+
delete.$O\
12+
exit.$O\
13+
exclist.$O\
14+
extract.$O\
15+
xheader.$O\
16+
incremen.$O\
17+
list.$O\
18+
map.$O\
19+
misc.$O\
20+
names.$O\
21+
sparse.$O\
22+
suffix.$O\
23+
system.$O\
24+
tar.$O\
25+
transform.$O\
26+
unlink.$O\
27+
update.$O\
28+
utf8.$O\
29+
warning.$O\
30+
xattrs.$O
731

8-
LIBGNU_OBJS=# libgnu_a-acl-errno-valid. # libgnu_a-acl-internal. # libgnu_a-get-permissions. # libgnu_a-set-permissions. # libgnu_a-allocator. # libgnu_a-areadlink. # libgnu_a-areadlink-with-size. # libgnu_a-areadlinkat. # libgnu_a-areadlinkat-with-size. # libgnu_a-argmatch. # libgnu_a-argp-ba. # libgnu_a-argp-eexst. # libgnu_a-argp-fmtstream. # libgnu_a-argp-fs-xinl. # libgnu_a-argp-help. # libgnu_a-argp-parse. # libgnu_a-argp-pin. # libgnu_a-argp-pv. # libgnu_a-argp-pvh. # libgnu_a-argp-xinl. # libgnu_a-argp-version-etc. # libgnu_a-openat-proc. # libgnu_a-backupfile. # libgnu_a-backup-find. # libgnu_a-basename-lgpl. # libgnu_a-bitrotate. # libgnu_a-btowc. # libgnu_a-c-ctype. # libgnu_a-c-strcasecmp. # libgnu_a-c-strncasecmp. # libgnu_a-c32isalnum. # libgnu_a-c32isalpha. # libgnu_a-c32isblank. # libgnu_a-c32iscntrl. # libgnu_a-c32isdigit. # libgnu_a-c32isgraph. # libgnu_a-c32islower. # libgnu_a-c32isprint. # libgnu_a-c32ispunct. # libgnu_a-c32isspace. # libgnu_a-c32isupper. # libgnu_a-c32isxdigit. # libgnu_a-c32tolower. # libgnu_a-c32width. # libgnu_a-canonicalize-lgpl. # libgnu_a-careadlinkat. # libgnu_a-chdir-long. # libgnu_a-chown. # libgnu_a-cloexec. # libgnu_a-close-stream. # libgnu_a-closeout. # libgnu_a-opendir-safer. # libgnu_a-dirname. # libgnu_a-basename. # libgnu_a-dirname-lgpl. # libgnu_a-stripslash. # libgnu_a-dup2. libgnu_a-error. libgnu_a-euidaccess. # libgnu_a-exclude. # libgnu_a-exitfail. # libgnu_a-faccessat. # libgnu_a-fchmodat. # libgnu_a-fchownat. # libgnu_a-fcntl. # libgnu_a-creat-safer. # libgnu_a-open-safer. # libgnu_a-fd-hook. # libgnu_a-fd-safer-flag. # libgnu_a-dup-safer-flag. # libgnu_a-fdopendir. # libgnu_a-fdutimensat. # libgnu_a-file-has-acl. # libgnu_a-filenamecat-lgpl. # libgnu_a-fpending. # libgnu_a-fprintftime. # libgnu_a-free. # libgnu_a-fseek. # libgnu_a-fseeko. # libgnu_a-fstatat. # libgnu_a-full-read. # libgnu_a-full-write. # libgnu_a-futimens. # libgnu_a-getcwd. # libgnu_a-getcwd-lgpl. # libgnu_a-getgroups. # libgnu_a-getopt. # libgnu_a-getopt1. # libgnu_a-getrandom. # libgnu_a-gettime. # libgnu_a-dynarray_at_failure. # libgnu_a-dynarray_emplace_enlarge. # libgnu_a-dynarray_finalize. # libgnu_a-dynarray_resize. # libgnu_a-dynarray_resize_clear. # libgnu_a-scratch_buffer_grow. # libgnu_a-scratch_buffer_grow_preserve. # libgnu_a-scratch_buffer_set_array_size. # libgnu_a-group-member. # libgnu_a-hard-locale. libgnu_a-hash. # libgnu_a-human. # libgnu_a-ialloc. # libgnu_a-imaxtostr. # libgnu_a-inttostr. # libgnu_a-offtostr. # libgnu_a-uinttostr. # libgnu_a-umaxtostr. # libgnu_a-lchmod. # libgnu_a-lchown. # libgnu_a-linkat. # libgnu_a-localcharset. # libgnu_a-localeconv. # libgnu_a-lseek. # libgnu_a-lstat. # libgnu_a-malloca. # libgnu_a-mbchar. # libgnu_a-mbrtoc32. # libgnu_a-mbrtowc. # libgnu_a-mbscasecmp. # libgnu_a-mbsrtowcs. # libgnu_a-mbuiter. # libgnu_a-memrchr. # libgnu_a-mkdir. # libgnu_a-mkdtemp. # libgnu_a-mkfifoat. # libgnu_a-mknodat. # libgnu_a-mknod. # libgnu_a-modechange. # libgnu_a-nl_langinfo. # libgnu_a-nstrftime. # libgnu_a-obstack. # libgnu_a-openat. # libgnu_a-openat-die. # libgnu_a-openat-safer. # libgnu_a-opendirat. # libgnu_a-parse-datetime. # libgnu_a-priv-set. libgnu_a-progname. # libgnu_a-quotearg. # libgnu_a-rawmemchr. # libgnu_a-readlink. # libgnu_a-readlinkat. # libgnu_a-reallocarray. # libgnu_a-regex. # libgnu_a-rename. # libgnu_a-renameat. # libgnu_a-renameatu. # libgnu_a-rmdir. # libgnu_a-rpmatch. # libgnu_a-safe-read. # libgnu_a-safe-write. # libgnu_a-save-cwd. # libgnu_a-savedir. # libgnu_a-selinux-at. # libgnu_a-se-context. # libgnu_a-se-label. # libgnu_a-se-selinux. # libgnu_a-setlocale_null. # libgnu_a-setlocale-lock. # libgnu_a-sleep. # libgnu_a-stat-time. # libgnu_a-stdopen. libgnu_a-stpcpy. libgnu_a-strerror. # libgnu_a-strerror-override. # libgnu_a-strnlen1. # libgnu_a-strtol. # libgnu_a-strtoll. # libgnu_a-strtoul. # libgnu_a-strtoull. # libgnu_a-symlink. # libgnu_a-symlinkat. # libgnu_a-tempname. # libgnu_a-time_rz. # libgnu_a-timegm. # libgnu_a-timespec. # libgnu_a-timespec-sub. # libgnu_a-tolower. # libgnu_a-ctype_alnum. # libgnu_a-ctype_alpha. # libgnu_a-ctype_blank. # libgnu_a-ctype_cntrl. # libgnu_a-ctype_digit. # libgnu_a-ctype_graph. # libgnu_a-ctype_lower. # libgnu_a-ctype_print. # libgnu_a-ctype_punct. # libgnu_a-ctype_space. # libgnu_a-ctype_upper. # libgnu_a-ctype_xdigit. libgnu_a-unistd. # libgnu_a-dup-safer. # libgnu_a-fd-safer. # libgnu_a-pipe-safer. # libgnu_a-width. # libgnu_a-unlinkat. # libgnu_a-unlinkdir. # libgnu_a-utimens. # libgnu_a-utimensat. libgnu_a-version-etc. # libgnu_a-version-etc-fsf. # libgnu_a-wctype-h. # libgnu_a-wmempcpy. libgnu_a-xmalloc. libgnu_a-xalloc-die. # libgnu_a-xgetcwd. # libgnu_a-xsize. # libgnu_a-xstrtol. # libgnu_a-xstrtoul. # libgnu_a-xstrtoumax. # libgnu_a-xvasprintf. # libgnu_a-xasprintf.
32+
LIBGNU_OBJS=\
33+
# libgnu_a-acl-errno-valid.$O\
34+
# libgnu_a-acl-internal.$O\
35+
# libgnu_a-get-permissions.$O\
36+
# libgnu_a-set-permissions.$O\
37+
# libgnu_a-allocator.$O\
38+
# libgnu_a-areadlink.$O\
39+
# libgnu_a-areadlink-with-size.$O\
40+
# libgnu_a-areadlinkat.$O\
41+
# libgnu_a-areadlinkat-with-size.$O\
42+
# libgnu_a-argmatch.$O\
43+
# libgnu_a-argp-ba.$O\
44+
# libgnu_a-argp-eexst.$O\
45+
# libgnu_a-argp-fmtstream.$O\
46+
# libgnu_a-argp-fs-xinl.$O\
47+
# libgnu_a-argp-help.$O\
48+
# libgnu_a-argp-parse.$O\
49+
# libgnu_a-argp-pin.$O\
50+
# libgnu_a-argp-pv.$O\
51+
# libgnu_a-argp-pvh.$O\
52+
# libgnu_a-argp-xinl.$O\
53+
# libgnu_a-argp-version-etc.$O\
54+
# libgnu_a-openat-proc.$O\
55+
# libgnu_a-backupfile.$O\
56+
# libgnu_a-backup-find.$O\
57+
# libgnu_a-basename-lgpl.$O\
58+
# libgnu_a-bitrotate.$O\
59+
# libgnu_a-btowc.$O\
60+
# libgnu_a-c-ctype.$O\
61+
# libgnu_a-c-strcasecmp.$O\
62+
# libgnu_a-c-strncasecmp.$O\
63+
# libgnu_a-c32isalnum.$O\
64+
# libgnu_a-c32isalpha.$O\
65+
# libgnu_a-c32isblank.$O\
66+
# libgnu_a-c32iscntrl.$O\
67+
# libgnu_a-c32isdigit.$O\
68+
# libgnu_a-c32isgraph.$O\
69+
# libgnu_a-c32islower.$O\
70+
# libgnu_a-c32isprint.$O\
71+
# libgnu_a-c32ispunct.$O\
72+
# libgnu_a-c32isspace.$O\
73+
# libgnu_a-c32isupper.$O\
74+
# libgnu_a-c32isxdigit.$O\
75+
# libgnu_a-c32tolower.$O\
76+
# libgnu_a-c32width.$O\
77+
# libgnu_a-canonicalize-lgpl.$O\
78+
# libgnu_a-careadlinkat.$O\
79+
# libgnu_a-chdir-long.$O\
80+
# libgnu_a-chown.$O\
81+
# libgnu_a-cloexec.$O\
82+
# libgnu_a-close-stream.$O\
83+
# libgnu_a-closeout.$O\
84+
# libgnu_a-opendir-safer.$O\
85+
# libgnu_a-dirname.$O\
86+
# libgnu_a-basename.$O\
87+
# libgnu_a-dirname-lgpl.$O\
88+
# libgnu_a-stripslash.$O\
89+
# libgnu_a-dup2.$O\
90+
libgnu_a-error.$O\
91+
libgnu_a-euidaccess.$O\
92+
# libgnu_a-exclude.$O\
93+
# libgnu_a-exitfail.$O\
94+
# libgnu_a-faccessat.$O\
95+
# libgnu_a-fchmodat.$O\
96+
# libgnu_a-fchownat.$O\
97+
# libgnu_a-fcntl.$O\
98+
# libgnu_a-creat-safer.$O\
99+
# libgnu_a-open-safer.$O\
100+
# libgnu_a-fd-hook.$O\
101+
# libgnu_a-fd-safer-flag.$O\
102+
# libgnu_a-dup-safer-flag.$O\
103+
# libgnu_a-fdopendir.$O\
104+
# libgnu_a-fdutimensat.$O\
105+
# libgnu_a-file-has-acl.$O\
106+
# libgnu_a-filenamecat-lgpl.$O\
107+
# libgnu_a-fpending.$O\
108+
# libgnu_a-fprintftime.$O\
109+
# libgnu_a-free.$O\
110+
# libgnu_a-fseek.$O\
111+
# libgnu_a-fseeko.$O\
112+
# libgnu_a-fstatat.$O\
113+
# libgnu_a-full-read.$O\
114+
# libgnu_a-full-write.$O\
115+
# libgnu_a-futimens.$O\
116+
# libgnu_a-getcwd.$O\
117+
# libgnu_a-getcwd-lgpl.$O\
118+
# libgnu_a-getgroups.$O\
119+
# libgnu_a-getopt.$O\
120+
# libgnu_a-getopt1.$O\
121+
# libgnu_a-getrandom.$O\
122+
# libgnu_a-gettime.$O\
123+
# libgnu_a-dynarray_at_failure.$O\
124+
# libgnu_a-dynarray_emplace_enlarge.$O\
125+
# libgnu_a-dynarray_finalize.$O
126+
# libgnu_a-dynarray_resize.$O\
127+
# libgnu_a-dynarray_resize_clear.$O\
128+
# libgnu_a-scratch_buffer_grow.$O\
129+
# libgnu_a-scratch_buffer_grow_preserve.$O\
130+
# libgnu_a-scratch_buffer_set_array_size.$O\
131+
# libgnu_a-group-member.$O\
132+
# libgnu_a-hard-locale.$O\
133+
libgnu_a-hash.$O\
134+
# libgnu_a-human.$O\
135+
# libgnu_a-ialloc.$O\
136+
# libgnu_a-imaxtostr.$O\
137+
# libgnu_a-inttostr.$O\
138+
# libgnu_a-offtostr.$O\
139+
# libgnu_a-uinttostr.$O\
140+
# libgnu_a-umaxtostr.$O\
141+
# libgnu_a-lchmod.$O\
142+
# libgnu_a-lchown.$O\
143+
# libgnu_a-linkat.$O\
144+
# libgnu_a-localcharset.$O\
145+
# libgnu_a-localeconv.$O\
146+
# libgnu_a-lseek.$O\
147+
# libgnu_a-lstat.$O\
148+
# libgnu_a-malloca.$O\
149+
# libgnu_a-mbchar.$O\
150+
# libgnu_a-mbrtoc32.$O
151+
# libgnu_a-mbrtowc.$O\
152+
# libgnu_a-mbscasecmp.$O\
153+
# libgnu_a-mbsrtowcs.$O\
154+
# libgnu_a-mbuiter.$O\
155+
# libgnu_a-memrchr.$O\
156+
# libgnu_a-mkdir.$O\
157+
# libgnu_a-mkdtemp.$O\
158+
# libgnu_a-mkfifoat.$O\
159+
# libgnu_a-mknodat.$O\
160+
# libgnu_a-mknod.$O\
161+
# libgnu_a-modechange.$O\
162+
# libgnu_a-nl_langinfo.$O\
163+
# libgnu_a-nstrftime.$O\
164+
# libgnu_a-obstack.$O\
165+
# libgnu_a-openat.$O\
166+
# libgnu_a-openat-die.$O\
167+
# libgnu_a-openat-safer.$O\
168+
# libgnu_a-opendirat.$O\
169+
# libgnu_a-parse-datetime.$O\
170+
# libgnu_a-priv-set.$O\
171+
libgnu_a-progname.$O\
172+
# libgnu_a-quotearg.$O\
173+
# libgnu_a-rawmemchr.$O\
174+
# libgnu_a-readlink.$O\
175+
# libgnu_a-readlinkat.$O\
176+
# libgnu_a-reallocarray.$O\
177+
# libgnu_a-regex.$O\
178+
# libgnu_a-rename.$O\
179+
# libgnu_a-renameat.$O\
180+
# libgnu_a-renameatu.$O\
181+
# libgnu_a-rmdir.$O\
182+
# libgnu_a-rpmatch.$O\
183+
# libgnu_a-safe-read.$O\
184+
# libgnu_a-safe-write.$O\
185+
# libgnu_a-save-cwd.$O\
186+
# libgnu_a-savedir.$O\
187+
# libgnu_a-selinux-at.$O\
188+
# libgnu_a-se-context.$O\
189+
# libgnu_a-se-label.$O\
190+
# libgnu_a-se-selinux.$O\
191+
# libgnu_a-setlocale_null.$O\
192+
# libgnu_a-setlocale-lock.$O\
193+
# libgnu_a-sleep.$O\
194+
# libgnu_a-stat-time.$O\
195+
# libgnu_a-stdopen.$O\
196+
libgnu_a-stpcpy.$O\
197+
libgnu_a-strerror.$O\
198+
# libgnu_a-strerror-override.$O\
199+
# libgnu_a-strnlen1.$O\
200+
# libgnu_a-strtol.$O\
201+
# libgnu_a-strtoll.$O\
202+
# libgnu_a-strtoul.$O\
203+
# libgnu_a-strtoull.$O\
204+
# libgnu_a-symlink.$O\
205+
# libgnu_a-symlinkat.$O\
206+
# libgnu_a-tempname.$O\
207+
# libgnu_a-time_rz.$O\
208+
# libgnu_a-timegm.$O\
209+
# libgnu_a-timespec.$O\
210+
# libgnu_a-timespec-sub.$O\
211+
# libgnu_a-tolower.$O\
212+
# libgnu_a-ctype_alnum.$O\
213+
# libgnu_a-ctype_alpha.$O\
214+
# libgnu_a-ctype_blank.$O\
215+
# libgnu_a-ctype_cntrl.$O\
216+
# libgnu_a-ctype_digit.$O\ # libgnu_a-ctype_graph.$O\
217+
# libgnu_a-ctype_lower.$O\
218+
# libgnu_a-ctype_print.$O\
219+
# libgnu_a-ctype_punct.$O\
220+
# libgnu_a-ctype_space.$O\
221+
# libgnu_a-ctype_upper.$O\
222+
# libgnu_a-ctype_xdigit.$O\
223+
libgnu_a-unistd.$O\
224+
# libgnu_a-dup-safer.$O\
225+
# libgnu_a-fd-safer.$O\
226+
# libgnu_a-pipe-safer.$O\
227+
# libgnu_a-width.$O\
228+
# libgnu_a-unlinkat.$O\
229+
# libgnu_a-unlinkdir.$O\
230+
# libgnu_a-utimens.$O\
231+
# libgnu_a-utimensat.$O\
232+
libgnu_a-version-etc.$O\
233+
# libgnu_a-version-etc-fsf.$O\
234+
# libgnu_a-wctype-h.$O\
235+
# libgnu_a-wmempcpy.$O\
236+
libgnu_a-xmalloc.$O\
237+
libgnu_a-xalloc-die.$O\
238+
# libgnu_a-xgetcwd.$O\
239+
# libgnu_a-xsize.$O\
240+
# libgnu_a-xstrtol.$O\
241+
# libgnu_a-xstrtoul.$O\
242+
# libgnu_a-xstrtoumax.$O\
243+
# libgnu_a-xvasprintf.$O\
244+
# libgnu_a-xasprintf.$O
9245

10-
LIBTAR_OBJS= paxerror. paxexit-status. paxnames. rtapelib. wordsplit. xattr-at.
246+
LIBTAR_OBJS= paxerror.$O paxexit-status.$O paxnames.$O rtapelib.$O wordsplit.$O xattr-at.$O
11247

12248
LIB=libgnu.a libtar.a
13-
BIN=//bin/ape
249+
BIN=/$objtype/bin/ape
14250

15251
</sys/src/cmd/mkone
16252

17253
GTARSRC=../../../external/gtar
18254

19-
#during building from scratch, the new pcc is not picked up and compilation
20-
#fails on include_next
21-
CC=//bin/pcc
255+
CFLAGS=-c -I. -I$GTARSRC -I$GTARSRC/src -I$GTARSRC/lib -I$GTARSRC/gnu -B -DHAVE_CONFIG_H -DLOCALEDIR="/sys/lib/ape/locale"
22256

23-
CFLAGS=-c -I. -I -I/src -I/lib -I/gnu -B -DHAVE_CONFIG_H -DLOCALEDIR="/sys/lib/ape/locale"
257+
%.$O: $GTARSRC/src/%.c
258+
$CC $CFLAGS $GTARSRC/src/$stem.c
24259

25-
%.: /src/%.c
26-
/src/.c
260+
%.$O: $GTARSRC/lib/%.c
261+
$CC $CFLAGS $GTARSRC/lib/$stem.c
27262

28-
%.: /lib/%.c
29-
/lib/.c
263+
libgnu_a-%.: $GTARSRC/gnu/%.c
264+
$CC -c $prereq -o $target
30265

31-
libgnu_a-%.: /gnu/%.c
32-
-c -o
266+
libgnu_a-%.$O: $GTARSRC/gnu/malloc/%.c
267+
$CC -c $prereq -o $target
33268

34-
libgnu_a-%.: /gnu/malloc/%.c
35-
-c -o
269+
libgnu_a-%.$O: $GTARSRC/gnu/unicase/%.c
270+
$CC -c $prereq -o $target
36271

37-
libgnu_a-%.: /gnu/unicase/%.c
38-
-c -o
272+
libgnu_a-%.$O: $GTARSRC/gnu/unictype/%.c
273+
$CC -c $prereq -o $target
39274

40-
libgnu_a-%.: /gnu/unictype/%.c
41-
-c -o
275+
libgnu_a-%.$O: $GTARSRC/gnu/uniwidth/%.c
276+
$CC -c $prereq -o $target
42277

43-
libgnu_a-%.: /gnu/uniwidth/%.c
44-
-c -o
45278

279+
libtar.a: $LIBTAR_OBJS
280+
ar vu libtar.a $prereq
46281

47-
libtar.a:
48-
ar vu libtar.a
282+
libgnu.a: $LIBGNU_OBJS
283+
ar vu libgnu.a $prereq
49284

50-
libgnu.a:
51-
ar vu libgnu.a
52285

53-
install:V:
54-
cp /tar.1 /sys/man/1/tar

0 commit comments

Comments
 (0)