mirror of
https://gitlab.archlinux.org/pacman/pacman.git
synced 2025-11-05 18:14:44 +01:00
Compare commits
661 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
892266277e | ||
|
|
2ee186506c | ||
|
|
1c59b9e881 | ||
|
|
2e5e3739a1 | ||
|
|
84b999823b | ||
|
|
c355d2a3b7 | ||
|
|
6e31ddf42e | ||
|
|
8fbc91e693 | ||
|
|
fe7b77cd8a | ||
|
|
ea7696b441 | ||
|
|
6297248087 | ||
|
|
5f5b6f16af | ||
|
|
f9c70d3140 | ||
|
|
d978039cf0 | ||
|
|
d73d055c6f | ||
|
|
b886362282 | ||
|
|
ac5c2fd09b | ||
|
|
8163beb622 | ||
|
|
88f139ab4e | ||
|
|
b00d911331 | ||
|
|
982018bf74 | ||
|
|
93def410b8 | ||
|
|
9a56830164 | ||
|
|
3012c0e091 | ||
|
|
b79193a37e | ||
|
|
a338778028 | ||
|
|
d58f398312 | ||
|
|
c80e04a151 | ||
|
|
a3b1585b7b | ||
|
|
a66f8dbbb1 | ||
|
|
10aba2fd53 | ||
|
|
46b170a26e | ||
|
|
5bf3ba1ca8 | ||
|
|
f60db581a7 | ||
|
|
a8a6eed9e8 | ||
|
|
d8d5d48270 | ||
|
|
5cddcc901b | ||
|
|
3739fe9913 | ||
|
|
756e49259d | ||
|
|
0ac96d94ec | ||
|
|
844d82fad8 | ||
|
|
ccea1b5576 | ||
|
|
2710b256cc | ||
|
|
5dffef787d | ||
|
|
fe1e3471f4 | ||
|
|
3064f8d08d | ||
|
|
80f7c1707c | ||
|
|
ae73d75660 | ||
|
|
3cd237dec3 | ||
|
|
52c3f871db | ||
|
|
f948cb25bb | ||
|
|
9ab6bfad22 | ||
|
|
ac722c9327 | ||
|
|
c1fc00508e | ||
|
|
0e7ba6bddd | ||
|
|
eada558e12 | ||
|
|
c6f0fc27ed | ||
|
|
d44e509933 | ||
|
|
d32f6daa66 | ||
|
|
5752e276fb | ||
|
|
a6ace987a9 | ||
|
|
3a85f83840 | ||
|
|
df842e11cf | ||
|
|
25cd6c2e8d | ||
|
|
f03f09011f | ||
|
|
10b0acfc20 | ||
|
|
07b2ba251f | ||
|
|
df833f6c64 | ||
|
|
7f02f7cb9f | ||
|
|
364ebf4e16 | ||
|
|
2ce444ee10 | ||
|
|
79987c92cb | ||
|
|
64c3255b0e | ||
|
|
590606a5d7 | ||
|
|
ccbef232c9 | ||
|
|
df99495b82 | ||
|
|
d485c0370f | ||
|
|
9528c36452 | ||
|
|
f9fa822ccb | ||
|
|
ac9dde072c | ||
|
|
6b6eb6345b | ||
|
|
eb6af031ec | ||
|
|
4f80993933 | ||
|
|
2a6f3f0652 | ||
|
|
8a6bbed98e | ||
|
|
90aca75cb9 | ||
|
|
753599b504 | ||
|
|
652762488a | ||
|
|
6995aed9ae | ||
|
|
7608dd74d7 | ||
|
|
88254d762d | ||
|
|
7965345d43 | ||
|
|
21abae98cb | ||
|
|
98ee520907 | ||
|
|
526806e7ac | ||
|
|
bf7c3eb17f | ||
|
|
cdbb90aceb | ||
|
|
ad4efa539d | ||
|
|
f6c7de77ed | ||
|
|
a36ff9404b | ||
|
|
1aa1d00248 | ||
|
|
be2f43191d | ||
|
|
2f4ee4341d | ||
|
|
69b3a811a1 | ||
|
|
d39b1dbe62 | ||
|
|
67700b926a | ||
|
|
e4be3e06af | ||
|
|
e5dce888c0 | ||
|
|
087be2f1fb | ||
|
|
6f0ffb2386 | ||
|
|
5fe41df8a9 | ||
|
|
22331fdadb | ||
|
|
65d43fbb84 | ||
|
|
a4e3fd1847 | ||
|
|
de5473c026 | ||
|
|
eee61a0bbc | ||
|
|
7ea0a115db | ||
|
|
1a00ee5c27 | ||
|
|
d85421ec62 | ||
|
|
afb61bb22a | ||
|
|
27bc2f7eb8 | ||
|
|
0eadc99240 | ||
|
|
8b3f5f0ce6 | ||
|
|
ce9bb994f8 | ||
|
|
0c3f502064 | ||
|
|
a12ed63545 | ||
|
|
afc37c58c7 | ||
|
|
335627d72d | ||
|
|
a6cca6e456 | ||
|
|
9fe27b068a | ||
|
|
05ff276eef | ||
|
|
66c6d288fd | ||
|
|
b805fe58ae | ||
|
|
a2c9cbdbdc | ||
|
|
b8b8c78627 | ||
|
|
51f9e5e40a | ||
|
|
444ff95641 | ||
|
|
e612eb6ba2 | ||
|
|
926dfe5827 | ||
|
|
03f35b1432 | ||
|
|
f2c9e51eb0 | ||
|
|
82443e0059 | ||
|
|
93862bd7cb | ||
|
|
6c8f817040 | ||
|
|
96b34308fe | ||
|
|
8a8dfc9d55 | ||
|
|
d2dbb04a9a | ||
|
|
be266b4364 | ||
|
|
120cd312e4 | ||
|
|
4d2ec3751c | ||
|
|
564352c4a2 | ||
|
|
9c34dfd908 | ||
|
|
c2999619d2 | ||
|
|
966c815881 | ||
|
|
5d5070f47d | ||
|
|
fb310fc01e | ||
|
|
77023978c5 | ||
|
|
77e84bea71 | ||
|
|
0199a7ee71 | ||
|
|
88706168f2 | ||
|
|
7ae15768e5 | ||
|
|
e09253d15b | ||
|
|
db756ed931 | ||
|
|
133a39e2bb | ||
|
|
3f7cc83e0d | ||
|
|
361a25c086 | ||
|
|
fff6d9dc2e | ||
|
|
7f0f319a3e | ||
|
|
0bc961a8be | ||
|
|
21caf8730f | ||
|
|
748bc8ebd4 | ||
|
|
013fc9a795 | ||
|
|
1000c0bd2e | ||
|
|
6ed7d001f6 | ||
|
|
c6095e1032 | ||
|
|
3758ccbb52 | ||
|
|
6c635d76a0 | ||
|
|
c7e4d10df3 | ||
|
|
2020e6297b | ||
|
|
2c2596177d | ||
|
|
3d67d9b16c | ||
|
|
5ffc1ad3cd | ||
|
|
4281a1a7f2 | ||
|
|
f9582c7df2 | ||
|
|
2cabe336eb | ||
|
|
da5fb3ee4f | ||
|
|
e3ac806262 | ||
|
|
c7d8601e12 | ||
|
|
ab3c6f01f5 | ||
|
|
72bc947cbb | ||
|
|
3dc87851cc | ||
|
|
14ab02e289 | ||
|
|
471b1fa543 | ||
|
|
caea098c21 | ||
|
|
35bbc96b99 | ||
|
|
302310c5aa | ||
|
|
4828d9ef7c | ||
|
|
6e312220ec | ||
|
|
3bc8c28ce3 | ||
|
|
145103aacc | ||
|
|
35dc9b0314 | ||
|
|
cf0d619670 | ||
|
|
5e03941ee5 | ||
|
|
f15c8d4616 | ||
|
|
aea22ac2fd | ||
|
|
9282a4a909 | ||
|
|
f77d73af4b | ||
|
|
ba14bd7728 | ||
|
|
8db120c260 | ||
|
|
a0acf8b509 | ||
|
|
a131c468f7 | ||
|
|
d7a20d9c41 | ||
|
|
42042723a8 | ||
|
|
44a57c890b | ||
|
|
8e7652f1af | ||
|
|
20392c0a02 | ||
|
|
2071286770 | ||
|
|
7f14f185a2 | ||
|
|
20aa17c276 | ||
|
|
86d4b8a3aa | ||
|
|
7cead800c5 | ||
|
|
5bea2c08a3 | ||
|
|
0f834c93c7 | ||
|
|
e76b3374d8 | ||
|
|
802b1a6f2f | ||
|
|
cfb86fed7c | ||
|
|
38ac020f51 | ||
|
|
9c13a6c364 | ||
|
|
03470c51ca | ||
|
|
ece8f6fb0b | ||
|
|
e6efd1932b | ||
|
|
c07aef0d6e | ||
|
|
72883e3bcb | ||
|
|
6bfca2fd14 | ||
|
|
ef37168770 | ||
|
|
481014e944 | ||
|
|
f4809dcc9c | ||
|
|
338c6546ff | ||
|
|
6685822e57 | ||
|
|
44cddb351b | ||
|
|
6cd8d6bd05 | ||
|
|
90a06b1cf0 | ||
|
|
ccf7c31f52 | ||
|
|
419c4a2afa | ||
|
|
65e7682638 | ||
|
|
259cb3aad4 | ||
|
|
9516d5afe6 | ||
|
|
5d0734861f | ||
|
|
9424197b42 | ||
|
|
ed9d459ee2 | ||
|
|
922448a9bf | ||
|
|
9d4448dc7f | ||
|
|
9505c594fd | ||
|
|
1df3b91931 | ||
|
|
08ee4059b5 | ||
|
|
95cb4b6874 | ||
|
|
d0d6c58c05 | ||
|
|
bc24c002fe | ||
|
|
b4317a740a | ||
|
|
19e07eb8e8 | ||
|
|
8ff3b87066 | ||
|
|
0da96abc90 | ||
|
|
b7db46d610 | ||
|
|
90e3e026d1 | ||
|
|
12b55958d8 | ||
|
|
902dfe5900 | ||
|
|
f53d9bab0e | ||
|
|
a2cd48960e | ||
|
|
cd5b029e93 | ||
|
|
43e16b373b | ||
|
|
cb1d4195bf | ||
|
|
2e7c569950 | ||
|
|
814cd7aee1 | ||
|
|
2f19072632 | ||
|
|
845f21207c | ||
|
|
0845b2f13c | ||
|
|
5dbd00faf7 | ||
|
|
c88ac86292 | ||
|
|
f53d2ac471 | ||
|
|
6e1b1aea59 | ||
|
|
b53aa87ea9 | ||
|
|
cb07265851 | ||
|
|
545eac145d | ||
|
|
b9dd8ce233 | ||
|
|
65c1f06be5 | ||
|
|
5b27e78ba0 | ||
|
|
594621cbeb | ||
|
|
1e51b81c63 | ||
|
|
7ddb645bd7 | ||
|
|
a05757f984 | ||
|
|
20ba3cfe4e | ||
|
|
82522dd8c1 | ||
|
|
92f0775e76 | ||
|
|
7dae79e7b9 | ||
|
|
bdd8e92ff6 | ||
|
|
6f97842ab2 | ||
|
|
8a55b79363 | ||
|
|
bba234a92e | ||
|
|
600782853a | ||
|
|
14a93b2e43 | ||
|
|
7bb9c4098b | ||
|
|
e8806748ec | ||
|
|
619d1fcf7f | ||
|
|
6d00025c18 | ||
|
|
3cf0ee98c0 | ||
|
|
68200676d2 | ||
|
|
d7675e393f | ||
|
|
ee43e75ed2 | ||
|
|
839bb56269 | ||
|
|
f16c7a4343 | ||
|
|
4fa6f262a6 | ||
|
|
8152077f6d | ||
|
|
aba58e95ab | ||
|
|
e8db103122 | ||
|
|
b2dcacb5aa | ||
|
|
a5ef0e072a | ||
|
|
ac37e92449 | ||
|
|
44359218ea | ||
|
|
bc83ff76c6 | ||
|
|
4eb1469765 | ||
|
|
cfc4c24db2 | ||
|
|
bf9249e929 | ||
|
|
4cadee4f08 | ||
|
|
fc29d0c990 | ||
|
|
9a0122982c | ||
|
|
433c52bb91 | ||
|
|
78e92b1d02 | ||
|
|
05533b8b11 | ||
|
|
00c26338de | ||
|
|
684047a764 | ||
|
|
e65d82afa1 | ||
|
|
734aa1ce59 | ||
|
|
4e643a3dd7 | ||
|
|
08c535e262 | ||
|
|
8fdab1e1f0 | ||
|
|
b9c6b41387 | ||
|
|
04c31828b6 | ||
|
|
44272ca0c8 | ||
|
|
3a6ed11428 | ||
|
|
9b086d8b9e | ||
|
|
fb1936bc19 | ||
|
|
2f0fc0decb | ||
|
|
5753c12e7b | ||
|
|
7f3a20612e | ||
|
|
fb97d325a5 | ||
|
|
2013d06266 | ||
|
|
a8ddc7618f | ||
|
|
597118ddd7 | ||
|
|
6fa5f2075a | ||
|
|
30c4d53ce5 | ||
|
|
1d19f0896c | ||
|
|
ca6ef852f9 | ||
|
|
4b21504ffc | ||
|
|
cf669eda9c | ||
|
|
1c4596b4be | ||
|
|
344ced22c3 | ||
|
|
60b6cde637 | ||
|
|
5d15bb68f7 | ||
|
|
45f90de0eb | ||
|
|
bfd6817112 | ||
|
|
a3ecbec6b5 | ||
|
|
8ebc07744a | ||
|
|
2e043aae36 | ||
|
|
41a55d4eff | ||
|
|
5dc0b80c26 | ||
|
|
104daa16a6 | ||
|
|
caa0f2205a | ||
|
|
68c10690ea | ||
|
|
8d7764abae | ||
|
|
6092dda177 | ||
|
|
e72cce352a | ||
|
|
621aa26e26 | ||
|
|
b312c820c8 | ||
|
|
617e7d512f | ||
|
|
c72b4543b6 | ||
|
|
be7266155f | ||
|
|
a21d1f99b8 | ||
|
|
6af163dd79 | ||
|
|
a89eae99f6 | ||
|
|
6d2930cc5a | ||
|
|
21fa09349b | ||
|
|
68813ca986 | ||
|
|
8c8fa2d82c | ||
|
|
8bbaf045b9 | ||
|
|
01f9ae63e7 | ||
|
|
02acf65ef3 | ||
|
|
b3a5535360 | ||
|
|
f250b034b4 | ||
|
|
ef500b44ce | ||
|
|
04d5c4294a | ||
|
|
aa579b8438 | ||
|
|
19b8b63885 | ||
|
|
e61ab1536f | ||
|
|
13b281d743 | ||
|
|
9af9c0f328 | ||
|
|
f4ecc908ec | ||
|
|
c520d38451 | ||
|
|
1b4135ca5d | ||
|
|
6360fe0100 | ||
|
|
30e2496775 | ||
|
|
35b9dfc380 | ||
|
|
c301d6aa25 | ||
|
|
0bf340f73c | ||
|
|
882bff36ac | ||
|
|
f89f7e136b | ||
|
|
212ea8a9ed | ||
|
|
a812ad4ea4 | ||
|
|
1bbb34365c | ||
|
|
1d8d932fa6 | ||
|
|
783e710839 | ||
|
|
c5d9b999c7 | ||
|
|
4a582fac2a | ||
|
|
86cd72573b | ||
|
|
80caeabce0 | ||
|
|
250e66e57b | ||
|
|
5e32928a42 | ||
|
|
de44a0f474 | ||
|
|
20017354f7 | ||
|
|
a783f3fbf1 | ||
|
|
f569c4a042 | ||
|
|
ed848b1c54 | ||
|
|
c27904661e | ||
|
|
10584ec8ea | ||
|
|
db3e166503 | ||
|
|
d70465decc | ||
|
|
4b78852f7e | ||
|
|
aefb4e0fa5 | ||
|
|
391952600d | ||
|
|
634304feae | ||
|
|
56fd24ecf8 | ||
|
|
77efd51216 | ||
|
|
93ca155b48 | ||
|
|
101c16b3eb | ||
|
|
52d184dae8 | ||
|
|
63fc93607b | ||
|
|
d15d4f923d | ||
|
|
6fb0c5abd7 | ||
|
|
20ab91fb79 | ||
|
|
afb2f39291 | ||
|
|
e37ecbe8a4 | ||
|
|
22a4616550 | ||
|
|
cb8aee58eb | ||
|
|
3cb4eaef4f | ||
|
|
f385242f99 | ||
|
|
5fcc9ae7f4 | ||
|
|
442b91a5dd | ||
|
|
deff57ce8b | ||
|
|
7370fd595b | ||
|
|
4c27a776bd | ||
|
|
7a8ba5a978 | ||
|
|
7df0d048d1 | ||
|
|
0c614c181e | ||
|
|
91d43ba4b4 | ||
|
|
59b4725bbb | ||
|
|
a556bc57fc | ||
|
|
bbcf96230a | ||
|
|
89685bdb29 | ||
|
|
994804f20e | ||
|
|
f8bb69c1d2 | ||
|
|
9fa18d9a4b | ||
|
|
c8beffa790 | ||
|
|
9519d22df7 | ||
|
|
de97282fbd | ||
|
|
36863b968f | ||
|
|
687f04ab46 | ||
|
|
a864a50bc6 | ||
|
|
d8d9ab8c87 | ||
|
|
4458f71851 | ||
|
|
b4e1365657 | ||
|
|
8c09c19139 | ||
|
|
f09f82ee59 | ||
|
|
b3c67a195f | ||
|
|
2268981ebf | ||
|
|
9d661240fe | ||
|
|
f57f8d3386 | ||
|
|
0268550401 | ||
|
|
a309a016bf | ||
|
|
c8a41b7d6d | ||
|
|
c590ac0997 | ||
|
|
1c4633ea2c | ||
|
|
6c4d702cb1 | ||
|
|
e7daa59f84 | ||
|
|
e515d89969 | ||
|
|
dce7aa8569 | ||
|
|
48b209d612 | ||
|
|
14c1a4423e | ||
|
|
eb1775e485 | ||
|
|
04c2b9d4ed | ||
|
|
ea84819bbb | ||
|
|
34e1413d75 | ||
|
|
14230869e6 | ||
|
|
eab9684837 | ||
|
|
c794661f1e | ||
|
|
8929769902 | ||
|
|
350c3eb6ec | ||
|
|
472e51b975 | ||
|
|
fba5771fa4 | ||
|
|
5bc23bc05d | ||
|
|
3d49d88009 | ||
|
|
e946ee7745 | ||
|
|
21b8a5418d | ||
|
|
708ce1480f | ||
|
|
9804911c5f | ||
|
|
08034ceb17 | ||
|
|
219cb2eaac | ||
|
|
a9f030e84c | ||
|
|
7a3a718c7a | ||
|
|
e3a06961f6 | ||
|
|
d7345da5ba | ||
|
|
b369f71fd6 | ||
|
|
1191303f8b | ||
|
|
e9ca40b56e | ||
|
|
3d6da93093 | ||
|
|
cb7337eb64 | ||
|
|
4da70d800a | ||
|
|
a888f377a5 | ||
|
|
8017b0bb8e | ||
|
|
4ec846f5ac | ||
|
|
94c2830572 | ||
|
|
0501d340cd | ||
|
|
c6bcdf4dc7 | ||
|
|
9f5e1dc8cd | ||
|
|
cebe36c42c | ||
|
|
301fe17f57 | ||
|
|
6f9539aefb | ||
|
|
997a611fa4 | ||
|
|
162e77ffdc | ||
|
|
a2cbccb8c7 | ||
|
|
c850786e43 | ||
|
|
3acc265f9d | ||
|
|
03a63e01a5 | ||
|
|
024012649f | ||
|
|
93d47ebbc0 | ||
|
|
c2dc05c065 | ||
|
|
fb18679a00 | ||
|
|
792ee97645 | ||
|
|
a30bf868ca | ||
|
|
1cc8ad6112 | ||
|
|
8f26bb9052 | ||
|
|
9a7f68317a | ||
|
|
774c252753 | ||
|
|
1b7ff7a636 | ||
|
|
bb9b19a6c4 | ||
|
|
b55f478042 | ||
|
|
a73ad4f0e3 | ||
|
|
b3169a5687 | ||
|
|
e49adbea4c | ||
|
|
f8b689d48e | ||
|
|
c31fcfd833 | ||
|
|
cb03817ee8 | ||
|
|
bd2de5cdf6 | ||
|
|
2f59996c54 | ||
|
|
f4651c49af | ||
|
|
751d37e749 | ||
|
|
08980fb4bc | ||
|
|
cc7f3b705e | ||
|
|
89b0a76b3c | ||
|
|
bd628274cc | ||
|
|
9ae7eb1292 | ||
|
|
818fae320f | ||
|
|
69be73f68c | ||
|
|
78cf32e194 | ||
|
|
59776ef306 | ||
|
|
b373b1d16b | ||
|
|
61c6552862 | ||
|
|
a1f7c83dbf | ||
|
|
6d8a6aef09 | ||
|
|
b99bebc008 | ||
|
|
a50b067470 | ||
|
|
346139298b | ||
|
|
f7192b5958 | ||
|
|
9394f229a0 | ||
|
|
43f9eb1aa9 | ||
|
|
8d4e1e6754 | ||
|
|
314b4462d2 | ||
|
|
c4b9991258 | ||
|
|
2890114600 | ||
|
|
8d33dcb81c | ||
|
|
cd51abf0c8 | ||
|
|
2e431e1cc3 | ||
|
|
a63aeed562 | ||
|
|
2f5d792725 | ||
|
|
1e656c0a6a | ||
|
|
50e3dc02bf | ||
|
|
d1fec15d81 | ||
|
|
d24592cbcd | ||
|
|
fa02a71abd | ||
|
|
91a013a879 | ||
|
|
f1f8f0e1c2 | ||
|
|
30851a24ff | ||
|
|
f0e1846b51 | ||
|
|
d7e502a467 | ||
|
|
927ce2b7a5 | ||
|
|
ce3d70aa99 | ||
|
|
f9be2334f7 | ||
|
|
18452a6c51 | ||
|
|
da933c223e | ||
|
|
242e9e90f4 | ||
|
|
95ea6fb3c1 | ||
|
|
1c47500ea6 | ||
|
|
afac773d19 | ||
|
|
8263bd0cc2 | ||
|
|
d6f62ba22d | ||
|
|
d05882db9e | ||
|
|
0701356260 | ||
|
|
9dbe5c9d1e | ||
|
|
a06d0de104 | ||
|
|
24d7c6a372 | ||
|
|
ece3d3606a | ||
|
|
81853893a5 | ||
|
|
eeb3c6868c | ||
|
|
cfc52dad98 | ||
|
|
49c58ce9db | ||
|
|
08b0fb856d | ||
|
|
6f38cedd8d | ||
|
|
a4100b3847 | ||
|
|
14203d77f4 | ||
|
|
ec928faad3 | ||
|
|
4b183bf9a9 | ||
|
|
7e8f1469c4 | ||
|
|
68e59ecbaf | ||
|
|
91eeee08de | ||
|
|
05d23059fd | ||
|
|
f56d763547 | ||
|
|
8f99f75e6e | ||
|
|
4b4ad18348 | ||
|
|
b0b5dabf1b | ||
|
|
31c7e82a51 | ||
|
|
496b687c3d | ||
|
|
baf5852555 | ||
|
|
8146f6f1c6 | ||
|
|
adc4078b87 | ||
|
|
7865fb9af4 | ||
|
|
3ff7701e89 | ||
|
|
b3033a59e9 | ||
|
|
5b51dbb11e | ||
|
|
e760c4f478 | ||
|
|
081f64aea3 | ||
|
|
0969c2e700 | ||
|
|
56f0cf9d15 | ||
|
|
96e023c7bd | ||
|
|
e27a8c9ae3 | ||
|
|
9451b2e4f2 | ||
|
|
901e4aa5c2 | ||
|
|
282eeadc68 | ||
|
|
9609c0f135 | ||
|
|
6417ac129d | ||
|
|
729651a554 | ||
|
|
232b838a54 | ||
|
|
fb5c5086e1 | ||
|
|
a28b8e187f | ||
|
|
89c2c51964 | ||
|
|
a23fc08758 | ||
|
|
57bd8974c7 | ||
|
|
d8f8a12665 | ||
|
|
57393eb730 | ||
|
|
f201f107db | ||
|
|
72c5a298a3 | ||
|
|
4476598e4e | ||
|
|
9bc799ec7b | ||
|
|
692ea72822 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.py diff=python
|
||||
28
.mailmap
Normal file
28
.mailmap
Normal file
@@ -0,0 +1,28 @@
|
||||
Aaron Griffin <aaron@archlinux.org> <aaronmgriffin@gmail.com>
|
||||
Allan McRae <allan@archlinux.org> <mcrae_allan@hotmail.com>
|
||||
Allan McRae <allan@archlinux.org> <mcrae_allan at hotmail.com>
|
||||
Allan McRae <allan@archlinux.org> <allan.mcrae@qimr.edu.au>
|
||||
Andres P <aepd87@gmail.com> <stderr@mail.com>
|
||||
Bryan Ischo <bryan@ischo.com> <bji-keyword-pacman.3644cb@www.ischo.com>
|
||||
Christos Nouskas <nous@archlinux.us> <nouskas@gmail.com>
|
||||
Daenyth Blank <daenyth+arch@gmail.com> <Daenyth+Arch@gmail.com>
|
||||
Daenyth Blank <Daenyth+Arch@gmail.com> <Daenyth+git@gmail.com>
|
||||
甘露(Gan Lu) <rhythm.gan@gmail.com>
|
||||
Giovanni Scafora <giovanni@archlinux.org> <linuxmania@gmail.com>
|
||||
Jaroslaw Swierczynski <swiergot@gmail.com> <swiergot@juvepoland.com>
|
||||
Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>
|
||||
Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar> <jotapesan@gmail.com>
|
||||
Manuel Tortosa <manutortosa@chakra-project.org> <manutortosa@gmail.com>
|
||||
Marc - A. Dahlhaus <mad@wol.de>
|
||||
Matthias Gorissen <matthias@archlinux.de> <siquame@web.de>
|
||||
Laszlo Papp <djszapi@archlinux.us> <djszapi2@gmail.com>
|
||||
Nagy Gabor <ngaba@bibl.u-szeged.hu> <ngaba@petra.hos.u-szeged.hu>
|
||||
Nagy Gabor <ngaba@bibl.u-szeged.hu> <ngaba at bibl.u-szeged.hu>
|
||||
Nezmer <git@nezmer.info> <Nezmer@allurelinux.org>
|
||||
Roman Kyrylych <roman@archlinux.org> <roman.kyrylych@gmail.com>
|
||||
Sebastian Nowicki <sebnow@gmail.com> <xilonmu@gmail.com>
|
||||
Vojtěch Gondžala <vojtech.gondzala@gmail.com> <vogo@seznam.cz>
|
||||
Vojtěch Gondžala <vojtech.gondzala@gmail.com> Vojtech Gondzala <vojtech.gondzala@gmail.com>
|
||||
Xavier Chantry <shiningxc@gmail.com>
|
||||
Xavier Chantry <shiningxc@gmail.com> <chantry.xavier@gmail.com>
|
||||
Xavier Chantry <shiningxc@gmail.com> <xav@chantry.homelinux.org>
|
||||
2
AUTHORS
2
AUTHORS
@@ -11,6 +11,6 @@ James Rosten <seinfeld90@gmail.com>
|
||||
Roman Kyrylych <Roman.Kyrylych@gmail.com>
|
||||
Andrew Fyfe <andrew@neptune-one.net>
|
||||
Chantry Xavier <shiningxc@gmail.com>
|
||||
Nagy Gabor <ngaba@petra.hos.u-szeged.hu>
|
||||
Nagy Gabor <ngaba@bibl.u-szeged.hu>
|
||||
Nathan Jones <nathanj@insightbb.com>
|
||||
Allan McRae <mcrae_allan@hotmail.com>
|
||||
|
||||
49
HACKING
49
HACKING
@@ -12,10 +12,10 @@ Coding style
|
||||
1. All code should be indented with tabs. (Ignore the use of only spaces in
|
||||
this file) By default, source files contain the following VIM modeline:
|
||||
+
|
||||
[C]
|
||||
code~~~~~~~~~~
|
||||
[code,C]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/* vim: set ts=2 sw=2 noet: */
|
||||
code~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
2. When opening new blocks such as 'while', 'if', or 'for', leave the opening
|
||||
brace on the same line as the beginning of the codeblock. The closing brace
|
||||
@@ -24,8 +24,8 @@ code~~~~~~~~~~
|
||||
braces, even if it's just a one-line block. This reduces future error when
|
||||
blocks are expanded beyond one line.
|
||||
+
|
||||
[C]
|
||||
code~~~~~~~~~~
|
||||
[code,C]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
for(lp = list; lp; lp = lp->next) {
|
||||
newlist = _alpm_list_add(newlist, strdup(lp->data));
|
||||
}
|
||||
@@ -40,14 +40,14 @@ while(it) {
|
||||
free(it);
|
||||
it = ptr;
|
||||
}
|
||||
code~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
3. When declaring a new function, put the opening and closing braces on their
|
||||
own line. Also, when declaring a pointer, do not put a space between the
|
||||
asterisk and the variable name.
|
||||
+
|
||||
[C]
|
||||
code~~~~~~~~~~
|
||||
[code,C]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
alpm_list_t *alpm_list_add(alpm_list_t *list, void *data)
|
||||
{
|
||||
alpm_list_t *ptr, *lp;
|
||||
@@ -58,7 +58,7 @@ alpm_list_t *alpm_list_add(alpm_list_t *list, void *data)
|
||||
}
|
||||
...
|
||||
}
|
||||
code~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
4. Comments should be ANSI-C89 compliant. That means no `// Comment` style;
|
||||
use only `/* Comment */` style.
|
||||
@@ -101,37 +101,50 @@ Currently our #include usage is in messy shape, but this is no reason to
|
||||
continue down this messy path. When adding an include to a file, follow this
|
||||
general pattern, including blank lines:
|
||||
|
||||
[C]
|
||||
code~~~~~~~~~~
|
||||
[code,C]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#include "config.h"
|
||||
|
||||
#include <standardheader.h>
|
||||
#include <another.h>
|
||||
#include <...>
|
||||
code~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Follow this with some more headers, depending on whether the file is in libalpm
|
||||
or pacman proper. For libalpm:
|
||||
|
||||
[C]
|
||||
code~~~~~~~~~~
|
||||
[code,C]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/* libalpm */
|
||||
#include "yourfile.h"
|
||||
#include "alpm_list.h"
|
||||
#include "anythingelse.h"
|
||||
code~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
For pacman:
|
||||
|
||||
[C]
|
||||
code~~~~~~~~~~
|
||||
[code,C]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#include <alpm.h>
|
||||
#include <alpm_list.h>
|
||||
|
||||
/* pacman */
|
||||
#include "yourfile.h"
|
||||
#include "anythingelse.h"
|
||||
code~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
GDB and Valgrind Usage
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When using GDB or valgrind on pacman, you will want to run it on the actual
|
||||
binary rather than the shell script wrapper produced by libtool. The actual
|
||||
binary lives at `src/pacman/.libs/lt-pacman`, and will exist after running
|
||||
`./src/pacman/pacman` at least once.
|
||||
|
||||
For example, to run valgrind:
|
||||
|
||||
./src/pacman/pacman
|
||||
valgrind --leak-check=full -- src/pacman/.libs/lt-pacman -Syu
|
||||
|
||||
/////
|
||||
vim: set ts=2 sw=2 syntax=asciidoc et:
|
||||
|
||||
13
INSTALL
13
INSTALL
@@ -10,10 +10,19 @@ unlimited permission to copy, distribute and modify it.
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
You will need to build and install two libraries before you can
|
||||
properly build pacman.
|
||||
|
||||
libarchive
|
||||
http://code.google.com/p/libarchive/
|
||||
|
||||
libfetch
|
||||
ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/net/libfetch/README.html
|
||||
|
||||
Briefly, the shell commands `./configure; make; make install' should
|
||||
configure, build, and install this package. The following
|
||||
more-detailed instructions are generic; see the `README' file for
|
||||
instructions specific to this package.
|
||||
instructions are generic. Run `./configure --help` for specific
|
||||
options.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
|
||||
15
Makefile.am
15
Makefile.am
@@ -1,23 +1,26 @@
|
||||
SUBDIRS = lib/libalpm src/util src/pacman scripts etc po pactest contrib
|
||||
SUBDIRS = lib/libalpm src/util src/pacman scripts etc po test/pacman test/util contrib
|
||||
if WANT_DOC
|
||||
SUBDIRS += doc
|
||||
endif
|
||||
|
||||
# Make sure we test and build manpages when doing distcheck
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-doc --disable-git-version
|
||||
|
||||
# Some files automatically included, so they aren't specified below:
|
||||
# AUTHORS, COPYING, NEWS, README
|
||||
EXTRA_DIST = HACKING
|
||||
|
||||
# Sample makepkg prototype files
|
||||
pkgdatadir = ${datadir}/${PACKAGE}
|
||||
dist_pkgdata_DATA = PKGBUILD.proto proto.install ChangeLog.proto
|
||||
dist_pkgdata_DATA = PKGBUILD.proto PKGBUILD-split.proto proto.install ChangeLog.proto
|
||||
|
||||
# run the pactest test suite and vercmp tests
|
||||
check-local: pactest src/pacman src/util
|
||||
$(PYTHON) $(top_srcdir)/pactest/pactest.py --debug=1 \
|
||||
--test $(top_srcdir)/pactest/tests/*.py \
|
||||
check-local: test/pacman test/util src/pacman src/util
|
||||
$(PYTHON) $(top_srcdir)/test/pacman/pactest.py --debug=1 \
|
||||
--test $(top_srcdir)/test/pacman/tests/*.py \
|
||||
-p $(top_builddir)/src/pacman/pacman
|
||||
rm -rf $(top_builddir)/root
|
||||
$(SH) $(top_srcdir)/pactest/vercmptest.sh \
|
||||
$(SH) $(top_srcdir)/test/util/vercmptest.sh \
|
||||
$(top_builddir)/src/util/vercmp
|
||||
|
||||
# create the pacman DB and cache directories upon install
|
||||
|
||||
142
NEWS
142
NEWS
@@ -1,7 +1,145 @@
|
||||
VERSION DESCRIPTION
|
||||
-----------------------------------------------------------------------------
|
||||
3.2.0
|
||||
- removed -A/--add option from pacman frontend
|
||||
3.4.0 - new "Architecture" option that will restrict pacman to
|
||||
installing only packages from the given architecture. Can be
|
||||
set to "auto" in which case the output of "uname -m" is used
|
||||
- use "$arch" when specifying a mirror url to automatically
|
||||
select the correct architecture
|
||||
- Installing packages with -U can handle installing
|
||||
dependencies, conflict resolution and replacing packages
|
||||
(FS#3492, FS#5798)
|
||||
- can upgrade the system and install a new package using
|
||||
"pacman -Syu <pkg>" (FS#15581)
|
||||
- new -D/--database operation for modifying package install
|
||||
reasons (FS#12950)
|
||||
- new --print and --print-format options to output information
|
||||
in suitable format for wrapper scripts (FS#14208)
|
||||
- only extract new entries when updating a repo database
|
||||
- show "Required by" in -Sii output (FS#16244)
|
||||
- -U and -R options always ask for confirmation
|
||||
- allow -Qo to perform a functional 'which' (FS#8798)
|
||||
- cache cleaning cleans all directories, not just first
|
||||
- cleanupdelta: new utility to help remove unused deltas from
|
||||
a repo database
|
||||
- bash completion: rewrite for size and performance (FS#16630)
|
||||
- repo-add: handle removing the final package from a repo
|
||||
- rankmirrors: rewrite using bash
|
||||
- vercmp: does not link to libalpm to prevent upgrade issues
|
||||
- makepkg:
|
||||
- automatically aborts on any errors during packaging
|
||||
- changelogs are now included via the "changelog" variable
|
||||
- override pkgver, pkgrel and arch in split packages (FS#15955)
|
||||
- repackaging without a package() function is deprecated
|
||||
- stricter syntax checking for backup and optdepends entries
|
||||
- file stripping options are configurable
|
||||
- New --pkg flag to allow building specific package(s) from
|
||||
split PKGBUILDs (FS#15956)
|
||||
- build() function is now optional (FS#15147)
|
||||
- warn about reference to build root in a package (FS#14751)
|
||||
- configure source package destination with SRCPKGDEST
|
||||
- major internal refactoring of handling tests ("[" to "[[")
|
||||
- contrib/pactree: print reverse dependency tree
|
||||
3.3.3 - correctly check the return code from opendir()
|
||||
- fix possible infinite loop in alpm_list_remove()
|
||||
- makepkg:
|
||||
- quote arrays to preserve spaces in arrays (FS#16871)
|
||||
- allow passing arguments with spaces
|
||||
- adjust preselected option for clearing cache
|
||||
- translations:
|
||||
- zh_CN: fix positional parameter usage in makepkg (FS#16983)
|
||||
- el: fix Y/N response translation (FS#16568)
|
||||
3.3.2 - fix infinite filesize download issue (FS#16359)
|
||||
- fix bogus download size on TotalDownload
|
||||
- documentation updates
|
||||
- small translation updates
|
||||
- repo-add: use size of target files and not symlinks
|
||||
- repo-remove: create empty DB when all packages are removed
|
||||
3.3.1 - use full path to ldconfig when calling in chroot
|
||||
- optimize the check for modified databases during sync
|
||||
- ensure installed libfetch is new enough
|
||||
- have -Q ops return 1 when no package matches (FS#15938)
|
||||
- skip SyncFirst dialog if unnecessary (FS#15810)
|
||||
- misc documentation updates (FS#15870, FS#15984)
|
||||
- testdb: be less verbose during checks
|
||||
- existing translation updates
|
||||
- two new translations: Norwegian, Swedish
|
||||
- makepkg:
|
||||
- add --skipinteg option (FS#15830)
|
||||
- fix .PKGINFO creation with -R option (FS#15851)
|
||||
- always keep symlinks to sources when unpacking
|
||||
3.3.0 - xdelta: many fixes and improvements
|
||||
- new pkgdelta script to create deltas
|
||||
- repo-add can add both deltas and packages to a database
|
||||
- xz archive format supported for packages and databases
|
||||
- in case of unresolvable packages, pacman now asks
|
||||
if they should be skipped instead of aborting
|
||||
- -Suu synchronizes all packages with the version from the
|
||||
repository (including upgrade and downgrade)
|
||||
- replace libdownload dependency by the original libfetch
|
||||
- better support of -q/--quiet flag with -Qo and -Ql
|
||||
- -Sp works without root (FS#8905)
|
||||
- fix a bug where the replacement of a package failed because
|
||||
of a file conflict, and the package was lost (FS#9088)
|
||||
- improved behavior of HoldPkg option (FS#9173)
|
||||
- allow to ignore a package from a group (FS#12059)
|
||||
- search package groups when searching a db (FS#13099)
|
||||
- asciidoc fixes
|
||||
- documentation updates
|
||||
- repo-add: cleanups, improvements and speedup
|
||||
- makepkg:
|
||||
- package splitting support! - see PKGBUILD-split.proto
|
||||
- limit fakeroot usage with addition of package() function
|
||||
- info is handled like man pages and not other documentation
|
||||
- configuration option for man/info page directories
|
||||
- added ability to automatically remove files from package
|
||||
- configuration option for default LDFLAGS
|
||||
- specify alternative configuration file with --config flag
|
||||
- check all integrity checksums provided in PKGBUILD
|
||||
- fix pkgver/pkgrel updating in SCM packages
|
||||
- BUILDSCRIPT option removed from makepkg.conf. Now specified
|
||||
during configure
|
||||
- enforce no ">" or "<" in provides array
|
||||
- package compression autodetection
|
||||
- check PKGBUILD for CRLF line endings
|
||||
- fix reading PKGBUILD from pipe
|
||||
- increase compatibility with BSDs & Mac OSX
|
||||
- contrib
|
||||
- pacdiff - improvements and new -l flag for using locate
|
||||
- pacscripts - print install scripts for a package
|
||||
3.2.2 - log pacsave warnings to pacman.log (FS#12531)
|
||||
- separate local DB creation and writing (FS#12263)
|
||||
- pacman-optimize: rewrite and refresh (FS#11767)
|
||||
- repo-add: use openssl instead of md5sum
|
||||
- simplify doc building process for ease of development
|
||||
- ensure correct handling of syscall interruptions
|
||||
- readd missing newline on -Qi/-Si output (FS#11331)
|
||||
- fix TotalDownload regression (FS#11339)
|
||||
- makepkg:
|
||||
- replace getopt with an internal function
|
||||
- detect incorrect usage of provides (FS#12540)
|
||||
- fix bash substitution to work in older versions
|
||||
- fix updating PKGBUILD and simplify logic for SCM packages
|
||||
- save/restore shell options before/after build() (FS#12344)
|
||||
- documentation updates and asciidoc build fix
|
||||
- existing translation updates
|
||||
3.2.1 - drop special handling of file:// URLs
|
||||
- display optdepends on install and upgrade
|
||||
- fix segfault on x86_64 when using UseSyslog (FS#11096)
|
||||
- fix detection of TotalDownload (FS#11180)
|
||||
- fix "No such file" error during --force installs (FS#11218)
|
||||
- better handling of progressbar when behind a proxy (FS#8725)
|
||||
- repo-add: fix whitespace handling (FS#9171, FS#10630)
|
||||
- repo-add: add optdepends to the sync DB (FS#10630)
|
||||
- makepkg:
|
||||
- allow specifying a download filename (related to FS#11292)
|
||||
- fix download functions with weird URLs (FS#11076)
|
||||
- fix creation of source package with local files (FS#11149)
|
||||
- fix error when sourcing profile scripts (FS#11179)
|
||||
- perform case-insensitive checksum comparison (FS#11283)
|
||||
- documentation and help updates (including fix for FS#11203)
|
||||
- new Ukrainian translation
|
||||
- existing translation updates
|
||||
3.2.0 - removed -A/--add option from pacman frontend
|
||||
- added --asexplicit option
|
||||
- new remove option --unneeded
|
||||
- add -Rss option to remove all dependencies
|
||||
|
||||
63
PKGBUILD-split.proto
Normal file
63
PKGBUILD-split.proto
Normal file
@@ -0,0 +1,63 @@
|
||||
# This is an example of a PKGBUILD for splitting packages. Use this as a
|
||||
# start to creating your own, and remove these comments. For more information,
|
||||
# see 'man PKGBUILD'. NOTE: Please fill out the license field for your package!
|
||||
# If it is unknown, then please put 'unknown'.
|
||||
|
||||
# Maintainer: Your Name <youremail@domain.com>
|
||||
pkgname=('pkg1' 'pkg2')
|
||||
pkgbase=BASE
|
||||
pkgver=VERSION
|
||||
pkgrel=1
|
||||
pkgdesc=""
|
||||
arch=()
|
||||
url=""
|
||||
license=('GPL')
|
||||
groups=()
|
||||
depends=()
|
||||
makedepends=()
|
||||
provides=()
|
||||
conflicts=()
|
||||
replaces=()
|
||||
backup=()
|
||||
options=()
|
||||
install=
|
||||
changelog=
|
||||
source=($pkgbase-$pkgver.tar.gz)
|
||||
noextract=()
|
||||
md5sums=() #generate with 'makepkg -g'
|
||||
|
||||
build() {
|
||||
cd "$srcdir/$pkgbase-$pkgver"
|
||||
./configure --prefix=/usr
|
||||
make
|
||||
}
|
||||
|
||||
package_pkg1() {
|
||||
# options and directives that can be overridden
|
||||
pkgver=
|
||||
pkgrel=
|
||||
pkgdesc=""
|
||||
arch=()
|
||||
license=()
|
||||
groups=()
|
||||
depends=()
|
||||
optdepends=()
|
||||
provides=()
|
||||
conflicts=()
|
||||
replaces=()
|
||||
backup=()
|
||||
options=()
|
||||
install=
|
||||
changelog=
|
||||
|
||||
cd "$srcdir/$pkgbase-$pkgver"
|
||||
make DESTDIR="$pkgdir/" install-pkg1
|
||||
}
|
||||
|
||||
package_pkg2() {
|
||||
# options and directives overrides
|
||||
pkgdesc=""
|
||||
|
||||
cd "$srcdir/$pkgbase-$pkgver"
|
||||
make DESTDIR="$pkgdir/" install-pkg2
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
# NOTE: Please fill out the license field for your package! If it is unknown,
|
||||
# then please put 'unknown'.
|
||||
|
||||
# Contributor: Your Name <youremail@domain.com>
|
||||
# Maintainer: Your Name <youremail@domain.com>
|
||||
pkgname=NAME
|
||||
pkgver=VERSION
|
||||
pkgrel=1
|
||||
@@ -14,12 +14,14 @@ license=('GPL')
|
||||
groups=()
|
||||
depends=()
|
||||
makedepends=()
|
||||
optdepends=()
|
||||
provides=()
|
||||
conflicts=()
|
||||
replaces=()
|
||||
backup=()
|
||||
options=()
|
||||
install=
|
||||
changelog=
|
||||
source=($pkgname-$pkgver.tar.gz)
|
||||
noextract=()
|
||||
md5sums=() #generate with 'makepkg -g'
|
||||
@@ -28,7 +30,12 @@ build() {
|
||||
cd "$srcdir/$pkgname-$pkgver"
|
||||
|
||||
./configure --prefix=/usr
|
||||
make || return 1
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/$pkgname-$pkgver"
|
||||
|
||||
make DESTDIR="$pkgdir/" install
|
||||
}
|
||||
|
||||
|
||||
90
README
90
README
@@ -51,14 +51,12 @@ library is initialized.
|
||||
|
||||
* logcb: The callback function for "log" operations.
|
||||
* dlcb: The callback function for download progress of each package.
|
||||
* fetchcb: Callback for custom download function.
|
||||
* totaldlcb: The callback function for overall download progress.
|
||||
* root: The root directory for pacman to install to (Default: /)
|
||||
* dbpath: The toplevel database directory (Default: /var/lib/pacman)
|
||||
* logfile: The base path to pacman's log file (Default: /var/log/pacman.log)
|
||||
* usesyslog: Log to syslog instead of `logfile` for file-base logging.
|
||||
* xfercommand: The command to use for downloading instead of pacman's internal
|
||||
downloading functionality.
|
||||
* nopassiveftp: Do not use passive FTP commands for ftp connections.
|
||||
|
||||
The following options also have `alpm_option_{add,remove}_*` functions, as the
|
||||
values are list structures.
|
||||
@@ -70,7 +68,6 @@ alpm_option_{get,set}_noupgrades -> alpm_option_{add,remove}_noupgrade.
|
||||
* noextracts: Files which will never be extracted at all (no .pacnew file)
|
||||
* ignorepkgs: Packages to ignore when upgrading.
|
||||
* ignoregrps: Groups to ignore when upgrading.
|
||||
* holdpkgs: Important packages which need a confirmation before being removed.
|
||||
|
||||
The following options are read-only, having ONLY alpm_option_get_* functions:
|
||||
|
||||
@@ -246,3 +243,88 @@ API CHANGES BETWEEN 3.1 AND 3.2
|
||||
- flags:
|
||||
PM_TRANS_FLAG_ALLEXPLICIT, PM_TRANS_FLAG_UNNEEDED and
|
||||
PM_TRANS_FLAG_RECURSEALL
|
||||
|
||||
|
||||
API CHANGES BETWEEN 3.2 AND 3.3
|
||||
===============================
|
||||
|
||||
[REMOVED]
|
||||
- pmsyncpkg_t struct (pmpkg_t is used for all types of transaction targets):
|
||||
- alpm_sync_get_pkg()
|
||||
- alpm_sync_get_removes() (use alpm_pkg_get_removes() instead)
|
||||
- HoldPkg handling (it is the front-end's task):
|
||||
- alpm_option_get_holdpkgs()
|
||||
- alpm_option_add_holdpkg()
|
||||
- alpm_option_set_holdpkgs()
|
||||
- alpm_option_remove_holdpkg()
|
||||
- PM_TRANS_CONV_REMOVE_HOLDPKG conversation
|
||||
- Print URIs feature (it is the front-end's task):
|
||||
- flag: PM_TRANS_FLAG_PRINTURIS
|
||||
- event: PM_TRANS_EVT_PRINTURI
|
||||
- alpm_delta_get_from_md5sum() and alpm_delta_get_to_md5sum()
|
||||
- alpm_sync_sysupgrade()
|
||||
- error codes:
|
||||
PM_ERR_TRANS_COMMITING, PM_ERR_TRANS_DOWNLOADING, PM_ERR_PKG_LOAD,
|
||||
PM_ERR_PKG_CANT_FRESH, PM_ERR_GRP_NOT_FOUND, PM_ERR_USER_ABORT,
|
||||
PM_ERR_INTERNAL_ERROR, PM_ERR_DB_SYNC, PM_ERR_PKG_HOLD and
|
||||
PM_ERR_LIBDOWNLOAD
|
||||
|
||||
[CHANGED]
|
||||
- XferCommand support was removed, any fetch callback function can be defined:
|
||||
- alpm_option_get_xfercommand() and alpm_option_set_xfercommand() were removed
|
||||
- alpm_option_get_fetchcb() and alpm_option_set_fetchcb() were added
|
||||
- function renames:
|
||||
- alpm_db_getpkgcache() -> alpm_db_get_pkgcache()
|
||||
- alpm_db_getgrpcache() -> alpm_db_get_grpcache()
|
||||
- alpm_dep_get_string() -> alpm_dep_compute_string()
|
||||
- alpm_get_md5sum() -> alpm_compute_md5sum()
|
||||
- alpm_checkdbconflicts() -> alpm_checkconflicts()
|
||||
- alpm_trans_sysupgrade() has a new enable_downgrade parameter
|
||||
- alpm_checkdeps() and alpm_checkconflicts() require local package list instead
|
||||
of local database
|
||||
- the to-be-upgraded package is passed to the callback function with
|
||||
PM_TRANS_EVT_UPGRADE_START (as the second parameter)
|
||||
- the "requiredby" package is never passed to the callback function with
|
||||
PM_TRANS_CONV_INSTALL_IGNOREPKG (the second parameter is always NULL)
|
||||
|
||||
[ADDED]
|
||||
- alpm_pkg_get_db()
|
||||
- alpm_pkg_get_removes()
|
||||
- conversation: PM_TRANS_CONV_REMOVE_PKGS (remove unresolvable targets)
|
||||
- flag: PM_TRANS_FLAG_NOLOCK (do not lock database)
|
||||
- error codes:
|
||||
PM_ERR_SERVER_NONE, PM_ERR_TRANS_NOT_LOCKED, PM_ERR_PKG_IGNORED and
|
||||
PM_ERR_LIBFETCH
|
||||
|
||||
|
||||
API CHANGES BETWEEN 3.3 AND 3.4
|
||||
===============================
|
||||
|
||||
[REMOVED]
|
||||
- pmtranstype_t struct (transaction type), alpm_trans_get_type()
|
||||
- alpm_option_get_nopassiveftp(), alpm_option_set_nopassiveftp()
|
||||
|
||||
[CHANGED]
|
||||
- interface for target loading:
|
||||
- alpm_trans_addtarget() and alpm_trans_sysupgrade() were removed
|
||||
- alpm_sync_target() and alpm_sync_dbtarget() can be used to add a sync target
|
||||
- alpm_sync_sysupgrade() can be used to add outdated packages (for sysupgrade)
|
||||
- alpm_add_target() can be used to add an add/upgrade target
|
||||
- alpm_remove_target() can be used to add a remove target
|
||||
- interface for target listing:
|
||||
- alpm_trans_get_pkgs() was removed
|
||||
- alpm_pkg_get_removes() was removed
|
||||
- alpm_trans_get_add() can be used to list add/upgrade/sync targets
|
||||
- alpm_trans_get_remove() can be used to list to-be-removed packages
|
||||
- the type parameter of alpm_trans_init() was removed
|
||||
- the type of alpm_db_fetch callback function: mtimeold and mtimenew parameters
|
||||
were replaced by force parameter
|
||||
- unsigned short -> int changes for Boolean variables
|
||||
|
||||
[ADDED]
|
||||
- alpm_db_set_pkgreason()
|
||||
- alpm_option_get_arch(), alpm_option_set_arch()
|
||||
- alpm_option_get_usedelta()
|
||||
- alpm_pkg_unused_deltas()
|
||||
- alpm_conflict_get_reason()
|
||||
- error code: PM_ERR_PKG_INVALID_ARCH
|
||||
|
||||
25
TRANSLATORS
25
TRANSLATORS
@@ -10,37 +10,52 @@ If your language is not listed here and you wish it was, let the pacman mailing
|
||||
list know you are interested in making a translation. We will be happy to add
|
||||
your language to the mix.
|
||||
|
||||
Catalan (ca):
|
||||
Manuel Tortosa <manutortosa@chakra-project.org>
|
||||
Czech (cs):
|
||||
Vojtěch Gondžala <vojtech.gondzala@gmail.com>
|
||||
German (de):
|
||||
Matthias Gorissen <matthias@archlinux.de>
|
||||
Benjamin Andresen <benny@in-ulm.de>
|
||||
Greek (el):
|
||||
Christos Nouskas <nouskas@gmail.com>
|
||||
British English (en_GB):
|
||||
Jeff Bailes <thepizzaking@gmail.com>
|
||||
Spanish (es):
|
||||
Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>
|
||||
Fernando Lagos <fernando@zerial.org>
|
||||
Juan Pablo Gonzalez <jotapesan@gmail.com>
|
||||
French (fr):
|
||||
Chantry Xavier <shiningxc@gmail.com>
|
||||
Hungarian (hu):
|
||||
Nagy Gabor <ngaba@bibl.u-szeged.hu>
|
||||
Avramucz Péter <muczyjoe@gmail.com>
|
||||
Italian (it):
|
||||
Giovanni 'voidnull' Scafora <linuxmania@gmail.com>
|
||||
Giovanni Scafora <giovanni@archlinux.org>
|
||||
Kazakh (kk):
|
||||
Baurzhan Muftakhidinov <baurthefirst@gmail.com>
|
||||
Norwegian (nb):
|
||||
Hans-Kristian Arntzen <maister@archlinux.us>
|
||||
Polish (pl):
|
||||
Mateusz Herych <heniekk@gmail.com>
|
||||
Jaroslaw Swierczynski <swiergot@gmail.com>
|
||||
Mateusz Jędrasik <m.jedrasik@gmail.com>
|
||||
Brazilian Portuguese (pt_BR):
|
||||
Armando M. Baratti <ambaratti@archlinux-br.org>
|
||||
Hugo Doria <hugo@archlinux.org>
|
||||
Leandro Inacio <leandro@archlinux-br.org>
|
||||
Rodrigo Flores <flores@archlinux-br.org>
|
||||
Marcelo Cavalcante <kalibslack@gmail.com>
|
||||
Romanian (ro):
|
||||
Volodia Macovei <blog@volodia.ro>
|
||||
Russian (ru):
|
||||
Sergey Tereschenko <serg.partizan@gmail.com>
|
||||
Vitaly Dolgov <ferhiord@gmail.com>
|
||||
Oleg Finkelshteyn <olegfink@gmail.com>
|
||||
Vladimir Bayrakovskiy <4rayven@gmail.com>
|
||||
Swedish (sv):
|
||||
Christian Larsson <congacx@gmail.com>
|
||||
Turkish (tr):
|
||||
Samed Beyribey <ras0ir@eventualis.org>
|
||||
Alper KANAT <alperkanat@gmail.com>
|
||||
Ukrainian (uk):
|
||||
Roman Kyrylych (Роман Кирилич) <roman.kyrylych@gmail.com>
|
||||
Ivan Kovnatsky (Іван Ковнацький) <sevenfourk@gmail.com>
|
||||
Simplified Chinese (zh_CN):
|
||||
甘露(Lu.Gan) <rhythm.gan@gmail.com>
|
||||
|
||||
57
autoclean.sh
57
autoclean.sh
@@ -2,33 +2,36 @@
|
||||
|
||||
[ -f Makefile ] && make distclean
|
||||
rm -rf autom4te.cache
|
||||
rm -rf {Makefile.in,Makefile}
|
||||
rm -rf {config.h.in,config.h}
|
||||
rm -rf config.status
|
||||
rm -rf configure
|
||||
rm -rf stamp*
|
||||
rm -rf aclocal.m4
|
||||
rm -rf compile
|
||||
rm -rf libtool
|
||||
rm -f {Makefile.in,Makefile}
|
||||
rm -f {config.h.in,config.h}
|
||||
rm -f config.status
|
||||
rm -f configure
|
||||
rm -f stamp*
|
||||
rm -f aclocal.m4
|
||||
rm -f compile
|
||||
rm -f libtool
|
||||
|
||||
rm -rf lib/libalpm/{Makefile.in,Makefile}
|
||||
rm -rf src/util/{Makefile.in,Makefile}
|
||||
rm -rf src/pacman/{Makefile.in,Makefile}
|
||||
rm -rf scripts/{Makefile.in,Makefile}
|
||||
rm -rf etc/{Makefile.in,Makefile}
|
||||
rm -rf etc/pacman.d/{Makefile.in,Makefile}
|
||||
rm -rf etc/abs/{Makefile.in,Makefile}
|
||||
rm -rf pactest/{Makefile.in,Makefile}
|
||||
rm -rf doc/{Makefile.in,Makefile}
|
||||
rm -rf doc/html/*.html
|
||||
rm -rf doc/man3/*.3
|
||||
rm -f lib/libalpm/{Makefile.in,Makefile}
|
||||
rm -f src/util/{Makefile.in,Makefile}
|
||||
rm -f src/pacman/{Makefile.in,Makefile}
|
||||
rm -f scripts/{Makefile.in,Makefile}
|
||||
rm -f etc/{Makefile.in,Makefile}
|
||||
rm -f etc/pacman.d/{Makefile.in,Makefile}
|
||||
rm -f etc/abs/{Makefile.in,Makefile}
|
||||
rm -f test/pacman{,/tests}/{Makefile.in,Makefile}
|
||||
rm -f contrib/{Makefile.in,Makefile}
|
||||
rm -f doc/{Makefile.in,Makefile}
|
||||
|
||||
rm -rf po/{Makefile.in,Makefile}
|
||||
rm -rf po/POTFILES
|
||||
rm -rf po/stamp-po
|
||||
rm -rf po/*.gmo
|
||||
rm -f test/pacman/*.pyc
|
||||
rm -f doc/html/*.html
|
||||
rm -f doc/man3/*.3
|
||||
|
||||
rm -rf lib/libalpm/po/{Makefile.in,Makefile}
|
||||
rm -rf lib/libalpm/po/POTFILES
|
||||
rm -rf lib/libalpm/po/stamp-po
|
||||
rm -rf lib/libalpm/po/*.gmo
|
||||
rm -f po/{Makefile.in,Makefile}
|
||||
rm -f po/POTFILES
|
||||
rm -f po/stamp-po
|
||||
rm -f po/*.gmo
|
||||
|
||||
rm -f lib/libalpm/po/{Makefile.in,Makefile}
|
||||
rm -f lib/libalpm/po/POTFILES
|
||||
rm -f lib/libalpm/po/stamp-po
|
||||
rm -f lib/libalpm/po/*.gmo
|
||||
|
||||
107
configure.ac
107
configure.ac
@@ -41,12 +41,12 @@ AC_PREREQ(2.60)
|
||||
# Bugfix releases:
|
||||
# pacman_version_micro += 1
|
||||
|
||||
m4_define([lib_current], [3])
|
||||
m4_define([lib_current], [5])
|
||||
m4_define([lib_revision], [0])
|
||||
m4_define([lib_age], [0])
|
||||
|
||||
m4_define([pacman_version_major], [3])
|
||||
m4_define([pacman_version_minor], [2])
|
||||
m4_define([pacman_version_minor], [4])
|
||||
m4_define([pacman_version_micro], [0])
|
||||
m4_define([pacman_version],
|
||||
[pacman_version_major.pacman_version_minor.pacman_version_micro])
|
||||
@@ -88,26 +88,26 @@ AC_ARG_WITH(db-ext,
|
||||
AS_HELP_STRING([--with-db-ext=ext], [set the file extension used by the database]),
|
||||
[DBEXT=$withval], [DBEXT=.db.tar.gz])
|
||||
|
||||
# Help line for libdownload/libfetch
|
||||
# Help line for buildscript filename
|
||||
AC_ARG_WITH(buildscript,
|
||||
AS_HELP_STRING([--with-buildscript=name], [set the build script name used by makepkg]),
|
||||
[BUILDSCRIPT=$withval], [BUILDSCRIPT=PKGBUILD])
|
||||
|
||||
# Help line for libfetch
|
||||
AC_ARG_ENABLE(internal-download,
|
||||
AS_HELP_STRING([--disable-internal-download], [do not build with libdownload/libfetch support]),
|
||||
AS_HELP_STRING([--disable-internal-download], [do not build with libfetch support]),
|
||||
[internaldownload=$enableval], [internaldownload=yes])
|
||||
|
||||
# Help line for documentation
|
||||
AC_ARG_ENABLE(doc,
|
||||
AS_HELP_STRING([--disable-doc], [prevent make from looking at doc/ dir]),
|
||||
[wantdoc=$enableval], [wantdoc=yes])
|
||||
AS_HELP_STRING([--enable-doc], [run make in doc/ dir]),
|
||||
[wantdoc=$enableval], [wantdoc=no])
|
||||
|
||||
# Help line for doxygen
|
||||
AC_ARG_ENABLE(doxygen,
|
||||
AS_HELP_STRING([--enable-doxygen], [build your own API docs via Doxygen]),
|
||||
[wantdoxygen=$enableval], [wantdoxygen=no])
|
||||
|
||||
# Help line for asciidoc
|
||||
AC_ARG_ENABLE(asciidoc,
|
||||
AS_HELP_STRING([--enable-asciidoc], [build your own manpages with Asciidoc]),
|
||||
[wantasciidoc=$enableval], [wantasciidoc=no])
|
||||
|
||||
# Help line for debug
|
||||
AC_ARG_ENABLE(debug,
|
||||
AS_HELP_STRING([--enable-debug], [enable debugging support]),
|
||||
@@ -126,7 +126,7 @@ AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_LIBTOOL
|
||||
AC_CHECK_PROGS([PYTHON], [python2.5 python2.4 python], [false])
|
||||
AC_CHECK_PROGS([PYTHON], [python2.6 python2.5 python], [false])
|
||||
|
||||
# find installed gettext
|
||||
AM_GNU_GETTEXT([external])
|
||||
@@ -136,24 +136,26 @@ AM_GNU_GETTEXT_VERSION(0.13.1)
|
||||
AC_CHECK_LIB([archive], [archive_read_data], ,
|
||||
AC_MSG_ERROR([libarchive is needed to compile pacman!]))
|
||||
|
||||
# Enable or disable usage of libdownload/libfetch
|
||||
# - this is a nested check- first see if we need a library, if we do then
|
||||
# check for libdownload first, then fallback to libfetch, then die
|
||||
AC_MSG_CHECKING(whether to link with download library)
|
||||
# Enable or disable usage of libfetch
|
||||
AC_MSG_CHECKING(whether to link with libfetch)
|
||||
if test "x$internaldownload" = "xyes" ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE([INTERNAL_DOWNLOAD], , [Use internal download library])
|
||||
# Check for a download library if it was actually requested
|
||||
AC_CHECK_LIB([download], [downloadParseURL], ,
|
||||
AC_CHECK_LIB([fetch], [fetchParseURL], ,
|
||||
AC_MSG_ERROR([libdownload or libfetch are needed to compile with internal download support])) )
|
||||
AC_CHECK_LIB([fetch], [fetchParseURL], ,
|
||||
AC_MSG_ERROR([libfetch is needed to compile with internal download support]), [-lcrypto -ldl] )
|
||||
# Check if libfetch supports conditional GET
|
||||
# (version >=2.21, struct url has member last_modified)
|
||||
AC_CHECK_MEMBER(struct url.last_modified, ,
|
||||
AC_MSG_ERROR([libfetch must be version 2.21 or greater]),
|
||||
[#include <fetch.h>] )
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
AM_CONDITIONAL(INTERNAL_DOWNLOAD, test "x$internaldownload" = "xyes")
|
||||
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([fcntl.h libintl.h limits.h locale.h string.h strings.h sys/ioctl.h sys/param.h sys/statvfs.h sys/syslimits.h sys/time.h syslog.h wchar.h])
|
||||
AC_CHECK_HEADERS([fcntl.h glob.h libintl.h limits.h locale.h string.h strings.h sys/ioctl.h sys/param.h sys/statvfs.h sys/syslimits.h sys/time.h syslog.h wchar.h])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_INLINE
|
||||
@@ -182,18 +184,37 @@ GCC_VISIBILITY_CC
|
||||
GCC_GNU89_INLINE_CC
|
||||
|
||||
# Host-dependant definitions
|
||||
SIZECMD="stat -L -c %s"
|
||||
SEDINPLACE="sed -i"
|
||||
STRIP_BINARIES="--strip-all"
|
||||
STRIP_SHARED="--strip-unneeded"
|
||||
STRIP_STATIC="--strip-debug"
|
||||
case "${host_os}" in
|
||||
*bsd*)
|
||||
SIZECMD="stat -L -f %z"
|
||||
SEDINPLACE="sed -i ''"
|
||||
;;
|
||||
cygwin*)
|
||||
host_os_cygwin=yes
|
||||
CFLAGS="$CFLAGS -DCYGWIN"
|
||||
;;
|
||||
darwin*)
|
||||
host_os_darwin=yes
|
||||
SIZECMD="/usr/bin/stat -L -f %z"
|
||||
SEDINPLACE="/usr/bin/sed -i ''"
|
||||
STRIP_BINARIES=""
|
||||
STRIP_SHARED="-S"
|
||||
STRIP_STATIC="-S"
|
||||
;;
|
||||
esac
|
||||
|
||||
AM_CONDITIONAL([CYGWIN], test "x$host_os_cygwin" = "xyes")
|
||||
AM_CONDITIONAL([DARWIN], test "x$host_os_darwin" = "xyes")
|
||||
AC_SUBST(SIZECMD)
|
||||
AC_SUBST(SEDINPLACE)
|
||||
AC_SUBST(STRIP_BINARIES)
|
||||
AC_SUBST(STRIP_SHARED)
|
||||
AC_SUBST(STRIP_STATIC)
|
||||
|
||||
# Check for architecture, used in default makepkg.conf
|
||||
# (Note single space left after CARCHFLAGS)
|
||||
@@ -240,12 +261,18 @@ AC_SUBST(CARCHFLAGS)
|
||||
AC_SUBST(CHOST)
|
||||
|
||||
# Check for documentation support and status
|
||||
AC_CHECK_PROGS([ASCIIDOC], [asciidoc])
|
||||
AC_MSG_CHECKING([for building documentation])
|
||||
if test "x$wantdoc" = "xyes" ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
if test $ASCIIDOC ; then
|
||||
AC_MSG_RESULT([yes, enabled by configure])
|
||||
else
|
||||
asciidoc="(warning : asciidoc not installed)"
|
||||
AC_MSG_RESULT([yes $asciidoc])
|
||||
fi
|
||||
wantdoc=yes
|
||||
else
|
||||
AC_MSG_RESULT([no, disabled by configure])
|
||||
AC_MSG_RESULT([no])
|
||||
wantdoc=no
|
||||
fi
|
||||
AM_CONDITIONAL(WANT_DOC, test "x$wantdoc" = "xyes")
|
||||
@@ -267,23 +294,6 @@ else
|
||||
fi
|
||||
AM_CONDITIONAL(USE_DOXYGEN, test "x$usedoxygen" = "xyes")
|
||||
|
||||
# Check for asciidoc support and status
|
||||
AC_CHECK_PROGS([ASCIIDOC], [asciidoc])
|
||||
AC_MSG_CHECKING([for asciidoc])
|
||||
if test "x$wantasciidoc" = "xyes" ; then
|
||||
if test $ASCIIDOC ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
useasciidoc=yes
|
||||
else
|
||||
AC_MSG_RESULT([no, asciidoc missing])
|
||||
useasciidoc=no
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([no, disabled by configure])
|
||||
useasciidoc=no
|
||||
fi
|
||||
AM_CONDITIONAL(USE_ASCIIDOC, test "x$useasciidoc" = "xyes")
|
||||
|
||||
# Enable or disable debug code
|
||||
AC_MSG_CHECKING(for debug mode request)
|
||||
if test "x$debug" = "xyes" ; then
|
||||
@@ -294,17 +304,17 @@ if test "x$debug" = "xyes" ; then
|
||||
# Check for -fstack-protector availability
|
||||
GCC_STACK_PROTECT_LIB
|
||||
GCC_STACK_PROTECT_CC
|
||||
CFLAGS="$CFLAGS -Wall -Werror"
|
||||
CFLAGS="$CFLAGS -g -Wall -Werror"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
fi
|
||||
|
||||
# Enable or disable use of git version in pacman version string
|
||||
AC_CHECK_PROGS([GIT], [git])
|
||||
AC_CHECK_FILE([.git/], hasgitdir=yes)
|
||||
AC_MSG_CHECKING(whether to use git version if available)
|
||||
if test "x$wantgitver" = "xyes" ; then
|
||||
AC_CHECK_PROGS([GIT], [git])
|
||||
AC_CHECK_FILE([.git/], hasgitdir=yes)
|
||||
if test $GIT -a "x$hasgitdir" = "xyes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
usegitver=yes
|
||||
@@ -330,6 +340,9 @@ AC_DEFINE_UNQUOTED([SRCEXT], "$SRCEXT", [The file extension used by pacman sourc
|
||||
# Set database file extension
|
||||
AC_SUBST(DBEXT)
|
||||
AC_DEFINE_UNQUOTED([DBEXT], "$DBEXT", [The file extension used by pacman databases])
|
||||
# Set makepkg build script name
|
||||
AC_SUBST(BUILDSCRIPT)
|
||||
AC_DEFINE_UNQUOTED([BUILDSCRIPT], "$BUILDSCRIPT", [The build script name used by makepkg])
|
||||
|
||||
# Configuration files
|
||||
AC_CONFIG_FILES([
|
||||
@@ -341,7 +354,9 @@ scripts/Makefile
|
||||
doc/Makefile
|
||||
etc/Makefile
|
||||
po/Makefile.in
|
||||
pactest/Makefile
|
||||
test/pacman/Makefile
|
||||
test/pacman/tests/Makefile
|
||||
test/util/Makefile
|
||||
contrib/Makefile
|
||||
Makefile
|
||||
])
|
||||
@@ -365,6 +380,8 @@ ${PACKAGE_NAME}:
|
||||
Architecture : ${CARCH}
|
||||
Architecture flags : ${CARCHFLAGS}
|
||||
Host Type : ${CHOST}
|
||||
Filesize command : ${SIZECMD}
|
||||
In-place sed command : ${SEDINPLACE}
|
||||
|
||||
libalpm version : ${LIB_VERSION}
|
||||
libalpm version info : ${LIB_VERSION_INFO}
|
||||
@@ -376,12 +393,12 @@ ${PACKAGE_NAME}:
|
||||
package extension : ${PKGEXT}
|
||||
source pkg extension : ${SRCEXT}
|
||||
database extension : ${DBEXT}
|
||||
build script name : ${BUILDSCRIPT}
|
||||
|
||||
Compilation options:
|
||||
Run make in doc/ dir : ${wantdoc}
|
||||
Run make in doc/ dir : ${wantdoc} ${asciidoc}
|
||||
Use download library : ${internaldownload}
|
||||
Doxygen support : ${usedoxygen}
|
||||
Asciidoc support : ${useasciidoc}
|
||||
debug support : ${debug}
|
||||
"
|
||||
|
||||
|
||||
@@ -2,12 +2,11 @@ EXTRA_DIST = \
|
||||
PKGBUILD.vim \
|
||||
bacman \
|
||||
bash_completion \
|
||||
gensync \
|
||||
pacdiff \
|
||||
paclist \
|
||||
pacscripts \
|
||||
pacsearch \
|
||||
pactree \
|
||||
updatesync \
|
||||
vimprojects \
|
||||
wget-xdelta.sh \
|
||||
zsh_completion \
|
||||
|
||||
@@ -25,6 +25,13 @@ syn match pbValidPkgname /\([[:alnum:]]\|+\|-\|_\){,32}/ contained contains=pbIl
|
||||
syn match pbIllegalPkgname /[[:upper:]]\|[^[:alnum:]-+_=]\|=.*=\|=['"]\?.\{33,\}['"]\?/ contained
|
||||
syn match pbPkgnameGroup /^pkgname=.*/ contains=pbIllegalPkgname,pb_k_pkgname,shDoubleQuote,shSingleQuote
|
||||
|
||||
" pkgbase
|
||||
" FIXME if '=' is in pkgbase/pkgname/pkgver, it highlights whole string, not just '='
|
||||
syn keyword pb_k_pkgbase pkgbase contained
|
||||
syn match pbValidPkgbase /\([[:alnum:]]\|+\|-\|_\){,32}/ contained contains=pbIllegalPkgbase
|
||||
syn match pbIllegalPkgbase /[[:upper:]]\|[^[:alnum:]-+_=]\|=.*=\|=['"]\?.\{33,\}['"]\?/ contained
|
||||
syn match pbPkgbaseGroup /^pkgbase=.*/ contains=pbIllegalPkgbase,pb_k_pkgbase,shDoubleQuote,shSingleQuote
|
||||
|
||||
" pkgver
|
||||
syn keyword pb_k_pkgver pkgver contained
|
||||
syn match pbValidPkgver /\([[:alnum:]]\|\.\|+\|_\)/ contained contains=pbIllegalPkgver
|
||||
@@ -54,7 +61,7 @@ syn match pbUrlGroup /^url=.*/ contains=pbValidUrl,pb_k_url,pbIllegalUrl,shDoubl
|
||||
|
||||
" license
|
||||
syn keyword pb_k_license license contained
|
||||
syn keyword pbLicense APACHE CDDL EPL FDL GPL LGPL MPL PHP RUBY ZLIB ISC MIT BSD contained
|
||||
syn keyword pbLicense APACHE CCPL CDDL CPL EPL FDL FDL1.2 FDL1.3 GPL GPL2 GPL3 LGPL LGPL2.1 LGPL3 LPPL MPL PHP PSF PerlArtistic RALINK RUBY ZPL contained
|
||||
syn match pbLicenseCustom /custom\(:[[:alnum:]]*\)*/ contained
|
||||
syn match pbIllegalLicense /[^='"() ]/ contained contains=pbLicenseCustom,pbLicense
|
||||
syn region pbLicenseGroup start=/^license=(/ end=/)/ contains=pb_k_license,pbLicenseCustom,pbLicense,pbIllegalLicense
|
||||
@@ -66,7 +73,7 @@ syn region pbBackupGroup start=/^backup=(/ end=/)/ contains=pb_k_backup,pbValidB
|
||||
|
||||
" arch
|
||||
syn keyword pb_k_arch arch contained
|
||||
syn keyword pbArch i686 x86_64 ppc contained
|
||||
syn keyword pbArch i686 x86_64 ppc any contained
|
||||
syn match pbIllegalArch /[^='"() ]/ contained contains=pbArch
|
||||
syn region pbArchGroup start=/^arch=(/ end=/)/ contains=pb_k_arch,pbArch,pbIllegalArch
|
||||
|
||||
@@ -115,6 +122,12 @@ syn match pbValidInstall /\([[:alnum:]]\|\$\|+\|-\|_\)*\.install/ contained
|
||||
syn match pbIllegalInstall /[^=]/ contained contains=pbValidInstall
|
||||
syn match pbInstallGroup /^install=.*/ contains=pb_k_install,pbValidInstall,pbIllegalInstall,shDeref,shDoubleQuote,shSingleQuote
|
||||
|
||||
" changelog
|
||||
syn keyword pb_k_changelog changelog contained
|
||||
syn match pbValidChangelog /\([[:alnum:]]\|\$\|+\|-\|_\)*/ contained
|
||||
syn match pbIllegalChangelog /[^=]/ contained contains=pbValidChangelog
|
||||
syn match pbChangelogGroup /^changelog=.*/ contains=pb_k_changelog,pbValidChangelog,pbIllegalChangelog,shDeref,shDoubleQuote,shSingleQuote
|
||||
|
||||
" source:
|
||||
" XXX remove source from shStatement, fix strange bug
|
||||
syn clear shStatement
|
||||
@@ -127,13 +140,12 @@ syn match pbDerefEmulation /\$[{]\?[[:alnum:]_]*[}]\?/ contained
|
||||
hi def link pbDerefEmulation PreProc
|
||||
|
||||
" md5sums
|
||||
|
||||
syn keyword pb_k_md5sums md5sums contained
|
||||
syn match pbIllegalMd5sums /[^='"()\/ ]/ contained contains=pbValidMd5sums
|
||||
syn match pbValidMd5sums /[[:alnum:]]\{32\}/ contained
|
||||
syn match pbValidMd5sums /\x\{32\}/ contained
|
||||
syn region pbMd5sumsGroup start=/^md5sums/ end=/)/ contains=pb_k_md5sums,pbMd5Quotes,pbMd5Hash,pbIllegalMd5sums keepend
|
||||
syn match pbMd5Quotes /'.*'\|".*"/ contained contains=pbMd5Hash,pbIllegalMd5sums
|
||||
syn match pbMd5Hash /[[:alnum:]]\+/ contained contains=pbValidMd5sums
|
||||
syn match pbMd5Hash /\x\+/ contained contains=pbValidMd5sums
|
||||
hi def link pbMd5Quotes Keyword
|
||||
hi def link pbMd5Hash Error
|
||||
hi def link pbValidMd5sums Number
|
||||
@@ -141,10 +153,10 @@ hi def link pbValidMd5sums Number
|
||||
" sha1sums
|
||||
syn keyword pb_k_sha1sums sha1sums contained
|
||||
syn match pbIllegalSha1sums /[^='"()\/ ]/ contained contains=pbValidSha1sums
|
||||
syn match pbValidSha1sums /[[:alnum:]]\{40\}/ contained
|
||||
syn match pbValidSha1sums /\x\{40\}/ contained
|
||||
syn region pbSha1sumsGroup start=/^sha1sums/ end=/)/ contains=pb_k_sha1sums,pbSha1Quotes,pbSha1Hash,pbIllegalSha1sums keepend
|
||||
syn match pbSha1Quotes /'.*'\|".*"/ contained contains=pbSha1Hash,pbIllegalSha1sums
|
||||
syn match pbSha1Hash /[[:alnum:]]\+/ contained contains=pbValidSha1sums
|
||||
syn match pbSha1Hash /\x\+/ contained contains=pbValidSha1sums
|
||||
hi def link pbSha1Quotes Keyword
|
||||
hi def link pbSha1Hash Error
|
||||
hi def link pbValidSha1sums Number
|
||||
@@ -181,6 +193,9 @@ hi def link pbTodo Todo
|
||||
hi def link pbIllegalPkgname Error
|
||||
hi def link pb_k_pkgname pbKeywords
|
||||
|
||||
hi def link pbIllegalPkgbase Error
|
||||
hi def link pb_k_pkgbase pbKeywords
|
||||
|
||||
hi def link pbIllegalPkgver Error
|
||||
hi def link pb_k_pkgver pbKeywords
|
||||
|
||||
@@ -212,6 +227,9 @@ hi def link pb_k_provides pbKeywords
|
||||
hi def link pbIllegalInstall Error
|
||||
hi def link pb_k_install pbKeywords
|
||||
|
||||
hi def link pbIllegalChangelog Error
|
||||
hi def link pb_k_changelog pbKeywords
|
||||
|
||||
hi def link pb_k_source pbKeywords
|
||||
hi def link pbIllegalSource Error
|
||||
|
||||
|
||||
@@ -16,6 +16,9 @@ paclist - list all packages installed from a given repository. Useful for
|
||||
seeing which packages you may have installed from the testing repository,
|
||||
for instance.
|
||||
|
||||
pacscripts - tries to print out the {pre,post}_{install,remove,upgrade}
|
||||
scripts of a given package.
|
||||
|
||||
pacsearch - a colorized search combining both -Ss and -Qs output. Installed
|
||||
packages are easily identified with a *** and local-only packages are also
|
||||
listed.
|
||||
@@ -31,7 +34,3 @@ vimprojects - a project file for the vim project plugin.
|
||||
wget-xdelta.sh - A download script for pacman which allows binary deltas
|
||||
generated with makepkg to be used instead of downloading full binary packages.
|
||||
This should cut download sizes for some package upgrades significantly.
|
||||
|
||||
gensync, updatesync - The former repository management scripts that have since
|
||||
been superseded by repo-add and repo-remove. They are here for posterity's
|
||||
sake, and to show how repo-add and repo-remove can be wrapped in other scripts.
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#
|
||||
|
||||
readonly progname="bacman"
|
||||
readonly progver="0.2.0"
|
||||
readonly progver="0.2.1"
|
||||
|
||||
#
|
||||
# User Friendliness
|
||||
@@ -137,7 +137,7 @@ while read i; do
|
||||
bsdtar -cnf - "/$i" 2> /dev/null | bsdtar -xpf -
|
||||
|
||||
# Workaround to bsdtar not reporting a missing file as an error
|
||||
if [ ! -e "$work_dir/$i" ] && [ -L "$work_dir/$i"]; then
|
||||
if [ ! -e "$work_dir/$i" -a ! -L "$work_dir/$i" ]; then
|
||||
echo ""
|
||||
echo "ERROR: unable to add /$i to the package"
|
||||
echo " If your user does not have permssion to read this file then"
|
||||
|
||||
@@ -1,363 +1,108 @@
|
||||
# vim: set ft=sh ts=2 sw=2 et:
|
||||
# file: /etc/bash_completion.d/pacman
|
||||
# This file is in the public domain.
|
||||
|
||||
# Bash completion for pacman
|
||||
# Original: Manolis Tzanidakis <mtzanidakis@freemail.gr>
|
||||
#
|
||||
# Distributed under the terms of the GNU General Public License, v2 or later.
|
||||
#
|
||||
|
||||
## initial functions
|
||||
|
||||
rem_selected ()
|
||||
{
|
||||
# (Adapted from bash_completion by Ian Macdonald <ian@caliban.org>)
|
||||
# This removes any options from the list of completions that have
|
||||
# already been specified on the command line.
|
||||
COMPREPLY=($(echo "${COMP_WORDS[@]}" | \
|
||||
(while read -d ' ' i; do
|
||||
[ "${i}" == "" ] && continue
|
||||
# flatten array with spaces on either side,
|
||||
# otherwise we cannot grep on word boundaries of
|
||||
# first and last word
|
||||
COMPREPLY=" ${COMPREPLY[@]} "
|
||||
# remove word from list of completions
|
||||
COMPREPLY=(${COMPREPLY/ ${i%% *} / })
|
||||
_arch_compgen() {
|
||||
local i r
|
||||
COMPREPLY=($(compgen -W '$*' -- "$cur"))
|
||||
for ((i=1; i < ${#COMP_WORDS[@]}-1; i++)); do
|
||||
for r in ${!COMPREPLY[@]}; do
|
||||
if [[ ${COMP_WORDS[i]} = ${COMPREPLY[r]} ]]; then
|
||||
unset 'COMPREPLY[r]'; break
|
||||
fi
|
||||
done
|
||||
echo ${COMPREPLY[@]})))
|
||||
return 0
|
||||
done
|
||||
}
|
||||
|
||||
_available_repos ()
|
||||
{
|
||||
COMPREPLY=( $( compgen -W "$(grep '\[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]' )" -- $cur ) )
|
||||
_arch_ptr2comp() {
|
||||
local list= x y
|
||||
for x; do
|
||||
for y in '0 --' '1 -'; do
|
||||
eval 'set -- ${'$x'[${y% *}]}'
|
||||
list+=\ ${@/#/${y#* }}
|
||||
done
|
||||
done
|
||||
_arch_compgen $list
|
||||
}
|
||||
|
||||
_installed_pkgs ()
|
||||
{
|
||||
local installed_pkgs
|
||||
installed_pkgs=$( ls /var/lib/pacman/local/ )
|
||||
COMPREPLY=( $( compgen -W "$( for i in $installed_pkgs; do echo ${i%-*-*}; done )" -- $cur ) )
|
||||
_arch_incomp() {
|
||||
local r="\s-(-${1#* }\s|\w*${1% *})"; [[ $COMP_LINE =~ $r ]]
|
||||
}
|
||||
|
||||
_available_pkgs ()
|
||||
{
|
||||
#find balks easilly on a find /foo/*/* type dir, especially one like
|
||||
# /var/lib/pacman/*/*
|
||||
# This little change-up removes the find *and* only uses enabled repos
|
||||
local available_pkgs
|
||||
local enabled_repos
|
||||
enabled_repos=$( grep '\[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]' )
|
||||
available_pkgs=$( for r in $enabled_repos; do echo /var/lib/pacman/sync/$r/*; done )
|
||||
COMPREPLY=( $( compgen -W "$( for i in $available_pkgs; do j=${i##*/}; echo ${j%-*-*}; done )" -- $cur ) )
|
||||
}
|
||||
|
||||
_installed_groups ()
|
||||
{
|
||||
local installed_groups
|
||||
installed_groups=$( find /var/lib/pacman/local -name desc -exec sed -ne '/%GROUPS%/,/^$/{//d; p}' {} \; | sort -u )
|
||||
COMPREPLY=( $( compgen -W "$( for i in $installed_groups; do echo ${i%-*-*}; done )" -- $cur ) )
|
||||
}
|
||||
|
||||
_available_groups ()
|
||||
{
|
||||
#find balks easilly on a find /foo/*/* type dir, especially one like
|
||||
# /var/lib/pacman/*/*
|
||||
# This little change-up removes the find *and* only uses enabled repos
|
||||
local available_groups
|
||||
local enabled_repos
|
||||
enabled_repos=$( grep '\[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]' )
|
||||
available_groups=$( for r in $enabled_repos; do sed '/%GROUPS%/,/^$/{//d; p}' /var/lib/pacman/sync/$r/*/desc | sort -u; done )
|
||||
COMPREPLY=( $( compgen -W "$( for i in $available_groups; do echo ${i%-*-*}; done )" -- $cur ) )
|
||||
}
|
||||
|
||||
## makepkg completion
|
||||
|
||||
_makepkg ()
|
||||
{
|
||||
local cur prev
|
||||
_makepkg() {
|
||||
local cur opts prev
|
||||
COMPREPLY=()
|
||||
cur=${COMP_WORDS[COMP_CWORD]}
|
||||
cur=$(_get_cword)
|
||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||
|
||||
case "$prev" in
|
||||
-p)
|
||||
_filedir
|
||||
return 0
|
||||
;;
|
||||
--help|--cleancache)
|
||||
COMPREPLY=''
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '\
|
||||
-A --ignorearch \
|
||||
-b --builddeps \
|
||||
-c --clean \
|
||||
-C --cleancache \
|
||||
-d --nodeps \
|
||||
-e --noextract \
|
||||
-f --force \
|
||||
-g --geninteg \
|
||||
-h --help \
|
||||
-i --install \
|
||||
-L --log \
|
||||
-m --nocolor \
|
||||
-o --nobuild \
|
||||
-p \
|
||||
-r --rmdeps \
|
||||
-s --syncdeps \
|
||||
--asroot \
|
||||
--source \
|
||||
--noconfirm \
|
||||
--noprogressbar' -- $cur ) )
|
||||
if [[ $cur = -* && ! $prev =~ ^-(-(cleancache|config|help)$|\w*[Chp]) ]]; then
|
||||
opts=('allsource asroot clean cleancache config force geninteg help holdver
|
||||
ignorearch install log nobuild nocolor noconfirm nodeps noextract
|
||||
noprogressbar pkg repackage rmdeps skipinteg source syncdeps'
|
||||
'A C L R c d e f g h i m o p r s')
|
||||
_arch_ptr2comp opts
|
||||
fi
|
||||
|
||||
rem_selected
|
||||
true
|
||||
}
|
||||
complete -o default -F _makepkg makepkg
|
||||
|
||||
## pacman completion
|
||||
|
||||
_instring ()
|
||||
{
|
||||
str="${1}"
|
||||
shift 1
|
||||
for c in "${@}"; do
|
||||
if [ $(expr index "${str}" "${c}") -gt 0 ]; then
|
||||
return 0
|
||||
_pacman_pkg() {
|
||||
_arch_compgen "$(
|
||||
if [[ $2 ]]; then
|
||||
\pacman -$1 | \cut -d' ' -f1 | \sort -u
|
||||
else
|
||||
\pacman -$1
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
)"
|
||||
}
|
||||
|
||||
_pacman ()
|
||||
{
|
||||
local a arg toparse op mod cur
|
||||
_pacman_file() {
|
||||
compopt -o filenames; _filedir 'pkg.tar.*'
|
||||
}
|
||||
|
||||
_pacman() {
|
||||
local common core cur database prev query remove sync upgrade o
|
||||
COMPREPLY=()
|
||||
cur=$(_get_cword)
|
||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||
database=('asdeps asexplicit')
|
||||
query=('changelog check deps explicit file foreign groups info list owns
|
||||
search unrequired upgrades' 'c e g i k l m o p s t u')
|
||||
remove=('cascade dbonly nodeps nosave print recursive unneeded' 'c k n p s u')
|
||||
sync=('asdeps asexplicit clean downloadonly force groups ignore ignoregroup
|
||||
info list needed nodeps print refresh search sysupgrade'
|
||||
'c f g i l p s u w y')
|
||||
upgrade=('asdeps asexplicit force nodeps print' 'f p')
|
||||
common=('arch cachedir config dbpath debug help logfile noconfirm
|
||||
noprogressbar noscriptlet quiet root verbose' 'b d h q r v')
|
||||
core=('database help query remove sync upgrade version' 'D Q R S U V h')
|
||||
|
||||
# This argument parsing is done so we can check for flag existance later
|
||||
# right now it's a tad crappy, but does the job
|
||||
for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do
|
||||
a=${COMP_WORDS[i]}
|
||||
arg="${a:0:2}"
|
||||
toparse="${a:2}"
|
||||
|
||||
case "${arg}" in
|
||||
-@(U|R|S|Q|h|V))
|
||||
op="${arg/-}"
|
||||
mod="${mod}${a:2}"
|
||||
;;
|
||||
--)
|
||||
arg="${a:2}"
|
||||
case "${arg}" in
|
||||
remove) op="R" ;;
|
||||
upgrade) op="U" ;;
|
||||
query) op="Q" ;;
|
||||
sync) op="S" ;;
|
||||
help) op="h" ;;
|
||||
version) op="V" ;;
|
||||
verbose) mod="${mod}v" ;;
|
||||
root) mod="${mod}r" ;;
|
||||
dbpath) mod="${mod}b" ;;
|
||||
nodeps) mod="${mod}d" ;;
|
||||
force) mod="${mod}f" ;;
|
||||
groups) mod="${mod}g" ;;
|
||||
info) mod="${mod}i" ;;
|
||||
list) mod="${mod}l" ;;
|
||||
print-uris) mod="${mod}p" ;;
|
||||
search) mod="${mod}s" ;;
|
||||
sysupgrade) mod="${mod}u" ;;
|
||||
upgrades) mod="${mod}u" ;;
|
||||
downloadonly) mod="${mod}w" ;;
|
||||
refresh) mod="${mod}y" ;;
|
||||
changelog) mod="${mod}c" ;;
|
||||
deps) mod="${mod}d" ;;
|
||||
explicit) mod="${mod}e" ;;
|
||||
unrequired) mod="${mod}t" ;;
|
||||
foreign) mod="${mod}m" ;;
|
||||
owns) mod="${mod}o" ;;
|
||||
file) mod="${mod}p" ;;
|
||||
search) mod="${mod}s" ;;
|
||||
upgrades) mod="${mod}u" ;;
|
||||
cascade) mod="${mod}c" ;;
|
||||
dbonly) mod="${mod}k" ;;
|
||||
nosave) mod="${mod}n" ;;
|
||||
recursive) mod="${mod}s" ;;
|
||||
unneeded) mod="${mod}u" ;;
|
||||
esac ;;
|
||||
*) toparse="${a}" ;;
|
||||
esac
|
||||
|
||||
arglen=$(( ${#toparse}-1 ))
|
||||
for c in $(seq 0 "${arglen}"); do
|
||||
arg=${toparse:$c:1}
|
||||
[ "${arg}" != "-" ] && mod="${mod}${arg}"
|
||||
done
|
||||
for o in 'D database' 'Q query' 'R remove' 'S sync' 'U upgrade'; do
|
||||
_arch_incomp "$o" && break
|
||||
done
|
||||
|
||||
cur=${COMP_WORDS[COMP_CWORD]}
|
||||
|
||||
if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '\
|
||||
-h --help \
|
||||
-Q --query \
|
||||
-R --remove \
|
||||
-S --sync \
|
||||
-U --upgrade \
|
||||
-V --version \
|
||||
' -- $cur ) )
|
||||
rem_selected
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ "$cur" == -* ]]; then
|
||||
case "${op}" in
|
||||
U)
|
||||
COMPREPLY=( $( compgen -W '\
|
||||
--asdeps \
|
||||
--asexplicit \
|
||||
-d --nodeps \
|
||||
-f --force \
|
||||
-h --help \
|
||||
--config \
|
||||
--logfile \
|
||||
--noconfirm \
|
||||
--noprogressbar \
|
||||
--noscriptlet \
|
||||
-v --verbose \
|
||||
-r --root \
|
||||
-b --dbpath \
|
||||
--cachedir \
|
||||
' -- $cur ) )
|
||||
return 0
|
||||
;;
|
||||
R)
|
||||
COMPREPLY=( $( compgen -W '\
|
||||
-c --cascade \
|
||||
-d --nodeps \
|
||||
-h --help \
|
||||
-k --dbonly \
|
||||
-n --nosave \
|
||||
-s --recursive \
|
||||
-u --unneeded \
|
||||
--config \
|
||||
--logfile \
|
||||
--noconfirm \
|
||||
--noprogressbar \
|
||||
--noscriptlet \
|
||||
-v --verbose \
|
||||
-r --root \
|
||||
-b --dbpath \
|
||||
--cachedir \
|
||||
' -- $cur ) )
|
||||
return 0
|
||||
;;
|
||||
S)
|
||||
COMPREPLY=( $( compgen -W '\
|
||||
--asdeps \
|
||||
--asexplicit \
|
||||
-c --clean \
|
||||
-d --nodeps \
|
||||
-f --force \
|
||||
-g --groups \
|
||||
-h --help \
|
||||
-i --info \
|
||||
-l --list \
|
||||
-p --print-uris \
|
||||
-s --search \
|
||||
-u --sysupgrade \
|
||||
-w --downloadonly \
|
||||
-y --refresh \
|
||||
--needed \
|
||||
--ignore \
|
||||
--ignoregroup \
|
||||
--config \
|
||||
--logfile \
|
||||
--noconfirm \
|
||||
--noprogressbar \
|
||||
--noscriptlet \
|
||||
-v --verbose \
|
||||
-r --root \
|
||||
-b --dbpath \
|
||||
--cachedir \
|
||||
' -- $cur ) )
|
||||
return 0
|
||||
;;
|
||||
if [[ $? != 0 ]]; then
|
||||
_arch_ptr2comp core
|
||||
elif ! [[ $prev =~ ^-\w*[Vbhr] ||
|
||||
$prev = --@(cachedir|config|dbpath|help|logfile|root|version) ]]
|
||||
then
|
||||
[[ $cur = -* ]] && _arch_ptr2comp ${o#* } common ||
|
||||
case ${o% *} in
|
||||
D|R)
|
||||
_pacman_pkg Qq;;
|
||||
Q)
|
||||
COMPREPLY=( $( compgen -W '\
|
||||
-c --changelog \
|
||||
-d --deps \
|
||||
-e --explicit \
|
||||
-g --groups \
|
||||
-h --help \
|
||||
-i --info \
|
||||
-l --list \
|
||||
-m --foreign \
|
||||
-o --owns \
|
||||
-p --file \
|
||||
-s --search \
|
||||
-t --unrequired \
|
||||
-u --upgrades \
|
||||
--config \
|
||||
--logfile \
|
||||
--noconfirm \
|
||||
--noprogressbar \
|
||||
--noscriptlet \
|
||||
-v --verbose \
|
||||
-r --root \
|
||||
-b --dbpath \
|
||||
--cachedir \
|
||||
' -- $cur ) )
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
rem_selected
|
||||
else
|
||||
case "${op}" in
|
||||
U)
|
||||
COMPREPLY=( $( compgen -d -- "$cur" ) \
|
||||
$( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
h|V)
|
||||
COMPREPLY=''
|
||||
return 0
|
||||
;;
|
||||
Q)
|
||||
if _instring $mod g; then
|
||||
_installed_groups
|
||||
elif _instring $mod o; then
|
||||
COMPREPLY=( $( compgen -d -- "$cur" ) \
|
||||
$( compgen -f -- "$cur" ) )
|
||||
elif _instring $mod p; then
|
||||
COMPREPLY=( $( compgen -d -- "$cur" ) \
|
||||
$( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) )
|
||||
elif _instring $mod u; then
|
||||
COMPREPLY=''
|
||||
return 0
|
||||
else
|
||||
_installed_pkgs
|
||||
fi
|
||||
return 0
|
||||
;;
|
||||
R)
|
||||
_installed_pkgs
|
||||
return 0
|
||||
;;
|
||||
{ _arch_incomp 'g groups' && _pacman_pkg Qg sort; } ||
|
||||
{ _arch_incomp 'p file' && _pacman_file; } ||
|
||||
_arch_incomp 'o owns' || _arch_incomp 'u upgrades' ||
|
||||
_pacman_pkg Qq;;
|
||||
S)
|
||||
if _instring $mod l; then
|
||||
_available_repos
|
||||
else
|
||||
_available_pkgs
|
||||
fi
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
{ _arch_incomp 'g groups' && _pacman_pkg Sg; } ||
|
||||
{ _arch_incomp 'l list' && _pacman_pkg Sl sort; } ||
|
||||
_pacman_pkg Slq;;
|
||||
U)
|
||||
_pacman_file;;
|
||||
esac
|
||||
fi
|
||||
|
||||
rem_selected
|
||||
true
|
||||
}
|
||||
complete -o filenames -F _pacman pacman
|
||||
|
||||
complete -F _makepkg -o default makepkg
|
||||
complete -F _pacman -o default pacman
|
||||
|
||||
# ex:et ts=2 sw=2 ft=sh
|
||||
|
||||
134
contrib/gensync
134
contrib/gensync
@@ -1,134 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# gensync
|
||||
#
|
||||
# Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
#
|
||||
# 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 of the License, 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
myver='3.1.1'
|
||||
|
||||
# functions
|
||||
|
||||
usage() {
|
||||
printf "gensync (pacman) %s\n\n" "$myver"
|
||||
printf "Usage: %s <root> <destfile> [package_directory]\n\n" "$0"
|
||||
printf "\
|
||||
gensync will generate a sync database by reading all PKGBUILD files\n\
|
||||
from <root>. gensync builds the database in a temporary directory\n\
|
||||
and then compresses it to <destfile>.\n\n"
|
||||
printf "\
|
||||
gensync will calculate md5sums of packages in the same directory as\n\
|
||||
<destfile>, unless an alternate [package_directory] is specified.\n\n"
|
||||
printf "\
|
||||
note: The <destfile> name is important. It must be of the form\n\
|
||||
{treename}.db.tar.gz where {treename} is the name of the custom\n\
|
||||
package repository you configured in /etc/pacman.conf. The\n\
|
||||
generated database must reside in the same directory as your\n\
|
||||
custom packages (also configured in /etc/pacman.conf)\n\n"
|
||||
echo "Example: gensync /var/abs/local /home/mypkgs/custom.db.tar.gz"
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "gensync (pacman) %s\n" "$myver"
|
||||
printf "\
|
||||
Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>.\n\n\
|
||||
This is free software; see the source for copying conditions.\n\
|
||||
There is NO WARRANTY, to the extent permitted by law.\n"
|
||||
}
|
||||
|
||||
error () {
|
||||
local mesg=$1; shift
|
||||
printf "==> ERROR: ${mesg}\n" "$@" >&2
|
||||
}
|
||||
|
||||
die () {
|
||||
error $*
|
||||
exit 1
|
||||
}
|
||||
|
||||
# PROGRAM START
|
||||
|
||||
if [ "$1" = "-h" -o "$1" = "--help" ]; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$1" = "-V" -o "$1" = "--version" ]; then
|
||||
version
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ $# -lt 2 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# source system and user makepkg.conf
|
||||
if [ -r /etc/makepkg.conf ]; then
|
||||
source /etc/makepkg.conf
|
||||
else
|
||||
die "/etc/makepkg.conf not found. Cannot continue."
|
||||
fi
|
||||
|
||||
if [ -r ~/.makepkg.conf ]; then
|
||||
source ~/.makepkg.conf
|
||||
fi
|
||||
|
||||
|
||||
d=$(dirname $1)
|
||||
rootdir="$(cd $d && pwd)/$(basename $1)"
|
||||
d="$(dirname $2)"
|
||||
destdir="$(cd $d && pwd)"
|
||||
destfile="$destdir/$(basename $2)"
|
||||
pkgdir=""
|
||||
if [ "$3" != "" ]; then
|
||||
pkgdir="$3"
|
||||
fi
|
||||
|
||||
[ ! -d "$rootdir" ] && die "invalid root dir: $rootdir"
|
||||
|
||||
echo "gensync: building database entries, generating md5sums..." >&2
|
||||
cd "$destdir"
|
||||
|
||||
pkgs=""
|
||||
|
||||
for file in $(find "$rootdir"/* -name "$BUILDSCRIPT"); do
|
||||
unset pkgname pkgver pkgrel options
|
||||
|
||||
source $file || die "failed to parse $file"
|
||||
if [ "$arch" = 'any' ]; then
|
||||
CARCH='any'
|
||||
fi
|
||||
if [ "$pkgdir" != "" ]; then
|
||||
pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-${CARCH}${PKGEXT}"
|
||||
else
|
||||
pkgfile="$destdir/$pkgname-$pkgver-$pkgrel-${CARCH}${PKGEXT}"
|
||||
fi
|
||||
|
||||
if [ ! -f "$pkgfile" ]; then
|
||||
error "could not find %s-%s-%s-%s%s - skipping" $pkgname $pkgver $pkgrel $CARCH $PKGEXT
|
||||
else
|
||||
pkgs="$pkgs $pkgfile"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "creating repo DB..."
|
||||
|
||||
# we'll trim the output just a tad, as gensync may be used on large repos
|
||||
repo-add $destfile $pkgs \
|
||||
| grep -e "package" -e "database"
|
||||
|
||||
# vim: set ts=2 sw=2 noet:
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# pacdiff : a simple pacnew/pacorig/pacsave updater for /etc/
|
||||
#!/bin/bash
|
||||
# pacdiff : a simple pacnew/pacorig/pacsave updater
|
||||
#
|
||||
# Copyright (c) 2007 Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
#
|
||||
@@ -17,29 +17,64 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# Original http://phraktured.net/config/bin/pacdiff
|
||||
|
||||
diffprog=${DIFFPROG:-vimdiff}
|
||||
for x in $(find /etc/ -name "*.pacnew" -o -name "*.pacorig" -o -name "*.pacsave")
|
||||
do
|
||||
echo "File: ${x%.pac*}"
|
||||
chk="$(cmp $x ${x%.pac*})"
|
||||
if [ -z "${chk}" ]; then
|
||||
echo " Files are identical, removing..."
|
||||
rm $x
|
||||
else
|
||||
echo -n " File differences found. (V)iew, (S)kip, (R)emove: [v/s/r] "
|
||||
read c
|
||||
c="$(echo $c| tr A-Z a-z)" #tolower
|
||||
if [ "$c" = "r" ]; then
|
||||
rm $x
|
||||
elif [ "$c" = "s" ]; then
|
||||
continue
|
||||
else
|
||||
[ "$c" = "n" -o "$c" = "N" ] || $diffprog $x ${x%.pac*}
|
||||
echo -n " Remove file? [Y/n] "
|
||||
read c
|
||||
[ "$c" = "n" -o "$c" = "N" ] || rm $x
|
||||
fi
|
||||
fi
|
||||
done
|
||||
diffsearchpath=${DIFFSEARCHPATH:-/etc}
|
||||
locate=0
|
||||
|
||||
usage() {
|
||||
echo "pacdiff : a simple pacnew/pacorig/pacsave updater"
|
||||
echo "Usage : pacdiff [-l]"
|
||||
echo " -l/--locate makes pacdiff use locate rather than find"
|
||||
echo " DIFFPROG variable allows to override the default vimdiff"
|
||||
echo " DIFFSEARCHPATH allows to override the default /etc path"
|
||||
echo "Example : DIFFPROG=meld DIFFSEARCHPATH=\"/boot /etc /usr\" pacdiff"
|
||||
}
|
||||
|
||||
cmd() {
|
||||
if [ $locate -eq 1 ]; then
|
||||
locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave
|
||||
else
|
||||
find $diffsearchpath \( -name \*.pacnew -o -name \*.pacorig -o -name \*.pacsave \) -print0
|
||||
fi
|
||||
}
|
||||
|
||||
if [ $# -gt 0 ]; then
|
||||
case $1 in
|
||||
-l|--locate)
|
||||
locate=1;;
|
||||
*)
|
||||
usage; exit 0;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# see http://mywiki.wooledge.org/BashFAQ/020
|
||||
while IFS= read -u 3 -r -d '' pacfile; do
|
||||
file="${pacfile%.pac*}"
|
||||
echo "File: $file"
|
||||
if [ ! -f "$file" ]; then
|
||||
echo " $file does not exist"
|
||||
rm -i "$pacfile"
|
||||
continue
|
||||
fi
|
||||
check="$(cmp "$pacfile" "$file")"
|
||||
if [ -z "${check}" ]; then
|
||||
echo " Files are identical, removing..."
|
||||
rm "$pacfile"
|
||||
else
|
||||
echo -n " File differences found. (V)iew, (S)kip, (R)emove: [v/s/r] "
|
||||
while read c; do
|
||||
case $c in
|
||||
r|R) rm "$pacfile"; break ;;
|
||||
v|V)
|
||||
$diffprog "$pacfile" "$file"
|
||||
rm -i "$pacfile"; break ;;
|
||||
s|S) break ;;
|
||||
*) echo -n " Invalid answer. Try again: [v/s/r] "; continue ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
done 3< <(cmd)
|
||||
|
||||
exit 0
|
||||
|
||||
# vim: set ts=2 sw=2 noet:
|
||||
|
||||
132
contrib/pacscripts
Executable file
132
contrib/pacscripts
Executable file
@@ -0,0 +1,132 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# pacscripts : tries to print out the {pre,post}_{install,remove,upgrade}
|
||||
# scripts of a given package
|
||||
#
|
||||
# Copyright (c) 2009 Giulio "giulivo" Fidente <giulivo.navigante@gmail.com>
|
||||
# Copyright (c) 2009 Xavier Chantry <shiningxc@gmail.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 of the License, 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# bash options
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
|
||||
progname=$(basename $0)
|
||||
progver="0.4"
|
||||
|
||||
conf="/etc/pacman.conf"
|
||||
|
||||
if [ ! -r "$conf" ]; then
|
||||
echo "ERROR: unable to read $conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
eval $(awk '/DBPath/ {print $1$2$3}' "$conf")
|
||||
eval $(awk '/CacheDir/ {print $1$2$3}' "$conf")
|
||||
pac_db="${DBPath:-/var/lib/pacman}/local"
|
||||
pac_cache="${CacheDir:-/var/cache/pacman/pkg}"
|
||||
|
||||
error() {
|
||||
local mesg=$1; shift
|
||||
printf "==> $(gettext "ERROR:") ${mesg}\n" "$@" >&2
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "This program prints out the {pre,post}_{install,remove,upgrade} scripts"
|
||||
echo "of a given package."
|
||||
echo "Usage: $progname pkgname|pkgfile"
|
||||
echo
|
||||
echo " OPTIONS:"
|
||||
echo " -h, --help Print this help message"
|
||||
echo " -v, --version Print program name and version"
|
||||
echo
|
||||
echo "Example: $progname gconf-editor"
|
||||
echo "Example: $progname gconf-editor-2.24.1-1-x86_64.pkg.tar.gz"
|
||||
}
|
||||
|
||||
spacman() {
|
||||
if [ $EUID -eq 0 ]; then
|
||||
pacman "$@"
|
||||
else
|
||||
if [ ! "$(type -p sudo)" ]; then
|
||||
error "Cannot find the sudo binary! Is sudo installed?"
|
||||
error "Otherwise try to run the program as root"
|
||||
exit 1
|
||||
else
|
||||
sudo pacman "$@"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
print_db() {
|
||||
pkg=$(pacman -Q "$1")
|
||||
pkg=${pkg/ /-}
|
||||
if [ -f $pac_db/$pkg*/install ]; then
|
||||
cat $pac_db/$pkg*/install
|
||||
echo
|
||||
return 0
|
||||
else
|
||||
error "Package $1 does not include any .INSTALL script"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
print_pkg() {
|
||||
if ! bsdtar -xOf "$1" .INSTALL 2>/dev/null; then
|
||||
error "Package $1 does not include any .INSTALL script"
|
||||
return 1
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
print_scriptlet() {
|
||||
if [ -f "$1" ]; then
|
||||
if bsdtar tf "$1" .PKGINFO &>/dev/null; then
|
||||
print_pkg "$1"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
if pacman -Q "$1" &>/dev/null; then
|
||||
print_db "$1"
|
||||
return
|
||||
fi
|
||||
if ! pacman -Si $1 &>/dev/null; then
|
||||
error "Package $1 not found"
|
||||
return 1
|
||||
fi
|
||||
url=$(spacman -Sdp $1 | tail -n1)
|
||||
filename=$(basename $url)
|
||||
if [ ! -f "$pac_cache/$filename" ]; then
|
||||
if ! spacman -Sdw --noconfirm $1 >&2; then
|
||||
error "Failed to download $1"
|
||||
return 1
|
||||
fi
|
||||
echo >&2
|
||||
fi
|
||||
print_pkg "$pac_cache/$filename"
|
||||
return
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ] ; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
--help|-h) usage; exit 0 ;;
|
||||
--version|-v) echo "$progname version $progver"; exit 0 ;;
|
||||
*) print_scriptlet $1 ;;
|
||||
esac
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/perl
|
||||
# pacsearch - Adds color and install information to a 'pacman -Ss' search
|
||||
#
|
||||
# Copyright (C) 2008 Dan McGee <dpmcgee@gmail.com>
|
||||
# Copyright (C) 2008, 2010 Dan McGee <dpmcgee@gmail.com>
|
||||
#
|
||||
# Based off original shell script version:
|
||||
# Copyright (C) 2006-2007 Dan McGee <dpmcgee@gmail.com>
|
||||
@@ -39,7 +39,7 @@ if ($#ARGV lt 0 || $ARGV[0] eq "--help" || $ARGV[0] eq "-h") {
|
||||
|
||||
if ($ARGV[0] eq "--version" || $ARGV[0] eq "-v") {
|
||||
print "$progname version $version\n";
|
||||
print "Copyright (C) 2006-2008 Dan McGee\n";
|
||||
print "Copyright (C) 2006-2010 Dan McGee\n";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
@@ -53,17 +53,18 @@ my $CLR6 = "\e[0;33m";
|
||||
my $CLR7 = "\e[1;36m";
|
||||
my $INST = "\e[1;31m";
|
||||
my $BASE = "\e[0m";
|
||||
my $INSTMARK = $INST."***";
|
||||
|
||||
# color a "repo/pkgname pkgver" line based on the respository name
|
||||
# color a "repo/pkgname pkgver" line based on the repository name
|
||||
sub to_color {
|
||||
my $line = shift;
|
||||
# get the installed text colored first
|
||||
$line =~ s/(\[.*\]$)/$INST$1$BASE/;
|
||||
# and now the repo and dealings
|
||||
$line =~ s/(^core\/.*)/$CLR1$1$BASE/;
|
||||
$line =~ s/(^extra\/.*)/$CLR2$1$BASE/;
|
||||
$line =~ s/(^community\/.*)/$CLR3$1$BASE/;
|
||||
$line =~ s/(^testing\/.*)/$CLR4$1$BASE/;
|
||||
$line =~ s/(^unstable\/.*)/$CLR5$1$BASE/;
|
||||
$line =~ s/(^custom\/.*)/$CLR6$1$BASE/;
|
||||
$line =~ s/(^community-testing\/.*)/$CLR5$1$BASE/;
|
||||
$line =~ s/(^local\/.*)/$CLR7$1$BASE/;
|
||||
# any other unknown repository
|
||||
$line =~ s/(^[\w-]*\/.*)/$CLR6$1$BASE/;
|
||||
@@ -83,10 +84,10 @@ if ($#syncpkgs >= 0) {
|
||||
# counter var for packages, used here and in the query loop too
|
||||
my $cnt = 0;
|
||||
foreach $_ (@syncpkgs) {
|
||||
# we grab 3 fields here: repo, name/ver, and desc
|
||||
my @pkgfields = /^(.*?)\/(.*?)\n(.*)$/s;
|
||||
# add a fourth field that will indicate install status
|
||||
push (@pkgfields, "");
|
||||
# we grab 4 fields here: repo, name/ver, installed, and desc
|
||||
my @pkgfields = /^(.*?)\/(.*?) ?(\[.*\])?\n(.*)$/s;
|
||||
# since installed is optional, we should fill it in if necessary
|
||||
$pkgfields[2] = "" if not defined $pkgfields[2];
|
||||
# add a fifth field that indicates original order
|
||||
push (@pkgfields, $cnt++);
|
||||
# add each sync pkg by name/ver to a hash table for quick lookup
|
||||
@@ -102,16 +103,13 @@ if ($#querypkgs >= 0) {
|
||||
}
|
||||
|
||||
foreach $_ (@querypkgs) {
|
||||
# we grab 3 fields here: repo, name/ver, and desc
|
||||
my @pkgfields = /^(.*?)\/(.*?)\n(.*)$/s;
|
||||
# we grab 4 fields here: repo, name/ver, installed, and desc
|
||||
my @pkgfields = /^(.*?)\/(.*?) ?(\[.*\])?\n(.*)$/s;
|
||||
# since installed is optional, we should fill it in if necessary
|
||||
$pkgfields[2] = "" if not defined $pkgfields[2];
|
||||
# check if the package was listed in the sync out
|
||||
# if it is we want to mark it with a *** marker
|
||||
if (exists $allpkgs{$pkgfields[1]}) {
|
||||
# mark it in our fourth field as installed
|
||||
@{ $allpkgs{$pkgfields[1]} }[3] = $INSTMARK;
|
||||
} else {
|
||||
# add a fourth field that will indicate install status
|
||||
push (@pkgfields, $INSTMARK);
|
||||
if (not exists $allpkgs{$pkgfields[1]}) {
|
||||
$pkgfields[2] = "[installed]";
|
||||
# add a fifth field that indicates original order (after sync)
|
||||
push (@pkgfields, $cnt++);
|
||||
# add our local-only package to the hash
|
||||
@@ -122,11 +120,11 @@ foreach $_ (@querypkgs) {
|
||||
# sort by original order (the fifth field) and print
|
||||
foreach $_ ( sort{ @{$allpkgs{$a}}[4] <=> @{$allpkgs{$b}}[4] } keys %allpkgs) {
|
||||
my @v = @{$allpkgs{$_}};
|
||||
my $line = "$v[0]/$v[1]";
|
||||
my $line = "$v[0]/$v[1] $v[2]";
|
||||
$line = to_color($line);
|
||||
# print install marker + colorized "repo/pkgname pkgver" string
|
||||
print "$v[3]$line\n";
|
||||
print "$v[2]\n";
|
||||
# print colorized "repo/pkgname pkgver" string with possible installed text
|
||||
print "$line\n";
|
||||
print "$v[3]\n";
|
||||
}
|
||||
|
||||
#vim: set noet:
|
||||
|
||||
@@ -41,7 +41,7 @@ arrow1_color="chocolate4" #color of the normal arrow
|
||||
arrow2_color="grey" #color of the "provided by" headless arrow
|
||||
|
||||
readonly prog_name="pactree"
|
||||
readonly prog_ver="0.2"
|
||||
readonly prog_ver="0.3"
|
||||
|
||||
_usage(){
|
||||
echo "This program generates the dependency tree of an installed package"
|
||||
@@ -52,13 +52,14 @@ _usage(){
|
||||
echo " -d, --depth INT Limit the shown dependencies depth"
|
||||
echo " -g, --graph Use graphviz to make an image of the tree"
|
||||
echo " -l, --linear Enable linear output"
|
||||
echo " -r, --reversed Show reversed dependancies"
|
||||
echo " -s, --silent Shh, let me hear those errors!"
|
||||
echo " -u, --unique Print the dependency list with no duplicates"
|
||||
echo
|
||||
echo " -h, --help Print this help message"
|
||||
echo " -v, --version Print the program name and version"
|
||||
echo
|
||||
echo "Example: $prog_name -c -d 2 readline"
|
||||
echo "Example: $prog_name -c -d2 readline"
|
||||
}
|
||||
|
||||
_version(){
|
||||
@@ -140,7 +141,16 @@ _tree(){
|
||||
|
||||
if [[ ! " ${dep_list[@]} " =~ " $pkg_name " ]] && [ $spaces -ne $max_depth ]; then
|
||||
dep_list=( "${dep_list[@]}" "$pkg_name" )
|
||||
for dep_pkg in $(_grabfield "$pkg_dir/depends" %DEPENDS%); do
|
||||
if [ $reversed_dep -eq 0 ]; then
|
||||
deps_pkg="$(_grabfield "$pkg_dir/depends" %DEPENDS%)"
|
||||
else
|
||||
reqs_pkg_dir="$(_finddep "$pkg_name" %DEPENDS% depends)"
|
||||
unset deps_pkg
|
||||
for req_pkg_dir in $reqs_pkg_dir; do
|
||||
deps_pkg=$(echo "$deps_pkg" "$(_grabfield "$req_pkg_dir/desc" %NAME%)")
|
||||
done
|
||||
fi
|
||||
for dep_pkg in $deps_pkg; do
|
||||
spaces=$2 #Bash scoping ;_;
|
||||
if [ $graphviz -eq 1 ]; then
|
||||
echo "\"$1\" -> \"${dep_pkg%%[<>=]*}\" [color=$arrow1_color];"
|
||||
@@ -208,11 +218,16 @@ for (( n=0 ; n < $len_options ; n++ )); do
|
||||
continue
|
||||
fi
|
||||
|
||||
if [[ "${options[$n]}" =~ -d[[:digit:]]* || "${options[$n]}" == "--depth" ]]; then
|
||||
if [ "${options[$n]}" = "-r" -o "${options[$n]}" = "--reversed" ]; then
|
||||
unset options[$n]
|
||||
reversed_dep=1
|
||||
continue
|
||||
fi
|
||||
|
||||
if [[ "${options[$n]}" =~ -d[[:digit:]]+ || "${options[$n]}" == "--depth" ]]; then
|
||||
if [[ "${options[$n]#-d}" =~ [[:digit:]]+ ]]; then
|
||||
max_depth="${options[$n]#-d}"
|
||||
elif [[ ${options[$((n+1))]} =~ [[:digit:]]+ ]]; then
|
||||
# if [ ${options[$((n+1))]} -eq ${options[$((n+1))]} 2>/dev/null ]; then
|
||||
max_depth="${options[$((n+1))]}"
|
||||
unset options[$((n+1))]
|
||||
((++n))
|
||||
@@ -230,6 +245,7 @@ linear=${linear:-0}
|
||||
silent=${silent:-0}
|
||||
nodup=${nodup:-0}
|
||||
graphviz=${graphviz:-0}
|
||||
reversed_dep=${reversed_dep:-0}
|
||||
|
||||
if [ $colored -ne 1 ]; then
|
||||
unset branch1_color
|
||||
@@ -293,8 +309,12 @@ if [ $graphviz -eq 1 ]; then
|
||||
root_pkgs="${options[@]}"
|
||||
# Uncomment for the "generated by pactree" node in graphviz
|
||||
#advert="xyz [height=0.07, fontsize=8.0, label=\"GENERATED WITH PACTREE\",shape=box,color="black",style=filled,fontcolor="white"];\n"
|
||||
|
||||
echo -e "digraph G { START [color=$start_color, style=filled];\n node [style=filled, color=$nodes_color];\n$(_main)\n$advert}" | dot -T$gformat -o "${root_pkgs// /_}.deps.$gformat"
|
||||
if [ $reversed_dep -eq 0 ]; then
|
||||
file_extension="deps.$gformat"
|
||||
else
|
||||
file_extension="reqs.$gformat"
|
||||
fi
|
||||
echo -e "digraph G { START [color=$start_color, style=filled];\n node [style=filled, color=$nodes_color];\n$(_main)\n$advert}" | dot -T$gformat -o "${root_pkgs// /_}.$file_extension"
|
||||
else _main
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# updatesync
|
||||
#
|
||||
# Copyright (c) 2004 by Jason Chu <jason@archlinux.org>
|
||||
# Derived from gensync (c) 2002-2006 Judd Vinet <jvinet@zeroflux.org>
|
||||
#
|
||||
# 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 of the License, 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
myver='3.1.1'
|
||||
|
||||
# functions
|
||||
|
||||
usage() {
|
||||
printf "updatesync (pacman) %s\n\n" "$myver"
|
||||
printf "Usage: %s <action> <destfile> <option> [package_directory]\n\n" "$0"
|
||||
printf "\
|
||||
updatesync will update a sync database by reading a PKGBUILD and\n\
|
||||
modifying the destfile. updatesync updates the database in a temporary\n\
|
||||
directory and then compresses it to <destfile>.\n\n"
|
||||
printf "There are two types of actions:\n\n"
|
||||
printf "upd - Will update a package's entry or create it if it doesn't exist.\n It takes the package's PKGBUILD as an option.\n"
|
||||
printf "del - Will remove a package's entry from the db. It takes the package's\n name as an option.\n"
|
||||
echo
|
||||
printf "\
|
||||
updatesync will calculate md5sums of packages in the same directory as\n\
|
||||
<destfile>, unless an alternate [package_directory] is specified.\n\n"
|
||||
echo "Example: updatesync upd /home/mypkgs/custom.db.tar.gz PKGBUILD"
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "updatesync (pacman) %s\n" "$myver"
|
||||
printf "\
|
||||
Copyright (C) 2004 Jason Chu <jason@archlinux.org>.\n\n\
|
||||
This is free software; see the source for copying conditions.\n\
|
||||
There is NO WARRANTY, to the extent permitted by law.\n"
|
||||
}
|
||||
|
||||
error () {
|
||||
local mesg=$1; shift
|
||||
printf "==> ERROR: ${mesg}\n" "$@" >&2
|
||||
}
|
||||
|
||||
die () {
|
||||
error $*
|
||||
exit 1
|
||||
}
|
||||
|
||||
# PROGRAM START
|
||||
|
||||
if [ "$1" = "-h" -o "$1" = "--help" ]; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$1" = "-V" -o "$1" = "--version" ]; then
|
||||
version
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ $# -lt 3 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# source system and user makepkg.conf
|
||||
if [ -r /etc/makepkg.conf ]; then
|
||||
source /etc/makepkg.conf
|
||||
else
|
||||
die "/etc/makepkg.conf not found. Cannot continue."
|
||||
fi
|
||||
|
||||
if [ -r ~/.makepkg.conf ]; then
|
||||
source ~/.makepkg.conf
|
||||
fi
|
||||
|
||||
if [ "$1" != "upd" -a "$1" != "del" ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
action=$1
|
||||
pkgdb=$2
|
||||
option=$3
|
||||
pkgdir="$(pwd)"
|
||||
if [ "$4" != "" ]; then
|
||||
pkgdir="$4"
|
||||
fi
|
||||
|
||||
if [ "$action" = "upd" ]; then # INSERT / UPDATE
|
||||
if [ ! -f "$option" ]; then
|
||||
die "$option not found"
|
||||
fi
|
||||
|
||||
unset pkgname pkgver pkgrel options
|
||||
|
||||
source $option || die "failed to parse $option"
|
||||
if [ "$arch" = 'any' ]; then
|
||||
CARCH='any'
|
||||
fi
|
||||
pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-${CARCH}${PKGEXT}"
|
||||
|
||||
if [ ! -f "$pkgfile" ]; then
|
||||
die "could not find %s-%s-%s-%s%s - aborting" $pkgname $pkgver $pkgrel $CARCH $PKGEXT
|
||||
fi
|
||||
|
||||
repo-add "$pkgdb" "$pkgfile"
|
||||
else # DELETE
|
||||
fname="$(basename $option)"
|
||||
if [ "$fname" = "PKGBUILD" ]; then
|
||||
if [ ! -f "$option" ]; then
|
||||
die "%s not found" $option
|
||||
fi
|
||||
|
||||
unset pkgname pkgver pkgrel options
|
||||
source $option
|
||||
else
|
||||
pkgname=$option
|
||||
fi
|
||||
|
||||
repo-remove "$pkgdb" "$pkgname"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
# vim: set ts=2 sw=2 noet:
|
||||
@@ -26,13 +26,14 @@ _pacman_opts_common=(
|
||||
'--noconfirm[Do not ask for confirmation]'
|
||||
'--noprogressbar[Do not show a progress bar when downloading files]'
|
||||
'--noscriptlet[Do not execute the install scriptlet if one exists]'
|
||||
'--print[Only print the targets instead of performing the operation]'
|
||||
)
|
||||
|
||||
# options for passing to _arguments: options for --upgrade commands
|
||||
_pacman_opts_pkgfile=(
|
||||
'-d[Skip dependency checks]'
|
||||
'-f[Overwrite conflicting files]'
|
||||
'*:package file:_files -g "*.pkg.tar.gz(.)"'
|
||||
'*:package file:_files -g "*.pkg.tar.*(.)"'
|
||||
)
|
||||
|
||||
# options for passing to _arguments: subactions for --query command
|
||||
@@ -50,6 +51,7 @@ _pacman_opts_query_modifiers=(
|
||||
'-e[List packages explicitly installed]'
|
||||
'-i[View package information]'
|
||||
'-ii[View package information including backup files]'
|
||||
'-k[Check package files]'
|
||||
'-l[List package contents]'
|
||||
'-m[List installed packages not found in sync db(s)]'
|
||||
'-t[List packages not required by any package]'
|
||||
@@ -119,7 +121,7 @@ _pacman_action_query() {
|
||||
_arguments -s : \
|
||||
"$_pacman_opts_common[@]" \
|
||||
"$_pacman_opts_query_modifiers[@]" \
|
||||
'*:package file:_files -g "*.pkg.tar.gz"'
|
||||
'*:package file:_files -g "*.pkg.tar.*"'
|
||||
;;
|
||||
query_group)
|
||||
_arguments -s : \
|
||||
@@ -294,11 +296,11 @@ _pacman() {
|
||||
"$_pacman_opts_query_modifiers[@]" \
|
||||
'*:package file:_files'
|
||||
;;
|
||||
-Q*p*) # file *.pkg.tar.gz
|
||||
-Q*p*) # file *.pkg.tar.*
|
||||
_arguments -s : \
|
||||
"$_pacman_opts_common[@]" \
|
||||
"$_pacman_opts_query_modifiers[@]" \
|
||||
'*:package file:_files -g "*.pkg.tar.gz"'
|
||||
'*:package file:_files -g "*.pkg.tar.*"'
|
||||
;;
|
||||
-Q*) _pacman_action_query ;;
|
||||
-R*) _pacman_action_remove ;;
|
||||
|
||||
2
doc/.gitignore
vendored
2
doc/.gitignore
vendored
@@ -6,5 +6,7 @@ pacman.8
|
||||
pacman.conf.5
|
||||
repo-add.8
|
||||
repo-remove.8
|
||||
*.css
|
||||
*.html
|
||||
*.xml
|
||||
man3
|
||||
|
||||
@@ -14,7 +14,27 @@ ASCIIDOC_MANS = \
|
||||
|
||||
DOXYGEN_MANS = $(wildcard man3/*.3)
|
||||
|
||||
HTML_MANPAGES = \
|
||||
pacman.8.html \
|
||||
makepkg.8.html \
|
||||
repo-add.8.html \
|
||||
PKGBUILD.5.html \
|
||||
makepkg.conf.5.html \
|
||||
pacman.conf.5.html \
|
||||
libalpm.3.html
|
||||
|
||||
HTML_OTHER = \
|
||||
index.html \
|
||||
submitting-patches.html \
|
||||
translation-help.html \
|
||||
HACKING.html
|
||||
|
||||
HTML_DOCS = \
|
||||
$(HTML_MANPAGES) \
|
||||
$(HTML_OTHER)
|
||||
|
||||
EXTRA_DIST = \
|
||||
asciidoc.conf \
|
||||
pacman.8.txt \
|
||||
makepkg.8.txt \
|
||||
repo-add.8.txt \
|
||||
@@ -24,13 +44,20 @@ EXTRA_DIST = \
|
||||
pacman.conf.5.txt \
|
||||
libalpm.3.txt \
|
||||
footer.txt \
|
||||
index.txt \
|
||||
submitting-patches.txt \
|
||||
translation-help.txt \
|
||||
Doxyfile \
|
||||
$(ASCIIDOC_MANS) \
|
||||
$(DOXYGEN_MANS)
|
||||
|
||||
# Files that should be removed, but which Automake does not know.
|
||||
MOSTLYCLEANFILES = *.xml
|
||||
MAINTAINERCLEANFILES = $(ASCIIDOC_MANS)
|
||||
MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) $(HTML_DOCS) repo-remove.8
|
||||
|
||||
# Ensure manpages are fresh when building a dist tarball
|
||||
dist-hook:
|
||||
$(MAKE) $(AM_MAKEFLAGS) clean
|
||||
$(MAKE) $(AM_MAKEFLAGS) all
|
||||
|
||||
if USE_GIT_VERSION
|
||||
GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 | sed s/^v//')-dirty
|
||||
@@ -39,46 +66,65 @@ else
|
||||
REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
|
||||
endif
|
||||
|
||||
|
||||
man_MANS =
|
||||
dist_man_MANS = $(ASCIIDOC_MANS) repo-remove.8
|
||||
|
||||
if USE_DOXYGEN
|
||||
man_MANS += $(DOXYGEN_MANS)
|
||||
|
||||
all: doxygen.in
|
||||
all-local: doxygen.in
|
||||
|
||||
doxygen.in:
|
||||
$(DOXYGEN) $(srcdir)/Doxyfile
|
||||
endif
|
||||
|
||||
if USE_ASCIIDOC
|
||||
html: $(HTML_DOCS)
|
||||
|
||||
pkgdatadir = ${datadir}/${PACKAGE}
|
||||
|
||||
ASCIIDOC_OPTS = \
|
||||
-f asciidoc.conf \
|
||||
-a pacman_version="$(REAL_PACKAGE_VERSION)" \
|
||||
-a pacman_date="`date +%Y-%m-%d`" \
|
||||
-a pkgdatadir=$(pkgdatadir) \
|
||||
-a sysconfdir=$(sysconfdir)
|
||||
|
||||
A2X_OPTS = \
|
||||
--no-xmllint \
|
||||
-d manpage \
|
||||
-f manpage \
|
||||
--xsltproc-opts='-param man.endnotes.list.enabled 0' \
|
||||
--xsltproc-opts='-param man.endnotes.are.numbered 0'
|
||||
|
||||
$(ASCIIDOC_MANS):
|
||||
a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS)" $@.txt
|
||||
--xsltproc-opts='-param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0'
|
||||
|
||||
# These rules are due to the includes and files of the asciidoc text
|
||||
$(ASCIIDOC_MANS): asciidoc.conf footer.txt
|
||||
pacman.8: pacman.8.txt
|
||||
makepkg.8: makepkg.8.txt
|
||||
repo-add.8: repo-add.8.txt
|
||||
PKGBUILD.5: PKGBUILD.5.txt PKGBUILD-example.txt
|
||||
makepkg.conf.5: makepkg.conf.5.txt
|
||||
pacman.conf.5: pacman.conf.5.txt
|
||||
libalpm.3: libalpm.3.txt
|
||||
a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS)" $@.txt
|
||||
|
||||
%.html: %.txt
|
||||
asciidoc $(ASCIIDOC_OPTS) -a linkcss $*.txt
|
||||
dos2unix $@
|
||||
|
||||
HACKING.html: ../HACKING
|
||||
asciidoc $(ASCIIDOC_OPTS) -a linkcss -o $@ ../HACKING
|
||||
dos2unix $@
|
||||
|
||||
# Customizations for certain HTML docs
|
||||
$(HTML_MANPAGES): asciidoc.conf footer.txt
|
||||
$(HTML_OTHER): asciidoc.conf
|
||||
%.8.html: ASCIIDOC_OPTS += -d manpage
|
||||
%.5.html: ASCIIDOC_OPTS += -d manpage
|
||||
%.3.html: ASCIIDOC_OPTS += -d manpage
|
||||
|
||||
# Dependency rules
|
||||
pacman.8 pacman.8.html: pacman.8.txt
|
||||
makepkg.8 makepkg.8.html: makepkg.8.txt
|
||||
repo-add.8 repo-add.8.html: repo-add.8.txt
|
||||
PKGBUILD.5 PKGBUILD.5.html: PKGBUILD.5.txt PKGBUILD-example.txt
|
||||
makepkg.conf.5 makepkg.conf.5.html: makepkg.conf.5.txt
|
||||
pacman.conf.5 pacman.conf.5.html: pacman.conf.5.txt
|
||||
libalpm.3 libalpm.3.html: libalpm.3.txt
|
||||
# this one is just a symlink
|
||||
repo-remove.8: repo-add.8
|
||||
ln -s repo-add.8 repo-remove.8
|
||||
endif
|
||||
rm -f repo-remove.8
|
||||
$(LN_S) repo-add.8 repo-remove.8
|
||||
|
||||
# vim:set ts=2 sw=2 noet:
|
||||
|
||||
@@ -4,7 +4,7 @@ pkgname=patch
|
||||
pkgver=2.5.4
|
||||
pkgrel=3
|
||||
pkgdesc="A utility to apply patch files to original sources"
|
||||
arch=(i686 x86_64)
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.gnu.org/software/patch/patch.html"
|
||||
license=('GPL')
|
||||
groups=('base-devel')
|
||||
|
||||
@@ -20,12 +20,10 @@ This manual page is meant to describe general rules about PKGBUILDs. Once a
|
||||
PKGBUILD is written, the actual package is built using makepkg and installed
|
||||
with pacman.
|
||||
|
||||
NOTE: If you are using Arch Linux and have a local copy of the Arch Build
|
||||
System (ABS) tree on your computer, or are using another distribution that
|
||||
provides a similar tree of build files, you can copy the provided
|
||||
PKGBUILD.proto file to a new package build directory and make customizations to
|
||||
suit your needs. An up to date prototype file can also be found in the source
|
||||
distribution of this package.
|
||||
NOTE: An example PKGBUILD, useful for reference, is located in '{pkgdatadir}'.
|
||||
Also located there are other example files such as a ChangeLog and an install
|
||||
script. You can copy the provided PKGBUILD.proto file to a new package build
|
||||
directory and make customizations to suit your needs.
|
||||
|
||||
|
||||
Options and Directives
|
||||
@@ -65,19 +63,25 @@ similar to `$_basekernver`.
|
||||
This field specifies the license(s) that apply to the package.
|
||||
Commonly-used licenses are found in '/usr/share/licenses/common'. If you
|
||||
see the package's license there, simply reference it in the license
|
||||
field (e.g. `$$license=('GPL')$$`). If the package provides a license not
|
||||
field (e.g. `license=('GPL')`). If the package provides a license not
|
||||
found in '/usr/share/licenses/common', then you should include the license
|
||||
in the package itself and set `$$license=('custom')$$` or
|
||||
`$$license=('custom:LicenseName')$$`. The license should be placed in
|
||||
in the package itself and set `license=('custom')` or
|
||||
`license=('custom:LicenseName')`. The license should be placed in
|
||||
'$pkgdir/usr/share/licenses/$pkgname' when building the package. If
|
||||
multiple licenses are applicable for a package, list all of them:
|
||||
`$$license=('GPL' 'FDL')$$`.
|
||||
`license=('GPL' 'FDL')`.
|
||||
|
||||
*install*::
|
||||
Specifies a special install script that is to be included in the package.
|
||||
This file should reside in the same directory as the PKGBUILD, and will
|
||||
be copied into the package by makepkg. It does not need to be included
|
||||
in the source array (e.g. `$$install=pkgname.install$$`).
|
||||
in the source array (e.g. `install=pkgname.install`).
|
||||
|
||||
*changelog*::
|
||||
Specifies a changelog file that is to be included in the package.
|
||||
This file should reside in the same directory as the PKGBUILD, and will
|
||||
be copied into the package by makepkg. It does not need to be included
|
||||
in the source array (e.g. `changelog=$pkgname.changelog`).
|
||||
|
||||
*source (array)*::
|
||||
An array of source files required to build the package. Source files
|
||||
@@ -87,6 +91,10 @@ similar to `$_basekernver`.
|
||||
variables if possible when specifying the download location. Any files
|
||||
that are compressed will automatically be extracted, unless found in
|
||||
the noextract array listed below.
|
||||
+
|
||||
It is also possible to specify an optional filename, which is helpful
|
||||
with weird URLs and for handling multiple source files with the same
|
||||
name. The syntax is: `source=('filename::url')`.
|
||||
|
||||
*noextract (array)*::
|
||||
An array of filenames corresponding to those from the source array. Files
|
||||
@@ -114,7 +122,8 @@ similar to `$_basekernver`.
|
||||
|
||||
*arch (array)*::
|
||||
Defines on which architectures the given package is available (e.g.
|
||||
`$$arch=('i686' 'x86_64')$$`).
|
||||
`arch=('i686' 'x86_64')`). Packages that contain no architecture specific
|
||||
files may use arch=('any').
|
||||
|
||||
*backup (array)*::
|
||||
A space-delimited array of filenames, without preceding slashes, that
|
||||
@@ -136,11 +145,11 @@ similar to `$_basekernver`.
|
||||
depends.
|
||||
|
||||
*optdepends (array)*::
|
||||
An array of optional packages (and accompanying reasons) that are not
|
||||
essential to the package, but would offer increased functionality or other
|
||||
features when installed. optdepends are currently for informational
|
||||
purposes only and are not utilized by pacman during dependency resolution.
|
||||
The format should be similar to the following:
|
||||
An array of packages (and accompanying reasons) that are not essential for
|
||||
base functionality, but may be necessary to make full use of the contents
|
||||
of this package. optdepends are currently for informational purposes only
|
||||
and are not utilized by pacman during dependency resolution. The format
|
||||
for specifying optdepends is:
|
||||
|
||||
optdepends=('fakeroot: for makepkg usage as normal user')
|
||||
|
||||
@@ -156,7 +165,9 @@ similar to `$_basekernver`.
|
||||
depend on 'cron' rather than 'dcron OR fcron'.
|
||||
Versioned provisions are also possible, in the 'name=version' format.
|
||||
For example, dcron can provide 'cron=2.0' to satisfy the 'cron>=2.0'
|
||||
dependency of other packages.
|
||||
dependency of other packages. Provisions involving the '>' and '<'
|
||||
operators are invalid as only specific versions of a package may be
|
||||
provided.
|
||||
|
||||
*replaces (array)*::
|
||||
An array of packages that this package should replace, and can be used
|
||||
@@ -181,8 +192,8 @@ similar to `$_basekernver`.
|
||||
disable this option.
|
||||
|
||||
*docs*;;
|
||||
Save doc and info directories. If you wish to delete doc and
|
||||
info directories, specify `!docs` in the array.
|
||||
Save doc directories. If you wish to delete doc directories,
|
||||
specify `!docs` in the array.
|
||||
|
||||
*libtool*;;
|
||||
Leave libtool (.la) files in packages. Specify `!libtool` to
|
||||
@@ -192,7 +203,7 @@ similar to `$_basekernver`.
|
||||
Leave empty directories in packages.
|
||||
|
||||
*zipman*;;
|
||||
Compress man pages with gzip.
|
||||
Compress man and info pages with gzip.
|
||||
|
||||
*ccache*;;
|
||||
Allow the use of ccache during build. More useful in its negative
|
||||
@@ -215,15 +226,15 @@ similar to `$_basekernver`.
|
||||
operation, even if the version number would normally not trigger
|
||||
such an upgrade. This is useful when the version numbering scheme
|
||||
of a package changes (or is alphanumeric). See linkman:pacman[8] for
|
||||
more infomation on version comparisons.
|
||||
more information on version comparisons.
|
||||
|
||||
|
||||
build() Function
|
||||
----------------
|
||||
In addition to the above directives, the build() bash function comprises the
|
||||
remainder of the PKGBUILD. This is directly sourced and executed by makepkg, so
|
||||
anything that bash or the system has available is available for use here. Be
|
||||
sure any exotic commands used are covered by `makedepends`.
|
||||
In addition to the above directives, the optional build() bash function usually
|
||||
comprises the remainder of the PKGBUILD. This is directly sourced and executed by
|
||||
makepkg, so anything that bash or the system has available is available for use
|
||||
here. Be sure any exotic commands used are covered by `makedepends`.
|
||||
|
||||
All of the above variables such as `pkgname` and `pkgver` are available for use
|
||||
in the build function. In addition, makepkg defines three variables for your
|
||||
@@ -232,24 +243,47 @@ use during the build and install process. These three variables are as follows:
|
||||
*startdir*::
|
||||
This contains the absolute path to the directory where the PKGBUILD was
|
||||
located, which is usually the output of `$(pwd)` when makepkg is started.
|
||||
$$startdir$$ was most often used in combination with `/src` or `/pkg`
|
||||
postfixes, but use of the `srcdir` and `pkgdir` variables is preferred.
|
||||
|
||||
*srcdir*::
|
||||
This points to the directory where makepkg extracts or copies all source
|
||||
files. Although it currently is an alias for `$startdir/src`, this
|
||||
assumption should not be assumed true for all future revisions of makepkg.
|
||||
files.
|
||||
|
||||
*pkgdir*::
|
||||
This points to the directory where makepkg bundles the installed package
|
||||
(this directory will become the root directory of your built package).
|
||||
Although it currently is an alias for `$startdir/pkg`, this assumption
|
||||
should not be assumed true for all future revisions of makepkg.
|
||||
|
||||
If you create any variables of your own in the build function, it is
|
||||
recommended to use the bash `local` keyword to scope the variable to inside
|
||||
the build function.
|
||||
|
||||
package() Function
|
||||
------------------
|
||||
An optional package() function can be specified in addition to the build() function.
|
||||
This function is run immediately after the build() function. When specified in
|
||||
combination with the fakeroot BUILDENV option in linkman:makepkg.conf[5], fakeroot
|
||||
usage will be limited to running the packaging stage. An existing build() function
|
||||
will be run as the user calling makepkg.
|
||||
|
||||
Package Splitting
|
||||
-----------------
|
||||
makepkg supports building multiple packages from a single PKGBUILD. This is achieved
|
||||
by assigning an array of package names to the `pkgname` directive. Each split package
|
||||
uses a corresponding packaging function with name `package_foo()`, where `foo` is the
|
||||
name of the split package.
|
||||
|
||||
All options and directives for the split packages default to the global values given
|
||||
within the PKGBUILD. However, some of these can be overridden within each split
|
||||
package's packaging function. The following variables can be overridden: `pkgver`,
|
||||
`pkgrel`, `pkgdesc`, `arch`, `license`, `groups`, `depends`, `optdepends`,
|
||||
`provides`, `conflicts`, `replaces`, `backup`, `options`, `install` and `changelog`.
|
||||
|
||||
An optional global directive is available when building a split package:
|
||||
|
||||
*pkgbase*::
|
||||
The name used to refer to the group of packages in the output of makepkg
|
||||
and in the naming of source-only tarballs. If not specified, the first
|
||||
element in the `pkgname` array is used.
|
||||
|
||||
Install/Upgrade/Remove Scripting
|
||||
--------------------------------
|
||||
Pacman has the ability to store and execute a package-specific script when it
|
||||
@@ -288,9 +322,8 @@ same directory as the PKGBUILD script. Then use the install directive:
|
||||
install=pkgname.install
|
||||
|
||||
The install script does not need to be specified in the source array. A
|
||||
template install file is available with the source distribution of this
|
||||
program, or one may be provided by your distribution. For example, Arch Linux
|
||||
provides prototype install files in the ABS tree.
|
||||
template install file is available in '{pkgdatadir}' as 'proto.install' for
|
||||
reference with all of the available functions defined.
|
||||
|
||||
|
||||
Development Directives
|
||||
@@ -363,11 +396,10 @@ The following is an example PKGBUILD for the 'patch' package. For more
|
||||
examples, look through the build files of your distribution's packages. For
|
||||
those using Arch Linux, consult the ABS tree.
|
||||
|
||||
[sh]
|
||||
source~~~~~
|
||||
[source,sh]
|
||||
-------------------------------
|
||||
include::PKGBUILD-example.txt[]
|
||||
source~~~~~
|
||||
|
||||
-------------------------------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
@@ -8,7 +8,11 @@
|
||||
# Show man link as: <command>(<section>); if section is defined, else just show
|
||||
# the command.
|
||||
|
||||
[macros]
|
||||
(?su)[\\]?(?P<name>linkman):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
|
||||
|
||||
[attributes]
|
||||
asterisk=*
|
||||
plus=+
|
||||
caret=^
|
||||
startsb=[
|
||||
@@ -30,13 +34,7 @@ ifndef::docbook-xsl-172[]
|
||||
[listingblock]
|
||||
<example><title>{title}</title>
|
||||
<literallayout>
|
||||
ifdef::doctype-manpage[]
|
||||
.ft C
|
||||
endif::doctype-manpage[]
|
||||
|
|
||||
ifdef::doctype-manpage[]
|
||||
.ft
|
||||
endif::doctype-manpage[]
|
||||
</literallayout>
|
||||
{title#}</example>
|
||||
endif::docbook-xsl-172[]
|
||||
|
||||
200
doc/index.txt
Normal file
200
doc/index.txt
Normal file
@@ -0,0 +1,200 @@
|
||||
Pacman Home Page
|
||||
================
|
||||
|
||||
A simple library-based package manager.
|
||||
|
||||
Introduction
|
||||
------------
|
||||
pacman is a utility which manages software packages in Linux. It uses simple
|
||||
compressed files as a package format, and maintains a text-based package
|
||||
database (more of a hierarchy), just in case some hand tweaking is necessary.
|
||||
|
||||
pacman does not strive to "do everything." It will add, remove and upgrade
|
||||
packages in the system, and it will allow you to query the package database for
|
||||
installed packages, files and owners. It also attempts to handle dependencies
|
||||
automatically and can download packages from a remote server.
|
||||
|
||||
History
|
||||
~~~~~~~
|
||||
Version 2.0 of pacman introduced the ability to sync packages (the `--sync`
|
||||
option) with a master server through the use of package databases. Prior to
|
||||
this, packages would have to be installed manually using the `--add` and
|
||||
`--upgrade` operations.
|
||||
|
||||
Version 3.0 was the switch to a two-part pacman- a backend named libalpm
|
||||
(library for Arch Linux Package Management), and the familiar pacman frontend.
|
||||
Speed in many cases was improved, along with dependency and conflict resolution
|
||||
being able to handle a much wider variety of cases. The switch to a
|
||||
library-based program should also make it easier in the future to develop
|
||||
alternative front ends.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
Manpages
|
||||
~~~~~~~~
|
||||
There are several manpages available for the programs, utilities, and
|
||||
configuration files dealing with pacman.
|
||||
|
||||
* linkman:PKGBUILD[5]
|
||||
* linkman:libalpm[3]
|
||||
* linkman:makepkg[8]
|
||||
* linkman:makepkg.conf[5]
|
||||
* linkman:pacman[8]
|
||||
* linkman:pacman.conf[5]
|
||||
* linkman:repo-add[8]
|
||||
|
||||
Changelog
|
||||
~~~~~~~~~
|
||||
For a good idea of what is going on in pacman development, take a look at the
|
||||
link:http://projects.archlinux.org/?p=pacman.git[Gitweb] summary
|
||||
page for the project.
|
||||
|
||||
See the most recent
|
||||
link:http://projects.archlinux.org/?p=pacman.git;a=blob_plain;f=NEWS;hb=HEAD[NEWS]
|
||||
file for a not-as-frequently-updated list of changes. However, this should
|
||||
contain the biggest changes in a format more concise than the commit log.
|
||||
|
||||
|
||||
Releases
|
||||
--------
|
||||
|
||||
`------------`-------
|
||||
Date Version
|
||||
---------------------
|
||||
2010-06-16 v3.4.0
|
||||
2009-11-10 v3.3.3
|
||||
2009-10-05 v3.3.2
|
||||
2009-09-22 v3.3.1
|
||||
2009-08-02 v3.3.0
|
||||
2009-01-05 v3.2.2
|
||||
2008-08-26 v3.2.1
|
||||
2008-07-30 v3.2.0
|
||||
2008-04-01 v3.1.4
|
||||
2008-03-06 v3.1.3
|
||||
2008-02-20 v3.1.2
|
||||
2008-01-20 v3.1.1
|
||||
2008-01-09 v3.1.0
|
||||
2007-09-16 v3.0.6
|
||||
2007-06-17 v3.0.5
|
||||
2007-05-08 v3.0.4
|
||||
2007-04-28 v3.0.3
|
||||
2007-04-23 v3.0.2
|
||||
2007-04-04 v3.0.1
|
||||
2007-03-25 v3.0.0
|
||||
2006-02-02 v2.9.8
|
||||
2005-09-16 v2.9.7
|
||||
2005-06-10 v2.9.6
|
||||
2005-01-11 v2.9.5
|
||||
2004-12-19 v2.9.4
|
||||
2004-12-18 v2.9.3
|
||||
2004-09-25 v2.9.2
|
||||
2004-09-24 v2.9.1
|
||||
2004-09-18 v2.9
|
||||
---------------------
|
||||
|
||||
Source code for all releases is available at
|
||||
link:ftp://ftp.archlinux.org/other/pacman/[]. To install, download the newest
|
||||
available source tarball, unpack it in a directory, and run the three magic
|
||||
commands:
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
# make install
|
||||
|
||||
You may wish to read the options presented by `./configure --help` in order to
|
||||
set appropriate paths and build options that are correct for your system.
|
||||
|
||||
Development
|
||||
-----------
|
||||
|
||||
Mailing List
|
||||
~~~~~~~~~~~~
|
||||
There is a mailing list devoted to pacman development, hosted by Arch Linux.
|
||||
link:http://www.archlinux.org/mailman/listinfo/pacman-dev/[Subscribe] or
|
||||
link:http://www.archlinux.org/pipermail/pacman-dev/[view the archives].
|
||||
|
||||
Source Code
|
||||
~~~~~~~~~~~
|
||||
Development of pacman is currently done in GIT. The central repository is
|
||||
hosted by Arch Linux, although some of the developers have their own trees (ask
|
||||
on the above mailing lists if you are interested in finding the locations of
|
||||
these trees).
|
||||
|
||||
The current development tree can be fetched with the following command:
|
||||
|
||||
git clone git://projects.archlinux.org/pacman.git pacman
|
||||
|
||||
which will fetch the full development history into a directory named pacman.
|
||||
You can browse the source as well using
|
||||
link:http://projects.archlinux.org/?p=pacman.git[Gitweb].
|
||||
|
||||
If you are interested in hacking on pacman, it is highly recommended you join
|
||||
the mailing list mentioned above, as well as take a quick glance at our
|
||||
link:HACKING.html[HACKING] document.
|
||||
link:submitting-patches.html[submitting-patches] is also a recommended read.
|
||||
|
||||
Not as familiar with code as you'd like to be, but still want to help out? If
|
||||
you speak a foreign language, you can help by either creating or updating a
|
||||
translation file for your native language. Instructions can be found in
|
||||
link:translation-help.html[translation-help].
|
||||
|
||||
Other Utilities
|
||||
~~~~~~~~~~~~~~~
|
||||
Although the package manager itself is quite simple, many scripts have been
|
||||
developed that help automate building and installing packages. These are used
|
||||
extensively in link:http://archlinux.org[Arch Linux]. Most of these utilities
|
||||
are available in the Arch Linux projects
|
||||
link:http://projects.archlinux.org/[Gitweb browser].
|
||||
|
||||
Utilities available:
|
||||
|
||||
* link:http://projects.archlinux.org/?p=abs.git[abs] - ABS (Arch Build System), scripts to download & use the Arch Linux PKGBUILD tree
|
||||
* link:http://projects.archlinux.org/?p=devtools.git[devtools] - tools to assist in packaging and dependency checking
|
||||
* link:http://projects.archlinux.org/?p=namcap.git[namcap] - a package analysis utility written in python
|
||||
* link:http://projects.archlinux.org/?p=pacbuild.git[pacbuild] - a package building system utilizing a daemon
|
||||
* link:http://projects.archlinux.org/?p=srcpac.git[srcpac] - a bash build-from-source pacman wrapper
|
||||
|
||||
Bugs
|
||||
----
|
||||
If you find bugs (which is quite likely), please email them to the pacman-dev
|
||||
mailing last at mailto:pacman-dev@archlinux.org[] with specific information
|
||||
such as your commandline, the nature of the bug, and even the package database
|
||||
if it helps.
|
||||
|
||||
You can also post a bug to the Archlinux bug tracker
|
||||
link:http://bugs.archlinux.org/index.php?project=3[Flyspray]. Be sure to file
|
||||
bugs under the Pacman project.
|
||||
|
||||
Pacman/libalpm in the Wild
|
||||
--------------------------
|
||||
Although Arch Linux is the primary user of pacman and libalpm, other
|
||||
distributions and projects also use pacman as a package management tool. In
|
||||
addition, there have been several projects started to provide a frontend GUI to
|
||||
pacman and/or libalpm.
|
||||
|
||||
Arch derivatives:
|
||||
|
||||
* link:http://archie.dotsrc.org/[Archie] - Arch Live on steroids
|
||||
* link:http://www.faunos.com/[FaunOS] - A portable, fully integrated operating system based on Arch Linux
|
||||
* link:http://larch.berlios.de/[larch] - A live CD/DVD/USB-stick construction kit for Arch Linux
|
||||
|
||||
Other distributions:
|
||||
|
||||
* link:http://www.delilinux.org/[DeLi Linux] - "Desktop Light" Linux, a Linux distribution for old computers
|
||||
* link:http://www.frugalware.org/[Frugalware Linux] - A general purpose Linux distribution for intermediate users (pacman is forked and maintained separately)
|
||||
|
||||
Pacman/libalpm frontends:
|
||||
|
||||
* link:http://shaman.iskrembilen.com/[Shaman] - A GUI frontend using Qt and libalpm
|
||||
|
||||
Copyright
|
||||
---------
|
||||
pacman is Copyright (C) 2006-2010 Pacman Development Team
|
||||
<pacman-dev@archlinux.org> and Copyright (C) 2002-2006 Judd Vinet
|
||||
<jvinet@zeroflux.org> and is licensed through the GNU General Public License,
|
||||
version 2 or later.
|
||||
|
||||
/////
|
||||
vim: set ts=2 sw=2 syntax=asciidoc et:
|
||||
/////
|
||||
@@ -43,7 +43,7 @@ Options
|
||||
*-A, \--ignorearch*::
|
||||
Ignore a missing or incomplete arch field in the build script. This is
|
||||
for rebuilding packages from source when the PKGBUILD may be slightly
|
||||
outdated and not updated with an `$$arch=('yourarch')$$` field.
|
||||
outdated and not updated with an `arch=('yourarch')` field.
|
||||
|
||||
*-c, \--clean*::
|
||||
Clean up leftover work files and directories after a successful build.
|
||||
@@ -52,6 +52,9 @@ Options
|
||||
Removes all cached source files from the directory specified in `SRCDEST`
|
||||
in linkman:makepkg.conf[5].
|
||||
|
||||
*--config* <`/path/to/config`>::
|
||||
Use an alternate config file instead of the `/etc/makepkg.conf` default;
|
||||
|
||||
*-d, \--nodeps*::
|
||||
Do not perform any dependency checks. This will let you override and
|
||||
ignore any dependencies required. There is a good chance this option
|
||||
@@ -78,10 +81,14 @@ Options
|
||||
|
||||
*-g, \--geninteg*::
|
||||
For each source file in the source array of PKGBUILD, download the file
|
||||
if required and generate integrity checks. The integrity checks
|
||||
generated are determined by the value of the INTEGRITY_CHECK array in
|
||||
linkman:makepkg.conf[5]. This output can be redirected into your
|
||||
PKGBUILD for source validation using "`makepkg -g >> PKGBUILD`".
|
||||
if required and generate integrity checks. The integrity checks generated
|
||||
are determined by the checks present in the PKGBUILD, falling back to the
|
||||
value of the INTEGRITY_CHECK array in makepkg.conf(5) if these are absent
|
||||
This output can be redirected into your PKGBUILD for source validation
|
||||
using "`makepkg -g >> PKGBUILD`".
|
||||
|
||||
*--skipinteg*::
|
||||
Do not perform any integrity checks, just print a warning instead.
|
||||
|
||||
*-h, \--help*::
|
||||
Output syntax and command line options.
|
||||
@@ -116,22 +123,35 @@ Options
|
||||
|
||||
*-r, \--rmdeps*::
|
||||
Upon successful build, remove any dependencies installed by makepkg
|
||||
during dependency auto-resolution (using `-b` or `-s`).
|
||||
during dependency auto-resolution and installation when using `-s`.
|
||||
|
||||
*-R, \--repackage*::
|
||||
Repackage contents of pkg/ without rebuilding the package. This is
|
||||
useful if you forgot a depend or install file in your PKGBUILD and the
|
||||
build itself will not change.
|
||||
Repackage contents of the package without rebuilding the package. This
|
||||
is useful if you forgot a depend or install file in your PKGBUILD and
|
||||
the build itself will not change.
|
||||
|
||||
*-s, \--syncdeps*::
|
||||
Install missing dependencies using pacman. When build-time or run-time
|
||||
dependencies are not found, pacman will try to resolve them. If
|
||||
successful, the missing packages will be downloaded and installed.
|
||||
|
||||
*\--allsource*::
|
||||
Do not actually build the package, but build a source-only tarball that
|
||||
includes all sources, including those that are normally download via
|
||||
makepkg. This is useful for passing a single tarball to another program
|
||||
such as a chroot or remote builder. It will also satisfy requirements of
|
||||
the GPL when distributing binary packages.
|
||||
|
||||
*\--source*::
|
||||
Do not actually build the package, but build a source-only tarball. This
|
||||
is useful for passing a single tarball to another program such as a
|
||||
chroot, remote builder, or an AUR upload.
|
||||
Do not actually build the package, but build a source-only tarball that
|
||||
does not include sources that can be fetched via a download URL. This is
|
||||
useful for passing a single tarball to another program such as a chroot,
|
||||
remote builder, or a tarball upload. Because integrity checks are verified,
|
||||
all source files of the package need to be present or downloadable.
|
||||
|
||||
*\--pkg <`list`>*::
|
||||
Only build listed packages from a split package. The use of quotes is
|
||||
necessary when specifying multiple packages. e.g. `--pkg "pkg1 pkg3"`
|
||||
|
||||
*\--noconfirm*::
|
||||
(Passed to pacman) Prevent pacman from waiting for user input before
|
||||
@@ -150,6 +170,23 @@ separate utility 'versionpkg'. See linkman:PKGBUILD[5] for details on how to
|
||||
set up a development PKGBUILD.
|
||||
|
||||
|
||||
Environment Variables
|
||||
---------------------
|
||||
*PACMAN*::
|
||||
The command that will be used to check for missing dependencies and to
|
||||
install and remove packages. Pacman's -Qq, -Rns, -S, -T, and -U
|
||||
operations must be supported by this command. If the variable is not
|
||||
set or empty, makepkg will fall back to `pacman'.
|
||||
|
||||
**PKGDEST=**"/path/to/folder"::
|
||||
Folder where the resulting packages will be stored. Overrides the
|
||||
corresponding value defined in linkman:makepkg.conf[5].
|
||||
|
||||
**SRCDEST=**"/path/to/folder"::
|
||||
Folder where the downloaded sources will be stored. Overrides the
|
||||
corresponding value defined in linkman:makepkg.conf[5].
|
||||
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
See linkman:makepkg.conf[5] for more details on configuring makepkg using the
|
||||
|
||||
@@ -34,12 +34,13 @@ Options
|
||||
**DLAGENTS=(**\'protocol::/path/to/command [options]' ...**)**::
|
||||
Sets the download agents used to fetch source files specified with a URL in
|
||||
the linkman:PKGBUILD[5] file. Options can be specified for each command as
|
||||
well; the download URL is placed on the end of the command. This is more
|
||||
flexible than the former `FTPAGENT` variable, as any protocol can have a
|
||||
download agent. Several examples are provided in the default makepkg.conf.
|
||||
All instances of `%u` will be replaced with the download URL. If present,
|
||||
instances of `%o` will be replaced with the local filename, plus a ``.part''
|
||||
extension, which allows to do file resumes properly.
|
||||
well, and any protocol can have a download agent. Several examples are provided
|
||||
in the default makepkg.conf.
|
||||
+
|
||||
If present, `%u` will be replaced with the download URL. Otherwise, the
|
||||
download URL will be placed on the end of the command. If present, `%o` will
|
||||
be replaced with the local filename, plus a ``.part'' extension, which allows
|
||||
makepkg to handle resuming file downloads.
|
||||
|
||||
**CARCH=**"carch"::
|
||||
Specifies your computer architecture; possible values include such things
|
||||
@@ -60,11 +61,16 @@ Options
|
||||
**CXXFLAGS=**"cxxflags"::
|
||||
Flags used for the C++ compiler; see CFLAGS for more info.
|
||||
|
||||
**LDFLAGS=**"ldflags"::
|
||||
Flags used for the linker. Several options may be specified with common
|
||||
usage resembling ``-Wl,--hash-style=gnu''. Read ld(1) for more details on
|
||||
available linker flags.
|
||||
|
||||
**MAKEFLAGS=**"makeflags"::
|
||||
This is often used to set the number of jobs used, for example, `-j2`.
|
||||
Other flags that make accepts can also be passed.
|
||||
|
||||
**BUILDENV=(**fakeroot !distcc color !ccache !xdelta**)**::
|
||||
**BUILDENV=(**fakeroot !distcc color !ccache**)**::
|
||||
This array contains options that affect the build environment, the defaults
|
||||
are shown here. All options should always be left in the array; to enable
|
||||
or disable an option simply remove or place an ``!'' at the front of the
|
||||
@@ -87,17 +93,12 @@ Options
|
||||
be disabled for individual packages by placing `!ccache` in the
|
||||
PKGBUILD options array.
|
||||
|
||||
*xdelta*;;
|
||||
Generate an xdelta binary patch from previous to current package. The
|
||||
previous package must be available in the makepkg cache directory for
|
||||
this to occur.
|
||||
|
||||
**DISTCC_HOSTS=**"host1 ..."::
|
||||
If using DistCC, this is used to specify a space-delimited list of hosts
|
||||
running in the DistCC cluster. In addition, you will want to modify your
|
||||
`MAKEFLAGS`.
|
||||
|
||||
**OPTIONS=(**strip docs libtool emptydirs zipman**)**::
|
||||
**OPTIONS=(**strip !docs libtool emptydirs zipman**)**::
|
||||
This array contains options that affect the default packaging. They are
|
||||
equivalent to options that can be placed in the PKGBUILD; the defaults are
|
||||
shown here. All options should always be left in the array; to enable or
|
||||
@@ -110,37 +111,67 @@ Options
|
||||
option.
|
||||
|
||||
*docs*;;
|
||||
Save doc and info directories. If you wish to delete doc and info
|
||||
directories, specify `!docs' in the array.
|
||||
Save doc directories. If you wish to delete doc directories, specify
|
||||
`!docs` in the array. The directories affected are specified by the
|
||||
`DOC_DIRS` variable.
|
||||
|
||||
*libtool*;;
|
||||
Leave libtool (.la) files in packages. Specify `!libtool' to remove
|
||||
Leave libtool (.la) files in packages. Specify `!libtool` to remove
|
||||
them.
|
||||
|
||||
*emptydirs*;;
|
||||
Leave empty directories in packages.
|
||||
|
||||
*zipman*;;
|
||||
Compress man pages with gzip.
|
||||
Compress manual (man and info) pages with gzip. The directories
|
||||
affected are specified by the `MAN_DIRS` variable.
|
||||
|
||||
*purge*;;
|
||||
Remove files specified by the `PURGE_TARGETS` variable from the
|
||||
package.
|
||||
|
||||
**INTEGRITY_CHECK=(**check1 ...**)**::
|
||||
File integrity checks to use. Multiple checks may be specified; this
|
||||
affects both generation and checking. The current valid options are:
|
||||
`md5`, `sha1`, `sha256`, `sha384`, and `sha512`.
|
||||
|
||||
**DOC_DIRS=(**usr/{,share/}{info,doc} ...**)**::
|
||||
If "!docs" is specified in the OPTIONS array, this variable will
|
||||
**STRIP_BINARIES=**"--strip-all"::
|
||||
Options to be used when stripping binaries. See linkman:strip[1]
|
||||
for details.
|
||||
|
||||
**STRIP_SHARED=**"--strip-unneeded"::
|
||||
Options to be used when stripping shared libraries. See linkman:strip[1]
|
||||
for details.
|
||||
|
||||
**STRIP_STATIC=**"--strip-debug"::
|
||||
Options to be used when stripping static libraries. See linkman:strip[1]
|
||||
for details.
|
||||
|
||||
**MAN_DIRS=(**{usr{,/local}{,/share},opt/*}/{man,info} ...**)**::
|
||||
If `zipman` is specified in the OPTIONS array, this variable will
|
||||
instruct makepkg where to look to compress manual (man and info)
|
||||
pages. If you build packages that are located in opt/, you may need
|
||||
to add the directory to this array. *NOTE:* Do not add the leading
|
||||
slash to the directory name.
|
||||
|
||||
**DOC_DIRS=(**usr/{,share/}{doc,gtk-doc} ...**)**::
|
||||
If `!docs` is specified in the OPTIONS array, this variable will
|
||||
instruct makepkg where to look to remove docs. If you build packages
|
||||
that are located in opt/, you may need to add the directory to this
|
||||
array. *NOTE:* Do not add the leading slash to the directory name.
|
||||
|
||||
**STRIP_DIRS=(**bin lib sbin usr/{bin,lib} ...**)**::
|
||||
If "strip" is specified in the OPTIONS array, this variable will
|
||||
If `strip` is specified in the OPTIONS array, this variable will
|
||||
instruct makepkg where to look to for files to strip. If you build
|
||||
packages that are located in opt/, you may need to add the directory
|
||||
to this array. *NOTE:* Do not add the leading slash to the directory
|
||||
name.
|
||||
|
||||
**PURGE_TARGETS=(**usr/{,share}/info/dir .podlist *.pod...**)**::
|
||||
If `purge` is specified in the OPTIONS array, this variable will
|
||||
instruct makepkg which files to remove from the package. This is
|
||||
useful for index files that are added by multiple packages.
|
||||
|
||||
**PKGDEST=**"/path/to/folder"::
|
||||
If this value is not set, packages will by default be placed in the
|
||||
current directory (location of the linkman:PKGBUILD[5]). Many people
|
||||
@@ -152,11 +183,16 @@ Options
|
||||
in the current directory. Many people like to keep all source files in
|
||||
a central location for easy cleanup, so this path can be set here.
|
||||
|
||||
**PACKAGER=**"John Doe <john@doe.com>"::
|
||||
**SRCPKGDEST=**"/path/to/folder"::
|
||||
If this value is not set, source package files will be stored in
|
||||
PKGDEST. Many people like to keep all source package files in
|
||||
a central location for easy cleanup, so this path can be set here.
|
||||
|
||||
**PACKAGER=**"John Doe <john@example.com>"::
|
||||
This value is used when querying a package to see who was the builder.
|
||||
It is recommended you change this to your name and email address.
|
||||
|
||||
*BUILDSCRIPT*, *PKGEXT*, *SRCEXT*, *DB_COMPRESSION*, *DB_CHECKSUMS*::
|
||||
*PKGEXT*, *SRCEXT*::
|
||||
Do not touch these unless you know what you are doing.
|
||||
|
||||
|
||||
|
||||
137
doc/pacman.8.txt
137
doc/pacman.8.txt
@@ -22,21 +22,30 @@ hooks, and the ability to sync your local machine with a remote ftp server to
|
||||
automatically upgrade packages. Pacman packages are a zipped tar format.
|
||||
|
||||
Since version 3.0.0, pacman has been the frontend to linkman:libalpm[3], the
|
||||
"Arch Linux Package Management" library. This library allows alternative front
|
||||
ends to be written (for instance, a GUI front end).
|
||||
``Arch Linux Package Management'' library. This library allows alternative
|
||||
front ends to be written (for instance, a GUI front end).
|
||||
|
||||
|
||||
Operations
|
||||
----------
|
||||
*-D, \--database*::
|
||||
Modify the package database. This options allows you to modify certain
|
||||
attributes of the installed packages in pacman's database. At the
|
||||
moment, you can only change the install reason using '\--asdeps' and
|
||||
'\--asexplicit' options.
|
||||
|
||||
*-Q, \--query*::
|
||||
Query the package database. This operation allows you to view installed
|
||||
packages and their files, as well as meta-information about individual
|
||||
packages (dependencies, conflicts, install date, build date, size). This
|
||||
can be run against the local package database or can be used on
|
||||
individual '.tar.gz' packages. See <<QO,Query Options>> below.
|
||||
individual '.tar.gz' packages. In the first case, if no package names
|
||||
are provided in the command line, all installed packages will be
|
||||
queried. Additionally, various filters can be applied on the package
|
||||
list. See <<QO,Query Options>> below.
|
||||
|
||||
*-R, \--remove*::
|
||||
Remove a package from the system. Groups can also be specified to be
|
||||
Remove package(s) from the system. Groups can also be specified to be
|
||||
removed, in which case every package in that group will be removed.
|
||||
Files belonging to the specified package will be deleted, and the
|
||||
database will be updated. Most configuration files will be saved
|
||||
@@ -71,10 +80,19 @@ to determine which packages need upgrading. This behavior operates as follows:
|
||||
Numeric:
|
||||
1 < 1.0 < 1.1 < 1.1.1 < 1.2 < 2.0 < 3.0.0
|
||||
|
||||
*-T, \--deptest*::
|
||||
Check dependencies; this is useful in scripts such as makepkg to check
|
||||
installed packages. This operation will check each dependency specified and
|
||||
return a list of those which are not currently satisfied on the system.
|
||||
This operation accepts no other options. Example usage: `pacman -T qt
|
||||
"bash>=3.2"`.
|
||||
|
||||
*-U, \--upgrade*::
|
||||
Upgrade or add a package to the system. Either a URL or file path can be
|
||||
specified. This is a "remove-then-add" process. See <<HCF,Handling Config
|
||||
Files>> for an explanation on how pacman takes care of config files.
|
||||
Upgrade or add package(s) to the system and install the required
|
||||
dependencies from sync repos. Either a URL or file path can be
|
||||
specified. This is a ``remove-then-add'' process. See <<UO,Upgrade
|
||||
Options>> below; also see <<HCF,Handling Config Files>> for an explanation
|
||||
on how pacman takes care of config files.
|
||||
|
||||
*-V, \--version*::
|
||||
Display version and exit.
|
||||
@@ -124,9 +142,13 @@ Options
|
||||
command line or in linkman:pacman.conf[5], their default location will
|
||||
be inside this root path.
|
||||
|
||||
*-v, --verbose*::
|
||||
*-v, \--verbose*::
|
||||
Output paths such as as the Root, Conf File, DB Path, Cache Dirs, etc.
|
||||
|
||||
*\--debug*::
|
||||
Display debug messages. When reporting bugs, this option is recommended
|
||||
to be used.
|
||||
|
||||
*\--cachedir* <'dir'>::
|
||||
Specify an alternative package cache location (a typical default is
|
||||
``/var/cache/pacman/pkg''). Multiple cache directories can be specified,
|
||||
@@ -141,7 +163,7 @@ Options
|
||||
the installation root setting.
|
||||
|
||||
*\--noconfirm*::
|
||||
Bypass any and all "Are you sure?" messages. It's not a good idea to do
|
||||
Bypass any and all ``Are you sure?'' messages. It's not a good idea to do
|
||||
this unless you want to run pacman from a script.
|
||||
|
||||
*\--noprogressbar*::
|
||||
@@ -152,6 +174,19 @@ Options
|
||||
If an install scriptlet exists, do not execute it. Do not use this
|
||||
unless you know what you are doing.
|
||||
|
||||
*\--arch* <'arch'>::
|
||||
Specify an alternate architecture.
|
||||
|
||||
*-p, \--print*::
|
||||
Only print the targets instead of performing the actual operation (sync,
|
||||
remove or upgrade). Use '\--print-format' to specify how targets are
|
||||
displayed. The default format string is "%l", which displays url with '-S',
|
||||
filename with '-U' and pkgname-pkgver with '-R'.
|
||||
|
||||
*\--print-format* <'format'>::
|
||||
Specify a printf-like format to control the output of the '\--print'
|
||||
operation. The possible are attributes are : %n for pkgname, %v for pkgver, %l
|
||||
for location, %r for repo and %s for size.
|
||||
|
||||
Query Options[[QO]]
|
||||
-------------------
|
||||
@@ -160,16 +195,17 @@ Query Options[[QO]]
|
||||
it will be shown if available.
|
||||
|
||||
*-d, \--deps*::
|
||||
List all packages installed as dependencies. This option can be combined
|
||||
with '-t' for listing real orphans- packages that were installed as
|
||||
dependencies but are no longer required by any installed package. ('-Qdt'
|
||||
is equivalent to the pacman 3.0.X '-Qe' option.)
|
||||
Restrict or filter output to packages installed as dependencies. This
|
||||
option can be combined with '-t' for listing real orphans- packages that
|
||||
were installed as dependencies but are no longer required by any
|
||||
installed package. ('-Qdt' is equivalent to the pacman 3.0.X '-Qe'
|
||||
option.)
|
||||
|
||||
*-e, \--explicit*::
|
||||
List all packages explicitly installed. This option can be combined with
|
||||
'-t' to list top-level packages- those packages that were explicitly
|
||||
installed but are not required by any other package. ('-Qet' is equivalent
|
||||
to the pacman 2.9.X '-Qe' option.)
|
||||
Restrict or filter output to packages explicitly installed. This option
|
||||
can be combined with '-t' to list top-level packages- those packages
|
||||
that were explicitly installed but are not required by any other
|
||||
package. ('-Qet' is equivalent to the pacman 2.9.X '-Qe' option.)
|
||||
|
||||
*-g, \--groups*::
|
||||
Display all packages that are members of a named group. If a name is not
|
||||
@@ -181,6 +217,11 @@ Query Options[[QO]]
|
||||
'\--info' or '-i' flags will also display the list of backup files and
|
||||
their modification states.
|
||||
|
||||
*-k \--check*::
|
||||
Check that all files owned by the given package(s) are present on the
|
||||
system. If packages are not specified or filter flags are not provided,
|
||||
check all installed packages.
|
||||
|
||||
*-l, \--list*::
|
||||
List all files owned by a given package. Multiple packages can be
|
||||
specified on the command line.
|
||||
@@ -200,21 +241,30 @@ Query Options[[QO]]
|
||||
This is useful in combination with '\--info' and '\--list'.
|
||||
|
||||
*-q, \--quiet*::
|
||||
Show less information for certain query operations. Search will only show
|
||||
package names and not version, group, and description information; a bare
|
||||
query will only show package names rather than names and versions.
|
||||
Show less information for certain query operations. (This is useful when
|
||||
pacman's output is processed in a script.) Search will only show package
|
||||
names and not version, group, and description information; owns will
|
||||
only show package names instead of "file is owned by pkg" messages; group
|
||||
will only show package names and omit group names; list will only show
|
||||
files and omit package names; check will only show pairs of package names
|
||||
and missing files; a bare query will only show package names
|
||||
rather than names and versions.
|
||||
|
||||
*-s, \--search* <'regexp'>::
|
||||
This will search each locally-installed package for names or
|
||||
descriptions that match `regexp`.
|
||||
descriptions that match `regexp`. When you include multiple search
|
||||
terms, only packages with descriptions matching ALL of those terms will
|
||||
be returned.
|
||||
|
||||
*-t, \--unrequired*::
|
||||
Restrict or filter output to packages not required by any currently
|
||||
installed package.
|
||||
|
||||
*-u, \--upgrades*::
|
||||
Lists all packages that are out of date on the local system. This option
|
||||
works best if the sync database is refreshed using '-Sy'.
|
||||
Restrict or filter output to packages that are out of date on the local
|
||||
system. (Only package versions are used to find outdated packages,
|
||||
replacements are not checked here.) This option works best if the sync
|
||||
database is refreshed using '-Sy'.
|
||||
|
||||
|
||||
Remove Options[[RO]]
|
||||
@@ -224,7 +274,7 @@ Remove Options[[RO]]
|
||||
or more target packages. This operation is recursive, and must be used
|
||||
with care since it can remove many potentially needed packages.
|
||||
|
||||
*-k, \--keep*::
|
||||
*-k, \--dbonly*::
|
||||
Removes the database entry only. Leaves all files in place.
|
||||
|
||||
*-n, \--nosave*::
|
||||
@@ -267,26 +317,26 @@ linkman:pacman.conf[5].
|
||||
view all groups and their members.
|
||||
|
||||
*-i, \--info*::
|
||||
Display dependency and other information for a given package. This will
|
||||
search through all repositories for a matching package.
|
||||
Display information on a given sync database package. Passing two '\--info'
|
||||
or '-i' flags will also display those packages in all repositories that
|
||||
depend on this package.
|
||||
|
||||
*-l, \--list*::
|
||||
List all packages in the specified repositories. Multiple repositories
|
||||
can be specified on the command line.
|
||||
|
||||
*-p, \--print-uris*::
|
||||
Print out URIs for each package that will be installed, including any
|
||||
dependencies yet to be installed. These can be piped to a file and
|
||||
downloaded at a later time, using a program like wget.
|
||||
|
||||
*-q, \--quiet*::
|
||||
Show less information for certain sync operations. Search will only show
|
||||
package names and not version, group, and description information; list
|
||||
will only show package names and omit databases and versions.
|
||||
Show less information for certain sync operations. (This is useful when
|
||||
pacman's output is processed in a script.) Search will only show package
|
||||
names and not repo, version, group, and description information; list
|
||||
will only show package names and omit databases and versions; group will
|
||||
only show package names and omit group names.
|
||||
|
||||
*-s, \--search* <'regexp'>::
|
||||
This will search each package in the sync databases for names or
|
||||
descriptions that match `regexp`.
|
||||
descriptions that match `regexp`. When you include multiple search
|
||||
terms, only packages with descriptions matching ALL of those terms will
|
||||
be returned.
|
||||
|
||||
*-u, \--sysupgrade*::
|
||||
Upgrades all packages that are out of date. Each currently-installed
|
||||
@@ -294,7 +344,12 @@ linkman:pacman.conf[5].
|
||||
report of all packages to upgrade will be presented and the operation
|
||||
will not proceed without user confirmation. Dependencies are
|
||||
automatically resolved at this level and will be installed/upgraded if
|
||||
necessary.
|
||||
necessary. Pass this option twice to enable package downgrade; in this
|
||||
case pacman will select sync packages whose version does not match with
|
||||
the local version. This can be useful when the user switches from a testing
|
||||
repo to a stable one. Additional targets can also be specified manually, so
|
||||
that '-Su foo' will do a system upgrade and install/upgrade the foo package in
|
||||
the same operation.
|
||||
|
||||
*-w, \--downloadonly*::
|
||||
Retrieve all packages from the server, but do not install/upgrade
|
||||
@@ -308,7 +363,7 @@ linkman:pacman.conf[5].
|
||||
to date.
|
||||
|
||||
*\--needed*::
|
||||
Only install the targets that are not already installed and up-to-date.
|
||||
Don't reinstall the targets that are already up-to-date.
|
||||
|
||||
*\--ignore* <'package'>::
|
||||
Directs pacman to ignore upgrades of package even if there is one
|
||||
@@ -321,6 +376,14 @@ linkman:pacman.conf[5].
|
||||
separating them with a comma.
|
||||
|
||||
|
||||
Upgrade Options[[UO]]
|
||||
--------------------
|
||||
*-k, \--dbonly*::
|
||||
Adds the database entries for the specified packages but do not install any
|
||||
of the files. On an upgrade operation, the existing package and all files
|
||||
will be removed and the database entry for the new package will be added.
|
||||
|
||||
|
||||
Handling Config Files[[HCF]]
|
||||
----------------------------
|
||||
Pacman uses the same logic as rpm to determine action against files that are
|
||||
|
||||
@@ -25,6 +25,7 @@ which defines global options.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
--------
|
||||
#
|
||||
# pacman.conf
|
||||
@@ -40,8 +41,9 @@ Include = /etc/pacman.d/core
|
||||
Server = file:///home/pkgs
|
||||
--------
|
||||
|
||||
*NOTE*: Each directive must be in CamelCase. If the case isn't respected, the directive
|
||||
won't be recognized. For example. noupgrade or NOUPGRADE will not work.
|
||||
NOTE: Each directive must be in CamelCase. If the case isn't respected, the
|
||||
directive won't be recognized. For example. noupgrade or NOUPGRADE will not
|
||||
work.
|
||||
|
||||
Options
|
||||
-------
|
||||
@@ -84,8 +86,11 @@ Options
|
||||
*SyncFirst =* package ...::
|
||||
Instructs pacman to check for newer version of these packages before any
|
||||
sync operation. The user will have the choice to either cancel the current
|
||||
operation and upgrade these packages first or go on with the current operation.
|
||||
This option is typically used with the 'pacman' package.
|
||||
operation and upgrade these packages first or go on with the current
|
||||
operation. This option is typically used with the 'pacman' package.
|
||||
*NOTE*: when a `SyncFirst` transaction takes place, no command line flags
|
||||
(e.g. '\--force') are honored. If this is not ideal, disabling `SyncFirst`
|
||||
and performing a manual sync of the involved packages may be required.
|
||||
|
||||
*IgnoreGroup =* group ...::
|
||||
Instructs pacman to ignore any upgrades for all packages in this
|
||||
@@ -93,7 +98,16 @@ Options
|
||||
|
||||
*Include =* path::
|
||||
Include another config file. This file can include repositories or
|
||||
general configuration options.
|
||||
general configuration options. Wildcards in the specified paths will get
|
||||
expanded based on linkman:glob[7] rules.
|
||||
|
||||
*Architecture =* auto | i686 | x86_64 | ...::
|
||||
If set, pacman will only allow installation of packages of the given
|
||||
architecture (e.g. 'i686', 'x86_64', etc). The special value 'auto' will
|
||||
use the system architecture, provided by in ``uname -m''. If unset, no
|
||||
architecture checks are made. *NOTE*: packages with the special
|
||||
architecture 'any' can always be installed, as they are meant to be
|
||||
architecture independent.
|
||||
|
||||
*XferCommand =* /path/to/command %u::
|
||||
If set, an external program will be used to download all remote files.
|
||||
@@ -106,12 +120,10 @@ Options
|
||||
http/ftp support, or need the more advanced proxy support that comes with
|
||||
utilities like wget.
|
||||
|
||||
*NoPassiveFtp*::
|
||||
Disables passive ftp connections when downloading packages. (aka Active Mode)
|
||||
|
||||
*NoUpgrade =* file ...::
|
||||
All files listed with a `NoUpgrade` directive will never be touched during
|
||||
a package install/upgrade.
|
||||
a package install/upgrade, and the new files will be installed with a
|
||||
'.pacnew' extension.
|
||||
These files refer to files in the package archive, so do not include the
|
||||
leading slash (the RootDir) when specifying them.
|
||||
|
||||
@@ -142,7 +154,7 @@ Options
|
||||
|
||||
*UseDelta*::
|
||||
Download delta files instead of complete packages if possible. Requires
|
||||
the xdelta program to be installed.
|
||||
the xdelta3 program to be installed.
|
||||
|
||||
*TotalDownload*::
|
||||
When downloading, display the amount downloaded, download rate, ETA,
|
||||
@@ -173,10 +185,12 @@ Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
During parsing, pacman will define the `$repo` variable to the name of the
|
||||
current section. This is often utilized in files specified using the 'Include'
|
||||
directive so all repositories can use the same mirrorfile.
|
||||
directive so all repositories can use the same mirrorfile. pacman also defines
|
||||
the `$arch` variable to the value of `Architecture`, so the same mirrorfile can
|
||||
even be used for different architectures.
|
||||
|
||||
--------
|
||||
Server = ftp://ftp.archlinux.org/$repo/os/arch
|
||||
Server = ftp://ftp.archlinux.org/$repo/os/$arch
|
||||
--------
|
||||
|
||||
The order of repositories in the configuration files matters; repositories
|
||||
|
||||
@@ -6,19 +6,13 @@ repo-add(8)
|
||||
|
||||
Name
|
||||
----
|
||||
////
|
||||
* If we use this below line, the manpage name comes out all weird. We also
|
||||
* can't use two separate lines, which is quite annoying. *
|
||||
repo-add, repo-remove - package database maintenance utilities
|
||||
////
|
||||
repo-add - package database maintenance utility
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
repo-add [-q] <path-to-db> <package> ...
|
||||
repo-add [-q] <path-to-db> <package1> [<package2> ...]
|
||||
|
||||
repo-remove [-q] <path-to-db> <packagename> ...
|
||||
repo-remove [-q] <path-to-db> <packagename> [<packagename2> ...]
|
||||
|
||||
|
||||
Description
|
||||
|
||||
@@ -13,6 +13,9 @@ edit = sed \
|
||||
-e 's|@PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \
|
||||
-e 's|@PKGEXT[@]|$(PKGEXT)|g' \
|
||||
-e 's|@SRCEXT[@]|$(SRCEXT)|g' \
|
||||
-e 's|@STRIP_BINARIES[@]|$(STRIP_BINARIES)|g' \
|
||||
-e 's|@STRIP_SHARED[@]|$(STRIP_SHARED)|g' \
|
||||
-e 's|@STRIP_STATIC[@]|$(STRIP_STATIC)|g' \
|
||||
-e 's|@CARCH[@]|$(CARCH)|g' \
|
||||
-e 's|@CHOST[@]|$(CHOST)|g' \
|
||||
-e 's|@ARCHSWITCH[@]|$(ARCHSWITCH)|g' \
|
||||
@@ -20,9 +23,10 @@ edit = sed \
|
||||
-e 's|@ROOTDIR[@]|$(ROOTDIR)|g'
|
||||
|
||||
$(dist_sysconf_DATA): Makefile
|
||||
rm -f $@ $@.tmp
|
||||
$(edit) `test -f ./$@.in || echo $(srcdir)/`$@.in >$@.tmp
|
||||
mv $@.tmp $@
|
||||
@echo ' ' GEN $@;
|
||||
@rm -f $@ $@.tmp
|
||||
@$(edit) `test -f ./$@.in || echo $(srcdir)/`$@.in >$@.tmp
|
||||
@mv $@.tmp $@
|
||||
|
||||
makepkg.conf: $(srcdir)/makepkg.conf.in
|
||||
pacman.conf: $(srcdir)/pacman.conf.in
|
||||
|
||||
@@ -26,11 +26,12 @@ DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
|
||||
CARCH="@CARCH@"
|
||||
CHOST="@CHOST@"
|
||||
|
||||
#-- Exclusive: will only run on @CARCHFLAGS@
|
||||
#-- Exclusive: will only run on @CARCH@
|
||||
# -march (or -mcpu) builds exclusively for an architecture
|
||||
# -mtune optimizes for an architecture, but builds for whole processor family
|
||||
CFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
|
||||
CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
|
||||
#LDFLAGS=""
|
||||
#-- Make Flags: change this for DistCC/SMP systems
|
||||
#MAKEFLAGS="-j2"
|
||||
|
||||
@@ -38,16 +39,15 @@ CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
|
||||
# BUILD ENVIRONMENT
|
||||
#########################################################################
|
||||
#
|
||||
# Defaults: BUILDENV=(fakeroot !distcc color !ccache !xdelta)
|
||||
# Defaults: BUILDENV=(fakeroot !distcc color !ccache)
|
||||
# A negated environment option will do the opposite of the comments below.
|
||||
#
|
||||
#-- fakeroot: Allow building packages as a non-root user
|
||||
#-- distcc: Use the Distributed C/C++/ObjC compiler
|
||||
#-- color: Colorize output messages
|
||||
#-- ccache: Use ccache to cache compilation
|
||||
#-- xdelta: Generate delta patch from previous to current package
|
||||
#
|
||||
BUILDENV=(fakeroot !distcc color !ccache !xdelta)
|
||||
BUILDENV=(fakeroot !distcc color !ccache)
|
||||
#
|
||||
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
|
||||
#-- specify a space-delimited list of hosts running in the DistCC cluster.
|
||||
@@ -58,23 +58,34 @@ BUILDENV=(fakeroot !distcc color !ccache !xdelta)
|
||||
# These are default values for the options=() settings
|
||||
#########################################################################
|
||||
#
|
||||
# Default: OPTIONS=(strip docs libtool emptydirs zipman)
|
||||
# Default: OPTIONS=(strip docs libtool emptydirs zipman purge)
|
||||
# A negated option will do the opposite of the comments below.
|
||||
#
|
||||
#-- strip: Strip symbols from binaries/libraries
|
||||
#-- docs: Save doc and info directories
|
||||
#-- strip: Strip symbols from binaries/libraries in STRIP_DIRS
|
||||
#-- docs: Save doc directories specified by DOC_DIRS
|
||||
#-- libtool: Leave libtool (.la) files in packages
|
||||
#-- emptydirs: Leave empty directories in packages
|
||||
#-- zipman: Compress manpages with gzip
|
||||
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
|
||||
#-- purge: Remove files specified by PURGE_TARGETS
|
||||
#
|
||||
OPTIONS=(strip docs libtool emptydirs zipman)
|
||||
OPTIONS=(strip docs libtool emptydirs zipman purge)
|
||||
|
||||
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
|
||||
INTEGRITY_CHECK=(md5)
|
||||
#-- Info and doc directories to remove (if option set correctly above)
|
||||
DOC_DIRS=(usr/{,share/}{info,doc,gtk-doc} opt/*/{info,doc,gtk-doc})
|
||||
#-- Directories to be searched for the strip option (if option set correctly above)
|
||||
#-- Options to be used when stripping binaries. See `man strip' for details.
|
||||
STRIP_BINARIES="@STRIP_BINARIES@"
|
||||
#-- Options to be used when stripping shared libraries. See `man strip' for details.
|
||||
STRIP_SHARED="@STRIP_SHARED@"
|
||||
#-- Options to be used when stripping static libraries. See `man strip' for details.
|
||||
STRIP_STATIC="@STRIP_STATIC@"
|
||||
#-- Manual (man and info) directories to compress (if zipman is specified)
|
||||
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
|
||||
#-- Doc directories to remove (if !docs is specified)
|
||||
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
|
||||
#-- Directories to be searched for the strip option (if strip is specified)
|
||||
STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin})
|
||||
#-- Files to be removed from all packages (if purge is specified)
|
||||
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
|
||||
|
||||
#########################################################################
|
||||
# PACKAGE OUTPUT
|
||||
@@ -86,20 +97,19 @@ STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,
|
||||
#PKGDEST=/home/packages
|
||||
#-- Source cache: specify a fixed directory where source files will be cached
|
||||
#SRCDEST=/home/sources
|
||||
#-- Source packages: specify a fixed directory where all src packages will be placed
|
||||
#SRCPKGDEST=/home/srcpackages
|
||||
#-- Packager: name/email of the person or organization building packages
|
||||
#PACKAGER="John Doe <john@doe.com>"
|
||||
|
||||
#########################################################################
|
||||
# BUILDSCRIPT/EXTENSION DEFAULTS
|
||||
# EXTENSION DEFAULTS
|
||||
#########################################################################
|
||||
#
|
||||
# WARNING: Do NOT modify these variables unless you know what you are
|
||||
# doing.
|
||||
#
|
||||
BUILDSCRIPT='PKGBUILD'
|
||||
PKGEXT='@PKGEXT@'
|
||||
SRCEXT='@SRCEXT@'
|
||||
DB_COMPRESSION='gz'
|
||||
DB_CHECKSUMS=(md5)
|
||||
|
||||
# vim: set ft=sh ts=2 sw=2 et:
|
||||
|
||||
@@ -17,7 +17,9 @@ HoldPkg = pacman glibc
|
||||
# If upgrades are available for these packages they will be asked for first
|
||||
SyncFirst = pacman
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#XferCommand = /usr/bin/curl -C - %u > %o
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = auto
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
#IgnorePkg =
|
||||
@@ -27,7 +29,6 @@ SyncFirst = pacman
|
||||
#NoExtract =
|
||||
|
||||
# Misc options (all disabled by default)
|
||||
#NoPassiveFtp
|
||||
#UseSyslog
|
||||
#ShowSize
|
||||
#UseDelta
|
||||
@@ -41,6 +42,7 @@ SyncFirst = pacman
|
||||
# - repositories listed first will take precedence when packages
|
||||
# have identical names, regardless of version number
|
||||
# - URLs will have $repo replaced by the name of the current repo
|
||||
# - URLs will have $arch replaced by the name of the architecture
|
||||
#
|
||||
# Repository entries are of the format:
|
||||
# [repo-name]
|
||||
@@ -56,7 +58,7 @@ SyncFirst = pacman
|
||||
# servers immediately after the header and they will be used before the
|
||||
# default mirrors.
|
||||
#[core]
|
||||
#Server = ftp://ftp.example.com/foobar/$repo/os/i686/
|
||||
#Server = ftp://ftp.example.com/foobar/$repo/os/$arch/
|
||||
# The file referenced here should contain a list of 'Server = ' lines.
|
||||
#Include = @sysconfdir@/pacman.d/mirrorlist
|
||||
|
||||
|
||||
@@ -43,7 +43,8 @@ libalpm_la_SOURCES = \
|
||||
remove.h remove.c \
|
||||
sync.h sync.c \
|
||||
trans.h trans.c \
|
||||
util.h util.c
|
||||
util.h util.c \
|
||||
version.c
|
||||
|
||||
libalpm_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION_INFO)
|
||||
libalpm_la_LIBADD = $(LTLIBINTL)
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* add.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -49,21 +50,30 @@
|
||||
#include "remove.h"
|
||||
#include "handle.h"
|
||||
|
||||
int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
|
||||
/** Add a file target to the transaction.
|
||||
* @param target the name of the file target to add
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_add_target(char *target)
|
||||
{
|
||||
pmpkg_t *pkg = NULL;
|
||||
const char *pkgname, *pkgver;
|
||||
alpm_list_t *i;
|
||||
pmtrans_t *trans;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(target != NULL && strlen(target) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1));
|
||||
ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
|
||||
trans = handle->trans;
|
||||
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
ASSERT(trans->state == STATE_INITIALIZED, RET_ERR(PM_ERR_TRANS_NOT_INITIALIZED, -1));
|
||||
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
|
||||
ASSERT(name != NULL && strlen(name) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1));
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "loading target '%s'\n", name);
|
||||
_alpm_log(PM_LOG_DEBUG, "loading target '%s'\n", target);
|
||||
|
||||
if(alpm_pkg_load(name, 1, &pkg) != 0) {
|
||||
if(alpm_pkg_load(target, 1, &pkg) != 0) {
|
||||
goto error;
|
||||
}
|
||||
pkgname = alpm_pkg_get_name(pkg);
|
||||
@@ -71,17 +81,19 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
|
||||
|
||||
/* check if an older version of said package is already in transaction
|
||||
* packages. if so, replace it in the list */
|
||||
for(i = trans->packages; i; i = i->next) {
|
||||
for(i = trans->add; i; i = i->next) {
|
||||
pmpkg_t *transpkg = i->data;
|
||||
if(strcmp(transpkg->name, pkgname) == 0) {
|
||||
if(alpm_pkg_vercmp(transpkg->version, pkgver) < 0) {
|
||||
_alpm_log(PM_LOG_WARNING, _("replacing older version %s-%s by %s in target list\n"),
|
||||
transpkg->name, transpkg->version, pkgver);
|
||||
_alpm_log(PM_LOG_WARNING,
|
||||
_("replacing older version %s-%s by %s in target list\n"),
|
||||
transpkg->name, transpkg->version, pkgver);
|
||||
_alpm_pkg_free(i->data);
|
||||
i->data = pkg;
|
||||
} else {
|
||||
_alpm_log(PM_LOG_WARNING, _("skipping %s-%s because newer version %s is in the target list\n"),
|
||||
pkgname, pkgver, transpkg->version);
|
||||
_alpm_log(PM_LOG_WARNING,
|
||||
_("skipping %s-%s because newer version %s is in target list\n"),
|
||||
pkgname, pkgver, transpkg->version);
|
||||
_alpm_pkg_free(pkg);
|
||||
}
|
||||
return(0);
|
||||
@@ -89,7 +101,7 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
|
||||
}
|
||||
|
||||
/* add the package to the transaction */
|
||||
trans->packages = alpm_list_add(trans->packages, pkg);
|
||||
trans->add = alpm_list_add(trans->add, pkg);
|
||||
|
||||
return(0);
|
||||
|
||||
@@ -98,176 +110,6 @@ error:
|
||||
return(-1);
|
||||
}
|
||||
|
||||
int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
|
||||
{
|
||||
alpm_list_t *lp = NULL;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
|
||||
|
||||
/* Check dependencies
|
||||
*/
|
||||
if(!(trans->flags & PM_TRANS_FLAG_NODEPS)) {
|
||||
EVENT(trans, PM_TRANS_EVT_CHECKDEPS_START, NULL, NULL);
|
||||
|
||||
/* look for unsatisfied dependencies */
|
||||
_alpm_log(PM_LOG_DEBUG, "looking for unsatisfied dependencies\n");
|
||||
lp = alpm_checkdeps(db, 1, NULL, trans->packages);
|
||||
if(lp != NULL) {
|
||||
if(data) {
|
||||
*data = lp;
|
||||
} else {
|
||||
alpm_list_free_inner(lp, (alpm_list_fn_free)_alpm_depmiss_free);
|
||||
alpm_list_free(lp);
|
||||
}
|
||||
RET_ERR(PM_ERR_UNSATISFIED_DEPS, -1);
|
||||
}
|
||||
|
||||
/* no unsatisfied deps, so look for conflicts */
|
||||
_alpm_log(PM_LOG_DEBUG, "looking for conflicts\n");
|
||||
alpm_list_t *inner = _alpm_innerconflicts(trans->packages);
|
||||
alpm_list_t *outer = _alpm_outerconflicts(db, trans->packages);
|
||||
lp = alpm_list_join(inner, outer);
|
||||
|
||||
/* TODO : factorize the conflict resolving code from sync.c to use it here (FS#3492) */
|
||||
|
||||
if(lp != NULL) {
|
||||
if(data) {
|
||||
*data = lp;
|
||||
} else {
|
||||
alpm_list_free_inner(lp, (alpm_list_fn_free)_alpm_conflict_free);
|
||||
alpm_list_free(lp);
|
||||
}
|
||||
if(inner) {
|
||||
_alpm_log(PM_LOG_ERROR, _("conflicting packages were found in the target list\n"));
|
||||
_alpm_log(PM_LOG_ERROR, _("you cannot install two conflicting packages at the same time\n"));
|
||||
}
|
||||
if(outer) {
|
||||
_alpm_log(PM_LOG_ERROR, _("replacing packages with -U is not supported yet\n"));
|
||||
_alpm_log(PM_LOG_ERROR, _("you can replace packages manually using -Rd and -U\n"));
|
||||
}
|
||||
RET_ERR(PM_ERR_CONFLICTING_DEPS, -1);
|
||||
}
|
||||
|
||||
/* re-order w.r.t. dependencies */
|
||||
_alpm_log(PM_LOG_DEBUG, "sorting by dependencies\n");
|
||||
lp = _alpm_sortbydeps(trans->packages, 0);
|
||||
/* free the old alltargs */
|
||||
alpm_list_free(trans->packages);
|
||||
trans->packages = lp;
|
||||
|
||||
EVENT(trans, PM_TRANS_EVT_CHECKDEPS_DONE, NULL, NULL);
|
||||
}
|
||||
|
||||
/* Check for file conflicts */
|
||||
if(!(trans->flags & PM_TRANS_FLAG_FORCE)) {
|
||||
EVENT(trans, PM_TRANS_EVT_FILECONFLICTS_START, NULL, NULL);
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "looking for file conflicts\n");
|
||||
lp = _alpm_db_find_fileconflicts(db, trans, handle->root);
|
||||
if(lp != NULL) {
|
||||
if(data) {
|
||||
*data = lp;
|
||||
} else {
|
||||
alpm_list_free_inner(lp, (alpm_list_fn_free)_alpm_fileconflict_free);
|
||||
alpm_list_free(lp);
|
||||
}
|
||||
RET_ERR(PM_ERR_FILE_CONFLICTS, -1);
|
||||
}
|
||||
|
||||
EVENT(trans, PM_TRANS_EVT_FILECONFLICTS_DONE, NULL, NULL);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
static int upgrade_remove(pmpkg_t *oldpkg, pmpkg_t *newpkg, pmtrans_t *trans, pmdb_t *db) {
|
||||
/* this is kinda odd. If the old package exists, at this point we make a
|
||||
* NEW transaction, unrelated to handle->trans, and instantiate a "remove"
|
||||
* with the type PM_TRANS_TYPE_REMOVEUPGRADE. TODO: kill this weird
|
||||
* behavior. */
|
||||
pmtrans_t *tr = _alpm_trans_new();
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "removing old package first (%s-%s)\n",
|
||||
oldpkg->name, oldpkg->version);
|
||||
|
||||
if(!tr) {
|
||||
RET_ERR(PM_ERR_TRANS_ABORT, -1);
|
||||
}
|
||||
|
||||
if(_alpm_trans_init(tr, PM_TRANS_TYPE_REMOVEUPGRADE, trans->flags,
|
||||
NULL, NULL, NULL) == -1) {
|
||||
_alpm_trans_free(tr);
|
||||
tr = NULL;
|
||||
RET_ERR(PM_ERR_TRANS_ABORT, -1);
|
||||
}
|
||||
|
||||
if(_alpm_remove_loadtarget(tr, db, newpkg->name) == -1) {
|
||||
_alpm_trans_free(tr);
|
||||
tr = NULL;
|
||||
RET_ERR(PM_ERR_TRANS_ABORT, -1);
|
||||
}
|
||||
|
||||
/* copy the remove skiplist over */
|
||||
tr->skip_remove = alpm_list_strdup(trans->skip_remove);
|
||||
const alpm_list_t *b;
|
||||
|
||||
/* Add files in the NEW backup array to the NoUpgrade array
|
||||
* so this removal operation doesn't kill them */
|
||||
alpm_list_t *old_noupgrade = alpm_list_strdup(handle->noupgrade);
|
||||
/* old package backup list */
|
||||
alpm_list_t *filelist = alpm_pkg_get_files(newpkg);
|
||||
for(b = alpm_pkg_get_backup(newpkg); b; b = b->next) {
|
||||
char *backup = _alpm_backup_file(b->data);
|
||||
/* safety check (fix the upgrade026 pactest) */
|
||||
if(!alpm_list_find_str(filelist, backup)) {
|
||||
FREE(backup);
|
||||
continue;
|
||||
}
|
||||
_alpm_log(PM_LOG_DEBUG, "adding %s to the NoUpgrade array temporarily\n",
|
||||
backup);
|
||||
handle->noupgrade = alpm_list_add(handle->noupgrade,
|
||||
backup);
|
||||
}
|
||||
|
||||
/* TODO: we could also add files in the OLD backup array, but this would
|
||||
* change the backup handling behavior, and break several pactests, and we
|
||||
* can't do this just before 3.1 release.
|
||||
* The unlink_file function in remove.c would also need to be reviewed. */
|
||||
#if 0
|
||||
/* new package backup list */
|
||||
for(b = alpm_pkg_get_backup(oldpkg); b; b = b->next) {
|
||||
char *backup = _alpm_backup_file(b->data);
|
||||
/* make sure we don't add duplicate entries */
|
||||
if(!alpm_list_find_ptr(handle->noupgrade, backup)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "adding %s to the NoUpgrade array temporarily\n",
|
||||
backup);
|
||||
handle->noupgrade = alpm_list_add(handle->noupgrade,
|
||||
backup);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
int ret = _alpm_remove_commit(tr, db);
|
||||
|
||||
_alpm_trans_free(tr);
|
||||
tr = NULL;
|
||||
|
||||
/* restore our "NoUpgrade" list to previous state */
|
||||
FREELIST(handle->noupgrade);
|
||||
handle->noupgrade = old_noupgrade;
|
||||
|
||||
if(ret == -1) {
|
||||
RET_ERR(PM_ERR_TRANS_ABORT, -1);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
static int extract_single_file(struct archive *archive,
|
||||
struct archive_entry *entry, pmpkg_t *newpkg, pmpkg_t *oldpkg,
|
||||
pmtrans_t *trans, pmdb_t *db)
|
||||
@@ -290,14 +132,14 @@ static int extract_single_file(struct archive *archive,
|
||||
|
||||
if(strcmp(entryname, ".INSTALL") == 0) {
|
||||
/* the install script goes inside the db */
|
||||
snprintf(filename, PATH_MAX, "%s%s-%s/install", db->path,
|
||||
newpkg->name, newpkg->version);
|
||||
archive_entry_set_mode(entry, 0644);
|
||||
snprintf(filename, PATH_MAX, "%s%s-%s/install",
|
||||
_alpm_db_path(db), newpkg->name, newpkg->version);
|
||||
archive_entry_set_perm(entry, 0644);
|
||||
} else if(strcmp(entryname, ".CHANGELOG") == 0) {
|
||||
/* the changelog goes inside the db */
|
||||
snprintf(filename, PATH_MAX, "%s%s-%s/changelog", db->path,
|
||||
newpkg->name, newpkg->version);
|
||||
archive_entry_set_mode(entry, 0644);
|
||||
snprintf(filename, PATH_MAX, "%s%s-%s/changelog",
|
||||
_alpm_db_path(db), newpkg->name, newpkg->version);
|
||||
archive_entry_set_perm(entry, 0644);
|
||||
} else if(*entryname == '.') {
|
||||
/* for now, ignore all files starting with '.' that haven't
|
||||
* already been handled (for future possibilities) */
|
||||
@@ -352,28 +194,30 @@ static int extract_single_file(struct archive *archive,
|
||||
if(_alpm_lstat(filename, &lsbuf) != 0 || stat(filename, &sbuf) != 0) {
|
||||
/* cases 1,2,3: couldn't stat an existing file, skip all backup checks */
|
||||
} else {
|
||||
if(S_ISDIR(lsbuf.st_mode) && S_ISDIR(entrymode)) {
|
||||
/* case 12: existing dir, ignore it */
|
||||
if(lsbuf.st_mode != entrymode) {
|
||||
/* if filesystem perms are different than pkg perms, warn user */
|
||||
int mask = 07777;
|
||||
_alpm_log(PM_LOG_WARNING, _("directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"), entryname, lsbuf.st_mode & mask,
|
||||
entrymode & mask);
|
||||
alpm_logaction("warning: directory permissions differ on %s\n"
|
||||
if(S_ISDIR(lsbuf.st_mode)) {
|
||||
if(S_ISDIR(entrymode)) {
|
||||
/* case 12: existing dir, ignore it */
|
||||
if(lsbuf.st_mode != entrymode) {
|
||||
/* if filesystem perms are different than pkg perms, warn user */
|
||||
mode_t mask = 07777;
|
||||
_alpm_log(PM_LOG_WARNING, _("directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"), entryname, lsbuf.st_mode & mask,
|
||||
entrymode & mask);
|
||||
alpm_logaction("warning: directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n", entryname, lsbuf.st_mode & mask,
|
||||
entrymode & mask);
|
||||
entrymode & mask);
|
||||
}
|
||||
_alpm_log(PM_LOG_DEBUG, "extract: skipping dir extraction of %s\n",
|
||||
entryname);
|
||||
archive_read_data_skip(archive);
|
||||
return(0);
|
||||
} else {
|
||||
/* case 10/11: trying to overwrite dir with file/symlink, don't allow it */
|
||||
_alpm_log(PM_LOG_ERROR, _("extract: not overwriting dir with file %s\n"),
|
||||
entryname);
|
||||
archive_read_data_skip(archive);
|
||||
return(1);
|
||||
}
|
||||
_alpm_log(PM_LOG_DEBUG, "extract: skipping dir extraction of %s\n",
|
||||
entryname);
|
||||
archive_read_data_skip(archive);
|
||||
return(0);
|
||||
} else if(S_ISDIR(lsbuf.st_mode) && S_ISLNK(entrymode)) {
|
||||
/* case 11: existing dir, symlink in package, ignore it */
|
||||
_alpm_log(PM_LOG_DEBUG, "extract: skipping symlink extraction of %s\n",
|
||||
entryname);
|
||||
archive_read_data_skip(archive);
|
||||
return(0);
|
||||
} else if(S_ISLNK(lsbuf.st_mode) && S_ISDIR(entrymode)) {
|
||||
/* case 9: existing symlink, dir in package */
|
||||
if(S_ISDIR(sbuf.st_mode)) {
|
||||
@@ -389,12 +233,6 @@ static int extract_single_file(struct archive *archive,
|
||||
archive_read_data_skip(archive);
|
||||
return(1);
|
||||
}
|
||||
} else if(S_ISDIR(lsbuf.st_mode) && S_ISREG(entrymode)) {
|
||||
/* case 10: trying to overwrite dir tree with file, don't allow it */
|
||||
_alpm_log(PM_LOG_ERROR, _("extract: not overwriting dir with file %s\n"),
|
||||
entryname);
|
||||
archive_read_data_skip(archive);
|
||||
return(1);
|
||||
} else if(S_ISREG(lsbuf.st_mode) && S_ISDIR(entrymode)) {
|
||||
/* case 6: trying to overwrite file with dir */
|
||||
_alpm_log(PM_LOG_DEBUG, "extract: overwriting file with dir %s\n",
|
||||
@@ -456,8 +294,8 @@ static int extract_single_file(struct archive *archive,
|
||||
return(1);
|
||||
}
|
||||
|
||||
hash_local = alpm_get_md5sum(filename);
|
||||
hash_pkg = alpm_get_md5sum(checkfile);
|
||||
hash_local = alpm_compute_md5sum(filename);
|
||||
hash_pkg = alpm_compute_md5sum(checkfile);
|
||||
|
||||
/* append the new md5 hash to it's respective entry
|
||||
* in newpkg's backup (it will be the new orginal) */
|
||||
@@ -485,9 +323,9 @@ static int extract_single_file(struct archive *archive,
|
||||
_alpm_log(PM_LOG_DEBUG, "original: %s\n", hash_orig);
|
||||
|
||||
if(!oldpkg) {
|
||||
/* looks like we have a local file that has a different hash as the
|
||||
* file in the package, move it to a .pacorig */
|
||||
if(strcmp(hash_local, hash_pkg) != 0) {
|
||||
/* looks like we have a local file that has a different hash as the
|
||||
* file in the package, move it to a .pacorig */
|
||||
char newpath[PATH_MAX];
|
||||
snprintf(newpath, PATH_MAX, "%s.pacorig", filename);
|
||||
|
||||
@@ -511,6 +349,9 @@ static int extract_single_file(struct archive *archive,
|
||||
alpm_logaction("warning: %s saved as %s\n", filename, newpath);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* local file is identical to pkg one, so just remove pkg one */
|
||||
unlink(checkfile);
|
||||
}
|
||||
} else if(hash_orig) {
|
||||
/* the fun part */
|
||||
@@ -618,7 +459,7 @@ static int extract_single_file(struct archive *archive,
|
||||
}
|
||||
_alpm_log(PM_LOG_DEBUG, "appending backup entry for %s\n", filename);
|
||||
|
||||
hash = alpm_get_md5sum(filename);
|
||||
hash = alpm_compute_md5sum(filename);
|
||||
MALLOC(backup, backup_len, RET_ERR(PM_ERR_MEMORY, -1));
|
||||
|
||||
sprintf(backup, "%s\t%s", oldbackup, hash);
|
||||
@@ -642,22 +483,29 @@ static int commit_single_pkg(pmpkg_t *newpkg, int pkg_current, int pkg_count,
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
snprintf(scriptlet, PATH_MAX, "%s%s-%s/install", db->path,
|
||||
alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
|
||||
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
|
||||
snprintf(scriptlet, PATH_MAX, "%s%s-%s/install",
|
||||
_alpm_db_path(db), alpm_pkg_get_name(newpkg),
|
||||
alpm_pkg_get_version(newpkg));
|
||||
|
||||
/* see if this is an upgrade. if so, remove the old package first */
|
||||
pmpkg_t *local = _alpm_db_get_pkgfromcache(db, newpkg->name);
|
||||
if(local) {
|
||||
is_upgrade = 1;
|
||||
|
||||
EVENT(trans, PM_TRANS_EVT_UPGRADE_START, newpkg, NULL);
|
||||
/* we'll need to save some record for backup checks later */
|
||||
oldpkg = _alpm_pkg_dup(local);
|
||||
/* make sure all infos are loaded because the database entry
|
||||
* will be removed soon */
|
||||
_alpm_db_read(oldpkg->origin_data.db, oldpkg, INFRQ_ALL);
|
||||
|
||||
EVENT(trans, PM_TRANS_EVT_UPGRADE_START, newpkg, oldpkg);
|
||||
_alpm_log(PM_LOG_DEBUG, "upgrading package %s-%s\n",
|
||||
newpkg->name, newpkg->version);
|
||||
|
||||
/* we'll need to save some record for backup checks later */
|
||||
oldpkg = _alpm_pkg_dup(local);
|
||||
/* copy over the install reason */
|
||||
newpkg->reason = alpm_pkg_get_reason(local);
|
||||
newpkg->reason = alpm_pkg_get_reason(oldpkg);
|
||||
|
||||
/* pre_upgrade scriptlet */
|
||||
if(alpm_pkg_has_scriptlet(newpkg) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
|
||||
@@ -687,12 +535,23 @@ static int commit_single_pkg(pmpkg_t *newpkg, int pkg_current, int pkg_count,
|
||||
|
||||
if(oldpkg) {
|
||||
/* set up fake remove transaction */
|
||||
int ret = upgrade_remove(oldpkg, newpkg, trans, db);
|
||||
if(ret != 0) {
|
||||
if(_alpm_upgraderemove_package(oldpkg, newpkg, trans) == -1) {
|
||||
pm_errno = PM_ERR_TRANS_ABORT;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
/* prepare directory for database entries so permission are correct after
|
||||
changelog/install script installation (FS#12263) */
|
||||
if(_alpm_db_prepare(db, newpkg)) {
|
||||
alpm_logaction("error: could not create database entry %s-%s\n",
|
||||
alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
|
||||
pm_errno = PM_ERR_DB_WRITE;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
|
||||
struct archive *archive;
|
||||
struct archive_entry *entry;
|
||||
@@ -844,7 +703,7 @@ cleanup:
|
||||
return(ret);
|
||||
}
|
||||
|
||||
int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
int _alpm_upgrade_packages(pmtrans_t *trans, pmdb_t *db)
|
||||
{
|
||||
int pkg_count, pkg_current;
|
||||
alpm_list_t *targ;
|
||||
@@ -854,15 +713,15 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
|
||||
|
||||
if(trans->packages == NULL) {
|
||||
if(trans->add == NULL) {
|
||||
return(0);
|
||||
}
|
||||
|
||||
pkg_count = alpm_list_count(trans->packages);
|
||||
pkg_count = alpm_list_count(trans->add);
|
||||
pkg_current = 1;
|
||||
|
||||
/* loop through our package list adding/upgrading one at a time */
|
||||
for(targ = trans->packages; targ; targ = targ->next) {
|
||||
for(targ = trans->add; targ; targ = targ->next) {
|
||||
if(handle->trans->state == STATE_INTERRUPTED) {
|
||||
return(0);
|
||||
}
|
||||
@@ -873,7 +732,6 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
}
|
||||
|
||||
/* run ldconfig if it exists */
|
||||
_alpm_log(PM_LOG_DEBUG, "running \"ldconfig -r %s\"\n", handle->root);
|
||||
_alpm_ldconfig(handle->root);
|
||||
|
||||
return(0);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* add.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -23,9 +24,7 @@
|
||||
#include "alpm_list.h"
|
||||
#include "trans.h"
|
||||
|
||||
int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name);
|
||||
int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data);
|
||||
int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db);
|
||||
int _alpm_upgrade_packages(pmtrans_t *trans, pmdb_t *db);
|
||||
|
||||
#endif /* _ALPM_ADD_H */
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* alpm.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
@@ -70,6 +71,7 @@ int SYMEXPORT alpm_release(void)
|
||||
}
|
||||
|
||||
_alpm_handle_free(handle);
|
||||
handle = NULL;
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* alpm.h
|
||||
*
|
||||
* Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
@@ -47,7 +48,6 @@ typedef struct __pmpkg_t pmpkg_t;
|
||||
typedef struct __pmdelta_t pmdelta_t;
|
||||
typedef struct __pmgrp_t pmgrp_t;
|
||||
typedef struct __pmtrans_t pmtrans_t;
|
||||
typedef struct __pmsyncpkg_t pmsyncpkg_t;
|
||||
typedef struct __pmdepend_t pmdepend_t;
|
||||
typedef struct __pmdepmissing_t pmdepmissing_t;
|
||||
typedef struct __pmconflict_t pmconflict_t;
|
||||
@@ -67,10 +67,10 @@ const char *alpm_version(void);
|
||||
|
||||
/* Levels */
|
||||
typedef enum _pmloglevel_t {
|
||||
PM_LOG_ERROR = 0x01,
|
||||
PM_LOG_WARNING = 0x02,
|
||||
PM_LOG_DEBUG = 0x04,
|
||||
PM_LOG_FUNCTION = 0x08
|
||||
PM_LOG_ERROR = 1,
|
||||
PM_LOG_WARNING = (1 << 1),
|
||||
PM_LOG_DEBUG = (1 << 2),
|
||||
PM_LOG_FUNCTION = (1 << 3)
|
||||
} pmloglevel_t;
|
||||
|
||||
typedef void (*alpm_cb_log)(pmloglevel_t, char *, va_list);
|
||||
@@ -83,6 +83,15 @@ int alpm_logaction(char *fmt, ...);
|
||||
typedef void (*alpm_cb_download)(const char *filename,
|
||||
off_t xfered, off_t total);
|
||||
typedef void (*alpm_cb_totaldl)(off_t total);
|
||||
/** A callback for downloading files
|
||||
* @param url the URL of the file to be downloaded
|
||||
* @param localpath the directory to which the file should be downloaded
|
||||
* @param force whether to force an update, even if the file is the same
|
||||
* @return 0 on success, 1 if the file exists and is identical, -1 on
|
||||
* error.
|
||||
*/
|
||||
typedef int (*alpm_cb_fetch)(const char *url, const char *localpath,
|
||||
int force);
|
||||
|
||||
/*
|
||||
* Options
|
||||
@@ -94,6 +103,9 @@ void alpm_option_set_logcb(alpm_cb_log cb);
|
||||
alpm_cb_download alpm_option_get_dlcb();
|
||||
void alpm_option_set_dlcb(alpm_cb_download cb);
|
||||
|
||||
alpm_cb_fetch alpm_option_get_fetchcb();
|
||||
void alpm_option_set_fetchcb(alpm_cb_fetch cb);
|
||||
|
||||
alpm_cb_totaldl alpm_option_get_totaldlcb();
|
||||
void alpm_option_set_totaldlcb(alpm_cb_totaldl cb);
|
||||
|
||||
@@ -114,8 +126,8 @@ int alpm_option_set_logfile(const char *logfile);
|
||||
const char *alpm_option_get_lockfile();
|
||||
/* no set_lockfile, path is determined from dbpath */
|
||||
|
||||
unsigned short alpm_option_get_usesyslog();
|
||||
void alpm_option_set_usesyslog(unsigned short usesyslog);
|
||||
int alpm_option_get_usesyslog();
|
||||
void alpm_option_set_usesyslog(int usesyslog);
|
||||
|
||||
alpm_list_t *alpm_option_get_noupgrades();
|
||||
void alpm_option_add_noupgrade(const char *pkg);
|
||||
@@ -132,26 +144,29 @@ void alpm_option_add_ignorepkg(const char *pkg);
|
||||
void alpm_option_set_ignorepkgs(alpm_list_t *ignorepkgs);
|
||||
int alpm_option_remove_ignorepkg(const char *pkg);
|
||||
|
||||
alpm_list_t *alpm_option_get_holdpkgs();
|
||||
void alpm_option_add_holdpkg(const char *pkg);
|
||||
void alpm_option_set_holdpkgs(alpm_list_t *holdpkgs);
|
||||
int alpm_option_remove_holdpkg(const char *pkg);
|
||||
|
||||
alpm_list_t *alpm_option_get_ignoregrps();
|
||||
void alpm_option_add_ignoregrp(const char *grp);
|
||||
void alpm_option_set_ignoregrps(alpm_list_t *ignoregrps);
|
||||
int alpm_option_remove_ignoregrp(const char *grp);
|
||||
|
||||
const char *alpm_option_get_xfercommand();
|
||||
void alpm_option_set_xfercommand(const char *cmd);
|
||||
const char *alpm_option_get_arch();
|
||||
void alpm_option_set_arch(const char *arch);
|
||||
|
||||
unsigned short alpm_option_get_nopassiveftp();
|
||||
void alpm_option_set_nopassiveftp(unsigned short nopasv);
|
||||
void alpm_option_set_usedelta(unsigned short usedelta);
|
||||
int alpm_option_get_usedelta();
|
||||
void alpm_option_set_usedelta(int usedelta);
|
||||
|
||||
pmdb_t *alpm_option_get_localdb();
|
||||
alpm_list_t *alpm_option_get_syncdbs();
|
||||
|
||||
/*
|
||||
* Install reasons -- ie, why the package was installed
|
||||
*/
|
||||
|
||||
typedef enum _pmpkgreason_t {
|
||||
PM_PKG_REASON_EXPLICIT = 0, /* explicitly requested by the user */
|
||||
PM_PKG_REASON_DEPEND = 1 /* installed as a dependency for another package */
|
||||
} pmpkgreason_t;
|
||||
|
||||
/*
|
||||
* Databases
|
||||
*/
|
||||
@@ -170,11 +185,12 @@ int alpm_db_setserver(pmdb_t *db, const char *url);
|
||||
int alpm_db_update(int level, pmdb_t *db);
|
||||
|
||||
pmpkg_t *alpm_db_get_pkg(pmdb_t *db, const char *name);
|
||||
alpm_list_t *alpm_db_getpkgcache(pmdb_t *db);
|
||||
alpm_list_t *alpm_db_get_pkgcache(pmdb_t *db);
|
||||
|
||||
pmgrp_t *alpm_db_readgrp(pmdb_t *db, const char *name);
|
||||
alpm_list_t *alpm_db_getgrpcache(pmdb_t *db);
|
||||
alpm_list_t *alpm_db_get_grpcache(pmdb_t *db);
|
||||
alpm_list_t *alpm_db_search(pmdb_t *db, const alpm_list_t* needles);
|
||||
int alpm_db_set_pkgreason(pmdb_t *db, const char *name, pmpkgreason_t reason);
|
||||
|
||||
/*
|
||||
* Packages
|
||||
@@ -182,13 +198,7 @@ alpm_list_t *alpm_db_search(pmdb_t *db, const alpm_list_t* needles);
|
||||
|
||||
/* Info parameters */
|
||||
|
||||
/* reasons -- ie, why the package was installed */
|
||||
typedef enum _pmpkgreason_t {
|
||||
PM_PKG_REASON_EXPLICIT = 0, /* explicitly requested by the user */
|
||||
PM_PKG_REASON_DEPEND = 1 /* installed as a dependency for another package */
|
||||
} pmpkgreason_t;
|
||||
|
||||
int alpm_pkg_load(const char *filename, unsigned short full, pmpkg_t **pkg);
|
||||
int alpm_pkg_load(const char *filename, int full, pmpkg_t **pkg);
|
||||
int alpm_pkg_free(pmpkg_t *pkg);
|
||||
int alpm_pkg_checkmd5sum(pmpkg_t *pkg);
|
||||
char *alpm_fetch_pkgurl(const char *url);
|
||||
@@ -218,23 +228,24 @@ alpm_list_t *alpm_pkg_get_deltas(pmpkg_t *pkg);
|
||||
alpm_list_t *alpm_pkg_get_replaces(pmpkg_t *pkg);
|
||||
alpm_list_t *alpm_pkg_get_files(pmpkg_t *pkg);
|
||||
alpm_list_t *alpm_pkg_get_backup(pmpkg_t *pkg);
|
||||
pmdb_t *alpm_pkg_get_db(pmpkg_t *pkg);
|
||||
void *alpm_pkg_changelog_open(pmpkg_t *pkg);
|
||||
size_t alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
const pmpkg_t *pkg, const void *fp);
|
||||
/*int alpm_pkg_changelog_feof(const pmpkg_t *pkg, void *fp);*/
|
||||
int alpm_pkg_changelog_close(const pmpkg_t *pkg, void *fp);
|
||||
unsigned short alpm_pkg_has_scriptlet(pmpkg_t *pkg);
|
||||
int alpm_pkg_has_scriptlet(pmpkg_t *pkg);
|
||||
int alpm_pkg_has_force(pmpkg_t *pkg);
|
||||
|
||||
off_t alpm_pkg_download_size(pmpkg_t *newpkg);
|
||||
alpm_list_t *alpm_pkg_unused_deltas(pmpkg_t *pkg);
|
||||
|
||||
/*
|
||||
* Deltas
|
||||
*/
|
||||
|
||||
const char *alpm_delta_get_from(pmdelta_t *delta);
|
||||
const char *alpm_delta_get_from_md5sum(pmdelta_t *delta);
|
||||
const char *alpm_delta_get_to(pmdelta_t *delta);
|
||||
const char *alpm_delta_get_to_md5sum(pmdelta_t *delta);
|
||||
const char *alpm_delta_get_filename(pmdelta_t *delta);
|
||||
const char *alpm_delta_get_md5sum(pmdelta_t *delta);
|
||||
off_t alpm_delta_get_size(pmdelta_t *delta);
|
||||
@@ -249,43 +260,33 @@ alpm_list_t *alpm_grp_get_pkgs(const pmgrp_t *grp);
|
||||
* Sync
|
||||
*/
|
||||
|
||||
pmpkg_t *alpm_sync_get_pkg(const pmsyncpkg_t *sync);
|
||||
alpm_list_t *alpm_sync_get_removes(const pmsyncpkg_t *sync);
|
||||
pmpkg_t *alpm_sync_newversion(pmpkg_t *pkg, alpm_list_t *dbs_sync);
|
||||
int alpm_sync_sysupgrade(pmdb_t *db_local,
|
||||
alpm_list_t *dbs_sync, alpm_list_t **syncpkgs);
|
||||
|
||||
/*
|
||||
* Transactions
|
||||
*/
|
||||
|
||||
/* Types */
|
||||
typedef enum _pmtranstype_t {
|
||||
PM_TRANS_TYPE_UPGRADE = 1,
|
||||
PM_TRANS_TYPE_REMOVE,
|
||||
PM_TRANS_TYPE_REMOVEUPGRADE,
|
||||
PM_TRANS_TYPE_SYNC
|
||||
} pmtranstype_t;
|
||||
|
||||
/* Flags */
|
||||
typedef enum _pmtransflag_t {
|
||||
PM_TRANS_FLAG_NODEPS = 0x01,
|
||||
PM_TRANS_FLAG_FORCE = 0x02,
|
||||
PM_TRANS_FLAG_NOSAVE = 0x04,
|
||||
/* 0x08 flag can go here */
|
||||
PM_TRANS_FLAG_CASCADE = 0x10,
|
||||
PM_TRANS_FLAG_RECURSE = 0x20,
|
||||
PM_TRANS_FLAG_DBONLY = 0x40,
|
||||
/* 0x80 flag can go here */
|
||||
PM_TRANS_FLAG_ALLDEPS = 0x100,
|
||||
PM_TRANS_FLAG_DOWNLOADONLY = 0x200,
|
||||
PM_TRANS_FLAG_NOSCRIPTLET = 0x400,
|
||||
PM_TRANS_FLAG_NOCONFLICTS = 0x800,
|
||||
PM_TRANS_FLAG_PRINTURIS = 0x1000,
|
||||
PM_TRANS_FLAG_NEEDED = 0x2000,
|
||||
PM_TRANS_FLAG_ALLEXPLICIT = 0x4000,
|
||||
PM_TRANS_FLAG_UNNEEDED = 0x8000,
|
||||
PM_TRANS_FLAG_RECURSEALL = 0x10000
|
||||
PM_TRANS_FLAG_NODEPS = 1,
|
||||
PM_TRANS_FLAG_FORCE = (1 << 1),
|
||||
PM_TRANS_FLAG_NOSAVE = (1 << 2),
|
||||
/* (1 << 3) flag can go here */
|
||||
PM_TRANS_FLAG_CASCADE = (1 << 4),
|
||||
PM_TRANS_FLAG_RECURSE = (1 << 5),
|
||||
PM_TRANS_FLAG_DBONLY = (1 << 6),
|
||||
/* (1 << 7) flag can go here */
|
||||
PM_TRANS_FLAG_ALLDEPS = (1 << 8),
|
||||
PM_TRANS_FLAG_DOWNLOADONLY = (1 << 9),
|
||||
PM_TRANS_FLAG_NOSCRIPTLET = (1 << 10),
|
||||
PM_TRANS_FLAG_NOCONFLICTS = (1 << 11),
|
||||
/* (1 << 12) flag can go here */
|
||||
PM_TRANS_FLAG_NEEDED = (1 << 13),
|
||||
PM_TRANS_FLAG_ALLEXPLICIT = (1 << 14),
|
||||
PM_TRANS_FLAG_UNNEEDED = (1 << 15),
|
||||
PM_TRANS_FLAG_RECURSEALL = (1 << 16),
|
||||
PM_TRANS_FLAG_NOLOCK = (1 << 17)
|
||||
} pmtransflag_t;
|
||||
|
||||
/**
|
||||
@@ -363,10 +364,6 @@ typedef enum _pmtransevt_t {
|
||||
* A line of text is passed to the callback.
|
||||
*/
|
||||
PM_TRANS_EVT_SCRIPTLET_INFO,
|
||||
/** Print URI.
|
||||
* The database's URI and the package's filename are passed to the callback.
|
||||
*/
|
||||
PM_TRANS_EVT_PRINTURI,
|
||||
/** Files will be downloaded from a repository.
|
||||
* The repository's tree name is passed to the callback.
|
||||
*/
|
||||
@@ -376,13 +373,12 @@ typedef enum _pmtransevt_t {
|
||||
|
||||
/* Transaction Conversations (ie, questions) */
|
||||
typedef enum _pmtransconv_t {
|
||||
PM_TRANS_CONV_INSTALL_IGNOREPKG = 0x01,
|
||||
PM_TRANS_CONV_REPLACE_PKG = 0x02,
|
||||
PM_TRANS_CONV_CONFLICT_PKG = 0x04,
|
||||
PM_TRANS_CONV_CORRUPTED_PKG = 0x08,
|
||||
PM_TRANS_CONV_LOCAL_NEWER = 0x10,
|
||||
/* 0x20 flag can go here */
|
||||
PM_TRANS_CONV_REMOVE_HOLDPKG = 0x40
|
||||
PM_TRANS_CONV_INSTALL_IGNOREPKG = 1,
|
||||
PM_TRANS_CONV_REPLACE_PKG = (1 << 1),
|
||||
PM_TRANS_CONV_CONFLICT_PKG = (1 << 2),
|
||||
PM_TRANS_CONV_CORRUPTED_PKG = (1 << 3),
|
||||
PM_TRANS_CONV_LOCAL_NEWER = (1 << 4),
|
||||
PM_TRANS_CONV_REMOVE_PKGS = (1 << 5),
|
||||
} pmtransconv_t;
|
||||
|
||||
/* Transaction Progress */
|
||||
@@ -403,19 +399,23 @@ typedef void (*alpm_trans_cb_conv)(pmtransconv_t, void *, void *,
|
||||
/* Transaction Progress callback */
|
||||
typedef void (*alpm_trans_cb_progress)(pmtransprog_t, const char *, int, int, int);
|
||||
|
||||
pmtranstype_t alpm_trans_get_type();
|
||||
unsigned int alpm_trans_get_flags();
|
||||
alpm_list_t * alpm_trans_get_pkgs();
|
||||
int alpm_trans_init(pmtranstype_t type, pmtransflag_t flags,
|
||||
int alpm_trans_get_flags();
|
||||
alpm_list_t * alpm_trans_get_add();
|
||||
alpm_list_t * alpm_trans_get_remove();
|
||||
int alpm_trans_init(pmtransflag_t flags,
|
||||
alpm_trans_cb_event cb_event, alpm_trans_cb_conv conv,
|
||||
alpm_trans_cb_progress cb_progress);
|
||||
int alpm_trans_sysupgrade(void);
|
||||
int alpm_trans_addtarget(char *target);
|
||||
int alpm_trans_prepare(alpm_list_t **data);
|
||||
int alpm_trans_commit(alpm_list_t **data);
|
||||
int alpm_trans_interrupt(void);
|
||||
int alpm_trans_release(void);
|
||||
|
||||
int alpm_sync_sysupgrade(int enable_downgrade);
|
||||
int alpm_sync_target(char *target);
|
||||
int alpm_sync_dbtarget(char *db, char *target);
|
||||
int alpm_add_target(char *target);
|
||||
int alpm_remove_target(char *target);
|
||||
|
||||
/*
|
||||
* Dependencies and conflicts
|
||||
*/
|
||||
@@ -430,7 +430,7 @@ typedef enum _pmdepmod_t {
|
||||
} pmdepmod_t;
|
||||
|
||||
int alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
|
||||
alpm_list_t *alpm_checkdeps(pmdb_t *db, int reversedeps,
|
||||
alpm_list_t *alpm_checkdeps(alpm_list_t *pkglist, int reversedeps,
|
||||
alpm_list_t *remove, alpm_list_t *upgrade);
|
||||
alpm_list_t *alpm_deptest(pmdb_t *db, alpm_list_t *targets);
|
||||
|
||||
@@ -438,15 +438,16 @@ const char *alpm_miss_get_target(const pmdepmissing_t *miss);
|
||||
pmdepend_t *alpm_miss_get_dep(pmdepmissing_t *miss);
|
||||
const char *alpm_miss_get_causingpkg(const pmdepmissing_t *miss);
|
||||
|
||||
alpm_list_t *alpm_checkdbconflicts(pmdb_t *db_local);
|
||||
alpm_list_t *alpm_checkconflicts(alpm_list_t *pkglist);
|
||||
|
||||
const char *alpm_conflict_get_package1(pmconflict_t *conflict);
|
||||
const char *alpm_conflict_get_package2(pmconflict_t *conflict);
|
||||
const char *alpm_conflict_get_reason(pmconflict_t *conflict);
|
||||
|
||||
pmdepmod_t alpm_dep_get_mod(const pmdepend_t *dep);
|
||||
const char *alpm_dep_get_name(const pmdepend_t *dep);
|
||||
const char *alpm_dep_get_version(const pmdepend_t *dep);
|
||||
char *alpm_dep_get_string(const pmdepend_t *dep);
|
||||
char *alpm_dep_compute_string(const pmdepend_t *dep);
|
||||
|
||||
/*
|
||||
* File conflicts
|
||||
@@ -467,7 +468,7 @@ const char *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict);
|
||||
*/
|
||||
|
||||
/* checksums */
|
||||
char *alpm_get_md5sum(const char *name);
|
||||
char *alpm_compute_md5sum(const char *name);
|
||||
|
||||
/*
|
||||
* Errors
|
||||
@@ -493,6 +494,7 @@ enum _pmerrno_t {
|
||||
PM_ERR_DB_REMOVE,
|
||||
/* Servers */
|
||||
PM_ERR_SERVER_BAD_URL,
|
||||
PM_ERR_SERVER_NONE,
|
||||
/* Transactions */
|
||||
PM_ERR_TRANS_NOT_NULL,
|
||||
PM_ERR_TRANS_NULL,
|
||||
@@ -501,36 +503,29 @@ enum _pmerrno_t {
|
||||
PM_ERR_TRANS_NOT_PREPARED,
|
||||
PM_ERR_TRANS_ABORT,
|
||||
PM_ERR_TRANS_TYPE,
|
||||
PM_ERR_TRANS_COMMITING,
|
||||
PM_ERR_TRANS_DOWNLOADING,
|
||||
PM_ERR_TRANS_NOT_LOCKED,
|
||||
/* Packages */
|
||||
PM_ERR_PKG_NOT_FOUND,
|
||||
PM_ERR_PKG_IGNORED,
|
||||
PM_ERR_PKG_INVALID,
|
||||
PM_ERR_PKG_OPEN,
|
||||
PM_ERR_PKG_LOAD,
|
||||
PM_ERR_PKG_CANT_FRESH,
|
||||
PM_ERR_PKG_CANT_REMOVE,
|
||||
PM_ERR_PKG_INVALID_NAME,
|
||||
PM_ERR_PKG_INVALID_ARCH,
|
||||
PM_ERR_PKG_REPO_NOT_FOUND,
|
||||
/* Deltas */
|
||||
PM_ERR_DLT_INVALID,
|
||||
PM_ERR_DLT_PATCHFAILED,
|
||||
/* Groups */
|
||||
PM_ERR_GRP_NOT_FOUND,
|
||||
/* Dependencies */
|
||||
PM_ERR_UNSATISFIED_DEPS,
|
||||
PM_ERR_CONFLICTING_DEPS,
|
||||
PM_ERR_FILE_CONFLICTS,
|
||||
/* Misc */
|
||||
PM_ERR_USER_ABORT,
|
||||
PM_ERR_INTERNAL_ERROR,
|
||||
PM_ERR_DB_SYNC,
|
||||
PM_ERR_RETRIEVE,
|
||||
PM_ERR_PKG_HOLD,
|
||||
PM_ERR_INVALID_REGEX,
|
||||
/* External library errors */
|
||||
PM_ERR_LIBARCHIVE,
|
||||
PM_ERR_LIBDOWNLOAD,
|
||||
PM_ERR_LIBFETCH,
|
||||
PM_ERR_EXTERNAL_DOWNLOAD
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* alpm_list.c
|
||||
*
|
||||
* Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -308,6 +309,7 @@ alpm_list_t SYMEXPORT *alpm_list_remove(alpm_list_t *haystack, const void *needl
|
||||
|
||||
while(i) {
|
||||
if(i->data == NULL) {
|
||||
i = i->next;
|
||||
continue;
|
||||
}
|
||||
tmp = i->next;
|
||||
@@ -614,7 +616,7 @@ static int ptr_cmp(const void *p, const void *q)
|
||||
/**
|
||||
* @brief Find an item in a list.
|
||||
*
|
||||
* Search for the item whos data matches that of the `needle`.
|
||||
* Search for the item whose data matches that of the `needle`.
|
||||
*
|
||||
* @param needle the data to search for (== comparison)
|
||||
* @param haystack the list
|
||||
@@ -642,11 +644,65 @@ char SYMEXPORT *alpm_list_find_str(const alpm_list_t *haystack,
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Find the items in list `lhs` that are not present in list `rhs`.
|
||||
* @brief Find the differences between list `left` and list `right`
|
||||
*
|
||||
* Entries are not duplicated. Operation is O(m*n). The first list is stepped
|
||||
* through one node at a time, and for each node in the first list, each node
|
||||
* in the second list is compared to it.
|
||||
* The two lists must be sorted. Items only in list `left` are added to the
|
||||
* `onlyleft` list. Items only in list `right` are added to the `onlyright`
|
||||
* list.
|
||||
*
|
||||
* @param left the first list
|
||||
* @param right the second list
|
||||
* @param fn the comparison function
|
||||
* @param onlyleft pointer to the first result list
|
||||
* @param onlyright pointer to the second result list
|
||||
*
|
||||
*/
|
||||
void SYMEXPORT alpm_list_diff_sorted(const alpm_list_t *left,
|
||||
const alpm_list_t *right, alpm_list_fn_cmp fn,
|
||||
alpm_list_t **onlyleft, alpm_list_t **onlyright)
|
||||
{
|
||||
const alpm_list_t *l = left;
|
||||
const alpm_list_t *r = right;
|
||||
|
||||
if(!onlyleft && !onlyright) {
|
||||
return;
|
||||
}
|
||||
|
||||
while (l != NULL && r != NULL) {
|
||||
int cmp = fn(l->data, r->data);
|
||||
if(cmp < 0) {
|
||||
if(onlyleft) {
|
||||
*onlyleft = alpm_list_add(*onlyleft, l->data);
|
||||
}
|
||||
l = l->next;
|
||||
}
|
||||
else if(cmp > 0) {
|
||||
if(onlyright) {
|
||||
*onlyright = alpm_list_add(*onlyright, r->data);
|
||||
}
|
||||
r = r->next;
|
||||
} else {
|
||||
l = l->next;
|
||||
r = r->next;
|
||||
}
|
||||
}
|
||||
while (l != NULL) {
|
||||
if(onlyleft) {
|
||||
*onlyleft = alpm_list_add(*onlyleft, l->data);
|
||||
}
|
||||
l = l->next;
|
||||
}
|
||||
while (r != NULL) {
|
||||
if(onlyright) {
|
||||
*onlyright = alpm_list_add(*onlyright, r->data);
|
||||
}
|
||||
r = r->next;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Find the items in list `lhs` that are not present in list `rhs`.
|
||||
*
|
||||
* @param lhs the first list
|
||||
* @param rhs the second list
|
||||
@@ -657,21 +713,18 @@ char SYMEXPORT *alpm_list_find_str(const alpm_list_t *haystack,
|
||||
alpm_list_t SYMEXPORT *alpm_list_diff(const alpm_list_t *lhs,
|
||||
const alpm_list_t *rhs, alpm_list_fn_cmp fn)
|
||||
{
|
||||
const alpm_list_t *i, *j;
|
||||
alpm_list_t *left, *right;
|
||||
alpm_list_t *ret = NULL;
|
||||
for(i = lhs; i; i = i->next) {
|
||||
int found = 0;
|
||||
for(j = rhs; j; j = j->next) {
|
||||
if(fn(i->data, j->data) == 0) {
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
ret = alpm_list_add(ret, i->data);
|
||||
}
|
||||
}
|
||||
|
||||
left = alpm_list_copy(lhs);
|
||||
left = alpm_list_msort(left, alpm_list_count(left), fn);
|
||||
right = alpm_list_copy(rhs);
|
||||
right = alpm_list_msort(right, alpm_list_count(right), fn);
|
||||
|
||||
alpm_list_diff_sorted(left, right, fn, &ret, NULL);
|
||||
|
||||
alpm_list_free(left);
|
||||
alpm_list_free(right);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* alpm_list.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -77,6 +78,8 @@ void *alpm_list_find(const alpm_list_t *haystack, const void *needle, alpm_list_
|
||||
void *alpm_list_find_ptr(const alpm_list_t *haystack, const void *needle);
|
||||
char *alpm_list_find_str(const alpm_list_t *haystack, const char *needle);
|
||||
alpm_list_t *alpm_list_diff(const alpm_list_t *lhs, const alpm_list_t *rhs, alpm_list_fn_cmp fn);
|
||||
void alpm_list_diff_sorted(const alpm_list_t *left, const alpm_list_t *right,
|
||||
alpm_list_fn_cmp fn, alpm_list_t **onlyleft, alpm_list_t **onlyright);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* backup.c
|
||||
*
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2005 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
@@ -32,7 +33,7 @@
|
||||
#include "util.h"
|
||||
|
||||
/* split a backup string "file\thash" into two strings : file and hash */
|
||||
int _alpm_backup_split(const char *string, char **file, char **hash)
|
||||
static int backup_split(const char *string, char **file, char **hash)
|
||||
{
|
||||
char *str = strdup(string);
|
||||
char *ptr;
|
||||
@@ -64,14 +65,14 @@ int _alpm_backup_split(const char *string, char **file, char **hash)
|
||||
char *_alpm_backup_file(const char *string)
|
||||
{
|
||||
char *file = NULL;
|
||||
_alpm_backup_split(string, &file, NULL);
|
||||
backup_split(string, &file, NULL);
|
||||
return(file);
|
||||
}
|
||||
|
||||
char *_alpm_backup_hash(const char *string)
|
||||
{
|
||||
char *hash = NULL;
|
||||
_alpm_backup_split(string, NULL, &hash);
|
||||
backup_split(string, NULL, &hash);
|
||||
return(hash);
|
||||
}
|
||||
|
||||
@@ -94,7 +95,7 @@ char *_alpm_needbackup(const char *file, const alpm_list_t *backup)
|
||||
char *hash = NULL;
|
||||
|
||||
/* no hash found */
|
||||
if(!_alpm_backup_split((char *)lp->data, &filename, &hash)) {
|
||||
if(!backup_split((char *)lp->data, &filename, &hash)) {
|
||||
FREE(filename);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* backup.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h> /* uintmax_t, intmax_t */
|
||||
#include <stdint.h> /* intmax_t */
|
||||
#include <sys/stat.h>
|
||||
#include <dirent.h>
|
||||
#include <ctype.h>
|
||||
@@ -33,6 +33,10 @@
|
||||
#include <limits.h> /* PATH_MAX */
|
||||
#include <locale.h> /* setlocale */
|
||||
|
||||
/* libarchive */
|
||||
#include <archive.h>
|
||||
#include <archive_entry.h>
|
||||
|
||||
/* libalpm */
|
||||
#include "db.h"
|
||||
#include "alpm_list.h"
|
||||
@@ -47,73 +51,155 @@
|
||||
#include "dload.h"
|
||||
|
||||
|
||||
/*
|
||||
* Return the last update time as number of seconds from the epoch.
|
||||
* Returns 0 if the value is unknown or can't be read.
|
||||
*/
|
||||
time_t getlastupdate(const pmdb_t *db)
|
||||
static int checkdbdir(pmdb_t *db)
|
||||
{
|
||||
FILE *fp;
|
||||
char *file;
|
||||
time_t ret = 0;
|
||||
struct stat buf;
|
||||
const char *path = _alpm_db_path(db);
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL) {
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/* db->path + '.lastupdate' + NULL */
|
||||
MALLOC(file, strlen(db->path) + 12, RET_ERR(PM_ERR_MEMORY, ret));
|
||||
sprintf(file, "%s.lastupdate", db->path);
|
||||
|
||||
/* get the last update time, if it's there */
|
||||
if((fp = fopen(file, "r")) == NULL) {
|
||||
free(file);
|
||||
return(ret);
|
||||
} else {
|
||||
char line[64];
|
||||
if(fgets(line, sizeof(line), fp)) {
|
||||
ret = atol(line);
|
||||
if(stat(path, &buf) != 0) {
|
||||
_alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
|
||||
path);
|
||||
if(_alpm_makepath(path) != 0) {
|
||||
RET_ERR(PM_ERR_SYSTEM, -1);
|
||||
}
|
||||
} else if(!S_ISDIR(buf.st_mode)) {
|
||||
_alpm_log(PM_LOG_WARNING, _("removing invalid database: %s\n"), path);
|
||||
if(unlink(path) != 0 || _alpm_makepath(path) != 0) {
|
||||
RET_ERR(PM_ERR_SYSTEM, -1);
|
||||
}
|
||||
}
|
||||
fclose(fp);
|
||||
free(file);
|
||||
return(ret);
|
||||
return(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* writes the dbpath/.lastupdate file with the value in time
|
||||
*/
|
||||
int setlastupdate(const pmdb_t *db, time_t time)
|
||||
/* create list of directories in db */
|
||||
static int dirlist_from_tar(const char *archive, alpm_list_t **dirlist)
|
||||
{
|
||||
FILE *fp;
|
||||
char *file;
|
||||
int ret = 0;
|
||||
struct archive *_archive;
|
||||
struct archive_entry *entry;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
if((_archive = archive_read_new()) == NULL)
|
||||
RET_ERR(PM_ERR_LIBARCHIVE, -1);
|
||||
|
||||
if(db == NULL || time == 0) {
|
||||
return(-1);
|
||||
archive_read_support_compression_all(_archive);
|
||||
archive_read_support_format_all(_archive);
|
||||
|
||||
if(archive_read_open_filename(_archive, archive,
|
||||
ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
|
||||
_alpm_log(PM_LOG_ERROR, _("could not open %s: %s\n"), archive,
|
||||
archive_error_string(_archive));
|
||||
RET_ERR(PM_ERR_PKG_OPEN, -1);
|
||||
}
|
||||
|
||||
/* db->path + '.lastupdate' + NULL */
|
||||
MALLOC(file, strlen(db->path) + 12, RET_ERR(PM_ERR_MEMORY, ret));
|
||||
sprintf(file, "%s.lastupdate", db->path);
|
||||
while(archive_read_next_header(_archive, &entry) == ARCHIVE_OK) {
|
||||
const struct stat *st;
|
||||
const char *entryname; /* the name of the file in the archive */
|
||||
|
||||
if((fp = fopen(file, "w")) == NULL) {
|
||||
free(file);
|
||||
return(-1);
|
||||
st = archive_entry_stat(entry);
|
||||
entryname = archive_entry_pathname(entry);
|
||||
|
||||
if(S_ISDIR(st->st_mode)) {
|
||||
char *name = strdup(entryname);
|
||||
*dirlist = alpm_list_add(*dirlist, name);
|
||||
}
|
||||
}
|
||||
if(fprintf(fp, "%ju", (uintmax_t)time) <= 0) {
|
||||
ret = -1;
|
||||
archive_read_finish(_archive);
|
||||
|
||||
*dirlist = alpm_list_msort(*dirlist, alpm_list_count(*dirlist), _alpm_str_cmp);
|
||||
return(0);
|
||||
}
|
||||
|
||||
/* create list of directories in db */
|
||||
static int dirlist_from_fs(const char *syncdbpath, alpm_list_t **dirlist)
|
||||
{
|
||||
DIR *dbdir;
|
||||
struct dirent *ent = NULL;
|
||||
struct stat sbuf;
|
||||
char path[PATH_MAX];
|
||||
|
||||
dbdir = opendir(syncdbpath);
|
||||
if (dbdir != NULL) {
|
||||
while((ent = readdir(dbdir)) != NULL) {
|
||||
char *name = ent->d_name;
|
||||
size_t len;
|
||||
char *entry;
|
||||
|
||||
if(strcmp(name, ".") == 0 || strcmp(name, "..") == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* stat the entry, make sure it's a directory */
|
||||
snprintf(path, PATH_MAX, "%s%s", syncdbpath, name);
|
||||
if(stat(path, &sbuf) != 0 || !S_ISDIR(sbuf.st_mode)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
len = strlen(name);
|
||||
MALLOC(entry, len + 2, RET_ERR(PM_ERR_MEMORY, -1));
|
||||
strcpy(entry, name);
|
||||
entry[len] = '/';
|
||||
entry[len+1] = '\0';
|
||||
*dirlist = alpm_list_add(*dirlist, entry);
|
||||
}
|
||||
closedir(dbdir);
|
||||
}
|
||||
fclose(fp);
|
||||
free(file);
|
||||
return(ret);
|
||||
|
||||
*dirlist = alpm_list_msort(*dirlist, alpm_list_count(*dirlist), _alpm_str_cmp);
|
||||
return(0);
|
||||
}
|
||||
|
||||
/* remove old directories from dbdir */
|
||||
static int remove_olddir(const char *syncdbpath, alpm_list_t *dirlist)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
for (i = dirlist; i; i = i->next) {
|
||||
const char *name = i->data;
|
||||
char *dbdir;
|
||||
size_t len = strlen(syncdbpath) + strlen(name) + 2;
|
||||
MALLOC(dbdir, len, RET_ERR(PM_ERR_MEMORY, -1));
|
||||
snprintf(dbdir, len, "%s%s", syncdbpath, name);
|
||||
_alpm_log(PM_LOG_DEBUG, "removing: %s\n", dbdir);
|
||||
if(_alpm_rmrf(dbdir) != 0) {
|
||||
_alpm_log(PM_LOG_ERROR, _("could not remove database directory %s\n"), dbdir);
|
||||
free(dbdir);
|
||||
RET_ERR(PM_ERR_DB_REMOVE, -1);
|
||||
}
|
||||
free(dbdir);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
/** Update a package database
|
||||
*
|
||||
* An update of the package database \a db will be attempted. Unless
|
||||
* \a force is true, the update will only be performed if the remote
|
||||
* database was modified since the last update.
|
||||
*
|
||||
* A transaction is necessary for this operation, in order to obtain a
|
||||
* database lock. During this transaction the front-end will be informed
|
||||
* of the download progress of the database via the download callback.
|
||||
*
|
||||
* Example:
|
||||
* @code
|
||||
* pmdb_t *db;
|
||||
* int result;
|
||||
* db = alpm_list_getdata(alpm_option_get_syncdbs());
|
||||
* if(alpm_trans_init(0, NULL, NULL, NULL) == 0) {
|
||||
* result = alpm_db_update(0, db);
|
||||
* alpm_trans_release();
|
||||
*
|
||||
* if(result > 0) {
|
||||
* printf("Unable to update database: %s\n", alpm_strerrorlast());
|
||||
* } else if(result < 0) {
|
||||
* printf("Database already up to date\n");
|
||||
* } else {
|
||||
* printf("Database updated\n");
|
||||
* }
|
||||
* }
|
||||
* @endcode
|
||||
*
|
||||
* @ingroup alpm_databases
|
||||
* @note After a successful update, the \link alpm_db_get_pkgcache()
|
||||
* package cache \endlink will be invalidated
|
||||
* @param force if true, then forces the update, otherwise update only in case
|
||||
* the database isn't up to date
|
||||
* @param db pointer to the package database to update
|
||||
@@ -122,12 +208,11 @@ int setlastupdate(const pmdb_t *db, time_t time)
|
||||
*/
|
||||
int SYMEXPORT alpm_db_update(int force, pmdb_t *db)
|
||||
{
|
||||
alpm_list_t *lp;
|
||||
char *dbfile, *dbfilepath;
|
||||
time_t newmtime = 0, lastupdate = 0;
|
||||
const char *dbpath;
|
||||
const char *dbpath, *syncdbpath;
|
||||
alpm_list_t *newdirlist = NULL, *olddirlist = NULL;
|
||||
alpm_list_t *onlynew = NULL, *onlyold = NULL;
|
||||
size_t len;
|
||||
|
||||
int ret;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
@@ -141,109 +226,85 @@ int SYMEXPORT alpm_db_update(int force, pmdb_t *db)
|
||||
*/
|
||||
ASSERT(handle->trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
ASSERT(handle->trans->state == STATE_INITIALIZED, RET_ERR(PM_ERR_TRANS_NOT_INITIALIZED, -1));
|
||||
ASSERT(handle->trans->type == PM_TRANS_TYPE_SYNC, RET_ERR(PM_ERR_TRANS_TYPE, -1));
|
||||
|
||||
if(!alpm_list_find_ptr(handle->dbs_sync, db)) {
|
||||
RET_ERR(PM_ERR_DB_NOT_FOUND, -1);
|
||||
}
|
||||
|
||||
if(!force) {
|
||||
/* get the lastupdate time */
|
||||
lastupdate = getlastupdate(db);
|
||||
if(lastupdate == 0) {
|
||||
_alpm_log(PM_LOG_DEBUG, "failed to get lastupdate time for %s\n",
|
||||
db->treename);
|
||||
}
|
||||
}
|
||||
|
||||
len = strlen(db->treename) + strlen(DBEXT) + 1;
|
||||
MALLOC(dbfile, len, RET_ERR(PM_ERR_MEMORY, -1));
|
||||
sprintf(dbfile, "%s" DBEXT, db->treename);
|
||||
|
||||
dbpath = alpm_option_get_dbpath();
|
||||
|
||||
ret = _alpm_download_single_file(dbfile, db->servers, dbpath,
|
||||
lastupdate, &newmtime);
|
||||
ret = _alpm_download_single_file(dbfile, db->servers, dbpath, force);
|
||||
free(dbfile);
|
||||
|
||||
if(ret == 1) {
|
||||
/* mtimes match, do nothing */
|
||||
/* files match, do nothing */
|
||||
pm_errno = 0;
|
||||
return(1);
|
||||
} else if(ret == -1) {
|
||||
/* pm_errno was set by the download code */
|
||||
_alpm_log(PM_LOG_DEBUG, "failed to sync db: %s\n", alpm_strerrorlast());
|
||||
return(-1);
|
||||
}
|
||||
|
||||
syncdbpath = _alpm_db_path(db);
|
||||
|
||||
/* form the path to the db location */
|
||||
len = strlen(dbpath) + strlen(db->treename) + strlen(DBEXT) + 1;
|
||||
MALLOC(dbfilepath, len, RET_ERR(PM_ERR_MEMORY, -1));
|
||||
sprintf(dbfilepath, "%s%s" DBEXT, dbpath, db->treename);
|
||||
|
||||
if(force) {
|
||||
/* if forcing update, remove the old dir and extract the db */
|
||||
if(_alpm_rmrf(syncdbpath) != 0) {
|
||||
_alpm_log(PM_LOG_ERROR, _("could not remove database %s\n"), db->treename);
|
||||
RET_ERR(PM_ERR_DB_REMOVE, -1);
|
||||
} else {
|
||||
_alpm_log(PM_LOG_DEBUG, "database dir %s removed\n", _alpm_db_path(db));
|
||||
}
|
||||
} else {
|
||||
/* remove the old dir */
|
||||
_alpm_log(PM_LOG_DEBUG, "flushing database %s\n", db->path);
|
||||
for(lp = _alpm_db_get_pkgcache(db); lp; lp = lp->next) {
|
||||
pmpkg_t *pkg = lp->data;
|
||||
if(pkg && _alpm_db_remove(db, pkg) == -1) {
|
||||
_alpm_log(PM_LOG_ERROR, _("could not remove database entry %s%s\n"),
|
||||
db->treename, pkg->name);
|
||||
RET_ERR(PM_ERR_DB_REMOVE, -1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Cache needs to be rebuilt */
|
||||
_alpm_db_free_pkgcache(db);
|
||||
|
||||
/* form the path to the db location */
|
||||
len = strlen(dbpath) + strlen(db->treename) + strlen(DBEXT) + 1;
|
||||
MALLOC(dbfilepath, len, RET_ERR(PM_ERR_MEMORY, -1));
|
||||
sprintf(dbfilepath, "%s%s" DBEXT, dbpath, db->treename);
|
||||
|
||||
/* uncompress the sync database */
|
||||
ret = _alpm_unpack(dbfilepath, db->path, NULL);
|
||||
/* if not forcing, only remove and extract what is necessary */
|
||||
ret = dirlist_from_tar(dbfilepath, &newdirlist);
|
||||
if(ret) {
|
||||
free(dbfilepath);
|
||||
RET_ERR(PM_ERR_SYSTEM, -1);
|
||||
goto cleanup;
|
||||
}
|
||||
ret = dirlist_from_fs(syncdbpath, &olddirlist);
|
||||
if(ret) {
|
||||
goto cleanup;
|
||||
}
|
||||
unlink(dbfilepath);
|
||||
free(dbfilepath);
|
||||
|
||||
/* if we have a new mtime, set the DB last update value */
|
||||
if(newmtime) {
|
||||
_alpm_log(PM_LOG_DEBUG, "sync: new mtime for %s: %ju\n",
|
||||
db->treename, (uintmax_t)newmtime);
|
||||
setlastupdate(db, newmtime);
|
||||
alpm_list_diff_sorted(olddirlist, newdirlist, _alpm_str_cmp, &onlyold, &onlynew);
|
||||
|
||||
ret = remove_olddir(syncdbpath, onlyold);
|
||||
if(ret) {
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
/* Cache needs to be rebuilt */
|
||||
_alpm_db_free_pkgcache(db);
|
||||
|
||||
checkdbdir(db);
|
||||
ret = _alpm_unpack(dbfilepath, syncdbpath, onlynew, 0);
|
||||
|
||||
cleanup:
|
||||
FREELIST(newdirlist);
|
||||
FREELIST(olddirlist);
|
||||
alpm_list_free(onlynew);
|
||||
alpm_list_free(onlyold);
|
||||
|
||||
free(dbfilepath);
|
||||
|
||||
if(ret) {
|
||||
RET_ERR(PM_ERR_SYSTEM, -1);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
int _alpm_db_open(pmdb_t *db)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL) {
|
||||
RET_ERR(PM_ERR_DB_NULL, -1);
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "opening database from path '%s'\n", db->path);
|
||||
db->handle = opendir(db->path);
|
||||
if(db->handle == NULL) {
|
||||
RET_ERR(PM_ERR_DB_OPEN, -1);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
void _alpm_db_close(pmdb_t *db)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(db->handle) {
|
||||
closedir(db->handle);
|
||||
db->handle = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static int splitname(const char *target, pmpkg_t *pkg)
|
||||
{
|
||||
@@ -290,13 +351,19 @@ int _alpm_db_populate(pmdb_t *db)
|
||||
struct dirent *ent = NULL;
|
||||
struct stat sbuf;
|
||||
char path[PATH_MAX];
|
||||
const char *dbpath;
|
||||
DIR *dbdir;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
|
||||
|
||||
rewinddir(db->handle);
|
||||
while((ent = readdir(db->handle)) != NULL) {
|
||||
dbpath = _alpm_db_path(db);
|
||||
dbdir = opendir(dbpath);
|
||||
if(dbdir == NULL) {
|
||||
return(0);
|
||||
}
|
||||
while((ent = readdir(dbdir)) != NULL) {
|
||||
const char *name = ent->d_name;
|
||||
pmpkg_t *pkg;
|
||||
|
||||
@@ -304,13 +371,14 @@ int _alpm_db_populate(pmdb_t *db)
|
||||
continue;
|
||||
}
|
||||
/* stat the entry, make sure it's a directory */
|
||||
snprintf(path, PATH_MAX, "%s%s", db->path, name);
|
||||
snprintf(path, PATH_MAX, "%s%s", dbpath, name);
|
||||
if(stat(path, &sbuf) != 0 || !S_ISDIR(sbuf.st_mode)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
pkg = _alpm_pkg_new();
|
||||
if(pkg == NULL) {
|
||||
closedir(dbdir);
|
||||
return(-1);
|
||||
}
|
||||
/* split the db entry name */
|
||||
@@ -321,6 +389,13 @@ int _alpm_db_populate(pmdb_t *db)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* duplicated database entries are not allowed */
|
||||
if(_alpm_pkg_find(db->pkgcache, pkg->name)) {
|
||||
_alpm_log(PM_LOG_ERROR, _("duplicated database entry '%s'\n"), pkg->name);
|
||||
_alpm_pkg_free(pkg);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* explicitly read with only 'BASE' data, accessors will handle the rest */
|
||||
if(_alpm_db_read(db, pkg, INFRQ_BASE) == -1) {
|
||||
_alpm_log(PM_LOG_ERROR, _("corrupted database entry '%s'\n"), name);
|
||||
@@ -336,6 +411,7 @@ int _alpm_db_populate(pmdb_t *db)
|
||||
count++;
|
||||
}
|
||||
|
||||
closedir(dbdir);
|
||||
db->pkgcache = alpm_list_msort(db->pkgcache, count, _alpm_pkg_cmp);
|
||||
return(count);
|
||||
}
|
||||
@@ -345,10 +421,12 @@ static char *get_pkgpath(pmdb_t *db, pmpkg_t *info)
|
||||
{
|
||||
size_t len;
|
||||
char *pkgpath;
|
||||
const char *dbpath;
|
||||
|
||||
len = strlen(db->path) + strlen(info->name) + strlen(info->version) + 3;
|
||||
dbpath = _alpm_db_path(db);
|
||||
len = strlen(dbpath) + strlen(info->name) + strlen(info->version) + 3;
|
||||
MALLOC(pkgpath, len, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
sprintf(pkgpath, "%s%s-%s/", db->path, info->name, info->version);
|
||||
sprintf(pkgpath, "%s%s-%s/", dbpath, info->name, info->version);
|
||||
return(pkgpath);
|
||||
}
|
||||
|
||||
@@ -357,6 +435,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
FILE *fp = NULL;
|
||||
char path[PATH_MAX];
|
||||
char line[513];
|
||||
int sline = sizeof(line)-1;
|
||||
char *pkgpath = NULL;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
@@ -388,7 +467,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
info->name, inforeq);
|
||||
|
||||
/* clear out 'line', to be certain - and to make valgrind happy */
|
||||
memset(line, 0, 513);
|
||||
memset(line, 0, sline+1);
|
||||
|
||||
pkgpath = get_pkgpath(db, info);
|
||||
|
||||
@@ -412,7 +491,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
}
|
||||
_alpm_strtrim(line);
|
||||
if(strcmp(line, "%NAME%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
if(strcmp(_alpm_strtrim(line), info->name) != 0) {
|
||||
@@ -420,7 +499,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
"mismatch on package %s\n"), db->treename, info->name);
|
||||
}
|
||||
} else if(strcmp(line, "%VERSION%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
if(strcmp(_alpm_strtrim(line), info->version) != 0) {
|
||||
@@ -428,46 +507,46 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
"mismatch on package %s\n"), db->treename, info->name);
|
||||
}
|
||||
} else if(strcmp(line, "%FILENAME%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
STRDUP(info->filename, _alpm_strtrim(line), goto error);
|
||||
} else if(strcmp(line, "%DESC%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
STRDUP(info->desc, _alpm_strtrim(line), goto error);
|
||||
} else if(strcmp(line, "%GROUPS%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
char *linedup;
|
||||
STRDUP(linedup, _alpm_strtrim(line), goto error);
|
||||
info->groups = alpm_list_add(info->groups, linedup);
|
||||
}
|
||||
} else if(strcmp(line, "%URL%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
STRDUP(info->url, _alpm_strtrim(line), goto error);
|
||||
} else if(strcmp(line, "%LICENSE%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
char *linedup;
|
||||
STRDUP(linedup, _alpm_strtrim(line), goto error);
|
||||
info->licenses = alpm_list_add(info->licenses, linedup);
|
||||
}
|
||||
} else if(strcmp(line, "%ARCH%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
STRDUP(info->arch, _alpm_strtrim(line), goto error);
|
||||
} else if(strcmp(line, "%BUILDDATE%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
_alpm_strtrim(line);
|
||||
|
||||
char first = tolower(line[0]);
|
||||
char first = tolower((unsigned char)line[0]);
|
||||
if(first > 'a' && first < 'z') {
|
||||
struct tm tmp_tm = {0}; //initialize to null incase of failure
|
||||
struct tm tmp_tm = {0}; /* initialize to null in case of failure */
|
||||
setlocale(LC_TIME, "C");
|
||||
strptime(line, "%a %b %e %H:%M:%S %Y", &tmp_tm);
|
||||
info->builddate = mktime(&tmp_tm);
|
||||
@@ -476,14 +555,14 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
info->builddate = atol(line);
|
||||
}
|
||||
} else if(strcmp(line, "%INSTALLDATE%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
_alpm_strtrim(line);
|
||||
|
||||
char first = tolower(line[0]);
|
||||
char first = tolower((unsigned char)line[0]);
|
||||
if(first > 'a' && first < 'z') {
|
||||
struct tm tmp_tm = {0}; //initialize to null incase of failure
|
||||
struct tm tmp_tm = {0}; /* initialize to null in case of failure */
|
||||
setlocale(LC_TIME, "C");
|
||||
strptime(line, "%a %b %e %H:%M:%S %Y", &tmp_tm);
|
||||
info->installdate = mktime(&tmp_tm);
|
||||
@@ -492,22 +571,22 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
info->installdate = atol(line);
|
||||
}
|
||||
} else if(strcmp(line, "%PACKAGER%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
STRDUP(info->packager, _alpm_strtrim(line), goto error);
|
||||
} else if(strcmp(line, "%REASON%") == 0) {
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
info->reason = atol(_alpm_strtrim(line));
|
||||
info->reason = (pmpkgreason_t)atol(_alpm_strtrim(line));
|
||||
} else if(strcmp(line, "%SIZE%") == 0 || strcmp(line, "%CSIZE%") == 0) {
|
||||
/* NOTE: the CSIZE and SIZE fields both share the "size" field
|
||||
* in the pkginfo_t struct. This can be done b/c CSIZE
|
||||
* is currently only used in sync databases, and SIZE is
|
||||
* only used in local databases.
|
||||
*/
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
info->size = atol(_alpm_strtrim(line));
|
||||
@@ -518,19 +597,19 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
} else if(strcmp(line, "%ISIZE%") == 0) {
|
||||
/* ISIZE (installed size) tag only appears in sync repositories,
|
||||
* not the local one. */
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
info->isize = atol(_alpm_strtrim(line));
|
||||
} else if(strcmp(line, "%MD5SUM%") == 0) {
|
||||
/* MD5SUM tag only appears in sync repositories,
|
||||
* not the local one. */
|
||||
if(fgets(line, 512, fp) == NULL) {
|
||||
if(fgets(line, sline, fp) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
STRDUP(info->md5sum, _alpm_strtrim(line), goto error);
|
||||
} else if(strcmp(line, "%REPLACES%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
char *linedup;
|
||||
STRDUP(linedup, _alpm_strtrim(line), goto error);
|
||||
info->replaces = alpm_list_add(info->replaces, linedup);
|
||||
@@ -553,13 +632,13 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
while(fgets(line, 256, fp)) {
|
||||
_alpm_strtrim(line);
|
||||
if(strcmp(line, "%FILES%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
char *linedup;
|
||||
STRDUP(linedup, _alpm_strtrim(line), goto error);
|
||||
info->files = alpm_list_add(info->files, linedup);
|
||||
}
|
||||
} else if(strcmp(line, "%BACKUP%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
char *linedup;
|
||||
STRDUP(linedup, _alpm_strtrim(line), goto error);
|
||||
info->backup = alpm_list_add(info->backup, linedup);
|
||||
@@ -581,24 +660,24 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
fgets(line, 255, fp);
|
||||
_alpm_strtrim(line);
|
||||
if(strcmp(line, "%DEPENDS%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
pmdepend_t *dep = _alpm_splitdep(_alpm_strtrim(line));
|
||||
info->depends = alpm_list_add(info->depends, dep);
|
||||
}
|
||||
} else if(strcmp(line, "%OPTDEPENDS%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
char *linedup;
|
||||
STRDUP(linedup, _alpm_strtrim(line), goto error);
|
||||
info->optdepends = alpm_list_add(info->optdepends, linedup);
|
||||
}
|
||||
} else if(strcmp(line, "%CONFLICTS%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
char *linedup;
|
||||
STRDUP(linedup, _alpm_strtrim(line), goto error);
|
||||
info->conflicts = alpm_list_add(info->conflicts, linedup);
|
||||
}
|
||||
} else if(strcmp(line, "%PROVIDES%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
char *linedup;
|
||||
STRDUP(linedup, _alpm_strtrim(line), goto error);
|
||||
info->provides = alpm_list_add(info->provides, linedup);
|
||||
@@ -617,8 +696,11 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
fgets(line, 255, fp);
|
||||
_alpm_strtrim(line);
|
||||
if(strcmp(line, "%DELTAS%") == 0) {
|
||||
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
|
||||
info->deltas = alpm_list_add(info->deltas, _alpm_delta_parse(line));
|
||||
while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) {
|
||||
pmdelta_t *delta = _alpm_delta_parse(line);
|
||||
if(delta) {
|
||||
info->deltas = alpm_list_add(info->deltas, delta);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -649,6 +731,30 @@ error:
|
||||
return(-1);
|
||||
}
|
||||
|
||||
int _alpm_db_prepare(pmdb_t *db, pmpkg_t *info)
|
||||
{
|
||||
mode_t oldmask;
|
||||
int retval = 0;
|
||||
char *pkgpath = NULL;
|
||||
|
||||
if(checkdbdir(db) != 0) {
|
||||
return(-1);
|
||||
}
|
||||
|
||||
oldmask = umask(0000);
|
||||
pkgpath = get_pkgpath(db, info);
|
||||
|
||||
if((retval = mkdir(pkgpath, 0755)) != 0) {
|
||||
_alpm_log(PM_LOG_ERROR, _("could not create directory %s: %s\n"),
|
||||
pkgpath, strerror(errno));
|
||||
}
|
||||
|
||||
free(pkgpath);
|
||||
umask(oldmask);
|
||||
|
||||
return(retval);
|
||||
}
|
||||
|
||||
int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
{
|
||||
FILE *fp = NULL;
|
||||
@@ -667,10 +773,8 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
|
||||
pkgpath = get_pkgpath(db, info);
|
||||
|
||||
oldmask = umask(0000);
|
||||
mkdir(pkgpath, 0755);
|
||||
/* make sure we have a sane umask */
|
||||
umask(0022);
|
||||
oldmask = umask(0022);
|
||||
|
||||
if(strcmp(db->treename, "local") == 0) {
|
||||
local = 1;
|
||||
@@ -727,11 +831,11 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
}
|
||||
if(info->builddate) {
|
||||
fprintf(fp, "%%BUILDDATE%%\n"
|
||||
"%ju\n\n", (uintmax_t)info->builddate);
|
||||
"%ld\n\n", info->builddate);
|
||||
}
|
||||
if(info->installdate) {
|
||||
fprintf(fp, "%%INSTALLDATE%%\n"
|
||||
"%ju\n\n", (uintmax_t)info->installdate);
|
||||
"%ld\n\n", info->installdate);
|
||||
}
|
||||
if(info->packager) {
|
||||
fprintf(fp, "%%PACKAGER%%\n"
|
||||
@@ -740,7 +844,7 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
if(info->isize) {
|
||||
/* only write installed size, csize is irrelevant once installed */
|
||||
fprintf(fp, "%%SIZE%%\n"
|
||||
"%ju\n\n", (intmax_t)info->isize);
|
||||
"%jd\n\n", (intmax_t)info->isize);
|
||||
}
|
||||
if(info->reason) {
|
||||
fprintf(fp, "%%REASON%%\n"
|
||||
@@ -749,11 +853,11 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
} else {
|
||||
if(info->size) {
|
||||
fprintf(fp, "%%CSIZE%%\n"
|
||||
"%ju\n\n", (intmax_t)info->size);
|
||||
"%jd\n\n", (intmax_t)info->size);
|
||||
}
|
||||
if(info->isize) {
|
||||
fprintf(fp, "%%ISIZE%%\n"
|
||||
"%ju\n\n", (intmax_t)info->isize);
|
||||
"%jd\n\n", (intmax_t)info->isize);
|
||||
}
|
||||
if(info->md5sum) {
|
||||
fprintf(fp, "%%MD5SUM%%\n"
|
||||
@@ -805,7 +909,7 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
|
||||
if(info->depends) {
|
||||
fputs("%DEPENDS%\n", fp);
|
||||
for(lp = info->depends; lp; lp = lp->next) {
|
||||
char *depstring = alpm_dep_get_string(lp->data);
|
||||
char *depstring = alpm_dep_compute_string(lp->data);
|
||||
fprintf(fp, "%s\n", depstring);
|
||||
free(depstring);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* be_package.c
|
||||
*
|
||||
* Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -81,9 +82,9 @@ static int parse_descfile(struct archive *a, pmpkg_t *newpkg)
|
||||
} else if(!strcmp(key, "license")) {
|
||||
newpkg->licenses = alpm_list_add(newpkg->licenses, strdup(ptr));
|
||||
} else if(!strcmp(key, "builddate")) {
|
||||
char first = tolower(ptr[0]);
|
||||
char first = tolower((unsigned char)ptr[0]);
|
||||
if(first > 'a' && first < 'z') {
|
||||
struct tm tmp_tm = {0}; //initialize to null in case of failure
|
||||
struct tm tmp_tm = {0}; /* initialize to null in case of failure */
|
||||
setlocale(LC_TIME, "C");
|
||||
strptime(ptr, "%a %b %e %H:%M:%S %Y", &tmp_tm);
|
||||
newpkg->builddate = mktime(&tmp_tm);
|
||||
@@ -111,6 +112,8 @@ static int parse_descfile(struct archive *a, pmpkg_t *newpkg)
|
||||
newpkg->provides = alpm_list_add(newpkg->provides, strdup(ptr));
|
||||
} else if(!strcmp(key, "backup")) {
|
||||
newpkg->backup = alpm_list_add(newpkg->backup, strdup(ptr));
|
||||
} else if(!strcmp(key, "makepkgopt")) {
|
||||
/* not used atm */
|
||||
} else {
|
||||
_alpm_log(PM_LOG_DEBUG, "%s: syntax error in description file line %d\n",
|
||||
newpkg->name ? newpkg->name : "error", linenum);
|
||||
@@ -129,7 +132,7 @@ static int parse_descfile(struct archive *a, pmpkg_t *newpkg)
|
||||
* through the full archive
|
||||
* @return An information filled pmpkg_t struct
|
||||
*/
|
||||
static pmpkg_t *pkg_load(const char *pkgfile, unsigned short full)
|
||||
static pmpkg_t *pkg_load(const char *pkgfile, int full)
|
||||
{
|
||||
int ret = ARCHIVE_OK;
|
||||
int config = 0;
|
||||
@@ -266,8 +269,7 @@ error:
|
||||
* @param pkg address of the package pointer
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_pkg_load(const char *filename, unsigned short full,
|
||||
pmpkg_t **pkg)
|
||||
int SYMEXPORT alpm_pkg_load(const char *filename, int full, pmpkg_t **pkg)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* cache.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -19,7 +20,6 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
@@ -55,6 +55,7 @@ int _alpm_db_load_pkgcache(pmdb_t *db)
|
||||
return(-1);
|
||||
}
|
||||
|
||||
db->pkgcache_loaded = 1;
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -62,7 +63,7 @@ void _alpm_db_free_pkgcache(pmdb_t *db)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL || db->pkgcache == NULL) {
|
||||
if(db == NULL || !db->pkgcache_loaded) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -72,10 +73,9 @@ void _alpm_db_free_pkgcache(pmdb_t *db)
|
||||
alpm_list_free_inner(db->pkgcache, (alpm_list_fn_free)_alpm_pkg_free);
|
||||
alpm_list_free(db->pkgcache);
|
||||
db->pkgcache = NULL;
|
||||
db->pkgcache_loaded = 0;
|
||||
|
||||
if(db->grpcache) {
|
||||
_alpm_db_free_grpcache(db);
|
||||
}
|
||||
_alpm_db_free_grpcache(db);
|
||||
}
|
||||
|
||||
alpm_list_t *_alpm_db_get_pkgcache(pmdb_t *db)
|
||||
@@ -86,13 +86,13 @@ alpm_list_t *_alpm_db_get_pkgcache(pmdb_t *db)
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
if(!db->pkgcache) {
|
||||
if(!db->pkgcache_loaded) {
|
||||
_alpm_db_load_pkgcache(db);
|
||||
}
|
||||
|
||||
/* hmmm, still NULL ?*/
|
||||
if(!db->pkgcache) {
|
||||
_alpm_log(PM_LOG_DEBUG, "error: pkgcache is NULL for db '%s'\n", db->treename);
|
||||
_alpm_log(PM_LOG_DEBUG, "warning: pkgcache is NULL for db '%s'\n", db->treename);
|
||||
}
|
||||
|
||||
return(db->pkgcache);
|
||||
@@ -105,7 +105,7 @@ int _alpm_db_add_pkgincache(pmdb_t *db, pmpkg_t *pkg)
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL || pkg == NULL) {
|
||||
if(db == NULL || !db->pkgcache_loaded || pkg == NULL) {
|
||||
return(-1);
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ int _alpm_db_remove_pkgfromcache(pmdb_t *db, pmpkg_t *pkg)
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL || pkg == NULL) {
|
||||
if(db == NULL || !db->pkgcache_loaded || pkg == NULL) {
|
||||
return(-1);
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ pmpkg_t *_alpm_db_get_pkgfromcache(pmdb_t *db, const char *target)
|
||||
|
||||
alpm_list_t *pkgcache = _alpm_db_get_pkgcache(db);
|
||||
if(!pkgcache) {
|
||||
_alpm_log(PM_LOG_DEBUG, "error: failed to get '%s' from NULL pkgcache\n",
|
||||
_alpm_log(PM_LOG_DEBUG, "warning: failed to get '%s' from NULL pkgcache\n",
|
||||
target);
|
||||
return(NULL);
|
||||
}
|
||||
@@ -193,10 +193,6 @@ int _alpm_db_load_grpcache(pmdb_t *db)
|
||||
return(-1);
|
||||
}
|
||||
|
||||
if(db->pkgcache == NULL) {
|
||||
_alpm_db_load_pkgcache(db);
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "loading group cache for repository '%s'\n",
|
||||
db->treename);
|
||||
|
||||
@@ -231,6 +227,7 @@ int _alpm_db_load_grpcache(pmdb_t *db)
|
||||
}
|
||||
}
|
||||
|
||||
db->grpcache_loaded = 1;
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -240,15 +237,19 @@ void _alpm_db_free_grpcache(pmdb_t *db)
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL || db->grpcache == NULL) {
|
||||
if(db == NULL || !db->grpcache_loaded) {
|
||||
return;
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "freeing group cache for repository '%s'\n",
|
||||
db->treename);
|
||||
|
||||
for(lg = db->grpcache; lg; lg = lg->next) {
|
||||
_alpm_grp_free(lg->data);
|
||||
lg->data = NULL;
|
||||
}
|
||||
FREELIST(db->grpcache);
|
||||
db->grpcache_loaded = 0;
|
||||
}
|
||||
|
||||
alpm_list_t *_alpm_db_get_grpcache(pmdb_t *db)
|
||||
@@ -259,7 +260,7 @@ alpm_list_t *_alpm_db_get_grpcache(pmdb_t *db)
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
if(db->grpcache == NULL) {
|
||||
if(!db->grpcache_loaded) {
|
||||
_alpm_db_load_grpcache(db);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* cache.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* conflict.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
|
||||
* Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
@@ -25,10 +26,10 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include <sys/stat.h>
|
||||
#include <dirent.h>
|
||||
|
||||
/* libalpm */
|
||||
#include "conflict.h"
|
||||
@@ -40,7 +41,7 @@
|
||||
#include "cache.h"
|
||||
#include "deps.h"
|
||||
|
||||
pmconflict_t *_alpm_conflict_new(const char *package1, const char *package2)
|
||||
pmconflict_t *_alpm_conflict_new(const char *package1, const char *package2, const char *reason)
|
||||
{
|
||||
pmconflict_t *conflict;
|
||||
|
||||
@@ -50,6 +51,7 @@ pmconflict_t *_alpm_conflict_new(const char *package1, const char *package2)
|
||||
|
||||
STRDUP(conflict->package1, package1, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
STRDUP(conflict->package2, package2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
STRDUP(conflict->reason, reason, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
return(conflict);
|
||||
}
|
||||
@@ -58,6 +60,7 @@ void _alpm_conflict_free(pmconflict_t *conflict)
|
||||
{
|
||||
FREE(conflict->package2);
|
||||
FREE(conflict->package1);
|
||||
FREE(conflict->reason);
|
||||
FREE(conflict);
|
||||
}
|
||||
|
||||
@@ -68,6 +71,7 @@ pmconflict_t *_alpm_conflict_dup(const pmconflict_t *conflict)
|
||||
|
||||
STRDUP(newconflict->package1, conflict->package1, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
STRDUP(newconflict->package2, conflict->package2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
STRDUP(newconflict->reason, conflict->reason, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
return(newconflict);
|
||||
}
|
||||
@@ -121,9 +125,9 @@ static int does_conflict(pmpkg_t *pkg1, const char *conflict, pmpkg_t *pkg2)
|
||||
* @param pkg2 package causing conflict
|
||||
*/
|
||||
static void add_conflict(alpm_list_t **baddeps, const char *pkg1,
|
||||
const char *pkg2)
|
||||
const char *pkg2, const char *reason)
|
||||
{
|
||||
pmconflict_t *conflict = _alpm_conflict_new(pkg1, pkg2);
|
||||
pmconflict_t *conflict = _alpm_conflict_new(pkg1, pkg2, reason);
|
||||
if(conflict && !_alpm_conflict_isin(conflict, *baddeps)) {
|
||||
*baddeps = alpm_list_add(*baddeps, conflict);
|
||||
} else {
|
||||
@@ -167,9 +171,9 @@ static void check_conflict(alpm_list_t *list1, alpm_list_t *list2,
|
||||
|
||||
if(does_conflict(pkg1, conflict, pkg2)) {
|
||||
if(order >= 0) {
|
||||
add_conflict(baddeps, pkg1name, pkg2name);
|
||||
add_conflict(baddeps, pkg1name, pkg2name, conflict);
|
||||
} else {
|
||||
add_conflict(baddeps, pkg2name, pkg1name);
|
||||
add_conflict(baddeps, pkg2name, pkg1name, conflict);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -219,11 +223,11 @@ alpm_list_t *_alpm_outerconflicts(pmdb_t *db, alpm_list_t *packages)
|
||||
|
||||
/** Check the package conflicts in a database
|
||||
*
|
||||
* @param db_local the database to check
|
||||
* @param pkglist the list of packages to check
|
||||
* @return an alpm_list_t of pmconflict_t
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_checkdbconflicts(pmdb_t *db_local) {
|
||||
return(_alpm_innerconflicts(_alpm_db_get_pkgcache(db_local)));
|
||||
alpm_list_t SYMEXPORT *alpm_checkconflicts(alpm_list_t *pkglist) {
|
||||
return(_alpm_innerconflicts(pkglist));
|
||||
}
|
||||
|
||||
/* Returns a alpm_list_t* of file conflicts.
|
||||
@@ -348,19 +352,63 @@ void _alpm_fileconflict_free(pmfileconflict_t *conflict)
|
||||
FREE(conflict);
|
||||
}
|
||||
|
||||
static int dir_belongsto_pkg(char *dirpath, pmpkg_t *pkg)
|
||||
{
|
||||
struct dirent *ent = NULL;
|
||||
struct stat sbuf;
|
||||
char path[PATH_MAX];
|
||||
char abspath[PATH_MAX];
|
||||
DIR *dir;
|
||||
|
||||
snprintf(abspath, PATH_MAX, "%s%s", handle->root, dirpath);
|
||||
dir = opendir(abspath);
|
||||
if(dir == NULL) {
|
||||
return(1);
|
||||
}
|
||||
while((ent = readdir(dir)) != NULL) {
|
||||
const char *name = ent->d_name;
|
||||
|
||||
if(strcmp(name, ".") == 0 || strcmp(name, "..") == 0) {
|
||||
continue;
|
||||
}
|
||||
snprintf(path, PATH_MAX, "%s/%s", dirpath, name);
|
||||
snprintf(abspath, PATH_MAX, "%s%s", handle->root, path);
|
||||
if(stat(abspath, &sbuf) != 0) {
|
||||
continue;
|
||||
}
|
||||
if(S_ISDIR(sbuf.st_mode)) {
|
||||
if(dir_belongsto_pkg(path, pkg)) {
|
||||
continue;
|
||||
} else {
|
||||
closedir(dir);
|
||||
return(0);
|
||||
}
|
||||
} else {
|
||||
if(alpm_list_find_str(alpm_pkg_get_files(pkg),path)) {
|
||||
continue;
|
||||
} else {
|
||||
closedir(dir);
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir(dir);
|
||||
return(1);
|
||||
}
|
||||
|
||||
/* Find file conflicts that may occur during the transaction with two checks:
|
||||
* 1: check every target against every target
|
||||
* 2: check every target against the filesystem */
|
||||
alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *root)
|
||||
alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans,
|
||||
alpm_list_t *upgrade, alpm_list_t *remove)
|
||||
{
|
||||
alpm_list_t *i, *conflicts = NULL;
|
||||
alpm_list_t *targets = trans->packages;
|
||||
int numtargs = alpm_list_count(targets);
|
||||
alpm_list_t *i, *j, *conflicts = NULL;
|
||||
int numtargs = alpm_list_count(upgrade);
|
||||
int current;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL || targets == NULL || root == NULL) {
|
||||
if(db == NULL || upgrade == NULL || trans == NULL) {
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
@@ -368,8 +416,8 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
|
||||
* be possible with real transactions. Right now we only do half as much
|
||||
* here as we do when we actually extract files in add.c with our 12
|
||||
* different cases. */
|
||||
for(current = 1, i = targets; i; i = i->next, current++) {
|
||||
alpm_list_t *j, *k, *tmpfiles = NULL;
|
||||
for(current = 1, i = upgrade; i; i = i->next, current++) {
|
||||
alpm_list_t *k, *tmpfiles = NULL;
|
||||
pmpkg_t *p1, *p2, *dbpkg;
|
||||
char path[PATH_MAX+1];
|
||||
|
||||
@@ -393,7 +441,7 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
|
||||
|
||||
if(tmpfiles) {
|
||||
for(k = tmpfiles; k; k = k->next) {
|
||||
snprintf(path, PATH_MAX, "%s%s", root, (char *)k->data);
|
||||
snprintf(path, PATH_MAX, "%s%s", handle->root, (char *)k->data);
|
||||
conflicts = add_fileconflict(conflicts, PM_FILECONFLICT_TARGET, path,
|
||||
alpm_pkg_get_name(p1), alpm_pkg_get_name(p2));
|
||||
}
|
||||
@@ -409,7 +457,7 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
|
||||
_alpm_log(PM_LOG_DEBUG, "searching for filesystem conflicts: %s\n", p1->name);
|
||||
dbpkg = _alpm_db_get_pkgfromcache(db, p1->name);
|
||||
|
||||
/* Do two different checks here. f the package is currently installed,
|
||||
/* Do two different checks here. If the package is currently installed,
|
||||
* then only check files that are new in the new package. If the package
|
||||
* is not currently installed, then simply stat the whole filelist */
|
||||
if(dbpkg) {
|
||||
@@ -421,12 +469,10 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
|
||||
tmpfiles = alpm_list_strdup(alpm_pkg_get_files(p1));
|
||||
}
|
||||
|
||||
/* loop over each file to be installed */
|
||||
for(j = tmpfiles; j; j = j->next) {
|
||||
int skip_conflict = 0;
|
||||
filestr = j->data;
|
||||
|
||||
snprintf(path, PATH_MAX, "%s%s", root, filestr);
|
||||
snprintf(path, PATH_MAX, "%s%s", handle->root, filestr);
|
||||
|
||||
/* stat the file - if it exists, do some checks */
|
||||
if(_alpm_lstat(path, &lsbuf) != 0) {
|
||||
@@ -437,47 +483,74 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
|
||||
if(path[strlen(path)-1] == '/') {
|
||||
if(S_ISDIR(lsbuf.st_mode)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "%s is a directory, not a conflict\n", path);
|
||||
skip_conflict = 1;
|
||||
continue;
|
||||
} else if(S_ISLNK(lsbuf.st_mode) && S_ISDIR(sbuf.st_mode)) {
|
||||
_alpm_log(PM_LOG_DEBUG,
|
||||
"%s is a symlink to a dir, hopefully not a conflict\n", path);
|
||||
skip_conflict = 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(!skip_conflict) {
|
||||
_alpm_log(PM_LOG_DEBUG, "checking possible conflict: %s\n", path);
|
||||
_alpm_log(PM_LOG_DEBUG, "checking possible conflict: %s\n", path);
|
||||
|
||||
/* Look at all the targets to see if file has changed hands */
|
||||
int resolved_conflict = 0; /* have we acted on this conflict? */
|
||||
for(k = targets; k; k = k->next) {
|
||||
p2 = k->data;
|
||||
if(!p2 || strcmp(p1->name, p2->name) == 0) {
|
||||
continue;
|
||||
}
|
||||
int resolved_conflict = 0; /* have we acted on this conflict? */
|
||||
|
||||
pmpkg_t *localp2 = _alpm_db_get_pkgfromcache(db, p2->name);
|
||||
|
||||
/* Check if it used to exist in a package, but doesn't anymore */
|
||||
alpm_list_t *pkgfiles, *localfiles; /* added for readability */
|
||||
pkgfiles = alpm_pkg_get_files(p2);
|
||||
localfiles = alpm_pkg_get_files(localp2);
|
||||
|
||||
if(localp2 && !alpm_list_find_str(pkgfiles, filestr)
|
||||
&& alpm_list_find_str(localfiles, filestr)) {
|
||||
/* skip removal of file, but not add. this will prevent a second
|
||||
* package from removing the file when it was already installed
|
||||
* by its new owner (whether the file is in backup array or not */
|
||||
trans->skip_remove = alpm_list_add(trans->skip_remove, strdup(path));
|
||||
_alpm_log(PM_LOG_DEBUG, "file changed packages, adding to remove skiplist: %s\n", filestr);
|
||||
resolved_conflict = 1;
|
||||
break;
|
||||
}
|
||||
/* Check remove list (will we remove the conflicting local file?) */
|
||||
for(k = remove; k && !resolved_conflict; k = k->next) {
|
||||
pmpkg_t *rempkg = k->data;
|
||||
if(rempkg && alpm_list_find_str(alpm_pkg_get_files(rempkg), filestr)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "local file will be removed, not a conflict: %s\n", filestr);
|
||||
resolved_conflict = 1;
|
||||
}
|
||||
if(!resolved_conflict) {
|
||||
_alpm_log(PM_LOG_DEBUG, "file found in conflict: %s\n", path);
|
||||
conflicts = add_fileconflict(conflicts, PM_FILECONFLICT_FILESYSTEM,
|
||||
path, p1->name, NULL);
|
||||
}
|
||||
|
||||
/* Look at all the targets to see if file has changed hands */
|
||||
for(k = upgrade; k && !resolved_conflict; k = k->next) {
|
||||
p2 = k->data;
|
||||
if(!p2 || strcmp(p1->name, p2->name) == 0) {
|
||||
continue;
|
||||
}
|
||||
pmpkg_t *localp2 = _alpm_db_get_pkgfromcache(db, p2->name);
|
||||
|
||||
/* localp2->files will be removed (target conflicts are handled by CHECK 1) */
|
||||
if(localp2 && alpm_list_find_str(alpm_pkg_get_files(localp2), filestr)) {
|
||||
/* skip removal of file, but not add. this will prevent a second
|
||||
* package from removing the file when it was already installed
|
||||
* by its new owner (whether the file is in backup array or not */
|
||||
trans->skip_remove = alpm_list_add(trans->skip_remove, strdup(filestr));
|
||||
_alpm_log(PM_LOG_DEBUG, "file changed packages, adding to remove skiplist: %s\n", filestr);
|
||||
resolved_conflict = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* check if all files of the dir belong to the installed pkg */
|
||||
if(!resolved_conflict && S_ISDIR(lsbuf.st_mode) && dbpkg) {
|
||||
char *dir = malloc(strlen(filestr) + 2);
|
||||
sprintf(dir, "%s/", filestr);
|
||||
if(alpm_list_find_str(alpm_pkg_get_files(dbpkg),dir)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "check if all files in %s belongs to %s\n",
|
||||
dir, dbpkg->name);
|
||||
resolved_conflict = dir_belongsto_pkg(filestr, dbpkg);
|
||||
}
|
||||
free(dir);
|
||||
}
|
||||
|
||||
if(!resolved_conflict && dbpkg) {
|
||||
char *rpath = calloc(PATH_MAX+1, sizeof(char));
|
||||
if(!realpath(path, rpath)) {
|
||||
FREE(rpath);
|
||||
continue;
|
||||
}
|
||||
char *filestr = rpath + strlen(handle->root);
|
||||
if(alpm_list_find_str(alpm_pkg_get_files(dbpkg),filestr)) {
|
||||
resolved_conflict = 1;
|
||||
}
|
||||
free(rpath);
|
||||
}
|
||||
|
||||
if(!resolved_conflict) {
|
||||
_alpm_log(PM_LOG_DEBUG, "file found in conflict: %s\n", path);
|
||||
conflicts = add_fileconflict(conflicts, PM_FILECONFLICT_FILESYSTEM,
|
||||
path, p1->name, NULL);
|
||||
}
|
||||
}
|
||||
FREELIST(tmpfiles);
|
||||
@@ -508,6 +581,17 @@ const char SYMEXPORT *alpm_conflict_get_package2(pmconflict_t *conflict)
|
||||
return conflict->package2;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_conflict_get_reason(pmconflict_t *conflict)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(handle != NULL, return(NULL));
|
||||
ASSERT(conflict != NULL, return(NULL));
|
||||
|
||||
return conflict->reason;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_fileconflict_get_target(pmfileconflict_t *conflict)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* conflict.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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,6 +27,7 @@
|
||||
struct __pmconflict_t {
|
||||
char *package1;
|
||||
char *package2;
|
||||
char *reason;
|
||||
};
|
||||
|
||||
struct __pmfileconflict_t {
|
||||
@@ -35,13 +37,14 @@ struct __pmfileconflict_t {
|
||||
char *ctarget;
|
||||
};
|
||||
|
||||
pmconflict_t *_alpm_conflict_new(const char *package1, const char *package2);
|
||||
pmconflict_t *_alpm_conflict_new(const char *package1, const char *package2, const char *reason);
|
||||
pmconflict_t *_alpm_conflict_dup(const pmconflict_t *conflict);
|
||||
void _alpm_conflict_free(pmconflict_t *conflict);
|
||||
int _alpm_conflict_isin(pmconflict_t *needle, alpm_list_t *haystack);
|
||||
alpm_list_t *_alpm_innerconflicts(alpm_list_t *packages);
|
||||
alpm_list_t *_alpm_outerconflicts(pmdb_t *db, alpm_list_t *packages);
|
||||
alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *root);
|
||||
alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans,
|
||||
alpm_list_t *upgrade, alpm_list_t *remove);
|
||||
|
||||
void _alpm_fileconflict_free(pmfileconflict_t *conflict);
|
||||
|
||||
|
||||
182
lib/libalpm/db.c
182
lib/libalpm/db.c
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* db.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
* Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
|
||||
@@ -23,7 +24,6 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
@@ -86,9 +86,6 @@ static void _alpm_db_unregister(pmdb_t *db)
|
||||
return;
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "closing database '%s'\n", db->treename);
|
||||
_alpm_db_close(db);
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "unregistering database '%s'\n", db->treename);
|
||||
_alpm_db_free(db);
|
||||
}
|
||||
@@ -170,6 +167,8 @@ int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
int found = 0;
|
||||
char *newurl;
|
||||
int len = 0;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
@@ -186,10 +185,18 @@ int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url)
|
||||
RET_ERR(PM_ERR_DB_NOT_FOUND, -1);
|
||||
}
|
||||
|
||||
if(url && strlen(url)) {
|
||||
db->servers = alpm_list_add(db->servers, strdup(url));
|
||||
if(url) {
|
||||
len = strlen(url);
|
||||
}
|
||||
if(len) {
|
||||
newurl = strdup(url);
|
||||
/* strip the trailing slash if one exists */
|
||||
if(newurl[len - 1] == '/') {
|
||||
newurl[len - 1] = '\0';
|
||||
}
|
||||
db->servers = alpm_list_add(db->servers, newurl);
|
||||
_alpm_log(PM_LOG_DEBUG, "adding new server URL to database '%s': %s\n",
|
||||
db->treename, url);
|
||||
db->treename, newurl);
|
||||
} else {
|
||||
FREELIST(db->servers);
|
||||
_alpm_log(PM_LOG_DEBUG, "serverlist flushed for '%s'\n", db->treename);
|
||||
@@ -226,6 +233,7 @@ const char SYMEXPORT *alpm_db_get_url(const pmdb_t *db)
|
||||
/* Sanity checks */
|
||||
ASSERT(handle != NULL, return(NULL));
|
||||
ASSERT(db != NULL, return(NULL));
|
||||
ASSERT(db->servers != NULL, return(NULL));
|
||||
|
||||
url = (char*)db->servers->data;
|
||||
|
||||
@@ -254,7 +262,7 @@ pmpkg_t SYMEXPORT *alpm_db_get_pkg(pmdb_t *db, const char *name)
|
||||
* @param db pointer to the package database to get the package from
|
||||
* @return the list of packages on success, NULL on error
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_db_getpkgcache(pmdb_t *db)
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(pmdb_t *db)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
@@ -286,7 +294,7 @@ pmgrp_t SYMEXPORT *alpm_db_readgrp(pmdb_t *db, const char *name)
|
||||
* @param db pointer to the package database to get the group from
|
||||
* @return the list of groups on success, NULL on error
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_db_getgrpcache(pmdb_t *db)
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_grpcache(pmdb_t *db)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
@@ -313,20 +321,55 @@ alpm_list_t SYMEXPORT *alpm_db_search(pmdb_t *db, const alpm_list_t* needles)
|
||||
return(_alpm_db_search(db, needles));
|
||||
}
|
||||
|
||||
/* Set install reason for a package in db
|
||||
* @param db pointer to the package database
|
||||
* @param name the name of the package
|
||||
* @param reason the new install reason
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_db_set_pkgreason(pmdb_t *db, const char *name, pmpkgreason_t reason)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
|
||||
ASSERT(db != NULL && name != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
|
||||
|
||||
pmpkg_t *pkg = _alpm_db_get_pkgfromcache(db, name);
|
||||
if(pkg == NULL) {
|
||||
RET_ERR(PM_ERR_PKG_NOT_FOUND, -1);
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "setting install reason %u for %s/%s\n", reason, db->treename, name);
|
||||
/* read DESC */
|
||||
if(_alpm_db_read(db, pkg, INFRQ_DESC)) {
|
||||
return(-1);
|
||||
}
|
||||
if(pkg->reason == reason) {
|
||||
/* we are done */
|
||||
return(0);
|
||||
}
|
||||
/* set reason (in pkgcache) */
|
||||
pkg->reason = reason;
|
||||
/* write DESC */
|
||||
if(_alpm_db_write(db, pkg, INFRQ_DESC)) {
|
||||
return(-1);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
pmdb_t *_alpm_db_new(const char *dbpath, const char *treename)
|
||||
static pmdb_t *_alpm_db_new(const char *treename, int is_local)
|
||||
{
|
||||
pmdb_t *db;
|
||||
const size_t pathsize = strlen(dbpath) + strlen(treename) + 2;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
CALLOC(db, 1, sizeof(pmdb_t), RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
CALLOC(db->path, 1, pathsize, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
sprintf(db->path, "%s%s/", dbpath, treename);
|
||||
STRDUP(db->treename, treename, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
db->is_local = is_local;
|
||||
|
||||
return(db);
|
||||
}
|
||||
@@ -339,17 +382,48 @@ void _alpm_db_free(pmdb_t *db)
|
||||
_alpm_db_free_pkgcache(db);
|
||||
/* cleanup server list */
|
||||
FREELIST(db->servers);
|
||||
FREE(db->path);
|
||||
FREE(db->_path);
|
||||
FREE(db->treename);
|
||||
FREE(db);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const char *_alpm_db_path(pmdb_t *db)
|
||||
{
|
||||
if(!db) {
|
||||
return(NULL);
|
||||
}
|
||||
if(!db->_path) {
|
||||
const char *dbpath;
|
||||
size_t pathsize;
|
||||
|
||||
dbpath = alpm_option_get_dbpath();
|
||||
if(!dbpath) {
|
||||
_alpm_log(PM_LOG_ERROR, _("database path is undefined\n"));
|
||||
RET_ERR(PM_ERR_DB_OPEN, NULL);
|
||||
}
|
||||
|
||||
if(db->is_local) {
|
||||
pathsize = strlen(dbpath) + strlen(db->treename) + 2;
|
||||
CALLOC(db->_path, 1, pathsize, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
sprintf(db->_path, "%s%s/", dbpath, db->treename);
|
||||
} else {
|
||||
pathsize = strlen(dbpath) + 5 + strlen(db->treename) + 2;
|
||||
CALLOC(db->_path, 1, pathsize, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
/* all sync DBs now reside in the sync/ subdir of the dbpath */
|
||||
sprintf(db->_path, "%ssync/%s/", dbpath, db->treename);
|
||||
}
|
||||
_alpm_log(PM_LOG_DEBUG, "database path for tree %s set to %s\n",
|
||||
db->treename, db->_path);
|
||||
}
|
||||
return(db->_path);
|
||||
}
|
||||
|
||||
int _alpm_db_cmp(const void *d1, const void *d2)
|
||||
{
|
||||
pmdb_t *db1 = (pmdb_t *)db1;
|
||||
pmdb_t *db2 = (pmdb_t *)db2;
|
||||
pmdb_t *db1 = (pmdb_t *)d1;
|
||||
pmdb_t *db2 = (pmdb_t *)d2;
|
||||
return(strcmp(db1->treename, db2->treename));
|
||||
}
|
||||
|
||||
@@ -391,10 +465,10 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
|
||||
else if (desc && regexec(®, desc, 0, 0, 0) == 0) {
|
||||
matched = desc;
|
||||
}
|
||||
/* check provides */
|
||||
/* TODO: should we be doing this, and should we print something
|
||||
* differently when we do match it since it isn't currently printed? */
|
||||
else {
|
||||
if(!matched) {
|
||||
/* check provides */
|
||||
for(k = alpm_pkg_get_provides(pkg); k; k = k->next) {
|
||||
if (regexec(®, k->data, 0, 0, 0) == 0) {
|
||||
matched = k->data;
|
||||
@@ -402,6 +476,15 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!matched) {
|
||||
/* check groups */
|
||||
for(k = alpm_pkg_get_groups(pkg); k; k = k->next) {
|
||||
if (regexec(®, k->data, 0, 0, 0) == 0) {
|
||||
matched = k->data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(matched != NULL) {
|
||||
_alpm_log(PM_LOG_DEBUG, " search target '%s' matched '%s'\n",
|
||||
@@ -422,10 +505,7 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
|
||||
|
||||
pmdb_t *_alpm_db_register_local(void)
|
||||
{
|
||||
struct stat buf;
|
||||
pmdb_t *db;
|
||||
const char *dbpath;
|
||||
char path[PATH_MAX];
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
@@ -436,43 +516,18 @@ pmdb_t *_alpm_db_register_local(void)
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "registering local database\n");
|
||||
|
||||
/* make sure the database directory exists */
|
||||
dbpath = alpm_option_get_dbpath();
|
||||
if(!dbpath) {
|
||||
_alpm_log(PM_LOG_ERROR, _("database path is undefined\n"));
|
||||
RET_ERR(PM_ERR_DB_OPEN, NULL);
|
||||
}
|
||||
snprintf(path, PATH_MAX, "%slocal", dbpath);
|
||||
/* TODO this is rediculous, we try to do this even if we can't */
|
||||
if(stat(path, &buf) != 0 || !S_ISDIR(buf.st_mode)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
|
||||
path);
|
||||
if(_alpm_makepath(path) != 0) {
|
||||
RET_ERR(PM_ERR_SYSTEM, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
db = _alpm_db_new(dbpath, "local");
|
||||
db = _alpm_db_new("local", 1);
|
||||
if(db == NULL) {
|
||||
RET_ERR(PM_ERR_DB_CREATE, NULL);
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "opening database '%s'\n", db->treename);
|
||||
if(_alpm_db_open(db) == -1) {
|
||||
_alpm_db_free(db);
|
||||
RET_ERR(PM_ERR_DB_OPEN, NULL);
|
||||
}
|
||||
|
||||
handle->db_local = db;
|
||||
return(db);
|
||||
}
|
||||
|
||||
pmdb_t *_alpm_db_register_sync(const char *treename)
|
||||
{
|
||||
struct stat buf;
|
||||
pmdb_t *db;
|
||||
const char *dbpath;
|
||||
char path[PATH_MAX];
|
||||
alpm_list_t *i;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
@@ -487,38 +542,11 @@ pmdb_t *_alpm_db_register_sync(const char *treename)
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "registering sync database '%s'\n", treename);
|
||||
|
||||
/* make sure the database directory exists */
|
||||
dbpath = alpm_option_get_dbpath();
|
||||
if(!dbpath) {
|
||||
_alpm_log(PM_LOG_ERROR, _("database path is undefined\n"));
|
||||
RET_ERR(PM_ERR_DB_OPEN, NULL);
|
||||
}
|
||||
/* all sync DBs now reside in the sync/ subdir of the dbpath */
|
||||
snprintf(path, PATH_MAX, "%ssync/%s", dbpath, treename);
|
||||
/* TODO this is rediculous, we try to do this even if we can't */
|
||||
if(stat(path, &buf) != 0 || !S_ISDIR(buf.st_mode)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
|
||||
path);
|
||||
if(_alpm_makepath(path) != 0) {
|
||||
RET_ERR(PM_ERR_SYSTEM, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/* Ensure the db gets the real path. */
|
||||
path[0] = '\0';
|
||||
snprintf(path, PATH_MAX, "%ssync/", dbpath);
|
||||
|
||||
db = _alpm_db_new(path, treename);
|
||||
db = _alpm_db_new(treename, 0);
|
||||
if(db == NULL) {
|
||||
RET_ERR(PM_ERR_DB_CREATE, NULL);
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "opening database '%s'\n", db->treename);
|
||||
if(_alpm_db_open(db) == -1) {
|
||||
_alpm_db_free(db);
|
||||
RET_ERR(PM_ERR_DB_OPEN, NULL);
|
||||
}
|
||||
|
||||
handle->dbs_sync = alpm_list_add(handle->dbs_sync, db);
|
||||
return(db);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* db.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
*
|
||||
@@ -27,39 +28,42 @@
|
||||
|
||||
/* Database entries */
|
||||
typedef enum _pmdbinfrq_t {
|
||||
INFRQ_BASE = 0x01,
|
||||
INFRQ_DESC = 0x02,
|
||||
INFRQ_DEPENDS = 0x04,
|
||||
INFRQ_FILES = 0x08,
|
||||
INFRQ_SCRIPTLET = 0x10,
|
||||
INFRQ_DELTAS = 0x20,
|
||||
/* ALL should be sum of all above */
|
||||
INFRQ_BASE = 1,
|
||||
INFRQ_DESC = (1 << 1),
|
||||
INFRQ_DEPENDS = (1 << 2),
|
||||
INFRQ_FILES = (1 << 3),
|
||||
INFRQ_SCRIPTLET = (1 << 4),
|
||||
INFRQ_DELTAS = (1 << 5),
|
||||
INFRQ_DSIZE = (1 << 6),
|
||||
/* ALL should be info stored in the package or database */
|
||||
INFRQ_ALL = 0x3F
|
||||
} pmdbinfrq_t;
|
||||
|
||||
/* Database */
|
||||
struct __pmdb_t {
|
||||
char *path;
|
||||
char *treename;
|
||||
void *handle;
|
||||
/* do not access directly, use _alpm_db_path(db) for lazy access */
|
||||
char *_path;
|
||||
int pkgcache_loaded;
|
||||
int grpcache_loaded;
|
||||
int is_local;
|
||||
alpm_list_t *pkgcache;
|
||||
alpm_list_t *grpcache;
|
||||
alpm_list_t *servers;
|
||||
};
|
||||
|
||||
/* db.c, database general calls */
|
||||
pmdb_t *_alpm_db_new(const char *dbpath, const char *treename);
|
||||
void _alpm_db_free(pmdb_t *db);
|
||||
int _alpm_db_cmp(const void *db1, const void *db2);
|
||||
const char *_alpm_db_path(pmdb_t *db);
|
||||
int _alpm_db_cmp(const void *d1, const void *d2);
|
||||
alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles);
|
||||
pmdb_t *_alpm_db_register_local(void);
|
||||
pmdb_t *_alpm_db_register_sync(const char *treename);
|
||||
|
||||
/* be.c, backend specific calls */
|
||||
int _alpm_db_open(pmdb_t *db);
|
||||
void _alpm_db_close(pmdb_t *db);
|
||||
int _alpm_db_populate(pmdb_t *db);
|
||||
int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq);
|
||||
int _alpm_db_prepare(pmdb_t *db, pmpkg_t *info);
|
||||
int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq);
|
||||
int _alpm_db_remove(pmdb_t *db, pmpkg_t *info);
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* delta.c
|
||||
*
|
||||
* Copyright (c) 2007-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2007-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -21,7 +22,10 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h> /* intmax_t */
|
||||
#include <limits.h>
|
||||
#include <sys/types.h>
|
||||
#include <regex.h>
|
||||
|
||||
/* libalpm */
|
||||
#include "delta.h"
|
||||
@@ -41,24 +45,12 @@ const char SYMEXPORT *alpm_delta_get_from(pmdelta_t *delta)
|
||||
return(delta->from);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_delta_get_from_md5sum(pmdelta_t *delta)
|
||||
{
|
||||
ASSERT(delta != NULL, return(NULL));
|
||||
return(delta->from_md5);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_delta_get_to(pmdelta_t *delta)
|
||||
{
|
||||
ASSERT(delta != NULL, return(NULL));
|
||||
return(delta->to);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_delta_get_to_md5sum(pmdelta_t *delta)
|
||||
{
|
||||
ASSERT(delta != NULL, return(NULL));
|
||||
return(delta->to_md5);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_delta_get_filename(pmdelta_t *delta)
|
||||
{
|
||||
ASSERT(delta != NULL, return(NULL));
|
||||
@@ -79,36 +71,16 @@ off_t SYMEXPORT alpm_delta_get_size(pmdelta_t *delta)
|
||||
|
||||
/** @} */
|
||||
|
||||
static alpm_list_t *delta_graph_init(alpm_list_t *deltas)
|
||||
static alpm_list_t *graph_init(alpm_list_t *deltas, int reverse)
|
||||
{
|
||||
alpm_list_t *i, *j;
|
||||
alpm_list_t *vertices = NULL;
|
||||
/* create the vertices */
|
||||
for(i = deltas; i; i = i->next) {
|
||||
char *fpath, *md5sum;
|
||||
pmgraph_t *v = _alpm_graph_new();
|
||||
pmdelta_t *vdelta = i->data;
|
||||
vdelta->download_size = vdelta->delta_size;
|
||||
v->weight = LONG_MAX;
|
||||
|
||||
/* determine whether the delta file already exists */
|
||||
fpath = _alpm_filecache_find(vdelta->delta);
|
||||
md5sum = alpm_get_md5sum(fpath);
|
||||
if(fpath && md5sum && strcmp(md5sum, vdelta->delta_md5) == 0) {
|
||||
vdelta->download_size = 0;
|
||||
}
|
||||
FREE(fpath);
|
||||
FREE(md5sum);
|
||||
|
||||
/* determine whether a base 'from' file exists */
|
||||
fpath = _alpm_filecache_find(vdelta->from);
|
||||
md5sum = alpm_get_md5sum(fpath);
|
||||
if(fpath && md5sum && strcmp(md5sum, vdelta->from_md5) == 0) {
|
||||
v->weight = vdelta->download_size;
|
||||
}
|
||||
FREE(fpath);
|
||||
FREE(md5sum);
|
||||
|
||||
v->data = vdelta;
|
||||
vertices = alpm_list_add(vertices, v);
|
||||
}
|
||||
@@ -129,8 +101,8 @@ static alpm_list_t *delta_graph_init(alpm_list_t *deltas)
|
||||
* 3_to_4
|
||||
* If J 'from' is equal to I 'to', then J is a child of I.
|
||||
* */
|
||||
if(strcmp(d_j->from, d_i->to) == 0
|
||||
&& strcmp(d_j->from_md5, d_i->to_md5) == 0) {
|
||||
if((!reverse && strcmp(d_j->from, d_i->to) == 0) ||
|
||||
(reverse && strcmp(d_j->to, d_i->from) == 0)) {
|
||||
v_i->children = alpm_list_add(v_i->children, v_j);
|
||||
}
|
||||
}
|
||||
@@ -139,8 +111,36 @@ static alpm_list_t *delta_graph_init(alpm_list_t *deltas)
|
||||
return(vertices);
|
||||
}
|
||||
|
||||
static off_t delta_vert(alpm_list_t *vertices,
|
||||
const char *to, const char *to_md5, alpm_list_t **path) {
|
||||
static void graph_init_size(alpm_list_t *vertices)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
|
||||
for(i = vertices; i; i = i->next) {
|
||||
char *fpath, *md5sum;
|
||||
pmgraph_t *v = i->data;
|
||||
pmdelta_t *vdelta = v->data;
|
||||
|
||||
/* determine whether the delta file already exists */
|
||||
fpath = _alpm_filecache_find(vdelta->delta);
|
||||
md5sum = alpm_compute_md5sum(fpath);
|
||||
if(fpath && md5sum && strcmp(md5sum, vdelta->delta_md5) == 0) {
|
||||
vdelta->download_size = 0;
|
||||
}
|
||||
FREE(fpath);
|
||||
FREE(md5sum);
|
||||
|
||||
/* determine whether a base 'from' file exists */
|
||||
fpath = _alpm_filecache_find(vdelta->from);
|
||||
if(fpath) {
|
||||
v->weight = vdelta->download_size;
|
||||
}
|
||||
FREE(fpath);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void dijkstra(alpm_list_t *vertices)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
pmgraph_t *v;
|
||||
while(1) {
|
||||
@@ -176,16 +176,20 @@ static off_t delta_vert(alpm_list_t *vertices,
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
v = NULL;
|
||||
static off_t shortest_path(alpm_list_t *vertices, const char *to, alpm_list_t **path)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
pmgraph_t *v = NULL;
|
||||
off_t bestsize = 0;
|
||||
alpm_list_t *rpath = NULL;
|
||||
|
||||
for(i = vertices; i; i = i->next) {
|
||||
pmgraph_t *v_i = i->data;
|
||||
pmdelta_t *d_i = v_i->data;
|
||||
|
||||
if(strcmp(d_i->to, to) == 0
|
||||
|| strcmp(d_i->to_md5, to_md5) == 0) {
|
||||
if(strcmp(d_i->to, to) == 0) {
|
||||
if(v == NULL || v_i->weight < v->weight) {
|
||||
v = v_i;
|
||||
bestsize = v->weight;
|
||||
@@ -193,7 +197,6 @@ static off_t delta_vert(alpm_list_t *vertices,
|
||||
}
|
||||
}
|
||||
|
||||
alpm_list_t *rpath = NULL;
|
||||
while(v != NULL) {
|
||||
pmdelta_t *vdelta = v->data;
|
||||
rpath = alpm_list_add(rpath, vdelta);
|
||||
@@ -210,14 +213,13 @@ static off_t delta_vert(alpm_list_t *vertices,
|
||||
* size, not the length of the path.
|
||||
* @param deltas the list of pmdelta_t * objects that a file has
|
||||
* @param to the file to start the search at
|
||||
* @param to_md5 the md5sum of the above named file
|
||||
* @param path the pointer to a list location where pmdelta_t * objects that
|
||||
* have the smallest size are placed. NULL is set if there is no path
|
||||
* possible with the files available.
|
||||
* @return the size of the path stored, or LONG_MAX if path is unfindable
|
||||
*/
|
||||
off_t _alpm_shortest_delta_path(alpm_list_t *deltas,
|
||||
const char *to, const char *to_md5, alpm_list_t **path)
|
||||
const char *to, alpm_list_t **path)
|
||||
{
|
||||
alpm_list_t *bestpath = NULL;
|
||||
alpm_list_t *vertices;
|
||||
@@ -230,13 +232,14 @@ off_t _alpm_shortest_delta_path(alpm_list_t *deltas,
|
||||
return(bestsize);
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "started delta shortest-path search\n");
|
||||
_alpm_log(PM_LOG_DEBUG, "started delta shortest-path search for '%s'\n", to);
|
||||
|
||||
vertices = delta_graph_init(deltas);
|
||||
vertices = graph_init(deltas, 0);
|
||||
graph_init_size(vertices);
|
||||
dijkstra(vertices);
|
||||
bestsize = shortest_path(vertices, to, &bestpath);
|
||||
|
||||
bestsize = delta_vert(vertices, to, to_md5, &bestpath);
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "delta shortest-path search complete\n");
|
||||
_alpm_log(PM_LOG_DEBUG, "delta shortest-path search complete : '%jd'\n", (intmax_t)bestsize);
|
||||
|
||||
alpm_list_free_inner(vertices, _alpm_graph_free);
|
||||
alpm_list_free(vertices);
|
||||
@@ -245,10 +248,49 @@ off_t _alpm_shortest_delta_path(alpm_list_t *deltas,
|
||||
return(bestsize);
|
||||
}
|
||||
|
||||
static alpm_list_t *find_unused(alpm_list_t *deltas, const char *to, off_t quota)
|
||||
{
|
||||
alpm_list_t *unused = NULL;
|
||||
alpm_list_t *vertices;
|
||||
alpm_list_t *i;
|
||||
vertices = graph_init(deltas, 1);
|
||||
|
||||
for(i = vertices; i; i = i->next) {
|
||||
pmgraph_t *v = i->data;
|
||||
pmdelta_t *vdelta = v->data;
|
||||
if(strcmp(vdelta->to, to) == 0)
|
||||
{
|
||||
v->weight = vdelta->download_size;
|
||||
}
|
||||
}
|
||||
dijkstra(vertices);
|
||||
for(i = vertices; i; i = i->next) {
|
||||
pmgraph_t *v = i->data;
|
||||
pmdelta_t *vdelta = v->data;
|
||||
if(v->weight > quota) {
|
||||
unused = alpm_list_add(unused, vdelta->delta);
|
||||
}
|
||||
}
|
||||
alpm_list_free_inner(vertices, _alpm_graph_free);
|
||||
alpm_list_free(vertices);
|
||||
return(unused);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_unused_deltas(pmpkg_t *pkg)
|
||||
{
|
||||
off_t pkgsize = alpm_pkg_get_size(pkg);
|
||||
alpm_list_t *unused = find_unused(
|
||||
alpm_pkg_get_deltas(pkg),
|
||||
alpm_pkg_get_filename(pkg),
|
||||
pkgsize * MAX_DELTA_RATIO);
|
||||
return(unused);
|
||||
}
|
||||
|
||||
|
||||
/** Parses the string representation of a pmdelta_t object.
|
||||
* This function assumes that the string is in the correct format.
|
||||
* This format is as follows:
|
||||
* $oldfile $oldmd5 $newfile $newmd5 $deltafile $deltamd5 $deltasize
|
||||
* $deltafile $deltamd5 $deltasize $oldfile $newfile
|
||||
* @param line the string to parse
|
||||
* @return A pointer to the new pmdelta_t object
|
||||
*/
|
||||
@@ -257,29 +299,21 @@ pmdelta_t *_alpm_delta_parse(char *line)
|
||||
{
|
||||
pmdelta_t *delta;
|
||||
char *tmp = line, *tmp2;
|
||||
regex_t reg;
|
||||
|
||||
regcomp(®,
|
||||
"^[^[:space:]]* [[:xdigit:]]{32} [[:digit:]]*"
|
||||
" [^[:space:]]* [^[:space:]]*$",
|
||||
REG_EXTENDED | REG_NOSUB | REG_NEWLINE);
|
||||
if(regexec(®, line, 0, 0, 0) != 0) {
|
||||
/* delta line is invalid, return NULL */
|
||||
regfree(®);
|
||||
return(NULL);
|
||||
}
|
||||
regfree(®);
|
||||
|
||||
CALLOC(delta, 1, sizeof(pmdelta_t), RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
tmp2 = tmp;
|
||||
tmp = strchr(tmp, ' ');
|
||||
*(tmp++) = '\0';
|
||||
STRDUP(delta->from, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
tmp2 = tmp;
|
||||
tmp = strchr(tmp, ' ');
|
||||
*(tmp++) = '\0';
|
||||
STRDUP(delta->from_md5, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
tmp2 = tmp;
|
||||
tmp = strchr(tmp, ' ');
|
||||
*(tmp++) = '\0';
|
||||
STRDUP(delta->to, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
tmp2 = tmp;
|
||||
tmp = strchr(tmp, ' ');
|
||||
*(tmp++) = '\0';
|
||||
STRDUP(delta->to_md5, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
tmp2 = tmp;
|
||||
tmp = strchr(tmp, ' ');
|
||||
*(tmp++) = '\0';
|
||||
@@ -290,7 +324,20 @@ pmdelta_t *_alpm_delta_parse(char *line)
|
||||
*(tmp++) = '\0';
|
||||
STRDUP(delta->delta_md5, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
delta->delta_size = atol(tmp);
|
||||
tmp2 = tmp;
|
||||
tmp = strchr(tmp, ' ');
|
||||
*(tmp++) = '\0';
|
||||
delta->delta_size = atol(tmp2);
|
||||
|
||||
tmp2 = tmp;
|
||||
tmp = strchr(tmp, ' ');
|
||||
*(tmp++) = '\0';
|
||||
STRDUP(delta->from, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
tmp2 = tmp;
|
||||
STRDUP(delta->to, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "delta : %s %s '%jd'\n", delta->from, delta->to, (intmax_t)delta->delta_size);
|
||||
|
||||
return(delta);
|
||||
}
|
||||
@@ -298,9 +345,7 @@ pmdelta_t *_alpm_delta_parse(char *line)
|
||||
void _alpm_delta_free(pmdelta_t *delta)
|
||||
{
|
||||
FREE(delta->from);
|
||||
FREE(delta->from_md5);
|
||||
FREE(delta->to);
|
||||
FREE(delta->to_md5);
|
||||
FREE(delta->delta);
|
||||
FREE(delta->delta_md5);
|
||||
FREE(delta);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* delta.h
|
||||
*
|
||||
* Copyright (c) 2007-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2007-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -24,20 +25,16 @@
|
||||
#include "alpm.h"
|
||||
|
||||
struct __pmdelta_t {
|
||||
/** filename of the 'before' file */
|
||||
char *from;
|
||||
/** md5sum of the 'before' file */
|
||||
char *from_md5;
|
||||
/** filename of the 'after' file */
|
||||
char *to;
|
||||
/** md5sum of the 'after' file */
|
||||
char *to_md5;
|
||||
/** filename of the delta patch */
|
||||
char *delta;
|
||||
/** md5sum of the delta file */
|
||||
char *delta_md5;
|
||||
/** filesize of the delta file */
|
||||
off_t delta_size;
|
||||
/** filename of the 'before' file */
|
||||
char *from;
|
||||
/** filename of the 'after' file */
|
||||
char *to;
|
||||
/** download filesize of the delta file */
|
||||
off_t download_size;
|
||||
};
|
||||
@@ -45,7 +42,7 @@ struct __pmdelta_t {
|
||||
pmdelta_t *_alpm_delta_parse(char *line);
|
||||
void _alpm_delta_free(pmdelta_t *delta);
|
||||
off_t _alpm_shortest_delta_path(alpm_list_t *deltas,
|
||||
const char *to, const char *to_md5, alpm_list_t **path);
|
||||
const char *to, alpm_list_t **path);
|
||||
|
||||
#endif /* _ALPM_DELTA_H */
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* deps.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
*
|
||||
@@ -229,13 +230,13 @@ alpm_list_t SYMEXPORT *alpm_deptest(pmdb_t *db, alpm_list_t *targets)
|
||||
|
||||
/** Checks dependencies and returns missing ones in a list.
|
||||
* Dependencies can include versions with depmod operators.
|
||||
* @param db pointer to the local package database
|
||||
* @param pkglist the list of local packages
|
||||
* @param reversedeps handles the backward dependencies
|
||||
* @param remove an alpm_list_t* of packages to be removed
|
||||
* @param upgrade an alpm_list_t* of packages to be upgraded (remove-then-upgrade)
|
||||
* @return an alpm_list_t* of pmpkg_t* of missing_t pointers.
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, int reversedeps,
|
||||
alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_list_t *pkglist, int reversedeps,
|
||||
alpm_list_t *remove, alpm_list_t *upgrade)
|
||||
{
|
||||
alpm_list_t *i, *j;
|
||||
@@ -245,12 +246,8 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, int reversedeps,
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(db == NULL) {
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
targets = alpm_list_join(alpm_list_copy(remove), alpm_list_copy(upgrade));
|
||||
for(i = _alpm_db_get_pkgcache(db); i; i = i->next) {
|
||||
for(i = pkglist; i; i = i->next) {
|
||||
void *pkg = i->data;
|
||||
if(alpm_list_find(targets, pkg, _alpm_pkg_cmp)) {
|
||||
modified = alpm_list_add(modified, pkg);
|
||||
@@ -273,7 +270,7 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, int reversedeps,
|
||||
if(!_alpm_find_dep_satisfier(upgrade, depend) &&
|
||||
!_alpm_find_dep_satisfier(dblist, depend)) {
|
||||
/* Unsatisfied dependency in the upgrade list */
|
||||
char *missdepstring = alpm_dep_get_string(depend);
|
||||
char *missdepstring = alpm_dep_compute_string(depend);
|
||||
_alpm_log(PM_LOG_DEBUG, "checkdeps: missing dependency '%s' for package '%s'\n",
|
||||
missdepstring, alpm_pkg_get_name(tp));
|
||||
free(missdepstring);
|
||||
@@ -297,7 +294,7 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, int reversedeps,
|
||||
if(causingpkg &&
|
||||
!_alpm_find_dep_satisfier(upgrade, depend) &&
|
||||
!_alpm_find_dep_satisfier(dblist, depend)) {
|
||||
char *missdepstring = alpm_dep_get_string(depend);
|
||||
char *missdepstring = alpm_dep_compute_string(depend);
|
||||
_alpm_log(PM_LOG_DEBUG, "checkdeps: transaction would break '%s' dependency of '%s'\n",
|
||||
missdepstring, alpm_pkg_get_name(lp));
|
||||
free(missdepstring);
|
||||
@@ -508,19 +505,37 @@ void _alpm_recursedeps(pmdb_t *db, alpm_list_t *targs, int include_explicit)
|
||||
}
|
||||
}
|
||||
|
||||
/* helper function for resolvedeps: search for dep satisfier in dbs */
|
||||
pmpkg_t *_alpm_resolvedep(pmdepend_t *dep, alpm_list_t *dbs, alpm_list_t *excluding, pmpkg_t *tpkg)
|
||||
/**
|
||||
* helper function for resolvedeps: search for dep satisfier in dbs
|
||||
*
|
||||
* @param dep is the dependency to search for
|
||||
* @param dbs are the databases to search
|
||||
* @param excluding are the packages to exclude from the search
|
||||
* @param prompt if true, will cause an unresolvable dependency to issue an
|
||||
* interactive prompt asking whether the package should be removed from
|
||||
* the transaction or the transaction aborted; if false, simply returns
|
||||
* an error code without prompting
|
||||
* @return the resolved package
|
||||
**/
|
||||
pmpkg_t *_alpm_resolvedep(pmdepend_t *dep, alpm_list_t *dbs,
|
||||
alpm_list_t *excluding, int prompt)
|
||||
{
|
||||
alpm_list_t *i, *j;
|
||||
int ignored = 0;
|
||||
/* 1. literals */
|
||||
for(i = dbs; i; i = i->next) {
|
||||
pmpkg_t *pkg = _alpm_db_get_pkgfromcache(i->data, dep->name);
|
||||
if(pkg && alpm_depcmp(pkg, dep) && !_alpm_pkg_find(excluding, pkg->name)) {
|
||||
if(_alpm_pkg_should_ignore(pkg)) {
|
||||
int install;
|
||||
QUESTION(handle->trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg,
|
||||
tpkg, NULL, &install);
|
||||
int install = 0;
|
||||
if (prompt) {
|
||||
QUESTION(handle->trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg,
|
||||
NULL, NULL, &install);
|
||||
} else {
|
||||
_alpm_log(PM_LOG_WARNING, _("ignoring package %s-%s\n"), pkg->name, pkg->version);
|
||||
}
|
||||
if(!install) {
|
||||
ignored = 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -534,10 +549,15 @@ pmpkg_t *_alpm_resolvedep(pmdepend_t *dep, alpm_list_t *dbs, alpm_list_t *exclud
|
||||
if(alpm_depcmp(pkg, dep) && strcmp(pkg->name, dep->name) &&
|
||||
!_alpm_pkg_find(excluding, pkg->name)) {
|
||||
if(_alpm_pkg_should_ignore(pkg)) {
|
||||
int install;
|
||||
QUESTION(handle->trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg,
|
||||
tpkg, NULL, &install);
|
||||
int install = 0;
|
||||
if (prompt) {
|
||||
QUESTION(handle->trans, PM_TRANS_CONV_INSTALL_IGNOREPKG,
|
||||
pkg, NULL, NULL, &install);
|
||||
} else {
|
||||
_alpm_log(PM_LOG_WARNING, _("ignoring package %s-%s\n"), pkg->name, pkg->version);
|
||||
}
|
||||
if(!install) {
|
||||
ignored = 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -547,67 +567,102 @@ pmpkg_t *_alpm_resolvedep(pmdepend_t *dep, alpm_list_t *dbs, alpm_list_t *exclud
|
||||
}
|
||||
}
|
||||
}
|
||||
if(ignored) { /* resolvedeps will override these */
|
||||
pm_errno = PM_ERR_PKG_IGNORED;
|
||||
} else {
|
||||
pm_errno = PM_ERR_PKG_NOT_FOUND;
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
/* populates list with packages that need to be installed to satisfy all
|
||||
* dependencies of packages in list
|
||||
/* Computes resolvable dependencies for a given package and adds that package
|
||||
* and those resolvable dependencies to a list.
|
||||
*
|
||||
* @param remove contains packages elected for removal
|
||||
* @param localpkgs is the list of local packages
|
||||
* @param dbs_sync are the sync databases
|
||||
* @param pkg is the package to resolve
|
||||
* @param packages is a pointer to a list of packages which will be
|
||||
* searched first for any dependency packages needed to complete the
|
||||
* resolve, and to which will be added any [pkg] and all of its
|
||||
* dependencies not already on the list
|
||||
* @param remove is the set of packages which will be removed in this
|
||||
* transaction
|
||||
* @param data returns the dependency which could not be satisfied in the
|
||||
* event of an error
|
||||
* @return 0 on success, with [pkg] and all of its dependencies not already on
|
||||
* the [*packages] list added to that list, or -1 on failure due to an
|
||||
* unresolvable dependency, in which case the [*packages] list will be
|
||||
* unmodified by this function
|
||||
*/
|
||||
int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, alpm_list_t *list,
|
||||
int _alpm_resolvedeps(alpm_list_t *localpkgs, alpm_list_t *dbs_sync, pmpkg_t *pkg,
|
||||
alpm_list_t *preferred, alpm_list_t **packages,
|
||||
alpm_list_t *remove, alpm_list_t **data)
|
||||
{
|
||||
alpm_list_t *i, *j;
|
||||
alpm_list_t *targ;
|
||||
alpm_list_t *deps = NULL;
|
||||
alpm_list_t *packages_copy;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(local == NULL || dbs_sync == NULL) {
|
||||
return(-1);
|
||||
if(_alpm_pkg_find(*packages, pkg->name) != NULL) {
|
||||
return(0);
|
||||
}
|
||||
|
||||
/* Create a copy of the packages list, so that it can be restored
|
||||
on error */
|
||||
packages_copy = alpm_list_copy(*packages);
|
||||
/* [pkg] has not already been resolved into the packages list, so put it
|
||||
on that list */
|
||||
*packages = alpm_list_add(*packages, pkg);
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "started resolving dependencies\n");
|
||||
for(i = list; i; i = i->next) {
|
||||
for(i = alpm_list_last(*packages); i; i = i->next) {
|
||||
pmpkg_t *tpkg = i->data;
|
||||
targ = alpm_list_add(NULL, tpkg);
|
||||
deps = alpm_checkdeps(local, 0, remove, targ);
|
||||
deps = alpm_checkdeps(localpkgs, 0, remove, targ);
|
||||
alpm_list_free(targ);
|
||||
for(j = deps; j; j = j->next) {
|
||||
pmdepmissing_t *miss = j->data;
|
||||
pmdepend_t *missdep = alpm_miss_get_dep(miss);
|
||||
/* check if one of the packages in list already satisfies this dependency */
|
||||
if(_alpm_find_dep_satisfier(list, missdep)) {
|
||||
/* check if one of the packages in the [*packages] list already satisfies this dependency */
|
||||
if(_alpm_find_dep_satisfier(*packages, missdep)) {
|
||||
continue;
|
||||
}
|
||||
/* find a satisfier package in the given repositories */
|
||||
pmpkg_t *spkg = _alpm_resolvedep(missdep, dbs_sync, list, tpkg);
|
||||
/* check if one of the packages in the [preferred] list already satisfies this dependency */
|
||||
pmpkg_t *spkg = _alpm_find_dep_satisfier(preferred, missdep);
|
||||
if(!spkg) {
|
||||
/* find a satisfier package in the given repositories */
|
||||
spkg = _alpm_resolvedep(missdep, dbs_sync, *packages, 0);
|
||||
}
|
||||
if(!spkg) {
|
||||
pm_errno = PM_ERR_UNSATISFIED_DEPS;
|
||||
char *missdepstring = alpm_dep_get_string(missdep);
|
||||
_alpm_log(PM_LOG_ERROR, _("cannot resolve \"%s\", a dependency of \"%s\"\n"),
|
||||
missdepstring, tpkg->name);
|
||||
char *missdepstring = alpm_dep_compute_string(missdep);
|
||||
_alpm_log(PM_LOG_WARNING, _("cannot resolve \"%s\", a dependency of \"%s\"\n"),
|
||||
missdepstring, tpkg->name);
|
||||
free(missdepstring);
|
||||
if(data) {
|
||||
pmdepmissing_t *missd = _alpm_depmiss_new(miss->target,
|
||||
miss->depend, miss->causingpkg);
|
||||
miss->depend, miss->causingpkg);
|
||||
if(missd) {
|
||||
*data = alpm_list_add(*data, missd);
|
||||
}
|
||||
}
|
||||
alpm_list_free(*packages);
|
||||
*packages = packages_copy;
|
||||
alpm_list_free_inner(deps, (alpm_list_fn_free)_alpm_depmiss_free);
|
||||
alpm_list_free(deps);
|
||||
return(-1);
|
||||
} else {
|
||||
} else {
|
||||
_alpm_log(PM_LOG_DEBUG, "pulling dependency %s (needed by %s)\n",
|
||||
alpm_pkg_get_name(spkg), alpm_pkg_get_name(tpkg));
|
||||
list = alpm_list_add(list, spkg);
|
||||
alpm_pkg_get_name(spkg), alpm_pkg_get_name(tpkg));
|
||||
*packages = alpm_list_add(*packages, spkg);
|
||||
}
|
||||
}
|
||||
alpm_list_free_inner(deps, (alpm_list_fn_free)_alpm_depmiss_free);
|
||||
alpm_list_free(deps);
|
||||
}
|
||||
alpm_list_free(packages_copy);
|
||||
_alpm_log(PM_LOG_DEBUG, "finished resolving dependencies\n");
|
||||
return(0);
|
||||
}
|
||||
@@ -689,7 +744,7 @@ const char SYMEXPORT *alpm_dep_get_version(const pmdepend_t *dep)
|
||||
* @param dep the depend to turn into a string
|
||||
* @return a string-formatted dependency with operator if necessary
|
||||
*/
|
||||
char SYMEXPORT *alpm_dep_get_string(const pmdepend_t *dep)
|
||||
char SYMEXPORT *alpm_dep_compute_string(const pmdepend_t *dep)
|
||||
{
|
||||
char *name, *opr, *ver, *str = NULL;
|
||||
size_t len;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* deps.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
*
|
||||
@@ -47,9 +48,10 @@ pmdepmissing_t *_alpm_depmiss_new(const char *target, pmdepend_t *dep,
|
||||
void _alpm_depmiss_free(pmdepmissing_t *miss);
|
||||
alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, int reverse);
|
||||
void _alpm_recursedeps(pmdb_t *db, alpm_list_t *targs, int include_explicit);
|
||||
pmpkg_t *_alpm_resolvedep(pmdepend_t *dep, alpm_list_t *dbs, alpm_list_t *excluding, pmpkg_t *tpkg);
|
||||
int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, alpm_list_t *list,
|
||||
alpm_list_t *remove, alpm_list_t **data);
|
||||
pmpkg_t *_alpm_resolvedep(pmdepend_t *dep, alpm_list_t *dbs, alpm_list_t *excluding, int prompt);
|
||||
int _alpm_resolvedeps(alpm_list_t *localpkgs, alpm_list_t *dbs_sync, pmpkg_t *pkg,
|
||||
alpm_list_t *preferred, alpm_list_t **packages, alpm_list_t *remove,
|
||||
alpm_list_t **data);
|
||||
int _alpm_dep_edge(pmpkg_t *pkg1, pmpkg_t *pkg2);
|
||||
pmdepend_t *_alpm_splitdep(const char *depstring);
|
||||
pmpkg_t *_alpm_find_dep_satisfier(alpm_list_t *pkgs, pmdepend_t *dep);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* download.c
|
||||
*
|
||||
* Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -24,6 +25,10 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <signal.h>
|
||||
#include <limits.h>
|
||||
/* the following two are needed on BSD for libfetch */
|
||||
#if defined(HAVE_SYS_SYSLIMITS_H)
|
||||
@@ -33,16 +38,8 @@
|
||||
#include <sys/param.h> /* MAXHOSTNAMELEN */
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_LIBDOWNLOAD)
|
||||
#include <download.h>
|
||||
#elif defined(HAVE_LIBFETCH)
|
||||
#if defined(INTERNAL_DOWNLOAD)
|
||||
#include <fetch.h>
|
||||
#define downloadFreeURL fetchFreeURL
|
||||
#define downloadLastErrCode fetchLastErrCode
|
||||
#define downloadLastErrString fetchLastErrString
|
||||
#define downloadParseURL fetchParseURL
|
||||
#define downloadTimeout fetchTimeout
|
||||
#define downloadXGet fetchXGet
|
||||
#endif
|
||||
|
||||
/* libalpm */
|
||||
@@ -61,10 +58,11 @@ static char *get_filename(const char *url) {
|
||||
return(filename);
|
||||
}
|
||||
|
||||
#if defined(INTERNAL_DOWNLOAD)
|
||||
static char *get_destfile(const char *path, const char *filename) {
|
||||
char *destfile;
|
||||
/* len = localpath len + filename len + null */
|
||||
int len = strlen(path) + strlen(filename) + 1;
|
||||
size_t len = strlen(path) + strlen(filename) + 1;
|
||||
CALLOC(destfile, len, sizeof(char), RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
snprintf(destfile, len, "%s%s", path, filename);
|
||||
|
||||
@@ -74,114 +72,161 @@ static char *get_destfile(const char *path, const char *filename) {
|
||||
static char *get_tempfile(const char *path, const char *filename) {
|
||||
char *tempfile;
|
||||
/* len = localpath len + filename len + '.part' len + null */
|
||||
int len = strlen(path) + strlen(filename) + 6;
|
||||
size_t len = strlen(path) + strlen(filename) + 6;
|
||||
CALLOC(tempfile, len, sizeof(char), RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
snprintf(tempfile, len, "%s%s.part", path, filename);
|
||||
|
||||
return(tempfile);
|
||||
}
|
||||
|
||||
#if defined(INTERNAL_DOWNLOAD)
|
||||
/* Build a 'struct url' from an url. */
|
||||
static struct url *url_for_string(const char *url)
|
||||
static const char *gethost(struct url *fileurl)
|
||||
{
|
||||
struct url *ret = NULL;
|
||||
ret = downloadParseURL(url);
|
||||
if(!ret) {
|
||||
_alpm_log(PM_LOG_ERROR, _("url '%s' is invalid\n"), url);
|
||||
RET_ERR(PM_ERR_SERVER_BAD_URL, NULL);
|
||||
const char *host = _("disk");
|
||||
if(strcmp(SCHEME_FILE, fileurl->scheme) != 0) {
|
||||
host = fileurl->host;
|
||||
}
|
||||
|
||||
/* if no URL scheme specified, assume HTTP */
|
||||
if(strlen(ret->scheme) == 0) {
|
||||
_alpm_log(PM_LOG_WARNING, _("url scheme not specified, assuming HTTP\n"));
|
||||
strcpy(ret->scheme, SCHEME_HTTP);
|
||||
}
|
||||
/* add a user & password for anonymous FTP */
|
||||
if(strcmp(ret->scheme,SCHEME_FTP) == 0 && strlen(ret->user) == 0) {
|
||||
strcpy(ret->user, "anonymous");
|
||||
strcpy(ret->pwd, "libalpm@guest");
|
||||
}
|
||||
|
||||
return(ret);
|
||||
return(host);
|
||||
}
|
||||
|
||||
static int download_internal(const char *url, const char *localpath,
|
||||
time_t mtimeold, time_t *mtimenew) {
|
||||
FILE *dlf, *localf = NULL;
|
||||
struct url_stat ust;
|
||||
struct stat st;
|
||||
int chk_resume = 0;
|
||||
size_t dl_thisfile = 0;
|
||||
char *tempfile, *destfile, *filename;
|
||||
int ret = 0;
|
||||
struct url *fileurl = url_for_string(url);
|
||||
int dload_interrupted;
|
||||
static RETSIGTYPE inthandler(int signum)
|
||||
{
|
||||
dload_interrupted = 1;
|
||||
}
|
||||
|
||||
if(!fileurl) {
|
||||
return(-1);
|
||||
}
|
||||
#define check_stop() if(dload_interrupted) { ret = -1; goto cleanup; }
|
||||
enum sighandlers { OLD = 0, NEW = 1 };
|
||||
|
||||
static int download_internal(const char *url, const char *localpath,
|
||||
int force) {
|
||||
FILE *localf = NULL;
|
||||
struct stat st;
|
||||
int ret = 0;
|
||||
off_t dl_thisfile = 0;
|
||||
ssize_t nread = 0;
|
||||
char *tempfile, *destfile, *filename;
|
||||
struct sigaction sig_pipe[2], sig_int[2];
|
||||
|
||||
off_t local_size = 0;
|
||||
time_t local_time = 0;
|
||||
|
||||
struct url *fileurl;
|
||||
struct url_stat ust;
|
||||
fetchIO *dlf = NULL;
|
||||
|
||||
char buffer[PM_DLBUF_LEN];
|
||||
|
||||
filename = get_filename(url);
|
||||
if(!filename) {
|
||||
return(-1);
|
||||
_alpm_log(PM_LOG_ERROR, _("url '%s' is invalid\n"), url);
|
||||
RET_ERR(PM_ERR_SERVER_BAD_URL, -1);
|
||||
}
|
||||
|
||||
fileurl = fetchParseURL(url);
|
||||
if(!fileurl) {
|
||||
_alpm_log(PM_LOG_ERROR, _("url '%s' is invalid\n"), url);
|
||||
RET_ERR(PM_ERR_LIBFETCH, -1);
|
||||
}
|
||||
|
||||
destfile = get_destfile(localpath, filename);
|
||||
tempfile = get_tempfile(localpath, filename);
|
||||
|
||||
if(stat(tempfile, &st) == 0 && st.st_size > 0) {
|
||||
_alpm_log(PM_LOG_DEBUG, "tempfile found, attempting continuation\n");
|
||||
local_time = fileurl->last_modified = st.st_mtime;
|
||||
local_size = fileurl->offset = (off_t)st.st_size;
|
||||
dl_thisfile = st.st_size;
|
||||
localf = fopen(tempfile, "ab");
|
||||
} else if(!force && stat(destfile, &st) == 0 && st.st_size > 0) {
|
||||
_alpm_log(PM_LOG_DEBUG, "destfile found, using mtime only\n");
|
||||
local_time = fileurl->last_modified = st.st_mtime;
|
||||
local_size = /* no fu->off here */ (off_t)st.st_size;
|
||||
} else {
|
||||
_alpm_log(PM_LOG_DEBUG, "no file found matching criteria, starting from scratch\n");
|
||||
}
|
||||
|
||||
/* pass the raw filename for passing to the callback function */
|
||||
_alpm_log(PM_LOG_DEBUG, "using '%s' for download progress\n", filename);
|
||||
|
||||
if(stat(tempfile, &st) == 0 && st.st_size > 0) {
|
||||
_alpm_log(PM_LOG_DEBUG, "existing file found, using it\n");
|
||||
fileurl->offset = (off_t)st.st_size;
|
||||
dl_thisfile = st.st_size;
|
||||
localf = fopen(tempfile, "ab");
|
||||
chk_resume = 1;
|
||||
} else {
|
||||
fileurl->offset = (off_t)0;
|
||||
dl_thisfile = 0;
|
||||
/* print proxy info for debug purposes */
|
||||
_alpm_log(PM_LOG_DEBUG, "HTTP_PROXY: %s\n", getenv("HTTP_PROXY"));
|
||||
_alpm_log(PM_LOG_DEBUG, "http_proxy: %s\n", getenv("http_proxy"));
|
||||
_alpm_log(PM_LOG_DEBUG, "FTP_PROXY: %s\n", getenv("FTP_PROXY"));
|
||||
_alpm_log(PM_LOG_DEBUG, "ftp_proxy: %s\n", getenv("ftp_proxy"));
|
||||
|
||||
/* 10s timeout */
|
||||
fetchTimeout = 10;
|
||||
|
||||
/* ignore any SIGPIPE signals- these may occur if our FTP socket dies or
|
||||
* something along those lines. Store the old signal handler first. */
|
||||
sig_pipe[NEW].sa_handler = SIG_IGN;
|
||||
sigemptyset(&sig_pipe[NEW].sa_mask);
|
||||
sig_pipe[NEW].sa_flags = 0;
|
||||
sigaction(SIGPIPE, NULL, &sig_pipe[OLD]);
|
||||
sigaction(SIGPIPE, &sig_pipe[NEW], NULL);
|
||||
|
||||
dload_interrupted = 0;
|
||||
sig_int[NEW].sa_handler = &inthandler;
|
||||
sigemptyset(&sig_int[NEW].sa_mask);
|
||||
sig_int[NEW].sa_flags = 0;
|
||||
sigaction(SIGINT, NULL, &sig_int[OLD]);
|
||||
sigaction(SIGINT, &sig_int[NEW], NULL);
|
||||
|
||||
/* NOTE: libfetch does not reset the error code, be sure to do it before
|
||||
* calls into the library */
|
||||
|
||||
/* find out the remote size *and* mtime in one go. there is a lot of
|
||||
* trouble in trying to do both size and "if-modified-since" logic in a
|
||||
* non-stat request, so avoid it. */
|
||||
fetchLastErrCode = 0;
|
||||
if(fetchStat(fileurl, &ust, "") == -1) {
|
||||
pm_errno = PM_ERR_LIBFETCH;
|
||||
_alpm_log(PM_LOG_ERROR, _("failed retrieving file '%s' from %s : %s\n"),
|
||||
filename, gethost(fileurl), fetchLastErrString);
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
check_stop();
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "ust.mtime: %ld local_time: %ld compare: %ld\n",
|
||||
ust.mtime, local_time, local_time - ust.mtime);
|
||||
_alpm_log(PM_LOG_DEBUG, "ust.size: %jd local_size: %jd compare: %jd\n",
|
||||
(intmax_t)ust.size, (intmax_t)local_size, (intmax_t)(local_size - ust.size));
|
||||
if(!force && ust.mtime && ust.mtime == local_time
|
||||
&& ust.size && ust.size == local_size) {
|
||||
/* the remote time and size values agreed with what we have, so move on
|
||||
* because there is nothing more to do. */
|
||||
_alpm_log(PM_LOG_DEBUG, "files are identical, skipping %s\n", filename);
|
||||
ret = 1;
|
||||
goto cleanup;
|
||||
}
|
||||
if(!ust.mtime || ust.mtime != local_time) {
|
||||
_alpm_log(PM_LOG_DEBUG, "mtimes were different or unavailable, downloading %s from beginning\n", filename);
|
||||
fileurl->offset = 0;
|
||||
}
|
||||
|
||||
/* libdownload does not reset the error code, reset it in
|
||||
* the case of previous errors */
|
||||
downloadLastErrCode = 0;
|
||||
fetchLastErrCode = 0;
|
||||
dlf = fetchGet(fileurl, "");
|
||||
check_stop();
|
||||
|
||||
/* 10s timeout - TODO make a config option */
|
||||
downloadTimeout = 10000;
|
||||
|
||||
dlf = downloadXGet(fileurl, &ust, (handle->nopassiveftp ? "" : "p"));
|
||||
|
||||
if(downloadLastErrCode != 0 || dlf == NULL) {
|
||||
const char *host = _("disk");
|
||||
if(strcmp(SCHEME_FILE, fileurl->scheme) != 0) {
|
||||
host = fileurl->host;
|
||||
}
|
||||
pm_errno = PM_ERR_LIBDOWNLOAD;
|
||||
if(fetchLastErrCode != 0 || dlf == NULL) {
|
||||
pm_errno = PM_ERR_LIBFETCH;
|
||||
_alpm_log(PM_LOG_ERROR, _("failed retrieving file '%s' from %s : %s\n"),
|
||||
filename, host, downloadLastErrString);
|
||||
filename, gethost(fileurl), fetchLastErrString);
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
} else {
|
||||
_alpm_log(PM_LOG_DEBUG, "connected to %s successfully\n", fileurl->host);
|
||||
}
|
||||
|
||||
if(ust.mtime && mtimeold && ust.mtime == mtimeold) {
|
||||
_alpm_log(PM_LOG_DEBUG, "mtimes are identical, skipping %s\n", filename);
|
||||
ret = 1;
|
||||
goto cleanup;
|
||||
if(localf && fileurl->offset == 0) {
|
||||
_alpm_log(PM_LOG_WARNING, _("resuming download of %s not possible; starting over\n"), filename);
|
||||
fclose(localf);
|
||||
localf = NULL;
|
||||
} else if(fileurl->offset) {
|
||||
_alpm_log(PM_LOG_DEBUG, "resuming download at position %jd\n", (intmax_t)fileurl->offset);
|
||||
}
|
||||
|
||||
if(ust.mtime && mtimenew) {
|
||||
*mtimenew = ust.mtime;
|
||||
}
|
||||
|
||||
if(chk_resume && fileurl->offset == 0) {
|
||||
_alpm_log(PM_LOG_WARNING, _("cannot resume download, starting over\n"));
|
||||
if(localf != NULL) {
|
||||
fclose(localf);
|
||||
localf = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if(localf == NULL) {
|
||||
_alpm_rmrf(tempfile);
|
||||
@@ -189,7 +234,9 @@ static int download_internal(const char *url, const char *localpath,
|
||||
dl_thisfile = 0;
|
||||
localf = fopen(tempfile, "wb");
|
||||
if(localf == NULL) { /* still null? */
|
||||
_alpm_log(PM_LOG_ERROR, _("cannot write to file '%s'\n"), tempfile);
|
||||
pm_errno = PM_ERR_RETRIEVE;
|
||||
_alpm_log(PM_LOG_ERROR, _("error writing to file '%s': %s\n"),
|
||||
tempfile, strerror(errno));
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -200,41 +247,58 @@ static int download_internal(const char *url, const char *localpath,
|
||||
handle->dlcb(filename, 0, ust.size);
|
||||
}
|
||||
|
||||
size_t nread = 0;
|
||||
char buffer[PM_DLBUF_LEN];
|
||||
while((nread = fread(buffer, 1, PM_DLBUF_LEN, dlf)) > 0) {
|
||||
if(ferror(dlf)) {
|
||||
pm_errno = PM_ERR_LIBDOWNLOAD;
|
||||
_alpm_log(PM_LOG_ERROR, _("error downloading '%s': %s\n"),
|
||||
filename, downloadLastErrString);
|
||||
while((nread = fetchIO_read(dlf, buffer, PM_DLBUF_LEN)) > 0) {
|
||||
check_stop();
|
||||
size_t nwritten = 0;
|
||||
nwritten = fwrite(buffer, 1, nread, localf);
|
||||
if((nwritten != nread) || ferror(localf)) {
|
||||
pm_errno = PM_ERR_RETRIEVE;
|
||||
_alpm_log(PM_LOG_ERROR, _("error writing to file '%s': %s\n"),
|
||||
tempfile, strerror(errno));
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
size_t nwritten = 0;
|
||||
while(nwritten < nread) {
|
||||
nwritten += fwrite(buffer, 1, (nread - nwritten), localf);
|
||||
if(ferror(localf)) {
|
||||
_alpm_log(PM_LOG_ERROR, _("error writing to file '%s': %s\n"),
|
||||
destfile, strerror(errno));
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
dl_thisfile += nread;
|
||||
|
||||
if(handle->dlcb) {
|
||||
handle->dlcb(filename, dl_thisfile, ust.size);
|
||||
}
|
||||
}
|
||||
|
||||
/* did the transfer complete normally? */
|
||||
if (nread == -1) {
|
||||
/* not PM_ERR_LIBFETCH here because libfetch error string might be empty */
|
||||
pm_errno = PM_ERR_RETRIEVE;
|
||||
_alpm_log(PM_LOG_ERROR, _("failed retrieving file '%s' from %s\n"),
|
||||
filename, gethost(fileurl));
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (ust.size != -1 && dl_thisfile < ust.size) {
|
||||
pm_errno = PM_ERR_RETRIEVE;
|
||||
_alpm_log(PM_LOG_ERROR, _("%s appears to be truncated: %jd/%jd bytes\n"),
|
||||
filename, (intmax_t)dl_thisfile, (intmax_t)ust.size);
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* probably safer to close the file descriptors now before renaming the file,
|
||||
* for example to make sure the buffers are flushed.
|
||||
*/
|
||||
fclose(localf);
|
||||
localf = NULL;
|
||||
fclose(dlf);
|
||||
fetchIO_close(dlf);
|
||||
dlf = NULL;
|
||||
|
||||
/* set the times on the file to the same as that of the remote file */
|
||||
if(ust.mtime) {
|
||||
struct timeval tv[2];
|
||||
memset(&tv, 0, sizeof(tv));
|
||||
tv[0].tv_sec = ust.atime;
|
||||
tv[1].tv_sec = ust.mtime;
|
||||
utimes(tempfile, tv);
|
||||
}
|
||||
rename(tempfile, destfile);
|
||||
ret = 0;
|
||||
|
||||
@@ -242,167 +306,80 @@ cleanup:
|
||||
FREE(tempfile);
|
||||
FREE(destfile);
|
||||
if(localf != NULL) {
|
||||
/* if we still had a local file open, we got interrupted. set the mtimes on
|
||||
* the file accordingly. */
|
||||
fflush(localf);
|
||||
if(ust.mtime) {
|
||||
struct timeval tv[2];
|
||||
memset(&tv, 0, sizeof(tv));
|
||||
tv[0].tv_sec = ust.atime;
|
||||
tv[1].tv_sec = ust.mtime;
|
||||
futimes(fileno(localf), tv);
|
||||
}
|
||||
fclose(localf);
|
||||
}
|
||||
if(dlf != NULL) {
|
||||
fclose(dlf);
|
||||
fetchIO_close(dlf);
|
||||
}
|
||||
downloadFreeURL(fileurl);
|
||||
fetchFreeURL(fileurl);
|
||||
|
||||
/* restore the old signal handlers */
|
||||
sigaction(SIGINT, &sig_int[OLD], NULL);
|
||||
sigaction(SIGPIPE, &sig_pipe[OLD], NULL);
|
||||
/* if we were interrupted, trip the old handler */
|
||||
if(dload_interrupted) {
|
||||
raise(SIGINT);
|
||||
}
|
||||
|
||||
return(ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
static int download_external(const char *url, const char *localpath,
|
||||
time_t mtimeold, time_t *mtimenew) {
|
||||
int ret = 0;
|
||||
int retval;
|
||||
int usepart = 0;
|
||||
char *ptr1, *ptr2;
|
||||
char origCmd[PATH_MAX];
|
||||
char parsedCmd[PATH_MAX] = "";
|
||||
char cwd[PATH_MAX];
|
||||
char *destfile, *tempfile, *filename;
|
||||
|
||||
if(!handle->xfercommand) {
|
||||
RET_ERR(PM_ERR_EXTERNAL_DOWNLOAD, -1);
|
||||
}
|
||||
|
||||
filename = get_filename(url);
|
||||
if(!filename) {
|
||||
RET_ERR(PM_ERR_EXTERNAL_DOWNLOAD, -1);
|
||||
}
|
||||
destfile = get_destfile(localpath, filename);
|
||||
tempfile = get_tempfile(localpath, filename);
|
||||
|
||||
/* replace all occurrences of %o with fn.part */
|
||||
strncpy(origCmd, handle->xfercommand, sizeof(origCmd));
|
||||
ptr1 = origCmd;
|
||||
while((ptr2 = strstr(ptr1, "%o"))) {
|
||||
usepart = 1;
|
||||
ptr2[0] = '\0';
|
||||
strcat(parsedCmd, ptr1);
|
||||
strcat(parsedCmd, tempfile);
|
||||
ptr1 = ptr2 + 2;
|
||||
}
|
||||
strcat(parsedCmd, ptr1);
|
||||
/* replace all occurrences of %u with the download URL */
|
||||
strncpy(origCmd, parsedCmd, sizeof(origCmd));
|
||||
parsedCmd[0] = '\0';
|
||||
ptr1 = origCmd;
|
||||
while((ptr2 = strstr(ptr1, "%u"))) {
|
||||
ptr2[0] = '\0';
|
||||
strcat(parsedCmd, ptr1);
|
||||
strcat(parsedCmd, url);
|
||||
ptr1 = ptr2 + 2;
|
||||
}
|
||||
strcat(parsedCmd, ptr1);
|
||||
/* cwd to the download directory */
|
||||
getcwd(cwd, PATH_MAX);
|
||||
if(chdir(localpath)) {
|
||||
_alpm_log(PM_LOG_WARNING, _("could not chdir to %s\n"), localpath);
|
||||
pm_errno = PM_ERR_EXTERNAL_DOWNLOAD;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
/* execute the parsed command via /bin/sh -c */
|
||||
_alpm_log(PM_LOG_DEBUG, "running command: %s\n", parsedCmd);
|
||||
retval = system(parsedCmd);
|
||||
|
||||
if(retval == -1) {
|
||||
_alpm_log(PM_LOG_WARNING, _("running XferCommand: fork failed!\n"));
|
||||
pm_errno = PM_ERR_EXTERNAL_DOWNLOAD;
|
||||
ret = -1;
|
||||
} else if(retval != 0) {
|
||||
/* download failed */
|
||||
_alpm_log(PM_LOG_DEBUG, "XferCommand command returned non-zero status "
|
||||
"code (%d)\n", retval);
|
||||
ret = -1;
|
||||
} else {
|
||||
/* download was successful */
|
||||
if(usepart) {
|
||||
rename(tempfile, destfile);
|
||||
}
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
cleanup:
|
||||
chdir(cwd);
|
||||
if(ret == -1) {
|
||||
/* hack to let an user the time to cancel a download */
|
||||
sleep(2);
|
||||
}
|
||||
FREE(destfile);
|
||||
FREE(tempfile);
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
||||
static int download(const char *url, const char *localpath,
|
||||
time_t mtimeold, time_t *mtimenew) {
|
||||
int ret;
|
||||
const char *proto = "file://";
|
||||
int len = strlen(proto);
|
||||
if(strncmp(url, proto, len) == 0) {
|
||||
/* we can simply grab an absolute path from the file:// url by starting
|
||||
* our path at the char following the proto (the root '/')
|
||||
*/
|
||||
const char *sourcefile = url + len;
|
||||
const char *filename = get_filename(url);
|
||||
char *destfile = get_destfile(localpath, filename);
|
||||
|
||||
ret = _alpm_copyfile(sourcefile, destfile);
|
||||
FREE(destfile);
|
||||
/* copyfile returns 1 on failure, we want to return -1 on failure */
|
||||
return(ret ? -1 : 0);
|
||||
}
|
||||
|
||||
/* We have a few things to take into account here.
|
||||
* 1. If we have both internal/external available, choose based on
|
||||
* whether xfercommand is populated.
|
||||
* 2. If we only have external available, we should first check
|
||||
* if a command was provided before we drop into download_external.
|
||||
*/
|
||||
if(handle->xfercommand == NULL) {
|
||||
int force) {
|
||||
if(handle->fetchcb == NULL) {
|
||||
#if defined(INTERNAL_DOWNLOAD)
|
||||
ret = download_internal(url, localpath, mtimeold, mtimenew);
|
||||
return(download_internal(url, localpath, force));
|
||||
#else
|
||||
RET_ERR(PM_ERR_EXTERNAL_DOWNLOAD, -1);
|
||||
#endif
|
||||
} else {
|
||||
ret = download_external(url, localpath, mtimeold, mtimenew);
|
||||
int ret = handle->fetchcb(url, localpath, force);
|
||||
if(ret == -1) {
|
||||
RET_ERR(PM_ERR_EXTERNAL_DOWNLOAD, -1);
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/*
|
||||
* Download a single file
|
||||
* - if mtimeold is non-NULL, then only download the file if it's different
|
||||
* than mtimeold.
|
||||
* - if *mtimenew is non-NULL, it will be filled with the mtime of the remote
|
||||
* file.
|
||||
* - servers must be a list of urls WITHOUT trailing slashes.
|
||||
*
|
||||
* RETURN: 0 for successful download
|
||||
* 1 if the mtimes are identical
|
||||
* 1 if the files are identical
|
||||
* -1 on error
|
||||
*/
|
||||
int _alpm_download_single_file(const char *filename,
|
||||
alpm_list_t *servers, const char *localpath,
|
||||
time_t mtimeold, time_t *mtimenew)
|
||||
int force)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
int ret = -1;
|
||||
|
||||
ASSERT(servers != NULL, RET_ERR(PM_ERR_SERVER_NONE, -1));
|
||||
|
||||
for(i = servers; i; i = i->next) {
|
||||
const char *server = i->data;
|
||||
char *fileurl = NULL;
|
||||
int len;
|
||||
size_t len;
|
||||
|
||||
/* print server + filename into a buffer */
|
||||
len = strlen(server) + strlen(filename) + 2;
|
||||
CALLOC(fileurl, len, sizeof(char), RET_ERR(PM_ERR_MEMORY, -1));
|
||||
snprintf(fileurl, len, "%s/%s", server, filename);
|
||||
|
||||
ret = download(fileurl, localpath, mtimeold, mtimenew);
|
||||
ret = download(fileurl, localpath, force);
|
||||
FREE(fileurl);
|
||||
if(ret != -1) {
|
||||
break;
|
||||
@@ -421,7 +398,7 @@ int _alpm_download_files(alpm_list_t *files,
|
||||
for(lp = files; lp; lp = lp->next) {
|
||||
char *filename = lp->data;
|
||||
if(_alpm_download_single_file(filename, servers,
|
||||
localpath, 0, NULL) == -1) {
|
||||
localpath, 0) == -1) {
|
||||
ret++;
|
||||
}
|
||||
}
|
||||
@@ -448,7 +425,7 @@ char SYMEXPORT *alpm_fetch_pkgurl(const char *url)
|
||||
cachedir = _alpm_filecache_setup();
|
||||
|
||||
/* download the file */
|
||||
ret = download(url, cachedir, 0, NULL);
|
||||
ret = download(url, cachedir, 0);
|
||||
if(ret == -1) {
|
||||
_alpm_log(PM_LOG_WARNING, _("failed to download %s\n"), url);
|
||||
return(NULL);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* dload.h
|
||||
*
|
||||
* Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -24,11 +25,11 @@
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#define PM_DLBUF_LEN (1024 * 10)
|
||||
#define PM_DLBUF_LEN (1024 * 16)
|
||||
|
||||
int _alpm_download_single_file(const char *filename,
|
||||
alpm_list_t *servers, const char *localpath,
|
||||
time_t mtimeold, time_t *mtimenew);
|
||||
int force);
|
||||
|
||||
int _alpm_download_files(alpm_list_t *files,
|
||||
alpm_list_t *servers, const char *localpath);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* error.c
|
||||
*
|
||||
* Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -30,11 +31,8 @@
|
||||
#include <sys/param.h> /* MAXHOSTNAMELEN */
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_LIBDOWNLOAD)
|
||||
#include <download.h> /* downloadLastErrString */
|
||||
#elif defined(HAVE_LIBFETCH)
|
||||
#if defined(INTERNAL_DOWNLOAD)
|
||||
#include <fetch.h> /* fetchLastErrString */
|
||||
#define downloadLastErrString fetchLastErrString
|
||||
#endif
|
||||
|
||||
/* libalpm */
|
||||
@@ -87,6 +85,8 @@ const char SYMEXPORT *alpm_strerror(int err)
|
||||
/* Servers */
|
||||
case PM_ERR_SERVER_BAD_URL:
|
||||
return _("invalid url for server");
|
||||
case PM_ERR_SERVER_NONE:
|
||||
return _("no servers configured for repository");
|
||||
/* Transactions */
|
||||
case PM_ERR_TRANS_NOT_NULL:
|
||||
return _("transaction already initialized");
|
||||
@@ -102,35 +102,30 @@ const char SYMEXPORT *alpm_strerror(int err)
|
||||
return _("transaction aborted");
|
||||
case PM_ERR_TRANS_TYPE:
|
||||
return _("operation not compatible with the transaction type");
|
||||
case PM_ERR_TRANS_COMMITING:
|
||||
return _("could not commit transaction");
|
||||
case PM_ERR_TRANS_DOWNLOADING:
|
||||
return _("could not download all files");
|
||||
case PM_ERR_TRANS_NOT_LOCKED:
|
||||
return _("transaction commit attempt when database is not locked");
|
||||
/* Packages */
|
||||
case PM_ERR_PKG_NOT_FOUND:
|
||||
return _("could not find or read package");
|
||||
case PM_ERR_PKG_IGNORED:
|
||||
return _("operation cancelled due to ignorepkg");
|
||||
case PM_ERR_PKG_INVALID:
|
||||
return _("invalid or corrupted package");
|
||||
case PM_ERR_PKG_OPEN:
|
||||
return _("cannot open package file");
|
||||
case PM_ERR_PKG_LOAD:
|
||||
return _("cannot load package data");
|
||||
case PM_ERR_PKG_CANT_FRESH:
|
||||
return _("package not installed or lesser version");
|
||||
case PM_ERR_PKG_CANT_REMOVE:
|
||||
return _("cannot remove all files for package");
|
||||
case PM_ERR_PKG_INVALID_NAME:
|
||||
return _("package filename is not valid");
|
||||
case PM_ERR_PKG_INVALID_ARCH:
|
||||
return _("package architecture is not valid");
|
||||
case PM_ERR_PKG_REPO_NOT_FOUND:
|
||||
return _("no such repository");
|
||||
return _("could not find repository for target");
|
||||
/* Deltas */
|
||||
case PM_ERR_DLT_INVALID:
|
||||
return _("invalid or corrupted delta");
|
||||
case PM_ERR_DLT_PATCHFAILED:
|
||||
return _("delta patch failed");
|
||||
/* Groups */
|
||||
case PM_ERR_GRP_NOT_FOUND:
|
||||
return _("group not found");
|
||||
/* Dependencies */
|
||||
case PM_ERR_UNSATISFIED_DEPS:
|
||||
return _("could not satisfy dependencies");
|
||||
@@ -139,13 +134,8 @@ const char SYMEXPORT *alpm_strerror(int err)
|
||||
case PM_ERR_FILE_CONFLICTS:
|
||||
return _("conflicting files");
|
||||
/* Miscellaenous */
|
||||
case PM_ERR_USER_ABORT:
|
||||
return _("user aborted the operation");
|
||||
case PM_ERR_INTERNAL_ERROR:
|
||||
return _("internal error");
|
||||
case PM_ERR_PKG_HOLD:
|
||||
/* TODO wow this is not descriptive at all... what does this mean? */
|
||||
return _("not confirmed");
|
||||
case PM_ERR_RETRIEVE:
|
||||
return _("failed to retrieve some files");
|
||||
case PM_ERR_INVALID_REGEX:
|
||||
return _("invalid regular expression");
|
||||
/* Errors from external libraries- our own wrapper error */
|
||||
@@ -154,9 +144,9 @@ const char SYMEXPORT *alpm_strerror(int err)
|
||||
* requires the archive struct, so we can't. Just use a generic
|
||||
* error string instead. */
|
||||
return _("libarchive error");
|
||||
case PM_ERR_LIBDOWNLOAD:
|
||||
case PM_ERR_LIBFETCH:
|
||||
#if defined(INTERNAL_DOWNLOAD)
|
||||
return downloadLastErrString;
|
||||
return fetchLastErrString;
|
||||
#else
|
||||
/* obviously shouldn't get here... */
|
||||
return _("download library error");
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* graph.h - helpful graph structure and setup/teardown methods
|
||||
*
|
||||
* Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* group.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* group.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* handle.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
*
|
||||
@@ -48,16 +49,7 @@ pmhandle_t *_alpm_handle_new()
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
CALLOC(handle, 1, sizeof(pmhandle_t), RET_ERR(PM_ERR_MEMORY, NULL));
|
||||
|
||||
handle->lckfd = -1;
|
||||
handle->logstream = NULL;
|
||||
|
||||
handle->root = NULL;
|
||||
handle->dbpath = NULL;
|
||||
handle->cachedirs = NULL;
|
||||
handle->lockfile = NULL;
|
||||
handle->logfile = NULL;
|
||||
handle->usedelta = 0;
|
||||
|
||||
return(handle);
|
||||
}
|
||||
@@ -87,12 +79,11 @@ void _alpm_handle_free(pmhandle_t *handle)
|
||||
FREELIST(handle->cachedirs);
|
||||
FREE(handle->logfile);
|
||||
FREE(handle->lockfile);
|
||||
FREE(handle->xfercommand);
|
||||
FREE(handle->arch);
|
||||
FREELIST(handle->dbs_sync);
|
||||
FREELIST(handle->noupgrade);
|
||||
FREELIST(handle->noextract);
|
||||
FREELIST(handle->ignorepkg);
|
||||
FREELIST(handle->holdpkg);
|
||||
FREELIST(handle->ignoregrp);
|
||||
FREE(handle);
|
||||
}
|
||||
@@ -115,6 +106,15 @@ alpm_cb_download SYMEXPORT alpm_option_get_dlcb()
|
||||
return handle->dlcb;
|
||||
}
|
||||
|
||||
alpm_cb_fetch SYMEXPORT alpm_option_get_fetchcb()
|
||||
{
|
||||
if (handle == NULL) {
|
||||
pm_errno = PM_ERR_HANDLE_NULL;
|
||||
return NULL;
|
||||
}
|
||||
return handle->fetchcb;
|
||||
}
|
||||
|
||||
alpm_cb_totaldl SYMEXPORT alpm_option_get_totaldlcb()
|
||||
{
|
||||
if (handle == NULL) {
|
||||
@@ -169,7 +169,7 @@ const char SYMEXPORT *alpm_option_get_lockfile()
|
||||
return handle->lockfile;
|
||||
}
|
||||
|
||||
unsigned short SYMEXPORT alpm_option_get_usesyslog()
|
||||
int SYMEXPORT alpm_option_get_usesyslog()
|
||||
{
|
||||
if (handle == NULL) {
|
||||
pm_errno = PM_ERR_HANDLE_NULL;
|
||||
@@ -205,15 +205,6 @@ alpm_list_t SYMEXPORT *alpm_option_get_ignorepkgs()
|
||||
return handle->ignorepkg;
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_option_get_holdpkgs()
|
||||
{
|
||||
if (handle == NULL) {
|
||||
pm_errno = PM_ERR_HANDLE_NULL;
|
||||
return NULL;
|
||||
}
|
||||
return handle->holdpkg;
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_option_get_ignoregrps()
|
||||
{
|
||||
if (handle == NULL) {
|
||||
@@ -223,22 +214,22 @@ alpm_list_t SYMEXPORT *alpm_option_get_ignoregrps()
|
||||
return handle->ignoregrp;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_option_get_xfercommand()
|
||||
const char SYMEXPORT *alpm_option_get_arch()
|
||||
{
|
||||
if (handle == NULL) {
|
||||
pm_errno = PM_ERR_HANDLE_NULL;
|
||||
return NULL;
|
||||
}
|
||||
return handle->xfercommand;
|
||||
return handle->arch;
|
||||
}
|
||||
|
||||
unsigned short SYMEXPORT alpm_option_get_nopassiveftp()
|
||||
int SYMEXPORT alpm_option_get_usedelta()
|
||||
{
|
||||
if (handle == NULL) {
|
||||
pm_errno = PM_ERR_HANDLE_NULL;
|
||||
return -1;
|
||||
}
|
||||
return handle->nopassiveftp;
|
||||
return handle->usedelta;
|
||||
}
|
||||
|
||||
pmdb_t SYMEXPORT *alpm_option_get_localdb()
|
||||
@@ -277,6 +268,15 @@ void SYMEXPORT alpm_option_set_dlcb(alpm_cb_download cb)
|
||||
handle->dlcb = cb;
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_set_fetchcb(alpm_cb_fetch cb)
|
||||
{
|
||||
if (handle == NULL) {
|
||||
pm_errno = PM_ERR_HANDLE_NULL;
|
||||
return;
|
||||
}
|
||||
handle->fetchcb = cb;
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_set_totaldlcb(alpm_cb_totaldl cb)
|
||||
{
|
||||
if (handle == NULL) {
|
||||
@@ -305,6 +305,7 @@ int SYMEXPORT alpm_option_set_root(const char *root)
|
||||
|
||||
realroot = calloc(PATH_MAX+1, sizeof(char));
|
||||
if(!realpath(root, realroot)) {
|
||||
FREE(realroot);
|
||||
pm_errno = PM_ERR_NOT_A_DIR;
|
||||
return(-1);
|
||||
}
|
||||
@@ -445,7 +446,7 @@ int SYMEXPORT alpm_option_set_logfile(const char *logfile)
|
||||
return(0);
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_set_usesyslog(unsigned short usesyslog)
|
||||
void SYMEXPORT alpm_option_set_usesyslog(int usesyslog)
|
||||
{
|
||||
handle->usesyslog = usesyslog;
|
||||
}
|
||||
@@ -516,28 +517,6 @@ int SYMEXPORT alpm_option_remove_ignorepkg(const char *pkg)
|
||||
return(0);
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_add_holdpkg(const char *pkg)
|
||||
{
|
||||
handle->holdpkg = alpm_list_add(handle->holdpkg, strdup(pkg));
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_set_holdpkgs(alpm_list_t *holdpkgs)
|
||||
{
|
||||
if(handle->holdpkg) FREELIST(handle->holdpkg);
|
||||
if(holdpkgs) handle->holdpkg = holdpkgs;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_remove_holdpkg(const char *pkg)
|
||||
{
|
||||
char *vdata = NULL;
|
||||
handle->holdpkg = alpm_list_remove_str(handle->holdpkg, pkg, &vdata);
|
||||
if(vdata != NULL) {
|
||||
FREE(vdata);
|
||||
return(1);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_add_ignoregrp(const char *grp)
|
||||
{
|
||||
handle->ignoregrp = alpm_list_add(handle->ignoregrp, strdup(grp));
|
||||
@@ -560,18 +539,13 @@ int SYMEXPORT alpm_option_remove_ignoregrp(const char *grp)
|
||||
return(0);
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_set_xfercommand(const char *cmd)
|
||||
void SYMEXPORT alpm_option_set_arch(const char *arch)
|
||||
{
|
||||
if(handle->xfercommand) FREE(handle->xfercommand);
|
||||
if(cmd) handle->xfercommand = strdup(cmd);
|
||||
if(handle->arch) FREE(handle->arch);
|
||||
if(arch) handle->arch = strdup(arch);
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_set_nopassiveftp(unsigned short nopasv)
|
||||
{
|
||||
handle->nopassiveftp = nopasv;
|
||||
}
|
||||
|
||||
void SYMEXPORT alpm_option_set_usedelta(unsigned short usedelta)
|
||||
void SYMEXPORT alpm_option_set_usedelta(int usedelta)
|
||||
{
|
||||
handle->usedelta = usedelta;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* handle.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -40,6 +41,7 @@ typedef struct _pmhandle_t {
|
||||
alpm_cb_log logcb; /* Log callback function */
|
||||
alpm_cb_download dlcb; /* Download callback function */
|
||||
alpm_cb_totaldl totaldlcb; /* Total download callback function */
|
||||
alpm_cb_fetch fetchcb; /* Download file callback function */
|
||||
|
||||
/* filesystem paths */
|
||||
char *root; /* Root path, default '/' */
|
||||
@@ -52,14 +54,12 @@ typedef struct _pmhandle_t {
|
||||
alpm_list_t *noupgrade; /* List of packages NOT to be upgraded */
|
||||
alpm_list_t *noextract; /* List of files NOT to extract */
|
||||
alpm_list_t *ignorepkg; /* List of packages to ignore */
|
||||
alpm_list_t *holdpkg; /* List of packages which 'hold' pacman */
|
||||
alpm_list_t *ignoregrp; /* List of groups to ignore */
|
||||
|
||||
/* options */
|
||||
unsigned short usesyslog; /* Use syslog instead of logfile? */ /* TODO move to frontend */
|
||||
unsigned short nopassiveftp; /* Don't use PASV ftp connections */
|
||||
char *xfercommand; /* External download command */
|
||||
unsigned short usedelta; /* Download deltas if possible */
|
||||
int usesyslog; /* Use syslog instead of logfile? */ /* TODO move to frontend */
|
||||
char *arch; /* Architecture of packages we should allow */
|
||||
int usedelta; /* Download deltas if possible */
|
||||
} pmhandle_t;
|
||||
|
||||
/* global handle variable */
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* log.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* log.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -37,6 +37,9 @@
|
||||
* to
|
||||
* int md5_file( const char *path, unsigned char *output )
|
||||
* * various static/inline changes
|
||||
*
|
||||
* NOTE: XySSL has been renamed to PolarSSL, which is available at
|
||||
* www.polarssl.org. If we update, we should get it from there.
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
@@ -248,7 +251,7 @@ static inline void md5_update( md5_context *ctx, unsigned char *input, int ilen
|
||||
}
|
||||
}
|
||||
|
||||
static const unsigned char md5_padding[64] =
|
||||
static unsigned char md5_padding[64] =
|
||||
{
|
||||
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* package.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005, 2006 by Christian Hamar <krics@linuxforum.hu>
|
||||
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
@@ -30,7 +31,6 @@
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* libarchive */
|
||||
#include <archive.h>
|
||||
@@ -295,6 +295,20 @@ alpm_list_t SYMEXPORT *alpm_pkg_get_groups(pmpkg_t *pkg)
|
||||
return pkg->groups;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_pkg_has_force(pmpkg_t *pkg)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(handle != NULL, return(-1));
|
||||
ASSERT(pkg != NULL, return(-1));
|
||||
|
||||
if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
|
||||
_alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
|
||||
}
|
||||
return pkg->force;
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_depends(pmpkg_t *pkg)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
@@ -409,6 +423,15 @@ alpm_list_t SYMEXPORT *alpm_pkg_get_backup(pmpkg_t *pkg)
|
||||
return pkg->backup;
|
||||
}
|
||||
|
||||
pmdb_t SYMEXPORT *alpm_pkg_get_db(pmpkg_t *pkg)
|
||||
{
|
||||
/* Sanity checks */
|
||||
ASSERT(pkg != NULL, return(NULL));
|
||||
ASSERT(pkg->origin == PKG_FROM_CACHE, return(NULL));
|
||||
|
||||
return(pkg->origin_data.db);
|
||||
}
|
||||
|
||||
/**
|
||||
* Open a package changelog for reading. Similar to fopen in functionality,
|
||||
* except that the returned 'file stream' could really be from an archive
|
||||
@@ -436,7 +459,6 @@ void SYMEXPORT *alpm_pkg_changelog_open(pmpkg_t *pkg)
|
||||
struct archive *archive = NULL;
|
||||
struct archive_entry *entry;
|
||||
const char *pkgfile = pkg->origin_data.file;
|
||||
int ret = ARCHIVE_OK;
|
||||
|
||||
if((archive = archive_read_new()) == NULL) {
|
||||
RET_ERR(PM_ERR_LIBARCHIVE, NULL);
|
||||
@@ -450,7 +472,7 @@ void SYMEXPORT *alpm_pkg_changelog_open(pmpkg_t *pkg)
|
||||
RET_ERR(PM_ERR_PKG_OPEN, NULL);
|
||||
}
|
||||
|
||||
while((ret = archive_read_next_header(archive, &entry)) == ARCHIVE_OK) {
|
||||
while(archive_read_next_header(archive, &entry) == ARCHIVE_OK) {
|
||||
const char *entry_name = archive_entry_pathname(entry);
|
||||
|
||||
if(strcmp(entry_name, ".CHANGELOG") == 0) {
|
||||
@@ -518,7 +540,7 @@ int SYMEXPORT alpm_pkg_changelog_close(const pmpkg_t *pkg, void *fp)
|
||||
return(ret);
|
||||
}
|
||||
|
||||
unsigned short SYMEXPORT alpm_pkg_has_scriptlet(pmpkg_t *pkg)
|
||||
int SYMEXPORT alpm_pkg_has_scriptlet(pmpkg_t *pkg)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
@@ -533,6 +555,23 @@ unsigned short SYMEXPORT alpm_pkg_has_scriptlet(pmpkg_t *pkg)
|
||||
return pkg->scriptlet;
|
||||
}
|
||||
|
||||
static void find_requiredby(pmpkg_t *pkg, pmdb_t *db, alpm_list_t **reqs)
|
||||
{
|
||||
const alpm_list_t *i;
|
||||
for(i = _alpm_db_get_pkgcache(db); i; i = i->next) {
|
||||
if(!i->data) {
|
||||
continue;
|
||||
}
|
||||
pmpkg_t *cachepkg = i->data;
|
||||
if(_alpm_dep_edge(cachepkg, pkg)) {
|
||||
const char *cachepkgname = cachepkg->name;
|
||||
if(alpm_list_find_str(*reqs, cachepkgname) == 0) {
|
||||
*reqs = alpm_list_add(*reqs, strdup(cachepkgname));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Compute the packages requiring a given package.
|
||||
* @param pkg a package
|
||||
@@ -542,192 +581,29 @@ alpm_list_t SYMEXPORT *alpm_pkg_compute_requiredby(pmpkg_t *pkg)
|
||||
{
|
||||
const alpm_list_t *i;
|
||||
alpm_list_t *reqs = NULL;
|
||||
pmdb_t *db;
|
||||
|
||||
pmdb_t *localdb = alpm_option_get_localdb();
|
||||
for(i = _alpm_db_get_pkgcache(localdb); i; i = i->next) {
|
||||
if(!i->data) {
|
||||
continue;
|
||||
}
|
||||
pmpkg_t *cachepkg = i->data;
|
||||
if(_alpm_dep_edge(cachepkg, pkg)) {
|
||||
const char *cachepkgname = alpm_pkg_get_name(cachepkg);
|
||||
reqs = alpm_list_add(reqs, strdup(cachepkgname));
|
||||
if(pkg->origin == PKG_FROM_FILE) {
|
||||
/* The sane option; search locally for things that require this. */
|
||||
db = alpm_option_get_localdb();
|
||||
find_requiredby(pkg, db, &reqs);
|
||||
} else {
|
||||
/* We have a DB package. if it is a local package, then we should
|
||||
* only search the local DB; else search all known sync databases. */
|
||||
db = pkg->origin_data.db;
|
||||
if(db->is_local) {
|
||||
find_requiredby(pkg, db, &reqs);
|
||||
} else {
|
||||
for(i = handle->dbs_sync; i; i = i->next) {
|
||||
db = i->data;
|
||||
find_requiredby(pkg, db, &reqs);
|
||||
reqs = alpm_list_msort(reqs, alpm_list_count(reqs), _alpm_str_cmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
return(reqs);
|
||||
}
|
||||
|
||||
/** Compare two version strings and determine which one is 'newer'.
|
||||
* Returns a value comparable to the way strcmp works. Returns 1
|
||||
* if a is newer than b, 0 if a and b are the same version, or -1
|
||||
* if b is newer than a.
|
||||
*
|
||||
* This function has been adopted from the rpmvercmp function located
|
||||
* at lib/rpmvercmp.c, and was most recently updated against rpm
|
||||
* version 4.4.2.3. Small modifications have been made to make it more
|
||||
* consistent with the libalpm coding style.
|
||||
*
|
||||
* Keep in mind that the pkgrel is only compared if it is available
|
||||
* on both versions handed to this function. For example, comparing
|
||||
* 1.5-1 and 1.5 will yield 0; comparing 1.5-1 and 1.5-2 will yield
|
||||
* -1 as expected. This is mainly for supporting versioned dependencies
|
||||
* that do not include the pkgrel.
|
||||
*/
|
||||
int SYMEXPORT alpm_pkg_vercmp(const char *a, const char *b)
|
||||
{
|
||||
char oldch1, oldch2;
|
||||
char *str1, *str2;
|
||||
char *ptr1, *ptr2;
|
||||
char *one, *two;
|
||||
int rc;
|
||||
int isnum;
|
||||
int ret = 0;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
/* libalpm added code. ensure our strings are not null */
|
||||
if(!a) {
|
||||
if(!b) return(0);
|
||||
return(-1);
|
||||
}
|
||||
if(!b) return(1);
|
||||
|
||||
/* easy comparison to see if versions are identical */
|
||||
if(strcmp(a, b) == 0) return(0);
|
||||
|
||||
str1 = strdup(a);
|
||||
str2 = strdup(b);
|
||||
|
||||
one = str1;
|
||||
two = str2;
|
||||
|
||||
/* loop through each version segment of str1 and str2 and compare them */
|
||||
while(*one && *two) {
|
||||
while(*one && !isalnum((int)*one)) one++;
|
||||
while(*two && !isalnum((int)*two)) two++;
|
||||
|
||||
/* If we ran to the end of either, we are finished with the loop */
|
||||
if(!(*one && *two)) break;
|
||||
|
||||
ptr1 = one;
|
||||
ptr2 = two;
|
||||
|
||||
/* grab first completely alpha or completely numeric segment */
|
||||
/* leave one and two pointing to the start of the alpha or numeric */
|
||||
/* segment and walk ptr1 and ptr2 to end of segment */
|
||||
if(isdigit((int)*ptr1)) {
|
||||
while(*ptr1 && isdigit((int)*ptr1)) ptr1++;
|
||||
while(*ptr2 && isdigit((int)*ptr2)) ptr2++;
|
||||
isnum = 1;
|
||||
} else {
|
||||
while(*ptr1 && isalpha((int)*ptr1)) ptr1++;
|
||||
while(*ptr2 && isalpha((int)*ptr2)) ptr2++;
|
||||
isnum = 0;
|
||||
}
|
||||
|
||||
/* save character at the end of the alpha or numeric segment */
|
||||
/* so that they can be restored after the comparison */
|
||||
oldch1 = *ptr1;
|
||||
*ptr1 = '\0';
|
||||
oldch2 = *ptr2;
|
||||
*ptr2 = '\0';
|
||||
|
||||
/* this cannot happen, as we previously tested to make sure that */
|
||||
/* the first string has a non-null segment */
|
||||
if (one == ptr1) {
|
||||
ret = -1; /* arbitrary */
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* take care of the case where the two version segments are */
|
||||
/* different types: one numeric, the other alpha (i.e. empty) */
|
||||
/* numeric segments are always newer than alpha segments */
|
||||
/* XXX See patch #60884 (and details) from bugzilla #50977. */
|
||||
if (two == ptr2) {
|
||||
ret = isnum ? 1 : -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (isnum) {
|
||||
/* this used to be done by converting the digit segments */
|
||||
/* to ints using atoi() - it's changed because long */
|
||||
/* digit segments can overflow an int - this should fix that. */
|
||||
|
||||
/* throw away any leading zeros - it's a number, right? */
|
||||
while (*one == '0') one++;
|
||||
while (*two == '0') two++;
|
||||
|
||||
/* whichever number has more digits wins */
|
||||
if (strlen(one) > strlen(two)) {
|
||||
ret = 1;
|
||||
goto cleanup;
|
||||
}
|
||||
if (strlen(two) > strlen(one)) {
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
/* strcmp will return which one is greater - even if the two */
|
||||
/* segments are alpha or if they are numeric. don't return */
|
||||
/* if they are equal because there might be more segments to */
|
||||
/* compare */
|
||||
rc = strcmp(one, two);
|
||||
if (rc) {
|
||||
ret = rc < 1 ? -1 : 1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* restore character that was replaced by null above */
|
||||
*ptr1 = oldch1;
|
||||
one = ptr1;
|
||||
*ptr2 = oldch2;
|
||||
two = ptr2;
|
||||
|
||||
/* libalpm added code. check if version strings have hit the pkgrel
|
||||
* portion. depending on which strings have hit, take correct action.
|
||||
* this is all based on the premise that we only have one dash in
|
||||
* the version string, and it separates pkgver from pkgrel. */
|
||||
if(*ptr1 == '-' && *ptr2 == '-') {
|
||||
/* no-op, continue comparing since we are equivalent throughout */
|
||||
} else if(*ptr1 == '-') {
|
||||
/* ptr1 has hit the pkgrel and ptr2 has not. continue version
|
||||
* comparison after stripping the pkgrel from ptr1. */
|
||||
*ptr1 = '\0';
|
||||
} else if(*ptr2 == '-') {
|
||||
/* ptr2 has hit the pkgrel and ptr1 has not. continue version
|
||||
* comparison after stripping the pkgrel from ptr2. */
|
||||
*ptr2 = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
/* this catches the case where all numeric and alpha segments have */
|
||||
/* compared identically but the segment separating characters were */
|
||||
/* different */
|
||||
if ((!*one) && (!*two)) {
|
||||
ret = 0;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* the final showdown. we never want a remaining alpha string to
|
||||
* beat an empty string. the logic is a bit weird, but:
|
||||
* - if one is empty and two is not an alpha, two is newer.
|
||||
* - if one is an alpha, two is newer.
|
||||
* - otherwise one is newer.
|
||||
* */
|
||||
if ( ( !*one && !isalpha((int)*two) )
|
||||
|| isalpha((int)*one) ) {
|
||||
ret = -1;
|
||||
} else {
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
cleanup:
|
||||
free(str1);
|
||||
free(str2);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
pmpkg_t *_alpm_pkg_new(void)
|
||||
@@ -820,6 +696,7 @@ void _alpm_pkg_free(pmpkg_t *pkg)
|
||||
alpm_list_free_inner(pkg->deltas, (alpm_list_fn_free)_alpm_delta_free);
|
||||
alpm_list_free(pkg->deltas);
|
||||
alpm_list_free(pkg->delta_path);
|
||||
alpm_list_free(pkg->removes);
|
||||
|
||||
if(pkg->origin == PKG_FROM_FILE) {
|
||||
FREE(pkg->origin_data.file);
|
||||
@@ -827,32 +704,40 @@ void _alpm_pkg_free(pmpkg_t *pkg)
|
||||
FREE(pkg);
|
||||
}
|
||||
|
||||
/* Is pkgB an upgrade for pkgA ? */
|
||||
int _alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg)
|
||||
/* This function should be used when removing a target from upgrade/sync target list
|
||||
* Case 1: If pkg is a loaded package file (PKG_FROM_FILE), it will be freed.
|
||||
* Case 2: If pkg is a pkgcache entry (PKG_FROM_CACHE), it won't be freed,
|
||||
* only the transaction specific fields of pkg will be freed.
|
||||
*/
|
||||
void _alpm_pkg_free_trans(pmpkg_t *pkg)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(pkg == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(pkg->origin == PKG_FROM_FILE) {
|
||||
_alpm_pkg_free(pkg);
|
||||
return;
|
||||
}
|
||||
|
||||
alpm_list_free(pkg->removes);
|
||||
pkg->removes = NULL;
|
||||
}
|
||||
|
||||
/* Is spkg an upgrade for locapkg? */
|
||||
int _alpm_pkg_compare_versions(pmpkg_t *spkg, pmpkg_t *localpkg)
|
||||
{
|
||||
int cmp = 0;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
if(pkg->origin == PKG_FROM_CACHE) {
|
||||
/* ensure we have the /desc file, which contains the 'force' option */
|
||||
_alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
|
||||
}
|
||||
cmp = alpm_pkg_vercmp(alpm_pkg_get_version(spkg),
|
||||
alpm_pkg_get_version(localpkg));
|
||||
|
||||
/* compare versions and see if we need to upgrade */
|
||||
cmp = alpm_pkg_vercmp(alpm_pkg_get_version(pkg), alpm_pkg_get_version(local_pkg));
|
||||
|
||||
if(cmp != 0 && pkg->force) {
|
||||
if(cmp < 0 && alpm_pkg_has_force(spkg)) {
|
||||
cmp = 1;
|
||||
_alpm_log(PM_LOG_WARNING, _("%s: forcing upgrade to version %s\n"),
|
||||
alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
|
||||
} else if(cmp < 0) {
|
||||
/* local version is newer */
|
||||
pmdb_t *db = pkg->origin_data.db;
|
||||
_alpm_log(PM_LOG_WARNING, _("%s: local (%s) is newer than %s (%s)\n"),
|
||||
alpm_pkg_get_name(local_pkg), alpm_pkg_get_version(local_pkg),
|
||||
alpm_db_get_name(db), alpm_pkg_get_version(pkg));
|
||||
cmp = 0;
|
||||
}
|
||||
|
||||
return(cmp);
|
||||
@@ -864,7 +749,7 @@ int _alpm_pkg_cmp(const void *p1, const void *p2)
|
||||
{
|
||||
pmpkg_t *pkg1 = (pmpkg_t *)p1;
|
||||
pmpkg_t *pkg2 = (pmpkg_t *)p2;
|
||||
return(strcmp(alpm_pkg_get_name(pkg1), alpm_pkg_get_name(pkg2)));
|
||||
return(strcmp(pkg1->name, pkg2->name));
|
||||
}
|
||||
|
||||
/* Test for existence of a package in a alpm_list_t*
|
||||
@@ -883,7 +768,7 @@ pmpkg_t *_alpm_pkg_find(alpm_list_t *haystack, const char *needle)
|
||||
for(lp = haystack; lp; lp = lp->next) {
|
||||
pmpkg_t *info = lp->data;
|
||||
|
||||
if(info && strcmp(alpm_pkg_get_name(info), needle) == 0) {
|
||||
if(info && strcmp(info->name, needle) == 0) {
|
||||
return(info);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* package.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
|
||||
* Copyright (c) 2005, 2006 by Christian Hamar <krics@linuxforum.hu>
|
||||
@@ -48,8 +49,8 @@ struct __pmpkg_t {
|
||||
off_t size;
|
||||
off_t isize;
|
||||
off_t download_size;
|
||||
unsigned short scriptlet;
|
||||
unsigned short force;
|
||||
int scriptlet;
|
||||
int force;
|
||||
pmpkgreason_t reason;
|
||||
alpm_list_t *licenses;
|
||||
alpm_list_t *replaces;
|
||||
@@ -62,6 +63,7 @@ struct __pmpkg_t {
|
||||
alpm_list_t *provides;
|
||||
alpm_list_t *deltas;
|
||||
alpm_list_t *delta_path;
|
||||
alpm_list_t *removes; /* in transaction targets only */
|
||||
/* internal */
|
||||
pmpkgfrom_t origin;
|
||||
/* Replaced 'void *data' with this union as follows:
|
||||
@@ -78,6 +80,7 @@ struct __pmpkg_t {
|
||||
pmpkg_t* _alpm_pkg_new(void);
|
||||
pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg);
|
||||
void _alpm_pkg_free(pmpkg_t *pkg);
|
||||
void _alpm_pkg_free_trans(pmpkg_t *pkg);
|
||||
int _alpm_pkg_cmp(const void *p1, const void *p2);
|
||||
int _alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg);
|
||||
pmpkg_t *_alpm_pkg_find(alpm_list_t *haystack, const char *needle);
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
# Set of available languages.
|
||||
ca
|
||||
cs
|
||||
de
|
||||
el
|
||||
en_GB
|
||||
es
|
||||
fr
|
||||
hu
|
||||
it
|
||||
kk
|
||||
nb
|
||||
pl
|
||||
pt_BR
|
||||
ro
|
||||
ru
|
||||
sv
|
||||
tr
|
||||
uk
|
||||
zh_CN
|
||||
|
||||
@@ -15,7 +15,7 @@ XGETTEXT_OPTIONS = --no-location \
|
||||
# This is the copyright holder that gets inserted into the header of the
|
||||
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
|
||||
# package.
|
||||
COPYRIGHT_HOLDER = Judd Vinet <jvinet@zeroflux.org>
|
||||
COPYRIGHT_HOLDER = Pacman Development Team <pacman-dev@archlinux.org>
|
||||
|
||||
# This is the email address or URL to which the translators shall report
|
||||
# bugs in the untranslated strings.
|
||||
|
||||
563
lib/libalpm/po/ca.po
Normal file
563
lib/libalpm/po/ca.po
Normal file
@@ -0,0 +1,563 @@
|
||||
# Translation of libpalm.po to Catalan
|
||||
# Copyright (C) YEAR Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Manuel Tortosa <manutortosa@gmail.com>, 2009, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-12 19:17+0200\n"
|
||||
"Last-Translator: Manuel Tortosa <manutortosa@gmail.com>\n"
|
||||
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 1.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr ""
|
||||
"s'està reemplaçant l'antiga versió %s-%s per %s en la llista d'objectius\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"s'ometrà %s-%s perquè la versió més nova %s és en la llista d'objectius\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"els permisos del directori difereixen en %s\n"
|
||||
"sistema de fitxers: %o paquet: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "extracció: no se sobreescriurà el directori amb el fitxer %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extracció: l'enllaç simbòlic %s no apunta al directori\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "no es pot extreure %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "no es pot reanomenar %s a %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s desat com %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "no es pot instal·lar %s com %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "%s instal·lat com %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "s'està extraient %s com %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "no es pot obtenir el directori de treball actual\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "ha ocorregut un problema en actualitzar %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "ha ocorregut un problema en instal·lar %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "no s'ha pogut actualitzar l'entrada de la base de dades %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "no s'ha pogut afegir l'entrada '%s' en la memòria cau\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "s'està eliminant la base de dades invàlida: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "no s'ha pogut obrir %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "no s'ha pogut eliminar el directori de la base de dades %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "no s'ha pogut eliminar la base de dades %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nom invàlid per l'entrada de la base de dades '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "entrada de la base de dades duplicada '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "entrada de la base de dades corrupta '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "no es pot obrir el fitxer %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "la base de dades %s és inconsistent: nom erroni en el paquet %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "la base de dades %s és inconsistent: versió errònia en el paquet %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "no s'ha pogut crear el directori %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "no s'ha pogut analitzar el fitxers de descripció de paquet en %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "falta nom de paquet en %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "falta versió de paquet en %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "error en llegir paquet %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "falten les metadades del paquet en %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "no s'ha definit la ruta de la base de dades\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "intent de re-registre de la BD 'local'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "s'ha detectat una dependència cíclica:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s serà eliminat després de la seva dependència %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s serà instal·lar abans de la seva dependència %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "s'està ignorant paquet %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "s'ha seleccionat un paquet proveïdor (%s proveeix %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "no es pot resoldre \"%s\", una dependència de \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disc"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'url '%s' és invàlid\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "ha fallat en recuperar el fitxer '%s' des de %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "no es pot la reprendre la baixada de %s, s'està iniciant de nou\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "error en escriure al fitxer '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "ha fallat en recuperar el fitxer '%s' de %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s sembla estar truncat: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "ha fallat en baixar %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "memòria esgotada!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "error inesperat del sistema"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
msgstr "privilegis insuficients"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr "no es pot trobar o llegir fitxer"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "no es pot trobar o llegir directori"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "s'ha passat un argument erroni o NULL"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "llibreria no inicialitzada"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "la llibreria ja s'ha inicialitzat"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
msgstr "no s'ha pogut bloquejar la base de dades"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open database"
|
||||
msgstr "no s'ha pogut obrir la base de dades"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create database"
|
||||
msgstr "no s'ha pogut crear la base de dades"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "base de dades no inicialitzada"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
msgstr "la base de dades ja s'ha registrat"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
msgstr "no s'ha pogut trobar la base de dades"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database"
|
||||
msgstr "no s'ha pogut actualitzar la base de dades"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "no s'ha pogut suprimir l'entrada de la base de dades"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "url del servidor invàlid"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "no s'ha configurat cap servidor pel repositori"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "ja s'ha inicialitzat la transacció"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "no s'ha inicialitzat la transacció"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
msgstr "objectiu duplicat"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "transacció no preparada"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "transacció cancel·lada"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "l'operació no és compatible amb el tipus de transacció"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr ""
|
||||
"intent de publicació de la transacció amb la base de dades no bloquejada"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "no s'ha pogut trobar o llegir el paquet"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operació cancel·lada degut a ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "paquet invàlid o corrupte"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "no s'ha pogut obrir el fitxer de paquet"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "no s'han pogut eliminar tots els fitxers del paquet"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "el nom de fitxer del paquet no és vàlid"
|
||||
|
||||
#, c-format
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "l'arquitectura del paquet no és vàlida"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "no s'ha pogut trobar el repositori per l'objectiu"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "delta invàlid o corrupte"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "ha fallat el pedaç delta"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "no s'han pogut satisfer les dependències"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "dependències conflictives"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "fitxers conflictius"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "ha fallat en recuperar alguns fitxers"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "expressió regular invàlida"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "error de libarchive"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "error de la llibreria de baixades"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "error en invocar el baixador extern"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "error inesperat"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "no s'ha pogut trobar %s en la base de dades -- s'està ometent\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "s'està eliminant %s de la llista d'objectius\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "no s'ha pogut eliminar el fitxer '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "no s'ha pogut eliminar la entrada de la base de dades %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "no s'ha pogut eliminar l'entrada '%s' de la memòria cau\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: s'ha ignorat l'actualització del paquet (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: s'ha ignorat la desactualització del paquet (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: desactualitzant de la versió %s a la versió %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) és més nou que %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "s'està ignorant el reemplaçament del paquet (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "no s'ha pogut reemplaçar %s per %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s és al dia -- s'ignorarà\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s és al dia -- es reinstal·larà\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "desactualitzant paquet %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "s'ha detectat un paquet amb un conflicte impossible de resoldre\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"s'està eliminant '%s' de la llista d'objectius perquè té conflictes amb "
|
||||
"'%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "ha fallat en recuperar alguns fitxers de %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "no s'ha pogut publicar la transacció d'eliminació\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "no s'ha pogut publicar la transacció\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "no s'ha pogut eliminar el fitxer de bloqueig %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "no s'ha pogut crear el directori temporal\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "no s'ha pogut copiar el fitxer temporal a %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "no s'ha pogut eliminar el directori temporal %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "no s'ha pogut canviar el directori a %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "no s'ha pogut bifurcar a un nou procés (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "no s'ha pogut canviar el directori arrel (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "no s'ha pogut canviar el directori a / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "ha fallat la crida a popen (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "ha fallat la crida a waitpid (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "l'ordre a fallat a executar-se correctament\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "no existeix memòria cau %s, s'està creant...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "no s'ha pogut crear la memòria cau del paquet, s'usarà /tmp\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "s'han trobat paquets conflictius en la llista d'objectius\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "no podeu instal·lar dos paquets amb conflictes alhora\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "no està implementat reemplaçar paquets amb -U\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "podeu reemplaçar paquets manualment usant -Rd i -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "no s'ha especificat l'esquema url, s'està assumint HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "no s'ha pogut escriure al fitxer '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "no existeix aquest repositori"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "no s'ha trobat el repositori '%s'\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "no s'ha pogut crear la transacció d'eliminació\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "no s'ha pogut crear la transacció\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "no s'ha pogut inicialitzar la transacció d'eliminació\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "no s'ha pogut inicialitzar la transacció\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "no s'ha pogut preparar la transacció d'eliminació\n"
|
||||
@@ -1,44 +1,29 @@
|
||||
# translation of cs.po to Čeština
|
||||
# Copyright (C) YEAR Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Vojtěch Gondžala <vojtech.gondzala@gmail.com>, 2007, 2008.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Vojtěch Gondžala <vojtech.gondzala@gmail.com>, 2007, 2008, 2009, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cs\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-19 08:45+0200\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-05 12:56+0200\n"
|
||||
"Last-Translator: Vojtěch Gondžala <vojtech.gondzala@gmail.com>\n"
|
||||
"Language-Team: Čeština\n"
|
||||
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
"X-Generator: Lokalize 1.0\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "v seznamu cílů nahrazuji starší verzi %s-%s za %s\n"
|
||||
msgstr "v seznamu cílů nahrazena starší verze %s-%s za %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr "přeskakuji %s-%s protože v seznamu cílů je novější veze %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "v seznamu cílů byly nalezeny konfliktní balíčky\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "nemůžete instalovat dva konfliktní balíčky společně\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "nahrazování balíčků pomocí -U není nyní podporováno\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "balíčky můžete nahradit ručně použitím -Rd a -U\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "vynechává se %s-%s, protože v seznamu cílů je novější veze %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -48,14 +33,14 @@ msgstr ""
|
||||
"přístupová práva adresáře %s se neshodují\n"
|
||||
"souborový systém: %o balíček: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "rozbalení: symbolický odkaz %s neodkazuje na adresář\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "rozbalení: adresář nebyl přepsán souborem %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "rozbalení: symbolický odkaz %s neodkazuje na adresář\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "nelze rozbalit %s (%s)\n"
|
||||
@@ -66,19 +51,19 @@ msgstr "nelze přejmenovat %s na %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s uložen jako %s\n"
|
||||
msgstr "%s byl uložen jako %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "nelze nainstalovat %s jako %s (%s)\n"
|
||||
msgstr "%s nelze nainstalovat jako %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "%s nainstalován jako %s\n"
|
||||
msgstr "%s byl nainstalován jako %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "rozbaluji %s jako %s.pacnew\n"
|
||||
msgstr "%s byl rozbalen jako %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
@@ -101,13 +86,29 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "nelze přidat položku '%s' do cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "nelze odstranit záznam v databázi %s%s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "odstraňuje se chybná databáze: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "nelze otevřít %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "nelze odstranit adresář databáze %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "nelze odstranit záznam v databázi %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "chybný název záznamu v databázi '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "duplicitní záznam v databázi '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "poškozený záznam v databázi '%s'\n"
|
||||
@@ -124,6 +125,10 @@ msgstr "databáze %s je nekonzistentní: nesouhlasí jméno balíčku %s\n"
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "databáze %s je nekonzistentní: nesouhlasí verze balíčku %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "nelze změnit adresář %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "nelze zpracovat soubor s popisem balíčku v %s\n"
|
||||
@@ -145,12 +150,12 @@ msgid "missing package metadata in %s\n"
|
||||
msgstr "chybí metadata balíčku v %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "pokus o opětovné zaregistrování databáze 'local'\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "cesta k databázi není definována\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "cesta k databázi nebyla určena\n"
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "pokus o opětovné zaregistrování databáze 'local'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
@@ -164,53 +169,45 @@ msgstr "%s bude odstraněn po %s, na kterém závisí\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s bude nainstalován před %s, na kterém závisí\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignoruje se balíček %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "byl vybrán nahrazující balíček (%s poskytuje %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "nemohu vyřešit \"%s\", závislost \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' je chybná\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "schéma url nedefinováno, předpokládám HTTP\n"
|
||||
msgstr "nelze vyřešit \"%s\", závislost \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' je chybná\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "selhalo získání souboru '%s' z %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "nelze navázat stahování, začínám znovu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "nelze zapisovat do souboru '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "chyba při stahování '%s': %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "nelze navázat stahování %s, začíná se znovu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "chyba při zápisu do souboru '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "nelze změnit adresář na %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "selhalo získání souboru '%s' z %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "spouštím XferCommand: větvení selhalo!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s se zdá být zkrácen: %jd/%jd bytů\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -230,11 +227,11 @@ msgstr "nedostatečná oprávnění"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr "nelze najít nebo číst soubor"
|
||||
msgstr "nelze nalézt nebo číst soubor"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "nelze najít nebo číst adresář"
|
||||
msgstr "nelze nalézt nebo číst adresář"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
@@ -282,7 +279,11 @@ msgstr "nelze odstranit záznam v databázi"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "nesprávná url pro server"
|
||||
msgstr "nesprávná URL pro server"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "pro repositář nejsou nastaveny žádné servery"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
@@ -298,28 +299,28 @@ msgstr "duplicitní cíl"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "transakce nepřipravena"
|
||||
msgstr "transakce není připravena"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "transakce zrušena"
|
||||
msgstr "transakce byla zrušena"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "operace není kompatibilní s typem transakce"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "nelze provést transakci"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "nelze stáhnout všechny soubory"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "pokus o uskutečnění transakce v době, kdy není uzamčena databáze"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "nelze nalézt nebo přečíst balíček"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operace byla zrušena kvůli ignorovanému balíčku"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "neplatný nebo poškozený balíček"
|
||||
@@ -328,14 +329,6 @@ msgstr "neplatný nebo poškozený balíček"
|
||||
msgid "cannot open package file"
|
||||
msgstr "nelze otevřít soubor balíčku"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "nelze načíst data z balíčku"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "balíček není nainstalovaný nebo má nižší verzi"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "nelze odstranit všechny soubory balíčku"
|
||||
@@ -345,21 +338,21 @@ msgid "package filename is not valid"
|
||||
msgstr "jméno souboru balíčku není platné"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "není žádný takový repositář"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "architektura balíčku není platná"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "nelze nalézt repositář cíle"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "neplatný nebo poškozený rozdíl"
|
||||
msgstr "neplatný nebo poškozený delta rozdíl"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "aplikace delta rozdílu selhala"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "skupina nenalezena"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "nelze vyřešit závislosti"
|
||||
@@ -373,16 +366,8 @@ msgid "conflicting files"
|
||||
msgstr "konfliktní soubory"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "uživatel zrušil operaci"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "interní chyba"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "nepotvrzeno"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "selhalo získání některých souborů"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -404,17 +389,13 @@ msgstr "chyba volání externího programu pro stahování souborů"
|
||||
msgid "unexpected error"
|
||||
msgstr "neočekávaná chyba"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: vynucená aktualizace na verzi %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: lokální (%s) je novější než %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "nelze nalézt %s v databázi -- přeskakuji\n"
|
||||
msgstr "nelze nalézt %s v databázi -- vynechat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "'%s' odstraněn ze seznamu cílů\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
@@ -428,25 +409,41 @@ msgstr "nelze odstranit záznam databáze %s-%s\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "nelze odstranit položku '%s' z cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr "%s-%s: ignoruji aktualizaci balíčku (bude nahrazen %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignoruji aktualizaci balíčku (%s => %s)\n"
|
||||
msgstr "%s: ignoruje se aktualizace balíčku (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "repositář '%s' nenalezen\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignoruje se ponížení verze balíčku (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: ponížení z verze %s na verzi %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: lokální verze (%s) je novější než v %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignoruje se náhrada balíčku (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "nelze nahradit soubor %s souborem %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s je aktuální -- přeskakuji\n"
|
||||
msgstr "%s-%s je aktuální -- vynechat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s je aktuální -- přeinstalovávám\n"
|
||||
msgstr "%s-%s je aktuální -- přeinstalovat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "ponížení verze balíčku %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
@@ -454,44 +451,16 @@ msgstr "zjištěn konflikt nerozlišitelných balíčků\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "odstraňuji '%s' ze seznamu cílů, protože je konfliktní s '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "příkaz: %s\n"
|
||||
msgstr "'%s' odstraněn ze seznamu cílů, protože je konfliktní s '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "selhalo stažení některých souborů z %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "nelze vytvořit transakci pro odstranění\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "nelze inicializovat transakci pro odstranění\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "nelze připravit transakci pro odstranění\n"
|
||||
msgstr "selhalo získání některých souborů z %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nelze provést transakci pro odstranění\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "nelze vytvořit transakci\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "nelze inicializovat transakci\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "nelze připravit transakci\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nelze provést transakci\n"
|
||||
@@ -500,10 +469,6 @@ msgstr "nelze provést transakci\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "nelze odstranit zamykací soubor %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "V rodičovském prostředí chybí /bin/sh, ruším provádění skriptů\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "nelze vytvořit dočasný adresář\n"
|
||||
@@ -512,6 +477,10 @@ msgstr "nelze vytvořit dočasný adresář\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "nelze zkopírovat dočasný soubor do %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nelze odstranit dočasný adresář %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "nelze změnit adresář na %s (%s)\n"
|
||||
@@ -529,29 +498,105 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr "nelze změnit adresář na / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "volání popen selhalo (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "volání popen selhalo (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "volání waitpid selhalo (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "správné spuštění skriptu selhalo\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nelze odstranit dočasný adresář %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "nelze otevřít %s: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "příkaz se nepodařilo spustit správně\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "neexistuje cache %s, vytvářím...\n"
|
||||
msgstr "neexistuje cache %s, vytváří se...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "nelze vytvořit cache balíčků, používám /tmp\n"
|
||||
msgstr "nelze vytvořit cache balíčků, používá se /tmp\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "v seznamu cílů byly nalezeny konfliktní balíčky\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "nelze instalovat dva konfliktní balíčky současně\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "nahrazování balíčků pomocí -U není nyní podporováno\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "balíčky lze nahradit ručně použitím -Rd a -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "schéma URL nedefinováno, předpokládá se HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "nelze zapisovat do souboru '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "takový repositář není nastaven"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "repositář '%s' nebyl nalezen\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "nelze vytvořit transakci pro odstranění\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "nelze vytvořit transakci\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "nelze inicializovat transakci pro odstranění\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "nelze inicializovat transakci\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "nelze připravit transakci pro odstranění\n"
|
||||
|
||||
#~ msgid "error downloading '%s': %s\n"
|
||||
#~ msgstr "chyba při stahování '%s': %s\n"
|
||||
|
||||
#~ msgid "could not chdir to %s\n"
|
||||
#~ msgstr "nelze změnit adresář na %s\n"
|
||||
|
||||
#~ msgid "running XferCommand: fork failed!\n"
|
||||
#~ msgstr "spouští se XferCommand: větvení selhalo!\n"
|
||||
|
||||
#~ msgid "could not commit transaction"
|
||||
#~ msgstr "nelze provést transakci"
|
||||
|
||||
#~ msgid "could not download all files"
|
||||
#~ msgstr "nelze stáhnout všechny soubory"
|
||||
|
||||
#~ msgid "cannot load package data"
|
||||
#~ msgstr "nelze načíst data z balíčku"
|
||||
|
||||
#~ msgid "package not installed or lesser version"
|
||||
#~ msgstr "balíček není nainstalovaný nebo má nižší verzi"
|
||||
|
||||
#~ msgid "group not found"
|
||||
#~ msgstr "skupina nebyla nalezena"
|
||||
|
||||
#~ msgid "user aborted the operation"
|
||||
#~ msgstr "uživatel zrušil operaci"
|
||||
|
||||
#~ msgid "internal error"
|
||||
#~ msgstr "interní chyba"
|
||||
|
||||
#~ msgid "not confirmed"
|
||||
#~ msgstr "nepotvrzeno"
|
||||
|
||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
#~ msgstr "%s-%s: ignoruje se aktualizace balíčku (měl být nahrazen %s-%s)\n"
|
||||
|
||||
#~ msgid "command: %s\n"
|
||||
#~ msgstr "příkaz: %s\n"
|
||||
|
||||
#~ msgid "could not prepare transaction\n"
|
||||
#~ msgstr "nelze připravit transakci\n"
|
||||
|
||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
#~ msgstr "V rodičovském prostředí chybí /bin/sh, ruší se provádění skriptů\n"
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
# translation of de.po to German
|
||||
# German translations for Pacman package manager package.
|
||||
# Copyright (C) 2002-2008 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
#
|
||||
# Marcus Habermehl <bmh1980@frugalware.org>, 2006.
|
||||
# Pierre Schmitz <pierre@archlinux.de>, 2007.
|
||||
# Niclas Pfeifer <macwolf@archlinux.de>, 2007.
|
||||
# Matthias Gorissen <matthias@archlinux.de>, 2008.
|
||||
# Matthias Gorissen <matthias@archlinux.de>, 2008-2009.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: de\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-16 13:30+0100\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-07 20:02+0100\n"
|
||||
"Last-Translator: Matthias Gorissen <matthias@archlinux.de>\n"
|
||||
"Language-Team: German <archlinux.de>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -26,26 +27,9 @@ msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "Ersetze ältere Version %s-%s durch %s in der Ziel-Liste\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr "Überspringe %s-%s, da die Ziel-Liste die neuere Version %s enthält\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "In Konflikt stehende Pakete wurden in Ziel-Liste gefunden\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"Sie können nicht zwei in Konflikt stehende Pakete zur selben Zeit "
|
||||
"installieren\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "Das Ersetzen von Paketen mit -U wird noch nicht unterstützt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "Sie können Pakete manuell mit -Rd und -U ersetzen\n"
|
||||
"Überspringe %s-%s, da sich die neuere Version %s in der Ziel-Liste befindet\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -55,14 +39,14 @@ msgstr ""
|
||||
"Verzeichnis-Berechtigungen unterscheiden sich für %s\n"
|
||||
"Dateisystem: %o Paket: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "Entpacken: Symlink %s zeigt nicht zum Verzeichnis\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "Entpacken: Überschreibe Verzeichnis nicht mit Datei %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "Entpacken: Symlink %s zeigt nicht zum Verzeichnis\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "Konnte %s nicht entpacken (%s)\n"
|
||||
@@ -108,13 +92,29 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "Konnte Eintrag '%s' nicht zum Pufferspeicher hinzufügen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "Konnte Datenbank-Eintrag %s%s nicht entfernen\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "Entferne die ungültige Datenbank: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "Konnte Datei %s nicht öffnen: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "Konnte Datenbank-Verzeichnis %s nicht entfernen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "Konnte Datenbank %s nicht entfernen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "Ungültiger Name für Datenbank-Eintrag '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "Doppelter Datenbank-Eintrag '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "Beschädigter Datenbank-Eintrag '%s'\n"
|
||||
@@ -135,6 +135,10 @@ msgstr ""
|
||||
"Die Datenbank von %s ist inkonsistent: Die Versionsnummern für das Paket %s "
|
||||
"stimmen nicht überein\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "Konnte Verzeichnis %s nicht erstellen: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "Konnte Paket-Beschreibungsdatei in %s nicht analysieren\n"
|
||||
@@ -155,14 +159,14 @@ msgstr "Fehler beim Lesen des Paketes %s: %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "Fehlende Paket-Metadaten in %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "Versuche die lokale Datenbank neu zu registrieren\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "Datenbank-Pfad ist nicht definiert\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "Versuche die lokale Datenbank neu zu registrieren\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "Abhängigkeits-Zyklus entdeckt:\n"
|
||||
@@ -175,6 +179,10 @@ msgstr "%s wird nach seiner Abhängigkeit %s entfernt werden\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s wird vor seiner Abhängigkeit %s installiert werden\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "Ignoriere Paket %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "Bereitstellendes Paket wurde ausgewählt (%s enthält %s)\n"
|
||||
@@ -183,45 +191,33 @@ msgstr "Bereitstellendes Paket wurde ausgewählt (%s enthält %s)\n"
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "Kann \"%s\" nicht auflösen (eine Abhängigkeit von \"%s\")\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' ist ungültig\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "URL-Schema nicht spezifiziert, vermute HTTP\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "Platte"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' ist ungültig\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "Konnte Datei '%s' nicht von %s übertragen : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "Kann den Download nicht wieder aufnehmen, starte neu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "Kann Datei '%s' nicht beschreiben\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "Fehler beim Download von '%s': %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "Kann den Download von %s wieder aufnehmen, starte neu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "Fehler beim Beschreiben von Datei '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "Konnte nicht zu Verzeichnis %s wechseln\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "Konnte Datei '%s' nicht von %s übertragen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "Nutze XferCommand: Zweig versagte!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s scheint verstümmelt zu sein: %jd/%jd Byte\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -295,6 +291,10 @@ msgstr "Konnte Datenbank-Eintrag nicht entfernen"
|
||||
msgid "invalid url for server"
|
||||
msgstr "Ungültige URL für den Server"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "Es sind keine Server für dieses Repositorium definiert"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "Vorgang bereits gestartet"
|
||||
@@ -320,17 +320,18 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr "Operation nicht mit dem Vorgangs-Typ kompatibel"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "Konnte den Vorgang nicht durchführen"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "Konnte nicht alle Dateien herunterladen"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr ""
|
||||
"Vorgang sollte übertragen werden, während die Datenbank nicht geschlossen war"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "Konnte Paket nicht finden oder lesen"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "Vorgang abgebrochen auf Grund von IgnorePkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "Ungültiges oder beschädigtes Paket"
|
||||
@@ -339,14 +340,6 @@ msgstr "Ungültiges oder beschädigtes Paket"
|
||||
msgid "cannot open package file"
|
||||
msgstr "Kann Paketdatei nicht öffnen"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "Kann Paketdaten nicht laden"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "Paket ist nicht installiert oder ältere Version"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "Konnte nicht alle Dateien des Paketes entfernen"
|
||||
@@ -356,8 +349,12 @@ msgid "package filename is not valid"
|
||||
msgstr "Der Dateiname des Paketes ist nicht gültig"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "Kein solches Repositorium"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "Die Paket-Architektur ist ungültig"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "Konnte kein Repositorium für das Ziel finden"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
@@ -367,10 +364,6 @@ msgstr "Ungültiges oder beschädigtes Delta"
|
||||
msgid "delta patch failed"
|
||||
msgstr "Delta-Patch versagte"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "Gruppe nicht gefunden"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "Kann Abhängigkeiten nicht erfüllen"
|
||||
@@ -384,16 +377,8 @@ msgid "conflicting files"
|
||||
msgstr "In Konflikt stehende Dateien"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "Benutzer brach die Aktion ab"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "Interner Fehler"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "Nicht bestätigt"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "Konnte manche Dateien nicht übertragen"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -415,18 +400,14 @@ msgstr "Fehler beim Aufruf eines externen Downloaders"
|
||||
msgid "unexpected error"
|
||||
msgstr "Unerwarteter Fehler"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: Erzwungene Aktualisierung auf Version %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "Konnte %s nicht in Datenbank finden -- Überspringe\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "Entferne '%s' aus der Ziel-Liste\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "Kann Datei '%s' nicht entfernen: %s\n"
|
||||
@@ -439,17 +420,29 @@ msgstr "Konnte Datenbank-Eintrag %s-%s nicht entfernen\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "Konnte Eintrag '%s' nicht aus dem Puffer entfernen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr "%s-%s: Ignoriere zu aktualisierendes Paket (zu ersetzen durch %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: Ignoriere Paket-Aktualisierung (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "Repositorium '%s' nicht gefunden\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: Ignoriere Paket-Downgrade (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: Downgrade von Version %s zu Version %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "Ignoriere Paket-Ersetzung (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "Kann %s nicht durch %s ersetzen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -459,6 +452,10 @@ msgstr "%s-%s ist aktuell -- Überspringe\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s ist aktuell -- Reinstalliere\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "Downgrade des Paketes %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "Nicht lösbare Paketkonflikte gefunden\n"
|
||||
@@ -467,42 +464,14 @@ msgstr "Nicht lösbare Paketkonflikte gefunden\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "Entferne '%s' aus der Ziel-Liste, da es mit '%s' in Konflikt steht\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "Befehl: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "Konnte manche Dateien von %s nicht übertragen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "Konnte den Lösch-Vorgang nicht erstellen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "Konnte den Lösch-Vorgang nicht beginnen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "Konnte Lösch-Vorgang nicht vorbereiten\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "Konnte Lösch-Vorgang nicht durchführen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "Konnte den Vorgang nicht erstellen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "Konnte den Vorgang nicht beginnen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "Konnte den Vorgang nicht vorbereiten\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "Konnte den Vorgang nicht durchführen\n"
|
||||
@@ -511,10 +480,6 @@ msgstr "Konnte den Vorgang nicht durchführen\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "Konnte Sperrdatei %s nicht entfernen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "Kein /bin/sh im übergeordneten Verzeichnis, breche Skript ab\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "Konnte temporäres Verzeichnis nicht erstellen\n"
|
||||
@@ -523,6 +488,10 @@ msgstr "Konnte temporäres Verzeichnis nicht erstellen\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "Konnte temporäre Datei nicht nach %s kopieren (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "Konnte temporäres Verzeichnis %s nicht entfernen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "Konnte nicht zu Verzeichnis %s wechseln (%s)\n"
|
||||
@@ -540,24 +509,16 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr "Konnte nicht zu Verzeichnis / (%s) wechseln\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "Aufruf von 'popen' fehlgeschlagen (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "Aufruf von 'popen' fehlgeschlagen (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "Aufruf von 'waitpid' fehlgeschlagen (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "Skript konnte nicht korrekt ausgeführt werden\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "Konnte temporäres Verzeichnis %s nicht entfernen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "Konnte Datei %s nicht öffnen: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "Befehl konnte nicht korrekt ausgeführt werden\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
|
||||
563
lib/libalpm/po/el.po
Normal file
563
lib/libalpm/po/el.po
Normal file
@@ -0,0 +1,563 @@
|
||||
# Greek translations for Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
#
|
||||
# Christos Nouskas <nous@archlinux.us>, 2009, 2010.
|
||||
# Χρήστος Νούσκας (Christos Nouskas) <nous@archlinux.us>, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-09 23:02+0300\n"
|
||||
"Last-Translator: Χρήστος Νούσκας (Christos Nouskas) <nous@archlinux.us>\n"
|
||||
"Language-Team: Greek <>\n"
|
||||
"Language: Greek\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 1.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr ""
|
||||
"αντικατάσταση παλαιότερης έκδοσης %s-%s από %s στην λίστα διεκπεραίωσης\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"παράλειψη %s-%s καθώς υπάρχει νεότερη έκδοση %s στην λίστα διεκπεραίωσης\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"τα δικαιώματα καταλόγου διαφέρουν στο %s\n"
|
||||
"σύστημα αρχείων: %o πακέτο: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "εξαγωγή: μη αντικατάσταση καταλόγου από αρχείο %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "εξαγωγή: ο συμβολικός δεσμός %s δεν δείχνει σε κατάλογο\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "αδυναμία εξαγωγής %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "αδυναμία μετονομασίας %s σε %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "αποθήκευση %s ως %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "αδυναμία εγκατάστασης %s ως %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "εγκατάσταση %s ως %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "εξαγωγή %s ως %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "αδυναμία χρήσης τρέχοντος καταλόγου\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "πρόβλημα κατά την αναβάθμιση του %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "πρόβλημα κατά την εγκατάσταση του %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "αδυναμία ενημέρωσης εγγραφής %s-%s στην βάση\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "αδυναμία προσθήκης εγγραφής '%s' στην κρύπτη\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "διαγραφή άκυρης βάσης: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "αδυναμία ανάγνωσης %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "αδυναμία διαγραφής καταλόγου βάσης %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "αδυναμία διαγραφής βάσης %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "άκυρο όνομα εγγραφής βάσης '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "διπλότυπη εγγραφή βάσης '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "κατεστραμμένη εγγραφή βάσης '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "αδυναμία ανάγνωσης αρχείου %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "ανακολουθία στην βάση %s: ασυμφωνία ονόματος πακέτου %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "ανακολουθία στην βάση %s: ασυμφωνία έκδοσης πακέτου %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "αδυναμία δημιουργίας καταλόγου %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "αδυναμία ανάλυσης αρχείου περιγραφής πακέτου στο %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "απόν όνομα πακέτου στο %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "απούσα έκδοση πακέτου στο %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "σφάλμα ανάγνωσης πακέτου %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "απόντα μετα-δεδομένα πακέτου στο %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "ακαθόριστη διαδρομή βάσης\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "προσπάθεια επανακαταχώρησης 'τοπικής' βάσης\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "εντοπισμός κυκλικής εξάρτησης:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "κατάργηση του %s μετά την εξάρτησή του %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "εγκατάσταση του %s πρίν από την εξάρτησή του %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "παράβλεψη πακέτου %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "επιλογή παρέχοντος πακέτου (το %s παρέχει το %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "αδυναμία εύρεσης του \"%s\", εξάρτησης του \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "δίσκο"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "άκυρη διεύθυνση '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "αποτυχία λήψης αρχείου '%s' από %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "συνέχιση λήψης %s αδύνατη, επανεκκίνηση\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "σφάλμα εγγραφής στο '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "αποτυχία λήψης αρχείου '%s' από %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "το %s δείχνει ημιτελές: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "αποτυχία λήψης %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "ανεπαρκής μνήμη!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "απροσδόκητο σφάλμα συστήματος"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
msgstr "ανεπαρκή προνόμια"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr "αδυναμία εύρεσης ή ανάγνωσης αρχείου"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "αδυναμία εύρεσης ή ανάγνωσης καταλόγου"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "εσφαλμένο ή NULL όρισμα"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "βιβλιοθήκη μη εκκινηθείσα"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "βιβλιοθήκη ήδη εκκινηθείσα"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
msgstr "αδυναμία κλειδώματος βάσης"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open database"
|
||||
msgstr "αδυναμία ανάγνωσης βάσης"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create database"
|
||||
msgstr "αδυναμία δημιουργίας βάσης"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "βάση μη εκκινηθείσα"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
msgstr "βάση ήδη εκκινηθείσα"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
msgstr "αδυναμία εύρεσης βάσης"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database"
|
||||
msgstr "αδυναμία ενημέρωσης βάσης"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "αδυναμία κατάργησης εγγραφής βάσης"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "άκυρη διεύθυνση διακομιστή"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "ακαθόριστοι διακομιστές αποθήκης"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "διεκπεραίωση ήδη εκκινηθείσα"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "διεκπεραίωση μη εκκινηθείσα"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
msgstr "διπλότυπος στόχος"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "απροετοίμαστη διεκπεραίωση"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "ματαίωση διεκπεραίωσης"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "λειτουργία ασύμβατη με τον τύπο διεκπεραίωσης"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "προσπάθεια διεκπεραίωσης σε μη κλειδωμένη βάση"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "αδυναμία εύρεσης ή ανάγνωσης πακέτου"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "ακύρωση λειτουργίας λόγω ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "άκυρο ή κατεστραμμένο πακέτο"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "αδυναμία ανοίγματος πακέτου"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "αδυναμία διαγραφής όλων των αρχείων του πακέτου"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "μη έγκυρο όνομα πακέτου"
|
||||
|
||||
#, c-format
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "μη έγκυρη αρχιτεκτονική πακέτου"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "αδυναμία εύρεσης αποθήκης για διεκπεραίωση"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "άκυρο ή κατεστραμμένο delta"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "αποτυχία μπάλωματος delta"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "αδυναμία επίλυσης εξαρτήσεων"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "διένεξη εξαρτήσεων"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "διένεξη αρχείων"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "αποτυχία λήψης κάποιων αρχείων"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "άκυρη κανονική έκφραση"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "σφάλμα libarchive"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "σφάλμα βιβλιοθήκης λήψης"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "σφάλμα κλήσης προγράμματος λήψης"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "απροσδόκητο σφάλμα"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "δεν βρέθηκε το %s στη βάση -- παράλειψη\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "αφαίρεση του %s από λίστα διεκπεραίωσης\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "αδυναμία διαγραφής αρχείου '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "αδυναμία διαγραφής εγγραφής βάσης %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "αδυναμία διαγραφής εγγραφής '%s' από κρύπτη\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: παράβλεψη αναβάθμισης πακέτου (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: παράβλεψη υποβάθμισης πακέτου (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: υποβάθμιση από έκδοση %s στην έκδοση %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: τοπικό (%s) νεότερο από του [%s] (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "παράβλεψη αντικαταστάτη πακέτου (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "αδυναμία αντικατάστασης του %s από το %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s ενημερωμένο -- παράλειψη\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s ενημερωμένο -- επανεγκατάσταση\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "υποβάθμιση πακέτου %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "εντοπισμός ανεπίλυτων διενέξεων πακέτων\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"αφαίρεση του '%s' από την λίστα διεκπεραίωσης λόγω διένεξης με το '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "αποτυχία λήψεως κάποιων αρχείων από %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "αδυναμία διεκπεραίωσης διαγραφής\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "αδυναμία διεκπεραίωσης\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "αδυναμία διαγραφής αρχείου κλειδώματος %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "αδυναμία δημιουργίας προσωρινού καταλόγου\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "αδυναμία αντιγραφής προσωρινού αρχείου στο %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "αδυναμία διαγραφής προσωρινού καταλόγου %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "αδυναμία μετάβασης στον κατάλογο %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "αποτυχία εκκίνησης νέας διεργασίας (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "αδυναμία αλλαγής ριζικού καταλόγου (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "αδυναμία αλλαγής καταλόγου σε / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "αποτυχία κλήσης popen (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "αποτυχία κλήσης waitpid (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "αποτυχία σωστής εκτέλεσης εντολής\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "δημιουργία κρύπτης %s...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "αδυναμία δημιουργίας κρύπτης πακέτων, χρήση /tmp\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "βρέθηκαν αντιτιθέμενα πακέτα στην λίστα διεκπεραίωσης\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr ""
|
||||
#~ "δεν επιτρέπεται η ταυτόχρονη εγκατάσταση δύο αντιτιθεμένων πακέτων\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "η αντικατάσταση πακέτων με όρισμα -U δεν υποστηρίζεται ακόμη\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "η αντικατάσταση πακέτων μπορεί να γίνει χειροκίνητα με -Rd and -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "ακαθόριστο πρωτόκολλο url, εικάζεται HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "αδυναμία εγγραφής στο '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "δεν υπάρχει τέτοια αποθήκη"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "δεν βρέθηκε αποθήκη'%s'\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "αδυναμία διεκπεραίωσης κατάργησης\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "αδυναμία δημιουργίας διεκπεραίωσης\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "αδυναμία εκκίνησης κατάργησης\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "αδυναμία εκκίνησης διεκπεραίωσης\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "αδυναμία προετοιμασίας κατάργησης\n"
|
||||
@@ -1,16 +1,16 @@
|
||||
# English (British) translations for Pacman package manager package.
|
||||
# Copyright (C) 2007 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the Pacman package manager package.
|
||||
# Jeff Bailes <thepizzaking@gmail.com>, 2007.
|
||||
#
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Jeff Bailes <thepizzaking@gmail.com>, 2007, 2009.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.0.0\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-19 17:31+0200\n"
|
||||
"Last-Translator: Jeff Bailes <thepizzaking@gmail.com>\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2009-10-04 17:08+0200\n"
|
||||
"Last-Translator: Dan McGee <dpmcgee@gmail.com>\n"
|
||||
"Language-Team: English <en_gb@li.org>\n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -21,24 +21,8 @@ msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "replacing older version %s-%s by %s in target list\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr "skipping %s-%s because newer version %s is in the target list\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "conflicting packages were found in the target list\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "you cannot install two conflicting packages at the same time\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "replacing packages with -U is not supported yet\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "you can replace packages manually using -Rd and -U\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "skipping %s-%s because newer version %s is in target list\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -48,14 +32,14 @@ msgstr ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extract: symlink %s does not point to dir\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "extract: not overwriting dir with file %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extract: symlink %s does not point to dir\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "could not extract %s (%s)\n"
|
||||
@@ -101,13 +85,29 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "could not add entry '%s' in cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "could not remove database entry %s%s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "removing invalid database: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "could not open %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "could not remove database directory %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "could not remove database %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "invalid name for database entry '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "duplicated database entry '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "corrupted database entry '%s'\n"
|
||||
@@ -124,6 +124,10 @@ msgstr "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s database is inconsistent: version mismatch on package %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "could not create directory %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "could not parse package description file in %s\n"
|
||||
@@ -144,14 +148,14 @@ msgstr "error while reading package %s: %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "missing package metadata in %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "attempt to re-register the 'local' DB\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "database path is undefined\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "attempt to re-register the 'local' DB\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "dependency cycle detected:\n"
|
||||
@@ -164,6 +168,10 @@ msgstr "%s will be removed after its %s dependency\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s will be installed before its %s dependency\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignoring package %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "provider package was selected (%s provides %s)\n"
|
||||
@@ -172,45 +180,33 @@ msgstr "provider package was selected (%s provides %s)\n"
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' is invalid\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "URL scheme not specified, assuming HTTP\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' is invalid\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "failed retrieving file '%s' from %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "cannot resume download, starting over\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "cannot write to file '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "error downloading '%s': %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "resuming download of %s not possible; starting over\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "error writing to file '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "could not chdir to %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "failed retrieving file '%s' from %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "running XferCommand: fork failed!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -284,6 +280,10 @@ msgstr "could not remove database entry"
|
||||
msgid "invalid url for server"
|
||||
msgstr "invalid url for server"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "no servers configured for repository"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "transaction already initialised"
|
||||
@@ -309,17 +309,17 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr "operation not compatible with the transaction type"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "could not commit transaction"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "could not download all files"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "transaction commit attempt when database is not locked"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "could not find or read package"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operation cancelled due to ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "invalid or corrupted package"
|
||||
@@ -328,14 +328,6 @@ msgstr "invalid or corrupted package"
|
||||
msgid "cannot open package file"
|
||||
msgstr "cannot open package file"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "cannot load package data"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "package not installed or lesser version"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "cannot remove all files for package"
|
||||
@@ -345,8 +337,12 @@ msgid "package filename is not valid"
|
||||
msgstr "package filename is not valid"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "no such repository"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "package architecture is not valid"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "could not find repository for target"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
@@ -356,10 +352,6 @@ msgstr "invalid or corrupted delta"
|
||||
msgid "delta patch failed"
|
||||
msgstr "delta patch failed"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "group not found"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "could not satisfy dependencies"
|
||||
@@ -373,16 +365,8 @@ msgid "conflicting files"
|
||||
msgstr "conflicting files"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "user aborted the operation"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "internal error"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "not confirmed"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "failed to retrieve some files"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -404,18 +388,14 @@ msgstr "error invoking external downloader"
|
||||
msgid "unexpected error"
|
||||
msgstr "unexpected error"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: forcing upgrade to version %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) is newer than %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "could not find %s in database -- skipping\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "removing %s from target list\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "cannot remove file '%s': %s\n"
|
||||
@@ -428,17 +408,29 @@ msgstr "could not remove database entry %s-%s\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "could not remove entry '%s' from cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignoring package upgrade (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "repository '%s' not found\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignoring package downgrade (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: downgrading from version %s to version %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) is newer than %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "cannot replace %s by %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -448,6 +440,10 @@ msgstr "%s-%s is up to date -- skipping\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s is up to date -- reinstalling\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "downgrading package %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "unresolvable package conflicts detected\n"
|
||||
@@ -456,42 +452,14 @@ msgstr "unresolvable package conflicts detected\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "command: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "failed to retrieve some files from %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "could not create removal transaction\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "could not initialise the removal transaction\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "could not prepare removal transaction\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "could not commit removal transaction\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "could not create transaction\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "could not initialise transaction\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "could not prepare transaction\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "could not commit transaction\n"
|
||||
@@ -500,10 +468,6 @@ msgstr "could not commit transaction\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "could not remove lock file %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "could not create temp directory\n"
|
||||
@@ -512,6 +476,10 @@ msgstr "could not create temp directory\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "could not copy tempfile to %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "could not remove tmpdir %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "could not change directory to %s (%s)\n"
|
||||
@@ -529,24 +497,16 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr "could not change directory to / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "call to popen failed (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "call to popen failed (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "call to waitpid failed (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "scriptlet failed to execute correctly\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "could not remove tmpdir %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "could not open %s: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "command failed to execute correctly\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
|
||||
@@ -1,48 +1,35 @@
|
||||
# translation of libalpm.po to
|
||||
# Juan Pablo Gonzalez <jotapesan@gmail.com>, 2008.
|
||||
# translation of es.po to
|
||||
# Juan Pablo González Tognarelli <jotapesan@gmail.com>, 2008, 2009.
|
||||
# Juan Pablo González Tognarelli <juan.gonzalez.tognarelli@gmail.com>, 2009.
|
||||
# Juan Pablo Gonzalez <jotapesan@gmail.com>, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libalpm\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-16 09:26-0400\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-13 10:49-0400\n"
|
||||
"Last-Translator: Juan Pablo Gonzalez <jotapesan@gmail.com>\n"
|
||||
"Language-Team: <es@li.org>\n"
|
||||
"Language-Team: Spanish <kde-i18n-doc@kde.org>\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Spanish\n"
|
||||
"X-Poedit-Country: CHILE\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
"X-Generator: Lokalize 1.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr ""
|
||||
"reemplazando la versión antigua %s-%s por %s en la lista de objetivos\n"
|
||||
|
||||
# , c-format
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr "saltando %s-%s debido a que una nueva versión de %s esta en la lista\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "paquetes con conflictos fueron encontrados en la lista\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"usted no puede instalar simultáneamente dos paquetes que poseen conflictos "
|
||||
"entre si\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "reemplazar paquetes con -U aún no esta soportado\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "usted puede reemplazar manualmente los paquetes usando -Rd y -U\n"
|
||||
"saltando %s-%s debido a la nueva versión de %s esta en la lista de "
|
||||
"objetivos\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -52,14 +39,14 @@ msgstr ""
|
||||
"los permisos de directorio difieren en %s\n"
|
||||
"sistema de archivos: %o paquete: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extract: el link simbólico %s no apunta al directorio\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "extract: no sobrescribiendo el dir. con el archivo %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extract: el link simbólico %s no apunta al directorio\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "no se pudo extraer %s (%s)\n"
|
||||
@@ -104,14 +91,31 @@ msgstr "no se pudo actualizar en la base de datos la entrada %s-%s\n"
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "no se pudo agregar '%s' en la cache\n"
|
||||
|
||||
# , c-format
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "no se pudo quitar la entrada %s%s en la base de datos\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "quitando la base de datos inválida: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "no se pudo abrir %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "no se pudo quitar el directorio de la base de datos %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "no se pudo quitar la base de datos %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nombre invalido para la entrada de la base de datos '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "entrada duplicada en la base de datos '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "entrada corrupta en la base de datos '%s'\n"
|
||||
@@ -123,26 +127,30 @@ msgstr "no se pudo abrir el archivo %s: %s\n"
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"la base de datos %s es inconsistente: nombre mal emparejado en el paquete %"
|
||||
"s\n"
|
||||
"la base de datos %s es inconsistente: nombre mal emparejado en el paquete "
|
||||
"%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"la base de datos %s es inconsistente: versión mal emparejada en el paquete %"
|
||||
"s\n"
|
||||
"la base de datos %s es inconsistente: versión mal emparejada en el paquete "
|
||||
"%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "no se pudo crear el directorio %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "no se pudo analizar sintácticamente el archivo de descripción en %s\n"
|
||||
msgstr "no se pudo interpretar el archivo de descripción en %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "nombre de paquete ausente en %s\n"
|
||||
msgstr "falta el nombre de paquete en %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "forzando la versión del paquete en %s\n"
|
||||
msgstr "falta la versión del paquete en %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
@@ -150,28 +158,32 @@ msgstr "error mientras se leía el paquete %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "metadatos del paquete faltantes en %s\n"
|
||||
msgstr "faltan los metadatos del paquete en %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "la ruta para la base de datos no está definida\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "intento para re-registrar la base de datos 'local'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "ruta para la base de datos no es definido\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "ciclo de dependencias detectado:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s será quitado tras su dependencia %s\n"
|
||||
msgstr "%s será quitado luego de su dependencia %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s será instalado antes de su dependencia %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorando el paquete %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "El paquete proveedor fue seleccionado (%s provee %s)\n"
|
||||
@@ -180,45 +192,33 @@ msgstr "El paquete proveedor fue seleccionado (%s provee %s)\n"
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "no se pudo resolver \"%s\", una dependencia para \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "la url %s no es válida\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "no fue especificado el esquema de url, asumiendo HTTP\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disco"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "la url %s no es válida\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "falló al obtener archivo '%s' desde %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "no se puede resumir la descarga, empezando de nuevo\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "no se pudo escribir al archivo '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "error descargando %s: %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "no es posible continuar la descarga de %s; empezando de nuevo\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "no se pudo escribir al archivo '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "no se pudo cambiar el directorio a %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "falló al obtener archivo '%s' desde %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "ejecutando XferCommand: falló en el fork\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s parece estar truncado: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -226,7 +226,7 @@ msgstr "no se pudo descargar %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "no hay memoria!"
|
||||
msgstr "memoria insuficiente!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
@@ -246,15 +246,15 @@ msgstr "no se pudo leer el directorio"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "argumento erroneo o NULO"
|
||||
msgstr "se pasó un argumento erróneo o NULO"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "librería no inicializada"
|
||||
msgstr "biblioteca no inicializada"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "la librería ya fue inicializada"
|
||||
msgstr "la biblioteca ya fue inicializada"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
@@ -292,6 +292,10 @@ msgstr "no se pudo quitar la entrada de la base de datos"
|
||||
msgid "invalid url for server"
|
||||
msgstr "dirección inválida para el servidor"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "no hay servidores configurados para el repositorio"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "la operación ya se inicializó"
|
||||
@@ -317,17 +321,18 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr "la operación no es compatible con el tipo de transacción"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "no se pudo hacer la transacción"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "no se pudo descargar todos los archivos"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr ""
|
||||
"intento de envío de la transación cuando la base de datos no esta bloqueada"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "no se pudo encontrar o leer el paquete"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operación cancelada debido a ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "paquete invalido o corrupto"
|
||||
@@ -336,25 +341,21 @@ msgstr "paquete invalido o corrupto"
|
||||
msgid "cannot open package file"
|
||||
msgstr "no se pudo abrir el archivo de paquetes"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "no se pudo cargar la información del paquete"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "el paquete no está instalado o es una versión menor"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "no se pudo quitar todos los archivos del paquete"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "nombre de archivo del paquete no es válido"
|
||||
msgstr "el nombre de archivo del paquete no es válido"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "no existe el repositorio"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "no es válida la arquitectura del paquete"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "no pudo encontrarse un repositorio para el objetivo"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
@@ -362,11 +363,7 @@ msgstr "invalido o diferencial corrupto"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "parche delta fallado"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "grupo no encontrado"
|
||||
msgstr "parche diferencial fallado"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
@@ -381,16 +378,8 @@ msgid "conflicting files"
|
||||
msgstr "archivos en conflicto"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "el usuario abortó la operación"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "error interno"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "no confirmado"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "falló al descargar algunos archivos"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -402,7 +391,7 @@ msgstr "error de libarchive"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "error de descarga de librería"
|
||||
msgstr "error de descarga de biblioteca"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
@@ -412,18 +401,15 @@ msgstr "error invocando el descargador externo"
|
||||
msgid "unexpected error"
|
||||
msgstr "error inesperado"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: forzando la actualización a la versión %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) es más nuevo que %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "no se pudo encontrar %s en la base de datos -- saltando\n"
|
||||
|
||||
# , c-format
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "quitando %s de la lista de objetivos\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "no se pudo quitar el archivo '%s': %s\n"
|
||||
@@ -436,19 +422,29 @@ msgstr "no se pudo quitar de la base de datos %s-%s\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "no se pudo quitar la entrada '%s' de la cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr ""
|
||||
"%s-%s: ignorando la actualización del paquete (para ser reemplazado por %s-%"
|
||||
"s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorando la actualización del paquete (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "repositorio '%s' no encontrado\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorando la degradación del paquete (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: degradando desde la versión %s a la versión %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) es más nuevo que %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorando el reemplazo del paquete (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "no se pudo reemplazar el archivo %s por %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -458,6 +454,10 @@ msgstr "%s-%s esta al día -- saltando\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s esta al día -- re-instalando\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "decrementando la versión del paquete %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "se han detectado paquetes con conflictos no resueltos\n"
|
||||
@@ -465,45 +465,17 @@ msgstr "se han detectado paquetes con conflictos no resueltos\n"
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"quitando '%s' de la lista de objetivos debido a que posee conflictos con '%"
|
||||
"s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "comando: %s\n"
|
||||
"quitando '%s' de la lista de objetivos debido a que posee conflictos con "
|
||||
"'%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "falló al descargar algunos archivos desde %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "no se pudo crear la operación de eliminación\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "no se pudo iniciar la operación de eliminación\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "no se pudo preparar la operación de eliminación\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "no se pudo enviar la operación de eliminación\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "no se pudo crear la operación\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "no se pudo iniciar la operación\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "no se pudo preparar la transacción\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "no se pudo asignar la transacción\n"
|
||||
@@ -512,10 +484,6 @@ msgstr "no se pudo asignar la transacción\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "no se pudo eliminar el archivo de bloqueo %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "No existe /bin/sh en el ambiente padre, abortando los scripts\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "no se puede crear el directorio temporal\n"
|
||||
@@ -524,6 +492,10 @@ msgstr "no se puede crear el directorio temporal\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "no se pudo copiar el archivo temporal a %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "no se pudo eliminar el directorio temporal %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "no se pudo cambiar el directorio a %s (%s)\n"
|
||||
@@ -540,25 +512,18 @@ msgstr "no se pudo cambiar el directorio raíz (%s)\n"
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "no se pudo cambiar el directorio a / (%s)\n"
|
||||
|
||||
# , c-format
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "llamada a popen fallida (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "falló la llamada a popen (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "llamada a waitpid fallida (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "scriplet falló en ejecutarse correctamente\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "no se pudo eliminar el directorio temporal %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "no se pudo abrir %s: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "el comando falló al ejecutarse\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
@@ -567,3 +532,45 @@ msgstr "no existe la cache %s, creando...\n"
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "no se pudo crear la cache de paquetes, usando /tmp en su lugar\n"
|
||||
|
||||
# , c-format
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "se encontraron paquetes con conflictos en la lista de objetivos\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr ""
|
||||
#~ "usted no puede instalar simultáneamente dos paquetes que poseen "
|
||||
#~ "conflictos entre si\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "reemplazar paquetes con -U aún no esta soportado\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "usted puede reemplazar manualmente los paquetes usando -Rd y -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "no fue especificado el esquema de url, asumiendo HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "no se puede escribir en el archivo '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "no existe el repositorio"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "repositorio '%s' no encontrado\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "no se pudo crear la operación de eliminación\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "no se pudo crear la operación\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "no se pudo iniciar la operación de eliminación\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "no se pudo iniciar la operación\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "no se pudo preparar la operación de eliminación\n"
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
# French translations for Pacman package manager package.
|
||||
# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.0.1\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-16 22:50+0200\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-06 20:26+0200\n"
|
||||
"Last-Translator: Xavier <shiningxc@gmail.com>\n"
|
||||
"Language-Team: solsTiCe d'Hiver <solstice.dhiver@laposte.net>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -21,28 +22,11 @@ msgstr ""
|
||||
"remplacement de l'ancienne version %s-%s par %s dans la liste des cibles\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"ignore le paquet %s-%s car une version plus récente %s est dans la liste des "
|
||||
"cibles\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "des paquets en conflit ont été trouvés dans la liste des cibles\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "vous ne pouvez pas installer deux paquets en conflit en même temps\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "remplacer un paquet avec -U n'est pas encore possible\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr ""
|
||||
"vous pouvez remplacer les paquets manuellement en utilisant -Rd et -U\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -51,14 +35,14 @@ msgstr ""
|
||||
"Les permissions pour le répertoire %s sont différentes\n"
|
||||
"système de fichier: %o paquet : %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extraction: le lien %s ne pointe pas vers un répertoire\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "extraction: n'écrase pas le répertoire par le fichier %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extraction: le lien %s ne pointe pas vers un répertoire\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "l'extraction de %s a échoué (%s)\n"
|
||||
@@ -105,13 +89,29 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "l'ajout au cache de l'entrée '%s' a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "la suppression de l'entrée de base de données %s%s a échoué\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "suppression d'une base de données invalide: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "l'ouverture de %s: %s a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "la suppression de la base de données %s a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "la suppression de la base de données %s a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nom invalide pour l'entrée de base de données '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "l'entrée '%s' de la base de données est dupliquée\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "l'entrée '%s' de la base de données est corrompue\n"
|
||||
@@ -128,6 +128,10 @@ msgstr "Le dépôt %s est inconsistant: noms différents pour le paquet %s\n"
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "Le dépôt %s est inconsistant: versions différentes pour le paquet %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "la création du répertoire %s a échoué: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "l'analyse du fichier de description a échoué dans %s\n"
|
||||
@@ -148,14 +152,14 @@ msgstr "erreur lors de la lecture du paquet %s: %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "méta-données du paquet manquantes dans %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "tentative de ré-enregistrer la base de données locale\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "base de données non initialisée\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "tentative de ré-enregistrer la base de données locale\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "cycle de dépendances détecté:\n"
|
||||
@@ -168,6 +172,10 @@ msgstr "%s sera supprimé après sa dépendance %s\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s sera installé avant sa dépendance %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignore le paquet %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "Une provision a été sélectionnée (%s fournit %s)\n"
|
||||
@@ -176,45 +184,33 @@ msgstr "Une provision a été sélectionnée (%s fournit %s)\n"
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "impossible de résoudre \"%s\", une dépendance de \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'url '%s' est invalide\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "Le protocole n'a pas été spécifié dans l'url, assume http\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disque"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'url '%s' est invalide\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "échec de récupération du fichier '%s' depuis %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "le téléchargement ne peut pas être repris, relance\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "écriture dans le fichier '%s' impossible\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "erreur lors du téléchargement de '%s': %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "le téléchargement de %s ne peut pas être continué, reprise au début\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "écriture dans le fichier '%s' impossible: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "changer de répertoire vers %s a échoué\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "échec de récupération du fichier '%s' depuis %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "lancement de XferCommand: le fork a échoué!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s est apparemment tronqué: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -288,6 +284,10 @@ msgstr "la suppression de l'entrée de base de données a échoué"
|
||||
msgid "invalid url for server"
|
||||
msgstr "URL invalide pour le serveur"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "aucun serveur configuré pour le dépôt"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "transaction déjà initialisée"
|
||||
@@ -313,16 +313,18 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr "opération incompatible avec le type de transaction"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "appliquer la transaction a échoué"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "tous les fichiers n'ont pas pu être téléchargés"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr ""
|
||||
"tentative de réalisation d'une transaction alors que le dépôt n'est pas "
|
||||
"verrouillé"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "trouver ou de lire le paquet a échoué"
|
||||
msgstr "impossible de trouver ou de lire le paquet"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "opération annulée à cause d'un paquet à ignorer (IgnorePkg)"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
@@ -332,14 +334,6 @@ msgstr "paquet invalide ou corrompu"
|
||||
msgid "cannot open package file"
|
||||
msgstr "ouverture du fichier paquet impossible"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "chargement des données du paquet impossible"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "paquet non installé ou version plus ancienne"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "suppression de certains fichiers du paquet impossible"
|
||||
@@ -349,8 +343,12 @@ msgid "package filename is not valid"
|
||||
msgstr "nom de paquet invalide"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "ce dépôt n'existe pas"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "architecture invalide"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "impossible de trouver le dépôt pour la cible"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
@@ -360,10 +358,6 @@ msgstr "delta invalide ou corrompu"
|
||||
msgid "delta patch failed"
|
||||
msgstr "l'application du delta a échoué"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "groupe non trouvé"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "la satisfaction des dépendances a échoué"
|
||||
@@ -377,16 +371,8 @@ msgid "conflicting files"
|
||||
msgstr "conflit de fichiers"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "opération annulée par l'utilisateur"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "erreur interne"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "non confirmé"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "échec de récupération de certains fichiers"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -408,18 +394,14 @@ msgstr "erreur en invoquant le client externe de téléchargement"
|
||||
msgid "unexpected error"
|
||||
msgstr "erreur non prévue"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: force la mise à jour à la version %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: la version locale (%s) est plus récente que %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "trouver %s dans la base de données a échoué -- ignoré\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "supprime %s de la liste de cible\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "suppression du fichier '%s' impossible: %s\n"
|
||||
@@ -432,17 +414,29 @@ msgstr "la suppression de l'entrée de base de données %s-%s a échoué\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "la suppression du cache de l'entrée '%s' a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr "%s-%s: ignore la mise à jour du paquet (à remplacer par %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignore la mise à jour du paquet (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "dépôt '%s' non trouvé\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignore le retour à la version antérieure (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: retourne à la version antérieure (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: la version locale (%s) est plus récente que %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignore le remplacement du paquet (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "le remplacement de %s par %s est impossible\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -452,6 +446,10 @@ msgstr "%s-%s est à jour -- ignoré\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s est à jour -- réinstalle\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "retourne à la version antérieure du paquet %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "un conflit de paquets impossible à résoudre a été détecté\n"
|
||||
@@ -460,42 +458,14 @@ msgstr "un conflit de paquets impossible à résoudre a été détecté\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "supprime '%s' de la liste de cible car il est en conflit avec '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "commande: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "échec de récupération de certains fichiers depuis %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "la création de la transaction de suppression a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "l'initialisation de la transaction de suppression a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "la préparation de la transaction de suppression a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "appliquer la transaction de suppression a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "la création de la transaction a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "l'initialisation de la transaction a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "la préparation de la transaction a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "appliquer la transaction a échoué\n"
|
||||
@@ -504,11 +474,6 @@ msgstr "appliquer la transaction a échoué\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "la suppression du fichier de verrouillage %s a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr ""
|
||||
"Pas de /bin/sh dans l'environnement parent, interruption du scriptlet\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "la création du répertoire temporaire a échoué\n"
|
||||
@@ -517,6 +482,10 @@ msgstr "la création du répertoire temporaire a échoué\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "la copie du fichier temporaire vers %s a échoué (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "la suppression du répertoire temporaire %s a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "changer de répertoire vers %s a échoué (%s)\n"
|
||||
@@ -534,24 +503,16 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr "changer de répertoire vers / a échoué (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "call to popen failed (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "l'appel de popen a échoué (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "call to waitpid failed (%s)\n"
|
||||
msgstr "l'appel de waitpid a échoué (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "le scriptlet n'a pas pu être exécuté correctement\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "la suppression du répertoire temporaire %s a échoué\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "l'ouverture de %s: %s a échoué\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "la commande n'a pas pu être exécutée correctement\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
# Hungarian translations for libalpm package.
|
||||
# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the libalpm library.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Miklos Vajna <vmiklos@frugalware.org>, 2006.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hu\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2007-03-14 13:45+0100\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2009-10-04 17:08+0200\n"
|
||||
"Last-Translator: Nagy Gabor <ngaba@bibl.u-szeged.hu>\n"
|
||||
"Language-Team: <hu@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -22,25 +23,9 @@ msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "régebbi verzió (%s-%s) lecserélése %s verzióra a célok listájában\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "%s-%s kihagyása, mert újabb verzió (%s) van a célok között\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "ütköző csomagokat találtam a célok között\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "nem telepíthető két ütköző csomag egyszerre\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "csomagok lecserélése még nem támogatott -U esetén\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "a -Rd és -U használatával elvégezhető a csere\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -49,14 +34,14 @@ msgstr ""
|
||||
"eltérő könyvtár-jogosultságok: %s\n"
|
||||
"fájlrendszer: %o csomag: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "kicsomagolás: %s szimbolikus link nem könyvtárra mutat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "kicsomagolás: nem írok felül könyvtárat a %s fájllal\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "kicsomagolás: %s szimbolikus link nem könyvtárra mutat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "nem sikerült kicsomagolni: %s (%s)\n"
|
||||
@@ -102,16 +87,32 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "sikertelen a '%s' bejegyzés hozzáadása a gyorsítótárhoz\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "sikertelen a %s%s adatbázis-bejegyzés eltávolítása\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "hibás adatbázis eltávolítása: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "nem sikerült megnyitni a %s fájlt: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "nem sikerült eltávolítani a(z) %s adatbázis-könyvtárat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "sikertelen a(z) %s adatbázis eltávolítása\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "hibás név a '%s' adatbázis-bejegyzés számára\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "duplikált adatbázis-bejegyzés: '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "sérült adatbázis bejegyzés: '%s'\n"
|
||||
msgstr "sérült adatbázis-bejegyzés: '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -125,6 +126,10 @@ msgstr "a(z) %s adatbázis inkonzisztens: eltérő nevek a(z) %s csomagnál\n"
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "a(z) %s adatbázis inkonzisztens: eltérő verziók a(z) %s csomagnál\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "nem sikerült létrehozni a %s könyvtárat: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "nem sikerült értelmezni a(z) %s csomagleíró fájlját\n"
|
||||
@@ -145,14 +150,14 @@ msgstr "hiba a(z) %s csomag olvasása közben: %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "hiányzó csomaginformációs fájl itt: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "kísérlet a 'local' adatbázis újraregisztrálására\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "az adatbázis-útvonal nincs megadva\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "kísérlet a 'local' adatbázis újraregisztrálására\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "körkörös függőséget észleltem:\n"
|
||||
@@ -165,6 +170,10 @@ msgstr "a(z) %s csomag saját %s függősége után lesz eltávolítva\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "a(z) %s csomag saját %s függősége előtt lesz telepítve\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "%s-%s csomag kihagyása\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "közvetett csomagválasztás (%s szolgáltatja %s-t)\n"
|
||||
@@ -173,45 +182,33 @@ msgstr "közvetett csomagválasztás (%s szolgáltatja %s-t)\n"
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "nem sikerült a(z) \"%2$s\" csomag \"%1$s\" függőségét feloldani\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "a '%s' URL hibás\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "az URL séma nem definiált, http feltételezése\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "diszk"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "a '%s' URL hibás\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "nem sikerült a(z) '%s' fájlt letölteni a %s helyről : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "nem tudom folytatni a letöltést, újrakezdem\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "nem sikerült a(z) '%s' fájlba írni\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "hiba '%s' letöltése közben: %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "nem tudom folytatni a(z) %s letöltését; újrakezdem\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "hiba a(z) '%s' fájl írása során: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "nem sikerült a könyvtárváltás ide: %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "nem sikerült a(z) '%s' fájlt letölteni a %s helyről\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "XferCommand futtatása: sikertelen fork!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "úgy tűnik, hogy %s csonka: %jd/%jd bájt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -285,6 +282,10 @@ msgstr "nem sikerült eltávolítani az adatbázis-bejegyzést"
|
||||
msgid "invalid url for server"
|
||||
msgstr "hibás szerver-URL"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "a repóhoz nincs szerver beállítva"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "a tranzakció már inicializált"
|
||||
@@ -310,17 +311,17 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr "a művelet nem egyeztethető össze a jelenlegi tranzakciótípussal"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "nem sikerült végrahajtani a tranzakciót"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "nem sikerült letölteni az összes fájlt"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "tranzakció végrehajtási kísérlet nem zárolt adatbázis mellett"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "nem található vagy nem olvasható a csomag"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "művelet megszakítva ignorepkg miatt"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "hibás vagy sérült csomag"
|
||||
@@ -329,14 +330,6 @@ msgstr "hibás vagy sérült csomag"
|
||||
msgid "cannot open package file"
|
||||
msgstr "nem sikerült megnyitni a csomagfájlt"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "nem sikerült betölteni a csomagadatokat"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "a csomag nincs telepítve vagy kisebb verziójú"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "nem sikerült eltávolítani a csomag összes fájlját"
|
||||
@@ -346,8 +339,12 @@ msgid "package filename is not valid"
|
||||
msgstr "érvénytelen csomagnév"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "nincs ilyen repó"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "érvénytelen csomag-architektúra"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "nem található repó a célcsomaghoz"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
@@ -357,10 +354,6 @@ msgstr "hibás vagy sérült delta"
|
||||
msgid "delta patch failed"
|
||||
msgstr "delta patchelés sikertelen"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "a csoport nem található"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "nem sikerült kielégíteni a függőségeket"
|
||||
@@ -374,16 +367,8 @@ msgid "conflicting files"
|
||||
msgstr "ütköző fájlok"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "felhasználói megszakítás"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "belső hiba"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "nem megerősített"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "nem sikerült néhány fájlt letölteni"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -405,18 +390,14 @@ msgstr "hiba a külső letöltő meghívásakor"
|
||||
msgid "unexpected error"
|
||||
msgstr "nemvárt hiba"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: erőltetett frissítés a %s verzióra\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: a helyi (%s) újabb, mint %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "nem található a(z) %s az adatbázisban -- kihagyás\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "%s eltávolítása a cél listából\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "nem sikerült eltávolítani a '%s' fájlt : %s\n"
|
||||
@@ -429,17 +410,29 @@ msgstr "nem sikerült eltávolítani a(z) %s-%s adatbázis-bejegyzést\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "nem sikerült eltávolítani a(z) '%s' bejegyzést a gyorsítótárból\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr "%s-%s: csomagfrissítés kihagyása (a(z) %s-%s le fogja cserélni)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: csomagfrissítés kihagyása (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "a(z) '%s' repó nem található\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: csomag downgrade kihagyása (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: visszatérés a %s verióról a régebbi %s verzióhoz\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: a helyi (%s) újabb, mint %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "csomag-lecserélés kihagyása (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "nem lehet lecserélni a(z) %s csomagot a(z) %s csomaggal\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -449,6 +442,10 @@ msgstr "a(z) %s-%s naprakész -- kihagyás\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "a(z) %s-%s naprakész -- újratelepítés\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "visszatérés egy régebbi %s verzióhoz (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "feloldhatatlan csomagütközéseket találtam\n"
|
||||
@@ -457,42 +454,14 @@ msgstr "feloldhatatlan csomagütközéseket találtam\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' kihagyása, mert ütközik a következővel: '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "parancs: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "nem sikerült néhány fájlt letölteni innen: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "nem sikerült létrehozni az eltávolító tranzakciót\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "nem sikerült inicializálni az eltávolító tranzakciót\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "nem sikerült előkészíteni az eltávolító tranzakciót\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nem sikerült végrehajtani az eltávolító tranzakciót\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "nem sikerült létrehozni a tranzakciót\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "nem sikerült inicializálni a tranzakciót\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "nem sikerült előkészíteni a tranzakciót\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nem sikerült végrehajtani a tranzakciót\n"
|
||||
@@ -501,10 +470,6 @@ msgstr "nem sikerült végrehajtani a tranzakciót\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "nem sikerült a zároló fájl (%s) eltávolítása\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "Nincs /bin/sh a szülő környezetben, szkript megszakítása\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "nem sikerült létrehozni az ideiglenes könyvtárat\n"
|
||||
@@ -513,6 +478,10 @@ msgstr "nem sikerült létrehozni az ideiglenes könyvtárat\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "nem sikerült az ideiglenes fájlt ide másolni: %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nem sikerült eltávolítani a %s ideiglenes könyvtárat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "nem sikerült a könyvtárváltás ide: %s (%s)\n"
|
||||
@@ -530,24 +499,16 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr "nem sikerült a könyvtárat a /-re váltani (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "popen hívás sikertelen (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "popen hívás sikertelen (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "waitpid hívás sikertelen (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "a szkript hibásan futott\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nem sikerült eltávolítani a %s ideiglenes könyvtárat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "nem sikerült megnyitni a %s fájlt: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "a parancs nem futott le sikeresen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
# Italian translation of libalpm.
|
||||
# Copyright (C) 2007 THE libalpm'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the libalpm package.
|
||||
# Giovanni 'voidnull' Scafora <linuxmania@gmail.com>, 2007, 2008
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Giovanni 'voidnull' Scafora <giovanni@archlinux.org>, 2007, 2008, 2009, 2010
|
||||
# Andrea 'bash' Scarpino <bash.lnx@gmail.com>, 2008
|
||||
# Alessio 'mOLOk' Bolognino <themolok@gmail.com>, 2007
|
||||
# Lorenzo '^zanDarK' Masini <lorenxo86@gmail.com>, 2007
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libalpm VERSION\n"
|
||||
"Project-Id-Version: Pacman package manager 3.4.0\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-19 17:26+0200\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-05 18:00+0200\n"
|
||||
"Last-Translator: Giovanni Scafora <giovanni@archlinux.org>\n"
|
||||
"Language-Team: Arch Linux Italian Team <giovanni@archlinux.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -23,25 +24,10 @@ msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "sostituzione in corso della vecchia versione di %s-%s con %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr "salto %s-%s perché la nuova versione %s è nella lista\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "sono stati individuati dei pacchetti che vanno in conflitto\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "impossibile installare due pacchetti che vanno in conflitto\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "la sostituzione dei pacchetti con -U non è ancora supportata\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"è possibile sostituire manualmente i pacchetti, usando le opzioni -Rd e -U\n"
|
||||
"ignoro %s-%s perché la nuova versione %s è presente nella lista dei "
|
||||
"pacchetti\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -52,12 +38,12 @@ msgstr ""
|
||||
"filesystem: %o pacchetto: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "estrazione: il link simbolico %s non punta alla directory\n"
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "estrazione: non posso sovrascrivere la directory con il file %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "estrazione: non sovrascrivere la directory con il file %s\n"
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "estrazione: il link simbolico %s non punta alla directory\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
@@ -69,7 +55,7 @@ msgstr "impossibile rinominare %s in %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s salvato come %s\n"
|
||||
msgstr "%s è stato salvato come %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
@@ -85,7 +71,7 @@ msgstr "estrazione di %s come %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "impossibile ottenere la directory corrente\n"
|
||||
msgstr "impossibile determinare la directory corrente\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
@@ -104,16 +90,32 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "impossible includere la voce '%s' nella cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "impossibile rimuovere la voce %s%s dal database\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "rimozione del database: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "impossibile aprire %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "impossibile rimuovere la directory %s del database\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "impossibile rimuovere il database %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nome non valido per la voce del database '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "la voce nel database '%s' è duplicata\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "la voce nel database '%s' non è valida\n"
|
||||
msgstr "la voce nel database '%s' è corrotta\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -121,11 +123,18 @@ msgstr "impossibile aprire il file %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "il database %s è corrotto: il nome del pacchetto %s è sbagliato\n"
|
||||
msgstr ""
|
||||
"il database %s è inconsistente: il nome del pacchetto %s non corrisponde\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "il database %s è corrotto: la versione del pacchetto %s è sbagliata\n"
|
||||
msgstr ""
|
||||
"il database %s è inconsistente: la versione del pacchetto %s non "
|
||||
"corrisponde\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "impossibile creare la directory %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
@@ -148,12 +157,12 @@ msgid "missing package metadata in %s\n"
|
||||
msgstr "manca il metadata del pacchetto in %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "tentativo in corso di registrare di nuovo il database 'locale'\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "il percorso del database non è stato definito\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "il percorso del database non è definito\n"
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "tentativo in corso di registrare di nuovo il DB 'locale'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
@@ -167,53 +176,45 @@ msgstr "%s sarà rimosso dopo la sua dipendenza %s\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s sarà installato prima della sua dipendenza %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "sto ignorando il pacchetto %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "il pacchetto fornito era selezionato (%s fornisce %s)\n"
|
||||
msgstr "il pacchetto è già stato selezionato (%s dipende da %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "impossibile risolvere \"%s\", una dipendenza di \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'url '%s' non è corretto\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "il protocollo dell'url non è specificato, sarà usato HTTP\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disco"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'url '%s' non è esatto\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "impossibile recuperare il file '%s' da %s : %s\n"
|
||||
msgstr "impossibile scaricare il pacchetto '%s' da %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "impossibile riprendere il download\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "impossibile scrivere nel file '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "si è verificato un errore durante il download di '%s': %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "impossibile riprendere il download di %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "si è verificato un errore durante la scrittura nel file '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "impossibile spostarsi nella directory %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "impossibile scaricare il pacchetto '%s' da %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "avvio di XferCommand: processo non riuscito!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s sembra essere incompleto: %jd/%jd byte\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -245,11 +246,11 @@ msgstr "è stato passato un argomento sbagliato o NULL"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "libreria non inizializzata"
|
||||
msgstr "la libreria non è stata inizializzata"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "libreria già inizializzata"
|
||||
msgstr "la libreria è già stata inizializzata"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
@@ -265,11 +266,11 @@ msgstr "impossibile creare il database"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "database non inizializzato"
|
||||
msgstr "il database non è stato inizializzato"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
msgstr "il database è già registrato"
|
||||
msgstr "il database è già stato registrato"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
@@ -287,58 +288,54 @@ msgstr "impossibile rimuovere la voce dal database"
|
||||
msgid "invalid url for server"
|
||||
msgstr "url non valido per il server"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "nessun server è stato configurato per il repository"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "operazione già inizializzata"
|
||||
msgstr "l'operazione è già stata inizializzata"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "operazione non inizializzata"
|
||||
msgstr "l'operazione non è stata inizializzata"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
msgstr "pacchetto doppio"
|
||||
msgstr "pacchetto duplicato"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "operazione non preparata"
|
||||
msgstr "l'operazione non è stata preparata"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "operazione annullata"
|
||||
msgstr "l'operazione è stata annullata"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "operazione incompatibile con il tipo di transazione"
|
||||
msgstr "l'operazione è incompatibile con il tipo di transazione"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "impossibile eseguire l'operazione"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "impossibile prelevare tutti i file"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "prova il commit dell'operazione quando il database non è bloccato"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "impossibile trovare o leggere il pacchetto"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "l'operazione è stata ignorata a causa di ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "pacchetto non valido o corrotto"
|
||||
msgstr "il pacchetto non è valido oppure è corrotto"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "impossibile aprire il pacchetto"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "impossibile caricare i dati del pacchetto"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "pacchetto non installato o una versione precedente"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "impossibile rimuovere tutti i file del pacchetto"
|
||||
@@ -348,21 +345,21 @@ msgid "package filename is not valid"
|
||||
msgstr "il nome del pacchetto non è valido"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "nessun repository corrispondente"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "l'architettura del pacchetto non è valida"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "impossibile trovare un repository contenente questo pacchetto"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "pacchetto non valido o corrotto"
|
||||
msgstr "il delta non è valido oppure è corrotto"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "si sono verificati degli errori con la patch di delta"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "gruppo non trovato"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "impossibile soddisfare le dipendenze"
|
||||
@@ -376,20 +373,12 @@ msgid "conflicting files"
|
||||
msgstr "file in conflitto"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "operazione annullata"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "errore interno"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "non confermato"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "impossibile scaricare alcuni file"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "espressione regolare non valida"
|
||||
msgstr "l'espressione regolare non è valida"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
@@ -397,29 +386,24 @@ msgstr "errore di libarchive"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "errore nel scaricare la libreria"
|
||||
msgstr "si è verificato un errore della libreria di download"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "errore nell'inizializzare il download"
|
||||
msgstr "si è verificato un errore lanciando il downloader esterno"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "errore inaspettato"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: aggiornamento forzato alla versione %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr ""
|
||||
"%s: la versione installata (%s) è più recente di quella presente in %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "impossibile trovare %s nel database, sarà ignorato\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "rimozione di %s dalla lista dei pacchetti\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "impossibile rimuovere il file '%s': %s\n"
|
||||
@@ -432,19 +416,30 @@ msgstr "impossibile rimuovere la voce %s-%s dal database\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "impossibile rimuovere la voce '%s' dalla cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr ""
|
||||
"%s-%s: aggiornamento del pacchetto ignorato (per essere sostituito con %s-%"
|
||||
"s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: aggiornamento del pacchetto ignorato (%s => %s)\n"
|
||||
msgstr "%s: l'aggiornamento del pacchetto è stato ignorato (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "impossibile trovare il repository '%s'\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: il downgrade del pacchetto è stato ignorato (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: downgrade in corso dalla versione %s alla versione %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr ""
|
||||
"%s: la versione installata (%s) è più recente di quella presente in %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "sto ignorando la sostituzione del pacchetto (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "impossibile sostituire %s con %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -454,50 +449,29 @@ msgstr "%s-%s è aggiornato, sarà ignorato\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s è aggiornato, sarà reinstallato\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr ""
|
||||
"installazione in corso di una versione meno recente del pacchetto %s (%s => "
|
||||
"%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "sono stati rilevati dei conflitti irrisolvibili\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "rimuovo '%s' dalla lista perché va in conflitto con '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "comando: %s\n"
|
||||
msgstr ""
|
||||
"rimozione di '%s' dalla lista dei pacchetti perché va in conflitto con '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "impossibile recuperare alcuni file da %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "impossibile avviare l'operazione di rimozione\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "impossibile inizializzare l'operazione di rimozione\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "impossibile preparare l'operazione di rimozione\n"
|
||||
msgstr "impossibile scaricare alcuni file da %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "impossibile eseguire l'operazione di rimozione\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "impossibile avviare l'operazione\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "impossibile inizializzare l'operazione\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "impossibile preparare l'operazione\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "impossibile eseguire l'operazione\n"
|
||||
@@ -506,10 +480,6 @@ msgstr "impossibile eseguire l'operazione\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "impossibile rimuovere il file di lock %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "/bin/sh non è presente nell'ambiente, lo scriptlet sarà interrotto\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "impossibile creare la directory temporanea\n"
|
||||
@@ -518,6 +488,10 @@ msgstr "impossibile creare la directory temporanea\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "impossibile copiare il file temporaneo in %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "impossibile rimuovere la directory temporanea %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "impossibile spostarsi nella directory %s (%s)\n"
|
||||
@@ -535,24 +509,16 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr "impossibile spostarsi nella directory / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "chiamata a popen non riuscita (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "chiamata a popen non riuscita (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "chiamata a waitpid non riuscita (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "L'esecuzione dello scriptlet non è riuscita correttamente\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "impossibile rimuovere la directory temporanea %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "impossibile aprire %s: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "l'esecuzione del comando non è riuscita correttamente\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
|
||||
606
lib/libalpm/po/kk.po
Normal file
606
lib/libalpm/po/kk.po
Normal file
@@ -0,0 +1,606 @@
|
||||
# Kazakh translations for Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Baurzhan Muftakhidinov <baurthefirst@gmail.com> 2009
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-07 09:22+0600\n"
|
||||
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
|
||||
"Language-Team: Kazakh\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr ""
|
||||
"мақсаттар тізімінде ескірген %s-%s нұсқасы жаңа %s нұсқасымен алмастырылады\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"%s-%s өткізіледі, өйткені жаңа %s нұсқасы мақсаттар тізімінде бар болып тұр\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"%s бумасының қатынау рұқсаттары әр түрлі\n"
|
||||
"файлдық жүйе: %o десте: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "тарқату: бума %s файлымен ауыстырылмайды\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "тарқату: %s символдық сілтемесі бумаға көрсетіп тұрған жоқ\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "%s тарқату қатесі (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "%s атын жаңа %s атына ауыстыру мүмкін емес (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s қазір %s деп сақталды\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "%s қазір %s ретінде орнату мүмкін емес: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "%s қазір %s ретінде орнатылды\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "%s қазір %s.pacnew ретінде сақталды\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "ағымдағы жұмыс бумасын анықтау мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "%s жаңарту кезінде қате кетті\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "%s орнату кезінде қате кетті\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "дерекқорда жазбаны жаңарту мүмкін емес %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "кэш ішіне '%s' жазбасын қосу мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "қате дерекқорды өшіру: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "%s ашу мүмкін емес: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "дерекқор %s бумасын өшіру мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "%s дерекқорын өшіру мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "дерекқордағы '%s' жазбасының аты қате\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "деркқордағы '%s' жазбасы қайталанып жатыр\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "дерекқордағы '%s' жазбасы зақымдалған\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "%s файлын ашу мүмкін емес: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "дерекқордағы қате ақпарат %s: %s дестесінің аты сәйкес келмейді\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "дерекқордағы қате ақпарат %s: %s дестесінің нұсқасы сәйкес келмейді\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "%s бумасын жасау мүмкін емес: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "%s ішіндегі анықтама файлын зерттеу мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "%s ішінде десте аты жоқ\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "%s ішінде десте нұсқасы жоқ\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "%s дестесін оқу қатесі: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "%s ішінде дестенің мета мәліметтері жоқ\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "дерекқорға жол анықталмаған\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "дерекқорды қайта тіркеу талабы\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "циклдік тәуелділік табылды:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s қазір тәуелділік ретінде %s кейін өшіріледі\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s қазір тәуелділік ретінде %s алдынан орнатылады\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "дестені елемеу %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "тандалған %s дестесі %s ұсынады\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "\"%s\" шешу мүмкін емес, ол \"%s\" тәуелділігі болып тұр\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "дискі"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "'%s' сілтемесі қате\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "'%s' файлын %s адресінен алу қатемен аяқталды : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "%s жүктемесін жалғастыру мүмкін емес; басынан басталады\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "'%s' файлына жазу қатесі: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "'%s' файлын %s адресінен алу қатемен аяқталды\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s қысқартылады: %jd/%jd байт\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "%s жүктеп алу мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "жады жеткіліксіз!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "күтпеген қате"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
msgstr "құқықтар жеткіліксіз"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr "файлды табу не оқу мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "буманы табу не оқу мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "аргумент қате не нөлдік болып тұр"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "library іске қосылмады"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "library іске қосылған болып тұр"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
msgstr "дерекқорды оқшаулау мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open database"
|
||||
msgstr "дерекқорды ашу мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create database"
|
||||
msgstr "дерекқорды құру мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "дерекқор іске қосылмады"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
msgstr "дерекқор тіркелген болып тұр"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
msgstr "дерекқорды табу мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database"
|
||||
msgstr "дерекқорды жаңарту мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "дерекқордан жазбаны өшіру мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "сервер адресі қате"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "репозиторий үшін серверлер бапталмаған"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "сұраным іске қосылған болып тұр"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "сұраным іске қосылмады"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
msgstr "мақсаттардың қайталануы"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "сұраным дайындалмады"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "сұраным тоқтатылды"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "әрекет сұранымның түрімен үйлеспейді"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "оқшауланбаған дерекқорға жазу талабы"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "дестені табу не оқу мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "әрекет ignorepkg салдарынан тоқтатылды"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "десте қате не зақымдалған"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "десте файлын ашу мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "дестенің барлық файлдарын өшіру мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "десте файлдың аты қате"
|
||||
|
||||
#, c-format
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "десте файлдың архитектурасы қате"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "көрсетілген мақсат үшін репозиторийді табу мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "дельта файлы қате не зақымдалған"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "дельта патчті қолдану қатемен аяқталды"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "тәуелділіктерді шешу мүмкін емес"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "ерегісетін тәуелділіктер"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "ерегісетін файлдар"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "кейбір файлдарды алу сәтсіз аяқталды"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "тұрақты өрнек дұрыс емес"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "libarchive қатесі орын алды"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "download library қатесі орын алды"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "сыртқы жүктемелер менеджерін шақыру қатемен аяқталды"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "күтпеген қате кетті"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "дерекқор ішінде %s табылмады -- өткізіп жібереміз\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "мақсаттар тізімінен '%s' өшіріру\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr " '%s' файлын өшіру мүмкін емес: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "дерекқордан %s-%s жазбасын өшіру мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "кэш ішінен '%s' жазбасын өшіру мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: дестені жаңартуды елемеу (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: десте нұсқасын төмендетуді елемеу (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: қазіргі %s нұсқасынан %s нұсқасына дейін төмендету\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: орнатылған нұсқа (%s), %s (%s) ішіндегісінен жаңа болып тұр\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "дестені алмастыруды елемеу (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "%s жаңа %s нұсқасымен алмастыру мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s ескірмеді -- өткізіледі\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s ескірмеді -- қайта орнатылады\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "дестенің нұсқасын төмендету %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "шешілмейтін дестелер ерегісі табылды\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"мақсаттар тізімінен '%s' өшіріледі, өйткені ол '%s' дестесімен ерегіседі\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "%s адресінен кейбір файлдарды алу мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "өшіруге сұранымды орындау мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "сұранымды аяқтау мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "%s оқшау файлын өшіру мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "уақытша буманы құру мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "уақытша файлды %s ішіне көшіру мүмкін емес (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "tmpdir %s өшіру мүмкін емес\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "%s бумасына ауысу мүмкін емес (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "жаңа үрдісті құру мүмкін емес (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "түбірлік буманы ауыстыру мүмкін емес (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "/ бумасына ауысу мүмкін емес (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "popen шақыру сәтсіз аяқталды (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "waitpid шақыру қатемен аяқталды(%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "команда дұрыс орындалмады\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "%s кэші жоқ болып тұр, құрылады...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "дестелер кэшін құру мүмкін емес, оның орнына /tmp қолданылады\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "мақсаттар тізімінде ерегісетін дестелер табылды\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "сіз екі екі ерегісетін дестені орната алмайсыз\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "дестелерді -A мен -U опцияларын қолданып алмастыру әлі жасалмаған\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr ""
|
||||
#~ "сіз дестелерді қолмен алмастыра аласыз, ол үшін -Rd мен -U қолданыңыз\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "сілтеменің түрі анықталмады, HTTP деп саналады\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "'%s' файлына жазу мүмкін емес\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "мұндай репозиторий жоқ"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "'%s' репозиторийі табылмады\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "өшіруге сұранымды құру мүмкін емес\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "сұранымды жасау мүмкін емес\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "өшіруге сұранымды іске қосу мүмкін емес\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "сұранымды іске қосу мүмкін емес\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "өшіруге сұранымды дайындау мүмкін емес\n"
|
||||
|
||||
#~ msgid "error downloading '%s': %s\n"
|
||||
#~ msgstr "'%s' жүктеп алу қатесі: %s\n"
|
||||
|
||||
#~ msgid "could not chdir to %s\n"
|
||||
#~ msgstr "%s бумасына ауысу мүмкін емес\n"
|
||||
|
||||
#~ msgid "running XferCommand: fork failed!\n"
|
||||
#~ msgstr "XferCommand қосу: сәтсіз аяқталды\n"
|
||||
|
||||
#~ msgid "could not commit transaction"
|
||||
#~ msgstr "сұранымды аяқтау мүмкін емес"
|
||||
|
||||
#~ msgid "could not download all files"
|
||||
#~ msgstr "барлық файлдарды жүктеп алу мүмкін емес"
|
||||
|
||||
#~ msgid "cannot load package data"
|
||||
#~ msgstr "дестенің мәліметтерін жүктеу мүмкін емес"
|
||||
|
||||
#~ msgid "package not installed or lesser version"
|
||||
#~ msgstr "десте орнатылмаған, не оның нұсқасы ескі"
|
||||
|
||||
#~ msgid "group not found"
|
||||
#~ msgstr "топ табылмады"
|
||||
|
||||
#~ msgid "user aborted the operation"
|
||||
#~ msgstr "әрекетті пайдаланушы тоқтатты"
|
||||
|
||||
#~ msgid "internal error"
|
||||
#~ msgstr "ішкі қате орын алды"
|
||||
|
||||
#~ msgid "not confirmed"
|
||||
#~ msgstr "расталмады"
|
||||
|
||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
#~ msgstr ""
|
||||
#~ "%s-%s: дестені жаңартуды елемеу (ол %s-%s нұсқасымен ауыстырылады)\n"
|
||||
|
||||
#~ msgid "command: %s\n"
|
||||
#~ msgstr "командасы: %s\n"
|
||||
|
||||
#~ msgid "could not prepare transaction\n"
|
||||
#~ msgstr "сұранымды дайындау мүмкін емес\n"
|
||||
|
||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
#~ msgstr "Бастапқы ортада /bin/sh жоқ, скрипт орындалмайды\n"
|
||||
@@ -1,5 +1,5 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Judd Vinet <jvinet@zeroflux.org>
|
||||
# Copyright (C) YEAR Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
@@ -8,10 +8,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -21,23 +22,7 @@ msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -47,11 +32,11 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -99,13 +84,29 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr ""
|
||||
@@ -122,6 +123,10 @@ msgstr ""
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr ""
|
||||
@@ -143,11 +148,11 @@ msgid "missing package metadata in %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -162,6 +167,10 @@ msgstr ""
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr ""
|
||||
@@ -170,32 +179,20 @@ msgstr ""
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -203,11 +200,11 @@ msgid "error writing to file '%s': %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -282,6 +279,10 @@ msgstr ""
|
||||
msgid "invalid url for server"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr ""
|
||||
@@ -307,17 +308,17 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr ""
|
||||
@@ -326,14 +327,6 @@ msgstr ""
|
||||
msgid "cannot open package file"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr ""
|
||||
@@ -343,7 +336,11 @@ msgid "package filename is not valid"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -354,10 +351,6 @@ msgstr ""
|
||||
msgid "delta patch failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr ""
|
||||
@@ -371,15 +364,7 @@ msgid "conflicting files"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -402,18 +387,14 @@ msgstr ""
|
||||
msgid "unexpected error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr ""
|
||||
@@ -426,16 +407,28 @@ msgstr ""
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -446,6 +439,10 @@ msgstr ""
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr ""
|
||||
@@ -454,42 +451,14 @@ msgstr ""
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr ""
|
||||
@@ -498,10 +467,6 @@ msgstr ""
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr ""
|
||||
@@ -510,6 +475,10 @@ msgstr ""
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr ""
|
||||
@@ -527,7 +496,7 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@@ -535,15 +504,7 @@ msgid "call to waitpid failed (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
|
||||
556
lib/libalpm/po/nb.po
Normal file
556
lib/libalpm/po/nb.po
Normal file
@@ -0,0 +1,556 @@
|
||||
# Language libalpm translations for PACKAGE package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# <maister@archlinux.us>, 2009.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2009-10-04 17:09+0200\n"
|
||||
"Last-Translator: <maister@archlinux.us>\n"
|
||||
"Language-Team: Language libalpm\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "bytter ut eldre versjon %s-%s med %s i liste\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "hopper over %s-%s siden nyere versjon %s finnes i liste\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"mapperettigheter er forskjellige i %s\n"
|
||||
"filsystem: %o pakke: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "utpakking: skriver ikke over mappe med fil %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "utpakking: symlink %s viser ikke til mappe\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "kunne ikke pakke ut %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kunne ikke døpe om %s til %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s lagret som %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "kunne ikke installere %s som %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "%s installert som %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "pakker ut %s som %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "kunne ikke motta nåværende mappe\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "problem oppstod under oppgradering av %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "problem oppstod under installasjon av %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "kunne ikke oppdatere databaseelement %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "kunne ikke legge til '%s' i cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "fjerner ugyldig database: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "kunne ikke åpne %s: %s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "kunne ikke fjerne databaseelement %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "kunne ikke fjerne database %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "ugyldig navn for databaseelement '%s'\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "korrupt databaseelement '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "korrupt databaseelement '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "kunne ikke åpne fil %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s database er ukonsistent: navn samsvarer ikke med pakke %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s database er ukonsistent: versjon samsvarer ikke med pakke %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "kunne ikke opprette mappe %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "kunne ikke analysere pakkebeskrivelse i fil %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "mangler pakkenavn i %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "mangler pakkeversjon i %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "feil oppstod under lesing av pakke: %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "mangler metadata i %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "databaseplassering er udefinert\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "forsøker å re-registrere den lokale databasen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "avhengighetssyklus oppdaget\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s vil fjernes etter dens avhengighet %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s vil bli installert før dens avhengighet %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorerer pakke %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "tilføringspakke ble valgt (%s tilfører %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "kan ikke avgjøre \"%s\", en avhengighet av \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' er ugyldig\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "mottakelse av fil '%s' fra %s : %s feilet\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "kan ikke fortsette nedlasting, starter på nytt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "skriving til fil '%s': %s feilet\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "mottakelse av fil '%s' fra %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s ser ut til å være trunkert: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "nedlasting av %s feilet\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "ikke mer minne!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "uventet systemfeil"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
msgstr "ikke nok rettigheter"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr "kunne ikke finne eller lese fil"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "kunne ikke finne eller lese mappe"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "feil eller NULL-argument gitt"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "bibliotek ikke initialisert"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "bibliotek allerede initialisert"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
msgstr "kunne ikke låse database"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open database"
|
||||
msgstr "kunne ikke åpne database"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create database"
|
||||
msgstr "kunne ikke opprette database"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "database ikke initialisert"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
msgstr "database allerede registret"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
msgstr "kunne ikke finne database"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database"
|
||||
msgstr "kunne ikke oppdatere database"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "kunne ikke fjerne databaseelement"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "ugyldig url for server"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "ingen servere konfigurert for pakkebrønn"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "transaksjon allerede initialisert"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "transaksjon ikke initialisert"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
msgstr "klonet mål"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "transaksjon ikke forberedt"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "transaksjon avsluttet"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "operasjon ikke kompatibel med transaksjonstypen"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "førsøk på utføring av transaksjon mens databasen ikke er lukket"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "kunne ikke finne eller lese pakke"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operasjon avsluttet grunnet ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "invalid eller korrupt pakke"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "kan ikke åpne pakkefil"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "kan ikke fjerne alle filer for pakke"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "pakkens filnavn er ikke gyldig"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "pakkens filnavn er ikke gyldig"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "kunne ikke finne eller lese pakke"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "invalid"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "delta-patch feilet"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "kunne ikke tilfredstille avhengigheter"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "modstridige avhengigheter"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "modstridige filer"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "mottagelsen av noen filer feilet"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "ugyldig uttrykk"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "feil i libarchive"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "feil i nedlastingsbibliotek"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "påkalling av ekstern nedlaster feilet"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "uforventet feil"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "kunne ikke finne %s i database -- hopper over\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "fjerner %s fra målliste\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "kan ikke fjerne fil '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "kunne ikke fjerne databaseelement %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "kunne ikke fjerne element '%s' fra cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorerer pakkeoppgradering (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorerer pakkenedgradering (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: nedgradering fra versjon %s til versjon %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: lokal (%s) er nyere enn %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorerer utbytting av pakke (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "kan ikke bytte ut %s med %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s er allerede oppdatert -- hopper over\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s er allerede oppdatert -- installerer på nytt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "nedgraderer pakke %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "uløselige pakkekonflikter oppdaget\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "fjerner '%s' fra mållisten fordi den strider mot '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "feilet å motta noen filer fra %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kunne ikke begå fjerningstransaksjon\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "kunne ikke begå transaksjon\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "kunne ikke fjerne låsingsfil %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "kunne ikke opprette midlertidig mappe\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "kunne ikke kopiere midertidig fil til %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "kunne ikke fjerne midlertidig mappe %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "kunne ikke endre mappe til %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "kunne ikke skille ut en ny prosess (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "kunne ikke endre root-mappe (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "kunne ikke endre mappe til / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "kall på popen feilet (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "kall på waitpid feilet (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "kommando feilet å kjøre korrekt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "ingen %s cache eksisterer, lager en ...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "kunne ikke danne pakke-cache, bruker /tmp istedenfor\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "motstridige pakker ble funnet i målliste\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "du kan ikke installere to motstridige pakker samtidig\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "å bytte ut pakker med -U er ikke støttet enda\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "du kan bytte ut pakker manuelt ved å bruke -Rd og -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "url-protokoll ikke gitt, bruker HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "kan ikke skrive til fil '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "ingen slik pakkebrønn"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "pakkebrønn '%s' ikke funnet\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "kunne ikke opprette fjerningstransaksjon\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "kunne ikke opprette transaksjon\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "kunne ikke initialisere fjerningstransaksjonen\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "kunne ikke initialisere transaksjon\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "kunne ikke forberede fjerningstransaksjon\n"
|
||||
@@ -1,18 +1,19 @@
|
||||
# Polish translations for Pacman package manager package
|
||||
# Polskie tłumaczenia dla pakietu Pacman package manager.
|
||||
# Copyright (C) 2007 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Mateusz Jędrasik <m.jedrasik@gmail.com>, 2007.
|
||||
# Mateusz Herych <heniekk@gmail.com>, 2008.
|
||||
# Mateusz Herych <heniekk@gmail.com>, 2008-2009.
|
||||
# #
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.0.1\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-19 20:58+0200\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2009-10-04 17:09+0200\n"
|
||||
"Last-Translator: Mateusz Herych <heniekk@gmail.com>\n"
|
||||
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -24,28 +25,8 @@ msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "zastępowanie starszej wersji %s-%s na %s z listy celów\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr "pomijam %s-%s ponieważ na liście celów znajduje się nowsza wersja %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr ""
|
||||
"konfliktujące pakiety znalazły się na liście pakietów do zainstalowania\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr ""
|
||||
"nie możesz mieć zainstalowanych dwóch konfliktujących ze sobą pakietów w tym "
|
||||
"samym czasie\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "zastępowanie pakietów za pomocą -U nie jest już wspierane\n"
|
||||
|
||||
# hmm
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "możesz zastąpić pakiety ręcznie, używając opcji -Rd oraz -U\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "pomijam %s-%s ponieważ nowsza wersja %s jest na liście celów\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -55,14 +36,14 @@ msgstr ""
|
||||
"Różne prawa dla %s\n"
|
||||
"system plików: %o pakiet: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "rozpakowywanie: dowiązanie symboliczne %s nie kieruje do katalogu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "rozpakowywanie: nie nadpisuję katalogu plikiem %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "rozpakowywanie: dowiązanie symboliczne %s nie kieruje do katalogu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "nie udało się rozpakować %s (%s)\n"
|
||||
@@ -108,13 +89,29 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "nie udało się dodać pozycji '%s' w pliku podręcznym\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "nie udało się usunąć wpisu %s%s z bazy danych\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "usuwanie niepoprawnej bazy danych: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "nie udało się otworzyć %s: %s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "nie udało się usunąć wpisu %s-%s z bazy danych\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "nie można usunąć bazy danych %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nieprawidłowa nazwa dla wpisu bazy danych '%s'\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "zepsuty wpis w bazie danych '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "zepsuty wpis w bazie danych '%s'\n"
|
||||
@@ -131,6 +128,10 @@ msgstr "baza danych %s jest sprzeczna: niedopasowana nazwa w pakiecie %s\n"
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "baza danych %s jest sprzeczna: niedopasowana wersja w pakiecie %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "nie można stworzyć katalogu %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "nie udało się przeczytać opisu pliku w %s\n"
|
||||
@@ -151,14 +152,14 @@ msgstr "błąd odczytywania pakietu: %s: %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "brak metadanych pakietu w %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "próba ponownej rejestracji 'lokalnej' BD\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "ścieżka bazy danych jest niezdefiniowana\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "próba ponownej rejestracji 'lokalnej' BD\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "wykryto cykl zależności:\n"
|
||||
@@ -171,6 +172,10 @@ msgstr "%s zostanie usunięta po zależniościach %s\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s zostanie zainstalowane przed zależnościami %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorowanie pakietu %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "dostawca pakietu został wybrany (%s dostarcza %s)\n"
|
||||
@@ -179,45 +184,33 @@ msgstr "dostawca pakietu został wybrany (%s dostarcza %s)\n"
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "nie można rozwiązać \"%s\", zależności od \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' jest błędny\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "schemat url nie został sprecyzowany, wybieranie HTTP\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "dysk"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' jest błędny\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "nie udało się pobrać pliku '%s' z %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
#, fuzzy, c-format
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "nie można kontynuować pobieranie, zaczynanie od początku\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "nie można zapisywać do pliku '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "błąd podczas pobierania '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "Błąd podczas zapisywania do pliku '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "nie udało się zmienić katalogu na / %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "nie udało się pobrać pliku '%s' z %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "uruchamianie XferCommand: klonowanie nieudane!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s wygląda, jakby został obcięty %jd/%jd bajtów\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -291,6 +284,10 @@ msgstr "nie udało się usunąć wpisu do bazy danych"
|
||||
msgid "invalid url for server"
|
||||
msgstr "nieprawidłowy url dla serwera"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "brak serwerów skonfigurowanych dla repozytorium"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "tranzakcja została już zainicjowana"
|
||||
@@ -316,17 +313,17 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr "operacja niekompatybilna z typem tranzakcji"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "nie udało się wykonać tranzakcji"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "nie udało się pobrać wszystkich plików"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "zmiana tranzakcji następuje, kiedy baza danych nie jest zablokowana"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "nie udało się znaleźć bądź odczytać pakietu"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operacja anulowana przez ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "nieprawidłowy bądź uszkodzony pakiet"
|
||||
@@ -335,14 +332,6 @@ msgstr "nieprawidłowy bądź uszkodzony pakiet"
|
||||
msgid "cannot open package file"
|
||||
msgstr "nie udało się otworzyć pliku pakietu"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "nie udało się załadować danych pakietu"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "pakiet nie zainstalowany lub zainstalowany w niższej wersji"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "nie udało się usunąć wszystkich plików pakietu"
|
||||
@@ -351,9 +340,13 @@ msgstr "nie udało się usunąć wszystkich plików pakietu"
|
||||
msgid "package filename is not valid"
|
||||
msgstr "nazwa pakietu jest nieprawidłowa"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "nie ma takiego repozytorium"
|
||||
#, fuzzy, c-format
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "nazwa pakietu jest nieprawidłowa"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "nie udało się znaleźć bądź odczytać pakietu"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
@@ -363,13 +356,9 @@ msgstr "nieprawidłowy bądź uszkodzony pakiet przyrostowy"
|
||||
msgid "delta patch failed"
|
||||
msgstr "Łatanie pakietem przyrostowym nie powiodło się"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "grupa nie została odnaleziona"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "nie udało się usatysfakcjonować zależności"
|
||||
msgstr "nie udało się rozwiązać zależności"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
@@ -380,16 +369,8 @@ msgid "conflicting files"
|
||||
msgstr "konfliktujące pliki"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "użytkownik zaniechał operacji"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "błąd wewnętrzny"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "nie potwierdzono"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "nie udało się odzyskać niektórych plików"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -412,18 +393,14 @@ msgstr ""
|
||||
msgid "unexpected error"
|
||||
msgstr "niespodziewany błąd"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: wymuszanie aktualizacji do wersji %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) jest nowsze niż %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "nie udało się odnaleźć %s w bazie danych -- pomijanie\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "usuwanie %s z listy celów\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "nie udało się usunąć pliku '%s': %s\n"
|
||||
@@ -436,18 +413,29 @@ msgstr "nie udało się usunąć wpisu %s-%s z bazy danych\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "nie udało się usunąć wpisu '%s' z pamięci podręcznej\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr ""
|
||||
"%s-%s: ignorowanie aktualizowania pakietu (do zastąpienia przez %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorowanie aktualizacji pakietu (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "repozytorium '%s' nie zostało znalezione\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorowanie dezaktualizacji pakietu (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: dezaktualizowanie z wersji %s do wersji %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) jest nowsze niż %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorowanie zastępowania pakietu (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "nie udało się zastąpić %s przez %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -457,6 +445,10 @@ msgstr "%s-%s jest w najnowszej wersji -- pomijanie\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s jest w najnowszej wersji -- ponowne instalowanie\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "dezaktualizowanie pakietu %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "odkryto nierozwiązywalne konflikty pakietów\n"
|
||||
@@ -465,42 +457,14 @@ msgstr "odkryto nierozwiązywalne konflikty pakietów\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "usuwanie '%s' z listy celów ponieważ konfliktuje z '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "komenda: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "nie udało się pobrać niektórych plików z %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "nie udało się utworzyć tranzakcji usuwania\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "nie udało się zainicjować tranzakcji usuwania\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "nie udało się przygotować tranzakcji usuwania\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nie udało się wykonać tranzakcji usuwania\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "nie udało się stworzyć tranzakcji\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "nie udało się zainicjować tranzakcji\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "nie udało się przygotować tranzakcji\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nie udało się wykonać tranzakcji\n"
|
||||
@@ -509,10 +473,6 @@ msgstr "nie udało się wykonać tranzakcji\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "nie udało się usunąć pliku blokującego %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "Brak /bin/sh w środowisku, przerywanie wykonywania skryptu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "nie udało się stworzyć katalogu tymczasowego\n"
|
||||
@@ -521,6 +481,10 @@ msgstr "nie udało się stworzyć katalogu tymczasowego\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "nie udało się skopiować pliku tymczasowego do %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nie udało się usunąć katalogu tymczasowego %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "nie udało się zmienić katalogu na %s (%s)\n"
|
||||
@@ -538,24 +502,16 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr "nie udało się zmienić katalogu na / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "zawołanie do popen nieudane (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "zawołanie do popen nieudane (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "zawołanie do waitpid nieudane (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "skrypt nie mógł zostać poprawnie wykonany\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nie udało się usunąć katalogu tymczasowego %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "nie udało się otworzyć %s: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "komenda nie wykonała się poprawnie\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
@@ -565,3 +521,91 @@ msgstr "brak pamięci podręcznej dla %s, tworzenie...\n"
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr ""
|
||||
"nie udało się stworzyć pamięci podręcznej pakietu, używanie /tmp w zamian\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "konfliktujące pakiety zostały znalezione na liście celów\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr ""
|
||||
#~ "nie możesz mieć zainstalowanych dwóch konfliktujących ze sobą pakietów w "
|
||||
#~ "tym samym czasie\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "zastępowanie pakietów za pomocą -U nie jest już wspierane\n"
|
||||
|
||||
# hmm
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "możesz zastąpić pakiety ręcznie, używając opcji -Rd oraz -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "schemat url nie został sprecyzowany, wybieranie HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "nie można zapisywać do pliku '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "nie ma takiego repozytorium"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "repozytorium '%s' nie zostało znalezione\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "nie udało się utworzyć tranzakcji usuwania\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "nie udało się stworzyć tranzakcji\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "nie udało się zainicjować tranzakcji usuwania\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "nie udało się zainicjować tranzakcji\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "nie udało się przygotować tranzakcji usuwania\n"
|
||||
|
||||
#~ msgid "error downloading '%s': %s\n"
|
||||
#~ msgstr "błąd podczas pobierania '%s': %s\n"
|
||||
|
||||
#~ msgid "could not chdir to %s\n"
|
||||
#~ msgstr "nie udało się zmienić katalogu na / %s\n"
|
||||
|
||||
#~ msgid "running XferCommand: fork failed!\n"
|
||||
#~ msgstr "uruchamianie XferCommand: klonowanie nieudane!\n"
|
||||
|
||||
#~ msgid "could not commit transaction"
|
||||
#~ msgstr "nie udało się wykonać tranzakcji"
|
||||
|
||||
#~ msgid "could not download all files"
|
||||
#~ msgstr "nie udało się pobrać wszystkich plików"
|
||||
|
||||
#~ msgid "cannot load package data"
|
||||
#~ msgstr "nie udało się załadować danych pakietu"
|
||||
|
||||
#~ msgid "package not installed or lesser version"
|
||||
#~ msgstr "pakiet nie zainstalowany lub zainstalowany w niższej wersji"
|
||||
|
||||
#~ msgid "group not found"
|
||||
#~ msgstr "grupa nie została odnaleziona"
|
||||
|
||||
#~ msgid "user aborted the operation"
|
||||
#~ msgstr "użytkownik zaniechał operacji"
|
||||
|
||||
#~ msgid "internal error"
|
||||
#~ msgstr "błąd wewnętrzny"
|
||||
|
||||
#~ msgid "not confirmed"
|
||||
#~ msgstr "nie potwierdzono"
|
||||
|
||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
#~ msgstr ""
|
||||
#~ "%s-%s: ignorowanie aktualizowania pakietu (do zastąpienia przez %s-%s)\n"
|
||||
|
||||
#~ msgid "command: %s\n"
|
||||
#~ msgstr "komenda: %s\n"
|
||||
|
||||
#~ msgid "could not prepare transaction\n"
|
||||
#~ msgstr "nie udało się przygotować tranzakcji\n"
|
||||
|
||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
#~ msgstr "Brak /bin/sh w środowisku, przerywanie wykonywania skryptu\n"
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
# translation of pt_BR.po to Português do Brasil
|
||||
# Portuguese translations for Pacman package manager package.
|
||||
# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Lincoln de Sousa <lincoln@archlinux-br.org>, 2007.
|
||||
# Hugo Doria <hugodoria@archlinux-br.org>, 2007-2008.
|
||||
# Douglas Soares de Andrade <dsandrade@gmail.com>, 2008.
|
||||
# João Felipe Santos <jfsantos@archlinux-br.org>, 2008.
|
||||
# Armando M. Baratti <ambaratti@archlinux-br.org>, 2008.
|
||||
#
|
||||
# Rodrigo L. M. Flores <flores@archlinux-br.org>, 2009, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: pt_BR\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-20 15:00-0300\n"
|
||||
"Last-Translator: Hugo Doria <hugo@archlinux.org>\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-07 21:09-0300\n"
|
||||
"Last-Translator: Rodrigo L. M. Flores <flores@archlinux-br.org>\n"
|
||||
"Language-Team: Português do Brasil <www.archlinux-br.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -28,28 +29,10 @@ msgstr ""
|
||||
"atualizados\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"ignorando %s-%s porque uma nova versão %s está na lista de pacotes a serem "
|
||||
"atualizados\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr ""
|
||||
"pacotes conflitantes foram encontrados na lista de pacotes a serem "
|
||||
"atualizados\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "você não pode instalar dois pacotes conflitantes ao mesmo tempo\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "substituir pacotes com -U ainda não é suportado\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "você pode substituir pacotes manualmente usando as opções -Rd e -U\n"
|
||||
"pulando %s-%s por que uma versão mais nova %s está na lista de pacotes a "
|
||||
"serem atualizados\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -59,14 +42,14 @@ msgstr ""
|
||||
"permissões de diretório diferem em %s\n"
|
||||
"sistema de arquivos: %o pacote: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extração: symlink %s não aponta para diretório\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "extração: não sobrescrevendo diretório com arquivo %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extração: symlink %s não aponta para diretório\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "não foi possível extrair %s (%s)\n"
|
||||
@@ -81,7 +64,7 @@ msgstr "%s salvo como %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "não foi possível instalar %s como %s: (%s)\n"
|
||||
msgstr "não foi possível instalar %s como %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
@@ -97,7 +80,7 @@ msgstr "não foi possível obter o diretório de trabalho atual\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "erros ocorreram durante o upgrade de %s\n"
|
||||
msgstr "erros ocorreram durante a atualização de %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
@@ -112,16 +95,32 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "não foi possível adicionar a entrada '%s' ao cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "não foi possível remover a entrada da base de dados %s%s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "removendo banco de dados inválido: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "não foi possível abrir %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "não foi possível remover o diretório da base de dados %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "não foi possível remover a base de dados %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nome inválido para a entrada na base de dados '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "entrada da base de dados duplicada '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "entrada corrompida na base de dados '%s'\n"
|
||||
msgstr "entrada da base de dados corrompida '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -134,7 +133,11 @@ msgstr "%s base de dados está inconsistente: nome no pacote %s não coincide\n"
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"%s base de dados está inconsistente: versão no pacote %s não coincide\n"
|
||||
"%s base de dados está inconsistente: versão do pacote %s não coincide\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "não foi possível criar diretório %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
@@ -154,16 +157,16 @@ msgstr "erro ao ler o pacote %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "faltando metadata do pacote em %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "tentativa de registrar a base de dados 'local' novamente\n"
|
||||
msgstr "faltando metadados do pacote em %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "caminho da base de dados não definido\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "nova tentativa de registrar a base de dados 'local'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "dependência cíclica detectada:\n"
|
||||
@@ -176,6 +179,10 @@ msgstr "%s será removido após sua dependência %s\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s será instalado antes de sua dependência %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorando pacote %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "pacote provedor foi selecionado (%s provê %s)\n"
|
||||
@@ -184,45 +191,33 @@ msgstr "pacote provedor foi selecionado (%s provê %s)\n"
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "não é possível resolver \"%s\", uma dependência de \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' é inválida\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "esquema da url não especificado, assumindo HTTP\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disco"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' é inválida\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "falha ao obter arquivo '%s' de %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "não foi possível resumir o download, reiniciando\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "não foi possível escrever no arquivo '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "erro no download de '%s': %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "não foi possível retomar o download de %s; reiniciando download\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "erro ao escrever no arquivo '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "não foi possível mudar para o diretório %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "falha ao obter arquivo '%s' de %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "rodando XferCommand: fork falhou!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s parece estar truncado: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -250,7 +245,7 @@ msgstr "não foi possível encontrar ou ler o diretório"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "argumento passo está errado ou NULO"
|
||||
msgstr "argumento passado está errado ou NULO"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
@@ -294,7 +289,11 @@ msgstr "não foi possível remover a entrada da base de dados"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "url inválida para servidor"
|
||||
msgstr "url inválida para o servidor"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "nenhum servidor configurado para o repositório"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
@@ -321,17 +320,17 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr "operação não compatível com tipo de transação"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "não foi possível realizar transação"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "não foi possível fazer o download de todos os arquivos"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "tentativa de aceitação de transação com a base de dados não travada"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "não foi possível ler ou escrever o pacote"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operação cancelada devido a ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "pacote inválido ou corrompido"
|
||||
@@ -340,25 +339,21 @@ msgstr "pacote inválido ou corrompido"
|
||||
msgid "cannot open package file"
|
||||
msgstr "não foi possível abrir arquivo do pacote"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "não foi possível carregar dados do pacote"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "pacote não instalado ou versão inferior"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "não foi possível remover todos os arquivos para o pacote"
|
||||
msgstr "não foi possível remover todos os arquivos do pacote"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "o nome do arquivo do pacote não é valido"
|
||||
msgstr "o nome do pacote não é valido"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "repositório não existe"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "a arquitetura do pacote não é valida"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "não foi possível encontrar o repositório para o pacote"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
@@ -368,10 +363,6 @@ msgstr "delta inválido ou corrompido"
|
||||
msgid "delta patch failed"
|
||||
msgstr "patch do delta falhou"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "grupo não encontrado"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "não foi possível satisfazer as dependências"
|
||||
@@ -385,16 +376,8 @@ msgid "conflicting files"
|
||||
msgstr "arquivos conflitantes"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "usuário abortou a operação"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "erro interno"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "não confirmado"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "falha ao obter alguns arquivos"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -410,24 +393,20 @@ msgstr "erro na biblioteca de download"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "erro invocando programa de download externo"
|
||||
msgstr "erro ao invocar o programa de download externo"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "erro inesperado"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: forçando upgrade para a versão %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) é mais novo que %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "não foi possível encontrar %s na base de dados - pulando\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "removendo \"%s\" da lista de pacotes a serem atualizados\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "não foi possível remover o arquivo '%s': %s\n"
|
||||
@@ -438,19 +417,31 @@ msgstr "não foi possível remover a entrada da base de dados %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "não foi possível remover a entrada '%s' da cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr "%s-%s: ignorando atualização do pacote (a ser substituido por %s-%s)\n"
|
||||
msgstr "não foi possível remover a entrada '%s' do cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorando atualização do pacote (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "repositório '%s' não encontrado\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorando downgrade do pacote (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: voltando da versão %s para a versão %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) é mais novo que %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorando substituição do pacote (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "não foi possível substituir %s por %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -460,6 +451,10 @@ msgstr "%s-%s está atualizado -- pulando\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s está atualizado -- reinstalando\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "fazendo downgrade do pacote %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "conflito de pacotes não solucionável detectado\n"
|
||||
@@ -468,42 +463,14 @@ msgstr "conflito de pacotes não solucionável detectado\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "removendo '%s' da lista de pacotes porque ele conflita com '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "comando: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "falha ao obter alguns arquivos de %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "não foi possível criar transação de remoção\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "não foi possível inicializar a transação de remoção\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "não foi possível preparar a transação de remoção\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "não foi possível efetuar a transação de remoção\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "não foi possível criar a transação\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "não foi possível inicializar a transação\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "não foi possível preparar a transação\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "não foi possível efetuar a transação\n"
|
||||
@@ -512,10 +479,6 @@ msgstr "não foi possível efetuar a transação\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "não foi possível remover o arquivo de trava %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "/bin/sh não encontrado no diretório pai, abortando scriptlet\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "não foi possível criar diretório temporário\n"
|
||||
@@ -524,9 +487,13 @@ msgstr "não foi possível criar diretório temporário\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "não foi possível copiar arquivo temporário para %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "não foi possível remover o diretório temporário %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "não foi possível mudar diretório para %s (%s)\n"
|
||||
msgstr "não foi possível mudar o diretório para %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
@@ -541,24 +508,16 @@ msgid "could not change directory to / (%s)\n"
|
||||
msgstr "não foi possível mudar o diretório para / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "chamada para popen falhou (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "chamada para popen falhou (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "chamada para waitpid falhou (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "scriptlet falhou em executar corretamente\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "não foi possível remover o diretório temporário %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "não foi possível abrir %s : %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "comando não executado corretamente\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
@@ -566,4 +525,92 @@ msgstr "cache %s não existe, criando...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "não foi possível criar cache de pacotes, usando /tmp\n"
|
||||
msgstr "não foi possível criar cache de pacotes, usando /tmp em seu lugar\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr ""
|
||||
#~ "pacotes conflitantes foram encontrados na lista de pacotes a serem "
|
||||
#~ "atualizados\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "você não pode instalar dois pacotes conflitantes ao mesmo tempo\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "substituir pacotes com -U ainda não é suportado\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr ""
|
||||
#~ "você pode substituir pacotes manualmente usando as opções -Rd e -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "esquema da url não especificado, assumindo HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "não foi possível escrever no arquivo '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "repositório não existe"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "repositório '%s' não encontrado\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "não foi possível criar transação de remoção\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "não foi possível criar a transação\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "não foi possível inicializar a transação de remoção\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "não foi possível inicializar a transação\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "não foi possível preparar a transação de remoção\n"
|
||||
|
||||
#~ msgid "error downloading '%s': %s\n"
|
||||
#~ msgstr "erro no download de '%s': %s\n"
|
||||
|
||||
#~ msgid "could not chdir to %s\n"
|
||||
#~ msgstr "não foi possível mudar para o diretório %s\n"
|
||||
|
||||
#~ msgid "running XferCommand: fork failed!\n"
|
||||
#~ msgstr "rodando XferCommand: fork falhou!\n"
|
||||
|
||||
#~ msgid "could not commit transaction"
|
||||
#~ msgstr "não foi possível realizar transação"
|
||||
|
||||
#~ msgid "could not download all files"
|
||||
#~ msgstr "não foi possível fazer o download de todos os arquivos"
|
||||
|
||||
#~ msgid "cannot load package data"
|
||||
#~ msgstr "não foi possível carregar dados do pacote"
|
||||
|
||||
#~ msgid "package not installed or lesser version"
|
||||
#~ msgstr "pacote não instalado ou versão inferior"
|
||||
|
||||
#~ msgid "group not found"
|
||||
#~ msgstr "grupo não encontrado"
|
||||
|
||||
#~ msgid "user aborted the operation"
|
||||
#~ msgstr "usuário abortou a operação"
|
||||
|
||||
#~ msgid "internal error"
|
||||
#~ msgstr "erro interno"
|
||||
|
||||
#~ msgid "not confirmed"
|
||||
#~ msgstr "não confirmado"
|
||||
|
||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
#~ msgstr ""
|
||||
#~ "%s-%s: ignorando atualização do pacote (a ser substituido por %s-%s)\n"
|
||||
|
||||
#~ msgid "command: %s\n"
|
||||
#~ msgstr "comando: %s\n"
|
||||
|
||||
#~ msgid "could not prepare transaction\n"
|
||||
#~ msgstr "não foi possível preparar a transação\n"
|
||||
|
||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
#~ msgstr "/bin/sh não encontrado no diretório pai, abortando scriptlet\n"
|
||||
|
||||
561
lib/libalpm/po/ro.po
Normal file
561
lib/libalpm/po/ro.po
Normal file
@@ -0,0 +1,561 @@
|
||||
# libalpm Romanian translation.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Volodia Macovei <blog@volodia.ro>, 2009.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2009-10-04 17:09+0200\n"
|
||||
"Last-Translator: volodia macovei <blog@volodia.ro>\n"
|
||||
"Language-Team: Romanian SbLUG for Arch <blog@volodia.ro>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "se înlocuieşte versiunea veche %s-%s cu %s în lista ţintă\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"se trece peste %s-%s deoarece o versiune mai nouă %s există în lista ţintă\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"permisiile directorului diferă la %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "extragere: nu se suprascrie dir cu fişierul %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extragere: symlink %s nu punctează la dir\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "nu se poate extrage %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nu se poate redenumi %s în %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s salvat ca %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "nu se poate instala %s ca %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "%s instalat ca %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "se extrage %s ca %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "nu poate fi dat directorul de lucru curent\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "problemă apărută la actualizarea %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "problemă apărută la instalarea %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "nu se poate actualiza intrarea în baza de date %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "nu se poate adăuga intrarea '%s' în cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "se elimină baza de date nevalidă %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "nu se poate deschide %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "nu se poate elimina directorul cu baza de date %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "nu poate fi eliminată baza de date %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nume pentru intrarea în baza de date nevalid '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "intrare duplicitara pentru baza de date '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "intrare în baza de date coruptă '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "nu poate fi deschis fişierul %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"baza de date %s este inconsistentă: numele nu se potriveşte cu pachetul %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"baza de date %s este inconsistentă: versiunea nu se potriveşte cu pachetul "
|
||||
"%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "nu poate fi creat director %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "nu a putut fi analizat fişierul de descriere a pachetului în %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "nume pachet lipsă în %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "versiune pachet lipsă în %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "eroare la citirea pachetului %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "lipsă metadata pentru pachet în %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "calea bazei de date este nedefinită\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "încercare de a reînregistra 'local' DB\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "a fost detectat ciclul de dependenţă:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s va fi eliminat înaintea dependenţei sale %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s va fi instalat înaintea dependenţei sale %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "se ignoră pachetul %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "pachetul furnizor a fost selectat (%s furnizează %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "nu se poate rezolva \"%s\", o dependenţă a \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' este nevalid\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "eşec la regăsirea fişierului '%s' din %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "nu se poate relua descărcare pentru %s; se începe peste\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "eroare la scriere în fişierul '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "eşec la regăsirea fişierului '%s' din %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s apare a fi trunchiat: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "eşec la descărcarea %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "depăşire de memorie!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "eroare de sistem neaşteptată"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
msgstr "privilegii insuficiente"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr " nu poate fi găsit sau citit fişierul"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "nu poate fi găsit sau citit directorul"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "argument greşit sau NULL trecut"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "bibliotecă neiniţializată"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "bibliotecă deja iniţializată"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
msgstr "imposibilitate de a bloca baza de date"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open database"
|
||||
msgstr "nu poate fi deschisă baza de date"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create database"
|
||||
msgstr "nu poate fi creată baza de date"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "bază de date neiniţializată"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
msgstr "bază de date deja înregistrată"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
msgstr "nu poate fi găsită baza de date"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database"
|
||||
msgstr "nu poate fi actualizată baza de date"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "nu poate fi eliminată intrarea în baza de date"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "URL nevalid pentru server"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "nu sunt servere confugurate pentru depozit"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "tranzacţie deja iniţializată"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "tranzacţie neiniţializată"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
msgstr "dublează ţinta"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "tranzacţie nepregătită"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "tranzacţie abandonată"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "operaţiune incompatibilă cu tipul tranzacţiei"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "efectuarea tranzacției așteaptă până baza de date nu va fi blocată"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "pachetul nu poate fi găsit sau citit"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operație abandonată datorită ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "pachet nevalid sau corupt"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "nu poate fi deschis fişierul pachet"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "nu pot fi eliminate toate fişierele din pachet"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "numele de fişier pachet este nevalid"
|
||||
|
||||
#, c-format
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "architectura pachetului este nevalidă"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "depozitul pentru țintă nu poate fi găsit"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "delta invalid sau corupt"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "patch delta eşuat"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "nu pot fi satisfăcute dependenţele"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "dependenţe în conflict"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "fişiere în conflict"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "eşec în refacerea unor fişiere"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "expresie regulară invalidă"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "eroare libarchive"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "eroare în biblioteca de descărcare"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "eroare la invocarea descărcătorului extern"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "eroare neaşteptată"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "nu poate fi găsit %s în baza de date -- se trece peste\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "se elimină '%s' din lista ţintă\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "nu poate fi eliminat fişierul '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "nu se poate elimina intrarea în baza de date %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "nu se poate elimina intrarea '%s' din cache\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: se ignoră actualizarea pachetului (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: se ignoră declasificarea pachetului (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: declasare de la versiunea %s la versiunea %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: (%s) local este mai nou decât %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "se ignoră înlocuirea pachetului (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "nu poate fi înlocuit %s de %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s este actualizat -- se trece peste\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s este actualizat -- se reinstalează\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "se declasează pachetul %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "au fost detectate conflicte nerezolvabile în pachet\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "se elimină '%s' din lista ţintă deoarece este în conflict cu '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "eşec în refacerea unor fişiere din %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nu poate fi efectuată tranzacţia de eliminare\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nu poate fi efectuată tranzacţia\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "nu poate fi eliminat fişierul blocat %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "nu poate fi creat directorul temp\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "nu se poate copia tempfile la %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nu poate fi eliminat tmpdir %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "nu poate fi schimbat directorul la %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "nu se poate diviza un nou proces (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "nu poate fi schimbat directorul root (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "nu poate fi schimbat directorul la / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "cererea către popen a eşuat (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "cererea către waitpid a eşuat (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "executarea corectă a comenzii a eşuat\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "nu există %s cache, se crează...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "nu se poate crea cache pachet, se foloseşte mai degrabă /tmp\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "s-au găsit pachete în conflict în lista ţintă\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "nu puteţi instala două pachete aflate în conflict în acelaşi timp\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "înlocuirea pachetelor cu -U nu este suportată încă\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "puteţi înlocui manual pachetele folosind -Rd şi -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "schemă URL nespecificată, se presupune HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "nu se poate scrie în fişierul '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "nu există astfel de depozit"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "depozit '%s' negăsit\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "nu poate fi creată tranzacţia de eliminare\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "nu poate fi creată tranzacţia\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "nu poate fi iniţializată tranzacţia de eliminare\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "nu poate fi iniţializată tranzacţia\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "nu poate fi pregătită tranzacţia de eliminare\n"
|
||||
@@ -1,77 +1,62 @@
|
||||
# Russian translations for Pacman package manager package.
|
||||
# Copyright (C) 2007 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# <4rayven@gmail.com>, 2007. <serg.partizan@gmail.com> 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.0.0\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-19 19:52+0300\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-06 10:07+0300\n"
|
||||
"Last-Translator: Sergey Tereschenko <serg.partizan@gmail.com>\n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
|
||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "заменяю устаревшую версию %s-%s на %s в списке целей\n"
|
||||
msgstr "заменяется устаревшая версия %s-%s на %s в списке целей\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "пропускается %s-%s, поскольку новая версия %s в списке целей\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "в списке целей найдены конфликтующие пакеты\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "вы не можете установить два конфликтующих пакета одновременно\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "замещение пакетов с использованием опций -A и -U еще не реализовано\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "вы можете заменить пакеты вручную, используя -Rd и -U\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"права доступа различаются у директории %s\n"
|
||||
"права доступа различаются у каталога %s\n"
|
||||
"файловая система: %o пакет: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "извлечение: символическая ссылка %s не указывает на директорию\n"
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "извлечение: не перезаписывается каталог файлом %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "извлечение: не перезаписываю директорию файлом %s\n"
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "извлечение: символическая ссылка %s не указывает на каталог\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "не могу извлечь %s (%s)\n"
|
||||
msgstr "не удалось извлечь %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "не могу переименовать %s в %s (%s)\n"
|
||||
msgstr "не удалось переименовать %s в %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s сохранен как %s\n"
|
||||
msgstr "%s сохранён как %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "не могу установить %s как %s: %s\n"
|
||||
msgstr "не удалось установить %s как %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
@@ -79,11 +64,11 @@ msgstr "%s установлен как %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "извлекаю %s как %s.pacnew\n"
|
||||
msgstr "%s извлекается как %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "не могу определить текущую рабочую директорию\n"
|
||||
msgstr "не удалось определить текущий рабочий каталог\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
@@ -95,19 +80,35 @@ msgstr "обнаружена проблема во время установки
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "не могу обновить в базе данных запись %s-%s\n"
|
||||
msgstr "не удалось обновить в базе данных запись %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "не могу добавить запись '%s' в кэш\n"
|
||||
msgstr "не удалось добавить запись '%s' в кэш\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "не могу удалить из базы данных запись %s%s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "удаление некорректной базы данных %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "не удалось открыть %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "не удалось удалить каталог базы данных %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "не удалось удалить базу данных %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "неправильное имя для записи базы данных '%s'\n"
|
||||
msgstr "неправильное имя для записи в базе данных '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "повторяющаяся запись в базе данных '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
@@ -115,7 +116,7 @@ msgstr "повреждённая запись в базе данных '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "не могу открыть файл %s: %s\n"
|
||||
msgstr "не удалось открыть файл %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
@@ -127,9 +128,13 @@ msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"противоречивая информация в базе данных %s: не совпадает версия пакета %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "не удалось создать каталог %s: (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "не могу проанализировать файл с описанием пакета в %s\n"
|
||||
msgstr "не удалось проанализировать файл с описанием пакета в %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
@@ -145,79 +150,71 @@ msgstr "ошибка при чтении пакета %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "отсутствуют метаданые пакета в %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "попытка перерегистрировать локальную базу данных\n"
|
||||
msgstr "отсутствуют метаданные пакета в %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "путь к базе данных не определён\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "попытка перерегистрировать локальную БД\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "обнаружена циклическая зависимость:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s будет удалён после %s, как зависимость\n"
|
||||
msgstr "%s будет удалён после его зависимости %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s будет установлен перед %s, как зависимость\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "пропуск пакета %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "выбран пакет %s, предоставляющий %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "не удается разрешить \"%s\", зависимость \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "ссылка '%s' недействительна\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "схема ссылки не определена, подразумевается HTTP\n"
|
||||
msgstr "не удалось разрешить \"%s\", зависимость \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "диск"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "ссылка '%s' некорректна\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "не удалось получить файл '%s' из %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "не удалось продолжить закачку, начинаю заново\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "не могу записать в файл '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "ошибка загрузки '%s': %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "не удалось продолжить закачку %s; начинаю заново\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "не могу записать в файл '%s': %s\n"
|
||||
msgstr "ошибка записи в файл '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "не могу изменить директорию на %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "не удалось получить файл '%s' из %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "запуск XferCommand: неудача\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s, видимо, обрезан: %jd/%jd байт\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "не могу загрузить %s\n"
|
||||
msgstr "не удалось загрузить %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
@@ -225,7 +222,7 @@ msgstr "недостаточно памяти!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "неожиданная ошибка"
|
||||
msgstr "неожиданная системная ошибка"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
@@ -233,15 +230,15 @@ msgstr "недостаточно привилегий"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr "не могу найти или прочитать файл"
|
||||
msgstr "не удалось найти или прочитать файл"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "не удается найти или прочитать директорию"
|
||||
msgstr "не удалось найти или прочитать каталог"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "неправильный или нулевой аргумент"
|
||||
msgstr "неправильный или пустой аргумент"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
@@ -253,15 +250,15 @@ msgstr "библиотека уже инициализирована"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
msgstr "не удается заблокировать базу данных"
|
||||
msgstr "не удалось заблокировать базу данных"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open database"
|
||||
msgstr "не удается открыть базу данных"
|
||||
msgstr "не удалось открыть базу данных"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create database"
|
||||
msgstr "не удается создать базу данных"
|
||||
msgstr "не удалось создать базу данных"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
@@ -273,20 +270,24 @@ msgstr "база данных уже зарегистрирована"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
msgstr "не удается найти базу данных"
|
||||
msgstr "не удалось найти базу данных"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database"
|
||||
msgstr "не удается обновить базу данных"
|
||||
msgstr "не удалось обновить базу данных"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "не удается удалить запись в базе данных"
|
||||
msgstr "не удалось удалить запись в базе данных"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "неверный url"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "не настроены сервера для репозитория"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "запрос уже инициализирован"
|
||||
@@ -305,67 +306,59 @@ msgstr "запрос не подготовлен"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "запрос отменён"
|
||||
msgstr "запрос прерван"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "операция не совместима с типом запроса"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "не могу совершить запрос"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "не могу загрузить все файлы"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "попытка завершить запрос без блокировки базы данных"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "не удается найти или прочитать пакет"
|
||||
msgstr "не удалось найти или прочитать пакет"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "операция прервана из-за ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "пакет неправильный или поврежден"
|
||||
msgstr "ошибка или повреждение в пакете"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "не удается открыть файл пакета"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "не удается загрузить данные пакета"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "пекет не установлен или ранней версии"
|
||||
msgstr "не удалось открыть файл пакета"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "не могу удалить все файлы пакета"
|
||||
msgstr "не удалось удалить все файлы пакета"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "неверное имя файла пакета"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "нет такого репозитория"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "архитектура пакета недопустима"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "не удалось репозиторий для цели"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "ошибка или повреждение в дельта-файле"
|
||||
msgstr "ошибка или повреждение в дельте"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "не удалось применить дельта-патч"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "группа не найдена"
|
||||
msgstr "не удалось применить дельту"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "не удается удовлетворить зависимости"
|
||||
msgstr "не удалось удовлетворить зависимости"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
@@ -373,19 +366,11 @@ msgstr "конфликтующие зависимости"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "конфликрующие файлы"
|
||||
msgstr "конфликтующие файлы"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "пользователь прервал операцию"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "внутренняя ошибка"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "не подтверждено"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "не удалось получить некоторые файлы"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -397,7 +382,7 @@ msgstr "ошибка в libarchive"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "ошибка в download library"
|
||||
msgstr "ошибка в библиотеке загрузки"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
@@ -408,48 +393,60 @@ msgid "unexpected error"
|
||||
msgstr "непредвиденная ошибка"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: принудительно обновляю до версии %s\n"
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "не удалось найти %s в базе данных -- пропускается\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "удаление '%s' из списка целей\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "не удалось удалить файл '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "не удалось удалить из базы данных запись %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "не удалось удалить запись '%s' из кэша\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: пропуск обновления пакета (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: пропускается откат пакета (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: откат версии, от %s до %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: установленная версия (%s) новее, чем в %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "не могу найти %s в базе данных -- пропускаю\n"
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "пропускается замена пакета (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "не могу удалить файл '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "не могу удалить из базы данных запись %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "не могу удалить запись '%s' из кеша\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr "%s-%s: игнорирую обновление пакета (он будет заменен на %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: игнорирую обновление пакета (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "репозиторий '%s' не найден\n"
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "не удалось заменить %s на %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s не устарел -- пропускаю\n"
|
||||
msgstr "%s-%s не устарел -- пропускается\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s не устарел -- переустанавливаю\n"
|
||||
msgstr "%s-%s не устарел -- переустанавливается\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "откат версии пакета %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
@@ -457,104 +454,154 @@ msgstr "обнаружен неразрешимый конфликт пакет
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "удаляю '%s' из списка целей, поскольку он конфликтует с '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "комманда: %s\n"
|
||||
msgstr "удаление '%s' из списка целей, поскольку он конфликтует с '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "не удалось получить некоторые файлы с %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "не удалось создать запрос на удаление\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "не удалось инициализировать запрос на удаление\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "не удалось подготовить запрос на удаление\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "не удалось совершить запрос на удаление\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "не удалось создать запрос\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "не удалось инициализировать запрос\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "не удалось подготовить запрос\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "не удалось совершить запрос\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "не могу удалить lock-файл %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "Нету /bin/sh в родительском окружении, отмена скрипта\n"
|
||||
msgstr "не удалось удалить блокировочный файл %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "не удалось создать временную директорию\n"
|
||||
msgstr "не удалось создать временный каталог\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "не могу скопировать временный файл в %s (%s)\n"
|
||||
msgstr "не удалось скопировать временный файл в %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "не удалось удалить временный каталог %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "не удалось изменить директорию на %s (%s)\n"
|
||||
msgstr "не удалось изменить каталог на %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "не не удалось создать новый процесс (%s)\n"
|
||||
msgstr "не удалось создать новый процесс (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "не удалось изменить корневую директорию (%s)\n"
|
||||
msgstr "не удалось изменить корневой каталог (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "не удалось изменить директорию на / (%s)\n"
|
||||
msgstr "не удалось изменить каталог на / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "вызов popen не удался (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "вызов popen не удался (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "вызов waitpid не удался (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "не удалось корректно выполнить скрипт\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "не могу удалить tmpdir %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "не удалось откруть %s: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "не удалось корректно выполнить команду\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "кэш %s не существует, создаю...\n"
|
||||
msgstr "кэш %s не существует, создается...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "не могу создать кэш пакетов, будет использован /tmp\n"
|
||||
msgstr "не удалось создать кэш пакетов, будет использован /tmp\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "в списке целей найдены конфликтующие пакеты\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr ""
|
||||
#~ "вы не можете одновременно установить конфликтующие между собой пакеты\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr ""
|
||||
#~ "замещение пакетов с использованием параметров -A и -U еще не реализовано\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "вы можете заменить пакеты вручную, используя -Rd и -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "схема ссылки не определена, подразумевается HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "не удалось записать в файл '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "нет такого репозитория"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "репозиторий '%s' не найден\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "не удалось создать запрос на удаление\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "не удалось создать запрос\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "не удалось инициализировать запрос на удаление\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "не удалось инициализировать запрос\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "не удалось подготовить запрос на удаление\n"
|
||||
|
||||
#~ msgid "error downloading '%s': %s\n"
|
||||
#~ msgstr "ошибка загрузки '%s': %s\n"
|
||||
|
||||
#~ msgid "could not chdir to %s\n"
|
||||
#~ msgstr "не удалось изменить каталог на %s\n"
|
||||
|
||||
#~ msgid "running XferCommand: fork failed!\n"
|
||||
#~ msgstr "запуск XferCommand: неудача\n"
|
||||
|
||||
#~ msgid "could not commit transaction"
|
||||
#~ msgstr "не удалось совершить запрос"
|
||||
|
||||
#~ msgid "could not download all files"
|
||||
#~ msgstr "не удалось загрузить все файлы"
|
||||
|
||||
#~ msgid "cannot load package data"
|
||||
#~ msgstr "не удалось загрузить данные пакета"
|
||||
|
||||
#~ msgid "package not installed or lesser version"
|
||||
#~ msgstr "пакет не установлен или ранней версии"
|
||||
|
||||
#~ msgid "group not found"
|
||||
#~ msgstr "группа не найдена"
|
||||
|
||||
#~ msgid "user aborted the operation"
|
||||
#~ msgstr "пользователь прервал операцию"
|
||||
|
||||
#~ msgid "internal error"
|
||||
#~ msgstr "внутренняя ошибка"
|
||||
|
||||
#~ msgid "not confirmed"
|
||||
#~ msgstr "не подтверждено"
|
||||
|
||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
#~ msgstr "%s-%s: игнорирую обновление пакета (он будет заменен на %s-%s)\n"
|
||||
|
||||
#~ msgid "command: %s\n"
|
||||
#~ msgstr "команда: %s\n"
|
||||
|
||||
#~ msgid "could not prepare transaction\n"
|
||||
#~ msgstr "не удалось подготовить запрос\n"
|
||||
|
||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
#~ msgstr "Нет /bin/sh в родительском окружении, отмена скрипта\n"
|
||||
|
||||
556
lib/libalpm/po/sv.po
Normal file
556
lib/libalpm/po/sv.po
Normal file
@@ -0,0 +1,556 @@
|
||||
# Swedish translations for Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# <congacx@gmail.com>, 2009.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2009-10-06 21:10+0200\n"
|
||||
"Last-Translator: Christian Larsson <congacx@gmail.com>\n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "ersätter den äldre versionen %s-%s med %s i mållistan\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "hoppar över %s-%s för en nyare version %s finns i mållistan\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"katalogrättigheter skiljer sig på %s\n"
|
||||
"filsystem: %o paket: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "extrahera: ersätter ej katalog med fil %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "extrahera: symbolisk länk %s pekar inte mot en katalog\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "kunde inte extrahera %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kunde inte döpa om %s till %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s sparad som %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "kunde inte installera %s som %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "%s installerad som %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "extraherar %s som %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "kunde inte hitta nuvarande sökväg\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "problem uppstod under uppgraderingen %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "problem uppstod under installationen %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "kunde inte uppdatera databasinlägget %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "kunde inte lägga till '%s' i cachen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "tar bort ogiltig databas: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "kunde inte öppna %s: %s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "kunde inte ta bort databasinlägget %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "kunde inte ta bort databasen %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "ogiltigt namn för databasinlägget '%s'\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "korrupt databasinlägg '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "korrupt databasinlägg '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "kunde inte öppna filen %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s databasen är inkonsekvent: ej matchande namn på paketet %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s databasen är inkonsekvent: ej matchande version på paketet %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "kunde inte skapa katalogen %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "kunde inte analysera paketbeskrivningen i %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "saknar paketnamnet för %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "saknar paketversionen för %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "fel vid läsning av paketet %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "saknar metadata för paketet i %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "sökväg till databasen är odefinierad\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "försöker att återregistrera den 'lokala' DB\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "beroende cykel upptäckt:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s kommer att tas bort efter dess %s beroende\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s kommer installeras före dess %s beroende\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorerar paketet %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "föräldrapaket blev valt (%s tillhandahåller %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "kan inte lösa \"%s\", beroende till \"%s\", \n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' är ogiltigt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "misslyckades hämta filen '%s' från %s : %s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "kan inte återuppta nerladdning, börjar om\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "fel vid skrivning till filen '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "misslyckades hämta filen '%s' från %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s verkar vara trunkerad: %jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "misslyckades ladda ner %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "slut på minne!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "oväntat systemfel"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
msgstr "otillräckliga rättigheter"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr "kunde inte hitta eller läsa filen"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "kunde inte hitta eller läsa katalogen"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "fel eller inga argument angivna"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "bibliotek inte initialiserat"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "bibliotek redan initialiserat"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
msgstr "kunde inte låsa databas"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open database"
|
||||
msgstr "kunde inte öppna databas"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create database"
|
||||
msgstr "kunde inte sakapa databas"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "databas inte initialiserad"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
msgstr "databas redan registrerad"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
msgstr "kunde inte hitta databas"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database"
|
||||
msgstr "kunde inte uppdatera databas"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "kunde inte ta bort databasinlägg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "ogilltigt url för server"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "inga servrar konfigurerade för förrådet"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "överföring redan påbörjad"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "överföring ej påbörjad"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
msgstr "dubbelt mål"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "överföring inte förberedd"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "överföring avbryten"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "operation inte kompatibel med överföringstypen"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "överföringsförsök när databasen inte är låst"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "kunde inte hitta eller förbereda paket"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "operationen avbryten på grund av ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "ogiltigt eller korrupt paket"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "kan inte öppna paketfil"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "kan inte ta bort alla filer för paketet"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "paketnamn är inte giltigt"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "paketnamn är inte giltigt"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "kunde inte hitta eller förbereda paket"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "ogiltig eller korrupt delta"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "delta patch misslyckades"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "kunde inte tillfredställa beroenden"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "motstridiga beroenden"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "motstridiga filer "
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "misslyckades att hämta några filer"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "ogiltigt vanligt uttryck"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "libarchive fel"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "fel vid nerladdning av bibliotek"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "fel vid anrop av extern nerladdare"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "oväntat fel"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "kunde inte hitta %s i databasen -- hoppar över\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "tar bort %s från mållistan\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "kan inte ta bort '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "kunde inte ta bort databasinlägget %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "kunde inte ta bort '%s' från cachen\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s ignorerar uppgradering av paket (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorerar nedgradering av paket (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: nedgraderar från version %s till version %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: lokala (%s) är nyare än %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorerar ersättning av paket (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "kan inte ersätta %s med %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s är senaste versionen -- hoppar över\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s är senaste versionen -- återinstallerar\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "nedgraderar paketet %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "olösliga paketkonflikter upptäckta\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "tar bort '%s' från mållistan då den står i konflikt med '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "misslyckades att hämta vissa filer från %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kunde inte skicka överföring för borttagning\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "kunde inte skicka överföring\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "kunde inte ta bort låsningsfil %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "kunde inte skapa temporär katalog\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "kunde inte kopiera temporär fil till %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "kunde inte ta bort tmpdir %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "kunde inte byta katalog till %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "kunde inte förgrena en ny process (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "kunde inte byta rootkatalogen (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "kunde inte byta katalog till / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "anrop till popen misslyckades (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "anrop till waitpid misslyckades (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "kommando misslyckades att exekveras korrekt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "ingen %s cache existerar, skapar...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "kunde inte skapa paket-cache, använder /tmp istället\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "motstridande paket hittades i mållistan\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "du kan inte installera två motstridiga paket på samma gång\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "erstätta paket med -U stödjs inte än\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "du kan ersätta paket manuellt genom att använda -Rd och -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "url schema inte specifierat, antar HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "kan inte skriva till filen '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "inget sådant förråd"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "förrådet '%s' hittades inte\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "kunde inte skapa överföring för borttagning\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "kunde inte skapa överföring\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "kunde inte påbörja överföring för borttagning\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "kunde inte påbörja överföring\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "kunde inte förbereda överföring för borttagning\n"
|
||||
@@ -1,16 +1,17 @@
|
||||
# Turkish translation for libalpm.
|
||||
# Copyright (C) 2008 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the libalpm package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Samed BEYRİBEY <ras0ir@eventualis.org>, 2008.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 3.1.4-1\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-17 23:14+0200\n"
|
||||
"Last-Translator: Samed BEYRİBEY <ras0ir@eventualis.org>\n"
|
||||
"Language-Team: Turkish Arch Linux Users <tr@archlinuxtr.org>\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-05 00:59+0200\n"
|
||||
"Last-Translator: Samed Beyribey <ras0ir@eventualis.org>\n"
|
||||
"Language-Team: Turkish Arch Linux Users <archlinux@archlinux.org.tr>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -20,24 +21,8 @@ msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "eski sürüm %s-%s hedef listesindeki %s ile değiştiriliyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr "%s-%s yeni sürüm %s hedef listesinde olduğundan atlanıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "hedef listesinde çelişen paketler bulundu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "çelişen iki paketi aynı anda kuramazsınız\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "-A ve -U kullanarak paket değiştirme henüz desteklenmemektedir\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "paketleri -Rd ve -U kullanarak değiştirebilirsiniz\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "%s-%s yeni sürümü %s hedef listesinde olduğundan atlanıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -48,12 +33,12 @@ msgstr ""
|
||||
"dosya sistemi: %o paket: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "aç: %s sembolik bağı dizine yöneltilmemiş\n"
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "aç: %s dosyası dizinin üzerine yazılmıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "aç: dizin %s dosyası ile baştan yazılmıyor\n"
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "aç: %s sembolik bağı dizine yöneltilmemiş\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
@@ -100,12 +85,28 @@ msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "'%s' kaydı tampona eklenemedi\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "%s%s veritabanı kaydı kaldırılamıyor\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "geçersiz veritabanı siliniyor: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "%s açılamadı: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "veritabanı dizini %s silinemedi\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "veritabanı kaldırılamıyor %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "veritabanı kaydı için geçersiz isim '%s'\n"
|
||||
msgstr "geçersiz bir veritabanı kaydı '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "kopya veritabanı kaydı '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
@@ -123,6 +124,10 @@ msgstr "%s veritabanı tutarsız: %s paketinde isim uyuşmazlığı\n"
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s veritabanı tutarsız: %s paketinde sürüm uyuşmazlığı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "dizin oluşturulamadı %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "%s içerisindeki paket açıklama dosyası ayrıştırılamadı\n"
|
||||
@@ -143,14 +148,14 @@ msgstr "%s paketi okunurken hata meydana geldi: %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "%s içerisinde eksik paket bilgisi\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "'yerel' veritabanı tekrar kaydedilmeye çalışılıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "veritabanı yolu belirtilmemiş\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "'yerel' veritabanı tekrar kaydedilmeye çalışılıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "dolaylı bağımlılıklar bulundu:\n"
|
||||
@@ -163,53 +168,45 @@ msgstr "%s paketi %s bağımlılığından sonra kaldırılacak\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s paketi %s bağımlılığından önce kurulacak\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "paket gözardı ediliyor %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "sağlayan paket seçildi ( %s %s'i sağlıyor)\n"
|
||||
msgstr "sağlayan paket seçildi ( %s %s paketini sağlıyor)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "\"%s\" paketi \"%s\" paketinin bağımlılığı olarak çözümlenemiyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "'%s' adresi geçersiz\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "adres şeması belirtilmemiş, http kullanılacak\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "'%s' adresi geçersiz\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "'%s' dosyası %s : %s 'ten alınamadı\n"
|
||||
msgstr "%3$s hatası nedeniyle '%1$s' dosyası %2$s adresinden alınamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "indirmeye devam edilemiyor, baştan başlanıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "'%s' dosyasına yazılamıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "'%s' indirilirken hata oluştu: %s\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "%s için indirme işlemine devam edilemiyor, baştan başlanıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "'%s' dosyasına yazılamıyor: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "%s dizinine geçilemiyor\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "%s dosyası %s adresinden alınamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "XferCommand çalıştırılıyor: çatallanma başarısız!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s eksik görünüyor: %jd/%jd bayt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
@@ -233,11 +230,11 @@ msgstr "dosya bulunamadı veya okunamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "klasör bulunamadı veya okunamadı"
|
||||
msgstr "dizin bulunamadı veya okunamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "eksik ya da geçersiz parametre geçilmiş"
|
||||
msgstr "hatalı ya da BOŞ parametre geçilmiş"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
@@ -245,7 +242,7 @@ msgstr "kütüphane başlatılamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "kütüphane zaten başlatıldı"
|
||||
msgstr "kütüphane zaten başlatılmış"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
@@ -281,7 +278,11 @@ msgstr "veritabanı kaydı kaldırılamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "hatalı sunucu adresi"
|
||||
msgstr "sunucu için geçersiz adres"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "depo için sunucu ayarlanmamış"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
@@ -289,7 +290,7 @@ msgstr "işlem zaten başlatılmış"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "işlem başlatılmamış"
|
||||
msgstr "işlem başlatılmadı"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
@@ -297,7 +298,7 @@ msgstr "birden fazla hedef"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "işlem hazırlanamadı"
|
||||
msgstr "işlem hazırlanmadı"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
@@ -305,20 +306,20 @@ msgstr "işlem iptal edildi"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "operasyon, işlem tipiyle uyumlu değil"
|
||||
msgstr "operasyon, işlem türüyle uyumlu değil"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "işlem teslim edilemiyor"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "tüm dosyalar indirilemedi"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "veritabanı kilitli değil iken işlem girişimi"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "paket bulunamadı veya okunamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "ignorepkg nedeniyle işlem iptal edildi"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "geçersiz veya bozuk paket"
|
||||
@@ -327,14 +328,6 @@ msgstr "geçersiz veya bozuk paket"
|
||||
msgid "cannot open package file"
|
||||
msgstr "paket dosyası açılamıyor"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "paket verisi yüklenemiyor"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "paket kurulamadı ya da önceki sürümü kurulu"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "paketle alakalı tüm dosyalar kaldırılamadı"
|
||||
@@ -344,8 +337,12 @@ msgid "package filename is not valid"
|
||||
msgstr "paket dosya adı geçerli değil"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "depo bulunmuyor"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "paket mimarisi geçerli değil"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "hedef için depo bulunamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
@@ -355,33 +352,21 @@ msgstr "geçersiz ya da bozuk veri"
|
||||
msgid "delta patch failed"
|
||||
msgstr "fark yaması başarısız oldu"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "grup bulunamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "bağımlılıklar sağlanamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "çelişen bağımlılıklar"
|
||||
msgstr "çakışan bağımlılıklar"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "çelişen dosyalar"
|
||||
msgstr "çakışan dosyalar"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "işlem kullanıcı tarafından durduruldu"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "dahili hata"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "onaylanmadı"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "bazı dosyalar alınamadı"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
@@ -393,7 +378,7 @@ msgstr "libarchive hatası"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "kütüphane indirilirken hata oluştu"
|
||||
msgstr "indirme kütüphanesi hatası"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
@@ -403,18 +388,14 @@ msgstr "harici indiriciyi çağırırken hata oluştu"
|
||||
msgid "unexpected error"
|
||||
msgstr "beklenmedik hata"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s: %s sürümüne güncelleniyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: yereldeki paket (%s) %s (%s) paketinden daha güncel\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "%s veritabanında bulunamadı -- atlanıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "%s hedef listesinden kaldırılıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "'%s' dosyası silinemiyor: %s\n"
|
||||
@@ -427,18 +408,30 @@ msgstr "veritabanı kaydı %s-%s silinemedi\n"
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "'%s' kaydı tampondan silinemedi\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr ""
|
||||
"%s-%s: paket güncellemesi göz ardı ediliyor (%s-%s ile değiştirilecek)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: paket güncellemesi göz ardı ediliyor (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "'%s' deposu bulunamadı\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: paket sürümü geri alma işlemi göz ardı ediliyor (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: %s sürümünden %s sürümüne çevriliyor.\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr ""
|
||||
"%s: yerel depodaki paket (%s) %s deposundaki paketten (%s) daha güncel\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "paket değiştirme işlemi göz ardı ediliyor (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "%s ile %s değiştirilemiyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
@@ -448,50 +441,26 @@ msgstr "%s-%s güncel -- atlanıyor\n"
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s güncel -- yeniden kuruluyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "%s paketi eski sürümüne çevriliyor (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "çözülemeyen paket çakışmaları bulundu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' hedef listesinden '%s' ile çeliştiği için kaldırıldı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "komut: %s\n"
|
||||
msgstr "'%s' hedef listesindeki '%s' ile çakıştığı için kaldırıldı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "%s deposundan bazı dosyalar alınamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "kaldırma işlemi oluşturulamıyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "kaldırma işlemi başlatılamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "kaldırma işlemi hazırlanamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kaldırma işlemi teslim edilemedi\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "işlem oluşturulamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "işlem başlatılamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "işlem hazırlanamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "işlem teslim edilemedi\n"
|
||||
@@ -500,10 +469,6 @@ msgstr "işlem teslim edilemedi\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "kilit dosyası %s silinemedi\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "Bir üst ortamda /bin/sh bulunamadı, betik iptal ediliyor\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "geçici dizin oluşturulamadı\n"
|
||||
@@ -512,6 +477,10 @@ msgstr "geçici dizin oluşturulamadı\n"
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "geçici dosya %s üzerine kopyalanamadı (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "geçici dizin %s kaldırılamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "%s dizinine geçilemedi (%s)\n"
|
||||
@@ -526,32 +495,109 @@ msgstr "kök dizini değiştirilemedi (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "/ dizinine gidilemedi (%s)\n"
|
||||
msgstr "/ dizinine geçilemedi (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "popen çağrısı başarısız (%s)"
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "popen çağrısı başarısız (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "waitpid çağrısı başarısız (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "betik düzgün çalıştırılamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "geçici dizin %s kaldırılamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "%s açılamadı: %s\n"
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "komut düzgün çalıştırılamadı\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "%s tamponu bulunmuyor, oluşturuluyor...\n"
|
||||
msgstr "%s önbelleği yok, oluşturuluyor...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "paket tamponu oluşturulamadı, /tmp kullanılacak\n"
|
||||
msgstr "paket önbelleği oluşturulamadı, /tmp kullanılacak\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "hedef listesinde çakışan paketler bulundu\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "çakışan iki paketi aynı anda kuramazsınız\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "-U kullanarak paket değiştirme henüz desteklenmemektedir\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "paketleri -Rd ve -U kullanarak değiştirebilirsiniz\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "adres şeması belirtilmemiş, HTTP kullanılacak\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "'%s' dosyasına yazılamıyor\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "depo bulunmuyor"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "'%s' deposu bulunamadı\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "kaldırma işlemi oluşturulamadı\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "işlem oluşturulamadı\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "kaldırma işlemi başlatılamadı\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "işlem başlatılamadı\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "kaldırma işlemi hazırlanamadı\n"
|
||||
|
||||
#~ msgid "error downloading '%s': %s\n"
|
||||
#~ msgstr "'%s' indirilirken hata oluştu: %s\n"
|
||||
|
||||
#~ msgid "could not chdir to %s\n"
|
||||
#~ msgstr "%s dizinine geçilemiyor\n"
|
||||
|
||||
#~ msgid "running XferCommand: fork failed!\n"
|
||||
#~ msgstr "XferCommand çalıştırılıyor: çatallanma başarısız!\n"
|
||||
|
||||
#~ msgid "could not commit transaction"
|
||||
#~ msgstr "işlem teslim edilemiyor"
|
||||
|
||||
#~ msgid "could not download all files"
|
||||
#~ msgstr "tüm dosyalar indirilemedi"
|
||||
|
||||
#~ msgid "cannot load package data"
|
||||
#~ msgstr "paket verisi yüklenemiyor"
|
||||
|
||||
#~ msgid "package not installed or lesser version"
|
||||
#~ msgstr "paket kurulamadı ya da önceki sürümü kurulu"
|
||||
|
||||
#~ msgid "group not found"
|
||||
#~ msgstr "grup bulunamadı"
|
||||
|
||||
#~ msgid "user aborted the operation"
|
||||
#~ msgstr "işlem kullanıcı tarafından durduruldu"
|
||||
|
||||
#~ msgid "internal error"
|
||||
#~ msgstr "dahili hata"
|
||||
|
||||
#~ msgid "not confirmed"
|
||||
#~ msgstr "onaylanmadı"
|
||||
|
||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
#~ msgstr ""
|
||||
#~ "%s-%s: paket güncellemesi göz ardı ediliyor (%s-%s ile değiştirilecek)\n"
|
||||
|
||||
#~ msgid "command: %s\n"
|
||||
#~ msgstr "komut: %s\n"
|
||||
|
||||
#~ msgid "could not prepare transaction\n"
|
||||
#~ msgstr "işlem hazırlanamadı\n"
|
||||
|
||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
#~ msgstr "Bir üst ortamda /bin/sh bulunamadı, betik iptal ediliyor\n"
|
||||
|
||||
604
lib/libalpm/po/uk.po
Normal file
604
lib/libalpm/po/uk.po
Normal file
@@ -0,0 +1,604 @@
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# Ivan Kovnatsky <sevenfourk@gmail.com>, 2008.
|
||||
# Roman Kyrylych <roman@archlinux.org>, 2008, 2009, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-13 20:08+0300\n"
|
||||
"Last-Translator: Roman Kyrylych <roman@archlinux.org>\n"
|
||||
"Language-Team: Ukrainian (archlinux.org.ua) <>\n"
|
||||
"Language: uk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Ukrainian\n"
|
||||
"X-Poedit-Country: UKRAINE\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "старіша версія %s-%s замінюється на %s в цільовому списку пакунків\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr ""
|
||||
"%s-%s пропускається, бо в списку цільових пакунків є новіша версія %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"права каталога відрізняються на\n"
|
||||
"файловій системі %s: %o пакунок: %o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "розпакування: каталог не було перезаписано файлом %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "розпакування: символьне посилання %s не вказує на каталог\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "неможливо розпакувати %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "неможливо перейменувати %s на %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s збережено як %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "неможливо встановити %s як %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "%s встановлено як %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "розпакування %s як %s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "неможливо отримати поточний робочий каталог\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "з'явилась проблема при оновленні %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "з'явилась проблема при встановленні %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "неможливо оновити запис бази даних %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "неможливо додати запис '%s' у кеш\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "вилучення невірної бази даних: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "неможливо відкрити %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "неможливо вилучити запис бази даних %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "неможливо вилучити базу даних %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "невірне ім'я для запису бази даних '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "дублікат у базі даних '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "пошкоджений запис у базі даних '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "неможливо відкрити файл %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "база даних %s неоднорідна: неспівпадіння назви для пакунка %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "база даних %s неоднорідна: неспівпадіння версій для пакунка %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "неможливо створити каталог %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "неможливо розібрати файл опису пакунка %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "бракує імені пакунку в %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "бракує версії пакунку в %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "помилка при читанні пакунку %s: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "бракує метаданих пакунку в %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "шлях до бази даних не вказано\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "спроба перереєструвати базу даних 'local'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "виявлено цикл залежностей:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s буде вилучено після його залежності %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s буде встановлено перед його %s залежністю\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ігнорування пакунка %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "був вибраний пакунок %s, що забезпечує %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "неможливо розв'язати \"%s\", залежність \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "диск"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "посилання '%s' невірне\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "не вдалося отримати файл '%s' з %s : %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "неможливо продовжити завантаження %s; починається з початку\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "помилка при запису до файлу '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "не вдалося отримати файл '%s' з %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "здається %s обрізаний: %jd/%jd байтів\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "не вдалося завантажити %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "не вистачає пам'яті!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "неочікувана системна помилка"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
msgstr "недостатньо прав"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read file"
|
||||
msgstr "неможливо знайти чи прочитати файл"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read directory"
|
||||
msgstr "неможливо знайти чи прочитати каталог"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "передано невірний аргумент чи NULL"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "бібліотека не ініціалізована"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "бібліотека вже ініціалізована"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to lock database"
|
||||
msgstr "неможливо заблокувати базу даних"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open database"
|
||||
msgstr "неможливо відкрити базу даних"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create database"
|
||||
msgstr "неможливо створити базу даних"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "база даних не ініціалізована"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
msgstr "база даних вже зареєстрована"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find database"
|
||||
msgstr "неможливо знайти базу даних"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database"
|
||||
msgstr "неможливо оновити базу даних"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "неможливо вилучити запис з бази даних"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "невірне посилання чи сервер"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "для репозиторія не налаштовано жодного сервера"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "транзакція вже ініціалізована"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "транзакція не ініціалізована"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
msgstr "продубльований цільовий пакунок"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not prepared"
|
||||
msgstr "транзакція не підготовлена"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction aborted"
|
||||
msgstr "транзакцію перервано"
|
||||
|
||||
#, c-format
|
||||
msgid "operation not compatible with the transaction type"
|
||||
msgstr "операція несумісна з типом транзакції"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "спроба здійснити транзакцію в той час як база даних не є замкненою"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "неможливо знайти чи прочитати пакунок"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "операцію відмінено через ignorepkg"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "невірний чи пошкоджений пакунок"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot open package file"
|
||||
msgstr "неможливо відкрити файл пакунку"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "неможливо вилучити всі файли для пакунку"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "ім'я файлу пакунку невірне"
|
||||
|
||||
#, c-format
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "архітектура пакунку невірна"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "неможливо знайти репозиторій з пакунком"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "невірний чи пошкоджений дельта-патч"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "накладення дельта-патчу невдале"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "неможливо забезпечити залежності"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "конфліктуючі залежності"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "конфліктуючі файли"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "не вдалося отримати деякі файли"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "невірний регулярний вираз"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "помилка libarchive"
|
||||
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "помилка бібліотеки завантаження"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "помилка виклику зовнішнього завантажувача"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "неочікувана помилка"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "неможливо знайти %s в базі даних -- пропускається\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "вилучення '%s' зі списку пакунків\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "неможливо вилучити файл '%s': %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "неможливо вилучити запис бази даних %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "неможливо вилучити запис '%s' з кешу\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ігнорування оновлення пакунку (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ігнорування пониження версії пакунка (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: пониження версії з %s до %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: локальна версія (%s) новіша за %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ігнорування заміни пакунка (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "неможливо замінити %s на %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s не потребує оновлення -- пропущено\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s не потребує оновлення -- перевстановлюється\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "пониження версії пакунку %s (%s => %s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "виявлені нерозв'язні конфлікти пакунків\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "вилучення '%s' з списку пакунків, бо він конфліктує з '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "не вдалося отримати деякі файли з %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "неможливо здійснити транзакцію вилучення\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "неможливо здійснити транзакцію\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "неможливо вилучити файл блокування %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "неиожливо створити тимчасовий каталог\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "неможливо скопіювати тимчасовий файл до %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "неможливо вилучити тимчасовий каталог %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "неможливо змінити каталог на %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "неможливо почати новий процес (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "неможливо змінити кореневий каталог (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "неможливо змінити каталог на / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "виклик popen невдалий (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "виклик waitpid невдалий (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "команда не змогла виконатися коректно\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "кеш %s не існує, створюється...\n"
|
||||
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "неможливо створити кеш пакунку, використовуватиметься /tmp\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "в списку цільових пакунків були знайдені конфліктуючі пакунки\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "ви не можете одночасно встановити два пакунки, що конфліктують\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "заміна пакунків за допомогою -U поки-що не підтримується\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "ви можете власноруч замінити пакунки використавши -Rd та -U\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "протокол посилання не вказано, вважається HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "неможливо писати у файл '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "немає такого репозиторію"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "репозиторій '%s' не знайдено\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "неможливо створити транзакцію вилучення\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "неможливо створити транзакцію\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "неможливо почати транзакцію вилучення\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "неможливо почати транзакцію\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "неможливо підготувати транзакцію вилучення\n"
|
||||
|
||||
#~ msgid "error downloading '%s': %s\n"
|
||||
#~ msgstr "помилка при завантаженні '%s': %s\n"
|
||||
|
||||
#~ msgid "could not chdir to %s\n"
|
||||
#~ msgstr "неможливо змінити каталог на %s\n"
|
||||
|
||||
#~ msgid "running XferCommand: fork failed!\n"
|
||||
#~ msgstr "виконання XferCommand: старт процесу невдалий!\n"
|
||||
|
||||
#~ msgid "could not commit transaction"
|
||||
#~ msgstr "неможливо здійснити транзакцію"
|
||||
|
||||
#~ msgid "could not download all files"
|
||||
#~ msgstr "неможиво завантажити усі файли"
|
||||
|
||||
#~ msgid "cannot load package data"
|
||||
#~ msgstr "неможливо завантажити дані пакунку"
|
||||
|
||||
#~ msgid "package not installed or lesser version"
|
||||
#~ msgstr "пакунок не встановлено, або існує старіша версія"
|
||||
|
||||
#~ msgid "group not found"
|
||||
#~ msgstr "група не знадена"
|
||||
|
||||
#~ msgid "user aborted the operation"
|
||||
#~ msgstr "користувач перервав операцію"
|
||||
|
||||
#~ msgid "internal error"
|
||||
#~ msgstr "внутрішня помилка"
|
||||
|
||||
#~ msgid "not confirmed"
|
||||
#~ msgstr "не підтверджено"
|
||||
|
||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
#~ msgstr "%s-%s: ігнорування поновлення пакунку (буде замінено на %s-%s)\n"
|
||||
|
||||
#~ msgid "command: %s\n"
|
||||
#~ msgstr "команда: %s\n"
|
||||
|
||||
#~ msgid "could not prepare transaction\n"
|
||||
#~ msgstr "неможливо підготувати транзакцію\n"
|
||||
|
||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
#~ msgstr ""
|
||||
#~ "В батьківському середовищі немає /bin/sh, переривання скрипту виконання\n"
|
||||
@@ -1,85 +1,70 @@
|
||||
# Chinese/Simplified translation of Pacman package manager package.
|
||||
# Copyright (C) 2008 Judd Vinet <jvinet@zeroflux.org>
|
||||
# This file is distributed under the same license as the Pacman package manager package.
|
||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the pacman package manager package.
|
||||
# 甘露(Lu.Gan) <rhythm.gan@gmail.com>, 2008.
|
||||
#
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Pacman package manager 3.1.2\n"
|
||||
"Project-Id-Version: Pacman package manager 3.3.1\n"
|
||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
|
||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
|
||||
"PO-Revision-Date: 2008-07-17 23:01+0200\n"
|
||||
"Last-Translator: 甘露(Lu Gan) <rhythm.gan@gmail.com>\n"
|
||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
|
||||
"PO-Revision-Date: 2010-06-05 10:41+0700\n"
|
||||
"Last-Translator: 甘露(Gan Lu) <rhythm.gan@gmail.com>\n"
|
||||
"Language-Team: Chinese/Simplified <i18n-translation@lists.linux.net.cn>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing older version %s-%s by %s in target list\n"
|
||||
msgstr "正在替换老版本 %s-%s 通过在目标清单中的%s\n"
|
||||
msgstr "正在用目标清单中的 %3$s 替换老版本 %1$s-%2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
|
||||
msgstr "跳过 %s-%s,因为较新版本的 %s 在目标清单中\n"
|
||||
|
||||
#, c-format
|
||||
msgid "conflicting packages were found in the target list\n"
|
||||
msgstr "目标清单中发现有冲突的软件包\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you cannot install two conflicting packages at the same time\n"
|
||||
msgstr "你不能同时安装有冲突的两个软件包\n"
|
||||
|
||||
#, c-format
|
||||
msgid "replacing packages with -U is not supported yet\n"
|
||||
msgstr "正在覆盖软件包, -U 目前尚不支持\n"
|
||||
|
||||
#, c-format
|
||||
msgid "you can replace packages manually using -Rd and -U\n"
|
||||
msgstr "你可以使用 -Rd 及 -U 来手动替代软件包\n"
|
||||
msgid "skipping %s-%s because newer version %s is in target list\n"
|
||||
msgstr "正在跳过 %1$s-%2$s,因为较新版本的 %3$s 在目标清单中\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"目录权限不一致 %s\n"
|
||||
"文件系统:%o 软件包:%o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "解压缩:链接 %s 没有指向目录\n"
|
||||
"目录权限不一致 %1$s\n"
|
||||
"文件系统:%2$o 软件包:%3$o\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "解压缩:没有用 %s 覆盖目录\n"
|
||||
msgstr "解压缩:没有用文件 %s 覆盖目录\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extract: symlink %s does not point to dir\n"
|
||||
msgstr "解压缩:符号链接 %s 没有指向目录\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "无法解压缩 %s (%s)\n"
|
||||
msgstr "无法解压缩 %1$s (%2$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "无法重命名 %s 为 %s (%s)\n"
|
||||
msgstr "无法将 %1$s 重命名为 %2$s (%3$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s saved as %s\n"
|
||||
msgstr "%s 已另存为 %s\n"
|
||||
msgstr "%1$s 已另存为 %2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not install %s as %s (%s)\n"
|
||||
msgstr "无法安装 %s 作为 %s (%s)\n"
|
||||
msgstr "无法将 %1$s 安装为 %2$s (%3$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s installed as %s\n"
|
||||
msgstr "%s 已作为 %s 安装\n"
|
||||
msgstr "%1$s 已安装为 %2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "extracting %s as %s.pacnew\n"
|
||||
msgstr "正在解压缩 %s 作为 %s.pacnew\n"
|
||||
msgstr "正在解压缩 %1$s 为 %2$s.pacnew\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
@@ -95,39 +80,59 @@ msgstr "安装 %s 时出现错误\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "无法更新数据库记录 %s-%s\n"
|
||||
msgstr "无法更新数据库记录 %1$s-%2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "无法在缓存中添加记录 '%s' \n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s%s\n"
|
||||
msgstr "无法删除数据库记录 %s%s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "正在删除无效的数据库: %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "无法打开 %1$s: %2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database directory %s\n"
|
||||
msgstr "无法删除数据库目录 %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database %s\n"
|
||||
msgstr "无法删除数据库 %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "数据库记录 '%s' 名字无效\n"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "重复的数据库记录 '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "损坏的数据库记录 '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "无法打开文件 %s: %s\n"
|
||||
msgstr "无法打开文件 %1$s: %2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s 数据库不一致:名字和软件包中的 %s 不一致\n"
|
||||
msgstr "%1$s 数据库不一致:名字和软件包中的 %2$s 不一致\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s 数据库不一致:版本和软件包中的 %s 不一致\n"
|
||||
msgstr "%1$s 数据库不一致:版本和软件包中的 %2$s 不一致\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "无法更改目录到 %1$s:%2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "无法分析 %s 中的软件包描述文件\n"
|
||||
msgstr "无法解析 %s 中的软件包描述文件\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
@@ -139,91 +144,83 @@ msgstr "%s 中缺少软件包版本号\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "读取软件包%s: %s发生错误\n"
|
||||
msgstr "读取软件包 %1$s 发生错误: %2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "%s 中缺少软件包元数据\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "数据库路径未定义\n"
|
||||
|
||||
#, c-format
|
||||
msgid "attempt to re-register the 'local' DB\n"
|
||||
msgstr "尝试重新登记“本地”数据库\n"
|
||||
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "没有指定数据库路径\n"
|
||||
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "探测到依赖关系循环:\n"
|
||||
msgstr "检测到依赖关系环:\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s 将在它 %s 的依赖关系之后被删除\n"
|
||||
msgstr "%1$s 将在它 %2$s 的依赖关系之后被删除\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s 将在它 %s 的依赖关系之前被安装\n"
|
||||
msgstr "%1$s 将在它 %2$s 的依赖关系之前被安装\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "正在忽略软件包更新 %s-%s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "provider package was selected (%s provides %s)\n"
|
||||
msgstr "已选定提供软件包 (%s 提供 %s)\n"
|
||||
msgstr "已选定提供软件包 (%1$s 提供 %2$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "无法解决 \"%s\",\"%s\" 的依赖关系\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url %s' 无效\n"
|
||||
|
||||
#, c-format
|
||||
msgid "url scheme not specified, assuming HTTP\n"
|
||||
msgstr "url 结构没有指定,假定为 HTTP\n"
|
||||
msgstr "无法解决 \"%1$s\",\"%2$s\" 的一个依赖关系\n"
|
||||
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "硬盘"
|
||||
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' 无效\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "无法从 %s : %s 获取文件 '%s' \n"
|
||||
msgstr "无法从 %2$s : %3$s 获取文件 '%1$s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot resume download, starting over\n"
|
||||
msgstr "无法恢复下载,重新开始\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot write to file '%s'\n"
|
||||
msgstr "无法写入文件 '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error downloading '%s': %s\n"
|
||||
msgstr "下载 '%s': %s 时出错\n"
|
||||
msgid "resuming download of %s not possible; starting over\n"
|
||||
msgstr "无法恢复下载 %s;正在重新开始\n"
|
||||
|
||||
#, c-format
|
||||
msgid "error writing to file '%s': %s\n"
|
||||
msgstr "写入文件 '%s': %s 时出错\n"
|
||||
msgstr "写入文件 '%1$s' 时出错: %2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not chdir to %s\n"
|
||||
msgstr "无法改变目录到 %s\n"
|
||||
msgid "failed retrieving file '%s' from %s\n"
|
||||
msgstr "无法从 %2$s 获取文件 '%1$s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "running XferCommand: fork failed!\n"
|
||||
msgstr "运行 XferCommand:分支失败!\n"
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s 可缩小:%jd/%jd bytes\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "下载%s失败\n"
|
||||
msgstr "下载 %s 失败\n"
|
||||
|
||||
#, c-format
|
||||
msgid "out of memory!"
|
||||
msgstr "没有内存可用!"
|
||||
msgstr "内存不足!"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected system error"
|
||||
msgstr "未预计的系统错误"
|
||||
msgstr "未预期的系统错误"
|
||||
|
||||
#, c-format
|
||||
msgid "insufficient privileges"
|
||||
@@ -239,11 +236,11 @@ msgstr "无法找到或读取目录"
|
||||
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr "传递了错误的或空的参数"
|
||||
msgstr "传递了错误的或 NULL 参数"
|
||||
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "无法初始化函数库"
|
||||
msgstr "函数库未初始化"
|
||||
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
@@ -263,7 +260,7 @@ msgstr "无法创建数据库"
|
||||
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "数据库无法初始化"
|
||||
msgstr "数据库未初始化"
|
||||
|
||||
#, c-format
|
||||
msgid "database already registered"
|
||||
@@ -283,7 +280,11 @@ msgstr "无法删除数据库记录"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid url for server"
|
||||
msgstr "无效的服务器url"
|
||||
msgstr "无效的服务器 url"
|
||||
|
||||
#, c-format
|
||||
msgid "no servers configured for repository"
|
||||
msgstr "软件库没有配置服务器信息"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
@@ -291,7 +292,7 @@ msgstr "处理已初始化"
|
||||
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "处理无法初始化"
|
||||
msgstr "处理未初始化"
|
||||
|
||||
#, c-format
|
||||
msgid "duplicate target"
|
||||
@@ -310,17 +311,17 @@ msgid "operation not compatible with the transaction type"
|
||||
msgstr "操作与处理类型不兼容"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction"
|
||||
msgstr "无法交付处理"
|
||||
|
||||
#, c-format
|
||||
msgid "could not download all files"
|
||||
msgstr "无法下载全部文件"
|
||||
msgid "transaction commit attempt when database is not locked"
|
||||
msgstr "未锁定数据库即提交了事务处理尝试"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find or read package"
|
||||
msgstr "无法找到或读取软件包"
|
||||
|
||||
#, c-format
|
||||
msgid "operation cancelled due to ignorepkg"
|
||||
msgstr "由于 ignorepkg 指定,操作已取消"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted package"
|
||||
msgstr "无效的或已损坏的软件包"
|
||||
@@ -329,38 +330,30 @@ msgstr "无效的或已损坏的软件包"
|
||||
msgid "cannot open package file"
|
||||
msgstr "无法打开软件包文件"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot load package data"
|
||||
msgstr "无法加载软件包数据"
|
||||
|
||||
#, c-format
|
||||
msgid "package not installed or lesser version"
|
||||
msgstr "软件包没有安装或版本较低"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "无法删除软件包全部文件"
|
||||
msgstr "无法为软件包删除全部文件"
|
||||
|
||||
#, c-format
|
||||
msgid "package filename is not valid"
|
||||
msgstr "软件包文件名无效"
|
||||
|
||||
#, c-format
|
||||
msgid "no such repository"
|
||||
msgstr "没有该软件库"
|
||||
msgid "package architecture is not valid"
|
||||
msgstr "无效的软件包架构"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find repository for target"
|
||||
msgstr "无法为目标找到软件库"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "无效的或已损坏的 delta 包"
|
||||
msgstr "无效的或已损坏的 delta"
|
||||
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "delta 补丁失败"
|
||||
|
||||
#, c-format
|
||||
msgid "group not found"
|
||||
msgstr "没有找到软件包组"
|
||||
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "无法满足依赖关系"
|
||||
@@ -374,20 +367,12 @@ msgid "conflicting files"
|
||||
msgstr "有冲突的文件"
|
||||
|
||||
#, c-format
|
||||
msgid "user aborted the operation"
|
||||
msgstr "用户中断操作"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error"
|
||||
msgstr "内部错误"
|
||||
|
||||
#, c-format
|
||||
msgid "not confirmed"
|
||||
msgstr "不能确认"
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "无法获取某些文件"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "无效的常规表达式"
|
||||
msgstr "无效的正则表达式"
|
||||
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
@@ -399,99 +384,83 @@ msgstr "下载函数库出错"
|
||||
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "激活外部下载程序时出现错误"
|
||||
msgstr "调用外部下载程序时出错"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "未预期的错误"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: forcing upgrade to version %s\n"
|
||||
msgstr "%s:强制更新至版本 %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s:本地(%s)比 %s 的版本更新(%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "无法在数据库中找到 %s -- 跳过\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "正在从目标清单中删除 '%s' \n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "无法删除文件 '%s': %s\n"
|
||||
msgstr "无法删除文件 '%1$s': %2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "无法删除数据库记录 %s-%s\n"
|
||||
msgstr "无法删除数据库记录 %1$s-%2$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "无法从缓存中删除记录 '%s'\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
msgstr "%s-%s:忽略软件包更新(由%s-%s替代)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s:忽略软件包更新(%s => %s)\n"
|
||||
msgstr "%1$s:忽略软件包更新(%2$s => %3$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "repository '%s' not found\n"
|
||||
msgstr "没有找到软件库 '%s'\n"
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%1$s:正在忽略软件包经济(%2$s => %3$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s:正在从版本 %s 降级为 %s \n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%1$s:本地(%2$s)比 %3$s 的版本更新 (%4$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "正在忽略软件包更新 (%s-%s => %s-%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "无法用文件 '%2$s' 替代 %1$s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s 已经为最新 -- 跳过\n"
|
||||
msgstr "%1$s-%2$s 已经为最新 -- 跳过\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s 已经为最新 -- 重新安装\n"
|
||||
msgstr "%1$s-%2$s 已经为最新 -- 重新安装\n"
|
||||
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "正在降级软件包 %1$s (%2$s => %3$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "探测到无法解决的软件包冲突\n"
|
||||
msgstr "检测到未解决的软件包冲突\n"
|
||||
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "正在从目标清单中删除 '%s' ,因为它和 '%s' 有冲突\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command: %s\n"
|
||||
msgstr "命令:%s\n"
|
||||
msgstr "正在从目标清单中删除 '%1$s' ,因为它和 '%2$s' 冲突\n"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files from %s\n"
|
||||
msgstr "某些文件无法从%s取回\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create removal transaction\n"
|
||||
msgstr "无法生成可删除处理\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize the removal transaction\n"
|
||||
msgstr "无法初始化可删除处理\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare removal transaction\n"
|
||||
msgstr "无法准备可删除处理\n"
|
||||
msgstr "无法从 %s 获取某些文件\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "无法交付可删除处理\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create transaction\n"
|
||||
msgstr "无法创建处理\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not initialize transaction\n"
|
||||
msgstr "无法初始化处理\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not prepare transaction\n"
|
||||
msgstr "无法准备处理\n"
|
||||
msgstr "无法交付可撤销处理\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
@@ -501,53 +470,45 @@ msgstr "无法交付处理\n"
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "无法删除锁定文件 %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
msgstr "父环境中没有 /bin/sh,正在中断脚本\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "无法创建临时目录\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "无法复制临时文件到 %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "无法更改目录到 %s (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "无法分支新进程(%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "无法更改根目录(%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "无法更改目录到/ (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)"
|
||||
msgstr "调用 popen 失败(%s)"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "调用 waitpid 失败(%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "scriptlet failed to execute correctly\n"
|
||||
msgstr "脚本没有被正确执行\n"
|
||||
msgstr "无法复制临时文件到 %1$s (%2$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "无法删除临时目录%s\n"
|
||||
msgstr "无法删除临时目录 %s\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not open %s: %s\n"
|
||||
msgstr "无法打开 %s: %s\n"
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "无法更改目录到 %1$s (%2$s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "无法 fork 新进程 (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "无法更改根目录 (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "could not change directory to / (%s)\n"
|
||||
msgstr "无法切换目录到 / (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to popen failed (%s)\n"
|
||||
msgstr "调用 popen 失败 (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "调用 waitpid 失败 (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "命令未能被正确执行\n"
|
||||
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
@@ -556,3 +517,87 @@ msgstr "没有 %s 缓存存在,正在创建...\n"
|
||||
#, c-format
|
||||
msgid "couldn't create package cache, using /tmp instead\n"
|
||||
msgstr "无法创建软件包缓存,正在使用 /tmp 代替\n"
|
||||
|
||||
#~ msgid "conflicting packages were found in target list\n"
|
||||
#~ msgstr "目标清单中发现有冲突的软件包\n"
|
||||
|
||||
#~ msgid "you cannot install two conflicting packages at the same time\n"
|
||||
#~ msgstr "你不能同时安装有冲突的两个软件包\n"
|
||||
|
||||
#~ msgid "replacing packages with -U is not supported yet\n"
|
||||
#~ msgstr "目前尚不支持用 -U 参数替换软件包\n"
|
||||
|
||||
#~ msgid "you can replace packages manually using -Rd and -U\n"
|
||||
#~ msgstr "你可以使用 -Rd 及 -U 来手动替换软件包\n"
|
||||
|
||||
#~ msgid "url scheme not specified, assuming HTTP\n"
|
||||
#~ msgstr "url scheme 未指定,假定为 HTTP\n"
|
||||
|
||||
#~ msgid "cannot write to file '%s'\n"
|
||||
#~ msgstr "无法写入文件 '%s'\n"
|
||||
|
||||
#~ msgid "no such repository"
|
||||
#~ msgstr "没有该软件库"
|
||||
|
||||
#~ msgid "repository '%s' not found\n"
|
||||
#~ msgstr "没有找到软件库 '%s'\n"
|
||||
|
||||
#~ msgid "could not create removal transaction\n"
|
||||
#~ msgstr "无法生成可撤销处理\n"
|
||||
|
||||
#~ msgid "could not create transaction\n"
|
||||
#~ msgstr "无法创建处理\n"
|
||||
|
||||
#~ msgid "could not initialize the removal transaction\n"
|
||||
#~ msgstr "无法初始化可撤销处理\n"
|
||||
|
||||
#~ msgid "could not initialize transaction\n"
|
||||
#~ msgstr "无法初始化处理\n"
|
||||
|
||||
#~ msgid "could not prepare removal transaction\n"
|
||||
#~ msgstr "无法准备可撤销处理\n"
|
||||
|
||||
#~ msgid "error downloading '%s': %s\n"
|
||||
#~ msgstr "下载 '%1$s' 时出错: %2$s\n"
|
||||
|
||||
#~ msgid "could not chdir to %s\n"
|
||||
#~ msgstr "无法切换目录到 %s\n"
|
||||
|
||||
#~ msgid "running XferCommand: fork failed!\n"
|
||||
#~ msgstr "正在运行 XferCommand:fork 失败!\n"
|
||||
|
||||
#~ msgid "could not commit transaction"
|
||||
#~ msgstr "无法交付处理"
|
||||
|
||||
#~ msgid "could not download all files"
|
||||
#~ msgstr "无法下载全部文件"
|
||||
|
||||
#~ msgid "cannot load package data"
|
||||
#~ msgstr "无法加载软件包数据"
|
||||
|
||||
#~ msgid "package not installed or lesser version"
|
||||
#~ msgstr "软件包没有安装或版本较低"
|
||||
|
||||
#~ msgid "group not found"
|
||||
#~ msgstr "没有找到软件包组"
|
||||
|
||||
#~ msgid "user aborted the operation"
|
||||
#~ msgstr "用户中断了操作"
|
||||
|
||||
#~ msgid "internal error"
|
||||
#~ msgstr "内部错误"
|
||||
|
||||
#~ msgid "not confirmed"
|
||||
#~ msgstr "未确认"
|
||||
|
||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
|
||||
#~ msgstr "%1$s-%2$s:忽略软件包更新(由 %3$s-%4$s 替代)\n"
|
||||
|
||||
#~ msgid "command: %s\n"
|
||||
#~ msgstr "命令:%s\n"
|
||||
|
||||
#~ msgid "could not prepare transaction\n"
|
||||
#~ msgstr "无法准备处理\n"
|
||||
|
||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
|
||||
#~ msgstr "父环境中没有 /bin/sh,正在中断小脚本\n"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* remove.c
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
* Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
|
||||
@@ -46,38 +47,46 @@
|
||||
#include "handle.h"
|
||||
#include "alpm.h"
|
||||
|
||||
int _alpm_remove_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
|
||||
int SYMEXPORT alpm_remove_target(char *target)
|
||||
{
|
||||
pmpkg_t *info;
|
||||
pmtrans_t *trans;
|
||||
pmdb_t *db_local;
|
||||
alpm_list_t *p;
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
|
||||
/* Sanity checks */
|
||||
ASSERT(target != NULL && strlen(target) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1));
|
||||
ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
|
||||
trans = handle->trans;
|
||||
db_local = handle->db_local;
|
||||
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
ASSERT(name != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
|
||||
ASSERT(trans->state == STATE_INITIALIZED, RET_ERR(PM_ERR_TRANS_NOT_INITIALIZED, -1));
|
||||
ASSERT(db_local != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
|
||||
|
||||
if(_alpm_pkg_find(trans->packages, name)) {
|
||||
|
||||
if(_alpm_pkg_find(trans->remove, target)) {
|
||||
RET_ERR(PM_ERR_TRANS_DUP_TARGET, -1);
|
||||
}
|
||||
|
||||
if((info = _alpm_db_get_pkgfromcache(db, name)) == NULL) {
|
||||
_alpm_log(PM_LOG_DEBUG, "could not find %s in database\n", name);
|
||||
if((info = _alpm_db_get_pkgfromcache(db_local, target)) != NULL) {
|
||||
_alpm_log(PM_LOG_DEBUG, "adding %s in the target list\n", info->name);
|
||||
trans->remove = alpm_list_add(trans->remove, _alpm_pkg_dup(info));
|
||||
return(0);
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "could not find %s in database\n", target);
|
||||
pmgrp_t *grp = alpm_db_readgrp(db_local, target);
|
||||
if(grp == NULL) {
|
||||
RET_ERR(PM_ERR_PKG_NOT_FOUND, -1);
|
||||
}
|
||||
|
||||
/* ignore holdpkgs on upgrade */
|
||||
if((trans == handle->trans)
|
||||
&& alpm_list_find_str(handle->holdpkg, info->name)) {
|
||||
int resp = 0;
|
||||
QUESTION(trans, PM_TRANS_CONV_REMOVE_HOLDPKG, info, NULL, NULL, &resp);
|
||||
if(!resp) {
|
||||
RET_ERR(PM_ERR_PKG_HOLD, -1);
|
||||
}
|
||||
for(p = alpm_grp_get_pkgs(grp); p; p = alpm_list_next(p)) {
|
||||
pmpkg_t *pkg = alpm_list_getdata(p);
|
||||
_alpm_log(PM_LOG_DEBUG, "adding %s in the target list\n", pkg->name);
|
||||
trans->remove = alpm_list_add(trans->remove, _alpm_pkg_dup(pkg));
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "adding %s in the targets list\n", info->name);
|
||||
trans->packages = alpm_list_add(trans->packages, _alpm_pkg_dup(info));
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -92,10 +101,10 @@ static void remove_prepare_cascade(pmtrans_t *trans, pmdb_t *db,
|
||||
pmdepmissing_t *miss = (pmdepmissing_t *)i->data;
|
||||
pmpkg_t *info = _alpm_db_get_pkgfromcache(db, miss->target);
|
||||
if(info) {
|
||||
if(!_alpm_pkg_find(trans->packages, alpm_pkg_get_name(info))) {
|
||||
_alpm_log(PM_LOG_DEBUG, "pulling %s in the targets list\n",
|
||||
if(!_alpm_pkg_find(trans->remove, alpm_pkg_get_name(info))) {
|
||||
_alpm_log(PM_LOG_DEBUG, "pulling %s in target list\n",
|
||||
alpm_pkg_get_name(info));
|
||||
trans->packages = alpm_list_add(trans->packages, _alpm_pkg_dup(info));
|
||||
trans->remove = alpm_list_add(trans->remove, _alpm_pkg_dup(info));
|
||||
}
|
||||
} else {
|
||||
_alpm_log(PM_LOG_ERROR, _("could not find %s in database -- skipping\n"),
|
||||
@@ -104,7 +113,7 @@ static void remove_prepare_cascade(pmtrans_t *trans, pmdb_t *db,
|
||||
}
|
||||
alpm_list_free_inner(lp, (alpm_list_fn_free)_alpm_depmiss_free);
|
||||
alpm_list_free(lp);
|
||||
lp = alpm_checkdeps(db, 1, trans->packages, NULL);
|
||||
lp = alpm_checkdeps(_alpm_db_get_pkgcache(db), 1, trans->remove, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,28 +122,28 @@ static void remove_prepare_keep_needed(pmtrans_t *trans, pmdb_t *db,
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
/* Remove needed packages (which break dependencies) from the target list */
|
||||
/* Remove needed packages (which break dependencies) from target list */
|
||||
while(lp != NULL) {
|
||||
alpm_list_t *i;
|
||||
for(i = lp; i; i = i->next) {
|
||||
pmdepmissing_t *miss = (pmdepmissing_t *)i->data;
|
||||
void *vpkg;
|
||||
pmpkg_t *pkg = _alpm_pkg_find(trans->packages, miss->causingpkg);
|
||||
pmpkg_t *pkg = _alpm_pkg_find(trans->remove, miss->causingpkg);
|
||||
if(pkg == NULL) {
|
||||
continue;
|
||||
}
|
||||
trans->packages = alpm_list_remove(trans->packages, pkg, _alpm_pkg_cmp,
|
||||
trans->remove = alpm_list_remove(trans->remove, pkg, _alpm_pkg_cmp,
|
||||
&vpkg);
|
||||
pkg = vpkg;
|
||||
if(pkg) {
|
||||
_alpm_log(PM_LOG_WARNING, "removing %s from the target-list\n",
|
||||
_alpm_log(PM_LOG_WARNING, _("removing %s from target list\n"),
|
||||
alpm_pkg_get_name(pkg));
|
||||
_alpm_pkg_free(pkg);
|
||||
}
|
||||
}
|
||||
alpm_list_free_inner(lp, (alpm_list_fn_free)_alpm_depmiss_free);
|
||||
alpm_list_free(lp);
|
||||
lp = alpm_checkdeps(db, 1, trans->packages, NULL);
|
||||
lp = alpm_checkdeps(_alpm_db_get_pkgcache(db), 1, trans->remove, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,28 +156,23 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
|
||||
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
|
||||
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
|
||||
/* skip all checks if we are doing this removal as part of an upgrade */
|
||||
if(trans->type == PM_TRANS_TYPE_REMOVEUPGRADE) {
|
||||
return(0);
|
||||
}
|
||||
|
||||
if((trans->flags & PM_TRANS_FLAG_RECURSE) && !(trans->flags & PM_TRANS_FLAG_CASCADE)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "finding removable dependencies\n");
|
||||
_alpm_recursedeps(db, trans->packages, trans->flags & PM_TRANS_FLAG_RECURSEALL);
|
||||
_alpm_recursedeps(db, trans->remove, trans->flags & PM_TRANS_FLAG_RECURSEALL);
|
||||
}
|
||||
|
||||
if(!(trans->flags & PM_TRANS_FLAG_NODEPS)) {
|
||||
EVENT(trans, PM_TRANS_EVT_CHECKDEPS_START, NULL, NULL);
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "looking for unsatisfied dependencies\n");
|
||||
lp = alpm_checkdeps(db, 1, trans->packages, NULL);
|
||||
lp = alpm_checkdeps(_alpm_db_get_pkgcache(db), 1, trans->remove, NULL);
|
||||
if(lp != NULL) {
|
||||
|
||||
if(trans->flags & PM_TRANS_FLAG_CASCADE) {
|
||||
remove_prepare_cascade(trans, db, lp);
|
||||
} else if (trans->flags & PM_TRANS_FLAG_UNNEEDED) {
|
||||
/* Remove needed packages (which would break dependencies)
|
||||
* from the target list */
|
||||
* from target list */
|
||||
remove_prepare_keep_needed(trans, db, lp);
|
||||
} else {
|
||||
if(data) {
|
||||
@@ -184,15 +188,15 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
|
||||
|
||||
/* re-order w.r.t. dependencies */
|
||||
_alpm_log(PM_LOG_DEBUG, "sorting by dependencies\n");
|
||||
lp = _alpm_sortbydeps(trans->packages, 1);
|
||||
lp = _alpm_sortbydeps(trans->remove, 1);
|
||||
/* free the old alltargs */
|
||||
alpm_list_free(trans->packages);
|
||||
trans->packages = lp;
|
||||
alpm_list_free(trans->remove);
|
||||
trans->remove = lp;
|
||||
|
||||
/* -Rcs == -Rc then -Rs */
|
||||
if((trans->flags & PM_TRANS_FLAG_CASCADE) && (trans->flags & PM_TRANS_FLAG_RECURSE)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "finding removable dependencies\n");
|
||||
_alpm_recursedeps(db, trans->packages, trans->flags & PM_TRANS_FLAG_RECURSEALL);
|
||||
_alpm_recursedeps(db, trans->remove, trans->flags & PM_TRANS_FLAG_RECURSEALL);
|
||||
}
|
||||
|
||||
if(!(trans->flags & PM_TRANS_FLAG_NODEPS)) {
|
||||
@@ -202,13 +206,13 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
|
||||
return(0);
|
||||
}
|
||||
|
||||
static int can_remove_file(pmtrans_t *trans, const char *path)
|
||||
static int can_remove_file(const char *path, alpm_list_t *skip)
|
||||
{
|
||||
char file[PATH_MAX+1];
|
||||
|
||||
snprintf(file, PATH_MAX, "%s%s", handle->root, path);
|
||||
|
||||
if(alpm_list_find_str(trans->skip_remove, file)) {
|
||||
if(alpm_list_find_str(skip, file)) {
|
||||
/* return success because we will never actually remove this file */
|
||||
return(1);
|
||||
}
|
||||
@@ -229,29 +233,22 @@ static int can_remove_file(pmtrans_t *trans, const char *path)
|
||||
|
||||
/* Helper function for iterating through a package's file and deleting them
|
||||
* Used by _alpm_remove_commit. */
|
||||
static void unlink_file(pmpkg_t *info, alpm_list_t *lp, pmtrans_t *trans)
|
||||
static void unlink_file(pmpkg_t *info, char *filename, alpm_list_t *skip_remove, int nosave)
|
||||
{
|
||||
struct stat buf;
|
||||
int needbackup = 0;
|
||||
char file[PATH_MAX+1];
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
char *hash = _alpm_needbackup(lp->data, alpm_pkg_get_backup(info));
|
||||
if(hash) {
|
||||
needbackup = 1;
|
||||
FREE(hash);
|
||||
}
|
||||
snprintf(file, PATH_MAX, "%s%s", handle->root, filename);
|
||||
|
||||
snprintf(file, PATH_MAX, "%s%s", handle->root, (char *)lp->data);
|
||||
|
||||
if(trans->type == PM_TRANS_TYPE_REMOVEUPGRADE) {
|
||||
/* check noupgrade */
|
||||
if(alpm_list_find_str(handle->noupgrade, lp->data)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "Skipping removal of '%s' due to NoUpgrade\n",
|
||||
file);
|
||||
return;
|
||||
}
|
||||
/* check the remove skip list before removing the file.
|
||||
* see the big comment block in db_find_fileconflicts() for an
|
||||
* explanation. */
|
||||
if(alpm_list_find_str(skip_remove, filename)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "%s is in skip_remove, skipping removal\n",
|
||||
file);
|
||||
return;
|
||||
}
|
||||
|
||||
/* we want to do a lstat here, and not a _alpm_lstat.
|
||||
@@ -271,35 +268,100 @@ static void unlink_file(pmpkg_t *info, alpm_list_t *lp, pmtrans_t *trans)
|
||||
_alpm_log(PM_LOG_DEBUG, "removing directory %s\n", file);
|
||||
}
|
||||
} else {
|
||||
/* check the remove skip list before removing the file.
|
||||
* see the big comment block in db_find_fileconflicts() for an
|
||||
* explanation. */
|
||||
if(alpm_list_find_str(trans->skip_remove, file)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "%s is in trans->skip_remove, skipping removal\n",
|
||||
file);
|
||||
return;
|
||||
} else if(needbackup) {
|
||||
/* if the file is flagged, back it up to .pacsave */
|
||||
if(!(trans->flags & PM_TRANS_FLAG_NOSAVE)) {
|
||||
char newpath[PATH_MAX];
|
||||
snprintf(newpath, PATH_MAX, "%s.pacsave", file);
|
||||
rename(file, newpath);
|
||||
_alpm_log(PM_LOG_WARNING, _("%s saved as %s\n"), file, newpath);
|
||||
return;
|
||||
} else {
|
||||
/* if the file needs backup and has been modified, back it up to .pacsave */
|
||||
char *pkghash = _alpm_needbackup(filename, alpm_pkg_get_backup(info));
|
||||
if(pkghash) {
|
||||
if(nosave) {
|
||||
_alpm_log(PM_LOG_DEBUG, "transaction is set to NOSAVE, not backing up '%s'\n", file);
|
||||
FREE(pkghash);
|
||||
} else {
|
||||
char *filehash = alpm_compute_md5sum(file);
|
||||
int cmp = strcmp(filehash,pkghash);
|
||||
FREE(filehash);
|
||||
FREE(pkghash);
|
||||
if(cmp != 0) {
|
||||
char newpath[PATH_MAX];
|
||||
snprintf(newpath, PATH_MAX, "%s.pacsave", file);
|
||||
rename(file, newpath);
|
||||
_alpm_log(PM_LOG_WARNING, _("%s saved as %s\n"), file, newpath);
|
||||
alpm_logaction("warning: %s saved as %s\n", file, newpath);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "unlinking %s\n", file);
|
||||
|
||||
if(unlink(file) == -1) {
|
||||
_alpm_log(PM_LOG_ERROR, _("cannot remove file '%s': %s\n"),
|
||||
(char *)lp->data, strerror(errno));
|
||||
filename, strerror(errno));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
int _alpm_upgraderemove_package(pmpkg_t *oldpkg, pmpkg_t *newpkg, pmtrans_t *trans)
|
||||
{
|
||||
alpm_list_t *skip_remove, *b;
|
||||
alpm_list_t *newfiles, *lp;
|
||||
alpm_list_t *files = alpm_pkg_get_files(oldpkg);
|
||||
const char *pkgname = alpm_pkg_get_name(oldpkg);
|
||||
|
||||
ALPM_LOG_FUNC;
|
||||
|
||||
_alpm_log(PM_LOG_DEBUG, "removing old package first (%s-%s)\n",
|
||||
oldpkg->name, oldpkg->version);
|
||||
|
||||
/* copy the remove skiplist over */
|
||||
skip_remove =
|
||||
alpm_list_join(alpm_list_strdup(trans->skip_remove),alpm_list_strdup(handle->noupgrade));
|
||||
/* Add files in the NEW backup array to the skip_remove array
|
||||
* so this removal operation doesn't kill them */
|
||||
/* old package backup list */
|
||||
alpm_list_t *filelist = alpm_pkg_get_files(newpkg);
|
||||
for(b = alpm_pkg_get_backup(newpkg); b; b = b->next) {
|
||||
char *backup = _alpm_backup_file(b->data);
|
||||
/* safety check (fix the upgrade026 pactest) */
|
||||
if(!alpm_list_find_str(filelist, backup)) {
|
||||
FREE(backup);
|
||||
continue;
|
||||
}
|
||||
_alpm_log(PM_LOG_DEBUG, "adding %s to the skip_remove array\n", backup);
|
||||
skip_remove = alpm_list_add(skip_remove, backup);
|
||||
}
|
||||
|
||||
for(lp = files; lp; lp = lp->next) {
|
||||
if(!can_remove_file(lp->data, skip_remove)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "not removing package '%s', can't remove all files\n",
|
||||
pkgname);
|
||||
RET_ERR(PM_ERR_PKG_CANT_REMOVE, -1);
|
||||
}
|
||||
}
|
||||
|
||||
/* iterate through the list backwards, unlinking files */
|
||||
newfiles = alpm_list_reverse(files);
|
||||
for(lp = newfiles; lp; lp = alpm_list_next(lp)) {
|
||||
unlink_file(oldpkg, lp->data, skip_remove, 0);
|
||||
}
|
||||
alpm_list_free(newfiles);
|
||||
FREELIST(skip_remove);
|
||||
|
||||
/* remove the package from the database */
|
||||
_alpm_log(PM_LOG_DEBUG, "updating database\n");
|
||||
_alpm_log(PM_LOG_DEBUG, "removing database entry '%s'\n", pkgname);
|
||||
if(_alpm_db_remove(handle->db_local, oldpkg) == -1) {
|
||||
_alpm_log(PM_LOG_ERROR, _("could not remove database entry %s-%s\n"),
|
||||
pkgname, alpm_pkg_get_version(oldpkg));
|
||||
}
|
||||
/* remove the package from the cache */
|
||||
if(_alpm_db_remove_pkgfromcache(handle->db_local, oldpkg) == -1) {
|
||||
_alpm_log(PM_LOG_ERROR, _("could not remove entry '%s' from cache\n"),
|
||||
pkgname);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
int _alpm_remove_packages(pmtrans_t *trans, pmdb_t *db)
|
||||
{
|
||||
pmpkg_t *info;
|
||||
alpm_list_t *targ, *lp;
|
||||
@@ -310,14 +372,14 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
|
||||
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
|
||||
|
||||
pkg_count = alpm_list_count(trans->packages);
|
||||
pkg_count = alpm_list_count(trans->remove);
|
||||
|
||||
for(targ = trans->packages; targ; targ = targ->next) {
|
||||
for(targ = trans->remove; targ; targ = targ->next) {
|
||||
int position = 0;
|
||||
char scriptlet[PATH_MAX];
|
||||
alpm_list_t *files;
|
||||
info = (pmpkg_t*)targ->data;
|
||||
const char *pkgname = NULL;
|
||||
int targcount = alpm_list_count(targ);
|
||||
|
||||
if(handle->trans->state == STATE_INTERRUPTED) {
|
||||
return(0);
|
||||
@@ -325,26 +387,23 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
|
||||
/* get the name now so we can use it after package is removed */
|
||||
pkgname = alpm_pkg_get_name(info);
|
||||
snprintf(scriptlet, PATH_MAX, "%s%s-%s/install", db->path,
|
||||
pkgname, alpm_pkg_get_version(info));
|
||||
snprintf(scriptlet, PATH_MAX, "%s%s-%s/install",
|
||||
_alpm_db_path(db), pkgname, alpm_pkg_get_version(info));
|
||||
|
||||
if(trans->type != PM_TRANS_TYPE_REMOVEUPGRADE) {
|
||||
EVENT(trans, PM_TRANS_EVT_REMOVE_START, info, NULL);
|
||||
_alpm_log(PM_LOG_DEBUG, "removing package %s-%s\n",
|
||||
pkgname, alpm_pkg_get_version(info));
|
||||
EVENT(trans, PM_TRANS_EVT_REMOVE_START, info, NULL);
|
||||
_alpm_log(PM_LOG_DEBUG, "removing package %s-%s\n",
|
||||
pkgname, alpm_pkg_get_version(info));
|
||||
|
||||
/* run the pre-remove scriptlet if it exists */
|
||||
if(alpm_pkg_has_scriptlet(info) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
|
||||
_alpm_runscriptlet(handle->root, scriptlet, "pre_remove",
|
||||
alpm_pkg_get_version(info), NULL, trans);
|
||||
}
|
||||
/* run the pre-remove scriptlet if it exists */
|
||||
if(alpm_pkg_has_scriptlet(info) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
|
||||
_alpm_runscriptlet(handle->root, scriptlet, "pre_remove",
|
||||
alpm_pkg_get_version(info), NULL, trans);
|
||||
}
|
||||
|
||||
files = alpm_pkg_get_files(info);
|
||||
|
||||
if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
|
||||
alpm_list_t *files = alpm_pkg_get_files(info);
|
||||
for(lp = files; lp; lp = lp->next) {
|
||||
if(!can_remove_file(trans, lp->data)) {
|
||||
if(!can_remove_file(lp->data, NULL)) {
|
||||
_alpm_log(PM_LOG_DEBUG, "not removing package '%s', can't remove all files\n",
|
||||
pkgname);
|
||||
RET_ERR(PM_ERR_PKG_CANT_REMOVE, -1);
|
||||
@@ -352,20 +411,20 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
}
|
||||
|
||||
int filenum = alpm_list_count(files);
|
||||
double percent = 0.0;
|
||||
alpm_list_t *newfiles;
|
||||
_alpm_log(PM_LOG_DEBUG, "removing %d files\n", filenum);
|
||||
|
||||
/* iterate through the list backwards, unlinking files */
|
||||
newfiles = alpm_list_reverse(files);
|
||||
for(lp = newfiles; lp; lp = alpm_list_next(lp)) {
|
||||
unlink_file(info, lp, trans);
|
||||
double percent;
|
||||
unlink_file(info, lp->data, NULL, trans->flags & PM_TRANS_FLAG_NOSAVE);
|
||||
|
||||
/* update progress bar after each file */
|
||||
percent = (double)position / (double)filenum;
|
||||
PROGRESS(trans, PM_TRANS_PROGRESS_REMOVE_START, info->name,
|
||||
(double)(percent * 100), pkg_count,
|
||||
(pkg_count - alpm_list_count(targ) + 1));
|
||||
(pkg_count - targcount + 1));
|
||||
position++;
|
||||
}
|
||||
alpm_list_free(newfiles);
|
||||
@@ -373,14 +432,12 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
|
||||
/* set progress to 100% after we finish unlinking files */
|
||||
PROGRESS(trans, PM_TRANS_PROGRESS_REMOVE_START, pkgname, 100,
|
||||
pkg_count, (pkg_count - alpm_list_count(targ) + 1));
|
||||
pkg_count, (pkg_count - targcount + 1));
|
||||
|
||||
if(trans->type != PM_TRANS_TYPE_REMOVEUPGRADE) {
|
||||
/* run the post-remove script if it exists */
|
||||
if(alpm_pkg_has_scriptlet(info) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
|
||||
_alpm_runscriptlet(handle->root, scriptlet, "post_remove",
|
||||
alpm_pkg_get_version(info), NULL, trans);
|
||||
}
|
||||
/* run the post-remove script if it exists */
|
||||
if(alpm_pkg_has_scriptlet(info) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
|
||||
_alpm_runscriptlet(handle->root, scriptlet, "post_remove",
|
||||
alpm_pkg_get_version(info), NULL, trans);
|
||||
}
|
||||
|
||||
/* remove the package from the database */
|
||||
@@ -396,17 +453,11 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
|
||||
pkgname);
|
||||
}
|
||||
|
||||
/* call a done event if this isn't an upgrade */
|
||||
if(trans->type != PM_TRANS_TYPE_REMOVEUPGRADE) {
|
||||
EVENT(trans, PM_TRANS_EVT_REMOVE_DONE, info, NULL);
|
||||
}
|
||||
EVENT(trans, PM_TRANS_EVT_REMOVE_DONE, info, NULL);
|
||||
}
|
||||
|
||||
/* run ldconfig if it exists */
|
||||
if(trans->type != PM_TRANS_TYPE_REMOVEUPGRADE) {
|
||||
_alpm_log(PM_LOG_DEBUG, "running \"ldconfig -r %s\"\n", handle->root);
|
||||
_alpm_ldconfig(handle->root);
|
||||
}
|
||||
_alpm_ldconfig(handle->root);
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* remove.h
|
||||
*
|
||||
* Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -23,9 +24,10 @@
|
||||
#include "alpm_list.h"
|
||||
#include "trans.h"
|
||||
|
||||
int _alpm_remove_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name);
|
||||
int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data);
|
||||
int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db);
|
||||
int _alpm_remove_packages(pmtrans_t *trans, pmdb_t *db);
|
||||
|
||||
int _alpm_upgraderemove_package(pmpkg_t *oldpkg, pmpkg_t *newpkg, pmtrans_t *trans);
|
||||
|
||||
#endif /* _ALPM_REMOVE_H */
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user