mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 19:34:43 +01:00
Compare commits
1012
Commits
releng/4.10
...
stable/4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b14be7ca1 | ||
|
|
509fdeb47c | ||
|
|
59052e0215 | ||
|
|
f46caf19b7 | ||
|
|
bb437b814f | ||
|
|
1b671f52a1 | ||
|
|
b571f5ab2f | ||
|
|
b870694b60 | ||
|
|
efa596224a | ||
|
|
74886bb640 | ||
|
|
f5e048d1f5 | ||
|
|
9dcbeb11c2 | ||
|
|
ffbe475239 | ||
|
|
4d317604cb | ||
|
|
dc48addf78 | ||
|
|
46e58ef6d1 | ||
|
|
226a681031 | ||
|
|
2ca6835125 | ||
|
|
0a4886a6a8 | ||
|
|
74be0aa080 | ||
|
|
78bcf0b937 | ||
|
|
7908e0a091 | ||
|
|
59f9eeeaa4 | ||
|
|
1e7cd763ac | ||
|
|
84cc038799 | ||
|
|
8a5255bd87 | ||
|
|
49a124a1f8 | ||
|
|
187acbcf67 | ||
|
|
30ec02ece6 | ||
|
|
be3124b49d | ||
|
|
e7f0a0d747 | ||
|
|
b4071ca476 | ||
|
|
35a4f42e05 | ||
|
|
8f915a7e4e | ||
|
|
d8112c1194 | ||
|
|
8d50548a06 | ||
|
|
7d396c5f9c | ||
|
|
62fec1f9ee | ||
|
|
ccdbd7e0d3 | ||
|
|
8a5adbca8d | ||
|
|
7aa157d6c2 | ||
|
|
87801b0733 | ||
|
|
04a174a048 | ||
|
|
2f788d0a83 | ||
|
|
32872008e8 | ||
|
|
ec89fced40 | ||
|
|
527e04fc0f | ||
|
|
30e3f23a51 | ||
|
|
269dc9dc0a | ||
|
|
a3ff700424 | ||
|
|
b37842b29d | ||
|
|
0184436feb | ||
|
|
24c2342e6b | ||
|
|
fcc1ae4eef | ||
|
|
8934eeaeb8 | ||
|
|
34f02dc702 | ||
|
|
5b018e5026 | ||
|
|
4b90ac0954 | ||
|
|
7c1b834640 | ||
|
|
3838fb6c0e | ||
|
|
f85da9bc39 | ||
|
|
d9005664af | ||
|
|
25b1ce325a | ||
|
|
cbc11e8e84 | ||
|
|
62656db132 | ||
|
|
54405ba92b | ||
|
|
4ccc7617da | ||
|
|
7f041c7963 | ||
|
|
25b9a27111 | ||
|
|
85d7ae7691 | ||
|
|
a2f5e3465f | ||
|
|
b17efbe326 | ||
|
|
4f12a58a49 | ||
|
|
c87c98f745 | ||
|
|
9d96a57785 | ||
|
|
1b17934139 | ||
|
|
e11caf6c62 | ||
|
|
4f088aea53 | ||
|
|
1b4e415f7b | ||
|
|
b8d95ea3aa | ||
|
|
5ed46b36d1 | ||
|
|
a49bd5303f | ||
|
|
ec859b3569 | ||
|
|
386fb8a2b0 | ||
|
|
48055e9d11 | ||
|
|
9a6cf22d4b | ||
|
|
ed4564dbef | ||
|
|
9ed9ca9773 | ||
|
|
540565e54d | ||
|
|
180ddf14f2 | ||
|
|
fb4a042122 | ||
|
|
1445e5a326 | ||
|
|
b0e60e6f78 | ||
|
|
5973402762 | ||
|
|
dca0728463 | ||
|
|
d97ff0c8ea | ||
|
|
992cb9f884 | ||
|
|
63b6904a7f | ||
|
|
9009688c8d | ||
|
|
1a68479300 | ||
|
|
3df66645f8 | ||
|
|
1b34ff224d | ||
|
|
2bce92ca8d | ||
|
|
11972af438 | ||
|
|
2e61752fe6 | ||
|
|
7ac6b8a89a | ||
|
|
60c653da58 | ||
|
|
2bc31b0b50 | ||
|
|
22c75a1a6c | ||
|
|
c704d5aba4 | ||
|
|
0cf1d7c6b1 | ||
|
|
f2804129c0 | ||
|
|
5747982878 | ||
|
|
1a6bbf9e63 | ||
|
|
851dbecea7 | ||
|
|
9999550269 | ||
|
|
682a090cae | ||
|
|
769ba89464 | ||
|
|
16faf54439 | ||
|
|
475800b7cf | ||
|
|
d045e0d4ae | ||
|
|
bbc07a0c27 | ||
|
|
3289b92eea | ||
|
|
610cad552e | ||
|
|
75406f5d17 | ||
|
|
2a8f4eae06 | ||
|
|
e88e01fad7 | ||
|
|
98d58fbac8 | ||
|
|
87b155eb66 | ||
|
|
e7886e684f | ||
|
|
04e78af938 | ||
|
|
03e5be2d12 | ||
|
|
5065ebddc7 | ||
|
|
2cafc28e85 | ||
|
|
e2a91f9c6f | ||
|
|
29edcdadb0 | ||
|
|
f8f52c191c | ||
|
|
290b4174ac | ||
|
|
f2e74f72ea | ||
|
|
75812123d4 | ||
|
|
29911091d0 | ||
|
|
c795d37c9c | ||
|
|
19b60149ee | ||
|
|
e14dcec7c2 | ||
|
|
b5b1e543a8 | ||
|
|
fd58dfe91a | ||
|
|
a57f28ddf7 | ||
|
|
1b93261e83 | ||
|
|
99a948a16f | ||
|
|
4ec0843a7b | ||
|
|
81f87079dd | ||
|
|
1f3727d650 | ||
|
|
e78df6e86c | ||
|
|
4b50c2e075 | ||
|
|
01780d930d | ||
|
|
918ccd0822 | ||
|
|
ff5211e6c8 | ||
|
|
c44f3af96c | ||
|
|
fd10f4d70b | ||
|
|
4a64f8794a | ||
|
|
9f145c53b7 | ||
|
|
5c50da438d | ||
|
|
7ce45f14d7 | ||
|
|
b6ce60be7c | ||
|
|
3b192f61b0 | ||
|
|
1823be123d | ||
|
|
42d2722235 | ||
|
|
0f6b7809d4 | ||
|
|
4f301220e8 | ||
|
|
78f1625b44 | ||
|
|
d1f353e99d | ||
|
|
41808ed937 | ||
|
|
ea1fe38e6a | ||
|
|
eb96ff8d0a | ||
|
|
e43c8019c3 | ||
|
|
5826d4c070 | ||
|
|
767f330119 | ||
|
|
0764d34a8f | ||
|
|
0ce2809f6a | ||
|
|
1af9ce6a59 | ||
|
|
0b5898868b | ||
|
|
77e0466b7d | ||
|
|
c491b54569 | ||
|
|
f37f9dbb4d | ||
|
|
6159e829e8 | ||
|
|
f5883a9bfe | ||
|
|
a008bf8d24 | ||
|
|
42cc9a8f91 | ||
|
|
31f0c58c8e | ||
|
|
7ad0795efc | ||
|
|
b7615bd254 | ||
|
|
c1dc19accd | ||
|
|
ae07094931 | ||
|
|
a17473bb18 | ||
|
|
6f2020ba66 | ||
|
|
ef2dc9b352 | ||
|
|
0a75c3bd03 | ||
|
|
62be4a437d | ||
|
|
d6f03ebe01 | ||
|
|
0d94a803aa | ||
|
|
8bb467bd3e | ||
|
|
ea664c2004 | ||
|
|
5ed24e50dd | ||
|
|
ca951584be | ||
|
|
6d08372564 | ||
|
|
613d8db2b9 | ||
|
|
c7d8542358 | ||
|
|
6105148405 | ||
|
|
1c9096f353 | ||
|
|
7e7b44fd4a | ||
|
|
df0e9fe5a4 | ||
|
|
4a5574a12e | ||
|
|
f97aadf12e | ||
|
|
a6c634a44e | ||
|
|
c1026b37db | ||
|
|
075cf5a152 | ||
|
|
e66f54b279 | ||
|
|
e9ec5207c8 | ||
|
|
b911500d1f | ||
|
|
8aa540a47c | ||
|
|
906987067d | ||
|
|
6008dfd2bc | ||
|
|
14b1ff25f5 | ||
|
|
d5e2470049 | ||
|
|
9906dbfbac | ||
|
|
208191f1b1 | ||
|
|
5a66f48bd9 | ||
|
|
e9bc9afe9c | ||
|
|
78e71c01b7 | ||
|
|
c7d769bfbd | ||
|
|
bd1c32850b | ||
|
|
8ee23ab4f5 | ||
|
|
bcd0b35a45 | ||
|
|
8a37bb3346 | ||
|
|
9595d86138 | ||
|
|
0b52e87f83 | ||
|
|
e46db0c9d9 | ||
|
|
d424f42cd9 | ||
|
|
ae2fa59957 | ||
|
|
42cdd86bbd | ||
|
|
a997916162 | ||
|
|
67754cc9cd | ||
|
|
a3e033d97f | ||
|
|
7451acc525 | ||
|
|
1ace8fadbb | ||
|
|
8675755e32 | ||
|
|
3816fca08a | ||
|
|
eff178f849 | ||
|
|
a712bbe19a | ||
|
|
fc7299979b | ||
|
|
e5fd8baf13 | ||
|
|
48e7073c83 | ||
|
|
bb10cb5706 | ||
|
|
835305c772 | ||
|
|
b44ccced4e | ||
|
|
77b7808c34 | ||
|
|
124b549098 | ||
|
|
87f5f1cf40 | ||
|
|
b8833141ed | ||
|
|
5a46cc72f4 | ||
|
|
6081e3d91f | ||
|
|
5805057cfb | ||
|
|
4af8b08e76 | ||
|
|
7eb58dcb21 | ||
|
|
40737abd69 | ||
|
|
8786bfafe2 | ||
|
|
978c5624d6 | ||
|
|
6975fc498f | ||
|
|
dde2ceb20a | ||
|
|
3e149b2f1e | ||
|
|
7a66b9008e | ||
|
|
d23992b1d7 | ||
|
|
2f869e6dc5 | ||
|
|
fd0cbb638f | ||
|
|
c402604fcf | ||
|
|
d546b9943b | ||
|
|
7f642d5faf | ||
|
|
8212e44e8b | ||
|
|
d9823ccd59 | ||
|
|
5746df1e2d | ||
|
|
302a8e0bdd | ||
|
|
cf21c81b60 | ||
|
|
f7c572fb3b | ||
|
|
cfbc8cf216 | ||
|
|
7f4cb81106 | ||
|
|
07bdb4ebfd | ||
|
|
6bc7dcefa9 | ||
|
|
317bbc4866 | ||
|
|
95dda7c35e | ||
|
|
0149a1959f | ||
|
|
d3565be21c | ||
|
|
6924bcd0e5 | ||
|
|
8e44053b6a | ||
|
|
f0d3d352ec | ||
|
|
83c8c88ba0 | ||
|
|
4c37199ae2 | ||
|
|
33104e59c7 | ||
|
|
95f192f4de | ||
|
|
1f9b8e8b00 | ||
|
|
2bef1912ee | ||
|
|
83c2030a02 | ||
|
|
423094370c | ||
|
|
716918022d | ||
|
|
1ed2dcbbea | ||
|
|
ceb816462c | ||
|
|
572c5e54b5 | ||
|
|
ac40fbb19e | ||
|
|
2e43ef2e35 | ||
|
|
0c6d2ae97b | ||
|
|
66db63aa59 | ||
|
|
eed45186dd | ||
|
|
acdf5813aa | ||
|
|
d9b7b39b16 | ||
|
|
e1304b0f27 | ||
|
|
b742ad63d6 | ||
|
|
eb9bc03c1a | ||
|
|
2a3d068afc | ||
|
|
7683b5cc67 | ||
|
|
cc04d58255 | ||
|
|
f7b36fc1d6 | ||
|
|
75379a2ffa | ||
|
|
76fa1e2452 | ||
|
|
3fd13340cb | ||
|
|
265f65da85 | ||
|
|
9101a68d57 | ||
|
|
b21126911c | ||
|
|
b5a1289e33 | ||
|
|
82077eac3c | ||
|
|
e10dada865 | ||
|
|
aff104612b | ||
|
|
7d90fc3d4a | ||
|
|
c08e6d57dd | ||
|
|
b7e573dd1d | ||
|
|
04d542f8e4 | ||
|
|
25fc2b4860 | ||
|
|
efb17144ab | ||
|
|
640a49bb7f | ||
|
|
8e18f76d87 | ||
|
|
ac70898dec | ||
|
|
cffa6e483d | ||
|
|
f51bc5ec89 | ||
|
|
2125297d47 | ||
|
|
81a15714fb | ||
|
|
b1fd04908b | ||
|
|
b5b0aba51e | ||
|
|
a75de66918 | ||
|
|
c05b4d7fcb | ||
|
|
af2e98c855 | ||
|
|
d7665cbeb8 | ||
|
|
dac0b162ee | ||
|
|
2d9e5af41f | ||
|
|
05475752ce | ||
|
|
cb3513e0b8 | ||
|
|
4298ff1370 | ||
|
|
6ecbb72e9d | ||
|
|
eb6de503e8 | ||
|
|
a92b8a7a3c | ||
|
|
9b2ca3821e | ||
|
|
e6252dcc13 | ||
|
|
2373a251cb | ||
|
|
d889acb5e1 | ||
|
|
f656c2b262 | ||
|
|
6fe836974f | ||
|
|
0d42dead7c | ||
|
|
3f7c1e5be4 | ||
|
|
a343694844 | ||
|
|
0c1df52ad8 | ||
|
|
2edd57c5c7 | ||
|
|
e5a21b9dea | ||
|
|
6f3b0e0392 | ||
|
|
26586f4086 | ||
|
|
ecd3387b79 | ||
|
|
4927928f52 | ||
|
|
1085cdd003 | ||
|
|
11b5630953 | ||
|
|
25228bfee0 | ||
|
|
d16cd24e58 | ||
|
|
04f389ba9c | ||
|
|
59e14f0809 | ||
|
|
3e62b2da0e | ||
|
|
f596f5a29c | ||
|
|
30a8d4173a | ||
|
|
7652f8b26a | ||
|
|
3e56e1ea11 | ||
|
|
711f18cd4c | ||
|
|
e930c896e6 | ||
|
|
7c2795b7d8 | ||
|
|
fb4cb3f0b6 | ||
|
|
c8004dbdf6 | ||
|
|
3e74d1e2b1 | ||
|
|
6caa2e8525 | ||
|
|
1167a1148e | ||
|
|
ed315ed8c7 | ||
|
|
b82fa1e083 | ||
|
|
3d9b68cde4 | ||
|
|
0801903ffb | ||
|
|
d184ab77fe | ||
|
|
8b42201cf9 | ||
|
|
b9bcee4859 | ||
|
|
a73cac65a0 | ||
|
|
de34f506e8 | ||
|
|
b3034f2177 | ||
|
|
881887ac92 | ||
|
|
66779db452 | ||
|
|
5e07d07a5a | ||
|
|
68e129a8d3 | ||
|
|
80263571fb | ||
|
|
ae3a8ecbba | ||
|
|
d7ebb07ca9 | ||
|
|
b71645face | ||
|
|
b6af7ee1d2 | ||
|
|
f6a3a3d70d | ||
|
|
52ddd62ff1 | ||
|
|
e94b0bf53a | ||
|
|
004bd07ee0 | ||
|
|
8f61c29eb5 | ||
|
|
1ef30832eb | ||
|
|
9c85ebd9f5 | ||
|
|
50db01c949 | ||
|
|
568b459d6d | ||
|
|
d29d754d65 | ||
|
|
982b7f9882 | ||
|
|
92d68b0145 | ||
|
|
e5005e050d | ||
|
|
59cac3bcac | ||
|
|
c2e9e58b60 | ||
|
|
4b068b7114 | ||
|
|
7b579ecc74 | ||
|
|
90bbe170cb | ||
|
|
ed21603e68 | ||
|
|
e3128815a1 | ||
|
|
796ca75f44 | ||
|
|
0a5e413878 | ||
|
|
25ed983af9 | ||
|
|
f085049624 | ||
|
|
19949e7d34 | ||
|
|
84d8785e65 | ||
|
|
99092ca1ff | ||
|
|
cfd2ab27b8 | ||
|
|
b5505c5064 | ||
|
|
7029cef6c0 | ||
|
|
b9a32fb9fa | ||
|
|
3cb00801c8 | ||
|
|
01e59d4dee | ||
|
|
e162c760ec | ||
|
|
8a0dbc818b | ||
|
|
7028a338a2 | ||
|
|
fae19d5cc7 | ||
|
|
a547ce8244 | ||
|
|
a8f7886c9e | ||
|
|
58fa08508a | ||
|
|
b0846317e4 | ||
|
|
cf12f9ab09 | ||
|
|
abcf3ccf0a | ||
|
|
5d4d00597a | ||
|
|
297973c870 | ||
|
|
81e26f4690 | ||
|
|
06018667aa | ||
|
|
5edfe29d85 | ||
|
|
20d66878df | ||
|
|
b9194a374e | ||
|
|
72785df59a | ||
|
|
24270727e5 | ||
|
|
fd31cd3345 | ||
|
|
da522905cf | ||
|
|
168c2a2543 | ||
|
|
39332a707d | ||
|
|
cd620ce8d8 | ||
|
|
11b9d974bf | ||
|
|
5fe5b02ecb | ||
|
|
f9453f732f | ||
|
|
69c9ec81e3 | ||
|
|
f89659a324 | ||
|
|
d849b2f8ce | ||
|
|
ddb449118a | ||
|
|
27281cd4ec | ||
|
|
b5bbb63d0d | ||
|
|
d5fcd3e2bd | ||
|
|
9e65f0866f | ||
|
|
37c120575b | ||
|
|
c824ab02d9 | ||
|
|
15c54e979b | ||
|
|
6f3875497d | ||
|
|
b2aa261ed5 | ||
|
|
472f85bd34 | ||
|
|
40ae0ea23e | ||
|
|
5acc183353 | ||
|
|
9c1b8cd053 | ||
|
|
4e99bea24b | ||
|
|
bc0f34fe75 | ||
|
|
186ee3334b | ||
|
|
45f716af41 | ||
|
|
53ef57b5d5 | ||
|
|
3592bc55ea | ||
|
|
4d878a0ee5 | ||
|
|
2f91dfe89e | ||
|
|
7a609a120b | ||
|
|
e85c0aa544 | ||
|
|
d784ed8488 | ||
|
|
6d9eff8b1e | ||
|
|
4a8b975a4d | ||
|
|
47b516386e | ||
|
|
a320e6f34d | ||
|
|
fc83953d68 | ||
|
|
33901cd56f | ||
|
|
dd175fc8c4 | ||
|
|
f40996fdf5 | ||
|
|
639336d2b8 | ||
|
|
f93ab8566e | ||
|
|
1117cf8f7d | ||
|
|
952ffd27cd | ||
|
|
15a11c7ee3 | ||
|
|
140ea6d917 | ||
|
|
592b3f06d6 | ||
|
|
dac0d4e120 | ||
|
|
fc55f827c3 | ||
|
|
baec73815e | ||
|
|
3d6414cf57 | ||
|
|
017b126fef | ||
|
|
f60b09ba5c | ||
|
|
ff100f6701 | ||
|
|
7de2b6b273 | ||
|
|
4e1a5051d4 | ||
|
|
b5f2202a20 | ||
|
|
ea7dfe9255 | ||
|
|
30e7aee611 | ||
|
|
f84262dc00 | ||
|
|
1a7e6820ce | ||
|
|
5f2f58bf80 | ||
|
|
7eeeb757be | ||
|
|
bf31515632 | ||
|
|
95e682dad3 | ||
|
|
a2e85ec8b5 | ||
|
|
ac1daac5ba | ||
|
|
cdf457c9a1 | ||
|
|
3bf0facda9 | ||
|
|
acb4e4179e | ||
|
|
46c635c8a5 | ||
|
|
befb53bc35 | ||
|
|
a12c5ccf61 | ||
|
|
da2c889668 | ||
|
|
255430b096 | ||
|
|
009c6816c0 | ||
|
|
09ed676473 | ||
|
|
72021241cb | ||
|
|
39adb0385e | ||
|
|
f6d3442de8 | ||
|
|
de9bbd1231 | ||
|
|
078d489abe | ||
|
|
9d19e1fc9b | ||
|
|
02dc26bbbc | ||
|
|
aeb7c8bf0c | ||
|
|
5e8ee2104c | ||
|
|
8b8c0ecc55 | ||
|
|
ba6a372623 | ||
|
|
919cf7713e | ||
|
|
ab09063bdb | ||
|
|
e540c83c5d | ||
|
|
a68f3e37e4 | ||
|
|
009a640b3e | ||
|
|
c1f481dc2e | ||
|
|
5f894ea0fa | ||
|
|
59d2a4939b | ||
|
|
cfd1541b83 | ||
|
|
376b93cd23 | ||
|
|
d5da8444da | ||
|
|
161a873ca1 | ||
|
|
12c433d00f | ||
|
|
fa8d4a9c2a | ||
|
|
6dcb2d80b7 | ||
|
|
2eb5fda4ca | ||
|
|
c1b70db5e1 | ||
|
|
c7c3bc6980 | ||
|
|
eafc0f956f | ||
|
|
690cc0d20f | ||
|
|
54d25fc02d | ||
|
|
63ee143dd1 | ||
|
|
be06288d86 | ||
|
|
0c165b22e6 | ||
|
|
5b62335a5e | ||
|
|
54ab6db2ab | ||
|
|
37228edef3 | ||
|
|
124cdcc090 | ||
|
|
5d2ed95fb3 | ||
|
|
d8aaa247eb | ||
|
|
b14633d38a | ||
|
|
9a085daa1d | ||
|
|
2ebe307886 | ||
|
|
ebb8435c33 | ||
|
|
0a03b46110 | ||
|
|
828352a9c9 | ||
|
|
d5ab398e13 | ||
|
|
f2f1e2b3da | ||
|
|
eb8290a4c3 | ||
|
|
9bbedfce10 | ||
|
|
42c45a8785 | ||
|
|
a27b01c007 | ||
|
|
943645ac3f | ||
|
|
b0089b9824 | ||
|
|
5aabc8e551 | ||
|
|
05e94b0ac6 | ||
|
|
7cc508c0c6 | ||
|
|
148721d90b | ||
|
|
29cc66260f | ||
|
|
fad00f014e | ||
|
|
066419b6b8 | ||
|
|
3331c02999 | ||
|
|
2b3a8ec394 | ||
|
|
159eb62532 | ||
|
|
b4af411577 | ||
|
|
41450ebc83 | ||
|
|
4f7eab5fd4 | ||
|
|
2f2c7518e2 | ||
|
|
06de3e925e | ||
|
|
923db67e06 | ||
|
|
4e190c8a3a | ||
|
|
3121ace36a | ||
|
|
ff8cabbf9e | ||
|
|
1f091c7835 | ||
|
|
d7e49c4669 | ||
|
|
dfd8bdf5d3 | ||
|
|
a069dcffa1 | ||
|
|
fb2d6e02b2 | ||
|
|
9c06b5aeb5 | ||
|
|
251e78450a | ||
|
|
678a0f451f | ||
|
|
f01a9a0257 | ||
|
|
99d69eafca | ||
|
|
06fd0dbf73 | ||
|
|
2e714a8149 | ||
|
|
d6656d1a35 | ||
|
|
d921716475 | ||
|
|
705c6a1f29 | ||
|
|
50ac58acd2 | ||
|
|
835c344a9e | ||
|
|
99d5bbbd13 | ||
|
|
42db169fb3 | ||
|
|
5d89ca4947 | ||
|
|
cae220d3d3 | ||
|
|
a0170b46cf | ||
|
|
e79022b230 | ||
|
|
bfbd4f46cb | ||
|
|
58239933c7 | ||
|
|
1cdfadaa72 | ||
|
|
e791328929 | ||
|
|
c704df90ee | ||
|
|
105c010bf1 | ||
|
|
9e6212ccb0 | ||
|
|
ac0f469ced | ||
|
|
e0e74444f1 | ||
|
|
ed6c388096 | ||
|
|
7cfbe2e4d2 | ||
|
|
6f36c00e89 | ||
|
|
d00d2223bf | ||
|
|
7258d59b12 | ||
|
|
8475ea74e7 | ||
|
|
a9593345ff | ||
|
|
fa4d1f4f59 | ||
|
|
819cf7175f | ||
|
|
e0b78373ec | ||
|
|
9e7d5c71ef | ||
|
|
1241fa7aa0 | ||
|
|
1b3103f7b3 | ||
|
|
026ff6848e | ||
|
|
436c928e82 | ||
|
|
1fd4ce7baf | ||
|
|
cd0ec27543 | ||
|
|
be838642d9 | ||
|
|
92930a08f4 | ||
|
|
7393983383 | ||
|
|
c80e9db908 | ||
|
|
b7b4889d97 | ||
|
|
126777ee7d | ||
|
|
aa03dcfb70 | ||
|
|
b767d3d7f3 | ||
|
|
fbad4408cc | ||
|
|
46e97468e7 | ||
|
|
dea1126d10 | ||
|
|
d6c5553e9e | ||
|
|
e6cc6648fc | ||
|
|
f8a289aaec | ||
|
|
278be81fff | ||
|
|
d5feebc727 | ||
|
|
16a5e39235 | ||
|
|
9f23b8da36 | ||
|
|
adab1a9cfd | ||
|
|
0df25953e0 | ||
|
|
1868ad305e | ||
|
|
fe8563e611 | ||
|
|
97e10b9078 | ||
|
|
4f2ef939d4 | ||
|
|
6acb9d284f | ||
|
|
89255bea3d | ||
|
|
acb834cd40 | ||
|
|
fcaa72e465 | ||
|
|
4fb8a12dd0 | ||
|
|
94fea8db8e | ||
|
|
b6f920ee6b | ||
|
|
ff0760f903 | ||
|
|
c446f83730 | ||
|
|
32c47fffc3 | ||
|
|
ff50ea79df | ||
|
|
b0231f1da9 | ||
|
|
4f0f30e1cb | ||
|
|
e9f5b88e0b | ||
|
|
0c23573736 | ||
|
|
c89da00830 | ||
|
|
16af5718b8 | ||
|
|
bebabf4453 | ||
|
|
3afbf1d8ac | ||
|
|
939b44f0de | ||
|
|
2858b47848 | ||
|
|
9488db1ae3 | ||
|
|
1f44c1984e | ||
|
|
83fc1620e6 | ||
|
|
4086220b64 | ||
|
|
077b92555f | ||
|
|
f01c8fef8d | ||
|
|
d6c03fac92 | ||
|
|
9b33db5efb | ||
|
|
527272efa8 | ||
|
|
a6effd3d3b | ||
|
|
800692ee9f | ||
|
|
6cbdb1abad | ||
|
|
20b30be859 | ||
|
|
71bdce1cc5 | ||
|
|
56c2ce95b4 | ||
|
|
743a815f1e | ||
|
|
7d97f1e370 | ||
|
|
c300634c04 | ||
|
|
676c1c66b8 | ||
|
|
bd6ea2a7ee | ||
|
|
4ee0f11843 | ||
|
|
04678a5510 | ||
|
|
1280725d12 | ||
|
|
968e56c24a | ||
|
|
5c9193bd76 | ||
|
|
a29c9bb582 | ||
|
|
49d836dd1e | ||
|
|
8d97ad588e | ||
|
|
49f3739d8a | ||
|
|
03d5540b18 | ||
|
|
47af04f6ba | ||
|
|
508330f870 | ||
|
|
7c7b2a1b53 | ||
|
|
5ec196f996 | ||
|
|
da45326339 | ||
|
|
328d77b814 | ||
|
|
503bee413e | ||
|
|
ac13e2fa3f | ||
|
|
a744afb201 | ||
|
|
a913a18b80 | ||
|
|
d483ccc309 | ||
|
|
ce6dc61f26 | ||
|
|
8351d73116 | ||
|
|
8a4e5798aa | ||
|
|
49202d2ec0 | ||
|
|
6cc18d41bf | ||
|
|
f67f0fe739 | ||
|
|
c7584757da | ||
|
|
030415d443 | ||
|
|
88e7a7d178 | ||
|
|
3ac03a06f5 | ||
|
|
3303685f7e | ||
|
|
74315662c3 | ||
|
|
32611ca35d | ||
|
|
f58b752908 | ||
|
|
21fec91c2e | ||
|
|
5b8d5516e5 | ||
|
|
4ab1708ec3 | ||
|
|
9c07b25664 | ||
|
|
b97ea0606a | ||
|
|
acd2b49f6c | ||
|
|
ef75fbb236 | ||
|
|
78aac7d56e | ||
|
|
f8fc049052 | ||
|
|
6e313453a3 | ||
|
|
d9beecb216 | ||
|
|
183462409b | ||
|
|
c2dad9ae3f | ||
|
|
00edce152f | ||
|
|
122b618ffe | ||
|
|
0b94fa76fb | ||
|
|
d5c41ef3e8 | ||
|
|
081fb083c1 | ||
|
|
50bfabc1f8 | ||
|
|
3a3fe2b792 | ||
|
|
630b179a20 | ||
|
|
133101f091 | ||
|
|
ca9ff87079 | ||
|
|
b33babcea8 | ||
|
|
dc1a374b60 | ||
|
|
5fdc71be51 | ||
|
|
1a952bed97 | ||
|
|
a81009aa76 | ||
|
|
c66fb1b0c9 | ||
|
|
ef1bedcb31 | ||
|
|
6f3ce7d63d | ||
|
|
de4749b88d | ||
|
|
d903aef630 | ||
|
|
e4eb651002 | ||
|
|
0d7e597f72 | ||
|
|
dbc11f797a | ||
|
|
7b25d361f9 | ||
|
|
decebe29a0 | ||
|
|
622da46e64 | ||
|
|
24b54b5cd0 | ||
|
|
359814c583 | ||
|
|
bb91d91c2b | ||
|
|
43c4d5d913 | ||
|
|
f49f5434db | ||
|
|
f8cbcd6f38 | ||
|
|
d826fba54f | ||
|
|
bbefd01b7c | ||
|
|
9ea34678da | ||
|
|
00c20216b3 | ||
|
|
3db3075e69 | ||
|
|
c5812ca0b3 | ||
|
|
0af8aa22a9 | ||
|
|
a598b1ccb4 | ||
|
|
4a55ebd190 | ||
|
|
32b0b85070 | ||
|
|
befa7d92f0 | ||
|
|
db89fedf20 | ||
|
|
0530f1310a | ||
|
|
757b803ba5 | ||
|
|
057242a4d7 | ||
|
|
8a116ea218 | ||
|
|
28cb2255b6 | ||
|
|
c1af72064e | ||
|
|
98047d032d | ||
|
|
2c4892b59e | ||
|
|
2cec53328b | ||
|
|
e9c80bbd6d | ||
|
|
1acbffe2bd | ||
|
|
25f7fec178 | ||
|
|
956fbcd8a0 | ||
|
|
e4a2eb510d | ||
|
|
6a70605b60 | ||
|
|
ef871faee0 | ||
|
|
ab8120436f | ||
|
|
dcb4675601 | ||
|
|
a995d48957 | ||
|
|
a03338e4fe | ||
|
|
7527d8b1c6 | ||
|
|
9ae412aae5 | ||
|
|
3f25347467 | ||
|
|
37bf26c99a | ||
|
|
e76ae7c791 | ||
|
|
2e194f7889 | ||
|
|
7e14c916a4 | ||
|
|
cd0ed1ef6b | ||
|
|
29ff608ccb | ||
|
|
8926bbf81a | ||
|
|
8b2e4a7c5d | ||
|
|
b7e8a1b0b7 | ||
|
|
01d970fd28 | ||
|
|
138962d61b | ||
|
|
dd3cb7d73c | ||
|
|
058ccba7fb | ||
|
|
21e9482568 | ||
|
|
d6abe599a8 | ||
|
|
b03d28e805 | ||
|
|
71ba210b19 | ||
|
|
3048e443a0 | ||
|
|
2e77b8aa1c | ||
|
|
81d54bf413 | ||
|
|
af3f67574c | ||
|
|
70f6e0c569 | ||
|
|
0e68251e26 | ||
|
|
cf43adf63a | ||
|
|
772228eb51 | ||
|
|
0ec2196974 | ||
|
|
210782c69b | ||
|
|
a6d97c3e6d | ||
|
|
46d57f8804 | ||
|
|
f86eaee27e | ||
|
|
056834fc55 | ||
|
|
7b24bba1b7 | ||
|
|
730aa1d769 | ||
|
|
3344073b85 | ||
|
|
cfdccf5ff5 | ||
|
|
13f3cc92e3 | ||
|
|
c5ded54bf9 | ||
|
|
2da0ac0976 | ||
|
|
439470cbf1 | ||
|
|
bb5251083a | ||
|
|
d39c0831e1 | ||
|
|
2afb8a30fb | ||
|
|
b5c52ff6c5 | ||
|
|
216a2ba27b | ||
|
|
173d5aeeb4 | ||
|
|
3565f05e6b | ||
|
|
7761a16e35 | ||
|
|
c0238c87b2 | ||
|
|
941e9e50b2 | ||
|
|
3c88d09ebe | ||
|
|
b4b5760eaa | ||
|
|
ea38e3e2eb | ||
|
|
1445089ab4 | ||
|
|
80dc010d15 | ||
|
|
89c685b414 | ||
|
|
9715ee6fc3 | ||
|
|
cc77aef1f2 | ||
|
|
f75dffcf36 | ||
|
|
e6e912a08d | ||
|
|
9e89f224d4 | ||
|
|
ca071a2135 | ||
|
|
130750596e | ||
|
|
0f530408bd | ||
|
|
3c2fcd5428 | ||
|
|
a3e0589668 | ||
|
|
7a847f5325 | ||
|
|
522e06d9c2 | ||
|
|
af214503a8 | ||
|
|
d1eeea341b | ||
|
|
f24043b762 | ||
|
|
ab098dce20 | ||
|
|
4307272345 | ||
|
|
8a61168626 | ||
|
|
991bdc90c5 | ||
|
|
4f1177adbb | ||
|
|
52d4972101 | ||
|
|
0155f53770 | ||
|
|
05c48b65c1 | ||
|
|
ea8035a600 | ||
|
|
d8a857f3c0 | ||
|
|
3e0efc7c44 | ||
|
|
67417d8e25 | ||
|
|
7dc1060be8 | ||
|
|
25ec5b711e | ||
|
|
5caffa2a47 | ||
|
|
96f3f63337 | ||
|
|
6a4601ac2f | ||
|
|
4531a21321 | ||
|
|
510f875cf9 | ||
|
|
716e1f17ae | ||
|
|
a9a21d4537 | ||
|
|
19c08504ec | ||
|
|
9ff92f43f8 | ||
|
|
7a2647b3d2 | ||
|
|
32ac2794c4 | ||
|
|
16425b8844 | ||
|
|
6262246b0a | ||
|
|
22287f24d3 | ||
|
|
112cc98310 | ||
|
|
16b666fb07 | ||
|
|
20c85e48a7 | ||
|
|
1982ee8b1b | ||
|
|
13764c3893 | ||
|
|
05023e257b | ||
|
|
63d6e044a8 | ||
|
|
549018e7ff | ||
|
|
dd54a58a3a | ||
|
|
fc71e5b990 | ||
|
|
cc78281082 | ||
|
|
4f75aff7ee | ||
|
|
bb07c990bb | ||
|
|
5540244780 | ||
|
|
15e2f6217b | ||
|
|
b479bc7d93 | ||
|
|
1abc5fd5b2 | ||
|
|
32129f25c4 | ||
|
|
0fae05c0c0 | ||
|
|
8eef25b658 | ||
|
|
e4a2c0b197 | ||
|
|
e6169502b5 | ||
|
|
1834623df7 | ||
|
|
eca792afa4 | ||
|
|
f3243a1a40 | ||
|
|
87dda158ae | ||
|
|
d7458f0003 | ||
|
|
ec17f52474 | ||
|
|
7d9bd55207 | ||
|
|
9b5dad2730 | ||
|
|
3bb4b4fbf2 | ||
|
|
cc193cb5c6 | ||
|
|
16596e50e6 | ||
|
|
97f4633b83 | ||
|
|
d31cd5a2c1 | ||
|
|
040f6a17aa | ||
|
|
3b105e1b75 | ||
|
|
d127946b2f | ||
|
|
b13ed4ea64 | ||
|
|
25d01a0568 | ||
|
|
7f7eddf984 | ||
|
|
60ccd51ffc | ||
|
|
6a4632622e | ||
|
|
fe72310ec3 | ||
|
|
82e7e80303 | ||
|
|
6edfe8b496 | ||
|
|
7490c79cac | ||
|
|
5f0902387c | ||
|
|
734f6bd587 | ||
|
|
6f2d8221d2 | ||
|
|
65b1d64b5e | ||
|
|
4bc9c45e87 | ||
|
|
74b7196fdc | ||
|
|
fbe467ee04 | ||
|
|
fd0b032530 | ||
|
|
6468edfb33 | ||
|
|
e0c9b1ba8c | ||
|
|
1493b41f82 | ||
|
|
ac296511a8 | ||
|
|
59bf0f7ebc | ||
|
|
47885ac32b | ||
|
|
2039b93804 | ||
|
|
5b0c4be20c | ||
|
|
21beaf0b6f | ||
|
|
2718c1ae36 | ||
|
|
9399f9caa6 | ||
|
|
0ccc71cd64 |
No files matched your search
@@ -1,6 +1,32 @@
|
||||
# $FreeBSD$
|
||||
# @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94
|
||||
|
||||
The compilation of software known as FreeBSD is distributed under the
|
||||
following terms:
|
||||
|
||||
Copyright (C) 1992-2007 The FreeBSD Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite
|
||||
Releases is copyrighted by The Regents of the University of California.
|
||||
|
||||
|
||||
+9
-7
@@ -9,7 +9,6 @@
|
||||
# -DNOCRYPT will prevent building of crypt versions
|
||||
# -DNOMAN do not build the manual pages
|
||||
# -DNOPROFILE do not build profiled libraries
|
||||
# -DNOSECURE do not go into secure subdir
|
||||
# -DNOGAMES do not go into games subdir
|
||||
# -DNOSHARE do not go into share subdir
|
||||
# -DNOINFO do not make or install info files
|
||||
@@ -77,7 +76,7 @@ SUBDIR+= libexec
|
||||
.if exists(${.CURDIR}/sbin)
|
||||
SUBDIR+= sbin
|
||||
.endif
|
||||
.if exists(${.CURDIR}/secure) && !defined(NOCRYPT) && !defined(NOSECURE)
|
||||
.if exists(${.CURDIR}/secure) && !defined(NOCRYPT)
|
||||
SUBDIR+= secure
|
||||
.endif
|
||||
.if exists(${.CURDIR}/share) && !defined(NOSHARE)
|
||||
@@ -508,11 +507,14 @@ buildkernel:
|
||||
# Install the kernel defined by INSTALLKERNEL
|
||||
#
|
||||
installkernel reinstallkernel:
|
||||
.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KRNLSRCDIR}/modules)
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Making hierarchy"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${.CURDIR}; \
|
||||
${CROSSENV} PATH=${TMPPATH} ${MAKE} -f Makefile.inc1 hierarchy
|
||||
.endif
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Installing kernel"
|
||||
@@ -633,12 +635,12 @@ _perl= gnu/usr.bin/perl/miniperl
|
||||
.endif
|
||||
|
||||
.if exists(${.CURDIR}/kerberosIV) && exists(${.CURDIR}/crypto) && \
|
||||
!defined(NOCRYPT) && defined(MAKE_KERBEROS4)
|
||||
!defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS4)
|
||||
_libroken4= kerberosIV/lib/libroken
|
||||
.endif
|
||||
|
||||
.if exists(${.CURDIR}/kerberos5) && exists(${.CURDIR}/crypto) && \
|
||||
!defined(NOCRYPT) && defined(MAKE_KERBEROS5)
|
||||
!defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS5)
|
||||
_libkrb5= kerberos5/lib/libroken kerberos5/lib/libvers \
|
||||
kerberos5/lib/libasn1 kerberos5/lib/libhdb kerberos5/lib/libsl
|
||||
.endif
|
||||
@@ -719,7 +721,7 @@ _generic_libs= gnu/lib
|
||||
_generic_libs+= gnu/usr.bin/perl/libperl
|
||||
.endif
|
||||
|
||||
.if !defined(NOCRYPT) && defined(MAKE_KERBEROS5)
|
||||
.if !defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS5)
|
||||
_prebuild_libs+= kerberos5/lib/libasn1
|
||||
_prebuild_libs+= kerberos5/lib/libgssapi
|
||||
_prebuild_libs+= kerberos5/lib/libkrb5
|
||||
@@ -727,7 +729,7 @@ _prebuild_libs+= kerberos5/lib/libroken
|
||||
_generic_libs+= kerberos5/lib
|
||||
.endif
|
||||
|
||||
.if !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
|
||||
.if !defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS4)
|
||||
_prebuild_libs+= kerberosIV/lib/libkrb
|
||||
kerberosIV/lib/libkrb__L: lib/libcrypt__L
|
||||
_generic_libs+= kerberosIV/lib
|
||||
@@ -743,7 +745,7 @@ lib/libskey__L: lib/libcrypt__L lib/libmd__L
|
||||
|
||||
_generic_libs+= lib
|
||||
|
||||
.if !defined(NOCRYPT) && !defined(NOSECURE)
|
||||
.if !defined(NOCRYPT)
|
||||
.if !defined(NO_OPENSSL)
|
||||
_prebuild_libs+= secure/lib/libcrypto secure/lib/libssl
|
||||
.if !defined(NO_OPENSSH)
|
||||
|
||||
@@ -8,6 +8,28 @@ A reverse chronology since 4.0 was released is included, followed by
|
||||
the common items quick how-tos, followed by entries for versions of
|
||||
-current prior to 4.0 Release.
|
||||
|
||||
20070426:
|
||||
The ABI breakage in sendmail(8)'s libmilter has been repaired
|
||||
so it is no longer necessary to recompile mail filters (aka,
|
||||
milters). If you recompiled mail filters after the 20070411
|
||||
note, it is not necessary to recompile them again.
|
||||
|
||||
20070411:
|
||||
sendmail(8) has been updated to version 8.14.1. Mail filters
|
||||
(aka, milters) compiled against the libmilter included in the
|
||||
base operating system should be recompiled.
|
||||
|
||||
20050513:
|
||||
Intel Hyper-Threading is now disabled by default due to a
|
||||
security issue, but can be re-enabled by setting the
|
||||
machdep.hyperthreading_allowed tunable in /boot/loader.conf.
|
||||
|
||||
20050124:
|
||||
FreeBSD 4.11-RELEASE.
|
||||
|
||||
20040527:
|
||||
FreeBSD 4.10-RELEASE.
|
||||
|
||||
20031028:
|
||||
FreeBSD 4.9-RELEASE.
|
||||
|
||||
@@ -848,7 +870,7 @@ versions of -stable/-current.
|
||||
Changes to the pccardd kernel interface require that you recompile
|
||||
pccardd for new kernel.
|
||||
|
||||
19980725:
|
||||
19990725:
|
||||
The ipfw interface to the kernel has changed. You will need to
|
||||
recompile ipfw programs for the new kernel.
|
||||
|
||||
|
||||
+1
-1
@@ -351,7 +351,7 @@ copy(argv, type, fts_options)
|
||||
* normally want to preserve them on directories.
|
||||
*/
|
||||
if (pflag) {
|
||||
if (setfile(curr->fts_statp, 0))
|
||||
if (setfile(curr->fts_statp, -1))
|
||||
rval = 1;
|
||||
} else {
|
||||
mode = curr->fts_statp->st_mode;
|
||||
|
||||
+20
-13
@@ -215,7 +215,7 @@ copy_link(p, exists)
|
||||
warn("symlink: %s", link);
|
||||
return (1);
|
||||
}
|
||||
return (0);
|
||||
return (pflag ? setfile(p->fts_statp, -1) : 0);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -231,7 +231,7 @@ copy_fifo(from_stat, exists)
|
||||
warn("mkfifo: %s", to.p_path);
|
||||
return (1);
|
||||
}
|
||||
return (pflag ? setfile(from_stat, 0) : 0);
|
||||
return (pflag ? setfile(from_stat, -1) : 0);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -247,7 +247,7 @@ copy_special(from_stat, exists)
|
||||
warn("mknod: %s", to.p_path);
|
||||
return (1);
|
||||
}
|
||||
return (pflag ? setfile(from_stat, 0) : 0);
|
||||
return (pflag ? setfile(from_stat, -1) : 0);
|
||||
}
|
||||
|
||||
#define RETAINBITS \
|
||||
@@ -260,20 +260,22 @@ setfile(fs, fd)
|
||||
{
|
||||
static struct timeval tv[2];
|
||||
struct stat ts;
|
||||
int rval;
|
||||
int gotstat;
|
||||
int rval, gotstat, islink, fdval;
|
||||
|
||||
rval = 0;
|
||||
fdval = fd != -1;
|
||||
islink = !fdval && S_ISLNK(fs->st_mode);
|
||||
fs->st_mode &= S_ISUID | S_ISGID | S_ISVTX |
|
||||
S_IRWXU | S_IRWXG | S_IRWXO;
|
||||
|
||||
TIMESPEC_TO_TIMEVAL(&tv[0], &fs->st_atimespec);
|
||||
TIMESPEC_TO_TIMEVAL(&tv[1], &fs->st_mtimespec);
|
||||
if (utimes(to.p_path, tv)) {
|
||||
warn("utimes: %s", to.p_path);
|
||||
if (islink ? lutimes(to.p_path, tv) : utimes(to.p_path, tv)) {
|
||||
warn("%sutimes: %s", islink ? "l" : "", to.p_path);
|
||||
rval = 1;
|
||||
}
|
||||
if (fd ? fstat(fd, &ts) : stat(to.p_path, &ts))
|
||||
if (fdval ? fstat(fd, &ts) :
|
||||
(islink ? lstat(to.p_path, &ts) : stat(to.p_path, &ts)))
|
||||
gotstat = 0;
|
||||
else {
|
||||
gotstat = 1;
|
||||
@@ -287,8 +289,9 @@ setfile(fs, fd)
|
||||
* chown. If chown fails, lose setuid/setgid bits.
|
||||
*/
|
||||
if (!gotstat || fs->st_uid != ts.st_uid || fs->st_gid != ts.st_gid)
|
||||
if (fd ? fchown(fd, fs->st_uid, fs->st_gid) :
|
||||
chown(to.p_path, fs->st_uid, fs->st_gid)) {
|
||||
if (fdval ? fchown(fd, fs->st_uid, fs->st_gid) :
|
||||
(islink ? lchown(to.p_path, fs->st_uid, fs->st_gid) :
|
||||
chown(to.p_path, fs->st_uid, fs->st_gid))) {
|
||||
if (errno != EPERM) {
|
||||
warn("chown: %s", to.p_path);
|
||||
rval = 1;
|
||||
@@ -297,14 +300,18 @@ setfile(fs, fd)
|
||||
}
|
||||
|
||||
if (!gotstat || fs->st_mode != ts.st_mode)
|
||||
if (fd ? fchmod(fd, fs->st_mode) : chmod(to.p_path, fs->st_mode)) {
|
||||
if (fdval ? fchmod(fd, fs->st_mode) :
|
||||
(islink ? lchmod(to.p_path, fs->st_mode) :
|
||||
chmod(to.p_path, fs->st_mode))) {
|
||||
warn("chmod: %s", to.p_path);
|
||||
rval = 1;
|
||||
}
|
||||
|
||||
if (!gotstat || fs->st_flags != ts.st_flags)
|
||||
if (fd ?
|
||||
fchflags(fd, fs->st_flags) : chflags(to.p_path, fs->st_flags)) {
|
||||
if (fdval ?
|
||||
fchflags(fd, fs->st_flags) :
|
||||
(islink ? (errno = ENOSYS) :
|
||||
chflags(to.p_path, fs->st_flags))) {
|
||||
warn("chflags: %s", to.p_path);
|
||||
rval = 1;
|
||||
}
|
||||
|
||||
@@ -130,6 +130,8 @@
|
||||
/* we want to use the system malloc when we install as /bin/csh */
|
||||
#define SYSMALLOC
|
||||
#define BSD_STYLE_COLORLS
|
||||
/* Use LC_MESSAGES locale category to open the message catalog */
|
||||
#define MCLoadBySet NL_CAT_LOCALE
|
||||
#endif
|
||||
|
||||
#if defined(__bsdi__)
|
||||
|
||||
+23
-1
@@ -35,7 +35,7 @@
|
||||
.\" @(#)date.1 8.3 (Berkeley) 4/28/95
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd November 17, 1993
|
||||
.Dd August 9, 2004
|
||||
.Dt DATE 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -219,6 +219,22 @@ When the date is adjusted to a specific value that occurs twice
|
||||
the resulting timezone will be set so that the date matches the earlier of
|
||||
the two times.
|
||||
.Pp
|
||||
Adjusting the date by months is inherently ambiguous because
|
||||
a month is a unit of variable length depending on the current date.
|
||||
This kind of date adjustment is applied in the most intuitive way.
|
||||
First of all,
|
||||
.Nm
|
||||
tries to preserve the day of the month.
|
||||
If it is impossible because the target month is shorter than the present one,
|
||||
the last day of the target month will be the result.
|
||||
For example, using
|
||||
.Fl v No +1m
|
||||
on May 31 will adjust the date to June 30, while using the same option
|
||||
on January 30 will result in the date adjusted to the last day of February.
|
||||
This approach is also believed to make the most sense for shell scripting.
|
||||
Nevertheless, be aware that going forth and back by the same number of
|
||||
months may take you to a different date.
|
||||
.Pp
|
||||
Refer to the examples below for further details.
|
||||
.El
|
||||
.Pp
|
||||
@@ -295,6 +311,12 @@ will display the last day of February in the year 2000:
|
||||
.Pp
|
||||
.Dl "Tue Feb 29 03:18:00 GMT 2000"
|
||||
.Pp
|
||||
So will do the command:
|
||||
.Pp
|
||||
.Dl "date -v30d -v3m -v0y -v-1m"
|
||||
.Pp
|
||||
because there is no such date as the 30th of February.
|
||||
.Pp
|
||||
The command:
|
||||
.Pp
|
||||
.Dl "date -v1d -v+1m -v-1d -v-fri"
|
||||
|
||||
@@ -150,6 +150,8 @@ adjyear(struct tm *t, char type, int val, int mk)
|
||||
static int
|
||||
adjmon(struct tm *t, char type, int val, int istext, int mk)
|
||||
{
|
||||
int lmdays;
|
||||
|
||||
if (val < 0)
|
||||
return 0;
|
||||
|
||||
@@ -197,6 +199,11 @@ adjmon(struct tm *t, char type, int val, int istext, int mk)
|
||||
t->tm_mon = --val;
|
||||
}
|
||||
|
||||
/* e.g., -v-1m on March, 31 is the last day of February in common sense */
|
||||
lmdays = daysinmonth(t);
|
||||
if (t->tm_mday > lmdays)
|
||||
t->tm_mday = lmdays;
|
||||
|
||||
return !mk || domktime(t, type) != -1;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Oo
|
||||
.Fl b | h | H | k |
|
||||
.Fl b | g | h | H | k |
|
||||
.Fl m | P
|
||||
.Oc
|
||||
.Op Fl ailn
|
||||
|
||||
+23
-16
@@ -112,7 +112,7 @@ unit_t unitp [] = { NONE, KILO, MEGA, GIGA, TERA, PETA };
|
||||
int bread(off_t, void *, int);
|
||||
int checkvfsname(const char *, char **);
|
||||
char *getmntpt(char *);
|
||||
int longwidth(long);
|
||||
int int64width(int64_t);
|
||||
char *makenetvfslist(void);
|
||||
char **makevfslist(char *);
|
||||
void prthuman(struct statfs *, long);
|
||||
@@ -376,9 +376,15 @@ prthumanval(double bytes)
|
||||
* Convert statfs returned filesystem size into BLOCKSIZE units.
|
||||
* Attempts to avoid overflow for large filesystems.
|
||||
*/
|
||||
#define fsbtoblk(num, fsbs, bs) \
|
||||
(((fsbs) != 0 && (fsbs) < (bs)) ? \
|
||||
(num) / ((bs) / (fsbs)) : (num) * ((fsbs) / (bs)))
|
||||
static int64_t
|
||||
fsbtoblk(int64_t num, uint64_t fsbs, u_long bs)
|
||||
{
|
||||
|
||||
if (fsbs != 0 && fsbs < bs)
|
||||
return (num / (int64_t)(bs / fsbs));
|
||||
else
|
||||
return (num * (int64_t)(fsbs / bs));
|
||||
}
|
||||
|
||||
/*
|
||||
* Print out status about a filesystem.
|
||||
@@ -420,11 +426,12 @@ prtstat(struct statfs *sfsp, struct maxwidths *mwp)
|
||||
if (hflag) {
|
||||
prthuman(sfsp, used);
|
||||
} else {
|
||||
(void)printf(" %*ld %*ld %*ld", mwp->total,
|
||||
fsbtoblk(sfsp->f_blocks, sfsp->f_bsize, blocksize),
|
||||
mwp->used, fsbtoblk(used, sfsp->f_bsize, blocksize),
|
||||
mwp->avail, fsbtoblk(sfsp->f_bavail, sfsp->f_bsize,
|
||||
blocksize));
|
||||
(void)printf(" %*lld %*lld %*lld", mwp->total,
|
||||
(long long)fsbtoblk(sfsp->f_blocks, sfsp->f_bsize,
|
||||
blocksize), mwp->used,
|
||||
(long long)fsbtoblk(used, sfsp->f_bsize, blocksize),
|
||||
mwp->avail, (long long)fsbtoblk(sfsp->f_bavail,
|
||||
sfsp->f_bsize, blocksize));
|
||||
}
|
||||
(void)printf(" %5.0f%%",
|
||||
availblks == 0 ? 100.0 : (double)used / (double)availblks * 100.0);
|
||||
@@ -453,20 +460,20 @@ update_maxwidths(struct maxwidths *mwp, struct statfs *sfsp)
|
||||
getbsize(&dummy, &blocksize);
|
||||
|
||||
mwp->mntfrom = imax(mwp->mntfrom, strlen(sfsp->f_mntfromname));
|
||||
mwp->total = imax(mwp->total, longwidth(fsbtoblk(sfsp->f_blocks,
|
||||
mwp->total = imax(mwp->total, int64width(fsbtoblk(sfsp->f_blocks,
|
||||
sfsp->f_bsize, blocksize)));
|
||||
mwp->used = imax(mwp->used, longwidth(fsbtoblk(sfsp->f_blocks -
|
||||
mwp->used = imax(mwp->used, int64width(fsbtoblk(sfsp->f_blocks -
|
||||
sfsp->f_bfree, sfsp->f_bsize, blocksize)));
|
||||
mwp->avail = imax(mwp->avail, longwidth(fsbtoblk(sfsp->f_bavail,
|
||||
mwp->avail = imax(mwp->avail, int64width(fsbtoblk(sfsp->f_bavail,
|
||||
sfsp->f_bsize, blocksize)));
|
||||
mwp->iused = imax(mwp->iused, longwidth(sfsp->f_files -
|
||||
mwp->iused = imax(mwp->iused, int64width(sfsp->f_files -
|
||||
sfsp->f_ffree));
|
||||
mwp->ifree = imax(mwp->ifree, longwidth(sfsp->f_ffree));
|
||||
mwp->ifree = imax(mwp->ifree, int64width(sfsp->f_ffree));
|
||||
}
|
||||
|
||||
/* Return the width in characters of the specified long. */
|
||||
int
|
||||
longwidth(long val)
|
||||
int64width(int64_t val)
|
||||
{
|
||||
int len;
|
||||
|
||||
@@ -560,7 +567,7 @@ usage(void)
|
||||
{
|
||||
|
||||
(void)fprintf(stderr,
|
||||
"usage: df [-b | -H | -h | -k | -m | -P] [-ailn] [-t type] [file | filesystem ...]\n");
|
||||
"usage: df [-b | -g | -H | -h | -k | -m | -P] [-ailn] [-t type] [file | filesystem ...]\n");
|
||||
exit(EX_USAGE);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ SRCS= buf.c cbc.c glbl.c io.c main.c re.c sub.c undo.c
|
||||
LINKS= ${BINDIR}/ed ${BINDIR}/red
|
||||
MLINKS= ed.1 red.1
|
||||
|
||||
.if exists(${.CURDIR}/../../secure) && !defined(NOCRYPT) && !defined(NOSECURE)
|
||||
.if exists(${.CURDIR}/../../secure) && !defined(NOCRYPT)
|
||||
DISTRIBUTION=crypto
|
||||
CFLAGS+=-DDES
|
||||
DPADD= ${LIBCIPHER}
|
||||
|
||||
+50
-10
@@ -13,10 +13,6 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
@@ -55,47 +51,91 @@ __FBSDID("$FreeBSD$");
|
||||
int
|
||||
namecmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
return (strcoll(a->fts_name, b->fts_name));
|
||||
}
|
||||
|
||||
int
|
||||
revnamecmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
return (strcoll(b->fts_name, a->fts_name));
|
||||
}
|
||||
|
||||
int
|
||||
modcmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
return (b->fts_statp->st_mtime - a->fts_statp->st_mtime);
|
||||
|
||||
if (b->fts_statp->st_mtimespec.tv_sec >
|
||||
a->fts_statp->st_mtimespec.tv_sec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_mtimespec.tv_sec <
|
||||
a->fts_statp->st_mtimespec.tv_sec)
|
||||
return (-1);
|
||||
if (b->fts_statp->st_mtimespec.tv_nsec >
|
||||
a->fts_statp->st_mtimespec.tv_nsec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_mtimespec.tv_nsec <
|
||||
a->fts_statp->st_mtimespec.tv_nsec)
|
||||
return (-1);
|
||||
return (strcoll(a->fts_name, b->fts_name));
|
||||
}
|
||||
|
||||
int
|
||||
revmodcmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
return (a->fts_statp->st_mtime - b->fts_statp->st_mtime);
|
||||
|
||||
return (modcmp(b, a));
|
||||
}
|
||||
|
||||
int
|
||||
acccmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
return (b->fts_statp->st_atime - a->fts_statp->st_atime);
|
||||
|
||||
if (b->fts_statp->st_atimespec.tv_sec >
|
||||
a->fts_statp->st_atimespec.tv_sec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_atimespec.tv_sec <
|
||||
a->fts_statp->st_atimespec.tv_sec)
|
||||
return (-1);
|
||||
if (b->fts_statp->st_atimespec.tv_nsec >
|
||||
a->fts_statp->st_atimespec.tv_nsec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_atimespec.tv_nsec <
|
||||
a->fts_statp->st_atimespec.tv_nsec)
|
||||
return (-1);
|
||||
return (strcoll(a->fts_name, b->fts_name));
|
||||
}
|
||||
|
||||
int
|
||||
revacccmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
return (a->fts_statp->st_atime - b->fts_statp->st_atime);
|
||||
|
||||
return (acccmp(b, a));
|
||||
}
|
||||
|
||||
int
|
||||
statcmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
return (b->fts_statp->st_ctime - a->fts_statp->st_ctime);
|
||||
|
||||
if (b->fts_statp->st_ctimespec.tv_sec >
|
||||
a->fts_statp->st_ctimespec.tv_sec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_ctimespec.tv_sec <
|
||||
a->fts_statp->st_ctimespec.tv_sec)
|
||||
return (-1);
|
||||
if (b->fts_statp->st_ctimespec.tv_nsec >
|
||||
a->fts_statp->st_ctimespec.tv_nsec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_ctimespec.tv_nsec <
|
||||
a->fts_statp->st_ctimespec.tv_nsec)
|
||||
return (-1);
|
||||
return (strcoll(a->fts_name, b->fts_name));
|
||||
}
|
||||
|
||||
int
|
||||
revstatcmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
return (a->fts_statp->st_ctime - b->fts_statp->st_ctime);
|
||||
|
||||
return (statcmp(b, a));
|
||||
}
|
||||
+5
-3
@@ -35,7 +35,7 @@
|
||||
.\" @(#)ls.1 8.7 (Berkeley) 7/29/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd July 8, 2002
|
||||
.Dd January 11, 2005
|
||||
.Dt LS 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -188,7 +188,9 @@ This option overrides the environment variable
|
||||
.Dq ell . )
|
||||
List in long format.
|
||||
(See below.)
|
||||
If the output is to a terminal, a total sum for all the file
|
||||
A total sum (in blocks, see the
|
||||
.Fl s
|
||||
option for the block size unit) for all the file
|
||||
sizes is output on a line before the long listing.
|
||||
.It Fl m
|
||||
Stream output format; list files across the page, separated by commas.
|
||||
@@ -216,7 +218,7 @@ lexicographical order or the oldest entries first.
|
||||
.It Fl s
|
||||
Display the number of file system blocks actually used by each file, in units
|
||||
of 512 bytes, where partial units are rounded up to the next integer value.
|
||||
If the output is to a terminal, a total sum for all the file
|
||||
A total sum for all the file
|
||||
sizes is output on a line before the listing.
|
||||
The environment variable
|
||||
.Ev BLOCKSIZE
|
||||
|
||||
@@ -597,6 +597,7 @@ display(FTSENT *p, FTSENT *list)
|
||||
maxblock = makenines(maxblock);
|
||||
maxnlink = makenines(maxnlink);
|
||||
maxsize = makenines(maxsize);
|
||||
free(jinitmax);
|
||||
}
|
||||
bcfile = 0;
|
||||
flags = NULL;
|
||||
|
||||
+30
-18
@@ -453,7 +453,13 @@ tar_rd(arcn, buf)
|
||||
* copy out the name and values in the stat buffer
|
||||
*/
|
||||
hd = (HD_TAR *)buf;
|
||||
arcn->nlen = l_strncpy(arcn->name, hd->name, sizeof(arcn->name) - 1);
|
||||
/*
|
||||
* old tar format specifies the name always be null-terminated,
|
||||
* but let's be robust to broken archives.
|
||||
* the same applies to handling links below.
|
||||
*/
|
||||
arcn->nlen = l_strncpy(arcn->name, hd->name,
|
||||
MIN(sizeof(hd->name), sizeof(arcn->name)) - 1);
|
||||
arcn->name[arcn->nlen] = '\0';
|
||||
arcn->sb.st_mode = (mode_t)(asc_ul(hd->mode,sizeof(hd->mode),OCT) &
|
||||
0xfff);
|
||||
@@ -482,7 +488,7 @@ tar_rd(arcn, buf)
|
||||
*/
|
||||
arcn->type = PAX_SLK;
|
||||
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
|
||||
sizeof(arcn->ln_name) - 1);
|
||||
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name)) - 1);
|
||||
arcn->ln_name[arcn->ln_nlen] = '\0';
|
||||
arcn->sb.st_mode |= S_IFLNK;
|
||||
break;
|
||||
@@ -494,7 +500,7 @@ tar_rd(arcn, buf)
|
||||
arcn->type = PAX_HLK;
|
||||
arcn->sb.st_nlink = 2;
|
||||
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
|
||||
sizeof(arcn->ln_name) - 1);
|
||||
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name)) - 1);
|
||||
arcn->ln_name[arcn->ln_nlen] = '\0';
|
||||
|
||||
/*
|
||||
@@ -604,7 +610,7 @@ tar_wr(arcn)
|
||||
case PAX_SLK:
|
||||
case PAX_HLK:
|
||||
case PAX_HRG:
|
||||
if (arcn->ln_nlen > sizeof(hd->linkname)) {
|
||||
if (arcn->ln_nlen >= sizeof(hd->linkname)) {
|
||||
paxwarn(1,"Link name too long for tar %s", arcn->ln_name);
|
||||
return(1);
|
||||
}
|
||||
@@ -844,12 +850,19 @@ ustar_rd(arcn, buf)
|
||||
*/
|
||||
dest = arcn->name;
|
||||
if (*(hd->prefix) != '\0') {
|
||||
cnt = l_strncpy(dest, hd->prefix, sizeof(arcn->name) - 2);
|
||||
cnt = l_strncpy(dest, hd->prefix,
|
||||
MIN(sizeof(hd->prefix), sizeof(arcn->name) - 2));
|
||||
dest += cnt;
|
||||
*dest++ = '/';
|
||||
cnt++;
|
||||
}
|
||||
arcn->nlen = cnt + l_strncpy(dest, hd->name, sizeof(arcn->name) - cnt);
|
||||
/*
|
||||
* ustar format specifies the name may be unterminated
|
||||
* if it fills the entire field. this also applies to
|
||||
* the prefix and the linkname.
|
||||
*/
|
||||
arcn->nlen = cnt + l_strncpy(dest, hd->name,
|
||||
MIN(sizeof(hd->name), sizeof(arcn->name) - cnt - 1));
|
||||
arcn->name[arcn->nlen] = '\0';
|
||||
|
||||
/*
|
||||
@@ -942,7 +955,7 @@ ustar_rd(arcn, buf)
|
||||
* copy the link name
|
||||
*/
|
||||
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
|
||||
sizeof(arcn->ln_name) - 1);
|
||||
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name) - 1));
|
||||
arcn->ln_name[arcn->ln_nlen] = '\0';
|
||||
break;
|
||||
case CONTTYPE:
|
||||
@@ -999,7 +1012,7 @@ ustar_wr(arcn)
|
||||
* check the length of the linkname
|
||||
*/
|
||||
if (((arcn->type == PAX_SLK) || (arcn->type == PAX_HLK) ||
|
||||
(arcn->type == PAX_HRG)) && (arcn->ln_nlen >= sizeof(hd->linkname))){
|
||||
(arcn->type == PAX_HRG)) && (arcn->ln_nlen > sizeof(hd->linkname))){
|
||||
paxwarn(1, "Link name too long for ustar %s", arcn->ln_name);
|
||||
return(1);
|
||||
}
|
||||
@@ -1024,17 +1037,16 @@ ustar_wr(arcn)
|
||||
* occur, we remove the / and copy the first part to the prefix
|
||||
*/
|
||||
*pt = '\0';
|
||||
l_strncpy(hd->prefix, arcn->name, sizeof(hd->prefix) - 1);
|
||||
l_strncpy(hd->prefix, arcn->name, sizeof(hd->prefix));
|
||||
*pt++ = '/';
|
||||
} else
|
||||
memset(hd->prefix, 0, sizeof(hd->prefix));
|
||||
|
||||
/*
|
||||
* copy the name part. this may be the whole path or the part after
|
||||
* the prefix
|
||||
* the prefix. both the name and prefix may fill the entire field.
|
||||
*/
|
||||
l_strncpy(hd->name, pt, sizeof(hd->name) - 1);
|
||||
hd->name[sizeof(hd->name) - 1] = '\0';
|
||||
l_strncpy(hd->name, pt, sizeof(hd->name));
|
||||
|
||||
/*
|
||||
* set the fields in the header that are type dependent
|
||||
@@ -1077,8 +1089,8 @@ ustar_wr(arcn)
|
||||
hd->typeflag = SYMTYPE;
|
||||
else
|
||||
hd->typeflag = LNKTYPE;
|
||||
l_strncpy(hd->linkname,arcn->ln_name, sizeof(hd->linkname) - 1);
|
||||
hd->linkname[sizeof(hd->linkname) - 1] = '\0';
|
||||
/* the link name may occupy the entire field in ustar */
|
||||
l_strncpy(hd->linkname,arcn->ln_name, sizeof(hd->linkname));
|
||||
memset(hd->devmajor, 0, sizeof(hd->devmajor));
|
||||
memset(hd->devminor, 0, sizeof(hd->devminor));
|
||||
if (ul_oct((u_long)0L, hd->size, sizeof(hd->size), 3))
|
||||
@@ -1178,9 +1190,9 @@ name_split(name, len)
|
||||
* check to see if the file name is small enough to fit in the name
|
||||
* field. if so just return a pointer to the name.
|
||||
*/
|
||||
if (len < TNMSZ)
|
||||
if (len <= TNMSZ)
|
||||
return(name);
|
||||
if (len > (TPFSZ + TNMSZ))
|
||||
if (len > (TPFSZ + TNMSZ + 1))
|
||||
return(NULL);
|
||||
|
||||
/*
|
||||
@@ -1189,7 +1201,7 @@ name_split(name, len)
|
||||
* to find the biggest piece to fit in the name field (or the smallest
|
||||
* prefix we can find)
|
||||
*/
|
||||
start = name + len - TNMSZ;
|
||||
start = name + len - TNMSZ - 1;
|
||||
while ((*start != '\0') && (*start != '/'))
|
||||
++start;
|
||||
|
||||
@@ -1207,7 +1219,7 @@ name_split(name, len)
|
||||
* the file would then expand on extract to //str. The len == 0 below
|
||||
* makes this special case follow the spec to the letter.
|
||||
*/
|
||||
if ((len >= TPFSZ) || (len == 0))
|
||||
if ((len > TPFSZ) || (len == 0))
|
||||
return(NULL);
|
||||
|
||||
/*
|
||||
|
||||
+133
-110
@@ -86,6 +86,11 @@ __FBSDID("$FreeBSD$");
|
||||
#define W_SEP " \t" /* "Whitespace" list separators */
|
||||
#define T_SEP "," /* "Terminate-element" list separators */
|
||||
|
||||
/* The value of this selects how extra parameters to `ps' are handled. */
|
||||
#ifndef PS_BACKWARD_COMPATIBILITY
|
||||
#define PS_BACKWARD_COMPATIBILITY 1
|
||||
#endif
|
||||
|
||||
#ifdef LAZY_PS
|
||||
#define DEF_UREAD 0
|
||||
#define OPT_LAZY_f "f"
|
||||
@@ -94,6 +99,12 @@ __FBSDID("$FreeBSD$");
|
||||
#define OPT_LAZY_f /* I.e., the `-f' option is not added. */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* isdigit takes an `int', but expects values in the range of unsigned char.
|
||||
* This wrapper ensures that values from a 'char' end up in the correct range.
|
||||
*/
|
||||
#define isdigitch(Anychar) isdigit((u_char)(Anychar))
|
||||
|
||||
int cflag; /* -c */
|
||||
int eval; /* Exit value */
|
||||
time_t now; /* Current time(3) value */
|
||||
@@ -144,7 +155,7 @@ static const char *
|
||||
KINFO *, char *, int);
|
||||
static void free_list(struct listinfo *);
|
||||
static void init_list(struct listinfo *, addelem_rtn, int, const char *);
|
||||
static char *kludge_oldps_options(char *);
|
||||
static char *kludge_oldps_options(const char *, char *, const char *);
|
||||
static int pscomp(const void *, const void *);
|
||||
static void saveuser(KINFO *);
|
||||
static void scanvars(void);
|
||||
@@ -171,9 +182,9 @@ main(int argc, char *argv[])
|
||||
struct kinfo_proc *kp;
|
||||
struct varent *vent;
|
||||
struct winsize ws;
|
||||
const char *cp, *nlistf, *memf;
|
||||
const char *nlistf, *memf;
|
||||
int all, ch, dropgid, elem, flag, _fmt, i, lineno;
|
||||
int nentries, nocludge, nkept, nselectors;
|
||||
int nentries, nkept, nselectors;
|
||||
int prtheader, showthreads, wflag, what, xkeep, xkeep_implied;
|
||||
char errbuf[_POSIX2_LINE_MAX];
|
||||
|
||||
@@ -189,24 +200,11 @@ main(int argc, char *argv[])
|
||||
termwidth = ws.ws_col - 1;
|
||||
|
||||
/*
|
||||
* Don't apply a kludge if the first argument is an option taking an
|
||||
* argument
|
||||
* Hide a number of option-processing kludges in a separate routine,
|
||||
* to support some historical BSD behaviors, such as `ps axu'.
|
||||
*/
|
||||
if (argc > 1) {
|
||||
nocludge = 0;
|
||||
if (argv[1][0] == '-') {
|
||||
for (cp = PS_ARGS; *cp != '\0'; cp++) {
|
||||
if (*cp != ':')
|
||||
continue;
|
||||
if (*(cp - 1) == argv[1][1]) {
|
||||
nocludge = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (nocludge == 0)
|
||||
argv[1] = kludge_oldps_options(argv[1]);
|
||||
}
|
||||
if (argc > 1)
|
||||
argv[1] = kludge_oldps_options(PS_ARGS, argv[1], argv[2]);
|
||||
|
||||
all = dropgid = _fmt = nselectors = optfatal = 0;
|
||||
prtheader = showthreads = wflag = xkeep_implied = 0;
|
||||
@@ -220,7 +218,7 @@ main(int argc, char *argv[])
|
||||
init_list(&uidlist, addelem_uid, sizeof(uid_t), "user");
|
||||
memf = nlistf = _PATH_DEVNULL;
|
||||
while ((ch = getopt(argc, argv, PS_ARGS)) != -1)
|
||||
switch((char)ch) {
|
||||
switch ((char)ch) {
|
||||
case 'A':
|
||||
/*
|
||||
* Exactly the same as `-ax'. This has been
|
||||
@@ -415,13 +413,30 @@ main(int argc, char *argv[])
|
||||
}
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
|
||||
#if PS_BACKWARD_COMPATIBILITY == 0 /* This is the 5.x behavior. */
|
||||
/*
|
||||
* If there arguments after processing all the options, attempt
|
||||
* to treat them as a list of process ids.
|
||||
*/
|
||||
while (*argv) {
|
||||
if (!isdigitch(**argv))
|
||||
break;
|
||||
add_list(&pidlist, *argv);
|
||||
argv++;
|
||||
}
|
||||
if (*argv) {
|
||||
fprintf(stderr, "%s: illegal argument: %s\n",
|
||||
getprogname(), *argv);
|
||||
usage();
|
||||
}
|
||||
#endif
|
||||
if (optfatal)
|
||||
exit(1); /* Error messages already printed. */
|
||||
if (xkeep < 0) /* Neither -X nor -x was specified. */
|
||||
xkeep = xkeep_implied;
|
||||
|
||||
#define BACKWARD_COMPATIBILITY
|
||||
#ifdef BACKWARD_COMPATIBILITY
|
||||
#if PS_BACKWARD_COMPATIBILITY != 0 /* Historical (undocumented) behavior */
|
||||
if (*argv) {
|
||||
nlistf = *argv;
|
||||
if (*++argv)
|
||||
@@ -432,10 +447,8 @@ main(int argc, char *argv[])
|
||||
* Discard setgid privileges if not the running kernel so that bad
|
||||
* guys can't print interesting stuff from kernel memory.
|
||||
*/
|
||||
if (dropgid) {
|
||||
if (dropgid)
|
||||
setgid(getgid());
|
||||
setuid(getuid());
|
||||
}
|
||||
|
||||
kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf);
|
||||
if (kd == 0)
|
||||
@@ -671,9 +684,8 @@ addelem_gid(struct listinfo *inf, const char *elem)
|
||||
if (grp == NULL) {
|
||||
warnx("No %s %s '%s'", inf->lname, nameorID, elem);
|
||||
optfatal = 1;
|
||||
return (0); /* Do not add this value. */
|
||||
return (0);
|
||||
}
|
||||
|
||||
if (inf->count >= inf->maxcount)
|
||||
expand_list(inf);
|
||||
inf->l.gids[(inf->count)++] = grp->gr_gid;
|
||||
@@ -687,24 +699,25 @@ addelem_pid(struct listinfo *inf, const char *elem)
|
||||
char *endp;
|
||||
long tempid;
|
||||
|
||||
if (*elem == '\0')
|
||||
tempid = 0L;
|
||||
else {
|
||||
errno = 0;
|
||||
tempid = strtol(elem, &endp, 10);
|
||||
if (*endp != '\0' || tempid < 0 || elem == endp) {
|
||||
warnx("Invalid %s: %s", inf->lname, elem);
|
||||
errno = ERANGE;
|
||||
} else if (errno != 0 || tempid > BSD_PID_MAX) {
|
||||
warnx("%s too large: %s", inf->lname, elem);
|
||||
errno = ERANGE;
|
||||
}
|
||||
if (errno == ERANGE) {
|
||||
optfatal = 1;
|
||||
return (0); /* Do not add this value. */
|
||||
}
|
||||
if (*elem == '\0') {
|
||||
warnx("Invalid (zero-length) process id");
|
||||
optfatal = 1;
|
||||
return (0); /* Do not add this value. */
|
||||
}
|
||||
|
||||
errno = 0;
|
||||
tempid = strtol(elem, &endp, 10);
|
||||
if (*endp != '\0' || tempid < 0 || elem == endp) {
|
||||
warnx("Invalid %s: %s", inf->lname, elem);
|
||||
errno = ERANGE;
|
||||
} else if (errno != 0 || tempid > BSD_PID_MAX) {
|
||||
warnx("%s too large: %s", inf->lname, elem);
|
||||
errno = ERANGE;
|
||||
}
|
||||
if (errno == ERANGE) {
|
||||
optfatal = 1;
|
||||
return (0);
|
||||
}
|
||||
if (inf->count >= inf->maxcount)
|
||||
expand_list(inf);
|
||||
inf->l.pids[(inf->count)++] = tempid;
|
||||
@@ -732,14 +745,13 @@ addelem_tty(struct listinfo *inf, const char *elem)
|
||||
if (stat(ttypath, &sb) == -1) {
|
||||
warn("%s", ttypath);
|
||||
optfatal = 1;
|
||||
return (0); /* Do not add this value. */
|
||||
return (0);
|
||||
}
|
||||
if (!S_ISCHR(sb.st_mode)) {
|
||||
warn("%s: Not a terminal", ttypath);
|
||||
optfatal = 1;
|
||||
return (0); /* Do not add this value. */
|
||||
return (0);
|
||||
}
|
||||
|
||||
if (inf->count >= inf->maxcount)
|
||||
expand_list(inf);
|
||||
inf->l.ttys[(inf->count)++] = sb.st_rdev;
|
||||
@@ -788,9 +800,8 @@ addelem_uid(struct listinfo *inf, const char *elem)
|
||||
}
|
||||
if (pwd == NULL) {
|
||||
/* XXX: optfatal = 1; -- (see the above XXX) */
|
||||
return (0); /* Do not add this value */
|
||||
return (0);
|
||||
}
|
||||
|
||||
if (inf->count >= inf->maxcount)
|
||||
expand_list(inf);
|
||||
inf->l.uids[(inf->count)++] = pwd->pw_uid;
|
||||
@@ -805,6 +816,8 @@ add_list(struct listinfo *inf, const char *argp)
|
||||
int toolong;
|
||||
char elemcopy[PATH_MAX];
|
||||
|
||||
if (*argp == 0)
|
||||
inf->addelem(inf, elemcopy);
|
||||
while (*argp != '\0') {
|
||||
while (*argp != '\0' && strchr(W_SEP, *argp) != NULL)
|
||||
argp++;
|
||||
@@ -821,35 +834,10 @@ add_list(struct listinfo *inf, const char *argp)
|
||||
}
|
||||
if (!toolong) {
|
||||
*cp = '\0';
|
||||
#ifndef ADD_PS_LISTRESET
|
||||
/*
|
||||
* This is how the standard expects lists to
|
||||
* be handled.
|
||||
* Add this single element to the given list.
|
||||
*/
|
||||
inf->addelem(inf, elemcopy);
|
||||
#else
|
||||
/*-
|
||||
* This would add a simple non-standard-but-convienent
|
||||
* feature.
|
||||
*
|
||||
* XXX - The first time I tried to add this check,
|
||||
* it increased the total size of `ps' by 3940
|
||||
* bytes on i386! That's 12% of the entire
|
||||
* program! The `ps.o' file grew by only about
|
||||
* 40 bytes, but the final (stripped) executable
|
||||
* in /bin/ps grew by 12%. I have not had time
|
||||
* to investigate, so skip the feature for now.
|
||||
*/
|
||||
/*
|
||||
* We now have a single element. Add it to the
|
||||
* list, unless the element is ":". In that case,
|
||||
* reset the list so previous entries are ignored.
|
||||
*/
|
||||
if (strcmp(elemcopy, ":") == 0)
|
||||
inf->count = 0;
|
||||
else
|
||||
inf->addelem(inf, elemcopy);
|
||||
#endif
|
||||
} else {
|
||||
/*
|
||||
* The string is too long to copy. Find the end
|
||||
@@ -888,8 +876,7 @@ expand_list(struct listinfo *inf)
|
||||
newlist = realloc(inf->l.ptr, newmax * inf->elemsize);
|
||||
if (newlist == NULL) {
|
||||
free(inf->l.ptr);
|
||||
errx(1, "realloc to %d %ss failed", newmax,
|
||||
inf->lname);
|
||||
errx(1, "realloc to %d %ss failed", newmax, inf->lname);
|
||||
}
|
||||
inf->maxcount = newmax;
|
||||
inf->l.ptr = newlist;
|
||||
@@ -1073,54 +1060,90 @@ pscomp(const void *a, const void *b)
|
||||
* feature is available with the option 'T', which takes no argument.
|
||||
*/
|
||||
static char *
|
||||
kludge_oldps_options(char *s)
|
||||
kludge_oldps_options(const char *optlist, char *origval, const char *nextarg)
|
||||
{
|
||||
size_t len;
|
||||
char *newopts, *ns, *cp;
|
||||
char *argp, *cp, *newopts, *ns, *optp, *pidp;
|
||||
|
||||
len = strlen(s);
|
||||
if ((newopts = ns = malloc(len + 2)) == NULL)
|
||||
errx(1, "malloc failed");
|
||||
/*
|
||||
* options begin with '-'
|
||||
* See if the original value includes any option which takes an
|
||||
* argument (and will thus use up the remainder of the string).
|
||||
*/
|
||||
if (*s != '-')
|
||||
*ns++ = '-'; /* add option flag */
|
||||
/*
|
||||
* gaze to end of argv[1]
|
||||
*/
|
||||
cp = s + len - 1;
|
||||
argp = NULL;
|
||||
if (optlist != NULL) {
|
||||
for (cp = origval; *cp != '\0'; cp++) {
|
||||
optp = strchr(optlist, *cp);
|
||||
if ((optp != NULL) && *(optp + 1) == ':') {
|
||||
argp = cp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (argp != NULL && *origval == '-')
|
||||
return (origval);
|
||||
|
||||
/*
|
||||
* if last letter is a 't' flag with no argument (in the context
|
||||
* of the oldps options -- option string NOT starting with a '-' --
|
||||
* then convert to 'T' (meaning *this* terminal, i.e. ttyname(0)).
|
||||
*
|
||||
* However, if a flag accepting a string argument is found in the
|
||||
* option string, the remainder of the string is the argument to
|
||||
* that flag; do not modify that argument.
|
||||
* However, if a flag accepting a string argument is found earlier
|
||||
* in the option string (including a possible `t' flag), then the
|
||||
* remainder of the string must be the argument to that flag; so
|
||||
* do not modify that argument. Note that a trailing `t' would
|
||||
* cause argp to be set, if argp was not already set by some
|
||||
* earlier option.
|
||||
*/
|
||||
if (strcspn(s, "MNOoU") == len && *cp == 't' && *s != '-')
|
||||
*cp = 'T';
|
||||
len = strlen(origval);
|
||||
cp = origval + len - 1;
|
||||
pidp = NULL;
|
||||
if (*cp == 't' && *origval != '-' && cp == argp) {
|
||||
if (nextarg == NULL || *nextarg == '-' || isdigitch(*nextarg))
|
||||
*cp = 'T';
|
||||
} else if (argp == NULL) {
|
||||
/*
|
||||
* The original value did not include any option which takes
|
||||
* an argument (and that would include `p' and `t'), so check
|
||||
* the value for trailing number, or comma-separated list of
|
||||
* numbers, which we will treat as a pid request.
|
||||
*/
|
||||
if (isdigitch(*cp)) {
|
||||
while (cp >= origval && (*cp == ',' || isdigitch(*cp)))
|
||||
--cp;
|
||||
pidp = cp + 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* If nothing needs to be added to the string, then return
|
||||
* the "original" (although possibly modified) value.
|
||||
*/
|
||||
if (*origval == '-' && pidp == NULL)
|
||||
return (origval);
|
||||
|
||||
/*
|
||||
* Create a copy of the string to add '-' and/or 'p' to the
|
||||
* original value.
|
||||
*/
|
||||
if ((newopts = ns = malloc(len + 3)) == NULL)
|
||||
errx(1, "malloc failed");
|
||||
|
||||
if (*origval != '-')
|
||||
*ns++ = '-'; /* add option flag */
|
||||
|
||||
if (pidp == NULL)
|
||||
strcpy(ns, origval);
|
||||
else {
|
||||
/*
|
||||
* otherwise check for trailing number, which *may* be a
|
||||
* pid.
|
||||
* Copy everything before the pid string, add the `p',
|
||||
* and then copy the pid string.
|
||||
*/
|
||||
while (cp >= s && isdigit(*cp))
|
||||
--cp;
|
||||
}
|
||||
cp++;
|
||||
memmove(ns, s, (size_t)(cp - s)); /* copy up to trailing number */
|
||||
ns += cp - s;
|
||||
/*
|
||||
* if there's a trailing number, and not a preceding 'p' (pid) or
|
||||
* 't' (tty) flag, then assume it's a pid and insert a 'p' flag.
|
||||
*/
|
||||
if (isdigit(*cp) &&
|
||||
(cp == s || (cp[-1] != 't' && cp[-1] != 'p')) &&
|
||||
(cp - 1 == s || cp[-2] != 't'))
|
||||
len = pidp - origval;
|
||||
memcpy(ns, origval, len);
|
||||
ns += len;
|
||||
*ns++ = 'p';
|
||||
(void)strcpy(ns, cp); /* and append the number */
|
||||
strcpy(ns, pidp);
|
||||
}
|
||||
|
||||
return (newopts);
|
||||
}
|
||||
|
||||
+11
-16
@@ -44,11 +44,12 @@ static char const copyright[] =
|
||||
The Regents of the University of California. All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
#if 0
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)rcp.c 8.2 (Berkeley) 4/2/94";
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
@@ -589,7 +590,7 @@ sink(int argc, char *argv[])
|
||||
off_t i, j, size;
|
||||
int amt, count, exists, first, mask, mode, ofd, omode;
|
||||
int setimes, targisdir, wrerrno = 0;
|
||||
char ch, *cp, *np, *targ, *why, *vect[1], buf[BUFSIZ];
|
||||
char ch, *cp, *np, *targ, *why, *vect[1], buf[BUFSIZ], path[PATH_MAX];
|
||||
|
||||
#define atime tv[0]
|
||||
#define mtime tv[1]
|
||||
@@ -686,21 +687,15 @@ sink(int argc, char *argv[])
|
||||
if (*cp++ != ' ')
|
||||
SCREWUP("size not delimited");
|
||||
if (targisdir) {
|
||||
static char *namebuf = NULL;
|
||||
static size_t cursize;
|
||||
size_t need;
|
||||
|
||||
need = strlen(targ) + strlen(cp) + 250;
|
||||
if (need > cursize) {
|
||||
if (namebuf != NULL)
|
||||
free(namebuf);
|
||||
if (!(namebuf = malloc(need)))
|
||||
run_err("%s", strerror(errno));
|
||||
cursize = need;
|
||||
if (strlen(targ) + (*targ ? 1 : 0) + strlen(cp)
|
||||
>= sizeof(path)) {
|
||||
run_err("%s%s%s: name too long", targ,
|
||||
*targ ? "/" : "", cp);
|
||||
exit(1);
|
||||
}
|
||||
(void)snprintf(namebuf, need, "%s%s%s", targ,
|
||||
(void)snprintf(path, sizeof(path), "%s%s%s", targ,
|
||||
*targ ? "/" : "", cp);
|
||||
np = namebuf;
|
||||
np = path;
|
||||
} else
|
||||
np = targ;
|
||||
exists = stat(np, &stb) == 0;
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PROG= rm
|
||||
WARNS?= 2
|
||||
SRCS= rm.c
|
||||
|
||||
LINKS= ${BINDIR}/rm ${BINDIR}/unlink
|
||||
MLINKS= rm.1 unlink.1
|
||||
|
||||
+37
-26
@@ -1,3 +1,4 @@
|
||||
.\"-
|
||||
.\" Copyright (c) 1990, 1993, 1994
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
@@ -12,10 +13,6 @@
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
@@ -35,7 +32,7 @@
|
||||
.\" @(#)rm.1 8.5 (Berkeley) 12/5/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd January 28, 1999
|
||||
.Dd September 29, 2005
|
||||
.Dt RM 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -44,7 +41,8 @@
|
||||
.Nd remove directory entries
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl dfiPRrvW
|
||||
.Op Fl f | i
|
||||
.Op Fl dIPRrvW
|
||||
.Ar
|
||||
.Nm unlink
|
||||
.Ar file
|
||||
@@ -80,10 +78,20 @@ The
|
||||
option overrides any previous
|
||||
.Fl f
|
||||
options.
|
||||
.It Fl I
|
||||
Request confirmation once if more than three files are being removed or if a
|
||||
directory is being recursively removed.
|
||||
This is a far less intrusive option than
|
||||
.Fl i
|
||||
yet provides almost the same level of protection against mistakes.
|
||||
.It Fl P
|
||||
Overwrite regular files before deleting them.
|
||||
Files are overwritten three times, first with the byte pattern 0xff,
|
||||
then 0x00, and then 0xff again, before they are deleted.
|
||||
Specifying this flag for a read only file will cause
|
||||
.Nm
|
||||
to generate an error message and exit.
|
||||
The file wil not be removed or overwritten.
|
||||
.It Fl R
|
||||
Attempt to remove the file hierarchy rooted in each file argument.
|
||||
The
|
||||
@@ -115,9 +123,10 @@ The
|
||||
utility removes symbolic links, not the files referenced by the links.
|
||||
.Pp
|
||||
It is an error to attempt to remove the files
|
||||
.Dq .\&
|
||||
.Pa / ,
|
||||
.Pa .\&
|
||||
or
|
||||
.Dq .. .
|
||||
.Pa .. .
|
||||
.Pp
|
||||
When the utility is called as
|
||||
.Nm unlink ,
|
||||
@@ -148,31 +157,17 @@ to parse its arguments, which allows it to accept
|
||||
the
|
||||
.Sq Li --
|
||||
option which will cause it to stop processing flag options at that
|
||||
point. This will allow the removal of file names that begin
|
||||
point.
|
||||
This will allow the removal of file names that begin
|
||||
with a dash
|
||||
.Pq Sq - .
|
||||
For example:
|
||||
.Dl rm -- -filename
|
||||
The same behavior can be obtained by using an absolute or relative
|
||||
path reference. For example:
|
||||
path reference.
|
||||
For example:
|
||||
.Dl rm /home/user/-filename
|
||||
.Dl rm ./-filename
|
||||
.Sh SEE ALSO
|
||||
.Xr chflags 1 ,
|
||||
.Xr rmdir 1 ,
|
||||
.Xr undelete 2 ,
|
||||
.Xr unlink 2 ,
|
||||
.Xr fts 3 ,
|
||||
.Xr getopt 3 ,
|
||||
.Xr symlink 7
|
||||
.Sh BUGS
|
||||
The
|
||||
.Fl P
|
||||
option assumes that the underlying file system is a fixed-block file
|
||||
system.
|
||||
UFS is a fixed-block file system, LFS is not.
|
||||
In addition, only regular files are overwritten, other types of files
|
||||
are not.
|
||||
.Sh COMPATIBILITY
|
||||
The
|
||||
.Nm
|
||||
@@ -188,6 +183,14 @@ Also, historical
|
||||
.Bx
|
||||
implementations prompted on the standard output,
|
||||
not the standard error output.
|
||||
.Sh SEE ALSO
|
||||
.Xr chflags 1 ,
|
||||
.Xr rmdir 1 ,
|
||||
.Xr undelete 2 ,
|
||||
.Xr unlink 2 ,
|
||||
.Xr fts 3 ,
|
||||
.Xr getopt 3 ,
|
||||
.Xr symlink 7
|
||||
.Sh STANDARDS
|
||||
The
|
||||
.Nm
|
||||
@@ -203,3 +206,11 @@ A
|
||||
.Nm
|
||||
command appeared in
|
||||
.At v1 .
|
||||
.Sh BUGS
|
||||
The
|
||||
.Fl P
|
||||
option assumes that the underlying file system is a fixed-block file
|
||||
system.
|
||||
UFS is a fixed-block file system, LFS is not.
|
||||
In addition, only regular files are overwritten, other types of files
|
||||
are not.
|
||||
+129
-28
@@ -10,10 +10,6 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
@@ -31,6 +27,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
static const char copyright[] =
|
||||
"@(#) Copyright (c) 1990, 1993, 1994\n\
|
||||
@@ -38,10 +35,9 @@ static const char copyright[] =
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)rm.c 8.5 (Berkeley) 4/18/94";
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
#endif
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
@@ -53,6 +49,8 @@ __FBSDID("$FreeBSD$");
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <fts.h>
|
||||
#include <grp.h>
|
||||
#include <pwd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -60,26 +58,29 @@ __FBSDID("$FreeBSD$");
|
||||
#include <unistd.h>
|
||||
|
||||
int dflag, eval, fflag, iflag, Pflag, vflag, Wflag, stdin_ok;
|
||||
int rflag, Iflag;
|
||||
uid_t uid;
|
||||
|
||||
int check(char *, char *, struct stat *);
|
||||
int check2(char **);
|
||||
void checkdot(char **);
|
||||
void checkslash(char **);
|
||||
void rm_file(char **);
|
||||
void rm_overwrite(char *, struct stat *);
|
||||
int rm_overwrite(char *, struct stat *);
|
||||
void rm_tree(char **);
|
||||
void usage(void);
|
||||
|
||||
/*
|
||||
* rm --
|
||||
* This rm is different from historic rm's, but is expected to match
|
||||
* POSIX 1003.2 behavior. The most visible difference is that -f
|
||||
* POSIX 1003.2 behavior. The most visible difference is that -f
|
||||
* has two specific effects now, ignore non-existent files and force
|
||||
* file removal.
|
||||
* file removal.
|
||||
*/
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int ch, rflag;
|
||||
int ch;
|
||||
char *p;
|
||||
|
||||
/*
|
||||
@@ -103,7 +104,7 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
Pflag = rflag = 0;
|
||||
while ((ch = getopt(argc, argv, "dfiPRrvW")) != -1)
|
||||
while ((ch = getopt(argc, argv, "dfiIPRrvW")) != -1)
|
||||
switch(ch) {
|
||||
case 'd':
|
||||
dflag = 1;
|
||||
@@ -116,6 +117,9 @@ main(int argc, char *argv[])
|
||||
fflag = 0;
|
||||
iflag = 1;
|
||||
break;
|
||||
case 'I':
|
||||
Iflag = 1;
|
||||
break;
|
||||
case 'P':
|
||||
Pflag = 1;
|
||||
break;
|
||||
@@ -137,16 +141,22 @@ main(int argc, char *argv[])
|
||||
|
||||
if (argc < 1) {
|
||||
if (fflag)
|
||||
return 0;
|
||||
return (0);
|
||||
usage();
|
||||
}
|
||||
|
||||
checkdot(argv);
|
||||
if (getenv("POSIXLY_CORRECT") == NULL)
|
||||
checkslash(argv);
|
||||
uid = geteuid();
|
||||
|
||||
if (*argv) {
|
||||
stdin_ok = isatty(STDIN_FILENO);
|
||||
|
||||
if (Iflag) {
|
||||
if (check2(argv) == 0)
|
||||
exit (1);
|
||||
}
|
||||
if (rflag)
|
||||
rm_tree(argv);
|
||||
else
|
||||
@@ -182,8 +192,11 @@ rm_tree(char **argv)
|
||||
flags |= FTS_NOSTAT;
|
||||
if (Wflag)
|
||||
flags |= FTS_WHITEOUT;
|
||||
if (!(fts = fts_open(argv, flags, NULL)))
|
||||
err(1, NULL);
|
||||
if (!(fts = fts_open(argv, flags, NULL))) {
|
||||
if (fflag && errno == ENOENT)
|
||||
return;
|
||||
err(1, "fts_open");
|
||||
}
|
||||
while ((p = fts_read(fts)) != NULL) {
|
||||
switch (p->fts_info) {
|
||||
case FTS_DNR:
|
||||
@@ -197,8 +210,8 @@ rm_tree(char **argv)
|
||||
errx(1, "%s: %s", p->fts_path, strerror(p->fts_errno));
|
||||
case FTS_NS:
|
||||
/*
|
||||
* FTS_NS: assume that if can't stat the file, it
|
||||
* can't be unlinked.
|
||||
* Assume that since fts_read() couldn't stat the
|
||||
* file, it can't be unlinked.
|
||||
*/
|
||||
if (!needstat)
|
||||
break;
|
||||
@@ -267,9 +280,18 @@ rm_tree(char **argv)
|
||||
}
|
||||
break;
|
||||
|
||||
case FTS_NS:
|
||||
/*
|
||||
* Assume that since fts_read() couldn't stat
|
||||
* the file, it can't be unlinked.
|
||||
*/
|
||||
if (fflag)
|
||||
continue;
|
||||
/* FALLTHROUGH */
|
||||
default:
|
||||
if (Pflag)
|
||||
rm_overwrite(p->fts_accpath, NULL);
|
||||
if (!rm_overwrite(p->fts_accpath, NULL))
|
||||
continue;
|
||||
rval = unlink(p->fts_accpath);
|
||||
if (rval == 0 || (fflag && errno == ENOENT)) {
|
||||
if (rval == 0 && vflag)
|
||||
@@ -335,7 +357,8 @@ rm_file(char **argv)
|
||||
rval = rmdir(f);
|
||||
else {
|
||||
if (Pflag)
|
||||
rm_overwrite(f, &sb);
|
||||
if (!rm_overwrite(f, &sb))
|
||||
continue;
|
||||
rval = unlink(f);
|
||||
}
|
||||
}
|
||||
@@ -355,11 +378,11 @@ rm_file(char **argv)
|
||||
* XXX
|
||||
* This is a cheap way to *really* delete files. Note that only regular
|
||||
* files are deleted, directories (and therefore names) will remain.
|
||||
* Also, this assumes a fixed-block filesystem (like FFS, or a V7 or a
|
||||
* System V filesystem). In a logging filesystem, you'll have to have
|
||||
* Also, this assumes a fixed-block file system (like FFS, or a V7 or a
|
||||
* System V file system). In a logging file system, you'll have to have
|
||||
* kernel support.
|
||||
*/
|
||||
void
|
||||
int
|
||||
rm_overwrite(char *file, struct stat *sbp)
|
||||
{
|
||||
struct stat sb;
|
||||
@@ -375,14 +398,14 @@ rm_overwrite(char *file, struct stat *sbp)
|
||||
sbp = &sb;
|
||||
}
|
||||
if (!S_ISREG(sbp->st_mode))
|
||||
return;
|
||||
return (1);
|
||||
if ((fd = open(file, O_WRONLY, 0)) == -1)
|
||||
goto err;
|
||||
if (fstatfs(fd, &fsb) == -1)
|
||||
goto err;
|
||||
bsize = MAX(fsb.f_iosize, 1024);
|
||||
if ((buf = malloc(bsize)) == NULL)
|
||||
err(1, "malloc");
|
||||
err(1, "%s: malloc", file);
|
||||
|
||||
#define PASS(byte) { \
|
||||
memset(buf, byte, bsize); \
|
||||
@@ -401,13 +424,16 @@ rm_overwrite(char *file, struct stat *sbp)
|
||||
PASS(0xff);
|
||||
if (!fsync(fd) && !close(fd)) {
|
||||
free(buf);
|
||||
return;
|
||||
return (1);
|
||||
}
|
||||
|
||||
err: eval = 1;
|
||||
if (buf)
|
||||
free(buf);
|
||||
if (fd != -1)
|
||||
close(fd);
|
||||
warn("%s", file);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
@@ -423,7 +449,7 @@ check(char *path, char *name, struct stat *sp)
|
||||
else {
|
||||
/*
|
||||
* If it's not a symbolic link and it's unwritable and we're
|
||||
* talking to a terminal, ask. Symbolic links are excluded
|
||||
* talking to a terminal, ask. Symbolic links are excluded
|
||||
* because their permissions are meaningless. Check stdin_ok
|
||||
* first because we may not have stat'ed the file.
|
||||
*/
|
||||
@@ -434,12 +460,16 @@ check(char *path, char *name, struct stat *sp)
|
||||
return (1);
|
||||
strmode(sp->st_mode, modep);
|
||||
if ((flagsp = fflagstostr(sp->st_flags)) == NULL)
|
||||
err(1, NULL);
|
||||
err(1, "fflagstostr");
|
||||
if (Pflag)
|
||||
errx(1,
|
||||
"%s: -P was specified, but file is not writable",
|
||||
path);
|
||||
(void)fprintf(stderr, "override %s%s%s/%s %s%sfor %s? ",
|
||||
modep + 1, modep[9] == ' ' ? "" : " ",
|
||||
user_from_uid(sp->st_uid, 0),
|
||||
group_from_gid(sp->st_gid, 0),
|
||||
*flagsp ? flagsp : "", *flagsp ? " " : "",
|
||||
*flagsp ? flagsp : "", *flagsp ? " " : "",
|
||||
path);
|
||||
free(flagsp);
|
||||
}
|
||||
@@ -451,6 +481,77 @@ check(char *path, char *name, struct stat *sp)
|
||||
return (first == 'y' || first == 'Y');
|
||||
}
|
||||
|
||||
#define ISSLASH(a) ((a)[0] == '/' && (a)[1] == '\0')
|
||||
void
|
||||
checkslash(char **argv)
|
||||
{
|
||||
char **t, **u;
|
||||
int complained;
|
||||
|
||||
complained = 0;
|
||||
for (t = argv; *t;) {
|
||||
if (ISSLASH(*t)) {
|
||||
if (!complained++)
|
||||
warnx("\"/\" may not be removed");
|
||||
eval = 1;
|
||||
for (u = t; u[0] != NULL; ++u)
|
||||
u[0] = u[1];
|
||||
} else {
|
||||
++t;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
check2(char **argv)
|
||||
{
|
||||
struct stat st;
|
||||
int first;
|
||||
int ch;
|
||||
int fcount = 0;
|
||||
int dcount = 0;
|
||||
int i;
|
||||
const char *dname = NULL;
|
||||
|
||||
for (i = 0; argv[i]; ++i) {
|
||||
if (lstat(argv[i], &st) == 0) {
|
||||
if (S_ISDIR(st.st_mode)) {
|
||||
++dcount;
|
||||
dname = argv[i]; /* only used if 1 dir */
|
||||
} else {
|
||||
++fcount;
|
||||
}
|
||||
}
|
||||
}
|
||||
first = 0;
|
||||
while (first != 'n' && first != 'N' && first != 'y' && first != 'Y') {
|
||||
if (dcount && rflag) {
|
||||
fprintf(stderr, "recursively remove");
|
||||
if (dcount == 1)
|
||||
fprintf(stderr, " %s", dname);
|
||||
else
|
||||
fprintf(stderr, " %d dirs", dcount);
|
||||
if (fcount == 1)
|
||||
fprintf(stderr, " and 1 file");
|
||||
else if (fcount > 1)
|
||||
fprintf(stderr, " and %d files", fcount);
|
||||
} else if (dcount + fcount > 3) {
|
||||
fprintf(stderr, "remove %d files", dcount + fcount);
|
||||
} else {
|
||||
return(1);
|
||||
}
|
||||
fprintf(stderr, "? ");
|
||||
fflush(stderr);
|
||||
|
||||
first = ch = getchar();
|
||||
while (ch != '\n' && ch != EOF)
|
||||
ch = getchar();
|
||||
if (ch == EOF)
|
||||
break;
|
||||
}
|
||||
return (first == 'y' || first == 'Y');
|
||||
}
|
||||
|
||||
#define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2])))
|
||||
void
|
||||
checkdot(char **argv)
|
||||
@@ -481,7 +582,7 @@ usage(void)
|
||||
{
|
||||
|
||||
(void)fprintf(stderr, "%s\n%s\n",
|
||||
"usage: rm [-f | -i] [-dPRrvW] file ...",
|
||||
"usage: rm [-f | -i] [-dIPRrvW] file ...",
|
||||
" unlink file");
|
||||
exit(EX_USAGE);
|
||||
}
|
||||
+1
-1
@@ -699,7 +699,7 @@ unsetfunc(char *name)
|
||||
delete_cmd_entry();
|
||||
return (0);
|
||||
}
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+1
-1
@@ -1164,7 +1164,7 @@ expmeta(char *enddir, char *name)
|
||||
if (*p == '\0')
|
||||
break;
|
||||
}
|
||||
if (metaflag == 0 || stat(expdir, &statb) >= 0)
|
||||
if (metaflag == 0 || lstat(expdir, &statb) >= 0)
|
||||
addfname(expdir);
|
||||
return;
|
||||
}
|
||||
|
||||
+2
-1
@@ -930,7 +930,8 @@ dowait(int block, struct job *job)
|
||||
in_dowait--;
|
||||
if (breakwaitcmd != 0) {
|
||||
breakwaitcmd = 0;
|
||||
return -1;
|
||||
if (pid <= 0)
|
||||
return -1;
|
||||
}
|
||||
if (pid <= 0)
|
||||
return pid;
|
||||
|
||||
@@ -969,6 +969,7 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
|
||||
USTPUTC('\\', out);
|
||||
pungetc();
|
||||
} else if (c == '\n') {
|
||||
plinno++;
|
||||
if (doprompt)
|
||||
setprompt(2);
|
||||
else
|
||||
|
||||
+1
-1
@@ -262,7 +262,7 @@ When waiting for a child, execute traps immediately.
|
||||
If this option is not set,
|
||||
traps are executed after the child exits,
|
||||
as specified in
|
||||
.St -p1003.2
|
||||
.St -p1003.2 .
|
||||
This nonstandard option is useful for putting guarding shells around
|
||||
children that block signals. The surrounding shell may kill the child
|
||||
or it may just return control to the tty and leave the child alone,
|
||||
|
||||
+1
-1
@@ -778,7 +778,7 @@ unsetvar(char *s)
|
||||
}
|
||||
}
|
||||
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+13
-6
@@ -214,11 +214,6 @@ True if string
|
||||
comes after
|
||||
.Ar \&s\&2
|
||||
based on the ASCII value of their characters.
|
||||
.It Ar \&s\&1
|
||||
True if
|
||||
.Ar \&s\&1
|
||||
is not the null
|
||||
string.
|
||||
.It Ar \&n\&1 Fl \&eq Ar \&n\&2
|
||||
True if the integers
|
||||
.Ar \&n\&1
|
||||
@@ -259,6 +254,17 @@ than or equal to the integer
|
||||
.Ar \&n\&2 .
|
||||
.El
|
||||
.Pp
|
||||
If
|
||||
.Ar file
|
||||
is a symbolic link,
|
||||
.Nm
|
||||
will fully dereference it and then evaluate the expression
|
||||
against the file referenced, except for the
|
||||
.Fl h
|
||||
and
|
||||
.Fl L
|
||||
primaries.
|
||||
.Pp
|
||||
These primaries can be combined with the following operators:
|
||||
.Bl -tag -width Ar
|
||||
.It Cm \&! Ar expression
|
||||
@@ -319,7 +325,8 @@ An error occurred.
|
||||
.Sh SEE ALSO
|
||||
.Xr builtin 1 ,
|
||||
.Xr expr 1 ,
|
||||
.Xr sh 1
|
||||
.Xr sh 1 ,
|
||||
.Xr symlink 7
|
||||
.Sh STANDARDS
|
||||
The
|
||||
.Nm
|
||||
|
||||
+34
-9
@@ -312,6 +312,7 @@ static void compressedStreamEOF ( void ) NORETURN;
|
||||
|
||||
static void copyFileName ( Char*, Char* );
|
||||
static void* myMalloc ( Int32 );
|
||||
static int applySavedFileAttrToOutputFile ( int fd );
|
||||
|
||||
|
||||
|
||||
@@ -457,6 +458,10 @@ void compressStream ( FILE *stream, FILE *zStream )
|
||||
ret = fflush ( zStream );
|
||||
if (ret == EOF) goto errhandler_io;
|
||||
if (zStream != stdout) {
|
||||
int fd = fileno ( zStream );
|
||||
if (fd < 0) goto errhandler_io;
|
||||
ret = applySavedFileAttrToOutputFile ( fd );
|
||||
if (ret != 0) goto errhandler_io;
|
||||
ret = fclose ( zStream );
|
||||
outputHandleJustInCase = NULL;
|
||||
if (ret == EOF) goto errhandler_io;
|
||||
@@ -525,6 +530,7 @@ Bool uncompressStream ( FILE *zStream, FILE *stream )
|
||||
UChar obuf[5000];
|
||||
UChar unused[BZ_MAX_UNUSED];
|
||||
Int32 nUnused;
|
||||
void* unusedTmpV;
|
||||
UChar* unusedTmp;
|
||||
|
||||
nUnused = 0;
|
||||
@@ -554,9 +560,10 @@ Bool uncompressStream ( FILE *zStream, FILE *stream )
|
||||
}
|
||||
if (bzerr != BZ_STREAM_END) goto errhandler;
|
||||
|
||||
BZ2_bzReadGetUnused ( &bzerr, bzf, (void**)(&unusedTmp), &nUnused );
|
||||
BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
|
||||
if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
|
||||
|
||||
unusedTmp = (UChar*)unusedTmpV;
|
||||
for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
|
||||
|
||||
BZ2_bzReadClose ( &bzerr, bzf );
|
||||
@@ -567,6 +574,12 @@ Bool uncompressStream ( FILE *zStream, FILE *stream )
|
||||
|
||||
closeok:
|
||||
if (ferror(zStream)) goto errhandler_io;
|
||||
if ( stream != stdout) {
|
||||
int fd = fileno ( stream );
|
||||
if (fd < 0) goto errhandler_io;
|
||||
ret = applySavedFileAttrToOutputFile ( fd );
|
||||
if (ret != 0) goto errhandler_io;
|
||||
}
|
||||
ret = fclose ( zStream );
|
||||
if (ret == EOF) goto errhandler_io;
|
||||
|
||||
@@ -639,6 +652,7 @@ Bool testStream ( FILE *zStream )
|
||||
UChar obuf[5000];
|
||||
UChar unused[BZ_MAX_UNUSED];
|
||||
Int32 nUnused;
|
||||
void* unusedTmpV;
|
||||
UChar* unusedTmp;
|
||||
|
||||
nUnused = 0;
|
||||
@@ -662,9 +676,10 @@ Bool testStream ( FILE *zStream )
|
||||
}
|
||||
if (bzerr != BZ_STREAM_END) goto errhandler;
|
||||
|
||||
BZ2_bzReadGetUnused ( &bzerr, bzf, (void**)(&unusedTmp), &nUnused );
|
||||
BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
|
||||
if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
|
||||
|
||||
unusedTmp = (UChar*)unusedTmpV;
|
||||
for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
|
||||
|
||||
BZ2_bzReadClose ( &bzerr, bzf );
|
||||
@@ -1125,7 +1140,7 @@ void saveInputFileMetaInfo ( Char *srcName )
|
||||
|
||||
|
||||
static
|
||||
void applySavedMetaInfoToOutputFile ( Char *dstName )
|
||||
void applySavedTimeInfoToOutputFile ( Char *dstName )
|
||||
{
|
||||
# if BZ_UNIX
|
||||
IntNative retVal;
|
||||
@@ -1134,16 +1149,26 @@ void applySavedMetaInfoToOutputFile ( Char *dstName )
|
||||
uTimBuf.actime = fileMetaInfo.st_atime;
|
||||
uTimBuf.modtime = fileMetaInfo.st_mtime;
|
||||
|
||||
retVal = chmod ( dstName, fileMetaInfo.st_mode );
|
||||
ERROR_IF_NOT_ZERO ( retVal );
|
||||
|
||||
retVal = utime ( dstName, &uTimBuf );
|
||||
ERROR_IF_NOT_ZERO ( retVal );
|
||||
# endif
|
||||
}
|
||||
|
||||
retVal = chown ( dstName, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
|
||||
static
|
||||
int applySavedFileAttrToOutputFile ( int fd )
|
||||
{
|
||||
# if BZ_UNIX
|
||||
IntNative retVal;
|
||||
|
||||
retVal = fchmod ( fd, fileMetaInfo.st_mode );
|
||||
if (retVal != 0)
|
||||
return retVal;
|
||||
|
||||
(void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
|
||||
/* chown() will in many cases return with EPERM, which can
|
||||
be safely ignored.
|
||||
*/
|
||||
return 0;
|
||||
# endif
|
||||
}
|
||||
|
||||
@@ -1366,7 +1391,7 @@ void compress ( Char *name )
|
||||
|
||||
/*--- If there was an I/O error, we won't get here. ---*/
|
||||
if ( srcMode == SM_F2F ) {
|
||||
applySavedMetaInfoToOutputFile ( outName );
|
||||
applySavedTimeInfoToOutputFile ( outName );
|
||||
deleteOutputOnInterrupt = False;
|
||||
if ( !keepInputFiles ) {
|
||||
IntNative retVal = remove ( inName );
|
||||
@@ -1544,7 +1569,7 @@ void uncompress ( Char *name )
|
||||
/*--- If there was an I/O error, we won't get here. ---*/
|
||||
if ( magicNumberOK ) {
|
||||
if ( srcMode == SM_F2F ) {
|
||||
applySavedMetaInfoToOutputFile ( outName );
|
||||
applySavedTimeInfoToOutputFile ( outName );
|
||||
deleteOutputOnInterrupt = False;
|
||||
if ( !keepInputFiles ) {
|
||||
IntNative retVal = remove ( inName );
|
||||
|
||||
+37
-14
@@ -574,8 +574,11 @@ int BZ_API(BZ2_bzDecompressInit)
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
/* Return True iff data corruption is discovered.
|
||||
Returns False if there is no problem.
|
||||
*/
|
||||
static
|
||||
void unRLE_obuf_to_output_FAST ( DState* s )
|
||||
Bool unRLE_obuf_to_output_FAST ( DState* s )
|
||||
{
|
||||
UChar k1;
|
||||
|
||||
@@ -584,7 +587,7 @@ void unRLE_obuf_to_output_FAST ( DState* s )
|
||||
while (True) {
|
||||
/* try to finish existing run */
|
||||
while (True) {
|
||||
if (s->strm->avail_out == 0) return;
|
||||
if (s->strm->avail_out == 0) return False;
|
||||
if (s->state_out_len == 0) break;
|
||||
*( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
|
||||
BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
|
||||
@@ -594,10 +597,13 @@ void unRLE_obuf_to_output_FAST ( DState* s )
|
||||
s->strm->total_out_lo32++;
|
||||
if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
|
||||
}
|
||||
|
||||
|
||||
/* can a new run be started? */
|
||||
if (s->nblock_used == s->save_nblock+1) return;
|
||||
if (s->nblock_used == s->save_nblock+1) return False;
|
||||
|
||||
/* Only caused by corrupt data stream? */
|
||||
if (s->nblock_used > s->save_nblock+1)
|
||||
return True;
|
||||
|
||||
s->state_out_len = 1;
|
||||
s->state_out_ch = s->k0;
|
||||
@@ -667,6 +673,10 @@ void unRLE_obuf_to_output_FAST ( DState* s )
|
||||
cs_avail_out--;
|
||||
}
|
||||
}
|
||||
/* Only caused by corrupt data stream? */
|
||||
if (c_nblock_used > s_save_nblockPP)
|
||||
return True;
|
||||
|
||||
/* can a new run be started? */
|
||||
if (c_nblock_used == s_save_nblockPP) {
|
||||
c_state_out_len = 0; goto return_notr;
|
||||
@@ -712,6 +722,7 @@ void unRLE_obuf_to_output_FAST ( DState* s )
|
||||
s->strm->avail_out = cs_avail_out;
|
||||
/* end save */
|
||||
}
|
||||
return False;
|
||||
}
|
||||
|
||||
|
||||
@@ -732,8 +743,11 @@ __inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
/* Return True iff data corruption is discovered.
|
||||
Returns False if there is no problem.
|
||||
*/
|
||||
static
|
||||
void unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
Bool unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
{
|
||||
UChar k1;
|
||||
|
||||
@@ -742,7 +756,7 @@ void unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
while (True) {
|
||||
/* try to finish existing run */
|
||||
while (True) {
|
||||
if (s->strm->avail_out == 0) return;
|
||||
if (s->strm->avail_out == 0) return False;
|
||||
if (s->state_out_len == 0) break;
|
||||
*( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
|
||||
BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
|
||||
@@ -754,8 +768,11 @@ void unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
}
|
||||
|
||||
/* can a new run be started? */
|
||||
if (s->nblock_used == s->save_nblock+1) return;
|
||||
|
||||
if (s->nblock_used == s->save_nblock+1) return False;
|
||||
|
||||
/* Only caused by corrupt data stream? */
|
||||
if (s->nblock_used > s->save_nblock+1)
|
||||
return True;
|
||||
|
||||
s->state_out_len = 1;
|
||||
s->state_out_ch = s->k0;
|
||||
@@ -788,7 +805,7 @@ void unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
while (True) {
|
||||
/* try to finish existing run */
|
||||
while (True) {
|
||||
if (s->strm->avail_out == 0) return;
|
||||
if (s->strm->avail_out == 0) return False;
|
||||
if (s->state_out_len == 0) break;
|
||||
*( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
|
||||
BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
|
||||
@@ -800,7 +817,11 @@ void unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
}
|
||||
|
||||
/* can a new run be started? */
|
||||
if (s->nblock_used == s->save_nblock+1) return;
|
||||
if (s->nblock_used == s->save_nblock+1) return False;
|
||||
|
||||
/* Only caused by corrupt data stream? */
|
||||
if (s->nblock_used > s->save_nblock+1)
|
||||
return True;
|
||||
|
||||
s->state_out_len = 1;
|
||||
s->state_out_ch = s->k0;
|
||||
@@ -830,6 +851,7 @@ void unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
/*---------------------------------------------------*/
|
||||
int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
|
||||
{
|
||||
Bool corrupt;
|
||||
DState* s;
|
||||
if (strm == NULL) return BZ_PARAM_ERROR;
|
||||
s = strm->state;
|
||||
@@ -840,12 +862,13 @@ int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
|
||||
if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
|
||||
if (s->state == BZ_X_OUTPUT) {
|
||||
if (s->smallDecompress)
|
||||
unRLE_obuf_to_output_SMALL ( s ); else
|
||||
unRLE_obuf_to_output_FAST ( s );
|
||||
corrupt = unRLE_obuf_to_output_SMALL ( s ); else
|
||||
corrupt = unRLE_obuf_to_output_FAST ( s );
|
||||
if (corrupt) return BZ_DATA_ERROR;
|
||||
if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
|
||||
BZ_FINALISE_CRC ( s->calculatedBlockCRC );
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf2 ( " {0x%x, 0x%x}", s->storedBlockCRC,
|
||||
VPrintf2 ( " {0x%08x, 0x%08x}", s->storedBlockCRC,
|
||||
s->calculatedBlockCRC );
|
||||
if (s->verbosity >= 2) VPrintf0 ( "]" );
|
||||
if (s->calculatedBlockCRC != s->storedBlockCRC)
|
||||
@@ -863,7 +886,7 @@ int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
|
||||
Int32 r = BZ2_decompress ( s );
|
||||
if (r == BZ_STREAM_END) {
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf2 ( "\n combined CRCs: stored = 0x%x, computed = 0x%x",
|
||||
VPrintf2 ( "\n combined CRCs: stored = 0x%08x, computed = 0x%08x",
|
||||
s->storedCombinedCRC, s->calculatedCombinedCRC );
|
||||
if (s->calculatedCombinedCRC != s->storedCombinedCRC)
|
||||
return BZ_DATA_ERROR;
|
||||
|
||||
@@ -488,9 +488,11 @@ void sendMTFValues ( EState* s )
|
||||
/*--
|
||||
Recompute the tables based on the accumulated frequencies.
|
||||
--*/
|
||||
/* maxLen was changed from 20 to 17 in bzip2-1.0.3. See
|
||||
comment in huffman.c for details. */
|
||||
for (t = 0; t < nGroups; t++)
|
||||
BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]),
|
||||
alphaSize, 20 );
|
||||
alphaSize, 17 /*20*/ );
|
||||
}
|
||||
|
||||
|
||||
@@ -527,7 +529,7 @@ void sendMTFValues ( EState* s )
|
||||
if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
|
||||
if (s->len[t][i] < minLen) minLen = s->len[t][i];
|
||||
}
|
||||
AssertH ( !(maxLen > 20), 3004 );
|
||||
AssertH ( !(maxLen > 17 /*20*/ ), 3004 );
|
||||
AssertH ( !(minLen < 1), 3005 );
|
||||
BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]),
|
||||
minLen, maxLen, alphaSize );
|
||||
@@ -651,8 +653,8 @@ void BZ2_compressBlock ( EState* s, Bool is_last_block )
|
||||
if (s->blockNo > 1) s->numZ = 0;
|
||||
|
||||
if (s->verbosity >= 2)
|
||||
VPrintf4( " block %d: crc = 0x%8x, "
|
||||
"combined CRC = 0x%8x, size = %d\n",
|
||||
VPrintf4( " block %d: crc = 0x%08x, "
|
||||
"combined CRC = 0x%08x, size = %d\n",
|
||||
s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
|
||||
|
||||
BZ2_blockSort ( s );
|
||||
@@ -703,7 +705,7 @@ void BZ2_compressBlock ( EState* s, Bool is_last_block )
|
||||
bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
|
||||
bsPutUInt32 ( s, s->combinedCRC );
|
||||
if (s->verbosity >= 2)
|
||||
VPrintf1( " final combined CRC = 0x%x\n ", s->combinedCRC );
|
||||
VPrintf1( " final combined CRC = 0x%08x\n ", s->combinedCRC );
|
||||
bsFinishWrite ( s );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -524,17 +524,23 @@ Int32 BZ2_decompress ( DState* s )
|
||||
if (s->origPtr < 0 || s->origPtr >= nblock)
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
|
||||
/*-- Set up cftab to facilitate generation of T^(-1) --*/
|
||||
s->cftab[0] = 0;
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
|
||||
for (i = 0; i <= 256; i++) {
|
||||
if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
|
||||
/* s->cftab[i] can legitimately be == nblock */
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
s->state_out_len = 0;
|
||||
s->state_out_ch = 0;
|
||||
BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
|
||||
s->state = BZ_X_OUTPUT;
|
||||
if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
|
||||
|
||||
/*-- Set up cftab to facilitate generation of T^(-1) --*/
|
||||
s->cftab[0] = 0;
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
|
||||
|
||||
if (s->smallDecompress) {
|
||||
|
||||
/*-- Make a copy of cftab, used in generation of T --*/
|
||||
|
||||
+18
-1
@@ -162,7 +162,24 @@ void BZ2_hbMakeCodeLengths ( UChar *len,
|
||||
|
||||
if (! tooLong) break;
|
||||
|
||||
for (i = 1; i < alphaSize; i++) {
|
||||
/* 17 Oct 04: keep-going condition for the following loop used
|
||||
to be 'i < alphaSize', which missed the last element,
|
||||
theoretically leading to the possibility of the compressor
|
||||
looping. However, this count-scaling step is only needed if
|
||||
one of the generated Huffman code words is longer than
|
||||
maxLen, which up to and including version 1.0.2 was 20 bits,
|
||||
which is extremely unlikely. In version 1.0.3 maxLen was
|
||||
changed to 17 bits, which has minimal effect on compression
|
||||
ratio, but does mean this scaling step is used from time to
|
||||
time, enough to verify that it works.
|
||||
|
||||
This means that bzip2-1.0.3 and later will only produce
|
||||
Huffman codes with a maximum length of 17 bits. However, in
|
||||
order to preserve backwards compatibility with bitstreams
|
||||
produced by versions pre-1.0.3, the decompressor must still
|
||||
handle lengths of up to 20. */
|
||||
|
||||
for (i = 1; i <= alphaSize; i++) {
|
||||
j = weight[i] >> 8;
|
||||
j = 1 + (j / 2);
|
||||
weight[i] = j << 8;
|
||||
|
||||
+91
-26
@@ -46,6 +46,19 @@ $FreeBSD$
|
||||
#define lchown chown
|
||||
#endif
|
||||
|
||||
# ifndef DIRECTORY_SEPARATOR
|
||||
# define DIRECTORY_SEPARATOR '/'
|
||||
# endif
|
||||
|
||||
# ifndef ISSLASH
|
||||
# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
|
||||
# endif
|
||||
|
||||
# ifndef FILE_SYSTEM_PREFIX_LEN
|
||||
# define FILE_SYSTEM_PREFIX_LEN(Filename) 0
|
||||
# endif
|
||||
|
||||
|
||||
static void read_pattern_file ();
|
||||
static void tape_skip_padding ();
|
||||
static void defer_copyin ();
|
||||
@@ -376,6 +389,54 @@ swab_array (ptr, count)
|
||||
/* Current time for verbose table. */
|
||||
static time_t current_time;
|
||||
|
||||
/* Return a safer suffix of FILE_NAME, or "." if it has no safer
|
||||
suffix. Check for fully specified file names and other atrocities. */
|
||||
|
||||
static const char *
|
||||
safer_name_suffix (char const *file_name)
|
||||
{
|
||||
char const *p;
|
||||
|
||||
/* Skip file system prefixes, leading file name components that contain
|
||||
"..", and leading slashes. */
|
||||
|
||||
size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (file_name);
|
||||
|
||||
for (p = file_name + prefix_len; *p;)
|
||||
{
|
||||
if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2]))
|
||||
prefix_len = p + 2 - file_name;
|
||||
|
||||
do
|
||||
{
|
||||
char c = *p++;
|
||||
if (ISSLASH (c))
|
||||
break;
|
||||
}
|
||||
while (*p);
|
||||
}
|
||||
|
||||
for (p = file_name + prefix_len; ISSLASH (*p); p++)
|
||||
continue;
|
||||
prefix_len = p - file_name;
|
||||
|
||||
if (prefix_len)
|
||||
{
|
||||
char *prefix = alloca (prefix_len + 1);
|
||||
memcpy (prefix, file_name, prefix_len);
|
||||
prefix[prefix_len] = '\0';
|
||||
|
||||
|
||||
error (0, 0, "Removing leading `%s' from member names", prefix);
|
||||
}
|
||||
|
||||
if (!*p)
|
||||
p = ".";
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
/* Read the collection from standard input and create files
|
||||
in the file system. */
|
||||
|
||||
@@ -396,6 +457,7 @@ process_copy_in ()
|
||||
int in_file_des; /* Input file descriptor. */
|
||||
char skip_file; /* Flag for use with patterns. */
|
||||
int existing_dir; /* True if file is a dir & already exists. */
|
||||
mode_t existing_mode;
|
||||
int i; /* Loop index variable. */
|
||||
char *link_name = NULL; /* Name of hard and symbolic links. */
|
||||
#ifdef HPUX_CDF
|
||||
@@ -494,18 +556,11 @@ process_copy_in ()
|
||||
|
||||
/* Do we have to ignore absolute paths, and if so, does the filename
|
||||
have an absolute path? */
|
||||
if (no_abs_paths_flag && file_hdr.c_name && file_hdr.c_name [0] == '/')
|
||||
if (!abs_paths_flag && file_hdr.c_name && file_hdr.c_name[0])
|
||||
{
|
||||
char *p;
|
||||
const char *p = safer_name_suffix (file_hdr.c_name);
|
||||
|
||||
p = file_hdr.c_name;
|
||||
while (*p == '/')
|
||||
++p;
|
||||
if (*p == '\0')
|
||||
{
|
||||
strcpy (file_hdr.c_name, ".");
|
||||
}
|
||||
else
|
||||
if (p != file_hdr.c_name)
|
||||
{
|
||||
char *non_abs_name;
|
||||
|
||||
@@ -642,6 +697,7 @@ process_copy_in ()
|
||||
we are trying to create, don't complain about
|
||||
it. */
|
||||
existing_dir = TRUE;
|
||||
existing_mode = file_stat.st_mode;
|
||||
}
|
||||
else if (!unconditional_flag
|
||||
&& file_hdr.c_mtime <= file_stat.st_mtime)
|
||||
@@ -778,8 +834,6 @@ process_copy_in ()
|
||||
}
|
||||
copy_files_tape_to_disk (in_file_des, out_file_des, file_hdr.c_filesize);
|
||||
disk_empty_output_buffer (out_file_des);
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", file_hdr.c_name);
|
||||
|
||||
if (archive_format == arf_crcascii)
|
||||
{
|
||||
@@ -789,13 +843,15 @@ process_copy_in ()
|
||||
}
|
||||
/* File is now copied; set attributes. */
|
||||
if (!no_chown_flag)
|
||||
if ((chown (file_hdr.c_name,
|
||||
if ((fchown (out_file_des,
|
||||
set_owner_flag ? set_owner : file_hdr.c_uid,
|
||||
set_group_flag ? set_group : file_hdr.c_gid) < 0)
|
||||
&& errno != EPERM)
|
||||
error (0, errno, "%s", file_hdr.c_name);
|
||||
/* chown may have turned off some permissions we wanted. */
|
||||
if (chmod (file_hdr.c_name, (int) file_hdr.c_mode) < 0)
|
||||
if (fchmod (out_file_des, (int) file_hdr.c_mode) < 0)
|
||||
error (0, errno, "%s", file_hdr.c_name);
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", file_hdr.c_name);
|
||||
if (retain_time_flag)
|
||||
{
|
||||
@@ -847,14 +903,23 @@ process_copy_in ()
|
||||
cdf_flag = 1;
|
||||
}
|
||||
#endif
|
||||
res = mkdir (file_hdr.c_name, file_hdr.c_mode);
|
||||
res = mkdir (file_hdr.c_name, file_hdr.c_mode & ~077);
|
||||
}
|
||||
else
|
||||
res = 0;
|
||||
{
|
||||
if (!no_chown_flag && (existing_mode & 077) != 0
|
||||
&& chmod (file_hdr.c_name, existing_mode & 07700) < 0)
|
||||
{
|
||||
error (0, errno, "%s: chmod", file_hdr.c_name);
|
||||
return;
|
||||
}
|
||||
res = 0;
|
||||
}
|
||||
|
||||
if (res < 0 && create_dir_flag)
|
||||
{
|
||||
create_all_directories (file_hdr.c_name);
|
||||
res = mkdir (file_hdr.c_name, file_hdr.c_mode);
|
||||
res = mkdir (file_hdr.c_name, file_hdr.c_mode & ~077);
|
||||
}
|
||||
if (res < 0)
|
||||
{
|
||||
@@ -936,20 +1001,20 @@ process_copy_in ()
|
||||
|
||||
#ifdef CP_IFIFO
|
||||
if ((file_hdr.c_mode & CP_IFMT) == CP_IFIFO)
|
||||
res = mkfifo (file_hdr.c_name, file_hdr.c_mode);
|
||||
res = mkfifo (file_hdr.c_name, file_hdr.c_mode & ~077);
|
||||
else
|
||||
#endif
|
||||
res = mknod (file_hdr.c_name, file_hdr.c_mode,
|
||||
res = mknod (file_hdr.c_name, file_hdr.c_mode & ~077,
|
||||
makedev (file_hdr.c_rdev_maj, file_hdr.c_rdev_min));
|
||||
if (res < 0 && create_dir_flag)
|
||||
{
|
||||
create_all_directories (file_hdr.c_name);
|
||||
#ifdef CP_IFIFO
|
||||
if ((file_hdr.c_mode & CP_IFMT) == CP_IFIFO)
|
||||
res = mkfifo (file_hdr.c_name, file_hdr.c_mode);
|
||||
res = mkfifo (file_hdr.c_name, file_hdr.c_mode & ~077);
|
||||
else
|
||||
#endif
|
||||
res = mknod (file_hdr.c_name, file_hdr.c_mode,
|
||||
res = mknod (file_hdr.c_name, file_hdr.c_mode & ~077,
|
||||
makedev (file_hdr.c_rdev_maj,
|
||||
file_hdr.c_rdev_min));
|
||||
}
|
||||
@@ -1376,18 +1441,18 @@ create_final_defers ()
|
||||
continue;
|
||||
}
|
||||
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", d->header.c_name);
|
||||
|
||||
|
||||
/* File is now copied; set attributes. */
|
||||
if (!no_chown_flag)
|
||||
if ((chown (d->header.c_name,
|
||||
if ((fchown (out_file_des,
|
||||
set_owner_flag ? set_owner : d->header.c_uid,
|
||||
set_group_flag ? set_group : d->header.c_gid) < 0)
|
||||
&& errno != EPERM)
|
||||
error (0, errno, "%s", d->header.c_name);
|
||||
/* chown may have turned off some permissions we wanted. */
|
||||
if (chmod (d->header.c_name, (int) d->header.c_mode) < 0)
|
||||
if (fchmod (out_file_des, (int) d->header.c_mode) < 0)
|
||||
error (0, errno, "%s", d->header.c_name);
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", d->header.c_name);
|
||||
if (retain_time_flag)
|
||||
{
|
||||
|
||||
+20
-2
@@ -49,12 +49,13 @@ write_out_header (file_hdr, out_des)
|
||||
{
|
||||
char ascii_header[112];
|
||||
char *magic_string;
|
||||
int ret;
|
||||
|
||||
if (archive_format == arf_crcascii)
|
||||
magic_string = "070702";
|
||||
else
|
||||
magic_string = "070701";
|
||||
sprintf (ascii_header,
|
||||
ret = snprintf (ascii_header, sizeof(ascii_header),
|
||||
"%6s%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx",
|
||||
magic_string,
|
||||
file_hdr->c_ino, file_hdr->c_mode, file_hdr->c_uid,
|
||||
@@ -62,6 +63,10 @@ write_out_header (file_hdr, out_des)
|
||||
file_hdr->c_filesize, file_hdr->c_dev_maj, file_hdr->c_dev_min,
|
||||
file_hdr->c_rdev_maj, file_hdr->c_rdev_min, file_hdr->c_namesize,
|
||||
file_hdr->c_chksum);
|
||||
if (ret >= sizeof(ascii_header)) {
|
||||
fprintf(stderr, "Internal overflow, aborting\n");
|
||||
exit (1);
|
||||
}
|
||||
tape_buffered_write (ascii_header, out_des, 110L);
|
||||
|
||||
/* Write file name to output. */
|
||||
@@ -71,6 +76,7 @@ write_out_header (file_hdr, out_des)
|
||||
else if (archive_format == arf_oldascii || archive_format == arf_hpoldascii)
|
||||
{
|
||||
char ascii_header[78];
|
||||
int ret;
|
||||
#ifndef __MSDOS__
|
||||
dev_t dev;
|
||||
dev_t rdev;
|
||||
@@ -112,7 +118,7 @@ write_out_header (file_hdr, out_des)
|
||||
if ((file_hdr->c_ino >> 16) != 0)
|
||||
error (0, 0, "%s: truncating inode number", file_hdr->c_name);
|
||||
|
||||
sprintf (ascii_header,
|
||||
ret = snprintf (ascii_header, sizeof(ascii_header),
|
||||
"%06o%06o%06lo%06lo%06lo%06lo%06lo%06o%011lo%06lo%011lo",
|
||||
file_hdr->c_magic & 0xFFFF, dev & 0xFFFF,
|
||||
file_hdr->c_ino & 0xFFFF, file_hdr->c_mode & 0xFFFF,
|
||||
@@ -120,6 +126,10 @@ write_out_header (file_hdr, out_des)
|
||||
file_hdr->c_nlink & 0xFFFF, rdev & 0xFFFF,
|
||||
file_hdr->c_mtime, file_hdr->c_namesize & 0xFFFF,
|
||||
file_hdr->c_filesize);
|
||||
if (ret >= sizeof(ascii_header)) {
|
||||
fprintf(stderr, "Internal overflow, aborting\n");
|
||||
exit (1);
|
||||
}
|
||||
tape_buffered_write (ascii_header, out_des, 76L);
|
||||
|
||||
/* Write file name to output. */
|
||||
@@ -258,6 +268,14 @@ process_copy_out ()
|
||||
file_hdr.c_dev_maj = major (file_stat.st_dev);
|
||||
file_hdr.c_dev_min = minor (file_stat.st_dev);
|
||||
file_hdr.c_ino = file_stat.st_ino;
|
||||
|
||||
/* Skip files larger than 4GB which will cause problems on
|
||||
64bit platforms (and just not work on 32bit). */
|
||||
if (file_stat.st_size > 0xffffffff) {
|
||||
error (0, 0, "%s: skipping >4GB file", input_name.ds_string);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* For POSIX systems that don't define the S_IF macros,
|
||||
we can't assume that S_ISfoo means the standard Unix
|
||||
S_IFfoo bit(s) are set. So do it manually, with a
|
||||
|
||||
+20
-11
@@ -173,18 +173,18 @@ process_copy_pass ()
|
||||
disk_empty_output_buffer (out_file_des);
|
||||
if (close (in_file_des) < 0)
|
||||
error (0, errno, "%s", input_name.ds_string);
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", output_name.ds_string);
|
||||
|
||||
/* Set the attributes of the new file. */
|
||||
if (!no_chown_flag)
|
||||
if ((chown (output_name.ds_string,
|
||||
if ((fchown (out_file_des,
|
||||
set_owner_flag ? set_owner : in_file_stat.st_uid,
|
||||
set_group_flag ? set_group : in_file_stat.st_gid) < 0)
|
||||
&& errno != EPERM)
|
||||
error (0, errno, "%s", output_name.ds_string);
|
||||
/* chown may have turned off some permissions we wanted. */
|
||||
if (chmod (output_name.ds_string, in_file_stat.st_mode) < 0)
|
||||
if (fchmod (out_file_des, in_file_stat.st_mode) < 0)
|
||||
error (0, errno, "%s", output_name.ds_string);
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", output_name.ds_string);
|
||||
if (reset_time_flag)
|
||||
{
|
||||
@@ -223,15 +223,24 @@ process_copy_pass ()
|
||||
cdf_flag = 1;
|
||||
}
|
||||
#endif
|
||||
res = mkdir (output_name.ds_string, in_file_stat.st_mode);
|
||||
res = mkdir (output_name.ds_string, in_file_stat.st_mode & ~077);
|
||||
|
||||
}
|
||||
else
|
||||
res = 0;
|
||||
{
|
||||
if (!no_chown_flag && (out_file_stat.st_mode & 077) != 0
|
||||
&& chmod (output_name.ds_string, out_file_stat.st_mode & 07700) < 0)
|
||||
{
|
||||
error (0, errno, "%s: chmod", output_name.ds_string);
|
||||
continue;
|
||||
}
|
||||
res = 0;
|
||||
}
|
||||
|
||||
if (res < 0 && create_dir_flag)
|
||||
{
|
||||
create_all_directories (output_name.ds_string);
|
||||
res = mkdir (output_name.ds_string, in_file_stat.st_mode);
|
||||
res = mkdir (output_name.ds_string, in_file_stat.st_mode & ~077);
|
||||
}
|
||||
if (res < 0)
|
||||
{
|
||||
@@ -297,20 +306,20 @@ process_copy_pass ()
|
||||
{
|
||||
#ifdef S_ISFIFO
|
||||
if (S_ISFIFO (in_file_stat.st_mode))
|
||||
res = mkfifo (output_name.ds_string, in_file_stat.st_mode);
|
||||
res = mkfifo (output_name.ds_string, in_file_stat.st_mode & ~077);
|
||||
else
|
||||
#endif
|
||||
res = mknod (output_name.ds_string, in_file_stat.st_mode,
|
||||
res = mknod (output_name.ds_string, in_file_stat.st_mode & ~077,
|
||||
in_file_stat.st_rdev);
|
||||
if (res < 0 && create_dir_flag)
|
||||
{
|
||||
create_all_directories (output_name.ds_string);
|
||||
#ifdef S_ISFIFO
|
||||
if (S_ISFIFO (in_file_stat.st_mode))
|
||||
res = mkfifo (output_name.ds_string, in_file_stat.st_mode);
|
||||
res = mkfifo (output_name.ds_string, in_file_stat.st_mode & ~077);
|
||||
else
|
||||
#endif
|
||||
res = mknod (output_name.ds_string, in_file_stat.st_mode,
|
||||
res = mknod (output_name.ds_string, in_file_stat.st_mode & ~077,
|
||||
in_file_stat.st_rdev);
|
||||
}
|
||||
if (res < 0)
|
||||
|
||||
+4
-4
@@ -19,7 +19,7 @@ cpio \- copy files to and from archives
|
||||
[\-\-unconditional] [\-\-verbose] [\-\-block-size=blocks] [\-\-swap-halfwords]
|
||||
[\-\-io-size=bytes] [\-\-pattern-file=file] [\-\-format=format]
|
||||
[\-\-owner=[user][:.][group]] [\-\-no-preserve-owner] [\-\-message=message]
|
||||
[\-\-force\-local] [\-\-no\-absolute\-filenames] [\-\-sparse] [\-\-only\-verify\-crc]
|
||||
[\-\-force\-local] [\-\-absolute\-filenames] [\-\-sparse] [\-\-only\-verify\-crc]
|
||||
[\-\-quiet] [\-\-help] [\-\-version] [pattern...] [< archive]
|
||||
|
||||
.B cpio
|
||||
@@ -251,9 +251,9 @@ current volume number (starting at 1).
|
||||
In the verbose table of contents listing, show numeric UID and GID
|
||||
instead of translating them into names.
|
||||
.TP
|
||||
.I " \-\-no-absolute-filenames"
|
||||
In copy-in mode, create all files relative to the current directory,
|
||||
even if they have an absolute file name in the archive.
|
||||
.I " \-\-absolute-filenames"
|
||||
Do not strip leading file name components that contain ".."
|
||||
and leading slashes from file names in copy-in mode
|
||||
.TP
|
||||
.I " \-\-no-preserve-owner"
|
||||
In copy-in mode and copy-pass mode, do not change the ownership of the
|
||||
|
||||
@@ -46,7 +46,7 @@ extern int no_chown_flag;
|
||||
extern int sparse_flag;
|
||||
extern int quiet_flag;
|
||||
extern int only_verify_crc_flag;
|
||||
extern int no_abs_paths_flag;
|
||||
extern int abs_paths_flag;
|
||||
|
||||
extern int last_header_start;
|
||||
extern int copy_matching_files;
|
||||
|
||||
@@ -98,8 +98,8 @@ int quiet_flag = FALSE;
|
||||
actually extract the files. */
|
||||
int only_verify_crc_flag = FALSE;
|
||||
|
||||
/* If TRUE, don't use any absolute paths, prefix them by `./'. */
|
||||
int no_abs_paths_flag = FALSE;
|
||||
/* If TRUE, allow any absolute paths */
|
||||
int abs_paths_flag = FALSE;
|
||||
|
||||
#ifdef DEBUG_CPIO
|
||||
/* If TRUE, print debugging information. */
|
||||
|
||||
+6
-6
@@ -56,7 +56,7 @@ struct option long_opts[] =
|
||||
{"list", 0, &table_flag, TRUE},
|
||||
{"make-directories", 0, &create_dir_flag, TRUE},
|
||||
{"message", 1, 0, 'M'},
|
||||
{"no-absolute-filenames", 0, 0, 136},
|
||||
{"absolute-filenames", 0, 0, 136},
|
||||
{"no-preserve-owner", 0, 0, 134},
|
||||
{"nonmatching", 0, ©_matching_files, FALSE},
|
||||
{"numeric-uid-gid", 0, &numeric_uid, TRUE},
|
||||
@@ -105,7 +105,7 @@ Usage: %s {-o|--create} [-0acvABLV] [-C bytes] [-H format] [-M message]\n\
|
||||
[--unconditional] [--verbose] [--block-size=blocks] [--swap-halfwords]\n\
|
||||
[--io-size=bytes] [--pattern-file=file] [--format=format]\n\
|
||||
[--owner=[user][:.][group]] [--no-preserve-owner] [--message=message]\n\
|
||||
[--force-local] [--no-absolute-filenames] [--sparse] [--only-verify-crc]\n\
|
||||
[--force-local] [--absolute-filenames] [--sparse] [--only-verify-crc]\n\
|
||||
[--quiet] [--help] [--version] [pattern...] [< archive]\n",
|
||||
program_name);
|
||||
fprintf (fp, "\
|
||||
@@ -266,8 +266,8 @@ crc newc odc bin ustar tar (all-caps also recognized)", optarg);
|
||||
numeric_uid = TRUE;
|
||||
break;
|
||||
|
||||
case 136: /* --no-absolute-filenames */
|
||||
no_abs_paths_flag = TRUE;
|
||||
case 136: /* --absolute-filenames */
|
||||
abs_paths_flag = TRUE;
|
||||
break;
|
||||
|
||||
case 134: /* --no-preserve-owner */
|
||||
@@ -414,7 +414,7 @@ crc newc odc bin ustar tar (all-caps also recognized)", optarg);
|
||||
|| retain_time_flag || no_chown_flag || set_owner_flag
|
||||
|| set_group_flag || swap_bytes_flag || swap_halfwords_flag
|
||||
|| (append_flag && !(archive_name || output_archive_name))
|
||||
|| rename_batch_file || no_abs_paths_flag
|
||||
|| rename_batch_file || abs_paths_flag
|
||||
|| input_archive_name || (archive_name && output_archive_name))
|
||||
usage (stderr, 2);
|
||||
if (archive_format == arf_unknown)
|
||||
@@ -429,7 +429,7 @@ crc newc odc bin ustar tar (all-caps also recognized)", optarg);
|
||||
if (argc - 1 != optind || archive_format != arf_unknown
|
||||
|| swap_bytes_flag || swap_halfwords_flag
|
||||
|| table_flag || rename_flag || append_flag
|
||||
|| rename_batch_file || no_abs_paths_flag)
|
||||
|| rename_batch_file || abs_paths_flag)
|
||||
usage (stderr, 2);
|
||||
directory_name = argv[optind];
|
||||
}
|
||||
|
||||
+86
-2
@@ -1,4 +1,88 @@
|
||||
Authors of GNU CVS
|
||||
|
||||
Um, yeah. There were lots of 'em. See the "Credits" section of the
|
||||
README file and the individual ChangeLog files for more.
|
||||
The conflict-resolution algorithms and much of the administrative file
|
||||
definitions of CVS were based on the original package written by Dick Grune
|
||||
at Vrije Universiteit in Amsterdam <[email protected]>, and posted to
|
||||
comp.sources.unix in the volume 6 release sometime in 1986. This original
|
||||
version was a collection of shell scripts. I am thankful that Dick made
|
||||
his work available.
|
||||
|
||||
Brian Berliner from Prisma, Inc. (now at Sun Microsystems, Inc.)
|
||||
<[email protected]> converted the original CVS shell scripts into reasonably
|
||||
fast C and added many, many features to support software release control
|
||||
functions. See the manual page in the "man" directory. A copy of the
|
||||
USENIX article presented at the Winter 1990 USENIX Conference, Washington
|
||||
D.C., is included in the "doc" directory.
|
||||
|
||||
Jeff Polk from BSDI <[email protected]> converted the CVS 1.2
|
||||
sources into much more readable and maintainable C code. He also added a
|
||||
whole lot of functionality and modularity to the code in the process.
|
||||
See the bottom of the NEWS file (from about 1992).
|
||||
|
||||
david d `zoo' zuhn <[email protected]> contributed the working base code
|
||||
for CVS 1.4 Alpha. His work carries on from work done by K. Richard Pixley
|
||||
and others at Cygnus Support. The CVS 1.4 upgrade is due in large part to
|
||||
Zoo's efforts.
|
||||
|
||||
David G. Grubbs <[email protected]> contributed the CVS "history" and "release"
|
||||
commands. As well as the ever-so-useful "-n" option of CVS which tells CVS
|
||||
to show what it would do, without actually doing it. He also contributed
|
||||
support for the .cvsignore file.
|
||||
|
||||
The Free Software Foundation (GNU) contributed most of the portability
|
||||
framework that CVS now uses. This can be found in the "configure" script,
|
||||
the Makefile's, and basically most of the "lib" directory.
|
||||
|
||||
K. Richard Pixley, Cygnus Support <[email protected]> contributed many bug
|
||||
fixes/enhancement as well as completing early reviews of the CVS 1.3 manual
|
||||
pages.
|
||||
|
||||
Roland Pesch, then of Cygnus Support <[email protected]> contributed
|
||||
brand new cvs(1) and cvs(5) manual pages. Thanks to him for saving us
|
||||
from poor use of our language!
|
||||
|
||||
Paul Sander, HaL Computer Systems, Inc. <[email protected]> wrote and
|
||||
contributed the code in lib/sighandle.c. I added support for POSIX, BSD,
|
||||
and non-POSIX/non-BSD systems.
|
||||
|
||||
Jim Kingdon and others at Cygnus Support <[email protected]> wrote the
|
||||
remote repository access code.
|
||||
|
||||
Larry Jones and Derek Price <[email protected]> have been maintaining and
|
||||
enhancing CVS for some years. Mark D. Baushke <[email protected]> came on in
|
||||
2003.
|
||||
|
||||
There have been many, many contributions not listed here. Consult the
|
||||
individual ChangeLog files in each directory for a more complete idea.
|
||||
|
||||
In addition to the above contributors, the following Beta testers
|
||||
deserve special mention for their support. This is only a partial
|
||||
list; if you have helped in this way and would like to be listed, let
|
||||
bug-cvs know (as described in the Cederqvist manual).
|
||||
|
||||
Mark D. Baushke <[email protected]>
|
||||
Per Cederqvist <[email protected]>
|
||||
J.T. Conklin <[email protected]>
|
||||
Vince DeMarco <[email protected]>
|
||||
Paul Eggert <[email protected]>
|
||||
Lal George <[email protected]>
|
||||
Dean E. Hardi <[email protected]>
|
||||
Mike Heath <[email protected]>
|
||||
Jim Kingdon <[email protected]>
|
||||
Bernd Leibing <[email protected]>
|
||||
Benedict Lofstedt <[email protected]>
|
||||
Dave Love <[email protected]>
|
||||
Robert Lupton the Good <[email protected]>
|
||||
Tom McAliney <[email protected]>
|
||||
Eberhard Mattes <[email protected]>
|
||||
Jim Meyering <[email protected]>
|
||||
Thomas Mohr <[email protected]>
|
||||
Thomas Nilsson <[email protected]>
|
||||
Raye Raskin <[email protected]>
|
||||
Harlan Stenn <[email protected]>
|
||||
Gunnar Tornblom <[email protected]>
|
||||
Greg A. Woods <[email protected]>
|
||||
|
||||
Many contributors have added code to the "contrib" directory. See the
|
||||
README file there for a list of what is available. There is also a
|
||||
contributed GNU Emacs CVS-mode in tools/pcl-cvs.
|
||||
+39
-154
@@ -15,16 +15,6 @@ similar file for the unix-like operating systems (not yet, at least).
|
||||
This file also might contain some platform-specific bugs.
|
||||
|
||||
|
||||
* Need more work on the procedure for fixing it if a binary file is
|
||||
accidentally added in text mode (sanity.sh test cases, better
|
||||
documentation, probably update and/or admin -kb should update
|
||||
the -k setting in CVS/Entries).
|
||||
|
||||
|
||||
* Wrappers (-t/-f) do not work client/server, and there are a variety of other
|
||||
bugs and annoyances with wrappers.
|
||||
|
||||
|
||||
* If your login name contains a space or various other characters
|
||||
(particularly an issue on Windows), CVS will have trouble (it will
|
||||
write invalid RCS files, probably). The fix would be to have CVS
|
||||
@@ -42,10 +32,19 @@ provide a "Option-read-write" request which sends -w, in addition to
|
||||
"Global_option -r" which sends -r.
|
||||
|
||||
|
||||
* "make remotecheck" sometimes fails on test 187a3 with
|
||||
cvs server: in directory .:
|
||||
cvs [server aborted]: *PANIC* administration files missing
|
||||
This does not happen every time. (-kingdon, Nov 96, Red Hat linux 3.0.3).
|
||||
* Symbolic links to files will not work with or without LockDir. In the
|
||||
repository, you should avoid using symbolic links to files since this issue
|
||||
can cause data loss. Symlinks are only a problem when writing files. If your
|
||||
repository does not allow any write access, symlinks are not a problem.
|
||||
|
||||
|
||||
* Symbolic links to directories will not work with LockDir. In the
|
||||
repository, you should avoid using symbolic links to directories if
|
||||
you intend to use LockDir as the correct directory will NOT be locked
|
||||
by CVS during write. Directory symlinks are not recommended, but should work
|
||||
as long as LockDir is not being used. Symlinks are only a problem when
|
||||
writing files. If your repository does not allow any write access, symlinks
|
||||
are never a problem, whether or not LockDir is in use.
|
||||
|
||||
|
||||
* The -m option to "cvs add" does not work with client/server CVS.
|
||||
@@ -59,49 +58,13 @@ file's description.
|
||||
users who try to add the same directory at nearly the same time.
|
||||
|
||||
|
||||
* 'cvs admin' dumped core when files were missing from working directory
|
||||
(and from the repository)?
|
||||
|
||||
|
||||
* The following bug was reported against CVS 1.9:
|
||||
|
||||
Create a module named test with a file named test in it.
|
||||
|
||||
cactus:sfavor> cvs get test
|
||||
cvs checkout: Updating test
|
||||
U test/test
|
||||
cactus:sfavor> cd test
|
||||
cactus:sfavor> cvs get test
|
||||
cvs checkout: cannot chdir to test: Not a directory
|
||||
cvs checkout: ignoring module test
|
||||
Exit 1
|
||||
cactus:sfavor> cvs update
|
||||
cvs update: Updating .
|
||||
rcs.c:2139: failed assertion `rev == NULL || isdigit (*rev)'
|
||||
Abort (core dumped)
|
||||
Exit 134
|
||||
|
||||
|
||||
* pcl-cvs doesn't like it when you try to check in a file which isn't
|
||||
up-to-date. The messages produced by the server perhaps don't match
|
||||
what pcl-cvs is looking for.
|
||||
|
||||
|
||||
* From: [email protected] (Bill Robertson)
|
||||
Subject: Problem with rtag and the -D option
|
||||
Date: Fri, 17 Mar 1995 10:53:29 -0600 (CST)
|
||||
|
||||
I have been trying to use the -D option to specify a date for tagging, but
|
||||
rtag does not recognize the -D option. It is documented to do so and I've
|
||||
tested the use of -D with cvs update and cvs diff and it works fine there.
|
||||
|
||||
* From: "Charles M. Hannum" <[email protected]>
|
||||
To: [email protected]
|
||||
Subject: Still one more bug
|
||||
Date: Sat, 25 Feb 1995 17:01:15 -0500
|
||||
|
||||
mycroft@duality [1]; cd /usr/src/lib/libc
|
||||
mycroft@duality [1]; cvs diff -c2 '-D1 day ago' -Dnow
|
||||
mycroft@duality [1]; cvs diff -C2 '-D1 day ago' -Dnow
|
||||
cvs server: Diffing .
|
||||
cvs server: Diffing DB
|
||||
cvs [server aborted]: could not chdir to DB: No such file or directory
|
||||
@@ -115,117 +78,39 @@ file's description.
|
||||
P.S. Is anyone working on fixing these bugs?
|
||||
|
||||
|
||||
* From: Roland McGrath <[email protected]>
|
||||
To: Cyclic CVS Hackers <[email protected]>
|
||||
Subject: weird bug
|
||||
Date: Sat, 25 Mar 1995 16:41:41 -0500
|
||||
X-Windows: Even your dog won't like it.
|
||||
* CVS does not always seem to be waiting to the next filesystem timestamp
|
||||
quanta after commits. So far this has only shown up in testing under the BSDI
|
||||
OS. The symptoms are that ocassionally CVS will not notice that modified files
|
||||
are modified, though the file must be modified within a short time after the
|
||||
commit, probably milliseconds or seconds, for this symptom to be noticed. One
|
||||
suspected cause is that one of the calls to sleep_past() is being called with
|
||||
an incorrect value, though this does not explain why symptoms have only been
|
||||
noticed under BSDI.
|
||||
|
||||
I just noticed some droppings on my disk from what must be a pretty weird
|
||||
bug in remote CVS.
|
||||
|
||||
In my home directory on a repository machine I use, I find:
|
||||
* Spaces in arguments to `cvs diff' are currently split on spaces and tabs
|
||||
before being passed to diff. This can often cause diff to abort since it can
|
||||
no longer interpret its options string and if it can, coincidentally,
|
||||
interpret its option string, then the problem may be output in unexpected
|
||||
formats.
|
||||
|
||||
drwxr-xr-x 4 roland staff 512 Mar 7 14:08 cvs-serv28962
|
||||
drwxr-xr-x 4 roland staff 512 Mar 7 14:11 cvs-serv28978
|
||||
drwxr-xr-x 4 roland staff 512 Mar 7 15:13 cvs-serv29141
|
||||
|
||||
OK, so these are leftover cruft from some cvs run that got aborted.
|
||||
Well, it should clean up after itself, but so what.
|
||||
* `release' of a project subdir does not remove the `subdir' entry from
|
||||
`./CVS/Entries'.
|
||||
|
||||
The last one is pretty dull; the real weirdness is the contents of the
|
||||
first two directories.
|
||||
|
||||
duality 77 # ls -RF cvs-serv28978/
|
||||
CVS/ cvs-serv28978/
|
||||
* Most of the remote commands are encountering assertion failures when listing
|
||||
the toplevel of the repository (e.g. `cvs rlog .'). This appears to be
|
||||
related to the symlinked CVS root fix.
|
||||
|
||||
cvs-serv28978/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978:
|
||||
arpa/
|
||||
* Status
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa:
|
||||
CVS/ cvs-serv28978/
|
||||
/*-------.
|
||||
| Stable |
|
||||
`-------*/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/CVS:
|
||||
Entries Repository
|
||||
/*-------------------------.
|
||||
| Sane for full scale use. |
|
||||
`-------------------------*/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978:
|
||||
assert/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978:
|
||||
bare/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978:
|
||||
conf/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978:
|
||||
crypt/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978:
|
||||
csu/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978:
|
||||
ctype/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
[...]
|
||||
|
||||
ls: cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype/cvs-serv28978/dirent/cvs-serv28978/elf/cvs-serv28978/gnu/cvs-serv28978/gnulib/cvs-serv28978/grp/cvs-serv28978/hurd/cvs-serv28978/hurd/hurd/cvs-serv28978/inet/cvs-serv28978/inet/arpa/cvs-serv28978/inet/netinet[...]/cvs-serv28978/posix/cvs-serv28978/posix/glob/cvs-serv28978/posix/gnu/cvs-serv28978/posix/sys/cvs-serv28978/protocols/cvs-serv28978/pwd/cvs-serv28978/resolv/cvs-serv28978/resolv/arpa/cvs-serv28978/resolv/sys/cvs-serv28978/resource/cvs-serv28978/resource/sys/cvs-serv28978/rpc/cvs-serv28978/setjmp/cvs-serv28978/signal/cvs-serv28978/signal/sys/cvs-serv28978/socket/cvs-serv28978/socket: File name too long
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype/cvs-serv28978/dirent/cvs-serv28978/elf/cvs-serv28978/gnu/cvs-serv28978/gnulib/cvs-serv28978/grp/cvs-serv28978/hurd/cvs-serv28978/hurd/hurd/cvs-serv28978/inet/cvs-serv28978/inet/arpa/cvs-serv28978/inet/netinet[...]/cvs-serv28978/posix/glob/cvs-serv28978/posix/gnu/cvs-serv28978/posix/sys/cvs-serv28978/protocols/cvs-serv28978/pwd/cvs-serv28978/resolv/cvs-serv28978/resolv/arpa/cvs-serv28978/resolv/sys/cvs-serv28978/resource/cvs-serv28978/resource/sys/cvs-serv28978/rpc/cvs-serv28978/setjmp/cvs-serv28978/signal/cvs-serv28978/signal/sys/cvs-serv28978/socket/cvs-serv28978:
|
||||
|
||||
* From: Roland McGrath <[email protected]>
|
||||
To: Cyclic CVS Hackers <[email protected]>
|
||||
Subject: bizarre failure mode
|
||||
Date: Tue, 7 Mar 95 14:17:28 -0500
|
||||
|
||||
This is pretty weird:
|
||||
|
||||
CVS_SERVER='TMPDIR=. /usr/local/bin/cvs' ../cvs-build/src/cvs update -q
|
||||
cvs [server aborted]: could not get working directory: Result too large
|
||||
[Exit 1]
|
||||
asylum 29 % grep 'Result too large' /usr/include/sys/errno.h
|
||||
#define ERANGE 34 /* Result too large */
|
||||
|
||||
Now, getcwd fails with ERANGE when the buffer is too small. But I don't
|
||||
know why that would be the case; I don't think there are exceptionally long
|
||||
directory names involved. It would be robust to notice ERANGE and use a
|
||||
bigger buffer. But I suspect something weirder is going on.
|
||||
|
||||
The repository in question in duality.gnu.ai.mit.edu:/gd4/gnu/cvsroot/libc.
|
||||
|
||||
Send me a PGP-signed message if you want the password to use the machine
|
||||
where the problem showed up.
|
||||
@@ -1,3 +1,905 @@
|
||||
2004-06-09 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Stefan & Sebastian's security fixes.
|
||||
* acinclude.m4 (gl_SIZE_MAX, gl_XSIZE): Import from GNULIB.
|
||||
* configure.in: Call gl_XSIZE.
|
||||
|
||||
2004-06-09 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note CAN-2004-0414 fix.
|
||||
|
||||
2004-05-19 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note CAN-2004-0396 fix.
|
||||
|
||||
2004-05-17 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note assertion failure of r* commands.
|
||||
|
||||
2004-05-17 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove out of date comment about out of date Windows build
|
||||
files and several bug reports that are so old, without similar recent
|
||||
reports, that I'm assuming that the problems have been fixed.
|
||||
|
||||
2004-05-15 Derek Price <[email protected]>
|
||||
|
||||
* cvsnt.dsp: Header file list updated.
|
||||
* cvsnt.dep: Regenerated for "cvsnt.dsp" change.
|
||||
* cvsnt.mak: Regenerated for "cvsnt.dsp" change.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
2004-05-13 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note MSVC++ project file regeneration.
|
||||
|
||||
2004-05-13 Derek Price <[email protected]>
|
||||
|
||||
* cvsnt.dsw: Rename "zlib/zlib.*" to "zlib/libz.*".
|
||||
Add project "lib/libcvs".
|
||||
* cvsnt.dsp: Revised for "cvsnt.dsw" changes. Move "lib/*.c" to
|
||||
project "lib/libcvs". Upgraded to Visual C++ 6.0 format.
|
||||
* cvsnt.dep: Added for "cvsnt.dsp" change.
|
||||
* cvsnt.mak: Regenerated for "cvsnt.dsp" change.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
* configure.in: Generate windows-NT/fix-msvc-mak.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that man page is generated from cvs.texinfo now.
|
||||
* configure.in: Build doc/mkman.
|
||||
* configure, Makefile.in: Regenerated.
|
||||
|
||||
2004-04-26 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that :ext: no longer relies on an external transport with
|
||||
a GNU argument processor.
|
||||
|
||||
2004-04-20 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note XP directory deletion fix.
|
||||
|
||||
2004-04-16 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Correct CVS name for piped checkout issue now that we have one.
|
||||
|
||||
2004-04-15 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Retroactively add CVE issue name for the piped etc issue.
|
||||
|
||||
2004-04-15 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Retroactively add CVE issue name for the trojan server issue.
|
||||
|
||||
2004-04-14 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL (Building from source code under Unix): Move Autoconf &
|
||||
Automake notes...
|
||||
* HACKING (Regenerating Build Files): ...here.
|
||||
|
||||
2004-04-13 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note validation of paths passed to the client.
|
||||
|
||||
2004-04-07 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Clarify relative-path up-reference article.
|
||||
|
||||
2004-04-07 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note ignoring of method options in CVSROOTs.
|
||||
|
||||
2004-04-06 Derek Price <[email protected]>
|
||||
|
||||
* TODO (196, 217, 219, 220, 222, 226): Remove completed items.
|
||||
(230): New item.
|
||||
|
||||
2004-04-06 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note this change.
|
||||
* configure.in: Do not try and use TMP, TEMP, or TMPDIR as default
|
||||
temporary directories.
|
||||
* configure: Regenerated.
|
||||
|
||||
2004-04-04 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Cygwin handles paths like X:\.
|
||||
|
||||
2004-04-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Windows ISDIRSEP fix.
|
||||
|
||||
2004-04-02 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Instruct users to use the Workspace file and not the project
|
||||
file for MSVC++.
|
||||
(Patch from Conrad T. Pino <[email protected]>.)
|
||||
|
||||
2004-04-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Make some notes as to client/serverness of changes.
|
||||
|
||||
2004-04-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note relative path fix.
|
||||
|
||||
2004-04-01 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Record run race removal.
|
||||
|
||||
2004-03-31 Mark D. Baushke <[email protected]>
|
||||
|
||||
* cvs.spec.in (BuildRequires): Do not fail if info DIR file does
|
||||
not exist. (Not everyone has an install-info that generates the
|
||||
dir file that we want deleted.)
|
||||
(Report from Geoff Beier <[email protected]>.)
|
||||
|
||||
2004-03-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note failure of Cygwin to convert back slashes to slashes.
|
||||
|
||||
2004-03-25 Derek Price <[email protected]>
|
||||
|
||||
* cvs.spec.in (BuildRoot): Use a more unique directory name.
|
||||
|
||||
2004-03-22 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Note compilation & --without-gssapi requirement for HPPA
|
||||
with HP-UX 11.11.
|
||||
(Report from Nicolas Vervelle <[email protected]>.)
|
||||
|
||||
2004-03-20 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note resurrection fixes.
|
||||
|
||||
2004-03-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Back out previous NEWS change at Larry Jones' suggestion.
|
||||
|
||||
2004-03-17 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (--enable-password-authentication-client): Correct
|
||||
error message text.
|
||||
* NEWS: Note this change.
|
||||
* configure: Regenerated.
|
||||
|
||||
2004-03-15 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note cvs release + Kerberos fix.
|
||||
|
||||
2004-03-15 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Correct grammar in help text.
|
||||
* configure: Regenerated.
|
||||
|
||||
2004-03-15 Derek Price <[email protected]>
|
||||
|
||||
* macintosh/.cvsignore: Complete pruning of directory started in 1999.
|
||||
|
||||
2004-03-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note resurrection fix.
|
||||
|
||||
2004-03-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note error & status message corrections.
|
||||
|
||||
2004-03-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note diff of added files against arbitrary revisions fix.
|
||||
|
||||
2004-03-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Larry's recent documentation fixes.
|
||||
|
||||
2004-03-03 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that directories and files named `CVS' are now also
|
||||
rejected by import.
|
||||
|
||||
2004-02-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Update dying gasp note.
|
||||
|
||||
2004-02-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note `cvs release' Entries corruption fix.
|
||||
|
||||
2004-02-20 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that the dying gasp check has now been completely removed.
|
||||
|
||||
2004-02-17 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note spec file fix.
|
||||
* cvs.spec: Update to avoid the error checking algorithm's of more
|
||||
recent version of RPM.
|
||||
|
||||
2004-02-17 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note recent commenting of src/checkout.c and Mark's leak fixes.
|
||||
|
||||
2004-02-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Mark D. Baushke's recent memory leak plugs.
|
||||
|
||||
2004-02-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Ville Skyttä's other recent man page patch.
|
||||
|
||||
2004-02-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Ville Skyttä's recent man page patch.
|
||||
|
||||
2004-02-11 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note :fork: segfault avoidance.
|
||||
|
||||
2004-02-11 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note readability improvements.
|
||||
|
||||
2004-02-10 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note dying gasp check.
|
||||
|
||||
2004-02-10 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note flow control pipe race fix.
|
||||
|
||||
2004-02-10 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note problems building with MSVC++ under Windows and
|
||||
workaround.
|
||||
* INSTALL: Ditto.
|
||||
|
||||
2004-02-10 Derek Price <[email protected]>
|
||||
|
||||
* cvsnt.mak: Add stack.c and stack.h in order to compile under Windows.
|
||||
* NEWS: Note Windows fixes.
|
||||
* README: Update copyright notice.
|
||||
|
||||
2004-02-09 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note new tests in sanity.sh.
|
||||
|
||||
2004-02-06 Derek Price <[email protected]>
|
||||
|
||||
* README: Undo accidental overwrite.
|
||||
|
||||
2004-02-04 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that alias module recursion is now more comprehensive.
|
||||
|
||||
2004-02-03 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note case insensitive client directory case preservation.
|
||||
|
||||
2004-02-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note new join-rm tests.
|
||||
|
||||
2004-02-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note removal from the server of support for case insensitive
|
||||
clients.
|
||||
|
||||
2004-01-30 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note man page fix.
|
||||
|
||||
2004-01-30 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note contrib/log_accum tidy.
|
||||
|
||||
2004-01-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Kerberos 4 fix.
|
||||
|
||||
2004-01-22 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note recent infinite alias loop fix.
|
||||
|
||||
2004-01-22 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Remove a note about an Automake bug that has been fixed for
|
||||
quite awhile.
|
||||
|
||||
2004-01-22 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: s/Automake 1.7.5/Automake 1.7.9/.
|
||||
|
||||
2004-01-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Larrys recent mktemp.sh inclusion, documentation reorg,
|
||||
and zlib code fix.
|
||||
|
||||
2003-12-23 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.am: Add mktemp.sh to EXTRA_DIST.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
* configure.in: Get mktemp.sh from $srcdir.
|
||||
* configure: Regenerated.
|
||||
(Reported by Matt Selsky <[email protected]>.)
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Add since 1.11.11 section.
|
||||
* configure.in: Update for dev 1.11.11.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update for release 1.11.11.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note syslog of root attempts.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that pserver can no longer run as root.
|
||||
|
||||
2003-12-07 Mark D. Baushke <[email protected]>
|
||||
|
||||
* configure.in (AC_SYS_LARGEFILE): Remove. More work is needed
|
||||
before AC_SYS_LARGEFILE will work on all platforms.
|
||||
* configure, config.h.in: Regenerated.
|
||||
* NEWS: Remove last note.
|
||||
|
||||
* configure.in (AC_SYS_LARGEFILE): Add. The history file on
|
||||
Solaris boxes can grow beyond 2GB.
|
||||
* configure, config.h.in: Regenerated.
|
||||
* NEWS: Note addition of --disable-largefiles option.
|
||||
|
||||
2003-12-05 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update to require Automake 1.7.9.
|
||||
|
||||
2003-12-04 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update for dev version 1.11.10.1.
|
||||
* NEWS: Add Changes since 1.11.10 section.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-12-04 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update for release 1.11.10.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-12-03 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Always AC_LIBOBJ(fncase) when filenames are found to be
|
||||
case insensitive.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-11-26 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note recase tests.
|
||||
|
||||
2003-11-26 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note new test suite functionality.
|
||||
|
||||
2003-11-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note latest case insensitivity fix.
|
||||
|
||||
2003-11-19 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Rename "OTHER ISSUES" to "GENERAL USER ISSUES" and move the
|
||||
note about the Autoconf upgrade to a new "DEVELOPER ISSUES" section.
|
||||
Add a note about upgrading Automake.
|
||||
* aclocal.m4, configure, **/Makefile.in: Regenerated with Automake
|
||||
1.7.9.
|
||||
|
||||
2003-11-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Subdivide Changes section into "SERVER SECURITY ISSUES" and
|
||||
"OTHER ISSUES". Note module abspath issue in security section.
|
||||
|
||||
2003-11-10 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Add some detail to the last two notes Mark added.
|
||||
|
||||
2003-11-10 Mark D. Baushke <[email protected]>
|
||||
|
||||
* BUGS: Note that symlinks to files will not work with or without
|
||||
LockDir. Note that symlinks to directories will not work with
|
||||
LockDir.
|
||||
|
||||
* NEWS (Changes since 1.11.9): Note symlinked CVSROOT now works.
|
||||
|
||||
2003-11-10 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Require Autoconf 2.58.
|
||||
* INSTALL, NEWS: Note new Autoconf requirements.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-11-04 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add some more help text for --enable-case-sensitivity.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-11-03 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Require Automake 1.7.5.
|
||||
|
||||
2003-11-03 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Add some notes on Autoconf requirements.
|
||||
|
||||
2003-10-31 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Note Cygwin as an option for building CVS under Windows.
|
||||
|
||||
2003-10-31 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: s/cvsgui/wincvs/.
|
||||
|
||||
2003-10-27 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Move case sensitivity test to the enable-* section and
|
||||
allow override via command line switch.
|
||||
* NEWS: Update last news item to reflect new command line switch.
|
||||
* configure, config.h.in: Regenerated.
|
||||
|
||||
2003-10-27 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add new test for a case insensitive file system.
|
||||
* configure, config.h.in: Regenerated.
|
||||
* NEWS: Note the above change.
|
||||
|
||||
2003-10-24 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Update recent text about joins to reflect new behavior.
|
||||
|
||||
2003-10-24 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note that release of a project subdir does not remove the entry
|
||||
from `./CVS/Entries'.
|
||||
|
||||
2003-10-24 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove obsolete bug report.
|
||||
(Patch from Paul Edwards <somewhere in Australia>.)
|
||||
|
||||
2003-10-24 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove obsolete bug report.
|
||||
(Patch from Paul Edwards <somewhere in Australia>.)
|
||||
|
||||
2003-10-23 Mark D. Baushke <[email protected]>
|
||||
|
||||
* NEWS: Note behavior change for cvs update -jrev1 -jrev2.
|
||||
|
||||
2003-10-21 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Mark's recent admin -m fix.
|
||||
|
||||
2003-10-21 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note the @email{} and @url{} fixes as misc documentation fixes.
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note POSIX 1003.1-2001 compatibility of docs and scripts.
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
|
||||
testing with _POSIX2_VERSION=200112 in the environment.
|
||||
|
||||
* BUGS: Suggest 'diff -C2', not 'diff -c2'.
|
||||
* FAQ: Suggest 'sort -k 1.2', not 'sort +0.1'.
|
||||
* depcomp: Sync to the depcomp shipped with Automake 1.7.8, as
|
||||
it has the bug fixed and that's better than maintaining our
|
||||
own depcomp.
|
||||
(Patch from Paul Eggert <[email protected]>.)
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Add HPPA 2.0 running HP-UX 10.20 for CVS 1.11.9.
|
||||
(Report from Tom Kuiper <[email protected]>.)
|
||||
|
||||
2003-10-10 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.9): New section.
|
||||
* configure.in: Update package version to 1.11.9.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-10-10 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update package version to 1.11.9.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-10-08 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note history reporting fix.
|
||||
|
||||
2003-10-08 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Improve syntax and punctuation of my last entry.
|
||||
|
||||
2003-10-08 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note history fix for clients requesting `P' records.
|
||||
|
||||
2003-10-07 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note case insensitive file lookup fix.
|
||||
|
||||
2003-10-03 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note server ignoring `-l' with a warning.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.8): Add empty section.
|
||||
* configure.in: Update package version to 1.11.8.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update package version to 1.11.8.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note getpass fix.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.7): Insert empty entry.
|
||||
* configure.in: Update to 1.11.7.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update package version to 1.11.7.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note recent fix of the potential segfault during a diff.
|
||||
|
||||
2003-09-26 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note bug in options passed to diff via `cvs diff'.
|
||||
|
||||
2003-09-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note checkoutlist error message handling fix.
|
||||
|
||||
2003-08-27 Larry Jones <[email protected]>
|
||||
|
||||
* NEWS: Note client/server messages have real command name, client/
|
||||
server updates get logged in history file, history file has "P"
|
||||
record type.
|
||||
|
||||
2003-07-29 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Replace my recent misuse of AH_VERBATIM with a call to
|
||||
AC_DEFINE.
|
||||
* config.h.in, configure: Regenerated.
|
||||
|
||||
2003-07-29 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Do not check for getpassphrase. Define `getpass' to
|
||||
`cvs_getpass' in config.h to avoid conflicts with system decls.
|
||||
* NEWS: Note use of GNULIB getpass.
|
||||
|
||||
* config.h.in, configure: Regenerated.
|
||||
|
||||
2003-07-25 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Note --without-gssapi required to configure on OS X.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove mention of wrappers -t/-f since they are no longer
|
||||
supported.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Add cvs.spec so that RPMs can be built
|
||||
directly from tarballs.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* TODO (72): Remove mention of the -i/-o in the modules file since they
|
||||
have been removed.
|
||||
|
||||
2003-06-27 Larry Jones <[email protected]>
|
||||
|
||||
* NEWS: Note LockDir fix.
|
||||
|
||||
2003-06-23 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Debian Woody has -lkrb4, so check for that.
|
||||
(Patch from Alexey Mahotkin <[email protected]>.)
|
||||
|
||||
* config.h.in: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-06-20 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Add some OS X platforms to the compile list. Correct link to
|
||||
cvsgui.org -> wincvs.org.
|
||||
|
||||
2003-06-09 Derek Price <[email protected]>
|
||||
|
||||
* cvsnt.mak: Rename win32.c to woe32.c in accordance with the GNU
|
||||
convention to avoid implying that we consider the Microsoft Windows
|
||||
Operating Environment any sort of "win".
|
||||
|
||||
2003-06-09 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note short patch fix.
|
||||
|
||||
2003-06-09 Derek Price <[email protected]>
|
||||
|
||||
* TODO (45): Combine this with...
|
||||
(30): ...this item (as #30). Remove reference to diff since the
|
||||
modules file is only consulted for the r* commands.
|
||||
|
||||
2003-06-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note empty diff change text fix.
|
||||
|
||||
2003-05-29 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note removal of global -l option.
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* AUTHORS: Give Mark an email address.
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* cvs.spec.in: Add some files to doc. Remove redundant %defattr.
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.5): Add missing entry.
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* README (Credits): Move...
|
||||
* AUTHORS: ...here and update.
|
||||
|
||||
2003-05-26 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update CVS version to 1.11.6.1.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-05-25 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update CVS version to 1.11.6.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-05-25 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note current intermittant BSDI failures.
|
||||
|
||||
2003-05-22 Larry Jones <[email protected]>
|
||||
|
||||
* NEWS: Note recent administrative file changes.
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Mention new Automake version.
|
||||
* NEWS: Ditto.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* aclocal.m4: Ditto.
|
||||
* config.h.in: Ditto.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-05-20 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Using Autoconf version 2.57.
|
||||
* NEWS: Ditto. Reorder NEWS items to put the stuff which it is likely
|
||||
that only developers care about last.
|
||||
* configure: Regenerated with Autoconf 2.57.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Back out all the S_ISSOCK changes I just made and move
|
||||
the equivalent to lib/system.h.
|
||||
|
||||
* configure.in: Regenerated.
|
||||
* config.h.in: Ditto.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Try again, with AC_TRY_LINK this time.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Correct a typo in my last patch.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add some checks for S_ISSOCK to avoid a problem on
|
||||
SCO OpenServer 5.0.6a.
|
||||
(Reported by Boyd Lynn Gerber <[email protected]>.)
|
||||
|
||||
* config.h.in: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-05-01 Derek Price <[email protected]>
|
||||
|
||||
* TODO (149): Remove reference to defunct RELATIVE_REPOS macro.
|
||||
|
||||
2003-04-30 Derek Price <[email protected]>
|
||||
|
||||
* acinclude.m4 (ACX_WITH_GSSAPI): Fix typo in broken conditional.
|
||||
(Thanks to Alexey Mahotkin <[email protected]>.)
|
||||
|
||||
* configure: Regenerated.
|
||||
* aclocal.m4: Ditto.
|
||||
|
||||
2003-04-28 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.5): Note removal of Checkin.prog and
|
||||
Update.prog functionality.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* aclocal.m4 (AM_MAINTAINER_MODE): New macro to support
|
||||
--enable-maintainer-mode.
|
||||
* configure.in: Use it.
|
||||
* configure: Regenerated.
|
||||
* Makefile.in: Regenerated.
|
||||
* noautomake.sh: Removed; no longer needed.
|
||||
* INSTALL: Remove reference to noautomake.sh, add reference to
|
||||
--enable-maintainer-mode.
|
||||
* Makefile.am: Remove noautomake.sh.
|
||||
* NEWS: Add note about --enable-maintainer-mode and noautomake.sh.
|
||||
* README: Remove noautomake.sh.
|
||||
|
||||
2003-04-01 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove a pcl-cvs bug. pcl-cvs is no longer part of the CVS
|
||||
source distribution.
|
||||
|
||||
2003-04-01 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove reference to cvs admin SEGV bug Larry Jones fixed
|
||||
on 2003-02-19.
|
||||
|
||||
2003-04-01 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove obsolete bug.
|
||||
* configure.in: Tail the BUGS file for status.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-03-28 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (--with-editor): Quit with an error message when no
|
||||
editor is found. Allow --with-editor to override $EDITOR from the
|
||||
user's environment. Add vim to the list of defaults.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-03-26 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (--with-editor): Quit with an error message when
|
||||
--without-editor is specified.
|
||||
(Report from Jim Salter <[email protected]>.)
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-03-24 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add copyright notice.
|
||||
* Makefile.am: Update copyright notice.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-03-07 Derek Price <[email protected]>
|
||||
|
||||
* TESTS: Document some more global variables.
|
||||
|
||||
2003-03-05 Mark D Baushke <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.5): Backout CVS_LOCAL_BRANCH_NUM feature.
|
||||
|
||||
* NEWS (Changes since 1.11.5): Mention CVS_LOCAL_BRANCH_NUM
|
||||
environment varaible.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (WITH_KRB4): Import KRB4 patch from Redhat 8.0's CVS
|
||||
1.11.2-5 SRPM. It's not the right fix, but it will work until I get
|
||||
around to merging some of the code with WITH_GSSAPI and seperating the
|
||||
bits into separate M4 files.
|
||||
|
||||
* configure: Regenerated.
|
||||
* config.h.in: Ditto.
|
||||
|
||||
2003-02-28 Derek Price <[email protected]>
|
||||
|
||||
* acinclude.m4 (ACX_WITH_GSSAPI): Move the checkin from 1/23 to
|
||||
aclocal.m4 to the source, here.
|
||||
|
||||
* aclocal.m4: Regenerated.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-02-28 Larry Jones <[email protected]>
|
||||
|
||||
* TODO (206): Done in 1.11.3.
|
||||
(226): Add comment about deadlock.
|
||||
(228, 229): New items.
|
||||
|
||||
2003-02-26 Derek Price <[email protected]>
|
||||
|
||||
* mktemp.sh: Actually add file this time.
|
||||
* mktemp.sh: Add copyright notice, some comments, and attempt to return
|
||||
success and error codes.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add checks for mktemp and sendmail.
|
||||
* mktemp.sh: New file.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-02-06 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.5): Note error message corrections.
|
||||
|
||||
2003-01-30 Larry Jones <[email protected]>
|
||||
|
||||
* FAQ: Update URL for tkCVS info.
|
||||
|
||||
* NEWS (Changes from 1.11.2 to 1.11.3): Add note about fixing watch
|
||||
in server mode.
|
||||
|
||||
2003-01-28 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Remove a reference to options.h.
|
||||
(Thanks to Jenn Vesperman <[email protected]> for the report.)
|
||||
|
||||
2003-01-28 Larry Jones <[email protected]>
|
||||
|
||||
* NEWS: Update for 1.11.5, add notes about bug fixes in older
|
||||
versions.
|
||||
|
||||
2003-01-23 Derek Price <[email protected]>
|
||||
|
||||
* aclocal.m4 (WITH_GSSAPI): Check for libcrypt before libroken to
|
||||
satisfy a FreeBSD 4.6 dependency.
|
||||
(Thanks to Jan Ruzicka <[email protected]> for the bug
|
||||
report and a partial fix.)
|
||||
|
||||
* configure: regenerated.
|
||||
|
||||
2003-01-20 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Update the news for the last release to mention that client
|
||||
builds are not affected by the security vulnerability.
|
||||
|
||||
2003-01-20 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update to dev version 1.11.5.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-01-16 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Add 1.11.4 entry in regards to
|
||||
@@ -8,6 +910,13 @@
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2002-01-16 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (--with-editor): Look for nano, the GNU GPL pico clone.
|
||||
(Reported by Robin Cook <[email protected]>.)
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2002-01-16 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update to dev version (1.11.4.1).
|
||||
|
||||
+4
-2
@@ -1897,7 +1897,9 @@ You can branch a branch.
|
||||
Note that according to the official GIC page at
|
||||
http://www.cpsc.ucalgary.ca/redirect/grouplab/projects/gic/
|
||||
GIC is no longer being maintained and tkCVS is recommended
|
||||
instead. For more on tkCVS, see http://www.cyclic.com/tkcvs/
|
||||
instead.
|
||||
|
||||
For more on tkCVS, see http://www.cvshome.org/dev/addontkcvs.html.
|
||||
|
||||
[email protected]
|
||||
|
||||
@@ -4330,7 +4332,7 @@ [email protected]
|
||||
|
||||
You should be able to run:
|
||||
|
||||
sort +0.1 ${dir1}/history ${dir2}/history > history
|
||||
sort -k 1.2 ${dir1}/history ${dir2}/history > history
|
||||
|
||||
If you "diff" a standard history file before and after such a sort,
|
||||
you might see other differences caused by garbage (split lines, nulls,
|
||||
|
||||
@@ -7,39 +7,19 @@ not under any circumstances commit new versions onto the mainline, new
|
||||
versions or official-patch versions must be imported.
|
||||
|
||||
To prepare a new cvs dist for import, extract it into a fresh directory;
|
||||
then delete the files and directories listed in FREEBSD-Xlist.
|
||||
|
||||
The following generated files were deleted:
|
||||
doc/*.ps
|
||||
doc/*.info*
|
||||
doc/texinfo.tex
|
||||
lib/getdate.c
|
||||
cvsnt.*
|
||||
cvs.spec*
|
||||
build.com
|
||||
*/*.com
|
||||
*/*.dsp
|
||||
*/.cvsignore
|
||||
.cvsignore
|
||||
README.VMS
|
||||
|
||||
The following non-freebsd-specific directories were deleted:
|
||||
os2
|
||||
emx
|
||||
windows-NT
|
||||
vms
|
||||
zlib
|
||||
|
||||
It is imported from it's top level directory something like this:
|
||||
CVS is imported from its top level directory something like this:
|
||||
cvs -n import src/contrib/cvs CVSHOME v<version>
|
||||
|
||||
The -n option is "dont do anything" so you can see what is about to happen
|
||||
The -n option is "don't do anything" so you can see what is about to happen
|
||||
first. Remove it when it looks ok.
|
||||
|
||||
The initial import was done with:
|
||||
cvs import src/contrib/cvs CVSHOME v1_8_1
|
||||
|
||||
When new versions are imported, cvs will give instructions on how to merge
|
||||
the local and vendor changes when/if conflicts arise..
|
||||
the local and vendor changes when/if conflicts arise.
|
||||
|
||||
The developers can be reached at: <[email protected]>. Local changes
|
||||
that are suitable for public consumption should be submitted for inclusion
|
||||
|
||||
@@ -104,6 +104,25 @@ Filenames for .c and .h files may contain _ but should not contain -
|
||||
(the latter causes Visual C++ 2.1 to create makefiles which Visual C++
|
||||
4.0 cannot use).
|
||||
|
||||
* Regenerating Build Files
|
||||
|
||||
On UNIX, if you wish to change the Build files, you will need Autoconf and
|
||||
Automake.
|
||||
|
||||
Some combinations of Automake and Autoconf versions may break the
|
||||
CVS build if file timestamps aren't set correctly and people don't
|
||||
have the same versions the developers do, so the rules to run them
|
||||
automatically aren't included in the generated Makefiles unless you run
|
||||
configure with the --enable-maintainer-mode option.
|
||||
|
||||
The CVS Makefiles and configure script were built using Automake 1.7.9 and
|
||||
Autoconf 2.58, respectively.
|
||||
|
||||
There is a known bug in Autoconf 2.57 that will prevent the configure
|
||||
scripts it generates from working on some platforms. Other combinations of
|
||||
autotool versions may or may not work. If you get other versions to work,
|
||||
please send a report to <[email protected]>.
|
||||
|
||||
* Writing patches (strategy)
|
||||
|
||||
Only some kinds of changes are suitable for inclusion in the
|
||||
|
||||
+31
-36
@@ -123,6 +123,8 @@ HPPA:
|
||||
HPPA running HP-UX 9.05 (1.9)
|
||||
HPPA running HP-UX 10.01 (1.7)
|
||||
HPPA running HP-UX 10.20 (1.10.7)
|
||||
HPPA running HP-UX 11.11 (1.11.13) (footnote 12)
|
||||
HPPA 2.0 running HP-UX 10.20 (1.10.9) (footnote 13)
|
||||
NextSTEP 3.3 (1.7)
|
||||
i386 family:
|
||||
Solaris 2.4 using gcc (about 1.4A2)
|
||||
@@ -181,6 +183,9 @@ PowerPC or RS/6000:
|
||||
Lynx 2.3.1 120495 (1.6.86) (footnote 9)
|
||||
Lynx 2.5 (1.9) (footnote 10)
|
||||
MkLinux DR3 GENERIC #6 (1.10.5.1) (presumably LinuxPPC too)
|
||||
Mac OS X Darwin 6.6 Darwin Kernel Version 6.6 (1.11.1p1)
|
||||
Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.11.6) (footnote 12)
|
||||
Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.12.1) (footnote 12)
|
||||
SPARC:
|
||||
Sun SPARC running SunOS 4.1.x (1.10)
|
||||
Sun SPARCstation 10 running Solaris 2.3 using gcc and cc (about 1.4A2)
|
||||
@@ -238,23 +243,21 @@ VAX:
|
||||
ci: RCS/loginfo,v: Invalid argument
|
||||
cvs [init aborted]: failed to checkin n:/safe/CVSROOT/loginfo
|
||||
|
||||
(footnote 12)
|
||||
Need to `configure --without-gssapi' unless you have installed Kerberos 5
|
||||
libraries on the system yourself. For some reason Apple ships OS X with
|
||||
the Kerberos 5 headers installed and not the libraries, which confuses the
|
||||
current configure script. Some HP, BSD, & Sun boxes have similar problems.
|
||||
|
||||
(footnote 13)
|
||||
A build under HP PA-RISC 2.0 will probably not run under PA-RISC 1.1
|
||||
unless "+DAportable" is added to the HP ANSI cc compiler flags.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Building from source code under Unix:
|
||||
|
||||
1) Some combinations of Automake and Autoconf versions may break the CVS build
|
||||
if file timestamps aren't set correctly, so you may wish to run
|
||||
noautomake.sh to set the timestamps and avoid attempting to run the
|
||||
autotools on your system, especially if you are building from source
|
||||
checked out from CVS:
|
||||
|
||||
$ ./noautomake.sh --noautoconf
|
||||
|
||||
The CVS Makefiles and configure script were built using Automake 1.6.3 and
|
||||
Autoconf 2.53, respectively. Other combinations of autotool versions may
|
||||
or may not work.
|
||||
|
||||
2) Run "configure":
|
||||
1) Run "configure":
|
||||
|
||||
$ ./configure
|
||||
|
||||
@@ -368,10 +371,7 @@ Building from source code under Unix:
|
||||
|
||||
END OF NOTE FOR NDBM GUNK.
|
||||
|
||||
3) Edit src/options.h. The defaults should be reasonable, and in fact
|
||||
if you are lazy you can safely skip this step.
|
||||
|
||||
4) Try to build it:
|
||||
2) Try to build it:
|
||||
|
||||
$ make
|
||||
|
||||
@@ -382,7 +382,7 @@ Building from source code under Unix:
|
||||
compiler information, make output, and anything else you think
|
||||
will be helpful.
|
||||
|
||||
4a) Run the regression tests (optional).
|
||||
3) Run the regression tests (optional).
|
||||
|
||||
You may also wish to validate the correctness of the new binary by
|
||||
running the regression tests. If they succeed, that is nice to
|
||||
@@ -394,7 +394,7 @@ Building from source code under Unix:
|
||||
|
||||
If you want to run the tests, see the file TESTS for more information.
|
||||
|
||||
5) Install the binaries/documentation:
|
||||
4) Install the binaries/documentation:
|
||||
|
||||
$ make install
|
||||
|
||||
@@ -442,7 +442,11 @@ Building from source code under Windows NT/95/98/2000:
|
||||
|
||||
You may find interesting information in windows-NT/README.
|
||||
|
||||
1) Using Microsoft Visual C++ 5.x, open the project `cvsnt.dsp',
|
||||
* Using Microsoft Visual C++ 5.x (this is currently broken - someone with
|
||||
MVC++ 5.x needs to regenerate the project files, but the builds using `nmake'
|
||||
below will work).
|
||||
|
||||
1) Using Microsoft Visual C++ 5.x, open the project `cvsnt.dsw',
|
||||
in the top directory of the CVS distribution. If you have an older
|
||||
version of Visual C++, take a look at windows-NT/README.
|
||||
2) Choose "Build cvs.exe" from the "Project" menu.
|
||||
@@ -455,7 +459,12 @@ following also works:
|
||||
C:\> vcvars32
|
||||
C:\> nmake /f cvsnt.mak CFG="cvsnt - Win32 Debug"
|
||||
|
||||
* You might also try http://cvsgui.org & http://www.cvsnt.org
|
||||
* Using the Cygwin development environment <http://cygwin.com>, Windows clients
|
||||
and servers can be built using the instructions for building on UNIX. For
|
||||
deploying the CVS server on Windows NT, see the `cygrunsrv' executable that
|
||||
comes with Cygwin.
|
||||
|
||||
* You might also try <http://wincvs.org> & <http://www.cvsnt.org>.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
@@ -467,24 +476,10 @@ For VMS, see README.VMS
|
||||
|
||||
Mac OS X: Builds fine, just like UNIX.
|
||||
|
||||
For older versions of Mac OS, you might try http://cvsgui.org .
|
||||
For older versions of Mac OS, you might try <http://wincvs.org>.
|
||||
|
||||
For a Java client, see jCVS (which is a separate package from CVS
|
||||
itself, but which might be preferable to the Macintosh port mentioned
|
||||
above, for example).
|
||||
|
||||
**** ****
|
||||
|
||||
Builds are breaking on some systems (notably,
|
||||
BSD/OS thor.sdrc.com 4.0.1 BSDI BSD/OS 4.0.1 Kernel #3: Thu Mar 9 11:29:16 EST 2000
|
||||
) due to Automake's dependency tracking code. The work around for this is to
|
||||
comile without it by passing the '--disable-dependency-tracking' option to
|
||||
configure:
|
||||
|
||||
$ ./configure --disable-dependency-tracking
|
||||
|
||||
This will allow a compile but make will no longer be tracking header
|
||||
dependencies. This means that if you make any changes to header files you may
|
||||
have to run 'make clean' before running a 'make' to get everything to compile.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@@ -1,6 +1,8 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# Master Makefile for the GNU Concurrent Versions System.
|
||||
# Copyright (C) 1986, 1988-1992, 1994, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -33,11 +35,12 @@ EXTRA_DIST = \
|
||||
TESTS \
|
||||
build.com \
|
||||
cvs-format.el \
|
||||
cvsnt.dep \
|
||||
cvsnt.dsp \
|
||||
cvsnt.dsw \
|
||||
cvsnt.mak \
|
||||
noautomake.sh
|
||||
|
||||
cvs.spec \
|
||||
mktemp.sh
|
||||
|
||||
|
||||
## MAINTAINER Targets
|
||||
|
||||
+179
-72
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -15,7 +15,9 @@
|
||||
@SET_MAKE@
|
||||
|
||||
# Master Makefile for the GNU Concurrent Versions System.
|
||||
# Copyright (C) 1986, 1988-1992, 1994, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -26,79 +28,117 @@
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
# Unix source subdirs, where we'll want to run lint and etags:
|
||||
# This is a legacy variable from b4 Automake
|
||||
@@ -121,10 +161,12 @@ EXTRA_DIST = \
|
||||
TESTS \
|
||||
build.com \
|
||||
cvs-format.el \
|
||||
cvsnt.dep \
|
||||
cvsnt.dsp \
|
||||
cvsnt.dsw \
|
||||
cvsnt.mak \
|
||||
noautomake.sh
|
||||
cvs.spec \
|
||||
mktemp.sh
|
||||
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
@@ -133,14 +175,16 @@ CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES = cvs.spec emx/Makefile os2/Makefile zlib/Makefile
|
||||
DIST_SOURCES =
|
||||
|
||||
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
|
||||
uninstall-info-recursive all-recursive install-data-recursive \
|
||||
install-exec-recursive installdirs-recursive install-recursive \
|
||||
uninstall-recursive check-recursive installcheck-recursive
|
||||
DIST_COMMON = README AUTHORS COPYING COPYING.LIB ChangeLog INSTALL \
|
||||
Makefile.am Makefile.in NEWS TODO acinclude.m4 aclocal.m4 \
|
||||
compile config.h.in configure configure.in cvs.spec.in depcomp \
|
||||
install-sh mdate-sh missing mkinstalldirs
|
||||
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
|
||||
ps-recursive install-info-recursive uninstall-info-recursive \
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive
|
||||
DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \
|
||||
COPYING COPYING.LIB ChangeLog INSTALL Makefile.am NEWS TODO \
|
||||
acinclude.m4 aclocal.m4 compile config.h.in configure \
|
||||
configure.in cvs.spec.in depcomp install-sh mdate-sh missing \
|
||||
mkinstalldirs
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
@@ -149,18 +193,18 @@ all: config.h
|
||||
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
|
||||
|
||||
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
$(ACLOCAL_M4): configure.in acinclude.m4
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@@ -173,7 +217,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
|
||||
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
touch $(srcdir)/config.h.in
|
||||
|
||||
@@ -243,10 +287,17 @@ tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
CTAGS = ctags
|
||||
CTAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
@@ -262,9 +313,15 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
if (etags --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
test -f $$subdir/TAGS && \
|
||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
@@ -277,13 +334,28 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = .
|
||||
@@ -295,13 +367,20 @@ am__remove_distdir = \
|
||||
&& rm -fr $(distdir); }; }
|
||||
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkinstalldirs) $(distdir)/. $(distdir)/contrib $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/zlib
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
$(mkinstalldirs) $(distdir)/. $(distdir)/contrib $(distdir)/doc $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/windows-NT $(distdir)/zlib
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -359,12 +438,13 @@ distcheck: dist
|
||||
$(am__remove_distdir)
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
|
||||
&& cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
@@ -372,23 +452,39 @@ distcheck: dist
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
find $$dc_install_base -type f -print ; \
|
||||
exit 1; } >&2 ) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
|
||||
&& rm -f $(distdir).tar.gz \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@echo "$(distdir).tar.gz is ready for distribution" | \
|
||||
sed 'h;s/./=/g;p;x;p;x'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
if test '$(srcdir)' = . ; then \
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after distclean:" ; \
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
@@ -408,7 +504,7 @@ install-am: all-am
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -416,7 +512,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -427,6 +523,7 @@ clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
@@ -449,21 +546,31 @@ installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf autom4te.cache
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
uninstall-info: uninstall-info-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
|
||||
clean-generic clean-recursive dist dist-all dist-bzip2 \
|
||||
dist-gzip distcheck distclean distclean-generic distclean-hdr \
|
||||
distclean-recursive distclean-tags distcleancheck distdir dvi \
|
||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
|
||||
clean-generic clean-recursive ctags ctags-recursive dist \
|
||||
dist-all dist-bzip2 dist-gzip distcheck distclean \
|
||||
distclean-generic distclean-hdr distclean-recursive \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am dvi-recursive info info-am info-recursive install \
|
||||
install-am install-data install-data-am install-data-recursive \
|
||||
install-exec install-exec-am install-exec-recursive \
|
||||
@@ -472,9 +579,9 @@ uninstall-info: uninstall-info-recursive
|
||||
installdirs installdirs-am installdirs-recursive \
|
||||
maintainer-clean maintainer-clean-generic \
|
||||
maintainer-clean-recursive mostlyclean mostlyclean-generic \
|
||||
mostlyclean-recursive tags tags-recursive uninstall \
|
||||
uninstall-am uninstall-info-am uninstall-info-recursive \
|
||||
uninstall-recursive
|
||||
mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
|
||||
ps-recursive tags tags-recursive uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-info-recursive uninstall-recursive
|
||||
|
||||
|
||||
.PHONY: localcheck remotecheck
|
||||
|
||||
+402
-4
@@ -1,17 +1,403 @@
|
||||
Changes since 1.11.4:
|
||||
Changes since 1.11.16:
|
||||
**********************
|
||||
|
||||
* Fixed a security hole by which users with read only access could gain
|
||||
write access. The Common Vulnerabilities and Exposures project (cve.mitre.org)
|
||||
has assigned the name CAN-2003-0015 to this issue. See
|
||||
SERVER SECURITY FIXES
|
||||
|
||||
* Thanks to Stefan Esser & Sebastian Krahmer, several potential security
|
||||
problems have been fixed. The ones which were considered dangerous enough
|
||||
to catalogue were assigned issue numbers CAN-2004-0416, CAN-2004-0417, &
|
||||
CAN-2004-0418 by the Common Vulnerabilities and Exposures Project. Please
|
||||
see <http://www.cve.mitre.org> for more information.
|
||||
|
||||
* A potential buffer overflow vulnerability in the server has been fixed.
|
||||
This addresses the Common Vulnerabilities and Exposures Project's issue
|
||||
#CAN-2004-0414. Please see <http://www.cve.mitre.org> for more information.
|
||||
|
||||
Changes from 1.11.15 to 1.11.16:
|
||||
********************************
|
||||
|
||||
SERVER SECURITY FIXES
|
||||
|
||||
* A potential buffer overflow vulnerability in the server has been fixed.
|
||||
Prior to this patch, a malicious client could potentially use carefully
|
||||
crafted server requests to run arbitrary programs on the CVS server machine.
|
||||
This addresses the Common Vulnerabilities and Exposures Project's issue
|
||||
#CAN-2004-0396. Please see <http://www.cve.mitre.org> for more information.
|
||||
|
||||
BUG FIXES
|
||||
|
||||
* The Microsoft Visual C++ workspace and project files have been repaired and
|
||||
regenerated with MSVC++ 6.0.
|
||||
|
||||
* The cvs.1 man page is now generated automatically from a section of the CVS
|
||||
Manual.
|
||||
|
||||
* Thanks to a report from Mark Andrews at the Internet Systems Consortium, the
|
||||
:ext: connection method no longer relies on a transparent transport that uses
|
||||
an argument processor that can handle arbitrary ordering of options and other
|
||||
arguments when using a username other than the caller's.
|
||||
|
||||
* Thanks to Ken Raeburn at MIT, directory deletion, whether via `cvs release'
|
||||
or empty directory pruning, now works on network shares under Windows XP.
|
||||
|
||||
Changes from 1.11.14 to 1.11.15:
|
||||
********************************
|
||||
|
||||
SERVER SECURITY ISSUES
|
||||
|
||||
* Piped checkouts of paths above $CVSROOT no longer work. Previously, clients
|
||||
could have requested the contents of RCS archive files anywhere on a CVS
|
||||
server. This addresses CVE issue CAN-2004-0405. Please see
|
||||
<http://www.cve.mitre.org> for more information.
|
||||
|
||||
CLIENT SECURITY ISSUES
|
||||
|
||||
* Clients now check paths from the server to verify that they are within one of
|
||||
the sandboxes the user requested be updated. Previously, a trojan server
|
||||
could have written or overwritten files anywhere the user had access,
|
||||
presenting a serious security risk. This addresses CVE issue CAN-2004-1080.
|
||||
Please see <http://www.cve.mitre.org> for more information.
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Method options (used by WinCVS & CVS 1.12.7+) in CVSROOTs are ignored.
|
||||
|
||||
* Configure no longer checks the $TMPDIR, $TMP, & $TEMP variables to set the
|
||||
default temporary directory.
|
||||
|
||||
* CVS on Cygwin correctly handles X:\ style paths.
|
||||
|
||||
* Import now uses backslash rather than slash on Windows when checking for
|
||||
"CVS" directories to ignore in import commands.
|
||||
|
||||
* Relative paths containing up-references (`..') should now work in
|
||||
client/server mode (client fix).
|
||||
|
||||
* A race condition between the ordering of messages from CVS and messages from
|
||||
called scripts in client/server mode has been removed (server fix).
|
||||
|
||||
* Resurrected files now get their modes and timestamps set correctly and a
|
||||
longstanding bug involving resurrection of an uncommitted removal has been
|
||||
fixed (server fix).
|
||||
|
||||
* Some resurrection (cvs add) status messages have changed slightly.
|
||||
|
||||
* `cvs release' now works with Kerberos or GSSAPI encryption enabled (server
|
||||
fix).
|
||||
|
||||
* File resurrection from a previously existing revision no longer just reports
|
||||
that it works (server fix).
|
||||
|
||||
* Misc error & status message corrections.
|
||||
|
||||
* Diffing of locally added files against arbitrary revisions in an RCS archive
|
||||
is now allowed when a file of the same name exists or used to exist on some
|
||||
branch (server fix).
|
||||
|
||||
* Misc documentation fixes.
|
||||
|
||||
Changes from 1.11.13 to 1.11.14:
|
||||
********************************
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Imports will now always ignore directories and files named `CVS' to avoid
|
||||
violating assumptions made by other parts of CVS.
|
||||
|
||||
* A problem with `cvs release' of subdirs that could corrupt CVS/Entries files
|
||||
has been fixed (client/server).
|
||||
|
||||
* The CVS server's protocol check for unused data from the client is no longer
|
||||
called automatically at program exit in order to avoid potential recursive
|
||||
calls to error when the first close is due to memory allocation or similar
|
||||
problems that cause calls to error() to fail. The check is still made when
|
||||
the server program exits normally.
|
||||
|
||||
* The spec file has been updated to work with more recent versions of RPM.
|
||||
|
||||
* Several memory leaks have been plugged (client/server).
|
||||
|
||||
DEVELOPER ISSUES
|
||||
|
||||
* Misc cosmetic, readability, and commenting fixes.
|
||||
|
||||
Changes from 1.11.12 to 1.11.13:
|
||||
********************************
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Several memory leaks have been plugged.
|
||||
|
||||
* Thanks to Ville Skyttä the man page has a few less spelling errors and is
|
||||
slightly more accurate.
|
||||
|
||||
* An unlikely potential segfault when using the :fork: connection method has
|
||||
been fixed.
|
||||
|
||||
* The CVS server has had the protocol check for unused data from the client
|
||||
partially restored.
|
||||
|
||||
* A fix has been included that should avoid a very rare race condition that
|
||||
could cause a CVS server to exit with a "broken pipe" message.
|
||||
|
||||
* A minor problem with the nmake build file that was preventing the source from
|
||||
compiling under Windows has been fixed.
|
||||
|
||||
* Tests have been added to the test suite.
|
||||
|
||||
DEVELOPER ISSUES
|
||||
|
||||
* Misc cosmetic, readability, and commenting fixes.
|
||||
|
||||
Changes from 1.11.11 to 1.11.12:
|
||||
********************************
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Infinite alias loops in the modules file are now checked for and avoided.
|
||||
|
||||
* Clients on case insensitive systems now preserve the case of directories in
|
||||
CVS/Entries, in addition to files, for use in communications with the CVS
|
||||
server.
|
||||
|
||||
* Some previously untested behavior is now being tested.
|
||||
|
||||
* Server support for case insensitive clients has been removed in favor of the
|
||||
server relying on the client to preserve the case of checked out files, as
|
||||
per the CVS client/server protocol spec. This is not as drastic as it may
|
||||
sound, as all of the current tests still pass without modification when run
|
||||
from a case insensitive client to a case sensitive server. This change
|
||||
disables little previous functionality, enables access to more of the
|
||||
possible namespace to users on systems with case insensitive file systems,
|
||||
fixes a few bugs, and in the end this should provide a major stability
|
||||
improvement.
|
||||
|
||||
* Thanks to Ville Skyttä the man page is a bit more accurate.
|
||||
|
||||
* Thanks to Ville Skyttä some unused variables were removed from the log_accum
|
||||
Perl script in contrib.
|
||||
|
||||
* Thanks to Alexey Mahotkin, a bug that prevented CVS from being compiled with
|
||||
Kerberos 4 authentication enabled has been fixed.
|
||||
|
||||
* A minor bug that caused CVS to fail to report an inifinte alias loop in the
|
||||
modules file when portions of the alias definition contained trailing slashes
|
||||
has been fixed.
|
||||
|
||||
* A bug in the gzip code that could cause heap corruption and segfaults in CVS
|
||||
servers talking to clients less than 1.8 and some modern third-party CVS
|
||||
clients has been fixed.
|
||||
|
||||
* mktemp.sh is now included with the source distribution so that the rcs2log
|
||||
and cvsbug executables may be run on systems which do not contain an
|
||||
implementation of mktemp.
|
||||
|
||||
* Misc documentation fixes.
|
||||
|
||||
Changes from 1.11.10 to 1.11.11:
|
||||
********************************
|
||||
|
||||
SERVER SECURITY ISSUES
|
||||
|
||||
* pserver can no longer be configured to run as root via the
|
||||
$CVSROOT/CVSROOT/passwd file, so if your passwd file is compromised, it no
|
||||
longer leads directly to a root hack. Attempts to root will also be logged
|
||||
via the syslog.
|
||||
|
||||
Changes from 1.11.9 to 1.11.10:
|
||||
*******************************
|
||||
|
||||
SERVER SECURITY ISSUES
|
||||
|
||||
* Malformed module requests could cause the CVS server to attempt to create
|
||||
directories and possibly files at the root of the filesystem holding the CVS
|
||||
repository. Filesystem permissions usually prevent the creation of these
|
||||
misplaced directories, but nevertheless, the CVS server now rejects the
|
||||
malformed requests.
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Case insensitive clients using a case sensitive server can now use a
|
||||
`cvs rm -f file; cvs add FILE' command sequence to add a file with the same
|
||||
name in a new case.
|
||||
|
||||
* CVSROOTs which contain a symlink to a real repository should work.
|
||||
|
||||
* The configure script now tests whether it is building CVS on a case
|
||||
insensitive file system. If it is, CVS assumes that all file systems on this
|
||||
platform will be case insensitive. This is useful for getting the case
|
||||
insensitivity flag set correctly when compiling on Mac OS X and under Cygwin
|
||||
on Windows. Autodetection can be overridden using the
|
||||
--disable-case-sensitivity and --enable-case-sensitivity arguments to
|
||||
configure.
|
||||
|
||||
* A behavior change in `cvs up -jrev1 -jrev2' for modified files with a base
|
||||
revision of rev2 (ie, checked-out version matches rev2 and file has been
|
||||
modified). The operation is no longer ignored and instead is passed to
|
||||
diff3. This will potentially re-apply the diffs between the two revisions to
|
||||
a modified local file. Status messages like from a standard merge have also
|
||||
been added when the file would not or does not change due to this merge
|
||||
request ("[file] already contains the changes between [revisions]...").
|
||||
|
||||
* A bug which could stop `cvs admin -mTAG:message' from recursing has been
|
||||
fixed.
|
||||
|
||||
* Misc documentation cleanup and fixes.
|
||||
|
||||
* Some of the contrib scripts, some of the documentation, and sanity.sh were
|
||||
modified to use and recommend more portable commands rather than using and
|
||||
recommending commands which were not compatible with the POSIX 1003.1-2001
|
||||
specification.
|
||||
|
||||
DEVELOPER ISSUES
|
||||
|
||||
* A new set of tests to test issues specific to case insensitive clients and
|
||||
servers has also been added.
|
||||
|
||||
* Support has been added to the test suite to support testing over a :ext: link
|
||||
to another machine, subject to some stringent requirements. This support can
|
||||
be used, for instance, to test the operation of a case insensitive client
|
||||
against a case sensitive server. Please see the comments in TEST and the
|
||||
src/sanity.sh test script itself for more.
|
||||
|
||||
* We've standardized on Automake 1.7.9 to get a bug fix. See the note below
|
||||
on the Autoconf upgrade for more details.
|
||||
|
||||
* We've standardized on Autoconf version 2.58 to avoid a bug and get at a few
|
||||
new macros. Again, this should only really affect developers, though it is
|
||||
possible that CVS will now compile on a few new platforms. Please see the
|
||||
section of the INSTALL file about using the autotools if you are compiling
|
||||
CVS yourself.
|
||||
|
||||
Changes from 1.11.8 to 1.11.9:
|
||||
|
||||
* CVS now knows how to report, as well as record, `P' record types.
|
||||
|
||||
* When running the `cvs history' command, clients will now send the
|
||||
long-accepted `-e' option, for all records, rather than explicitly requesting
|
||||
`P' record types, a request which servers prior to 1.11.7 will reject with a
|
||||
fatal error message.
|
||||
|
||||
* A problem with locating files requested by case insensitive clients which was
|
||||
accidentally introduced in 1.11.6 as part of a fix for a data loss problem
|
||||
involving `cvs add's from case insensitive clients has been fixed. The
|
||||
relevant error message was `cvs [<command> aborted]: filE,v is ambiguous;
|
||||
could mean FILE,v or file,v'.
|
||||
|
||||
* Attempts to use the global `-l' option, removed from both client and server
|
||||
as of version 1.11.6, will now elicit a warning rather than a fatal error
|
||||
from the server.
|
||||
|
||||
Changes from 1.11.7 to 1.11.8:
|
||||
|
||||
* A problem in the CVS getpass library that could cause passwords to echo on
|
||||
some systems has been fixed.
|
||||
|
||||
Changes from 1.11.6 to 1.11.7:
|
||||
|
||||
* A segfault that could occur in very rare cases where the stat of a file
|
||||
failed during a diff has been fixed.
|
||||
|
||||
* Any user with write privleges to the CVSROOT/checkoutlist file could pass
|
||||
arbitrary format strings directly through to a printf function. This was
|
||||
probably bad and has been fixed. White space at the beginning of error strings
|
||||
in checkoutlist is now ignored properly.
|
||||
|
||||
* In client/server mode, most messages from CVS now contain the actual
|
||||
command name rather than the generic "server".
|
||||
|
||||
* A long-standing bug that prevented most client/server updates from being
|
||||
logged in the history file has been fixed.
|
||||
|
||||
* Updates done via a patch ("P" status) are now logged in the history file
|
||||
by default and the corresponding "P" history record type is now documented.
|
||||
If you're setting the LogHistory option in your CVSROOT/config file, you may
|
||||
want to add "P" to the list of record types.
|
||||
|
||||
* CVS now will always compile and its own getpass() function (originally from
|
||||
GNULIB) in favor of any system one that may exist. This avoids some problems
|
||||
with long passwords on some systems and updates us to POSIX.2 compliance, since
|
||||
getpass() was removed from the POSIX.2 specification.
|
||||
|
||||
* A bug that allowed a write lock to be created in a directory despite
|
||||
there being existing read locks when using LockDir in CVSROOT/config has
|
||||
been fixed.
|
||||
|
||||
* A bug with short patches (`rdiff -s') which caused rdiff to sometimes report
|
||||
differences that did not exist has been fixed.
|
||||
|
||||
* Some minor corrections were made to the diff code to keep diff & rdiff from
|
||||
printing diff headers with empty change texts when two files have different
|
||||
revision numbers but the same content.
|
||||
|
||||
* The global '-l' option, which suppressed history logging, has been removed
|
||||
from both client and server.
|
||||
|
||||
Changes from 1.11.5 to 1.11.6:
|
||||
|
||||
* A warning message is now issued if an administrative file contains
|
||||
more than one DEFAULT entry.
|
||||
|
||||
* An error running a verifymsg script (such as referencing an unset user
|
||||
variable or the script not existing) now causes the verification to
|
||||
fail.
|
||||
|
||||
* Errors in administrative files commands (like unset user variables)
|
||||
are no longer reported unless the command is actually executed.
|
||||
|
||||
* When a file is initially checked out, its last access time is now set
|
||||
to the current time rather than being set to the time the file was last
|
||||
checked in like the modification time is.
|
||||
|
||||
* The Checkin.prog and Update.prog functionality has been removed. This
|
||||
fuctionality previously allowed executables to be specified in the modules file
|
||||
to be run at update and checkin time, but users could edit these files on a per
|
||||
workspace basis, creating a security hole.
|
||||
|
||||
* contrib/rcs2log and src/cvsbug now use the BSD mktemp program to create
|
||||
their temp files and directories on systems which provide it.
|
||||
|
||||
* Corrected the path in a failed write error message.
|
||||
|
||||
* Autoconf and Automake are no longer run automatically unless you run
|
||||
configure with --enable-maintainer-mode. Accordingly, noautomake.sh is
|
||||
no longer needed and has been removed.
|
||||
|
||||
* We've standardized on Automake version 1.7.5 and Autoconf version 2.57 to get
|
||||
at a few new macros. Again, this should only really affect developers. See
|
||||
the section of the INSTALL file about using the autotools if you are compiling
|
||||
CVS yourself.
|
||||
|
||||
Changes from 1.11.4 to 1.11.5:
|
||||
|
||||
* Fixed a security hole in the CVS server by which users with read only access
|
||||
could gain write access. This issue does not affect client builds. The
|
||||
Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the
|
||||
name CAN-2003-0015 to this issue. See
|
||||
<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0015> for more
|
||||
information.
|
||||
|
||||
* Fixed some bugs where revision numbers starting with 0 (like 0.3)
|
||||
weren't correctly handled. (CVS doesn't normally use such revision
|
||||
numbers, but users may be able to force it to do so and old RCS files
|
||||
might.)
|
||||
|
||||
Changes from 1.11.3 to 1.11.4:
|
||||
|
||||
* Some minor changes to allow the code to compile on Windows platforms.
|
||||
|
||||
Changes from 1.11.2 to 1.11.3:
|
||||
|
||||
* The tag/rtag code has been fixed to once again lock just a single
|
||||
directory at a time.
|
||||
|
||||
* There was a bug where certain error conditions could cause the server
|
||||
to go into an infinite loop. There was also a bug that caused a
|
||||
compressed connection from an older client to hang on shutdown. These
|
||||
bugs have been fixed.
|
||||
|
||||
* Fixed a bug that caused the server to reject most watch commands.
|
||||
|
||||
* When waiting for another user's lock, the message timestamps are now
|
||||
in UTC rather than the server's local time.
|
||||
|
||||
@@ -24,6 +410,12 @@ sanity.sh to use Autotest and Autoshell. Again, this should only really affect
|
||||
developers. See the section of the INSTALL file about using the autotools if
|
||||
you are compiling CVS yourself.
|
||||
|
||||
* Fixed a bug in the log/rlog code when a revision range crosses a
|
||||
branch point.
|
||||
|
||||
* Fixed a bug where filenames starting with - would be misinterpreted as
|
||||
options when using client/server mode.
|
||||
|
||||
Changes from 1.11.1p1 to 1.11.2:
|
||||
|
||||
* There is a new feature, enabled by RereadLogAfterVerify in CVSROOT/config,
|
||||
@@ -62,6 +454,12 @@ Changes from 1.11.1 to 1.11.1p1:
|
||||
|
||||
Changes from 1.11 to 1.11.1:
|
||||
|
||||
* There was a locking bug in the tag/rtag code that could lose changes
|
||||
made to a file while the tag operation was in progress. This has been
|
||||
fixed, but all of the directories being tagged are now locked for the
|
||||
entire duration of the tag operation rather than only one directory at a
|
||||
time.
|
||||
|
||||
* The "cvs diff" command now accepts the -y/--side=by-side and -T/
|
||||
--initial-tab options. (To use these options with a remote repository,
|
||||
both the client and the server must support them.)
|
||||
|
||||
+4
-85
@@ -3,6 +3,9 @@
|
||||
Copyright (c) 1993-1994 Brian Berliner
|
||||
Copyright (c) 1992 Brian Berliner and Jeff Polk
|
||||
Copyright (c) 1989-1992, Brian Berliner
|
||||
Copyright (c) 1998-2004 Free Software Foundation,
|
||||
Derek Price,
|
||||
& Ximbiot <http://ximbiot.com>
|
||||
All Rights Reserved
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -75,7 +78,6 @@ Installation:
|
||||
|
||||
Please read the INSTALL file for installation instructions. Brief summary:
|
||||
|
||||
$ ./noautomake.sh --noautoconf
|
||||
$ ./configure
|
||||
$ make
|
||||
(run the regression tests if desired)
|
||||
@@ -112,87 +114,4 @@ then it will be possible to create one.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Credits:
|
||||
|
||||
The conflict-resolution algorithms and much of the administrative file
|
||||
definitions of CVS were based on the original package written by Dick Grune
|
||||
at Vrije Universiteit in Amsterdam <[email protected]>, and posted to
|
||||
comp.sources.unix in the volume 6 release sometime in 1986. This original
|
||||
version was a collection of shell scripts. I am thankful that Dick made
|
||||
his work available.
|
||||
|
||||
Brian Berliner from Prisma, Inc. (now at Sun Microsystems, Inc.)
|
||||
<[email protected]> converted the original CVS shell scripts into reasonably
|
||||
fast C and added many, many features to support software release control
|
||||
functions. See the manual page in the "man" directory. A copy of the
|
||||
USENIX article presented at the Winter 1990 USENIX Conference, Washington
|
||||
D.C., is included in the "doc" directory.
|
||||
|
||||
Jeff Polk from BSDI <[email protected]> converted the CVS 1.2
|
||||
sources into much more readable and maintainable C code. He also added a
|
||||
whole lot of functionality and modularity to the code in the process.
|
||||
See the bottom of the NEWS file (from about 1992).
|
||||
|
||||
david d `zoo' zuhn <[email protected]> contributed the working base code
|
||||
for CVS 1.4 Alpha. His work carries on from work done by K. Richard Pixley
|
||||
and others at Cygnus Support. The CVS 1.4 upgrade is due in large part to
|
||||
Zoo's efforts.
|
||||
|
||||
David G. Grubbs <[email protected]> contributed the CVS "history" and "release"
|
||||
commands. As well as the ever-so-useful "-n" option of CVS which tells CVS
|
||||
to show what it would do, without actually doing it. He also contributed
|
||||
support for the .cvsignore file.
|
||||
|
||||
The Free Software Foundation (GNU) contributed most of the portability
|
||||
framework that CVS now uses. This can be found in the "configure" script,
|
||||
the Makefile's, and basically most of the "lib" directory.
|
||||
|
||||
K. Richard Pixley, Cygnus Support <[email protected]> contributed many bug
|
||||
fixes/enhancement as well as completing early reviews of the CVS 1.3 manual
|
||||
pages.
|
||||
|
||||
Roland Pesch, then of Cygnus Support <[email protected]> contributed
|
||||
brand new cvs(1) and cvs(5) manual pages. Thanks to him for saving us
|
||||
from poor use of our language!
|
||||
|
||||
Paul Sander, HaL Computer Systems, Inc. <[email protected]> wrote and
|
||||
contributed the code in lib/sighandle.c. I added support for POSIX, BSD,
|
||||
and non-POSIX/non-BSD systems.
|
||||
|
||||
Jim Kingdon and others at Cygnus Support <[email protected]> wrote the
|
||||
remote repository access code.
|
||||
|
||||
There have been many, many contributions not listed here. Consult the
|
||||
ChangeLog files in each directory for a more complete idea.
|
||||
|
||||
In addition to the above contributors, the following Beta testers
|
||||
deserve special mention for their support. This is only a partial
|
||||
list; if you have helped in this way and would like to be listed, let
|
||||
bug-cvs know (as described in the Cederqvist manual).
|
||||
|
||||
Mark D. Baushke <[email protected]>
|
||||
Per Cederqvist <[email protected]>
|
||||
J.T. Conklin <[email protected]>
|
||||
Vince DeMarco <[email protected]>
|
||||
Paul Eggert <[email protected]>
|
||||
Lal George <[email protected]>
|
||||
Dean E. Hardi <[email protected]>
|
||||
Mike Heath <[email protected]>
|
||||
Jim Kingdon <[email protected]>
|
||||
Bernd Leibing <[email protected]>
|
||||
Benedict Lofstedt <[email protected]>
|
||||
Dave Love <[email protected]>
|
||||
Robert Lupton the Good <[email protected]>
|
||||
Tom McAliney <[email protected]>
|
||||
Eberhard Mattes <[email protected]>
|
||||
Jim Meyering <[email protected]>
|
||||
Thomas Mohr <[email protected]>
|
||||
Thomas Nilsson <[email protected]>
|
||||
Raye Raskin <[email protected]>
|
||||
Harlan Stenn <[email protected]>
|
||||
Gunnar Tornblom <[email protected]>
|
||||
Greg A. Woods <[email protected]>
|
||||
|
||||
Many contributors have added code to the "contrib" directory. See the
|
||||
README file there for a list of what is available. There is also a
|
||||
contributed GNU Emacs CVS-mode in tools/pcl-cvs.
|
||||
Credits: See the AUTHORS file.
|
||||
+9
-2
@@ -206,6 +206,10 @@ miss, but here are a few important ones. I'm leaving off long explanations
|
||||
after the first few since it probably gives you the idea and the data is in
|
||||
sanity.sh.
|
||||
|
||||
Note that the boolean variables contain shell commands which return true or
|
||||
false when executed and are intended to be used like,
|
||||
"if $remote; then ... ; else ... ; fi"
|
||||
|
||||
|
||||
* $testdir = the directory this test is taking place in
|
||||
(CVSROOT=$testdir/cvsroot or CVSROOT=:fork:$testdir/cvsroot)
|
||||
@@ -216,8 +220,11 @@ sanity.sh.
|
||||
* $username = regexp to match a username
|
||||
* $hostname = regexp to match a hostname
|
||||
* $PROG = regexp to match progname in CVS error messages
|
||||
* $remote = 'yes' or 'no', depending on whether the script is running with
|
||||
a remote CVSROOT
|
||||
* $remote = ':' (true) or 'false', depending on whether the script is
|
||||
running with a remote CVSROOT
|
||||
* $keep = ':' (true) or 'false'. When set, the first test run will
|
||||
leave any files and directories it created in $testdir and
|
||||
exit when complete.
|
||||
|
||||
And, of course, some characters like '.' in regexps need to be '\' escaped when
|
||||
you mean them literally. Some characters may be interpreted by the shell,
|
||||
|
||||
+15
-36
@@ -6,9 +6,10 @@ The "TODO" file! -*-Indented-Text-*-
|
||||
(If done, this should be configurable via commitinfo or some new
|
||||
config file -kingdon, Jun 1995).
|
||||
|
||||
30. Add "rdiff" program option to the modules database (and "diff"
|
||||
too?). (perhaps should think a little harder about what this is
|
||||
trying to accomplish and what the best way is -kingdon, Jul 1997).
|
||||
30. Add "rdiff" & "rtag" program options to the modules database. These
|
||||
commands seem hard to use since these commands deal directly with the
|
||||
RCS ,v files. (perhaps should think a little harder about what this is
|
||||
trying to accomplish and what the best way is -kingdon, Jul 1997).
|
||||
|
||||
31. Think hard about ^C recovery.
|
||||
One particular issue: RCS removes the ,foo.c, file on ^C and CVS
|
||||
@@ -26,10 +27,6 @@ trying to accomplish and what the best way is -kingdon, Jul 1997).
|
||||
PRCS 1.0 was particularly bad the way it handled the "invisible
|
||||
state", but 1.2 is significantly better.
|
||||
|
||||
45. Consider enhancing the "rdiff" and "tag" (rtag??) command support in
|
||||
the module database -- they seem hard to use since these commands
|
||||
deal directly with the RCS ,v files.
|
||||
|
||||
49. cvs xxx commands should be able to deal with files in other
|
||||
directories. I want to do a cvs add foo/bar.c.
|
||||
[[ most commands now use the generic recursion processor, but not all;
|
||||
@@ -56,8 +53,8 @@ trying to accomplish and what the best way is -kingdon, Jul 1997).
|
||||
66. Length of the CVS temporary files must be limited to 14 characters for
|
||||
System-V stupid support. As well as the length on the CVS.adm files.
|
||||
|
||||
72. Consider re-design of the module -o, -i, -t options to use the file
|
||||
system more intuitively.
|
||||
72. Consider re-design of the module -t options to use the file system more
|
||||
intuitively.
|
||||
|
||||
73. Consider an option (in .cvsrc?) to automatically add files that are new
|
||||
and specified to commit.
|
||||
@@ -261,10 +258,6 @@ trying to accomplish and what the best way is -kingdon, Jul 1997).
|
||||
This behavior was not particularly popular and has been since
|
||||
reverted.
|
||||
|
||||
Note also RELATIVE_REPOS in options.h; it needs to be set for
|
||||
changing CVS/Root (not CVS/Repository) to be sufficient in the
|
||||
case where the directory has changed.
|
||||
|
||||
This whole area is a rather bad pile of individual decisions which
|
||||
accumulated over time, some of them probably bad decisions with
|
||||
hindsight. But we didn't get into this mess overnight, and we're
|
||||
@@ -787,10 +780,6 @@ send differences instead of entire files. In the degenerate case
|
||||
(e.g. "cvs diff" without arguments) the required network traffic is
|
||||
reduced to zero, and the client need not even contact the server.
|
||||
|
||||
196. Using a CVSROOT with a trailing slash will confuse CVS. I think
|
||||
we need to add a call to strip_trailing_slashes in root.c
|
||||
(parse_cvsroot), but I haven't considered all of the ramifications.
|
||||
|
||||
197. Analyze the difference between CVS_UNLINK & unlink_file. As far as I
|
||||
can tell, unlink_file aborts in noexec mode and CVS_UNLINK does not. I'm not
|
||||
sure it would be possible to remove even the use of temp files in noexec mode,
|
||||
@@ -825,9 +814,6 @@ and other non-canonical paths confuse CVS. Most of the cases that do
|
||||
work are handled on an ad-hoc basis. We need to come up with a coherent
|
||||
strategy to address path canonicalization and apply it consistently.
|
||||
|
||||
206. Restore directory-at-a-time locking for tag operations instead of
|
||||
locking the entire tree.
|
||||
|
||||
208. Merge enhancements to the diff package back into the original GNU source.
|
||||
|
||||
209. Go through this file and try to:
|
||||
@@ -862,24 +848,12 @@ glibc version.
|
||||
216. Avoid command-line keyword expansion modes overriding binary mode
|
||||
(or make binary mode completely separate from keyword expansion mode).
|
||||
|
||||
217. Fix assertion failures that occur when CVSROOT is a symlink to the
|
||||
actual repository location.
|
||||
|
||||
218. Fix "checkout -d ." in client/server mode.
|
||||
|
||||
219. Fix "checkout -d multi/level/dir" in client/server mode.
|
||||
|
||||
220. Send correct Max-dotdot in client/server mode (broken by change to
|
||||
support multiple repositories).
|
||||
|
||||
221. Handle spaces in file/directory names. (Most, if not all, of the
|
||||
internal infrastructure already handles them correctly, but most of the
|
||||
administrative file interfaces do not.)
|
||||
|
||||
222. Fix assertion failure (*rcsnode == NULL in commit.c, line 2056)
|
||||
when adding a file from a case-insensitive client that matches an Attic
|
||||
file with case differences.
|
||||
|
||||
223. Internationalization support. This probably means using some kind
|
||||
of universal character set (ISO 10646?) internally and converting on
|
||||
input and output, which opens the locale can of worms.
|
||||
@@ -899,13 +873,18 @@ local time string according to the localization settings before printing it.
|
||||
|
||||
225. Add support for --allow-root to server command.
|
||||
|
||||
226. Add support for upgrading read locks to write locks and use it to
|
||||
avoid holding potentially long-term write locks (for example, in tag and
|
||||
commit).
|
||||
|
||||
227. 'cvs release' should use the CVS/Root in the directory being released
|
||||
when such is specified rather than $CVSROOT. In my work directory with no CVS
|
||||
dir, a release of subdirectories causes the released projects to be tested
|
||||
against my $CVSROOT environment variable, which often isn't correct but which
|
||||
can complete without generating error messages if the project also exists in
|
||||
the other CVSROOT. This happens a lot with my copies of the ccvs project.
|
||||
|
||||
228. Consider adding -d to commit ala ci.
|
||||
|
||||
229. Improve the locking code to use a random delay with exponential
|
||||
backoff ala Ethernet and separate the notification interval from the
|
||||
wait interval.
|
||||
|
||||
230. Support for options like compression as part of the CVSROOT might be
|
||||
nice. This should be fairly easy to implement now using the method options.
|
||||
@@ -85,7 +85,7 @@ AC_MSG_RESULT([$acx_gssapi_cv_gssapi])
|
||||
# Set up GSSAPI includes for later use. We don't bother to check for
|
||||
# $acx_gssapi_cv_gssapi=no here since that will be caught later.
|
||||
#
|
||||
if test x$acx_gssapi_cv_gssapi = yes; then
|
||||
if test x$acx_gssapi_cv_gssapi = xyes; then
|
||||
# no special includes necessary
|
||||
GSSAPI_INCLUDES=""
|
||||
else
|
||||
@@ -210,8 +210,14 @@ when using GSSAPI.])
|
||||
#
|
||||
AC_SEARCH_LIBS([__dn_expand], [resolv])
|
||||
|
||||
#
|
||||
# crypt Needed by roken under FreeBSD 4.6.
|
||||
#
|
||||
AC_SEARCH_LIBS([crypt], [crypt])
|
||||
|
||||
#
|
||||
# roken Heimdal K 0.3d -lresolv
|
||||
# roken FreeBSD 4.6 -lcrypt
|
||||
#
|
||||
AC_SEARCH_LIBS([roken_gethostbyaddr], [roken])
|
||||
|
||||
@@ -261,3 +267,85 @@ when using GSSAPI.])
|
||||
AC_SEARCH_LIBS([gss_import_name], [gssapi_krb5 gssapi])
|
||||
fi
|
||||
])dnl
|
||||
|
||||
|
||||
|
||||
# size_max.m4 serial 2
|
||||
dnl Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN([gl_SIZE_MAX],
|
||||
[
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
dnl First test whether the system already has SIZE_MAX.
|
||||
AC_MSG_CHECKING([for SIZE_MAX])
|
||||
result=
|
||||
AC_EGREP_CPP([Found it], [
|
||||
#include <limits.h>
|
||||
#if HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#ifdef SIZE_MAX
|
||||
Found it
|
||||
#endif
|
||||
], result=yes)
|
||||
if test -z "$result"; then
|
||||
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
|
||||
dnl than the type 'unsigned long'.
|
||||
dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
|
||||
dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
|
||||
_AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
|
||||
[#include <stddef.h>], result=?)
|
||||
if test "$fits_in_uint" = 1; then
|
||||
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
|
||||
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
|
||||
AC_TRY_COMPILE([#include <stddef.h>
|
||||
extern size_t foo;
|
||||
extern unsigned long foo;
|
||||
], [], fits_in_uint=0)
|
||||
fi
|
||||
if test -z "$result"; then
|
||||
if test "$fits_in_uint" = 1; then
|
||||
result="$res_hi$res_lo"U
|
||||
else
|
||||
result="$res_hi$res_lo"UL
|
||||
fi
|
||||
else
|
||||
dnl Shouldn't happen, but who knows...
|
||||
result='~(size_t)0'
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$result])
|
||||
if test "$result" != yes; then
|
||||
AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
|
||||
[Define as the maximum value of type 'size_t', if the system doesn't define it.])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
|
||||
# xsize.m4 serial 3
|
||||
dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
AC_DEFUN([gl_XSIZE],
|
||||
[
|
||||
dnl Prerequisites of lib/xsize.h.
|
||||
AC_REQUIRE([gl_SIZE_MAX])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
])
|
||||
Vendored
+249
-97
@@ -1,6 +1,6 @@
|
||||
# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
|
||||
# generated automatically by aclocal 1.7.9 -*- Autoconf -*-
|
||||
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -98,7 +98,7 @@ AC_MSG_RESULT([$acx_gssapi_cv_gssapi])
|
||||
# Set up GSSAPI includes for later use. We don't bother to check for
|
||||
# $acx_gssapi_cv_gssapi=no here since that will be caught later.
|
||||
#
|
||||
if test x$acx_gssapi_cv_gssapi = yes; then
|
||||
if test x$acx_gssapi_cv_gssapi = xyes; then
|
||||
# no special includes necessary
|
||||
GSSAPI_INCLUDES=""
|
||||
else
|
||||
@@ -223,8 +223,14 @@ when using GSSAPI.])
|
||||
#
|
||||
AC_SEARCH_LIBS([__dn_expand], [resolv])
|
||||
|
||||
#
|
||||
# crypt Needed by roken under FreeBSD 4.6.
|
||||
#
|
||||
AC_SEARCH_LIBS([crypt], [crypt])
|
||||
|
||||
#
|
||||
# roken Heimdal K 0.3d -lresolv
|
||||
# roken FreeBSD 4.6 -lcrypt
|
||||
#
|
||||
AC_SEARCH_LIBS([roken_gethostbyaddr], [roken])
|
||||
|
||||
@@ -275,12 +281,94 @@ when using GSSAPI.])
|
||||
fi
|
||||
])dnl
|
||||
|
||||
|
||||
|
||||
# size_max.m4 serial 2
|
||||
dnl Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN([gl_SIZE_MAX],
|
||||
[
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
dnl First test whether the system already has SIZE_MAX.
|
||||
AC_MSG_CHECKING([for SIZE_MAX])
|
||||
result=
|
||||
AC_EGREP_CPP([Found it], [
|
||||
#include <limits.h>
|
||||
#if HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#ifdef SIZE_MAX
|
||||
Found it
|
||||
#endif
|
||||
], result=yes)
|
||||
if test -z "$result"; then
|
||||
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
|
||||
dnl than the type 'unsigned long'.
|
||||
dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
|
||||
dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
|
||||
_AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
|
||||
[#include <stddef.h>], result=?)
|
||||
if test "$fits_in_uint" = 1; then
|
||||
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
|
||||
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
|
||||
AC_TRY_COMPILE([#include <stddef.h>
|
||||
extern size_t foo;
|
||||
extern unsigned long foo;
|
||||
], [], fits_in_uint=0)
|
||||
fi
|
||||
if test -z "$result"; then
|
||||
if test "$fits_in_uint" = 1; then
|
||||
result="$res_hi$res_lo"U
|
||||
else
|
||||
result="$res_hi$res_lo"UL
|
||||
fi
|
||||
else
|
||||
dnl Shouldn't happen, but who knows...
|
||||
result='~(size_t)0'
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$result])
|
||||
if test "$result" != yes; then
|
||||
AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
|
||||
[Define as the maximum value of type 'size_t', if the system doesn't define it.])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
|
||||
# xsize.m4 serial 3
|
||||
dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
AC_DEFUN([gl_XSIZE],
|
||||
[
|
||||
dnl Prerequisites of lib/xsize.h.
|
||||
AC_REQUIRE([gl_SIZE_MAX])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
])
|
||||
|
||||
# Do all the work for Automake. -*- Autoconf -*-
|
||||
|
||||
# This macro actually does too much some checks are only needed if
|
||||
# your package does certain things. But this isn't really a big deal.
|
||||
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -298,16 +386,9 @@ fi
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# serial 8
|
||||
# serial 10
|
||||
|
||||
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
||||
# written in clear, in which case automake, when reading aclocal.m4,
|
||||
# will think it sees a *use*, and therefore will trigger all it's
|
||||
# C support machinery. Also note that it means that autoscan, seeing
|
||||
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
||||
|
||||
|
||||
AC_PREREQ([2.52])
|
||||
AC_PREREQ([2.54])
|
||||
|
||||
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
|
||||
# the ones we care about.
|
||||
@@ -333,6 +414,16 @@ if test "`cd $srcdir && pwd`" != "`pwd`" &&
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
|
||||
# test whether we have cygpath
|
||||
if test -z "$CYGPATH_W"; then
|
||||
if (cygpath --version) >/dev/null 2>/dev/null; then
|
||||
CYGPATH_W='cygpath -w'
|
||||
else
|
||||
CYGPATH_W=echo
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([CYGPATH_W])
|
||||
|
||||
# Define the identity of the package.
|
||||
dnl Distinguish between old-style and new-style calls.
|
||||
m4_ifval([$2],
|
||||
@@ -340,8 +431,8 @@ m4_ifval([$2],
|
||||
AC_SUBST([PACKAGE], [$1])dnl
|
||||
AC_SUBST([VERSION], [$2])],
|
||||
[_AM_SET_OPTIONS([$1])dnl
|
||||
AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
|
||||
AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
|
||||
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
|
||||
|
||||
_AM_IF_OPTION([no-define],,
|
||||
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
@@ -362,19 +453,41 @@ AM_PROG_INSTALL_STRIP
|
||||
# some platforms.
|
||||
AC_REQUIRE([AC_PROG_AWK])dnl
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||
|
||||
_AM_IF_OPTION([no-dependencies],,
|
||||
[AC_PROVIDE_IFELSE([AC_PROG_][CC],
|
||||
[AC_PROVIDE_IFELSE([AC_PROG_CC],
|
||||
[_AM_DEPENDENCIES(CC)],
|
||||
[define([AC_PROG_][CC],
|
||||
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_][CXX],
|
||||
[define([AC_PROG_CC],
|
||||
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||
[_AM_DEPENDENCIES(CXX)],
|
||||
[define([AC_PROG_][CXX],
|
||||
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||
[define([AC_PROG_CXX],
|
||||
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||
])
|
||||
])
|
||||
|
||||
|
||||
# When config.status generates a header, we must update the stamp-h file.
|
||||
# This file resides in the same directory as the config header
|
||||
# that is generated. The stamp files are numbered to have different names.
|
||||
|
||||
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
|
||||
# loop where config.status creates the headers, so we can generate
|
||||
# our stamp files there.
|
||||
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
|
||||
[# Compute $1's index in $config_headers.
|
||||
_am_stamp_count=1
|
||||
for _am_header in $config_headers :; do
|
||||
case $_am_header in
|
||||
$1 | $1:* )
|
||||
break ;;
|
||||
* )
|
||||
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
|
||||
esac
|
||||
done
|
||||
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
|
||||
|
||||
# Copyright 2002 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -395,14 +508,14 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
|
||||
# ----------------------------
|
||||
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||
# generated from the m4 files accompanying Automake X.Y.
|
||||
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
|
||||
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
|
||||
|
||||
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||
# -------------------------------
|
||||
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
||||
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.6.3])])
|
||||
[AM_AUTOMAKE_VERSION([1.7.9])])
|
||||
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
|
||||
@@ -688,9 +801,42 @@ fi
|
||||
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
|
||||
# serial 4 -*- Autoconf -*-
|
||||
# -*- Autoconf -*-
|
||||
# Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
|
||||
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# serial 1
|
||||
|
||||
# Check whether the underlying file-system supports filenames
|
||||
# with a leading dot. For instance MS-DOS doesn't.
|
||||
AC_DEFUN([AM_SET_LEADING_DOT],
|
||||
[rm -rf .tst 2>/dev/null
|
||||
mkdir .tst 2>/dev/null
|
||||
if test -d .tst; then
|
||||
am__leading_dot=.
|
||||
else
|
||||
am__leading_dot=_
|
||||
fi
|
||||
rmdir .tst 2>/dev/null
|
||||
AC_SUBST([am__leading_dot])])
|
||||
|
||||
# serial 5 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -751,18 +897,32 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
||||
# using a relative directory.
|
||||
cp "$am_depcomp" conftest.dir
|
||||
cd conftest.dir
|
||||
# We will build objects and dependencies in a subdirectory because
|
||||
# it helps to detect inapplicable dependency modes. For instance
|
||||
# both Tru64's cc and ICC support -MD to output dependencies as a
|
||||
# side effect of compilation, but ICC will put the dependencies in
|
||||
# the current directory while Tru64 will put them in the object
|
||||
# directory.
|
||||
mkdir sub
|
||||
|
||||
am_cv_$1_dependencies_compiler_type=none
|
||||
if test "$am_compiler_list" = ""; then
|
||||
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
||||
fi
|
||||
for depmode in $am_compiler_list; do
|
||||
# Setup a source with many dependencies, because some compilers
|
||||
# like to wrap large dependency lists on column 80 (with \), and
|
||||
# we should not choose a depcomp mode which is confused by this.
|
||||
#
|
||||
# We need to recreate these files for each test, as the compiler may
|
||||
# overwrite some of them when testing with obscure command lines.
|
||||
# This happens at least with the AIX C compiler.
|
||||
echo '#include "conftest.h"' > conftest.c
|
||||
echo 'int i;' > conftest.h
|
||||
echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
|
||||
: > sub/conftest.c
|
||||
for i in 1 2 3 4 5 6; do
|
||||
echo '#include "conftst'$i'.h"' >> sub/conftest.c
|
||||
: > sub/conftst$i.h
|
||||
done
|
||||
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
||||
|
||||
case $depmode in
|
||||
nosideeffect)
|
||||
@@ -780,13 +940,20 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
||||
# mode. It turns out that the SunPro C++ compiler does not properly
|
||||
# handle `-M -o', and we need to detect this.
|
||||
if depmode=$depmode \
|
||||
source=conftest.c object=conftest.o \
|
||||
depfile=conftest.Po tmpdepfile=conftest.TPo \
|
||||
$SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
|
||||
grep conftest.h conftest.Po > /dev/null 2>&1 &&
|
||||
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
|
||||
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
||||
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
|
||||
>/dev/null 2>conftest.err &&
|
||||
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
|
||||
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
||||
am_cv_$1_dependencies_compiler_type=$depmode
|
||||
break
|
||||
# icc doesn't choke on unknown options, it will just issue warnings
|
||||
# (even with -Werror). So we grep stderr for any message
|
||||
# that says an option was ignored.
|
||||
if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
|
||||
am_cv_$1_dependencies_compiler_type=$depmode
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -797,6 +964,9 @@ else
|
||||
fi
|
||||
])
|
||||
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
|
||||
AM_CONDITIONAL([am__fastdep$1], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
|
||||
])
|
||||
|
||||
|
||||
@@ -805,16 +975,8 @@ AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
|
||||
# Choose a directory name for dependency files.
|
||||
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
|
||||
AC_DEFUN([AM_SET_DEPDIR],
|
||||
[rm -f .deps 2>/dev/null
|
||||
mkdir .deps 2>/dev/null
|
||||
if test -d .deps; then
|
||||
DEPDIR=.deps
|
||||
else
|
||||
# MS-DOS does not allow filenames that begin with a dot.
|
||||
DEPDIR=_deps
|
||||
fi
|
||||
rmdir .deps 2>/dev/null
|
||||
AC_SUBST([DEPDIR])
|
||||
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
|
||||
])
|
||||
|
||||
|
||||
@@ -916,7 +1078,9 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||
])
|
||||
|
||||
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
|
||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -941,8 +1105,9 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||
[am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
doit:
|
||||
am__doit:
|
||||
@echo done
|
||||
.PHONY: am__doit
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||
@@ -956,7 +1121,7 @@ echo "include confinc" > confmf
|
||||
# In particular we don't look at `^make:' because GNU make might
|
||||
# be invoked under some other name (usually "gmake"), in which
|
||||
# case it prints its new name instead of `make'.
|
||||
if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
|
||||
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
@@ -970,9 +1135,9 @@ if test "$am__include" = "#"; then
|
||||
_am_result=BSD
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(am__include)
|
||||
AC_SUBST(am__quote)
|
||||
AC_MSG_RESULT($_am_result)
|
||||
AC_SUBST([am__include])
|
||||
AC_SUBST([am__quote])
|
||||
AC_MSG_RESULT([$_am_result])
|
||||
rm -f confinc confmf
|
||||
])
|
||||
|
||||
@@ -1016,7 +1181,7 @@ else
|
||||
fi
|
||||
AC_CONFIG_COMMANDS_PRE(
|
||||
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
|
||||
AC_MSG_ERROR([conditional \"$1\" was never defined.
|
||||
AC_MSG_ERROR([conditional "$1" was never defined.
|
||||
Usually this means the macro was only invoked conditionally.])
|
||||
fi])])
|
||||
|
||||
@@ -1043,60 +1208,47 @@ AC_PREREQ([2.52])
|
||||
|
||||
# serial 6
|
||||
|
||||
# When config.status generates a header, we must update the stamp-h file.
|
||||
# This file resides in the same directory as the config header
|
||||
# that is generated. We must strip everything past the first ":",
|
||||
# and everything past the last "/".
|
||||
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
|
||||
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
|
||||
|
||||
# _AM_DIRNAME(PATH)
|
||||
# -----------------
|
||||
# Like AS_DIRNAME, only do it during macro expansion
|
||||
AC_DEFUN([_AM_DIRNAME],
|
||||
[m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
|
||||
m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
|
||||
m4_if(regexp([$1], [^/.*]), -1,
|
||||
[.],
|
||||
patsubst([$1], [^\(/\).*], [\1])),
|
||||
patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
|
||||
patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
|
||||
])# _AM_DIRNAME
|
||||
# Add --enable-maintainer-mode option to configure.
|
||||
# From Jim Meyering
|
||||
|
||||
# Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
# The stamp files are numbered to have different names.
|
||||
# We could number them on a directory basis, but that's additional
|
||||
# complications, let's have a unique counter.
|
||||
m4_define([_AM_STAMP_Count], [0])
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# _AM_STAMP(HEADER)
|
||||
# -----------------
|
||||
# The name of the stamp file for HEADER.
|
||||
AC_DEFUN([_AM_STAMP],
|
||||
[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
|
||||
AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
|
||||
[:.*])))/stamp-h[]_AM_STAMP_Count])
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# serial 2
|
||||
|
||||
# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
|
||||
# ------------------------------------------------------------
|
||||
# We used to try to get a real timestamp in stamp-h. But the fear is that
|
||||
# that will cause unnecessary cvs conflicts.
|
||||
AC_DEFUN([_AM_CONFIG_HEADER],
|
||||
[# Add the stamp file to the list of files AC keeps track of,
|
||||
# along with our hook.
|
||||
AC_CONFIG_HEADERS([$1],
|
||||
[# update the timestamp
|
||||
echo 'timestamp for $1' >"_AM_STAMP([$1])"
|
||||
$2],
|
||||
[$3])
|
||||
])# _AM_CONFIG_HEADER
|
||||
AC_DEFUN([AM_MAINTAINER_MODE],
|
||||
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode is disabled by default
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
[ --enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer],
|
||||
USE_MAINTAINER_MODE=$enableval,
|
||||
USE_MAINTAINER_MODE=no)
|
||||
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
|
||||
AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
AC_SUBST(MAINT)dnl
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
|
||||
# --------------------------------------------------------------
|
||||
AC_DEFUN([AM_CONFIG_HEADER],
|
||||
[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
|
||||
])# AM_CONFIG_HEADER
|
||||
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
|
||||
|
||||
# serial 2
|
||||
|
||||
|
||||
+28
-5
@@ -41,10 +41,15 @@
|
||||
/* Define to enable encryption support. */
|
||||
#undef ENCRYPTION
|
||||
|
||||
/* Define if this executable will be running on case insensitive file systems.
|
||||
In the client case, this means that it will request that the server pretend
|
||||
to be case insensitive if it isn't already. */
|
||||
#undef FILENAMES_CASE_INSENSITIVE
|
||||
|
||||
/* When committing or importing files, you must enter a log message. Normally,
|
||||
you can do this either via the -m flag on the command line, the -F flag on
|
||||
the command line, or an editor will be started for you. If you like to use
|
||||
logging templates (the rcsinfo file within the /CVSROOT directory),
|
||||
logging templates (the rcsinfo file within the $CVSROOT/CVSROOT directory),
|
||||
you might want to force people to use the editor even if they specify a
|
||||
message with -m or -F. Enabling FORCE_USE_EDITOR will cause the -m or -F
|
||||
message to be appended to the temp file when the editor is started. */
|
||||
@@ -83,7 +88,7 @@
|
||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||
#undef HAVE_FCNTL_H
|
||||
|
||||
/* Define to 1 if your system has a working `fnmatch' function. */
|
||||
/* Define to 1 if your system has a working POSIX `fnmatch' function. */
|
||||
#undef HAVE_FNMATCH
|
||||
|
||||
/* Define to 1 if you have the <fnmatch.h> header file. */
|
||||
@@ -116,9 +121,6 @@
|
||||
/* Define to 1 if you have the `getpagesize' function. */
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
/* Define to 1 if you have the `getpassphrase' function. */
|
||||
#undef HAVE_GETPASSPHRASE
|
||||
|
||||
/* Define if you have the getspnam function. */
|
||||
#undef HAVE_GETSPNAM
|
||||
|
||||
@@ -155,6 +157,12 @@
|
||||
/* Define to 1 if you have the `krb_get_err_text' function. */
|
||||
#undef HAVE_KRB_GET_ERR_TEXT
|
||||
|
||||
/* Define to 1 if you have the `krb' library (-lkrb). */
|
||||
#undef HAVE_LIBKRB
|
||||
|
||||
/* Define to 1 if you have the `krb4' library (-lkrb4). */
|
||||
#undef HAVE_LIBKRB4
|
||||
|
||||
/* Define to 1 if you have the `nsl' library (-lnsl). */
|
||||
#undef HAVE_LIBNSL
|
||||
|
||||
@@ -417,6 +425,10 @@
|
||||
*/
|
||||
#undef SERVER_SUPPORT
|
||||
|
||||
/* Define as the maximum value of type 'size_t', if the system doesn't define
|
||||
it. */
|
||||
#undef SIZE_MAX
|
||||
|
||||
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
|
||||
#undef STAT_MACROS_BROKEN
|
||||
|
||||
@@ -470,9 +482,20 @@
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* We want to always use the GNULIB version of getpass which we have in lib,
|
||||
so define getpass to something that won't conflict with any existing system
|
||||
declarations. */
|
||||
#undef getpass
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef gid_t
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
#undef inline
|
||||
#endif
|
||||
|
||||
/* Define to `int' if <sys/types.h> does not define. */
|
||||
#undef mode_t
|
||||
|
||||
|
||||
Vendored
+5335
-1704
File diff suppressed because it is too large.
Load diff
+175
-35
@@ -1,11 +1,12 @@
|
||||
dnl configure.in for cvs
|
||||
AC_INIT([Concurrent Versions System (CVS)],[1.11.5],[[email protected]],[cvs])
|
||||
AC_INIT([Concurrent Versions System (CVS)],[1.11.17],[[email protected]],[cvs])
|
||||
AC_CONFIG_SRCDIR(src/cvs.h)
|
||||
AM_INIT_AUTOMAKE([gnu 1.5 dist-bzip2 no-define])
|
||||
AC_PREREQ(2.53)
|
||||
AM_INIT_AUTOMAKE([gnu 1.7.9 dist-bzip2 no-define])
|
||||
AC_PREREQ(2.58)
|
||||
|
||||
AC_PREFIX_PROGRAM(cvs)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_C_O
|
||||
@@ -71,8 +72,18 @@ AC_EXEEXT
|
||||
|
||||
AC_PATH_PROG(PERL, perl, no)
|
||||
AC_PATH_PROG(CSH, csh, no)
|
||||
AC_PATH_PROG(PR, pr, no)
|
||||
# for contrib/rcs2log.sh & src/cvsbug.in.
|
||||
AC_PATH_PROG(MKTEMP, mktemp, mktemp)
|
||||
if test x"$MKTEMP" = xmktemp; then
|
||||
MKTEMP_SH_FUNCTION=$srcdir/mktemp.sh
|
||||
else
|
||||
MKTEMP_SH_FUNCTION=/dev/null
|
||||
fi
|
||||
AC_SUBST_FILE(MKTEMP_SH_FUNCTION)
|
||||
# for src/cvsbug.in
|
||||
AC_PATH_PROG(SENDMAIL, sendmail, no, [$PATH:/usr/sbin:/usr/lib])
|
||||
# For diff/util.c
|
||||
AC_PATH_PROG(PR, pr, no)
|
||||
if test x"$PR" != xno; then
|
||||
AC_DEFINE_UNQUOTED([PR_PROGRAM], ["$PR"], [Path to the pr utility])
|
||||
fi
|
||||
@@ -174,6 +185,27 @@ AC_REPLACE_FUNCS(\
|
||||
valloc \
|
||||
waitpid \
|
||||
)
|
||||
|
||||
|
||||
|
||||
dnl
|
||||
dnl Begin GNULIB stuff.
|
||||
dnl
|
||||
gl_XSIZE
|
||||
|
||||
dnl We always want to use the GNULIB getpass, so define its name to something
|
||||
dnl that won't conflict with system declarations.
|
||||
AC_DEFINE([getpass], [cvs_getpass],
|
||||
[We want to always use the GNULIB version of getpass which we have in lib,
|
||||
so define getpass to something that won't conflict with any existing system
|
||||
declarations.])
|
||||
|
||||
dnl
|
||||
dnl End GNULIB stuff.
|
||||
dnl
|
||||
|
||||
|
||||
|
||||
AC_CHECK_FUNCS(\
|
||||
fchdir \
|
||||
fchmod \
|
||||
@@ -183,7 +215,6 @@ AC_CHECK_FUNCS(\
|
||||
getgroups \
|
||||
getopt \
|
||||
getpagesize \
|
||||
getpassphrase \
|
||||
gettimeofday \
|
||||
initgroups \
|
||||
login \
|
||||
@@ -349,18 +380,20 @@ if test -n "$krb_h"; then
|
||||
LDFLAGS=$hold_ldflags
|
||||
else
|
||||
AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=])
|
||||
AC_CHECK_FUNC(krb_recvauth,[krb_lib=yes krb_libdir=])
|
||||
fi
|
||||
if test -n "$krb_lib"; then
|
||||
AC_DEFINE([HAVE_KERBEROS], 1,
|
||||
[Define if you have MIT Kerberos version 4 available.])
|
||||
test -n "${krb_libdir}" && LIBS="${LIBS} -L${krb_libdir}"
|
||||
LIBS="${LIBS} -lkrb"
|
||||
# Put -L${krb_libdir} in LDFLAGS temporarily so that it appears before
|
||||
# -ldes in the command line. Don't do it permanently so that we honor
|
||||
# the user's setting for LDFLAGS
|
||||
hold_ldflags=$LDFLAGS
|
||||
test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
|
||||
AC_CHECK_LIB(des,printf,[LIBS="${LIBS} -ldes"])
|
||||
AC_CHECK_LIB(krb,krb_recvauth)
|
||||
AC_CHECK_LIB(krb4,krb_recvauth)
|
||||
LDFLAGS=$hold_ldflags
|
||||
if test -n "$krb_incdir"; then
|
||||
includeopt="${includeopt} -I$krb_incdir"
|
||||
@@ -396,8 +429,21 @@ AC_ARG_WITH(
|
||||
[--with-editor],
|
||||
[The default text editor CVS should use for log messages
|
||||
(default autoselects)]), ,
|
||||
[with_editor="vi emacs pico edit"])
|
||||
[with_editor=yes])
|
||||
|
||||
# If --with-editor was supplied with an argument, let it override $EDITOR from
|
||||
# the user's environment. We need to unset EDITOR here because AC_CHECK_PROGS
|
||||
# will let the value of EDITOR ride when it is set rather than searching. We
|
||||
# ignore the --without-editor case since it will be caught below.
|
||||
if test -n "$EDITOR" && test yes != $with_editor; then
|
||||
AS_UNSET([EDITOR])
|
||||
fi
|
||||
|
||||
# Set the default when --with-editor wasn't supplied or when it was supplied
|
||||
# without an argument.
|
||||
if test yes = $with_editor; then
|
||||
with_editor="vim vi emacs nano pico edit"
|
||||
fi
|
||||
|
||||
if echo $with_editor |grep ^/ >/dev/null; then
|
||||
# If $with_editor is an absolute path, issue a warning if the executable
|
||||
@@ -409,31 +455,40 @@ if echo $with_editor |grep ^/ >/dev/null; then
|
||||
if ! test -f $with_editor \
|
||||
|| ! test -x $with_editor; then
|
||||
# warn the user that they may encounter problems
|
||||
AC_MSG_WARN([$with_editor is not a path to an executable file])
|
||||
AC_MSG_WARN([\`$with_editor' is not a path to an executable file])
|
||||
fi
|
||||
elif test no != "${with_editor}"; then
|
||||
# Search for an editor
|
||||
AC_CHECK_PROGS([EDITOR], [$with_editor])
|
||||
AC_CHECK_PROGS([EDITOR], [$with_editor], [no])
|
||||
if test no = "${EDITOR}"; then
|
||||
AC_MSG_ERROR([
|
||||
Failed to find a text file editor. CVS cannot be compiled
|
||||
without a default log message editor. Searched for
|
||||
\`$with_editor'. Try \`configure --with-editor'.])
|
||||
fi
|
||||
else
|
||||
AC_MSG_CHECKING([for an editor])
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([
|
||||
CVS cannot be compiled without a default log message editor.
|
||||
Try \`configure --with-editor'.])
|
||||
fi
|
||||
|
||||
if test -n "${EDITOR}"; then
|
||||
dnl FIXME - Using --without-editor will probably break a compile at
|
||||
dnl the moment, but maybe it is reasonable for someone to want to
|
||||
dnl compile a CVS executable that refuses to run if no $EDITOR,
|
||||
dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
|
||||
dnl design decision in this direction, subject to discussion.
|
||||
AC_DEFINE_UNQUOTED(
|
||||
[EDITOR_DFLT], ["$EDITOR"],
|
||||
[The default editor to use, if one does not specify the "-e" option
|
||||
to cvs, or does not have an EDITOR environment variable. If this
|
||||
is not set to an absolute path to an executable, use the shell to
|
||||
find where the editor actually is. This allows sites with
|
||||
/usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
|
||||
PATH is reasonable).])
|
||||
fi
|
||||
dnl FIXME - Using --without-editor will probably break a compile at
|
||||
dnl the moment, but maybe it is reasonable for someone to want to
|
||||
dnl compile a CVS executable that refuses to run if no $EDITOR,
|
||||
dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
|
||||
dnl design decision in this direction, subject to discussion.
|
||||
dnl
|
||||
dnl Still don't know if the above would be useful, but we shouldn't
|
||||
dnl be able to get here any longer without $EDITOR defined due to the
|
||||
dnl error checking above.
|
||||
AC_DEFINE_UNQUOTED(
|
||||
[EDITOR_DFLT], ["$EDITOR"],
|
||||
[The default editor to use, if one does not specify the "-e" option
|
||||
to cvs, or does not have an EDITOR environment variable. If this
|
||||
is not set to an absolute path to an executable, use the shell to
|
||||
find where the editor actually is. This allows sites with
|
||||
/usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
|
||||
PATH is reasonable).])
|
||||
|
||||
dnl
|
||||
dnl done finding an editor
|
||||
@@ -454,7 +509,7 @@ AC_ARG_WITH(
|
||||
|
||||
AC_MSG_CHECKING([for temporary directory])
|
||||
if test -z "$with_tmpdir" || test yes = "$with_tmpdir"; then
|
||||
for with_tmpdir in "$TMPDIR" "$TMP" "$TEMP" /tmp /var/tmp no; do
|
||||
for with_tmpdir in /tmp /var/tmp no; do
|
||||
if test -d "$with_tmpdir" && test -x "$with_tmpdir" \
|
||||
&& test -w "$with_tmpdir" && test -r "$with_tmpdir"; then
|
||||
break
|
||||
@@ -633,7 +688,7 @@ if test no != "$enable_password_authenticated_client"; then
|
||||
method in the CVS client (default)])
|
||||
else
|
||||
AC_MSG_WARN(
|
||||
[--enable-password-authenticated-server is meaningless with
|
||||
[--enable-password-authenticated-client is meaningless with
|
||||
the CVS client disabled (--disable-client)])
|
||||
fi
|
||||
fi
|
||||
@@ -740,6 +795,73 @@ if test no != "$enable_server"; then
|
||||
fi # enable_server
|
||||
|
||||
|
||||
dnl
|
||||
dnl begin --enable-case-sensitivity
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(
|
||||
[case-sensitivity],
|
||||
AC_HELP_STRING(
|
||||
[--enable-case-sensitivity],
|
||||
[Force CVS to expect a case sensitive file system. Enabling this on a case
|
||||
insensitive system should have little effect on the server or client
|
||||
operation, though client users may ocassionally be suprised that the CVS
|
||||
server appears to be case sensitive. Disabling this for a case sensitive
|
||||
server disables server support for case insensitive clients, which can
|
||||
confuse all users of case insensitive clients contacting the server.
|
||||
Disabling this for a case sensitive client will cause the client to ask
|
||||
servers to behave case insensitively, which could cause confusion for
|
||||
users, but also probably no real harm. (default autoselects based on the
|
||||
case sensitivity of the file system containing the current working
|
||||
directory)]),
|
||||
[case "$enable_case_sensitivity" in
|
||||
yes | no | auto) ;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unrecognized argument to --enable-case-sensitivity: \`$enable_case_sensitivity'. Acceptable values are \`yes', \`no', and \`auto'.])
|
||||
;;
|
||||
esac],
|
||||
[enable_case_sensitivity=auto])
|
||||
|
||||
acx_forced=' (forced)'
|
||||
AC_MSG_CHECKING([for a case sensitive file system])
|
||||
if test $enable_case_sensitivity = auto; then
|
||||
dnl
|
||||
dnl Check for a case insensitive filesystem, like Mac OS X and Windows have.
|
||||
dnl
|
||||
AC_CACHE_VAL([acx_cv_case_sensitive],
|
||||
[ rm -f ac_TEST_filenames_CASE_sensitive
|
||||
echo foo >ac_test_filenames_case_sensitive
|
||||
if test -f ac_TEST_filenames_CASE_sensitive; then
|
||||
acx_cv_case_sensitive=no
|
||||
else
|
||||
acx_cv_case_sensitive=yes
|
||||
fi
|
||||
rm ac_test_filenames_case_sensitive
|
||||
])
|
||||
enable_case_sensitivity=$acx_cv_case_sensitive
|
||||
acx_forced=
|
||||
fi
|
||||
AC_MSG_RESULT([$enable_case_sensitivity$acx_forced])
|
||||
if test $enable_case_sensitivity = no; then
|
||||
AC_DEFINE([FILENAMES_CASE_INSENSITIVE], [1],
|
||||
[Define if this executable will be running on case insensitive
|
||||
file systems. In the client case, this means that it will request
|
||||
that the server pretend to be case insensitive if it isn't
|
||||
already.])
|
||||
dnl Compile fncase.c (containing fncase() & fncmp()) to handle file name
|
||||
dnl comparisons on case insensitive filesystems.
|
||||
AC_LIBOBJ(fncase)
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl end --enable-case-sensitivity
|
||||
dnl
|
||||
|
||||
|
||||
dnl
|
||||
dnl begin --enable-encryption
|
||||
dnl
|
||||
|
||||
dnl
|
||||
dnl Use --enable-encryption to turn on encryption support, but ignore this
|
||||
dnl option unless either client or server is enabled.
|
||||
@@ -757,7 +879,7 @@ if test "$enable_encryption" = yes; then
|
||||
[Define to enable encryption support.])
|
||||
else
|
||||
AC_MSG_WARN(
|
||||
[--enable-encryption is meaningless with neither the CVS client
|
||||
[--enable-encryption is meaningless when neither the CVS client
|
||||
nor the CVS server is enabled (--disable-client and --disable-server).])
|
||||
fi
|
||||
fi
|
||||
@@ -849,6 +971,7 @@ dnl end --enable-*
|
||||
dnl
|
||||
|
||||
|
||||
|
||||
dnl For the moment we will assume that all systems which have
|
||||
dnl the unixyness to run configure are unixy enough to do the
|
||||
dnl PreservePermissions stuff. I have this sinking feeling that
|
||||
@@ -856,11 +979,9 @@ dnl things won't be that simple, before long.
|
||||
dnl AC_DEFINE(PRESERVE_PERMISSIONS_SUPPORT, 1,
|
||||
dnl [Define if this system supports chown(), link(), and friends.])
|
||||
|
||||
dnl On cygwin32, we configure like a Unix system, but we use the
|
||||
dnl Windows support code in lib/fncase.c to handle the case
|
||||
dnl insensitive file system. We also need some support libraries. We
|
||||
dnl do this at the end so that the new libraries are added at the end
|
||||
dnl of LIBS.
|
||||
dnl On cygwin32, we configure like a Unix system, but we need some support
|
||||
dnl libraries. We do this at the end so that the new libraries are added at
|
||||
dnl the end of LIBS.
|
||||
dnl
|
||||
dnl FIXME: We should be trying to meet the autoconf ideal of checking for
|
||||
dnl the properties of the system rather than the name of the os here. In other
|
||||
@@ -870,7 +991,6 @@ AC_CACHE_CHECK(for cygwin32, ccvs_cv_sys_cygwin32,
|
||||
[AC_TRY_COMPILE([], [return __CYGWIN32__;],
|
||||
ccvs_cv_sys_cygwin32=yes, ccvs_cv_sys_cygwin32=no)])
|
||||
if test $ccvs_cv_sys_cygwin32 = yes; then
|
||||
AC_LIBOBJ(fncase)
|
||||
LIBS="$LIBS -ladvapi32"
|
||||
|
||||
dnl On Windows you can only change file times if you can write to
|
||||
@@ -898,9 +1018,13 @@ AC_CONFIG_FILES(contrib/log, [chmod +x contrib/log])
|
||||
AC_CONFIG_FILES(contrib/log_accum, [chmod +x contrib/log_accum])
|
||||
AC_CONFIG_FILES(contrib/mfpipe, [chmod +x contrib/mfpipe])
|
||||
AC_CONFIG_FILES(contrib/pvcs2rcs, [chmod +x contrib/pvcs2rcs])
|
||||
AC_CONFIG_FILES(contrib/rcs2log:contrib/rcs2log.sh, [chmod +x contrib/rcs2log])
|
||||
AC_CONFIG_FILES(contrib/rcslock, [chmod +x contrib/rcslock])
|
||||
AC_CONFIG_FILES(contrib/sccs2rcs, [chmod +x contrib/sccs2rcs])
|
||||
AC_CONFIG_FILES(doc/mkman, [chmod +x doc/mkman])
|
||||
AC_CONFIG_FILES(src/cvsbug, [chmod +x src/cvsbug])
|
||||
AC_CONFIG_FILES(windows-NT/fix-msvc-mak:windows-NT/fix-msvc-mak-head.pl:windows-NT/fix-msvc-mak.pl,
|
||||
[chmod +x windows-NT/fix-msvc-mak])
|
||||
|
||||
dnl the bulk files
|
||||
AC_CONFIG_FILES([Makefile \
|
||||
@@ -921,3 +1045,19 @@ AC_CONFIG_FILES([Makefile \
|
||||
|
||||
dnl and we're done
|
||||
AC_OUTPUT
|
||||
|
||||
|
||||
|
||||
# Report the state of this version of CVS if this is from dev.
|
||||
m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[0-9]*\.[0-9]*\.[0-9]*\.[0-9]],
|
||||
[ cat <<EOF
|
||||
|
||||
You are about to use an unreleased version of CVS. Be sure to
|
||||
read the relevant mailing lists, most importantly <[email protected]>.
|
||||
|
||||
Below you will find information on the status of this version of CVS.
|
||||
|
||||
|
||||
EOF
|
||||
sed -n '/^\* Status/,$p' $srcdir/BUGS
|
||||
])
|
||||
@@ -1,3 +1,73 @@
|
||||
2004-01-30 Derek Price <[email protected]>
|
||||
|
||||
Close issue #155.
|
||||
* log_accum.in: Remove unused variables.
|
||||
(Patch from (Ville Skyttä <[email protected]>.)
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
|
||||
testing with _POSIX2_VERSION=200112 in the environment.
|
||||
|
||||
* cvs2vendor.sh: Work with POSIX sort as well as with
|
||||
traditional sort.
|
||||
* rcs2sccs.sh, sccs2rcs.in: Likewise.
|
||||
(Patch from Paul Eggert <[email protected]>.)
|
||||
|
||||
2003-09-26 Mark D. Baushke <[email protected]>
|
||||
|
||||
* sccs2rcs.in: Use @AWK@ to avoid ancient Solaris awk (no support
|
||||
for the "?" operator). Add support for handling binary SCCS files.
|
||||
(Suggestion from Allan Schrum <[email protected]>.)
|
||||
|
||||
2003-08-06 Derek Price <[email protected]>
|
||||
|
||||
* commit_prep.in, log_accum.in: Port copious changes from Karl Fogel
|
||||
and CollabNet. These changes add features, generalize, and organize.
|
||||
|
||||
2003-07-07 Larry Jones <[email protected]>
|
||||
|
||||
* rcs2log.1: New file from Paul Eggert <[email protected]>
|
||||
via Eric Seidel <[email protected]>.
|
||||
|
||||
2003-06-20 Derek Price <[email protected]>
|
||||
|
||||
* Don't call CVS with the -l option since CVS no longer accepts it.
|
||||
(Suggestion from Matt Doar <[email protected]>.)
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerate with Automake version 1.7.5.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-03-24 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am: Update copyright notice.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* rcs2log.sh: Import RedHat 8.0's use of mktemp from the CVS 1.11.2
|
||||
RPM. Use new MKTEMP variable from configure.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-24 Larry Jones <[email protected]>
|
||||
and Donald Sharp <[email protected]>
|
||||
|
||||
* check_cvs.in: Filenames with funky characters need to be quoted
|
||||
correctly. Also needed to modify regex due to locked revisions of
|
||||
files cause output to be different.
|
||||
|
||||
* check_cvs.in: Fixed multiple symlinks in your cvsroot,
|
||||
improved CVSROOT/CVSROOT handling (Patch from Shlomo Reinstein
|
||||
<[email protected]). Fixed retrieving revisions of ,v
|
||||
files. Added passwd, readers, and writers to list of files to
|
||||
ignore and sorted list to match the one in src/mkmodules.c.
|
||||
|
||||
2002-12-16 Derek Price <[email protected]>
|
||||
|
||||
* cvs_acls.in: Fix split loop error with Perl 5.8.0.
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# Makefile for GNU CVS contributed sources.
|
||||
# Do not use this makefile directly, but only from `../Makefile'.
|
||||
# Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
||||
+105
-45
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -16,7 +16,9 @@
|
||||
|
||||
# Makefile for GNU CVS contributed sources.
|
||||
# Do not use this makefile directly, but only from `../Makefile'.
|
||||
# Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -27,79 +29,117 @@
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
contribdir = $(pkgdatadir)/contrib
|
||||
|
||||
@@ -155,26 +195,28 @@ CLEANFILES = $(bin_SCRIPTS) $(contrib_SCRIPTS)
|
||||
|
||||
SUFFIXES = .sh
|
||||
subdir = contrib
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES = check_cvs clmerge cln_hist commit_prep cvs_acls log \
|
||||
log_accum mfpipe pvcs2rcs rcslock sccs2rcs
|
||||
log_accum mfpipe pvcs2rcs rcs2log rcslock sccs2rcs
|
||||
SCRIPTS = $(contrib_SCRIPTS)
|
||||
|
||||
DIST_SOURCES =
|
||||
DATA = $(contrib_DATA)
|
||||
|
||||
DIST_COMMON = README ChangeLog Makefile.am Makefile.in check_cvs.in \
|
||||
clmerge.in cln_hist.in commit_prep.in cvs_acls.in log.in \
|
||||
log_accum.in mfpipe.in pvcs2rcs.in rcslock.in sccs2rcs.in
|
||||
DIST_COMMON = README $(srcdir)/Makefile.in ChangeLog Makefile.am \
|
||||
check_cvs.in clmerge.in cln_hist.in commit_prep.in cvs_acls.in \
|
||||
log.in log_accum.in mfpipe.in pvcs2rcs.in rcs2log.sh rcslock.in \
|
||||
sccs2rcs.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .sh
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu contrib/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
check_cvs: $(top_builddir)/config.status check_cvs.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
@@ -194,6 +236,8 @@ mfpipe: $(top_builddir)/config.status mfpipe.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
pvcs2rcs: $(top_builddir)/config.status pvcs2rcs.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
rcs2log: $(top_builddir)/config.status rcs2log.sh
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
rcslock: $(top_builddir)/config.status rcslock.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
sccs2rcs: $(top_builddir)/config.status sccs2rcs.in
|
||||
@@ -240,13 +284,22 @@ uninstall-contribDATA:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -272,7 +325,6 @@ all-am: Makefile $(SCRIPTS) $(DATA)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(contribdir) $(DESTDIR)$(contribdir)
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
@@ -284,7 +336,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -293,7 +345,7 @@ clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -303,7 +355,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@@ -326,13 +378,21 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-contribDATA uninstall-contribSCRIPTS \
|
||||
uninstall-info-am uninstall-local
|
||||
|
||||
@@ -343,7 +403,7 @@ uninstall-am: uninstall-contribDATA uninstall-contribSCRIPTS \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic uninstall uninstall-am \
|
||||
mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
|
||||
uninstall-contribDATA uninstall-contribSCRIPTS \
|
||||
uninstall-info-am uninstall-local
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ my $verbose = 0;
|
||||
my $total_revisions;
|
||||
my $total_interesting_revisions;
|
||||
my $total_files;
|
||||
my @ignore_files;
|
||||
|
||||
######################################################################
|
||||
# SUBROUTINES #
|
||||
@@ -121,12 +122,19 @@ if( exists( $ENV{ CVSDEBUGEDIT } ) )
|
||||
}
|
||||
|
||||
$directory_to_look_at = $ENV{ CVSROOT };
|
||||
if( -l $directory_to_look_at )
|
||||
my $sym_count = 0;
|
||||
while( -l $directory_to_look_at )
|
||||
{
|
||||
$directory_to_look_at = readlink( $directory_to_look_at );
|
||||
$sym_count += 1;
|
||||
if( $sym_count > 5 )
|
||||
{
|
||||
die( "Encountered too many symlinks for $ENV{ CVSROOT }\n" );
|
||||
}
|
||||
}
|
||||
|
||||
print( "Processing: $directory_to_look_at\n" ) if( $verbose );
|
||||
@ignore_files = &get_ignore_files_from_cvsroot( $directory_to_look_at );
|
||||
find( \&process_file, $directory_to_look_at );
|
||||
|
||||
my $num_files = @list_of_broken_files;
|
||||
@@ -184,34 +192,6 @@ sub process_file
|
||||
elsif( ! -d $File::Find::name )
|
||||
{
|
||||
my $save = 0;
|
||||
my @ignore_files = ( 'CVS\/fileattr$',
|
||||
'^CVSROOT\/modules',
|
||||
'^CVSROOT\/.#modules',
|
||||
'^CVSROOT\/loginfo',
|
||||
'^CVSROOT\/.#loginfo',
|
||||
'^CVSROOT\/rcsinfo',
|
||||
'^CVSROOT\/.#rcsinfo',
|
||||
'^CVSROOT\/editinfo',
|
||||
'^CVSROOT\/.#editinfo',
|
||||
'^CVSROOT\/commitinfo',
|
||||
'^CVSROOT\/.#commitinfo',
|
||||
'^CVSROOT\/taginfo',
|
||||
'^CVSROOT\/.#taginfo',
|
||||
'^CVSROOT\/notify',
|
||||
'^CVSROOT\/.#notify',
|
||||
'^CVSROOT\/checkoutlist',
|
||||
'^CVSROOT\/.#checkoutlist',
|
||||
'^CVSROOT\/cvswrappers',
|
||||
'^CVSROOT\/.#cvswrappers',
|
||||
'^CVSROOT\/val-tags',
|
||||
'^CVSROOT\/.#val-tags',
|
||||
'^CVSROOT\/verifymsg',
|
||||
'^CVSROOT\/.#verifymsg',
|
||||
'^CVSROOT\/config',
|
||||
'^CVSROOT\/.#config',
|
||||
'^CVSROOT\/history',
|
||||
'^CVSROOT\/cvsignore',
|
||||
'^CVSROOT\/.#cvsignore' );
|
||||
|
||||
foreach my $ignore ( @ignore_files )
|
||||
{
|
||||
@@ -322,18 +302,29 @@ sub look_at_cvs_file
|
||||
sub get_history
|
||||
{
|
||||
my( $file ) = @_;
|
||||
$file =~ s/(["\$`\\])/\\$1/g;
|
||||
my @revisions;
|
||||
my $revision;
|
||||
|
||||
my $ignore = 1;
|
||||
my $save_ = $_;
|
||||
|
||||
open( FILE, "rlog -N '$file' 2>&1 |" ) or die( "unable to run rlog, help" );
|
||||
open( FILE, "rlog -N \"$file\" 2>&1 |" ) or die( "unable to run rlog, help" );
|
||||
|
||||
while( <FILE> )
|
||||
{
|
||||
if( ( $revision ) = /^revision (.*)$/ )
|
||||
{
|
||||
push( @revisions, $revision );
|
||||
#rlog outputs a "----" line before the actual revision
|
||||
#without this we'll pick up peoples comments if they
|
||||
#happen to start with revision
|
||||
if( /^----------------------------$/ )
|
||||
{
|
||||
$ignore = 0;
|
||||
next;
|
||||
}
|
||||
|
||||
if( ( !$ignore ) && ( ( $revision ) = m/^revision (\S+)/ ) )
|
||||
{
|
||||
push( @revisions, $revision );
|
||||
$ignore = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -369,9 +360,6 @@ sub get_history
|
||||
#
|
||||
# COMMENTS :
|
||||
# cvs command line options are as followed:
|
||||
# -l - Do not log this command in the history file. I am
|
||||
# doing this because we will literaly be looking at
|
||||
# thousands of files with *lots* of revisions.
|
||||
# -n - Do not run any checkout program as specified by the -o
|
||||
# option in the modules file
|
||||
# -p - Put all output to standard out.
|
||||
@@ -383,11 +371,12 @@ sub get_history
|
||||
sub check_revision
|
||||
{
|
||||
my( $file, $revision ) = @_;
|
||||
$file =~ s/(["\$`\\])/\\$1/g;
|
||||
|
||||
my $cwd = getcwd();
|
||||
chdir( "/tmp" );
|
||||
|
||||
my $ret_code = 0xffff & system( "cvs -l co -n -p -r $revision '$file' > /dev/null 2>&1" );
|
||||
my $ret_code = 0xffff & system( "cvs co -n -p -r $revision \"$file\" > /dev/null 2>&1" );
|
||||
|
||||
chdir( $cwd );
|
||||
return( 1 ) if ( $ret_code == 0 );
|
||||
@@ -753,3 +742,81 @@ sub branch_split
|
||||
|
||||
return( $branch, pop( @split_rev ) );
|
||||
}
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# NAME :
|
||||
# get_ignore_files_from_cvsroot
|
||||
#
|
||||
# PURPOSE :
|
||||
# Retrieve the list of files from the CVSROOT/ directory
|
||||
# that should be ignored.
|
||||
# These are the regular files (e.g., commitinfo, loginfo)
|
||||
# and those specified in the checkoutlist file.
|
||||
#
|
||||
# PARAMETERS :
|
||||
# The CVSROOT
|
||||
#
|
||||
# GLOBALS :
|
||||
# NONE
|
||||
#
|
||||
# RETURNS :
|
||||
# @ignore - the list of files to ignore
|
||||
#
|
||||
# COMMENTS :
|
||||
# NONE
|
||||
#
|
||||
######################################################################
|
||||
sub get_ignore_files_from_cvsroot {
|
||||
my( $cvsroot ) = @_;
|
||||
my @ignore = ( 'CVS\/fileattr$',
|
||||
'^CVSROOT\/loginfo',
|
||||
'^CVSROOT\/.#loginfo',
|
||||
'^CVSROOT\/rcsinfo',
|
||||
'^CVSROOT\/.#rcsinfo',
|
||||
'^CVSROOT\/editinfo',
|
||||
'^CVSROOT\/.#editinfo',
|
||||
'^CVSROOT\/verifymsg',
|
||||
'^CVSROOT\/.#verifymsg',
|
||||
'^CVSROOT\/commitinfo',
|
||||
'^CVSROOT\/.#commitinfo',
|
||||
'^CVSROOT\/taginfo',
|
||||
'^CVSROOT\/.#taginfo',
|
||||
'^CVSROOT\/cvsignore',
|
||||
'^CVSROOT\/.#cvsignore',
|
||||
'^CVSROOT\/checkoutlist',
|
||||
'^CVSROOT\/.#checkoutlist',
|
||||
'^CVSROOT\/cvswrappers',
|
||||
'^CVSROOT\/.#cvswrappers',
|
||||
'^CVSROOT\/notify',
|
||||
'^CVSROOT\/.#notify',
|
||||
'^CVSROOT\/modules',
|
||||
'^CVSROOT\/.#modules',
|
||||
'^CVSROOT\/readers',
|
||||
'^CVSROOT\/.#readers',
|
||||
'^CVSROOT\/writers',
|
||||
'^CVSROOT\/.#writers',
|
||||
'^CVSROOT\/passwd',
|
||||
'^CVSROOT\/config',
|
||||
'^CVSROOT\/.#config',
|
||||
'^CVSROOT\/val-tags',
|
||||
'^CVSROOT\/.#val-tags',
|
||||
'^CVSROOT\/history' );
|
||||
my $checkoutlist_file = "$cvsroot\/CVSROOT\/checkoutlist";
|
||||
open( CHECKOUTLIST, "<$cvsroot\/CVSROOT\/checkoutlist" )
|
||||
or die( "Unable to read checkoutlist file: $!\n" );
|
||||
|
||||
my @list = <CHECKOUTLIST>;
|
||||
chomp( @list );
|
||||
close( CHECKOUTLIST )
|
||||
or die( "Unable to close checkoutlist file: $!\n" );
|
||||
|
||||
foreach my $line( @list )
|
||||
{
|
||||
next if( $line =~ /^#/ || $line =~ /^$/ );
|
||||
if( $line =~ /^\s*(\S*)\s*/ ) { $line = $1 };
|
||||
push( @ignore, "^CVSROOT\/$line", "^CVSROOT\/\.#$line" );
|
||||
}
|
||||
|
||||
return @ignore;
|
||||
}
|
||||
@@ -1,215 +1,56 @@
|
||||
#! @PERL@
|
||||
# -*-Perl-*-
|
||||
#
|
||||
#
|
||||
# Perl filter to handle pre-commit checking of files. This program
|
||||
# records the last directory where commits will be taking place for
|
||||
# use by the log_accum.pl script. For new files, it forces the
|
||||
# existence of a RCS "Id" keyword in the first ten lines of the file.
|
||||
# For existing files, it checks version number in the "Id" line to
|
||||
# prevent losing changes because an old version of a file was copied
|
||||
# into the direcory.
|
||||
#
|
||||
# Possible future enhancements:
|
||||
#
|
||||
# Check for cruft left by unresolved conflicts. Search for
|
||||
# "^<<<<<<<$", "^-------$", and "^>>>>>>>$".
|
||||
#
|
||||
# Look for a copyright and automagically update it to the
|
||||
# current year. [[ bad idea! -- woods ]]
|
||||
# use by the log_accum.pl script.
|
||||
#
|
||||
# IMPORTANT: this script interacts with log_accum, they have to agree
|
||||
# on the tmpfile name to use. See $LAST_FILE below.
|
||||
#
|
||||
# Contributed by David Hampton <[email protected]>
|
||||
# Stripped to minimum by Roy Fielding
|
||||
#
|
||||
# Hacked on lots by Greg A. Woods <[email protected]>
|
||||
############################################################
|
||||
$TMPDIR = $ENV{'TMPDIR'} || '/tmp';
|
||||
$FILE_PREFIX = '#cvs.';
|
||||
|
||||
#
|
||||
# Configurable options
|
||||
#
|
||||
# If see a "-u $USER" argument, then destructively remove it from the
|
||||
# argument list, so $ARGV[0] will be the repository dir again, as it
|
||||
# used to be before we added the -u flag.
|
||||
if ($ARGV[0] eq '-u') {
|
||||
shift @ARGV;
|
||||
$CVS_USERNAME = shift (@ARGV);
|
||||
}
|
||||
|
||||
# Constants (remember to protect strings from RCS keyword substitution)
|
||||
#
|
||||
$LAST_FILE = "/tmp/#cvs.lastdir"; # must match name in log_accum.pl
|
||||
$ENTRIES = "CVS/Entries";
|
||||
|
||||
# Patterns to find $Log keywords in files
|
||||
#
|
||||
$LogString1 = "\\\$\\Log: .* \\\$";
|
||||
$LogString2 = "\\\$\\Log\\\$";
|
||||
$NoLog = "%s - contains an RCS \$Log keyword. It must not!\n";
|
||||
|
||||
# pattern to match an RCS Id keyword line with an existing ID
|
||||
#
|
||||
$IDstring = "\"@\\(#\\)[^:]*:.*\\\$\Id: .*\\\$\"";
|
||||
$NoId = "
|
||||
%s - Does not contain a properly formatted line with the keyword \"Id:\".
|
||||
I.e. no lines match \"" . $IDstring . "\".
|
||||
Please see the template files for an example.\n";
|
||||
|
||||
# pattern to match an RCS Id keyword line for a new file (i.e. un-expanded)
|
||||
#
|
||||
$NewId = "\"@(#)[^:]*:.*\\$\Id\\$\"";
|
||||
|
||||
$NoName = "
|
||||
%s - The ID line should contain only \"@(#)module/path:\$Name\$:\$\Id\$\"
|
||||
for a newly created file.\n";
|
||||
|
||||
$BadName = "
|
||||
%s - The file name '%s' in the ID line does not match
|
||||
the actual filename.\n";
|
||||
|
||||
$BadVersion = "
|
||||
%s - How dare you!!! You replaced your copy of the file '%s',
|
||||
which was based upon version %s, with an %s version based
|
||||
upon %s. Please move your '%s' out of the way, perform an
|
||||
update to get the current version, and them merge your changes
|
||||
into that file, then try the commit again.\n";
|
||||
|
||||
#
|
||||
# Subroutines
|
||||
#
|
||||
# This needs to match the corresponding var in log_accum.pl, including
|
||||
# the appending of the pgrp and username suffixes (see uses of this
|
||||
# var farther down).
|
||||
$LAST_FILE = "$TMPDIR/${FILE_PREFIX}lastdir";
|
||||
|
||||
sub write_line {
|
||||
local($filename, $line) = @_;
|
||||
open(FILE, ">$filename") || die("Cannot open $filename, stopped");
|
||||
my ($filename, $line) = @_;
|
||||
|
||||
# A check of some kind is needed here, but the rules aren't apparent
|
||||
# at the moment:
|
||||
|
||||
# foreach($filename, $line){
|
||||
# $_ =~ m#^([-\@\w.\#]+)$#;
|
||||
# $_ = $1;
|
||||
# }
|
||||
|
||||
open(FILE, ">$filename") || die("Cannot open $filename: $!\n");
|
||||
print(FILE $line, "\n");
|
||||
close(FILE);
|
||||
}
|
||||
|
||||
sub check_version {
|
||||
local($i, $id, $rname, $version);
|
||||
local($filename, $cvsversion) = @_;
|
||||
|
||||
open(FILE, "<$filename") || return(0);
|
||||
|
||||
@all_lines = ();
|
||||
$idpos = -1;
|
||||
$newidpos = -1;
|
||||
for ($i = 0; <FILE>; $i++) {
|
||||
chop;
|
||||
push(@all_lines, $_);
|
||||
if ($_ =~ /$IDstring/) {
|
||||
$idpos = $i;
|
||||
}
|
||||
if ($_ =~ /$NewId/) {
|
||||
$newidpos = $i;
|
||||
}
|
||||
}
|
||||
|
||||
if (grep(/$LogString1/, @all_lines) || grep(/$LogString2/, @all_lines)) {
|
||||
print STDERR sprintf($NoLog, $filename);
|
||||
return(1);
|
||||
}
|
||||
|
||||
if ($debug != 0) {
|
||||
print STDERR sprintf("file = %s, version = %d.\n", $filename, $cvsversion{$filename});
|
||||
}
|
||||
|
||||
if ($cvsversion{$filename} == 0) {
|
||||
if ($newidpos != -1 && $all_lines[$newidpos] !~ /$NewId/) {
|
||||
print STDERR sprintf($NoName, $filename);
|
||||
return(1);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
if ($idpos == -1) {
|
||||
print STDERR sprintf($NoId, $filename);
|
||||
return(1);
|
||||
}
|
||||
|
||||
$line = $all_lines[$idpos];
|
||||
$pos = index($line, "Id: ");
|
||||
if ($debug != 0) {
|
||||
print STDERR sprintf("%d in '%s'.\n", $pos, $line);
|
||||
}
|
||||
($id, $rname, $version) = split(' ', substr($line, $pos));
|
||||
if ($rname ne "$filename,v") {
|
||||
print STDERR sprintf($BadName, $filename, substr($rname, 0, length($rname)-2));
|
||||
return(1);
|
||||
}
|
||||
if ($cvsversion{$filename} < $version) {
|
||||
print STDERR sprintf($BadVersion, $filename, $filename, $cvsversion{$filename},
|
||||
"newer", $version, $filename);
|
||||
return(1);
|
||||
}
|
||||
if ($cvsversion{$filename} > $version) {
|
||||
print STDERR sprintf($BadVersion, $filename, $filename, $cvsversion{$filename},
|
||||
"older", $version, $filename);
|
||||
return(1);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
#
|
||||
# Main Body
|
||||
#
|
||||
|
||||
$id = getpgrp(); # You *must* use a shell that does setpgrp()!
|
||||
|
||||
# Check each file (except dot files) for an RCS "Id" keyword.
|
||||
#
|
||||
$check_id = 0;
|
||||
|
||||
# Record the directory for later use by the log_accumulate stript.
|
||||
#
|
||||
$record_directory = 0;
|
||||
|
||||
# parse command line arguments
|
||||
#
|
||||
while (@ARGV) {
|
||||
$arg = shift @ARGV;
|
||||
|
||||
if ($arg eq '-d') {
|
||||
$debug = 1;
|
||||
print STDERR "Debug turned on...\n";
|
||||
} elsif ($arg eq '-c') {
|
||||
$check_id = 1;
|
||||
} elsif ($arg eq '-r') {
|
||||
$record_directory = 1;
|
||||
} else {
|
||||
push(@files, $arg);
|
||||
}
|
||||
}
|
||||
|
||||
$directory = shift @files;
|
||||
|
||||
if ($debug != 0) {
|
||||
print STDERR "dir - ", $directory, "\n";
|
||||
print STDERR "files - ", join(":", @files), "\n";
|
||||
print STDERR "id - ", $id, "\n";
|
||||
}
|
||||
|
||||
# Suck in the CVS/Entries file
|
||||
#
|
||||
open(ENTRIES, $ENTRIES) || die("Cannot open $ENTRIES.\n");
|
||||
while (<ENTRIES>) {
|
||||
local($filename, $version) = split('/', substr($_, 1));
|
||||
$cvsversion{$filename} = $version;
|
||||
}
|
||||
|
||||
# Now check each file name passed in, except for dot files. Dot files
|
||||
# are considered to be administrative files by this script.
|
||||
#
|
||||
if ($check_id != 0) {
|
||||
$failed = 0;
|
||||
foreach $arg (@files) {
|
||||
if (index($arg, ".") == 0) {
|
||||
next;
|
||||
}
|
||||
$failed += &check_version($arg);
|
||||
}
|
||||
if ($failed) {
|
||||
print STDERR "\n";
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
# Record this directory as the last one checked. This will be used
|
||||
# by the log_accumulate script to determine when it is processing
|
||||
# the final directory of a multi-directory commit.
|
||||
#
|
||||
if ($record_directory != 0) {
|
||||
&write_line("$LAST_FILE.$id", $directory);
|
||||
}
|
||||
$id = getpgrp();
|
||||
|
||||
&write_line("$LAST_FILE.$id.$CVS_USERNAME", $ARGV[0]);
|
||||
|
||||
exit(0);
|
||||
@@ -42,6 +42,11 @@ rm -f $revfile
|
||||
commentfile=/tmp/cvs2vendor_$$_comment
|
||||
rm -f $commentfile
|
||||
|
||||
if sort -k 1,1 /dev/null 2>/dev/null
|
||||
then sort_each_field='-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
|
||||
else sort_each_field='+0 +1 +2 +3 +4 +5 +6 +7 +8'
|
||||
fi
|
||||
|
||||
srcdirs=`cd $tsrcdir && find . -type d -print | sed 's~^\.[/]*~~'`
|
||||
|
||||
# the "" is a trick to get $tsrcdir itself without resorting to '.'
|
||||
@@ -68,7 +73,7 @@ for ldir in "" $srcdirs; do
|
||||
fi
|
||||
|
||||
# work on each rev of that file in ascending order
|
||||
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
|
||||
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
|
||||
|
||||
for rev in `cat $revfile`; do
|
||||
|
||||
|
||||
+561
-417
File diff suppressed because it is too large.
Load diff
@@ -31,7 +31,7 @@ Report bugs to <[email protected]>.'
|
||||
|
||||
Id='$Id: rcs2log,v 1.48 2001/09/05 23:07:46 eggert Exp $'
|
||||
|
||||
# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001
|
||||
# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -49,13 +49,16 @@ Id='$Id: rcs2log,v 1.48 2001/09/05 23:07:46 eggert Exp $'
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
Copyright='Copyright 2001 Free Software Foundation, Inc.
|
||||
Copyright='Copyright 1992-2003 Free Software Foundation, Inc.
|
||||
This program comes with NO WARRANTY, to the extent permitted by law.
|
||||
You may redistribute copies of this program
|
||||
under the terms of the GNU General Public License.
|
||||
For more information about these matters, see the files named COPYING.
|
||||
Author: Paul Eggert <[email protected]>'
|
||||
|
||||
# functions
|
||||
@MKTEMP_SH_FUNCTION@
|
||||
|
||||
# Use the traditional C locale.
|
||||
LANG=C
|
||||
LANGUAGE=C
|
||||
@@ -79,8 +82,10 @@ nl='
|
||||
# Parse options.
|
||||
|
||||
# defaults
|
||||
: ${MKTEMP="@MKTEMP@"}
|
||||
: ${AWK=awk}
|
||||
: ${TMPDIR=/tmp}
|
||||
|
||||
changelog=ChangeLog # change log file name
|
||||
datearg= # rlog date option
|
||||
hostname= # name of local host (if empty, will deduce it later)
|
||||
@@ -182,11 +187,11 @@ month_data='
|
||||
m[9]="Oct"; m[10]="Nov"; m[11]="Dec"
|
||||
'
|
||||
|
||||
logdir=$TMPDIR/rcs2log$$
|
||||
logdir=`$MKTEMP -d $TMPDIR/rcs2log.XXXXXX`
|
||||
test -n "$logdir" || exit
|
||||
llogout=$logdir/l
|
||||
trap exit 1 2 13 15
|
||||
trap "rm -fr $logdir 2>/dev/null" 0
|
||||
(umask 077 && exec mkdir $logdir) || exit
|
||||
|
||||
# If no rlog-format log file is given, generate one into $rlogfile.
|
||||
case $rlogfile in
|
||||
|
||||
@@ -42,13 +42,17 @@ cp $tmpfile $sedfile
|
||||
############################################################
|
||||
# Loop over every RCS file in RCS dir
|
||||
#
|
||||
if sort -k 1,1 /dev/null 2>/dev/null
|
||||
then sort_each_field='-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
|
||||
else sort_each_field='+0 +1 +2 +3 +4 +5 +6 +7 +8'
|
||||
fi
|
||||
for vfile in *,v; do
|
||||
# get rid of the ",v" at the end of the name
|
||||
file=`echo $vfile | sed -e 's/,v$//'`
|
||||
|
||||
# work on each rev of that file in ascending order
|
||||
firsttime=1
|
||||
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
|
||||
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
|
||||
for rev in `cat $revfile`; do
|
||||
if [ $? != 0 ]; then
|
||||
echo ERROR - revision
|
||||
|
||||
@@ -42,6 +42,12 @@
|
||||
# ...!harvard!cg-atla!viewlog!kenstir
|
||||
#
|
||||
# Various hacks made by Brian Berliner before inclusion in CVS contrib area.
|
||||
#
|
||||
# Modified to detect SCCS binary files. If binary, skip the keyword
|
||||
# substitution and flag the RCS file as binary (using rcs -i -kb).
|
||||
# -Allan G. Schrum [email protected] [email protected]
|
||||
# Fri Sep 26 10:40:40 EDT 2003
|
||||
#
|
||||
# $FreeBSD$
|
||||
|
||||
|
||||
@@ -164,6 +170,13 @@ end
|
||||
|
||||
onintr ERROR
|
||||
|
||||
sort -k 1,1 /dev/null >& /dev/null
|
||||
if ($status == 0) then
|
||||
set sort_each_field = '-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
|
||||
else
|
||||
set sort_each_field = '+0 +1 +2 +3 +4 +5 +6 +7 +8'
|
||||
endif
|
||||
|
||||
############################################################
|
||||
# Loop over every s-file in SCCS dir
|
||||
#
|
||||
@@ -173,7 +186,18 @@ foreach sfile (SCCS/s.*)
|
||||
|
||||
# work on each rev of that file in ascending order
|
||||
set firsttime = 1
|
||||
sccs prs $file | grep "^D " | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
|
||||
|
||||
# Only scan the file up to the "I" keyword, then see if
|
||||
# the "f" keyword is set to binary. The SCCS file has
|
||||
# <ctrl>-aI denoting the start of the file (or end of header).
|
||||
set binary = (`sed -e '/^.I/,$d' < $sfile | grep '^.f e 1$'`)
|
||||
#if ($#binary) then
|
||||
# echo This is a binary file
|
||||
#else
|
||||
# echo This is not a binary file
|
||||
#endif
|
||||
|
||||
sccs prs $file | grep "^D " | @AWK@ '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
|
||||
foreach rev (`cat $revfile`)
|
||||
if ($status != 0) goto ERROR
|
||||
|
||||
@@ -182,23 +206,34 @@ foreach sfile (SCCS/s.*)
|
||||
# Is the substr stuff and the +0 in the following awk script really
|
||||
# necessary? It seems to me that if we didn't find the date format
|
||||
# we expected in the output we have other problems.
|
||||
set date = `sccs prs -r$rev $file | awk '/^D / {print (substr($3,0,2)+0<70?20:19) $3, $4; exit}'`
|
||||
set author = `sccs prs -r$rev $file | awk '/^D / {print $5; exit}'`
|
||||
# Note: Solaris awk does not like the following line. Use gawk
|
||||
# mawk, or nawk instead.
|
||||
set date = `sccs prs -r$rev $file | @AWK@ '/^D / {print (substr($3,0,2)+0<70?20:19) $3, $4; exit}'`
|
||||
set author = `sccs prs -r$rev $file | @AWK@ '/^D / {print $5; exit}'`
|
||||
echo ""
|
||||
echo "==> file $file, rev=$rev, date=$date, author=$author"
|
||||
sccs edit -r$rev $file >>& $logfile
|
||||
if ($status != 0) goto ERROR
|
||||
echo checked out of SCCS
|
||||
|
||||
# add RCS keywords in place of SCCS keywords
|
||||
sed -f $sedfile $file > $tmpfile
|
||||
if ($status != 0) goto ERROR
|
||||
echo performed keyword substitutions
|
||||
cp $tmpfile $file
|
||||
# add RCS keywords in place of SCCS keywords (only if not binary)
|
||||
if ($#binary == 0) then
|
||||
sed -f $sedfile $file > $tmpfile
|
||||
if ($status != 0) goto ERROR
|
||||
echo performed keyword substitutions
|
||||
cp $tmpfile $file
|
||||
endif
|
||||
|
||||
# check file into RCS
|
||||
if ($firsttime) then
|
||||
set firsttime = 0
|
||||
|
||||
if ($#binary) then
|
||||
echo this is a binary file
|
||||
# Mark initial, empty file as binary
|
||||
rcs -i -kb -t$emptyfile $file
|
||||
endif
|
||||
|
||||
if ($nodesc) then
|
||||
echo about to do ci
|
||||
echo ci -f -r$rev -d"$date" -w$author -t$emptyfile $file
|
||||
|
||||
+200
-118
@@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
# Copyright 1999, 2000 Free Software Foundation, Inc.
|
||||
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -18,6 +18,11 @@
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <[email protected]>.
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
@@ -26,7 +31,16 @@ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
fi
|
||||
# `libtool' can also be set to `yes' or `no'.
|
||||
|
||||
depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
|
||||
if test -z "$depfile"; then
|
||||
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
|
||||
dir=`echo "$object" | sed 's,/.*$,/,'`
|
||||
if test "$dir" = "$object"; then
|
||||
dir=
|
||||
fi
|
||||
# FIXME: should be _deps on DOS.
|
||||
depfile="$dir.deps/$base"
|
||||
fi
|
||||
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
@@ -50,8 +64,9 @@ fi
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay!
|
||||
"$@" -MT "$object" -MF "$tmpdepfile" -MD -MP
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
@@ -157,19 +172,25 @@ sgi)
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. This file always lives in the current directory.
|
||||
# Also, the AIX compiler puts `$object:' at the start of each line;
|
||||
# $object doesn't have directory information.
|
||||
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
outname="$stripped.o"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
"$@" -M
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
|
||||
if test -f "$tmpdepfile"; then :
|
||||
else
|
||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||
tmpdepfile="$stripped.u"
|
||||
fi
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
@@ -177,6 +198,7 @@ aix)
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
outname="$stripped.o"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
@@ -191,29 +213,80 @@ aix)
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler understands `-MD -MF file'. However on
|
||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want:
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using \ :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||
sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 AIX compiler uses -MD to generate dependencies as a side
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
tmpdepfile="$object.d"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1="$dir.libs/$base.lo.d"
|
||||
tmpdepfile2="$dir.libs/$base.d"
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1="$dir$base.o.d"
|
||||
tmpdepfile2="$dir$base.d"
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile1"; then
|
||||
tmpdepfile="$tmpdepfile1"
|
||||
else
|
||||
tmpdepfile="$tmpdepfile2"
|
||||
fi
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a space and a tab in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
@@ -226,34 +299,42 @@ tru64)
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the proprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
( IFS=" "
|
||||
case " $* " in
|
||||
*" --mode=compile "*) # this is libtool, let us make it quiet
|
||||
for arg
|
||||
do # cycle over the arguments
|
||||
case "$arg" in
|
||||
"--mode=compile")
|
||||
# insert --quiet before "--mode=compile"
|
||||
set fnord "$@" --quiet
|
||||
shift # fnord
|
||||
;;
|
||||
esac
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # "$arg"
|
||||
done
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
"$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
) &
|
||||
proc=$!
|
||||
"$@"
|
||||
stat=$?
|
||||
wait "$proc"
|
||||
if test "$stat" != 0; then exit $stat; fi
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for `:'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
@@ -271,36 +352,40 @@ dashXmstdout)
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
# X makedepend
|
||||
(
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in no)
|
||||
set ""; shift
|
||||
cleared=yes
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift;;
|
||||
-*)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift;;
|
||||
esac
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
) &
|
||||
proc=$!
|
||||
"$@"
|
||||
stat=$?
|
||||
wait "$proc"
|
||||
if test "$stat" != 0; then exit $stat; fi
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tail +3 "$tmpdepfile" | tr ' ' '
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
@@ -310,35 +395,39 @@ makedepend)
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the proprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
( IFS=" "
|
||||
case " $* " in
|
||||
*" --mode=compile "*)
|
||||
for arg
|
||||
do # cycle over the arguments
|
||||
case $arg in
|
||||
"--mode=compile")
|
||||
# insert --quiet before "--mode=compile"
|
||||
set fnord "$@" --quiet
|
||||
shift # fnord
|
||||
;;
|
||||
esac
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # "$arg"
|
||||
done
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
"$@" -E |
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
) &
|
||||
proc=$!
|
||||
"$@"
|
||||
stat=$?
|
||||
wait "$proc"
|
||||
if test "$stat" != 0; then exit $stat; fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
@@ -348,34 +437,27 @@ cpp)
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the proprocessed file to stdout, regardless of -o,
|
||||
# always write the preprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
( IFS=" "
|
||||
case " $* " in
|
||||
*" --mode=compile "*)
|
||||
for arg
|
||||
do # cycle over the arguments
|
||||
case $arg in
|
||||
"--mode=compile")
|
||||
# insert --quiet before "--mode=compile"
|
||||
set fnord "$@" --quiet
|
||||
shift # fnord
|
||||
;;
|
||||
esac
|
||||
"$@" || exit $?
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # "$arg"
|
||||
done
|
||||
;;
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
) &
|
||||
proc=$!
|
||||
"$@"
|
||||
stat=$?
|
||||
wait "$proc"
|
||||
if test "$stat" != 0; then exit $stat; fi
|
||||
done
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
|
||||
@@ -1,3 +1,54 @@
|
||||
2004-05-15 Derek Price <[email protected]>
|
||||
|
||||
* libdiff.dsp: Header file list updated.
|
||||
* libdiff.dep: Regenerated for "libdiff.dsp" changes.
|
||||
* libdiff.mak: Regenerated for "libdiff.dsp" changes.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
2004-05-13 Derek Price <[email protected]>
|
||||
|
||||
* .cvsignore: Changed for "libdiff.dsp" changes.
|
||||
* libdiff.dep: Added for "../cvsnt.dsw" changes.
|
||||
* libdiff.dsp: Changed for "../cvsnt.dsw" changes.
|
||||
* libdiff.mak: Regenerated for "../cvsnt.dsw" changes.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
2004-03-20 Derek Price <[email protected]>
|
||||
|
||||
* diff.c (diff_run): Update string arg to const.
|
||||
* diffrun.h: Update prototype to match.
|
||||
|
||||
2003-07-12 Larry Jones <[email protected]>
|
||||
|
||||
* io.c (find_identical_ends): Update to match current diffutils
|
||||
code and improve handling of files with no newline at end.
|
||||
(Patch from Andrew Moise <[email protected]>.)
|
||||
|
||||
2003-06-13 Derek Price <[email protected]>
|
||||
|
||||
* diff3.c (read_diff): Fix memory leak.
|
||||
(Patch from Kenneth Lorber <[email protected]>.)
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerate with Automake version 1.7.5.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Define S_ISSOCK on SCO OpenServer.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-01 Larry Jones <[email protected]>
|
||||
|
||||
* util.c (finish_output): Handle EINTR from waitpid.
|
||||
|
||||
2002-09-24 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated using Automake 1.6.3.
|
||||
|
||||
@@ -21,4 +21,5 @@ libdiff_a_SOURCES = diff.c diff3.c analyze.c cmpbuf.c cmpbuf.h io.c \
|
||||
context.c ed.c normal.c ifdef.c util.c dir.c version.c diff.h \
|
||||
side.c system.h diffrun.h
|
||||
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note libdiff.dsp
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note \
|
||||
libdiff.dep libdiff.dsp libdiff.mak
|
||||
+145
-71
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -13,79 +13,117 @@
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/lib
|
||||
|
||||
@@ -96,8 +134,11 @@ libdiff_a_SOURCES = diff.c diff3.c analyze.c cmpbuf.c cmpbuf.h io.c \
|
||||
side.c system.h diffrun.h
|
||||
|
||||
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note libdiff.dsp
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note \
|
||||
libdiff.dep libdiff.dsp libdiff.mak
|
||||
|
||||
subdir = diff
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
@@ -111,11 +152,7 @@ am_libdiff_a_OBJECTS = diff.$(OBJEXT) diff3.$(OBJEXT) analyze.$(OBJEXT) \
|
||||
version.$(OBJEXT) side.$(OBJEXT)
|
||||
libdiff_a_OBJECTS = $(am_libdiff_a_OBJECTS)
|
||||
|
||||
DEFS = @DEFS@
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/analyze.Po ./$(DEPDIR)/cmpbuf.Po \
|
||||
@@ -129,19 +166,18 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
CFLAGS = @CFLAGS@
|
||||
DIST_SOURCES = $(libdiff_a_SOURCES)
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in
|
||||
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am
|
||||
SOURCES = $(libdiff_a_SOURCES)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .obj
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu diff/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
|
||||
AR = ar
|
||||
@@ -173,26 +209,35 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf ./$(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
|
||||
uninstall-info-am:
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
CTAGS = ctags
|
||||
CTAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
@@ -218,20 +263,41 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -256,7 +322,6 @@ check: check-am
|
||||
all-am: Makefile $(LIBRARIES)
|
||||
|
||||
installdirs:
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
@@ -268,7 +333,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -276,7 +341,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -286,9 +351,10 @@ clean: clean-am
|
||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-tags
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
@@ -309,25 +375,33 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES distclean distclean-compile \
|
||||
distclean-depend distclean-generic distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic tags uninstall uninstall-am \
|
||||
uninstall-info-am
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES ctags distclean distclean-compile \
|
||||
distclean-generic distclean-tags distdir dvi dvi-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
|
||||
ps ps-am tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
||||
@@ -233,11 +233,13 @@ static struct option const longopts[] =
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
int
|
||||
diff_run (argc, argv, out, callbacks_arg)
|
||||
int argc;
|
||||
char *argv[];
|
||||
char *out;
|
||||
const char *out;
|
||||
const struct diff_callbacks *callbacks_arg;
|
||||
{
|
||||
int val;
|
||||
|
||||
@@ -1363,6 +1363,7 @@ read_diff (filea, fileb, output_placement)
|
||||
if (close (fd) != 0)
|
||||
diff3_perror_with_exit ("pipe close");
|
||||
unlink (diffout);
|
||||
free( diffout );
|
||||
|
||||
return diff_result + total;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ struct diff_callbacks
|
||||
|
||||
/* Run a diff. */
|
||||
|
||||
extern int diff_run DIFFPARAMS((int, char **, char *,
|
||||
extern int diff_run DIFFPARAMS((int, char **, const char *,
|
||||
const struct diff_callbacks *));
|
||||
|
||||
/* Run a diff3. */
|
||||
|
||||
@@ -508,11 +508,10 @@ find_identical_ends (filevec)
|
||||
beg0 = filevec[0].prefix_end + (n0 < n1 ? 0 : n0 - n1);
|
||||
|
||||
/* Scan back until chars don't match or we reach that point. */
|
||||
while (p0 != beg0)
|
||||
if (*--p0 != *--p1)
|
||||
for (; p0 != beg0; p0--, p1--)
|
||||
if (*p0 != *p1)
|
||||
{
|
||||
/* Point at the first char of the matching suffix. */
|
||||
++p0, ++p1;
|
||||
beg0 = p0;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -61,9 +61,19 @@ GNU General Public License for more details.
|
||||
#if !defined(S_ISFIFO) && defined(S_IFFIFO)
|
||||
#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFFIFO)
|
||||
#endif
|
||||
#if !defined(S_ISSOCK) && defined(S_IFSOCK)
|
||||
#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
|
||||
#endif
|
||||
|
||||
#ifndef S_ISSOCK
|
||||
# if defined( S_IFSOCK )
|
||||
# ifdef S_IFMT
|
||||
# define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
|
||||
# else
|
||||
# define S_ISSOCK(mode) ((mode) & S_IFSOCK)
|
||||
# endif /* S_IFMT */
|
||||
# elif defined( S_ISNAM )
|
||||
/* SCO OpenServer 5.0.6a */
|
||||
# define S_ISSOCK S_ISNAM
|
||||
# endif /* !S_IFSOCK && S_ISNAM */
|
||||
#endif /* !S_ISSOCK */
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -300,7 +300,7 @@ finish_output ()
|
||||
if (paginate_flag && outfile != 0 && outfile != stdout)
|
||||
{
|
||||
#ifdef PR_PROGRAM
|
||||
int wstatus;
|
||||
int wstatus, w;
|
||||
if (ferror (outfile))
|
||||
fatal ("write error");
|
||||
# if ! HAVE_FORK
|
||||
@@ -308,7 +308,9 @@ finish_output ()
|
||||
# else /* HAVE_FORK */
|
||||
if (fclose (outfile) != 0)
|
||||
pfatal_with_name ("write error");
|
||||
if (waitpid (pr_pid, &wstatus, 0) < 0)
|
||||
while ((w = waitpid (pr_pid, &wstatus, 0)) < 0 && errno == EINTR)
|
||||
;
|
||||
if (w < 0)
|
||||
pfatal_with_name ("waitpid");
|
||||
# endif /* HAVE_FORK */
|
||||
if (wstatus != 0)
|
||||
|
||||
+523
-1
@@ -1,3 +1,525 @@
|
||||
2004-05-28 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Global options): Remove reference to global -l option.
|
||||
(Report from Kevin Bulgrien <[email protected]>.)
|
||||
|
||||
2004-05-14 Mark D. Baushke <[email protected]>
|
||||
|
||||
* cvs.texinfo: Fix makeinfo error.
|
||||
|
||||
* cvs.texinfo (Adding files): Minor cleanup.
|
||||
(Using keywords): Minor cleanup.
|
||||
(annotate): Move into the manual section, split into three nodes.
|
||||
(annotate options): New node.
|
||||
(annotate example): New node.
|
||||
(based on patch from Steve McIntyre <[email protected]>.)
|
||||
(Locks, GSSAPI authenticated): Minor cleanup.
|
||||
(Sticky tags): Clarify operation.
|
||||
(Locks): Spelling fix.
|
||||
(Merging adds and removals): Ditto.
|
||||
(Invoking CVS): Ditto
|
||||
(Builds): Grammar fix.
|
||||
(Line group formats): Ditto
|
||||
(Line group formats, Line formats): Ditto
|
||||
(commit files): Ditto.
|
||||
* cvs.1, stamp-vti, version.texi: Regenerated
|
||||
|
||||
2004-05-12 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Clarify status messages.
|
||||
|
||||
2004-05-10 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Organize & tidy comments. Check for unprocessed texinfo
|
||||
commands. Output better error messages on finding unprocessed texinfo
|
||||
commands.
|
||||
(do_keyword, keyword_mode): Accept $file argument for error messages.
|
||||
|
||||
2004-05-06 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Require Perl 5.005. Add comments. Remove duplicate s///.
|
||||
Handle @:.
|
||||
|
||||
2004-05-06 Derek Price <[email protected]>
|
||||
|
||||
* cvs.man.header: Minor text correction.
|
||||
* mkman.in: Ignore @need keyword. Restore previous font for nested
|
||||
keywords.
|
||||
(do_keyword): Ditto on fonts. Move some functionality to...
|
||||
(keyword_mode): ...this new function.
|
||||
|
||||
2004-05-06 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Handle keywords that cross multiple lines.
|
||||
(do_keyword): New function.
|
||||
|
||||
2004-05-04 Derek Price <[email protected]>
|
||||
|
||||
* cvs.man.header, cvs.man.footer: Reference `info CVS' rather than
|
||||
`info cvs' to send users to the top node.
|
||||
|
||||
2004-05-03 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am: mkman is built in the build dir, not $(srcdir).
|
||||
(Report from Mark D. Baushke <[email protected]>.)
|
||||
|
||||
2004-05-03 Derek Price <[email protected]>
|
||||
|
||||
* HACKING.DOCS: Fix spelling error. Add reference for @strong.
|
||||
(Report from Mark D. Baushke <[email protected]>.)
|
||||
|
||||
* HACKING.DOCS: Note dependency on `makeinfo' 3.11 & greater.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Handle single quotes better. Parse out some redundancy
|
||||
from node and section names.
|
||||
* cvs.man.footer: Replace some quotes with the usual bold font.
|
||||
Reformat links in the SEE ALSO section.
|
||||
* cvs.1: Regenerated.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Handle examples better. Protect a few more characters.
|
||||
* cvs.1, stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* cvs.man.header: Add copyright notice.
|
||||
* cvs.1: Regenerated.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Add copyright and license notice.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Handle @@.
|
||||
* cvs.1: Regenerated.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
First pass at closing issue #3 on cvshome.org.
|
||||
* .cvsignore: Ignore mkman.
|
||||
* cvs.1, mkman.in, cvs.man.header, cvs.man.footer: New files.
|
||||
* cvs.texinfo: Add cut tags for mkman.
|
||||
* Makefile.in (man_MANS): Add cvs.1.
|
||||
(EXTRA_DIST): Add cvs.man.header & cvs.man.footer.
|
||||
(cvs.1, mkman): New targets.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2004-04-23 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Update years in Copyright.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-04-21 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Use splitrcskeyword macro consistently in a failed
|
||||
attempt to avoid a warning during PDF generation.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-04-18 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Various spelling, typo, and capitalization fixes.
|
||||
(Patch from Ville Skyttä <[email protected]>.)
|
||||
|
||||
2004-04-06 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (Assigning revisions): Note that client/server mode
|
||||
only considers files sent to the server to determine the major
|
||||
revision for new files.
|
||||
(Reported by Krzysztof GORBIEL <[email protected]>.)
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-03-15 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-03-11 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (loginfo, Error messages): Note that not reading all of
|
||||
the log info can result in a broken pipe signal.
|
||||
(Reported by Steven Nicoloso <[email protected]>.)
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-02-04 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (File Permissions): Clarify index entry.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-01-22 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-01-08 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (user-defined logging): Move taginfo stuff from here...
|
||||
(Administrative files): ...to its own node under here.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.11.1.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.11.
|
||||
|
||||
2003-12-05 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated.
|
||||
|
||||
2003-12-04 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.10.1.
|
||||
|
||||
2003-12-04 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.10.
|
||||
|
||||
2003-11-18 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-11-13 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (Reverting local changes): Use the same vendor tag
|
||||
in the admin command as was used in the previous import commands.
|
||||
|
||||
2003-11-10 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-11-07 Mark D. Baushke <[email protected]>
|
||||
|
||||
* cvs.texinfo (CVS commands): Fix typo.
|
||||
(FreeBSD PR docs/58669 reported by Ceri Davies <[email protected]>.)
|
||||
|
||||
2003-10-30 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-10-30 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (File permissions, Error messages): Add index entries for
|
||||
CVSROOT/val-tags file.
|
||||
|
||||
2003-10-21 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Note gnu.cvs.* usenet mirrors of the email lists.
|
||||
(Suggestion from Paul Edwards, from somewhere in Australia.)
|
||||
|
||||
* cvs.texinfo: Put email addresses in @email{} tags and URLs in @url{}
|
||||
tags rather than relying on markup like @code{}.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
|
||||
testing with _POSIX2_VERSION=200112 in the environment.
|
||||
|
||||
* cvs.texinfo: Suggest 'sed 1q', not 'head -1'.
|
||||
(Patch from Paul Eggert <[email protected]>.)
|
||||
|
||||
2003-10-10 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.9.1.
|
||||
|
||||
2003-10-10 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.9.
|
||||
|
||||
2003-10-06 Derek Price <[email protected]>
|
||||
|
||||
* cvsclient.texi (Requests): Add recommendation to client developers to
|
||||
avoid the `Case' request.
|
||||
* stamp-1, version-client.texi: Regenerated.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.8.1.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.8.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.7.1.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.7.
|
||||
|
||||
2003-09-12 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (checkoutlist): Document the error messages which may be
|
||||
specified in this file.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-08-27 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (history options): Note the 'P' record type which
|
||||
has been around for a long time but never actually appeared in
|
||||
the history file due to bugs in the code.
|
||||
(Invoking CVS): Ditto.
|
||||
(config): Ditto.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-08-07 Derek Price <[email protected]>
|
||||
|
||||
* .cvsignore: Ignore {cvs,cvsclient}.txt.
|
||||
|
||||
2003-08-07 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Use the @dircategory and @direntry commands from texinfo
|
||||
rather than rolling our own.
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-08-07 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am (POSTSCRIPTS): Rename to...
|
||||
(PSS): ...to sync with and override Automakes default targets.
|
||||
(PDFS): Reorder to match PSS.
|
||||
(SUFFIXES): Remove .pdf and .aux.
|
||||
(cvs.aux, cvs.pdf, cvsclient.aux, cvsclient.pdf): Remove these targets.
|
||||
.aux weren't being generated anyhow and .pdf no longer need to be
|
||||
supplied explicitly.
|
||||
(cvs-paper.pdf: cvs-paper.ps): Provide ps2pdf rule explicitly.
|
||||
(.{texinfo,texi,txy}.pdf): Remove these suffix rules - they are now
|
||||
provided by Automake.
|
||||
|
||||
2003-08-06 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am (CLEANFILES): Move...
|
||||
(MOSTLYCLEANFILES): ...here and drop PDFs since this is where Automake
|
||||
cleans PDFs & PSs by default.
|
||||
(MAINTAINERCLEANFILES): Clean all PostScripts even though they will
|
||||
have been removed in mostlyclean. That is a bug in Automake.
|
||||
(doc): Depend on info & ps.
|
||||
(pdf, ps): Removed in favor of Automake's default targets for these
|
||||
types.
|
||||
(cvsclient.* targets): Depened on version-client.texi.
|
||||
(cvs-paper.pdf): Remove in favor of Automake's default target.
|
||||
(.{texinfo,texi,txi}.{pdf,txt}): Update these targets based on
|
||||
Automake's similar treatment of dvi, ps, and info targets.
|
||||
* .cvsignore: Add cvs.tmp, a `make pdf' generated file.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Put a few errant references to bug-cvs inside @code{}
|
||||
for consistancy.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Update WARNINGs and Notes for a more consistent
|
||||
appearance. Remove some obsolete comments.
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Regenerated.
|
||||
|
||||
2003-07-12 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (Binary howto): Add note about how to determine whether
|
||||
a file is marked as binary or not.
|
||||
(Suggested by Erik Sigra <[email protected]>.)
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Regenerated.
|
||||
|
||||
2003-06-23 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-06-16 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (splitrcskeyword): New macro, now that @ifhtml will work
|
||||
properly with texi2html (as of version 1.68), to cause output HTML to
|
||||
contain <i></i> where we used to have @asis{} and prevent RCS keyword
|
||||
substitution in generated HTML.
|
||||
(Original patch from Patrice Dumas <[email protected]>.)
|
||||
|
||||
2003-06-11 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Invoking CVS): Remove `-P' from the list of `cvs export'
|
||||
options.
|
||||
(Patch from Alexander Taler <[email protected]>.)
|
||||
|
||||
2003-06-11 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Top): Remove out-of-date (by at least 5 years) comment.
|
||||
(Patch from Alexander Taler <[email protected]>.)
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Consolidate copyright notices into a single macro that
|
||||
is called elsewhere to avoid needing three of them. Update copyright
|
||||
notice.
|
||||
(BUGS): Suggest Ximbiot rather than the defunct Signum Support as CVS
|
||||
consultants.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-05-26 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1: Regenerated for 1.11.6.1.
|
||||
* stamp-vti: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-05-25 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1: Regenerated for 1.11.6.
|
||||
* stamp-vti: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerate with Automake version 1.7.5.
|
||||
|
||||
2003-04-28 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Working directory storage, Module options, Module
|
||||
program options): Remove references to Checkin.prog and Update.prog.
|
||||
(commit options): Remove reference to -n option.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-03-26 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-03-25 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (Server temporary directory): Reorder list of places
|
||||
to match code.
|
||||
(Connection): Add additional example error message and note about
|
||||
firewall software.
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-03-24 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am: Update copyright notice.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-03-06 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (What is CVS?): Correct date of first post of CVS by
|
||||
Dick Grune from December to July based on the archive posted on
|
||||
Google:
|
||||
<http://groups.google.com/groups?q=Grune+cvs+group:mod.sources.*&hl=en&lr=&ie=UTF-8&selm=122%40mirror.UUCP&rnum=2>.
|
||||
(Thanks to David A Wheeler <[email protected]>.)
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-03-05 Mark D. Baushke <[email protected]>
|
||||
|
||||
* cvs.texinfo (CVS_LOCAL_BRANCH_NUM): Backout CVS_LOCAL_BRANCH_NUM
|
||||
feature.
|
||||
|
||||
* cvs.texinfo (CVS_LOCAL_BRANCH_NUM): Document new environment
|
||||
variable.
|
||||
|
||||
2003-02-27 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Environment variables): Make the information on
|
||||
CVS_CLIENT_PORT slightly clearer.
|
||||
(Kerberos authenticated): XREF the Environment variables node.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* stamp-1: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
|
||||
2003-02-06 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Working directory storage, Module options,
|
||||
Module program options): Correct description of where Checkin.prog
|
||||
and Update.prog are run. Provide more index entries and cross
|
||||
references. Remove some FIXME comments. Add a FIXCVS THEN FIXME.
|
||||
(Thanks to Art Manion at the CERT Coordination Center <[email protected]>.)
|
||||
|
||||
2003-02-04 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (File status): Mention the "Unresolved Conflict" status
|
||||
which was apparently and erroneously removed from the doc at some
|
||||
point in the past.
|
||||
|
||||
2003-02-03 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Merging a branch): Mention the GCA as opposed to the
|
||||
"branch point" as the implicit revision when merging a branch.
|
||||
|
||||
2003-02-03 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Remote repositories): :METHOD: is optional.
|
||||
|
||||
2003-02-03 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Committing your changes): Move index entries closer to
|
||||
their corresponding references.
|
||||
(Environment variables): Include $VISUAL in order of
|
||||
preference. Add index entries. Reference Global options node.
|
||||
(Variables): Change order of list to match the Env. Variables node
|
||||
mentioned above.
|
||||
|
||||
* stamp-1: Regenerated.
|
||||
* stamp-vti: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-02-14 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Watch Information, Editing files, Getting Notified,
|
||||
Setting a watch): Edit usage specs for correctness and uniformity.
|
||||
(Sticky tags): Use ref rather than xref to avoid a warning from
|
||||
makeinfo.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-01-23 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1: Regenerated.
|
||||
* stamp-vti: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-01-22 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (config): Correct LogHistory default (U was omitted).
|
||||
|
||||
2003-01-16 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1: Regenerated for version (1.11.5).
|
||||
@@ -179,7 +701,7 @@
|
||||
* Makefile.in: Regenerated.
|
||||
* stamp-1: New file.
|
||||
* version-client.texi: Ditto.
|
||||
(Reportred by Alexey Mahotkin <[email protected]>.)
|
||||
(Reported by Alexey Mahotkin <[email protected]>.)
|
||||
|
||||
2001-09-04 Derek Price <[email protected]>
|
||||
|
||||
|
||||
+31
-34
@@ -1,6 +1,8 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# Makefile for GNU CVS documentation (excluding man pages - see ../man).
|
||||
# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -13,15 +15,16 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
info_TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
man_MANS = cvs.1
|
||||
|
||||
POSTSCRIPTS = \
|
||||
PSS = \
|
||||
cvs.ps \
|
||||
cvs-paper.ps \
|
||||
cvsclient.ps
|
||||
|
||||
PDFS = \
|
||||
cvs-paper.pdf \
|
||||
cvs.pdf \
|
||||
cvs-paper.pdf \
|
||||
cvsclient.pdf
|
||||
|
||||
TXTS = \
|
||||
@@ -29,25 +32,26 @@ TXTS = \
|
||||
cvsclient.txt
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(POSTSCRIPTS) \
|
||||
$(PSS) \
|
||||
.cvsignore \
|
||||
ChangeLog.fsf \
|
||||
RCSFILES \
|
||||
mdate-sh \
|
||||
cvs-paper.ms
|
||||
cvs.1 \
|
||||
cvs-paper.ms \
|
||||
cvs.man.header \
|
||||
cvs.man.footer
|
||||
|
||||
CLEANFILES = \
|
||||
$(PDFS) \
|
||||
MOSTLYCLEANFILES = \
|
||||
$(TXTS)
|
||||
|
||||
# These Automake generates MOSTLYCLEAN targets for PostScripts genersted from
|
||||
# TEXINFOS, but it shouldn't when those files are in EXTRA_DIST
|
||||
MAINTAINERCLEANFILES = \
|
||||
cvs-paper.ps
|
||||
$(PSS)
|
||||
|
||||
doc ps: $(POSTSCRIPTS)
|
||||
.PHONY: doc ps
|
||||
|
||||
pdf: $(PDFS)
|
||||
.PHONY: pdf
|
||||
doc: info ps
|
||||
.PHONY: doc
|
||||
|
||||
txt: $(TXTS)
|
||||
.PHONY: txt
|
||||
@@ -58,8 +62,8 @@ dvi: cvs.dvi cvsclient.dvi
|
||||
# FIXME-AUTOMAKE:
|
||||
# For some reason if I remove version.texi, it doesn't get built automatically.
|
||||
# This needs to be fixed in automake.
|
||||
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi
|
||||
cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.txt: cvsclient.texi $(srcdir)/version-client.texi
|
||||
|
||||
# These targets need to be very specific so that the other PDFs get generated
|
||||
# correctly. If they are more generic and cvs.ps is made before cvs.pdf, then
|
||||
@@ -70,36 +74,29 @@ cvs-paper.ps: cvs-paper.ms
|
||||
mv $@-t $@
|
||||
|
||||
cvs-paper.pdf: cvs-paper.ps
|
||||
$(PS2PDF) $< $@
|
||||
ps2pdf $< $@
|
||||
|
||||
SUFFIXES = .aux .txt .pdf
|
||||
# Targets to build a man page from cvs.texinfo.
|
||||
cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer
|
||||
./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \
|
||||
$(srcdir)/cvs.man.footer >$@
|
||||
|
||||
# texinfo based targets automake neglects to include
|
||||
.texinfo.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.txi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.texi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
|
||||
SUFFIXES = .txt
|
||||
.texinfo.txt:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
.txi.txt:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
.texi.txt:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
##
|
||||
## MAINTAINER Targets
|
||||
##
|
||||
|
||||
## realclean ##
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
+282
-176
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -15,7 +15,9 @@
|
||||
@SET_MAKE@
|
||||
|
||||
# Makefile for GNU CVS documentation (excluding man pages - see ../man).
|
||||
# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -26,91 +28,130 @@
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
info_TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
man_MANS = cvs.1
|
||||
|
||||
POSTSCRIPTS = \
|
||||
PSS = \
|
||||
cvs.ps \
|
||||
cvs-paper.ps \
|
||||
cvsclient.ps
|
||||
|
||||
|
||||
PDFS = \
|
||||
cvs-paper.pdf \
|
||||
cvs.pdf \
|
||||
cvs-paper.pdf \
|
||||
cvsclient.pdf
|
||||
|
||||
|
||||
@@ -120,157 +161,162 @@ TXTS = \
|
||||
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(POSTSCRIPTS) \
|
||||
$(PSS) \
|
||||
.cvsignore \
|
||||
ChangeLog.fsf \
|
||||
RCSFILES \
|
||||
mdate-sh \
|
||||
cvs-paper.ms
|
||||
cvs.1 \
|
||||
cvs-paper.ms \
|
||||
cvs.man.header \
|
||||
cvs.man.footer
|
||||
|
||||
|
||||
CLEANFILES = \
|
||||
$(PDFS) \
|
||||
MOSTLYCLEANFILES = \
|
||||
$(TXTS)
|
||||
|
||||
|
||||
# These Automake generates MOSTLYCLEAN targets for PostScripts genersted from
|
||||
# TEXINFOS, but it shouldn't when those files are in EXTRA_DIST
|
||||
MAINTAINERCLEANFILES = \
|
||||
cvs-paper.ps
|
||||
$(PSS)
|
||||
|
||||
|
||||
SUFFIXES = .aux .txt .pdf
|
||||
# texinfo based targets automake neglects to include
|
||||
SUFFIXES = .txt
|
||||
subdir = doc
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
CONFIG_CLEAN_FILES = mkman
|
||||
DIST_SOURCES =
|
||||
am__TEXINFO_TEX_DIR = $(srcdir)
|
||||
INFO_DEPS = cvs.info cvsclient.info
|
||||
DVIS = cvs.dvi cvsclient.dvi
|
||||
TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in mdate-sh stamp-1 \
|
||||
stamp-vti texinfo.tex version-client.texi version.texi
|
||||
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am mdate-sh \
|
||||
mkman.in stamp-1 stamp-vti texinfo.tex version-client.texi \
|
||||
version.texi
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .aux .txt .pdf .dvi .info .ps .texi .texinfo .txi
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
.SUFFIXES: .txt .dvi .info .pdf .ps .texi .texinfo .txi
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
mkman: $(top_builddir)/config.status mkman.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
$(srcdir)/version.texi: $(srcdir)/stamp-vti
|
||||
@:
|
||||
$(srcdir)/stamp-vti: cvs.texinfo $(top_srcdir)/configure.in
|
||||
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/cvs.texinfo`; \
|
||||
.texinfo.info:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.texinfo.pdf:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
cvs.info: cvs.texinfo version.texi
|
||||
cvs.dvi: cvs.texinfo version.texi
|
||||
cvs.pdf: cvs.texinfo version.texi
|
||||
version.texi: @MAINTAINER_MODE_TRUE@ stamp-vti
|
||||
stamp-vti: cvs.texinfo $(top_srcdir)/configure
|
||||
@(dir=.; test -f ./cvs.texinfo || dir=$(srcdir); \
|
||||
set `$(SHELL) $(srcdir)/mdate-sh $$dir/cvs.texinfo`; \
|
||||
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||
echo "@set EDITION $(VERSION)"; \
|
||||
echo "@set VERSION $(VERSION)") > vti.tmp
|
||||
@cmp -s vti.tmp $(srcdir)/version.texi \
|
||||
|| (echo "Updating $(srcdir)/version.texi"; \
|
||||
cp vti.tmp $(srcdir)/version.texi)
|
||||
@cmp -s vti.tmp version.texi \
|
||||
|| (echo "Updating version.texi"; \
|
||||
cp vti.tmp version.texi)
|
||||
-@rm -f vti.tmp
|
||||
@cp $(srcdir)/version.texi $@
|
||||
@cp version.texi $@
|
||||
|
||||
mostlyclean-vti:
|
||||
-rm -f vti.tmp
|
||||
|
||||
maintainer-clean-vti:
|
||||
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
|
||||
@MAINTAINER_MODE_TRUE@ -rm -f stamp-vti version.texi
|
||||
|
||||
cvs.info: cvs.texinfo $(srcdir)/version.texi
|
||||
cvs.dvi: cvs.texinfo $(srcdir)/version.texi
|
||||
.texi.info:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
$(srcdir)/version-client.texi: $(srcdir)/stamp-1
|
||||
@:
|
||||
$(srcdir)/stamp-1: cvsclient.texi $(top_srcdir)/configure.in
|
||||
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/cvsclient.texi`; \
|
||||
.texi.dvi:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.texi.pdf:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
cvsclient.info: cvsclient.texi version-client.texi
|
||||
cvsclient.dvi: cvsclient.texi version-client.texi
|
||||
cvsclient.pdf: cvsclient.texi version-client.texi
|
||||
version-client.texi: @MAINTAINER_MODE_TRUE@ stamp-1
|
||||
stamp-1: cvsclient.texi $(top_srcdir)/configure
|
||||
@(dir=.; test -f ./cvsclient.texi || dir=$(srcdir); \
|
||||
set `$(SHELL) $(srcdir)/mdate-sh $$dir/cvsclient.texi`; \
|
||||
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||
echo "@set EDITION $(VERSION)"; \
|
||||
echo "@set VERSION $(VERSION)") > 1.tmp
|
||||
@cmp -s 1.tmp $(srcdir)/version-client.texi \
|
||||
|| (echo "Updating $(srcdir)/version-client.texi"; \
|
||||
cp 1.tmp $(srcdir)/version-client.texi)
|
||||
@cmp -s 1.tmp version-client.texi \
|
||||
|| (echo "Updating version-client.texi"; \
|
||||
cp 1.tmp version-client.texi)
|
||||
-@rm -f 1.tmp
|
||||
@cp $(srcdir)/version-client.texi $@
|
||||
@cp version-client.texi $@
|
||||
|
||||
mostlyclean-1:
|
||||
-rm -f 1.tmp
|
||||
|
||||
maintainer-clean-1:
|
||||
-rm -f $(srcdir)/stamp-1 $(srcdir)/version-client.texi
|
||||
@MAINTAINER_MODE_TRUE@ -rm -f stamp-1 version-client.texi
|
||||
|
||||
cvsclient.info: cvsclient.texi $(srcdir)/version-client.texi
|
||||
cvsclient.dvi: cvsclient.texi $(srcdir)/version-client.texi
|
||||
|
||||
.texi.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texi.dvi:
|
||||
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) $<
|
||||
|
||||
.texi:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) $<
|
||||
|
||||
.texinfo:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
MAKEINFO = @MAKEINFO@
|
||||
TEXI2PDF = $(TEXI2DVI) --pdf --batch
|
||||
DVIPS = dvips
|
||||
.dvi.ps:
|
||||
$(DVIPS) $< -o $@
|
||||
$(DVIPS) -o $@ $<
|
||||
|
||||
uninstall-info-am:
|
||||
$(PRE_UNINSTALL)
|
||||
@if (install-info --version && \
|
||||
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
|
||||
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file; \
|
||||
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile"; \
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile; \
|
||||
done; \
|
||||
else :; fi
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||
(if cd $(DESTDIR)$(infodir); then \
|
||||
echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \
|
||||
rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \
|
||||
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \
|
||||
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
|
||||
else :; fi); \
|
||||
done
|
||||
|
||||
dist-info: $(INFO_DEPS)
|
||||
list='$(INFO_DEPS)'; \
|
||||
for base in $$list; do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$base; then d=.; else d=$(srcdir); fi; \
|
||||
for file in $$d/$$base*; do \
|
||||
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
|
||||
test -f $(distdir)/$$relfile || \
|
||||
@@ -279,30 +325,86 @@ dist-info: $(INFO_DEPS)
|
||||
done
|
||||
|
||||
mostlyclean-aminfo:
|
||||
-rm -f cvs.aux cvs.cp cvs.cps cvs.dvi cvs.fn cvs.fns cvs.ky cvs.log cvs.pg \
|
||||
cvs.ps cvs.tmp cvs.toc cvs.tp cvs.vr cvsclient.aux \
|
||||
cvsclient.cp cvsclient.dvi cvsclient.fn cvsclient.ky \
|
||||
cvsclient.log cvsclient.pg cvsclient.ps cvsclient.tmp \
|
||||
cvsclient.toc cvsclient.tp cvsclient.vr
|
||||
-rm -f cvs.aux cvs.cp cvs.cps cvs.fn cvs.fns cvs.ky cvs.kys cvs.log cvs.pg \
|
||||
cvs.pgs cvs.tmp cvs.toc cvs.tp cvs.tps cvs.vr cvs.vrs cvs.dvi \
|
||||
cvs.pdf cvs.ps cvsclient.aux cvsclient.cp cvsclient.cps \
|
||||
cvsclient.fn cvsclient.fns cvsclient.ky cvsclient.kys \
|
||||
cvsclient.log cvsclient.pg cvsclient.pgs cvsclient.tmp \
|
||||
cvsclient.toc cvsclient.tp cvsclient.tps cvsclient.vr \
|
||||
cvsclient.vrs cvsclient.dvi cvsclient.pdf cvsclient.ps
|
||||
|
||||
maintainer-clean-aminfo:
|
||||
cd $(srcdir) && \
|
||||
list='$(INFO_DEPS)'; for i in $$list; do \
|
||||
rm -f $$i; \
|
||||
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
|
||||
rm -f $$i-[0-9]*; \
|
||||
fi; \
|
||||
@list='$(INFO_DEPS)'; for i in $$list; do \
|
||||
i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
|
||||
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
|
||||
done
|
||||
|
||||
man1dir = $(mandir)/man1
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(man1dir)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
|
||||
rm -f $(DESTDIR)$(man1dir)/$$inst; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -323,15 +425,14 @@ distdir: $(DISTFILES)
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="${top_distdir}" distdir="$(distdir)" \
|
||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||
dist-info
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(INFO_DEPS)
|
||||
all-am: Makefile $(INFO_DEPS) $(MANS)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(man1dir)
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
@@ -343,16 +444,16 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -363,7 +464,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@@ -374,7 +475,7 @@ info: info-am
|
||||
|
||||
info-am: $(INFO_DEPS)
|
||||
|
||||
install-data-am: install-info-am
|
||||
install-data-am: install-info-am install-man
|
||||
|
||||
install-exec-am:
|
||||
|
||||
@@ -385,10 +486,12 @@ install-info-am: $(INFO_DEPS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
@list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
d=$(srcdir); \
|
||||
for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
|
||||
$$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
|
||||
if test -f $$ifile; then \
|
||||
relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \
|
||||
relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
|
||||
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
|
||||
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
|
||||
else : ; fi; \
|
||||
@@ -396,19 +499,20 @@ install-info-am: $(INFO_DEPS)
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@if (install-info --version && \
|
||||
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
|
||||
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
|
||||
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile";\
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile || :;\
|
||||
done; \
|
||||
else : ; fi
|
||||
install-man:
|
||||
install-man: install-man1
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-1 \
|
||||
maintainer-clean-aminfo maintainer-clean-generic \
|
||||
maintainer-clean-vti
|
||||
@@ -418,24 +522,33 @@ mostlyclean: mostlyclean-am
|
||||
mostlyclean-am: mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
|
||||
mostlyclean-vti
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am: $(PDFS)
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am: $(PSS)
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic dist-info \
|
||||
distclean distclean-generic distdir dvi dvi-am info info-am \
|
||||
install install-am install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-1 maintainer-clean-aminfo \
|
||||
maintainer-clean-generic maintainer-clean-vti mostlyclean \
|
||||
mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
|
||||
mostlyclean-vti uninstall uninstall-am uninstall-info-am
|
||||
install-man1 install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-1 \
|
||||
maintainer-clean-aminfo maintainer-clean-generic \
|
||||
maintainer-clean-vti mostlyclean mostlyclean-1 \
|
||||
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
|
||||
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \
|
||||
uninstall-man uninstall-man1
|
||||
|
||||
|
||||
doc ps: $(POSTSCRIPTS)
|
||||
.PHONY: doc ps
|
||||
|
||||
pdf: $(PDFS)
|
||||
.PHONY: pdf
|
||||
doc: info ps
|
||||
.PHONY: doc
|
||||
|
||||
txt: $(TXTS)
|
||||
.PHONY: txt
|
||||
@@ -446,8 +559,8 @@ dvi: cvs.dvi cvsclient.dvi
|
||||
# FIXME-AUTOMAKE:
|
||||
# For some reason if I remove version.texi, it doesn't get built automatically.
|
||||
# This needs to be fixed in automake.
|
||||
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi
|
||||
cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.txt: cvsclient.texi $(srcdir)/version-client.texi
|
||||
|
||||
# These targets need to be very specific so that the other PDFs get generated
|
||||
# correctly. If they are more generic and cvs.ps is made before cvs.pdf, then
|
||||
@@ -458,28 +571,21 @@ cvs-paper.ps: cvs-paper.ms
|
||||
mv $@-t $@
|
||||
|
||||
cvs-paper.pdf: cvs-paper.ps
|
||||
$(PS2PDF) $< $@
|
||||
|
||||
# texinfo based targets automake neglects to include
|
||||
.texinfo.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.txi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.texi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
ps2pdf $< $@
|
||||
|
||||
# Targets to build a man page from cvs.texinfo.
|
||||
cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer
|
||||
./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \
|
||||
$(srcdir)/cvs.man.footer >$@
|
||||
.texinfo.txt:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
.txi.txt:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
.texi.txt:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,60 @@
|
||||
.SH "AUTHORS"
|
||||
.TP
|
||||
Dick Grune
|
||||
Original author of the
|
||||
.B cvs
|
||||
shell script version posted to
|
||||
.B comp.sources.unix
|
||||
in the volume6 release of December, 1986.
|
||||
Credited with much of the
|
||||
.B cvs
|
||||
conflict resolution algorithms.
|
||||
.TP
|
||||
Brian Berliner
|
||||
Coder and designer of the
|
||||
.B cvs
|
||||
program itself in April, 1989, based on the original work done by Dick.
|
||||
.TP
|
||||
Jeff Polk
|
||||
Helped Brian with the design of the
|
||||
.B cvs
|
||||
module and vendor branch support and author of the
|
||||
.BR checkin ( 1 )
|
||||
shell script (the ancestor of \fBcvs import\fP).
|
||||
.TP
|
||||
Larry Jones, Derek R. Price, and Mark D. Baushke
|
||||
Have helped maintain
|
||||
.B cvs
|
||||
for many years.
|
||||
.TP
|
||||
And many others too numerous to mention here.
|
||||
.SH "SEE ALSO"
|
||||
The most comprehensive manual for CVS is
|
||||
Version Management with CVS by Per Cederqvist et al. Depending on
|
||||
your system, you may be able to get it with the
|
||||
.B info CVS
|
||||
command or it may be available as cvs.pdf (Portable Document Format),
|
||||
cvs.ps (PostScript), cvs.texinfo (Texinfo source), or cvs.html.
|
||||
.SP
|
||||
For CVS updates, more information on documentation, software related
|
||||
to CVS, development of CVS, and more, see:
|
||||
.in +1i
|
||||
.SP
|
||||
.PD 0
|
||||
.IP "" 4
|
||||
.B http://cvshome.org
|
||||
.IP "" 4
|
||||
.B http://www.loria.fr/~molli/cvs-index.html
|
||||
.in -1i
|
||||
.SP
|
||||
.BR ci ( 1 ),
|
||||
.BR co ( 1 ),
|
||||
.BR cvs ( 5 ),
|
||||
.BR cvsbug ( 8 ),
|
||||
.BR diff ( 1 ),
|
||||
.BR grep ( 1 ),
|
||||
.BR patch ( 1 ),
|
||||
.BR rcs ( 1 ),
|
||||
.BR rcsdiff ( 1 ),
|
||||
.BR rcsmerge ( 1 ),
|
||||
.BR rlog ( 1 ).
|
||||
@@ -0,0 +1,61 @@
|
||||
.\" This is the man page for CVS. It is auto-generated from the
|
||||
.\" cvs.man.header, cvs.texinfo, & cvs.man.footer files. Please make changes
|
||||
.\" there. A full copyright & license notice may also be found in cvs.texinfo.
|
||||
.\"
|
||||
.\" Copyright 2004 The Free Software Foundation,
|
||||
.\" Derek R. Price,
|
||||
.\" & Ximbiot <http://ximbiot.com>
|
||||
.\"
|
||||
.\" This documentation is free software; you can redistribute it and/or modify
|
||||
.\" it under the terms of the GNU General Public License as published by
|
||||
.\" the Free Software Foundation; either version 2, or (at your option)
|
||||
.\" any later version.
|
||||
.\"
|
||||
.\" This documentation is distributed in the hope that it will be useful,
|
||||
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
.\" GNU General Public License for more details.
|
||||
.\"
|
||||
.\" You should have received a copy of the GNU General Public License
|
||||
.\" along with this documentation; if not, write to the Free Software
|
||||
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
.de Id
|
||||
.ds Rv \\$3
|
||||
.ds Dt \\$4
|
||||
..
|
||||
.TH CVS 1 "\*(Dt"
|
||||
.\" Full space in nroff; half space in troff
|
||||
.de SP
|
||||
.if n .sp
|
||||
.if t .sp .5
|
||||
..
|
||||
.\" quoted command
|
||||
.de `
|
||||
.RB ` "\|\\$1\|" '\\$2
|
||||
..
|
||||
.SH "NAME"
|
||||
cvs \- Concurrent Versions System
|
||||
.SH "SYNOPSIS"
|
||||
.TP
|
||||
\fBcvs\fP [ \fIcvs_options\fP ]
|
||||
.I cvs_command
|
||||
[
|
||||
.I command_options
|
||||
] [
|
||||
.I command_args
|
||||
]
|
||||
.SH "NOTE"
|
||||
.IX "revision control system" "\fLcvs\fR"
|
||||
.IX cvs "" "\fLcvs\fP \- concurrent versions system"
|
||||
.IX "concurrent versions system \- \fLcvs\fP"
|
||||
.IX "release control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system"
|
||||
.IX "source control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system"
|
||||
.IX revisions "cvs command" "" "\fLcvs\fP \- source control"
|
||||
This manpage is a summary of some of the features of
|
||||
\fBcvs\fP. It is auto-generated from an appendix of the CVS manual.
|
||||
For more in-depth documentation, please consult the
|
||||
Cederqvist manual (via the
|
||||
.B info CVS
|
||||
command or otherwise,
|
||||
as described in the SEE ALSO section of this manpage). Cross-references
|
||||
in this man page refer to nodes in the same.
|
||||
+471
-460
File diff suppressed because it is too large.
Load diff
@@ -943,6 +943,16 @@ there are some situations it cannot handle (ignore patterns, or
|
||||
situations where the user specifies a filename and the client does not
|
||||
know about that file).
|
||||
|
||||
Though this request will be supported into the forseeable future, it has been
|
||||
the source of numerous bug reports in the past due to the complexity of testing
|
||||
this functionality via the test suite and client developers are encouraged not
|
||||
to use it. Instead, please consider munging conflicting names and maintaining
|
||||
a map for communicating with the server. For example, suppose the server sends
|
||||
files @file{case}, @file{CASE}, and @file{CaSe}. The client could write all
|
||||
three files to names such as, @file{case}, @file{case_prefix_case}, and
|
||||
@file{case_prefix_2_case} and maintain a mapping between the file names in, for
|
||||
instance a new @file{CVS/Map} file.
|
||||
|
||||
@item Argument @var{text} \n
|
||||
Response expected: no.
|
||||
Save argument for use in a subsequent command. Arguments
|
||||
|
||||
Executable
+314
@@ -0,0 +1,314 @@
|
||||
#! @PERL@
|
||||
#
|
||||
# Generate a man page from sections of a Texinfo manual.
|
||||
#
|
||||
# Copyright 2004 The Free Software Foundation,
|
||||
# Derek R. Price,
|
||||
# & Ximbiot <http://ximbiot.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
|
||||
# Need Perl 5.005 or greater for re 'eval'.
|
||||
require 5.005;
|
||||
|
||||
# The usual.
|
||||
use strict;
|
||||
use IO::File;
|
||||
|
||||
|
||||
|
||||
###
|
||||
### GLOBALS
|
||||
###
|
||||
my $texi_num = 0; # Keep track of how many texinfo files have been encountered.
|
||||
my @parent; # This needs to be global to be used inside of a regex later.
|
||||
|
||||
|
||||
|
||||
###
|
||||
### FUNCTIONS
|
||||
###
|
||||
sub keyword_mode
|
||||
{
|
||||
my ($keyword, $file) = @_;
|
||||
|
||||
return "\\fR"
|
||||
if $keyword =~ /^(|r|t)$/;
|
||||
return "\\fB"
|
||||
if $keyword =~ /^(strong|sc|code|file|samp)$/;
|
||||
return "\\fI"
|
||||
if $keyword =~ /^(emph|var|dfn)$/;
|
||||
die "no handler for keyword \`$keyword', found at line $. of file \`$file'\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Return replacement for \@$keyword{$content}.
|
||||
sub do_keyword
|
||||
{
|
||||
my ($file, $parent, $keyword, $content) = @_;
|
||||
|
||||
return "see node \`$content\\(aq in the CVS manual"
|
||||
if $keyword =~ /^(p?x)?ref$/;
|
||||
return "\\fP\\fP$content"
|
||||
if $keyword =~ /^splitrcskeyword$/;
|
||||
|
||||
my $endmode = keyword_mode $parent;
|
||||
my $startmode = keyword_mode $keyword, $file;
|
||||
|
||||
return "$startmode$content$endmode";
|
||||
}
|
||||
|
||||
|
||||
|
||||
###
|
||||
### MAIN
|
||||
###
|
||||
for my $file (@ARGV)
|
||||
{
|
||||
my $fh = new IO::File "< $file"
|
||||
or die "Failed to open file \`$file': $!";
|
||||
|
||||
if ($file !~ /\.(texinfo|texi|txi)$/)
|
||||
{
|
||||
print stderr "Passing \`$file' through unprocessed.\n";
|
||||
# Just cat any file that doesn't look like a Texinfo source.
|
||||
while (my $line = $fh->getline)
|
||||
{
|
||||
print $line;
|
||||
}
|
||||
next;
|
||||
}
|
||||
|
||||
print stderr "Processing \`$file'.\n";
|
||||
$texi_num++;
|
||||
my $gotone = 0;
|
||||
my $inblank = 0;
|
||||
my $indent = 0;
|
||||
my $inexample = 0;
|
||||
my $inmenu = 0;
|
||||
my $intable = 0;
|
||||
my $last_header = "";
|
||||
my @table_headers;
|
||||
my @table_footers;
|
||||
my $table_header = "";
|
||||
my $table_footer = "";
|
||||
my $last;
|
||||
while ($_ = $fh->getline)
|
||||
{
|
||||
if (!$gotone && /^\@c ----- START MAN $texi_num -----$/)
|
||||
{
|
||||
$gotone = 1;
|
||||
next;
|
||||
}
|
||||
|
||||
# Skip ahead until our man section.
|
||||
next unless $gotone;
|
||||
|
||||
# If we find the end tag we are done.
|
||||
last if /^\@c ----- END MAN $texi_num -----$/;
|
||||
|
||||
# Need to do this everywhere. i.e., before we print example
|
||||
# lines, since literal back slashes can appear there too.
|
||||
s/\\/\\\\/g;
|
||||
s/^\./\\&./;
|
||||
s/([\s])\./$1\\&./;
|
||||
s/'/\\(aq/g;
|
||||
s/`/\\`/g;
|
||||
s/(?<!-)---(?!-)/\\(em/g;
|
||||
s/\@bullet({}|\b)/\\(bu/g;
|
||||
s/\@dots({}|\b)/\\&.../g;
|
||||
|
||||
# Examples should be indented and otherwise untouched
|
||||
if (/^\@example$/)
|
||||
{
|
||||
$indent += 2;
|
||||
print qq{.SP\n.PD 0\n};
|
||||
$inexample = 1;
|
||||
next;
|
||||
}
|
||||
if ($inexample)
|
||||
{
|
||||
if (/^\@end example$/)
|
||||
{
|
||||
$indent -= 2;
|
||||
print qq{\n.PD\n.IP "" $indent\n};
|
||||
$inexample = 0;
|
||||
next;
|
||||
}
|
||||
if (/^[ ]*$/)
|
||||
{
|
||||
print ".SP\n";
|
||||
next;
|
||||
}
|
||||
|
||||
# Preserve the newline.
|
||||
$_ = qq{.IP "" $indent\n} . $_;
|
||||
}
|
||||
|
||||
# Compress blank lines into a single line. This and its
|
||||
# corresponding skip purposely bracket the @menu and comment
|
||||
# removal so that blanks on either side of a menu are
|
||||
# compressed after the menu is removed.
|
||||
if (/^[ ]*$/)
|
||||
{
|
||||
$inblank = 1;
|
||||
next;
|
||||
}
|
||||
|
||||
# Not used
|
||||
if (/^\@(ignore|menu)$/)
|
||||
{
|
||||
$inmenu++;
|
||||
next;
|
||||
}
|
||||
# Delete menu contents.
|
||||
if ($inmenu)
|
||||
{
|
||||
next unless /^\@end (ignore|menu)$/;
|
||||
$inmenu--;
|
||||
next;
|
||||
}
|
||||
|
||||
# Remove comments
|
||||
next if /^\@c(omment)?\b/;
|
||||
|
||||
# It's okay to ignore this keyword - we're not using any
|
||||
# first-line indent commands at all.
|
||||
next if s/^\@noindent\s*$//;
|
||||
|
||||
# @need is only significant in printed manuals.
|
||||
next if s/^\@need\s+.*$//;
|
||||
|
||||
# If we didn't hit the previous check and $inblank is set, then
|
||||
# we just finished with some number of blanks. Print the man
|
||||
# page blank symbol before continuing processing of this line.
|
||||
if ($inblank)
|
||||
{
|
||||
print ".SP\n";
|
||||
$inblank = 0;
|
||||
}
|
||||
|
||||
# Chapter headers.
|
||||
$last_header = $1 if s/^\@node\s+(.*)$/.SH "$1"/;
|
||||
if (/^\@appendix\w*\s+(.*)$/)
|
||||
{
|
||||
my $content = $1;
|
||||
$content =~ s/^$last_header(\\\(em|\s+)?//;
|
||||
next if $content =~ /^\s*$/;
|
||||
s/^\@appendix\w*\s+.*$/.SS "$content"/;
|
||||
}
|
||||
|
||||
# Tables are similar to examples, except we need to handle the
|
||||
# keywords.
|
||||
if (/^\@(itemize|table)(\s+(.*))?$/)
|
||||
{
|
||||
$indent += 2;
|
||||
push @table_headers, $table_header;
|
||||
push @table_footers, $table_footer;
|
||||
my $content = $3;
|
||||
if (/^\@itemize/)
|
||||
{
|
||||
my $bullet = $content;
|
||||
$table_header = qq{.IP "$bullet" $indent\n};
|
||||
$table_footer = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
my $hi = $indent - 2;
|
||||
$table_header = qq{.IP "" $hi\n};
|
||||
$table_footer = qq{\n.IP "" $indent};
|
||||
if ($content)
|
||||
{
|
||||
$table_header .= "$content\{";
|
||||
$table_footer = "\}$table_footer";
|
||||
}
|
||||
}
|
||||
$intable++;
|
||||
next;
|
||||
}
|
||||
|
||||
if ($intable)
|
||||
{
|
||||
if (/^\@end (itemize|table)$/)
|
||||
{
|
||||
$table_header = pop @table_headers;
|
||||
$table_footer = pop @table_footers;
|
||||
$indent -= 2;
|
||||
$intable--;
|
||||
next;
|
||||
}
|
||||
s/^\@itemx?(\s+(.*))?$/$table_header$2$table_footer/;
|
||||
# Fall through so the rest of the table lines are
|
||||
# processed normally.
|
||||
}
|
||||
|
||||
# Index entries.
|
||||
s/^\@cindex\s+(.*)$/.IX "$1"/;
|
||||
|
||||
$_ = "$last$_" if $last;
|
||||
undef $last;
|
||||
|
||||
# Trap keywords
|
||||
my $nk = qr/
|
||||
\@(\w+)\{
|
||||
(?{ push @parent, $1 }) # Keep track of the last keyword
|
||||
# keyword we encountered.
|
||||
((?:
|
||||
(?> (?:[^{}]|(?<=\@)[{}])*) # Non-braces without backtracking
|
||||
|
|
||||
(??{ $nk }) # Nested keywords
|
||||
)*)
|
||||
\}
|
||||
(?{ pop (@parent) }) # Lose track of the current keyword.
|
||||
/x;
|
||||
|
||||
@parent = ("");
|
||||
while (s/$nk/do_keyword $file, $parent[$#parent], $1, $2/e)
|
||||
{
|
||||
# Do nothing except replace our last-replacement
|
||||
# tracker - the replacement regex above is handling
|
||||
# everything else.
|
||||
@parent = ("");
|
||||
}
|
||||
s/$nk/do_keyword $file, $parent[$#parent], $1, $2/ge;
|
||||
|
||||
if (/\@\w+\{/)
|
||||
{
|
||||
# If there is still an opening keyword left, we need to
|
||||
# find the close bracket. Set $last to append the next
|
||||
# line in the next pass.
|
||||
$last = $_;
|
||||
next;
|
||||
}
|
||||
|
||||
# Finally, unprotect texinfo special characters.
|
||||
s/\@://g;
|
||||
s/\@([{}])/$1/g;
|
||||
|
||||
# Verify we haven't left commands unprocessed.
|
||||
die "Unprocessed command at line $. of file \`$file': "
|
||||
. ($1 ? "$1\n" : "<EOL>\n")
|
||||
if /^(?>(?:[^\@]|\@\@)*)\@(\w+|.|$)/;
|
||||
|
||||
# Unprotect @@.
|
||||
s/\@\@/\@/g;
|
||||
|
||||
# And print whatever's left.
|
||||
print $_;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 5 September 2001
|
||||
@set UPDATED-MONTH September 2001
|
||||
@set EDITION 1.11.5
|
||||
@set VERSION 1.11.5
|
||||
@set UPDATED 3 February 2004
|
||||
@set UPDATED-MONTH February 2004
|
||||
@set EDITION 1.11.17
|
||||
@set VERSION 1.11.17
|
||||
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 18 November 2002
|
||||
@set UPDATED-MONTH November 2002
|
||||
@set EDITION 1.11.5
|
||||
@set VERSION 1.11.5
|
||||
@set UPDATED 27 May 2004
|
||||
@set UPDATED-MONTH May 2004
|
||||
@set EDITION 1.11.17
|
||||
@set VERSION 1.11.17
|
||||
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 5 September 2001
|
||||
@set UPDATED-MONTH September 2001
|
||||
@set EDITION 1.11.5
|
||||
@set VERSION 1.11.5
|
||||
@set UPDATED 3 February 2004
|
||||
@set UPDATED-MONTH February 2004
|
||||
@set EDITION 1.11.17
|
||||
@set VERSION 1.11.17
|
||||
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 18 November 2002
|
||||
@set UPDATED-MONTH November 2002
|
||||
@set EDITION 1.11.5
|
||||
@set VERSION 1.11.5
|
||||
@set UPDATED 27 May 2004
|
||||
@set UPDATED-MONTH May 2004
|
||||
@set EDITION 1.11.17
|
||||
@set VERSION 1.11.17
|
||||
@@ -1,3 +1,142 @@
|
||||
2004-05-28 Derek Price <[email protected]>
|
||||
|
||||
* xsize.h: New file from GNULIB.
|
||||
* Makefile.am (libcvs_a_SOURCES): Add xsize.h.
|
||||
|
||||
2004-05-15 Derek Price <[email protected]>
|
||||
|
||||
* libcvs.dsp: Header file list updated.
|
||||
* libcvs.dep: Regenerated for "libcvs.dsp" changes.
|
||||
* libcvs.mak: Regenerated for "libcvs.dsp" changes.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
2004-05-13 Derek Price <[email protected]>
|
||||
|
||||
* .cvsignore: Changed for "libcvs.dsp" changes.
|
||||
* libcvs.dsp: Added for "../cvsnt.dsw" changes.
|
||||
* libcvs.dep: Added for "libcvs.dsp" addition.
|
||||
* libcvs.mak: Added for "libcvs.dsp" addition.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
2004-04-20 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Correct comments.
|
||||
|
||||
2004-04-19 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Gratuitous reformatting.
|
||||
|
||||
2004-04-07 Derek Price <[email protected]>
|
||||
|
||||
* regex.c: Revise "FREE_VAR" macro to eliminate C4090/C4022 warnings
|
||||
in Windows build with Visual C++ 6.0 compiler.
|
||||
(Original patch from Conrad T. Pino <[email protected]>.)
|
||||
|
||||
2004-04-04 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Correct comment.
|
||||
|
||||
2004-04-04 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Restore complete path folding for Cygwin under Windows.
|
||||
Add ISABSOLUTE macro for determining whether a path is absolute to
|
||||
handle X:\ style paths under Windows (& Cygwin).
|
||||
|
||||
2004-03-25 Derek Price <[email protected]>
|
||||
|
||||
* system.h: No longer fold back slashes in paths into slashes.
|
||||
|
||||
2004-03-20 Derek Price <[email protected]>
|
||||
|
||||
* mkdir.c (mkdir): Declare string args const.
|
||||
|
||||
2004-03-19 Derek Price <[email protected]>
|
||||
|
||||
* .cvsignore: Add fnmatch.h for Windows and other platforms which build
|
||||
it.
|
||||
|
||||
2003-12-09 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Correct spelling in comment.
|
||||
|
||||
2003-12-03 Derek Price <[email protected]>
|
||||
|
||||
* fncase.c (OSX_filename_classes): New array.
|
||||
(fncmp): Use FOLD_FN_CASE rather relying on the fact that it will be
|
||||
#defined to use WNT_filename_classes.
|
||||
* system.h: Define FOLD_FN_CASE, fncmp, and fnfold for all case
|
||||
insensitive filesystems. Share some code between the new generic case
|
||||
insensitive section and the old WOE32 section.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* getpass.c: Back out my last getpass.c update since the new GNULIB
|
||||
version introduced some dependencies which I do not want to introduce
|
||||
on stable.
|
||||
|
||||
2003-10-01 Derek Price <[email protected]>
|
||||
|
||||
* getpass.c: Update to new version from GNULIB with Larry's fix
|
||||
incorporated.
|
||||
|
||||
2003-09-30 Larry Jones <[email protected]>
|
||||
|
||||
* getpass.c: Fix bug that caused password to be echoed on many
|
||||
systems (input may not be followed by output on the same stream
|
||||
without an intervening call to a file positioning function).
|
||||
(Reported by David Everly <[email protected]>.)
|
||||
|
||||
2003-07-29 Derek Price <[email protected]>
|
||||
|
||||
* getpass.c: New file, almost identical to GNULIB's currect version.
|
||||
* Makefile.am (libcvs_a_SOURCES): Add getpass.c.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-06-09 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Reference the WIN32 macro only in order to define WOE32,
|
||||
in accordance with the GNU convention to avoid implying that we
|
||||
consider the Microsoft Windows Operating Environment any sort of "win".
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerate with Automake version 1.7.5.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Define S_ISSOCK on SCO OpenServer.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-04-03 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am (distclean-local): New target to remove fnmatch.h when
|
||||
necessary. This should be handled by Automake, but until then...
|
||||
(Resolves issue #100
|
||||
<http://ccvs.cvshome.org/issues/show_bug.cgi?id=100> from
|
||||
Serguei E. Leontiev <[email protected]>.)
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-03-24 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am: Update copyright notice.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-01-23 Larry Jones <[email protected]>
|
||||
|
||||
* getdate.y: Add RCS/CVS timestamp format (Y.mm.dd.hh.mm.ss).
|
||||
* getdate.c: Regenerated.
|
||||
|
||||
* wait.h (WCOREDUMP): New macro.
|
||||
|
||||
2002-12-27 Derek Price <[email protected]>
|
||||
|
||||
* getdate.c: Regenerated with Bison 1.35.
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# Makefile for library files used by GNU CVS.
|
||||
# Copyright (C) 1986, 1988-1994, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -44,6 +46,7 @@ libcvs_a_SOURCES = \
|
||||
getline.c \
|
||||
getopt.c \
|
||||
getopt1.c \
|
||||
getpass.c \
|
||||
md5.c \
|
||||
regex.c \
|
||||
savecwd.c \
|
||||
@@ -82,8 +85,16 @@ EXTRA_DIST = \
|
||||
.cvsignore \
|
||||
ChangeLog.fsf \
|
||||
build_lib.com \
|
||||
libcvs.dep libcvs.dsp libcvs.mak \
|
||||
xgssapi.h
|
||||
|
||||
# For the xsize module from GNULIB.
|
||||
libcvs_a_SOURCES += xsize.h
|
||||
|
||||
# Until Automake gets its act together
|
||||
distclean-local:
|
||||
rm -f fnmatch.h
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
+166
-81
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -15,7 +15,9 @@
|
||||
@SET_MAKE@
|
||||
|
||||
# Makefile for library files used by GNU CVS.
|
||||
# Copyright (C) 1986, 1988-1994, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -26,79 +28,117 @@
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
# For now we need to include $(top_srcdir)/src because some systems
|
||||
# (at least 'AIX rioscpu2 3 4 000030498200',
|
||||
@@ -126,12 +166,15 @@ noinst_LIBRARIES = libcvs.a
|
||||
# Also should look into unifying regular expression matching in CVS
|
||||
# with the diff library (perhaps to have the caller, CVS, do the
|
||||
# matching?)
|
||||
|
||||
# For the xsize module from GNULIB.
|
||||
libcvs_a_SOURCES = \
|
||||
argmatch.c \
|
||||
getdate.y \
|
||||
getline.c \
|
||||
getopt.c \
|
||||
getopt1.c \
|
||||
getpass.c \
|
||||
md5.c \
|
||||
regex.c \
|
||||
savecwd.c \
|
||||
@@ -148,17 +191,19 @@ libcvs_a_SOURCES = \
|
||||
system.h \
|
||||
wait.h \
|
||||
xselect.h \
|
||||
xtime.h
|
||||
|
||||
xtime.h\
|
||||
xsize.h
|
||||
libcvs_a_LIBADD = @LIBOBJS@
|
||||
|
||||
EXTRA_DIST = \
|
||||
.cvsignore \
|
||||
ChangeLog.fsf \
|
||||
build_lib.com \
|
||||
libcvs.dep libcvs.dsp libcvs.mak \
|
||||
xgssapi.h
|
||||
|
||||
subdir = lib
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
@@ -168,16 +213,12 @@ libcvs_a_AR = $(AR) cru
|
||||
libcvs_a_DEPENDENCIES = @LIBOBJS@
|
||||
am_libcvs_a_OBJECTS = argmatch.$(OBJEXT) getdate.$(OBJEXT) \
|
||||
getline.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \
|
||||
md5.$(OBJEXT) regex.$(OBJEXT) savecwd.$(OBJEXT) \
|
||||
sighandle.$(OBJEXT) stripslash.$(OBJEXT) xgetwd.$(OBJEXT) \
|
||||
yesno.$(OBJEXT)
|
||||
getpass.$(OBJEXT) md5.$(OBJEXT) regex.$(OBJEXT) \
|
||||
savecwd.$(OBJEXT) sighandle.$(OBJEXT) stripslash.$(OBJEXT) \
|
||||
xgetwd.$(OBJEXT) yesno.$(OBJEXT)
|
||||
libcvs_a_OBJECTS = $(am_libcvs_a_OBJECTS)
|
||||
|
||||
DEFS = @DEFS@
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/dup2.Po $(DEPDIR)/fncase.Po \
|
||||
@@ -189,31 +230,31 @@ am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@ $(DEPDIR)/valloc.Po $(DEPDIR)/waitpid.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/argmatch.Po ./$(DEPDIR)/getdate.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/getline.Po ./$(DEPDIR)/getopt.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/getopt1.Po ./$(DEPDIR)/md5.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/regex.Po ./$(DEPDIR)/savecwd.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/sighandle.Po ./$(DEPDIR)/stripslash.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/xgetwd.Po ./$(DEPDIR)/yesno.Po
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/getopt1.Po ./$(DEPDIR)/getpass.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/md5.Po ./$(DEPDIR)/regex.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/savecwd.Po ./$(DEPDIR)/sighandle.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/stripslash.Po ./$(DEPDIR)/xgetwd.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/yesno.Po
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
CFLAGS = @CFLAGS@
|
||||
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
|
||||
DIST_SOURCES = $(libcvs_a_SOURCES)
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in dup2.c fncase.c \
|
||||
fnmatch.c fnmatch.h.in ftruncate.c getdate.c gethostname.c \
|
||||
memmove.c mkdir.c rename.c strerror.c strstr.c strtoul.c \
|
||||
valloc.c waitpid.c
|
||||
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am dup2.c \
|
||||
fncase.c fnmatch.c fnmatch.h.in ftruncate.c getdate.c \
|
||||
gethostname.c memmove.c mkdir.c rename.c strerror.c strstr.c \
|
||||
strtoul.c valloc.c waitpid.c
|
||||
SOURCES = $(libcvs_a_SOURCES)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .obj .y
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu lib/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
|
||||
AR = ar
|
||||
@@ -250,6 +291,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getline.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpass.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/savecwd.Po@am__quote@
|
||||
@@ -258,26 +300,30 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetwd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yesno.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR) ./$(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
|
||||
|
||||
.y.c:
|
||||
$(YACCCOMPILE) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@
|
||||
rm -f y.tab.c
|
||||
if test -f y.tab.h; then \
|
||||
to=`echo "$*_H" | sed \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||
@@ -293,11 +339,16 @@ CCDEPMODE = @CCDEPMODE@
|
||||
if test -f y.output; then \
|
||||
mv y.output $*.output; \
|
||||
fi
|
||||
sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@
|
||||
rm -f y.tab.c
|
||||
uninstall-info-am:
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
CTAGS = ctags
|
||||
CTAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
@@ -323,20 +374,41 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -361,7 +433,6 @@ check: check-am
|
||||
all-am: Makefile $(LIBRARIES)
|
||||
|
||||
installdirs:
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
@@ -373,7 +444,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -381,20 +452,21 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-test -z "getdate.c" || rm -f getdate.c
|
||||
-rm -f getdate.c
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-tags
|
||||
-rm -rf $(DEPDIR) ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-local distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
@@ -415,27 +487,40 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
-rm -rf $(DEPDIR) ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES distclean distclean-compile \
|
||||
distclean-depend distclean-generic distclean-tags distdir dvi \
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES ctags distclean distclean-compile \
|
||||
distclean-generic distclean-local distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic tags uninstall uninstall-am \
|
||||
uninstall-info-am
|
||||
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
|
||||
uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# Until Automake gets its act together
|
||||
distclean-local:
|
||||
rm -f fnmatch.h
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
|
||||
@@ -50,6 +50,8 @@ main ()
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Under Windows NT, filenames are case-insensitive but case-preserving,
|
||||
and both \ and / are path element separators. */
|
||||
unsigned char
|
||||
WNT_filename_classes[] =
|
||||
{
|
||||
@@ -87,18 +89,56 @@ WNT_filename_classes[] =
|
||||
0xf8,0xf9,0xfa,0xfb, 0xfc,0xfd,0xfe,0xff,
|
||||
};
|
||||
|
||||
/* Same as WNT_filename_classes, but do not fold `\' into `/'. */
|
||||
unsigned char
|
||||
OSX_filename_classes[] =
|
||||
{
|
||||
0x00,0x01,0x02,0x03, 0x04,0x05,0x06,0x07,
|
||||
0x08,0x09,0x0a,0x0b, 0x0c,0x0d,0x0e,0x0f,
|
||||
0x10,0x11,0x12,0x13, 0x14,0x15,0x16,0x17,
|
||||
0x18,0x19,0x1a,0x1b, 0x1c,0x1d,0x1e,0x1f,
|
||||
0x20,0x21,0x22,0x23, 0x24,0x25,0x26,0x27,
|
||||
0x28,0x29,0x2a,0x2b, 0x2c,0x2d,0x2e,0x2f,
|
||||
0x30,0x31,0x32,0x33, 0x34,0x35,0x36,0x37,
|
||||
0x38,0x39,0x3a,0x3b, 0x3c,0x3d,0x3e,0x3f,
|
||||
0x40,0x61,0x62,0x63, 0x64,0x65,0x66,0x67,
|
||||
0x68,0x69,0x6a,0x6b, 0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73, 0x74,0x75,0x76,0x77,
|
||||
0x78,0x79,0x7a,0x5b, 0x2f,0x5d,0x5e,0x5f,
|
||||
0x60,0x61,0x62,0x63, 0x64,0x65,0x66,0x67,
|
||||
0x68,0x69,0x6a,0x6b, 0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73, 0x74,0x75,0x76,0x77,
|
||||
0x78,0x79,0x7a,0x7b, 0x7c,0x7d,0x7e,0x7f,
|
||||
0x80,0x81,0x82,0x83, 0x84,0x85,0x86,0x87,
|
||||
0x88,0x89,0x8a,0x8b, 0x8c,0x8d,0x8e,0x8f,
|
||||
0x90,0x91,0x92,0x93, 0x94,0x95,0x96,0x97,
|
||||
0x98,0x99,0x9a,0x9b, 0x9c,0x9d,0x9e,0x9f,
|
||||
0xa0,0xa1,0xa2,0xa3, 0xa4,0xa5,0xa6,0xa7,
|
||||
0xa8,0xa9,0xaa,0xab, 0xac,0xad,0xae,0xaf,
|
||||
0xb0,0xb1,0xb2,0xb3, 0xb4,0xb5,0xb6,0xb7,
|
||||
0xb8,0xb9,0xba,0xbb, 0xbc,0xbd,0xbe,0xbf,
|
||||
0xc0,0xc1,0xc2,0xc3, 0xc4,0xc5,0xc6,0xc7,
|
||||
0xc8,0xc9,0xca,0xcb, 0xcc,0xcd,0xce,0xcf,
|
||||
0xd0,0xd1,0xd2,0xd3, 0xd4,0xd5,0xd6,0xd7,
|
||||
0xd8,0xd9,0xda,0xdb, 0xdc,0xdd,0xde,0xdf,
|
||||
0xe0,0xe1,0xe2,0xe3, 0xe4,0xe5,0xe6,0xe7,
|
||||
0xe8,0xe9,0xea,0xeb, 0xec,0xed,0xee,0xef,
|
||||
0xf0,0xf1,0xf2,0xf3, 0xf4,0xf5,0xf6,0xf7,
|
||||
0xf8,0xf9,0xfa,0xfb, 0xfc,0xfd,0xfe,0xff,
|
||||
};
|
||||
|
||||
/* Like strcmp, but with the appropriate tweaks for file names.
|
||||
Under Windows NT, filenames are case-insensitive but case-preserving,
|
||||
and both \ and / are path element separators. */
|
||||
and both \ and / are path element separators. Under Mac OS X, filenames
|
||||
are case-insensitive but case-preserving. */
|
||||
int
|
||||
fncmp (const char *n1, const char *n2)
|
||||
{
|
||||
while (*n1 && *n2
|
||||
&& (WNT_filename_classes[(unsigned char) *n1]
|
||||
== WNT_filename_classes[(unsigned char) *n2]))
|
||||
&& (FOLD_FN_CHAR(*n1)
|
||||
== FOLD_FN_CHAR(*n2)))
|
||||
n1++, n2++;
|
||||
return (WNT_filename_classes[(unsigned char) *n1]
|
||||
- WNT_filename_classes[(unsigned char) *n2]);
|
||||
return (FOLD_FN_CHAR(*n1) - FOLD_FN_CHAR(*n2));
|
||||
}
|
||||
|
||||
/* Fold characters in FILENAME to their canonical forms.
|
||||
|
||||
@@ -175,9 +175,27 @@ item : time {
|
||||
| rel {
|
||||
yyHaveRel++;
|
||||
}
|
||||
| cvsstamp {
|
||||
yyHaveTime++;
|
||||
yyHaveDate++;
|
||||
yyHaveZone++;
|
||||
}
|
||||
| number
|
||||
;
|
||||
|
||||
cvsstamp: tUNUMBER '.' tUNUMBER '.' tUNUMBER '.' tUNUMBER '.' tUNUMBER '.' tUNUMBER {
|
||||
yyYear = $1;
|
||||
if (yyYear < 100) yyYear += 1900;
|
||||
yyMonth = $3;
|
||||
yyDay = $5;
|
||||
yyHour = $7;
|
||||
yyMinutes = $9;
|
||||
yySeconds = $11;
|
||||
yyDSTmode = DSToff;
|
||||
yyTimezone = 0;
|
||||
}
|
||||
;
|
||||
|
||||
time : tUNUMBER tMERIDIAN {
|
||||
yyHour = $1;
|
||||
yyMinutes = 0;
|
||||
|
||||
@@ -37,7 +37,7 @@ extern int errno;
|
||||
|
||||
int
|
||||
mkdir (dpath, dmode)
|
||||
char *dpath;
|
||||
const char *dpath;
|
||||
int dmode;
|
||||
{
|
||||
int cpid, status;
|
||||
|
||||
@@ -4001,7 +4001,7 @@ static boolean alt_match_null_string_p (),
|
||||
|
||||
/* Free everything we malloc. */
|
||||
#ifdef MATCH_MAY_ALLOCATE
|
||||
#define FREE_VAR(var) if (var) { REGEX_FREE (var); var = NULL; } else
|
||||
#define FREE_VAR(var) if (var) { (void)REGEX_FREE ((void *)var); var = NULL; } else
|
||||
#define FREE_VARIABLES() \
|
||||
do { \
|
||||
REGEX_FREE_STACK (fail_stack.stack); \
|
||||
|
||||
+107
-58
@@ -84,13 +84,18 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !defined(S_ISSOCK) && defined(S_IFSOCK)
|
||||
# if defined(S_IFMT)
|
||||
# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
|
||||
# else
|
||||
# define S_ISSOCK(m) ((m) & S_IFSOCK)
|
||||
# endif
|
||||
#endif
|
||||
#ifndef S_ISSOCK
|
||||
# if defined( S_IFSOCK )
|
||||
# ifdef S_IFMT
|
||||
# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
|
||||
# else
|
||||
# define S_ISSOCK(m) ((m) & S_IFSOCK)
|
||||
# endif /* S_IFMT */
|
||||
# elif defined( S_ISNAM )
|
||||
/* SCO OpenServer 5.0.6a */
|
||||
# define S_ISSOCK S_ISNAM
|
||||
# endif /* !S_IFSOCK && S_ISNAM */
|
||||
#endif /* !S_ISSOCK */
|
||||
|
||||
#if !defined(S_ISMPB) && defined(S_IFMPB) /* V7 */
|
||||
# if defined(S_IFMT)
|
||||
@@ -284,7 +289,7 @@ int utime ();
|
||||
|
||||
|
||||
#ifdef STDC_HEADERS
|
||||
#include <stdlib.h>
|
||||
# include <stdlib.h>
|
||||
#else
|
||||
char *getenv ();
|
||||
char *malloc ();
|
||||
@@ -295,7 +300,7 @@ extern int errno;
|
||||
|
||||
/* SunOS4 apparently does not define this in stdlib.h. */
|
||||
#ifndef EXIT_FAILURE
|
||||
#define EXIT_FAILURE 1
|
||||
# define EXIT_FAILURE 1
|
||||
#endif
|
||||
|
||||
/* check for POSIX signals */
|
||||
@@ -318,26 +323,26 @@ extern int errno;
|
||||
/* Under OS/2, this must be included _after_ stdio.h; that's why we do
|
||||
it here. */
|
||||
#ifdef USE_OWN_TCPIP_H
|
||||
#include "tcpip.h"
|
||||
# include "tcpip.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
# include <fcntl.h>
|
||||
#else
|
||||
#include <sys/file.h>
|
||||
# include <sys/file.h>
|
||||
#endif
|
||||
|
||||
#ifndef SEEK_SET
|
||||
#define SEEK_SET 0
|
||||
#define SEEK_CUR 1
|
||||
#define SEEK_END 2
|
||||
# define SEEK_SET 0
|
||||
# define SEEK_CUR 1
|
||||
# define SEEK_END 2
|
||||
#endif
|
||||
|
||||
#ifndef F_OK
|
||||
#define F_OK 0
|
||||
#define X_OK 1
|
||||
#define W_OK 2
|
||||
#define R_OK 4
|
||||
# define F_OK 0
|
||||
# define X_OK 1
|
||||
# define W_OK 2
|
||||
# define R_OK 4
|
||||
#endif
|
||||
|
||||
#if HAVE_DIRENT_H
|
||||
@@ -362,7 +367,7 @@ extern int errno;
|
||||
#define convert_blocks(b, k) ((k) ? ((b) + 1) / 2 : (b))
|
||||
|
||||
#ifndef S_ISLNK
|
||||
#define lstat stat
|
||||
# define lstat stat
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -370,13 +375,13 @@ extern int errno;
|
||||
* because "config.h" is always included last.
|
||||
*/
|
||||
#ifndef S_IWRITE
|
||||
#define S_IWRITE 0000200 /* write permission, owner */
|
||||
# define S_IWRITE 0000200 /* write permission, owner */
|
||||
#endif
|
||||
#ifndef S_IWGRP
|
||||
#define S_IWGRP 0000020 /* write permission, grougroup */
|
||||
# define S_IWGRP 0000020 /* write permission, grougroup */
|
||||
#endif
|
||||
#ifndef S_IWOTH
|
||||
#define S_IWOTH 0000002 /* write permission, other */
|
||||
# define S_IWOTH 0000002 /* write permission, other */
|
||||
#endif
|
||||
|
||||
/* Under non-UNIX operating systems (MS-DOS, WinNT, MacOS), many filesystem
|
||||
@@ -385,97 +390,134 @@ extern int errno;
|
||||
can hang their own definitions. */
|
||||
|
||||
#ifndef CVS_ACCESS
|
||||
#define CVS_ACCESS access
|
||||
# define CVS_ACCESS access
|
||||
#endif
|
||||
|
||||
#ifndef CVS_CHDIR
|
||||
#define CVS_CHDIR chdir
|
||||
# define CVS_CHDIR chdir
|
||||
#endif
|
||||
|
||||
#ifndef CVS_CREAT
|
||||
#define CVS_CREAT creat
|
||||
# define CVS_CREAT creat
|
||||
#endif
|
||||
|
||||
#ifndef CVS_FOPEN
|
||||
#define CVS_FOPEN fopen
|
||||
# define CVS_FOPEN fopen
|
||||
#endif
|
||||
|
||||
#ifndef CVS_FDOPEN
|
||||
#define CVS_FDOPEN fdopen
|
||||
# define CVS_FDOPEN fdopen
|
||||
#endif
|
||||
|
||||
#ifndef CVS_MKDIR
|
||||
#define CVS_MKDIR mkdir
|
||||
# define CVS_MKDIR mkdir
|
||||
#endif
|
||||
|
||||
#ifndef CVS_OPEN
|
||||
#define CVS_OPEN open
|
||||
# define CVS_OPEN open
|
||||
#endif
|
||||
|
||||
#ifndef CVS_READDIR
|
||||
#define CVS_READDIR readdir
|
||||
# define CVS_READDIR readdir
|
||||
#endif
|
||||
|
||||
#ifndef CVS_CLOSEDIR
|
||||
#define CVS_CLOSEDIR closedir
|
||||
# define CVS_CLOSEDIR closedir
|
||||
#endif
|
||||
|
||||
#ifndef CVS_OPENDIR
|
||||
#define CVS_OPENDIR opendir
|
||||
# define CVS_OPENDIR opendir
|
||||
#endif
|
||||
|
||||
#ifndef CVS_RENAME
|
||||
#define CVS_RENAME rename
|
||||
# define CVS_RENAME rename
|
||||
#endif
|
||||
|
||||
#ifndef CVS_RMDIR
|
||||
#define CVS_RMDIR rmdir
|
||||
# define CVS_RMDIR rmdir
|
||||
#endif
|
||||
|
||||
#ifndef CVS_STAT
|
||||
#define CVS_STAT stat
|
||||
# define CVS_STAT stat
|
||||
#endif
|
||||
|
||||
/* Open question: should CVS_STAT be lstat by default? We need
|
||||
to use lstat in order to handle symbolic links correctly with
|
||||
the PreservePermissions option. -twp */
|
||||
#ifndef CVS_LSTAT
|
||||
#define CVS_LSTAT lstat
|
||||
# define CVS_LSTAT lstat
|
||||
#endif
|
||||
|
||||
#ifndef CVS_UNLINK
|
||||
#define CVS_UNLINK unlink
|
||||
# define CVS_UNLINK unlink
|
||||
#endif
|
||||
|
||||
/* Wildcard matcher. Should be case-insensitive if the system is. */
|
||||
#ifndef CVS_FNMATCH
|
||||
#define CVS_FNMATCH fnmatch
|
||||
# define CVS_FNMATCH fnmatch
|
||||
#endif
|
||||
|
||||
#if defined (__CYGWIN32__) || defined (WIN32)
|
||||
#ifdef WIN32
|
||||
/*
|
||||
* According to GNU conventions, we should avoid referencing any macro
|
||||
* containing "WIN" as a reference to Microsoft Windows, as we would like to
|
||||
* avoid any implication that we consider Microsoft Windows any sort of "win".
|
||||
*
|
||||
* FIXME: As of 2003-06-09, folks on the GNULIB project were discussing
|
||||
* defining a configure macro to define WOE32 appropriately. If they ever do
|
||||
* write such a beast, we should use it, though in most cases it would be
|
||||
* preferable to avoid referencing any OS or compiler anyhow, per Autoconf
|
||||
* convention, and reference only tested features of the system.
|
||||
*/
|
||||
# define WOE32 1
|
||||
#endif /* WIN32 */
|
||||
|
||||
/* Under Windows NT, filenames are case-insensitive, and both / and \
|
||||
are path component separators. */
|
||||
|
||||
#define FOLD_FN_CHAR(c) (WNT_filename_classes[(unsigned char) (c)])
|
||||
#ifdef WOE32
|
||||
/* Under Windows NT, filenames are case-insensitive. */
|
||||
# define FILENAMES_CASE_INSENSITIVE 1
|
||||
#endif /* WOE32 */
|
||||
|
||||
|
||||
|
||||
#ifdef FILENAMES_CASE_INSENSITIVE
|
||||
|
||||
# if defined (__CYGWIN32__) || defined (WOE32)
|
||||
/* Under Windows, filenames are case-insensitive, and both / and \
|
||||
are path component separators. */
|
||||
# define FOLD_FN_CHAR(c) (WNT_filename_classes[(unsigned char) (c)])
|
||||
extern unsigned char WNT_filename_classes[];
|
||||
#define FILENAMES_CASE_INSENSITIVE 1
|
||||
/* Is the character C a path name separator? Under
|
||||
Windows NT, you can use either / or \. */
|
||||
# define ISDIRSEP(c) (FOLD_FN_CHAR(c) == '/')
|
||||
# define ISABSOLUTE(s) (ISDIRSEP(s[0]) || FOLD_FN_CHAR(s[0]) >= 'a' && FOLD_FN_CHAR(s[0]) <= 'z' && s[1] == ':' && ISDIRSEP(s[2]))
|
||||
# else /* ! WOE32 */
|
||||
/* As far as I know, just Macintosh OS X can make it here,
|
||||
* but since the OS X fold just folds a-z into A-Z or visa-versa, I'm just
|
||||
* allowing it to be used for any case insensitive system which we aren't
|
||||
* yet making other specific folds or exceptions for (basically, anything
|
||||
* case insensitive other than Windows, where \ and C:\ style absolute paths
|
||||
* also need to be accounted for).
|
||||
*
|
||||
* Under Mac OS X, filenames are case-insensitive.
|
||||
*/
|
||||
# define FOLD_FN_CHAR(c) (OSX_filename_classes[(unsigned char) (c)])
|
||||
extern unsigned char OSX_filename_classes[];
|
||||
# endif /* __CYGWIN32__ || WOE32 */
|
||||
|
||||
/* Is the character C a path name separator? Under
|
||||
Windows NT, you can use either / or \. */
|
||||
#define ISDIRSEP(c) (FOLD_FN_CHAR(c) == '/')
|
||||
/* The following need to be declared for all case insensitive filesystems.
|
||||
* When not FOLD_FN_CHAR is not #defined, a default definition for these
|
||||
* functions is provided later in this header file. */
|
||||
|
||||
/* Like strcmp, but with the appropriate tweaks for file names.
|
||||
Under Windows NT, filenames are case-insensitive but case-preserving,
|
||||
and both \ and / are path element separators. */
|
||||
/* Like strcmp, but with the appropriate tweaks for file names. */
|
||||
extern int fncmp (const char *n1, const char *n2);
|
||||
|
||||
/* Fold characters in FILENAME to their canonical forms.
|
||||
If FOLD_FN_CHAR is not #defined, the system provides a default
|
||||
definition for this. */
|
||||
/* Fold characters in FILENAME to their canonical forms. */
|
||||
extern void fnfold (char *FILENAME);
|
||||
|
||||
#endif /* defined (__CYGWIN32__) || defined (WIN32) */
|
||||
#endif /* FILENAMES_CASE_INSENSITIVE */
|
||||
|
||||
|
||||
|
||||
/* Some file systems are case-insensitive. If FOLD_FN_CHAR is
|
||||
#defined, it maps the character C onto its "canonical" form. In a
|
||||
@@ -483,15 +525,22 @@ extern void fnfold (char *FILENAME);
|
||||
to lower case. Under Windows NT, / and \ are both path component
|
||||
separators, so FOLD_FN_CHAR would map them both to /. */
|
||||
#ifndef FOLD_FN_CHAR
|
||||
#define FOLD_FN_CHAR(c) (c)
|
||||
#define fnfold(filename) (filename)
|
||||
#define fncmp strcmp
|
||||
# define FOLD_FN_CHAR(c) (c)
|
||||
# define fnfold(filename) (filename)
|
||||
# define fncmp strcmp
|
||||
#endif
|
||||
|
||||
/* Different file systems have different path component separators.
|
||||
For the VMS port we might need to abstract further back than this. */
|
||||
#ifndef ISDIRSEP
|
||||
#define ISDIRSEP(c) ((c) == '/')
|
||||
# define ISDIRSEP(c) ((c) == '/')
|
||||
#endif
|
||||
|
||||
/* Different file systems can have different naming patterns which designate
|
||||
* a path as absolute
|
||||
*/
|
||||
#ifndef ISABSOLUTE
|
||||
# define ISABSOLUTE(s) ISDIRSEP(s[0])
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@
|
||||
#ifndef WIFEXITED
|
||||
#define WIFEXITED(w) (((w) & 0xff) == 0)
|
||||
#endif
|
||||
#ifndef WCOREDUMP /* not POSIX, but common and useful */
|
||||
#define WCOREDUMP(w) (((w) & 0x80) != 0)
|
||||
#endif
|
||||
|
||||
#ifndef WSTOPSIG
|
||||
#define WSTOPSIG(w) (((w) >> 8) & 0xff)
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
/* xsize.h -- Checked size_t computations.
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _XSIZE_H
|
||||
#define _XSIZE_H
|
||||
|
||||
/* Get size_t. */
|
||||
#include <stddef.h>
|
||||
|
||||
/* Get SIZE_MAX. */
|
||||
#include <limits.h>
|
||||
#if HAVE_STDINT_H
|
||||
# include <stdint.h>
|
||||
#else
|
||||
#define SIZE_MAX UINT_MAX /* XXX */
|
||||
#endif
|
||||
|
||||
/* The size of memory objects is often computed through expressions of
|
||||
type size_t. Example:
|
||||
void* p = malloc (header_size + n * element_size).
|
||||
These computations can lead to overflow. When this happens, malloc()
|
||||
returns a piece of memory that is way too small, and the program then
|
||||
crashes while attempting to fill the memory.
|
||||
To avoid this, the functions and macros in this file check for overflow.
|
||||
The convention is that SIZE_MAX represents overflow.
|
||||
malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc
|
||||
implementation that uses mmap --, it's recommended to use size_overflow_p()
|
||||
or size_in_bounds_p() before invoking malloc().
|
||||
The example thus becomes:
|
||||
size_t size = xsum (header_size, xtimes (n, element_size));
|
||||
void *p = (size_in_bounds_p (size) ? malloc (size) : NULL);
|
||||
*/
|
||||
|
||||
/* Convert an arbitrary value >= 0 to type size_t. */
|
||||
#define xcast_size_t(N) \
|
||||
((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX)
|
||||
|
||||
/* Sum of two sizes, with overflow check. */
|
||||
static inline size_t
|
||||
#if __GNUC__ >= 3
|
||||
__attribute__ ((__pure__))
|
||||
#endif
|
||||
xsum (size_t size1, size_t size2)
|
||||
{
|
||||
size_t sum = size1 + size2;
|
||||
return (sum >= size1 ? sum : SIZE_MAX);
|
||||
}
|
||||
|
||||
/* Sum of three sizes, with overflow check. */
|
||||
static inline size_t
|
||||
#if __GNUC__ >= 3
|
||||
__attribute__ ((__pure__))
|
||||
#endif
|
||||
xsum3 (size_t size1, size_t size2, size_t size3)
|
||||
{
|
||||
return xsum (xsum (size1, size2), size3);
|
||||
}
|
||||
|
||||
/* Sum of four sizes, with overflow check. */
|
||||
static inline size_t
|
||||
#if __GNUC__ >= 3
|
||||
__attribute__ ((__pure__))
|
||||
#endif
|
||||
xsum4 (size_t size1, size_t size2, size_t size3, size_t size4)
|
||||
{
|
||||
return xsum (xsum (xsum (size1, size2), size3), size4);
|
||||
}
|
||||
|
||||
/* Maximum of two sizes, with overflow check. */
|
||||
static inline size_t
|
||||
#if __GNUC__ >= 3
|
||||
__attribute__ ((__pure__))
|
||||
#endif
|
||||
xmax (size_t size1, size_t size2)
|
||||
{
|
||||
/* No explicit check is needed here, because for any n:
|
||||
max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */
|
||||
return (size1 >= size2 ? size1 : size2);
|
||||
}
|
||||
|
||||
/* Multiplication of a count with an element size, with overflow check.
|
||||
The count must be >= 0 and the element size must be > 0.
|
||||
This is a macro, not an inline function, so that it works correctly even
|
||||
when N is of a wider tupe and N > SIZE_MAX. */
|
||||
#define xtimes(N, ELSIZE) \
|
||||
((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX)
|
||||
|
||||
/* Check for overflow. */
|
||||
#define size_overflow_p(SIZE) \
|
||||
((SIZE) == SIZE_MAX)
|
||||
/* Check against overflow. */
|
||||
#define size_in_bounds_p(SIZE) \
|
||||
((SIZE) != SIZE_MAX)
|
||||
|
||||
#endif /* _XSIZE_H */
|
||||
Loaded 100 of 1606 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user