forked from mirrors/pacman
		
	Compare commits
	
		
			626 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					ba45cb4590 | ||
| 
						 | 
					c5f6995aeb | ||
| 
						 | 
					8f18798d10 | ||
| 
						 | 
					5c8083baa4 | ||
| 
						 | 
					eedf4f4e63 | ||
| 
						 | 
					bd08581d2e | ||
| 
						 | 
					a91250b7bb | ||
| 
						 | 
					a08638edc8 | ||
| 
						 | 
					592211b6dc | ||
| 
						 | 
					d901646f7a | ||
| 
						 | 
					30734c9a4a | ||
| 
						 | 
					a2d7f6f206 | ||
| 
						 | 
					3a06a9fa9f | ||
| 
						 | 
					283ef6519a | ||
| 
						 | 
					302188b169 | ||
| 
						 | 
					fd38319106 | ||
| 
						 | 
					c2993197ea | ||
| 
						 | 
					79541193f7 | ||
| 
						 | 
					e29dde9157 | ||
| 
						 | 
					6d41da4086 | ||
| 
						 | 
					df15a8c432 | ||
| 
						 | 
					3739e2c10c | ||
| 
						 | 
					1cbc3c5c90 | ||
| 
						 | 
					4e3bd7c137 | ||
| 
						 | 
					9d3a8efb7b | ||
| 
						 | 
					a7c4159b16 | ||
| 
						 | 
					54b63de098 | ||
| 
						 | 
					90c45f7bbe | ||
| 
						 | 
					9fbf5d9336 | ||
| 
						 | 
					3de32a0812 | ||
| 
						 | 
					71660f55b2 | ||
| 
						 | 
					4a487346c5 | ||
| 
						 | 
					0478dfa1a5 | ||
| 
						 | 
					281bc72534 | ||
| 
						 | 
					5908992e47 | ||
| 
						 | 
					c3f5375380 | ||
| 
						 | 
					b02bda75f1 | ||
| 
						 | 
					0d6efb35ce | ||
| 
						 | 
					52118bf0f0 | ||
| 
						 | 
					ff689b6a38 | ||
| 
						 | 
					fa4f25626c | ||
| 
						 | 
					f8d7cd6b26 | ||
| 
						 | 
					e702f56ea6 | ||
| 
						 | 
					7f5c486666 | ||
| 
						 | 
					fcb4f0264f | ||
| 
						 | 
					3d8be4291c | ||
| 
						 | 
					622326bb37 | ||
| 
						 | 
					68dff73463 | ||
| 
						 | 
					0ea52e3a4f | ||
| 
						 | 
					8b23aa172f | ||
| 
						 | 
					d7c98d4e45 | ||
| 
						 | 
					21d5dedfdd | ||
| 
						 | 
					6f4f9c1b66 | ||
| 
						 | 
					07a9effdd0 | ||
| 
						 | 
					708f186f98 | ||
| 
						 | 
					226c137245 | ||
| 
						 | 
					2222e9f8df | ||
| 
						 | 
					c2cf6a14cf | ||
| 
						 | 
					6c00ca8f23 | ||
| 
						 | 
					7fc50d7950 | ||
| 
						 | 
					dc817a2061 | ||
| 
						 | 
					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 | ||
| 
						 | 
					6f9539aefb | ||
| 
						 | 
					a30bf868ca | ||
| 
						 | 
					1cc8ad6112 | ||
| 
						 | 
					8f26bb9052 | ||
| 
						 | 
					9a7f68317a | ||
| 
						 | 
					774c252753 | ||
| 
						 | 
					1b7ff7a636 | ||
| 
						 | 
					bb9b19a6c4 | ||
| 
						 | 
					b55f478042 | ||
| 
						 | 
					e49adbea4c | ||
| 
						 | 
					f8b689d48e | ||
| 
						 | 
					bd628274cc | ||
| 
						 | 
					9ae7eb1292 | ||
| 
						 | 
					818fae320f | ||
| 
						 | 
					69be73f68c | ||
| 
						 | 
					61c6552862 | ||
| 
						 | 
					9394f229a0 | ||
| 
						 | 
					43f9eb1aa9 | ||
| 
						 | 
					8d4e1e6754 | ||
| 
						 | 
					314b4462d2 | ||
| 
						 | 
					c4b9991258 | ||
| 
						 | 
					8d33dcb81c | ||
| 
						 | 
					cd51abf0c8 | ||
| 
						 | 
					2e431e1cc3 | ||
| 
						 | 
					fa02a71abd | ||
| 
						 | 
					91a013a879 | ||
| 
						 | 
					f1f8f0e1c2 | ||
| 
						 | 
					da933c223e | ||
| 
						 | 
					1c47500ea6 | ||
| 
						 | 
					d05882db9e | ||
| 
						 | 
					0701356260 | ||
| 
						 | 
					9dbe5c9d1e | ||
| 
						 | 
					a06d0de104 | ||
| 
						 | 
					a4100b3847 | ||
| 
						 | 
					14203d77f4 | ||
| 
						 | 
					ec928faad3 | ||
| 
						 | 
					4b183bf9a9 | ||
| 
						 | 
					7e8f1469c4 | ||
| 
						 | 
					496b687c3d | ||
| 
						 | 
					baf5852555 | ||
| 
						 | 
					8146f6f1c6 | ||
| 
						 | 
					adc4078b87 | ||
| 
						 | 
					7865fb9af4 | ||
| 
						 | 
					3ff7701e89 | ||
| 
						 | 
					b3033a59e9 | 
							
								
								
									
										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:
 | 
			
		||||
+
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
[source,C]
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
/* vim: set ts=2 sw=2 noet: */
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
 | 
			
		||||
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 @@ Coding style
 | 
			
		||||
    braces, even if it's just a one-line block. This reduces future error when
 | 
			
		||||
    blocks are expanded beyond one line.
 | 
			
		||||
+
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
[source,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;
 | 
			
		||||
}
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
+
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
[source,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)
 | 
			
		||||
  }
 | 
			
		||||
  ...
 | 
			
		||||
}
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
 | 
			
		||||
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:
 | 
			
		||||
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
[source,C]
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <standardheader.h>
 | 
			
		||||
#include <another.h>
 | 
			
		||||
#include <...>
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
 | 
			
		||||
Follow this with some more headers, depending on whether the file is in libalpm
 | 
			
		||||
or pacman proper. For libalpm:
 | 
			
		||||
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
[source,C]
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "yourfile.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "anythingelse.h"
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
 | 
			
		||||
For pacman:
 | 
			
		||||
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
[source,C]
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "yourfile.h"
 | 
			
		||||
#include "anythingelse.h"
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Makefile.am
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
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
 | 
			
		||||
@@ -12,15 +12,15 @@ 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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										126
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										126
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,5 +1,131 @@
 | 
			
		||||
VERSION         DESCRIPTION
 | 
			
		||||
-----------------------------------------------------------------------------
 | 
			
		||||
3.4.2         - fix progress bar display with empty packages
 | 
			
		||||
              - make pactest testsuite Python 2.7 compatible
 | 
			
		||||
              - documentation: remove unnecessary "|| return 1"
 | 
			
		||||
              - contrib/bacman: update package compression selection
 | 
			
		||||
              - contrib/PKGBUILD.vim: add a few more license options
 | 
			
		||||
              - translations: es, kk, sv, pt, ru updated
 | 
			
		||||
3.4.1         - fix interaction of --needed and multiple repo groups (FS#20221)
 | 
			
		||||
              - bash completion: small fixes to prevent alias problems
 | 
			
		||||
              - rankmirrors: fix bogus/empty variable assignment (FS#19911)
 | 
			
		||||
              - repo-add: ensure bare DB symlinks are relative (FS#20498)
 | 
			
		||||
              - repo-add: fallback to copy if symlink not permitted (FS#19907)
 | 
			
		||||
              - makepkg:
 | 
			
		||||
                - use absolute path to 'du' to exclude wrapper progs (FS#19932)
 | 
			
		||||
                - ensure $startdir check doesn't stall indefinitely (FS#19975)
 | 
			
		||||
                - fix repackaging with multiple passed packages (FS#20272)
 | 
			
		||||
              - translations:
 | 
			
		||||
                - zh_CN: fix crash when using during install (FS#20188)
 | 
			
		||||
                - sk: new Slovak translation
 | 
			
		||||
                - pt: new European Portuguese translation
 | 
			
		||||
                - other small updates to various translations
 | 
			
		||||
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)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
@@ -21,6 +21,7 @@ replaces=()
 | 
			
		||||
backup=()
 | 
			
		||||
options=()
 | 
			
		||||
install=
 | 
			
		||||
changelog=
 | 
			
		||||
source=($pkgname-$pkgver.tar.gz)
 | 
			
		||||
noextract=()
 | 
			
		||||
md5sums=() #generate with 'makepkg -g'
 | 
			
		||||
@@ -29,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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								TRANSLATORS
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								TRANSLATORS
									
									
									
									
									
								
							@@ -10,35 +10,47 @@ 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 <jotapesan@gmail.com>
 | 
			
		||||
	Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>
 | 
			
		||||
	Fernando Lagos <fernando@zerial.org>
 | 
			
		||||
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):
 | 
			
		||||
	Hugo Doria <hugo@archlinux.org>
 | 
			
		||||
	Armando M. Baratti <ambaratti@archlinux-br.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>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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,util}{,/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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										82
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								configure.ac
									
									
									
									
									
								
							@@ -41,12 +41,12 @@ AC_PREREQ(2.60)
 | 
			
		||||
#   Bugfix releases:
 | 
			
		||||
#     pacman_version_micro += 1
 | 
			
		||||
 | 
			
		||||
m4_define([lib_current], [4])
 | 
			
		||||
m4_define([lib_revision], [1])
 | 
			
		||||
m4_define([lib_age], [1])
 | 
			
		||||
m4_define([lib_current], [5])
 | 
			
		||||
m4_define([lib_revision], [2])
 | 
			
		||||
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], [2])
 | 
			
		||||
m4_define([pacman_version],
 | 
			
		||||
          [pacman_version_major.pacman_version_minor.pacman_version_micro])
 | 
			
		||||
@@ -88,9 +88,14 @@ 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
 | 
			
		||||
@@ -121,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.7 python2.6 python2.5 python2 python], [false])
 | 
			
		||||
 | 
			
		||||
# find installed gettext
 | 
			
		||||
AM_GNU_GETTEXT([external])
 | 
			
		||||
@@ -131,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
 | 
			
		||||
@@ -177,10 +184,15 @@ GCC_VISIBILITY_CC
 | 
			
		||||
GCC_GNU89_INLINE_CC
 | 
			
		||||
 | 
			
		||||
# Host-dependant definitions
 | 
			
		||||
SIZECMD="stat -c %s"
 | 
			
		||||
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 -f %z"
 | 
			
		||||
		SIZECMD="stat -L -f %z"
 | 
			
		||||
		SEDINPLACE="sed -i ''"
 | 
			
		||||
		;;
 | 
			
		||||
	cygwin*)
 | 
			
		||||
		host_os_cygwin=yes
 | 
			
		||||
@@ -188,13 +200,22 @@ case "${host_os}" in
 | 
			
		||||
		;;
 | 
			
		||||
	darwin*)
 | 
			
		||||
		host_os_darwin=yes
 | 
			
		||||
		SIZECMD="stat -f %z"
 | 
			
		||||
		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_PATH_PROGS([DUPATH], [du], [du], [/usr/bin$PATH_SEPARATOR/bin] )
 | 
			
		||||
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)
 | 
			
		||||
@@ -241,9 +262,15 @@ 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])
 | 
			
		||||
@@ -278,17 +305,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
 | 
			
		||||
@@ -314,6 +341,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([
 | 
			
		||||
@@ -325,7 +355,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
 | 
			
		||||
])
 | 
			
		||||
@@ -350,6 +382,7 @@ ${PACKAGE_NAME}:
 | 
			
		||||
    Architecture flags     : ${CARCHFLAGS}
 | 
			
		||||
    Host Type              : ${CHOST}
 | 
			
		||||
    Filesize command       : ${SIZECMD}
 | 
			
		||||
    In-place sed command   : ${SEDINPLACE}
 | 
			
		||||
 | 
			
		||||
    libalpm version        : ${LIB_VERSION}
 | 
			
		||||
    libalpm version info   : ${LIB_VERSION_INFO}
 | 
			
		||||
@@ -361,9 +394,10 @@ ${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}
 | 
			
		||||
    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,10 +61,13 @@ 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
 | 
			
		||||
" echo $(pacman -Ql licenses | grep '/usr/share/licenses/common/' | cut -d'/' -f6 | sort -u)
 | 
			
		||||
syn keyword pbLicense  APACHE CCPL CDDL CPL EPL FDL FDL1.2 FDL1.3 GPL GPL2 GPL3 LGPL LGPL2.1 LGPL3 LPPL MPL PerlArtistic PHP PSF RALINK RUBY ZPL contained
 | 
			
		||||
" special cases from http://wiki.archlinux.org/index.php/Arch_Packaging_Standards
 | 
			
		||||
syn keyword pbLicenseSpecial  BSD MIT ZLIB Python 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
 | 
			
		||||
syn match pbIllegalLicense /[^='"() ]/ contained contains=pbLicenseCustom,pbLicenseSpecial,pbLicense
 | 
			
		||||
syn region pbLicenseGroup start=/^license=(/ end=/)/ contains=pb_k_license,pbLicenseCustom,pbLicenseSpecial,pbLicense,pbIllegalLicense
 | 
			
		||||
 | 
			
		||||
" backup
 | 
			
		||||
syn keyword pb_k_backup backup contained
 | 
			
		||||
@@ -66,7 +76,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 +125,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 +143,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 +156,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 +196,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 +230,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
 | 
			
		||||
@@ -87,7 +87,6 @@ fi
 | 
			
		||||
 | 
			
		||||
pkg_arch=${CARCH:-'unknown'}
 | 
			
		||||
pkg_dest="${PKGDEST:-$PWD}"
 | 
			
		||||
pkg_ext=${PKGEXT:-'.pkg.tar.gz'}
 | 
			
		||||
pkg_pkger=${PACKAGER:-'Unknown Packager'}
 | 
			
		||||
 | 
			
		||||
pkg_name="$1"
 | 
			
		||||
@@ -137,7 +136,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"
 | 
			
		||||
@@ -164,13 +163,6 @@ fi
 | 
			
		||||
 | 
			
		||||
pkg_size=$(du -sk | awk '{print $1 * 1024}')
 | 
			
		||||
 | 
			
		||||
if [ -f "$pkg_dir/install" ] ; then
 | 
			
		||||
    cp "$pkg_dir/install" "$work_dir/.INSTALL"
 | 
			
		||||
fi
 | 
			
		||||
if  [ -f $pkg_dir/changelog ] ; then
 | 
			
		||||
    cp "$pkg_dir/changelog" "$work_dir/.CHANGELOG"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# .PKGINFO stuff
 | 
			
		||||
#
 | 
			
		||||
@@ -254,6 +246,17 @@ while read i; do
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
comp_files=".PKGINFO"
 | 
			
		||||
 | 
			
		||||
if [ -f "$pkg_dir/install" ] ; then
 | 
			
		||||
    cp "$pkg_dir/install" "$work_dir/.INSTALL"
 | 
			
		||||
    comp_files+=" .INSTALL"
 | 
			
		||||
fi
 | 
			
		||||
if  [ -f $pkg_dir/changelog ] ; then
 | 
			
		||||
    cp "$pkg_dir/changelog" "$work_dir/.CHANGELOG"
 | 
			
		||||
    comp_files+=" .CHANGELOG"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Fixes owner:group and permissions for .PKGINFO, .CHANGELOG, .INSTALL
 | 
			
		||||
#
 | 
			
		||||
@@ -265,8 +268,31 @@ chmod 644 "$work_dir"/{.PKGINFO,.CHANGELOG,.INSTALL} 2> /dev/null
 | 
			
		||||
#
 | 
			
		||||
echo "Generating the package..."
 | 
			
		||||
 | 
			
		||||
case "$PKGEXT" in
 | 
			
		||||
	*tar.gz)  EXT=${PKGEXT%.gz} ;;
 | 
			
		||||
	*tar.bz2) EXT=${PKGEXT%.bz2} ;;
 | 
			
		||||
	*tar.xz)  EXT=${PKGEXT%.xz} ;;
 | 
			
		||||
	*tar)     EXT=${PKGEXT} ;;
 | 
			
		||||
	*) echo "WARNING: '%s' is not a valid archive extension." \
 | 
			
		||||
	"$PKGEXT" ; EXT=$PKGEXT ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
pkg_file="$pkg_dest/$pkg_namver-$pkg_arch${PKGEXT}"
 | 
			
		||||
ret=0
 | 
			
		||||
bsdtar -czf "$pkg_dest/$pkg_namver-$pkg_arch$pkg_ext" $(ls -A) || ret=$?
 | 
			
		||||
 | 
			
		||||
# when fileglobbing, we want * in an empty directory to expand to
 | 
			
		||||
# the null string rather than itself
 | 
			
		||||
shopt -s nullglob
 | 
			
		||||
# TODO: Maybe this can be set globally for robustness
 | 
			
		||||
shopt -s -o pipefail
 | 
			
		||||
bsdtar -cf - $comp_files * |
 | 
			
		||||
case "$PKGEXT" in
 | 
			
		||||
    *tar.gz)  gzip -c -f -n ;;
 | 
			
		||||
    *tar.bz2) bzip2 -c -f ;;
 | 
			
		||||
    *tar.xz)  xz -c -z - ;;
 | 
			
		||||
    *tar)     cat ;;
 | 
			
		||||
esac > ${pkg_file} || ret=$?
 | 
			
		||||
 | 
			
		||||
if [ $ret -ne 0 ]; then
 | 
			
		||||
    echo "ERROR: unable to write package to $pkg_dest"
 | 
			
		||||
    echo "       Maybe the disk is full or you do not have write access"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,363 +1,115 @@
 | 
			
		||||
# 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() {
 | 
			
		||||
  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
 | 
			
		||||
 | 
			
		||||
if [[ $(type -t compopt) = "builtin" ]]; then
 | 
			
		||||
  _pacman_file() {
 | 
			
		||||
    compopt -o filenames; _filedir 'pkg.tar.*'
 | 
			
		||||
  }
 | 
			
		||||
  complete -F _pacman -o default pacman
 | 
			
		||||
else
 | 
			
		||||
  _pacman_file() {
 | 
			
		||||
    _filedir 'pkg.tar.*'
 | 
			
		||||
  }
 | 
			
		||||
  complete -F _pacman -o filenames -o default pacman
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
complete -F _makepkg -o default makepkg
 | 
			
		||||
 | 
			
		||||
# 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,6 +218,12 @@ for (( n=0 ; n < $len_options ; n++ )); do
 | 
			
		||||
		continue
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	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}"
 | 
			
		||||
@@ -229,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
 | 
			
		||||
@@ -292,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   ;;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								doc/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								doc/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -6,5 +6,8 @@ pacman.8
 | 
			
		||||
pacman.conf.5
 | 
			
		||||
repo-add.8
 | 
			
		||||
repo-remove.8
 | 
			
		||||
*.css
 | 
			
		||||
*.html
 | 
			
		||||
*.xml
 | 
			
		||||
man3
 | 
			
		||||
website.tar.gz
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,25 @@ 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 \
 | 
			
		||||
@@ -25,12 +44,15 @@ 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 $(ASCIIDOC_MANS)
 | 
			
		||||
MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) $(HTML_DOCS) repo-remove.8
 | 
			
		||||
 | 
			
		||||
# Ensure manpages are fresh when building a dist tarball
 | 
			
		||||
dist-hook:
 | 
			
		||||
@@ -56,29 +78,60 @@ doxygen.in:
 | 
			
		||||
	$(DOXYGEN) $(srcdir)/Doxyfile
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
html: $(HTML_DOCS)
 | 
			
		||||
 | 
			
		||||
website: html
 | 
			
		||||
	bsdtar czf website.tar.gz $(HTML_DOCS) \
 | 
			
		||||
		-C /etc/asciidoc/stylesheets/ \
 | 
			
		||||
		xhtml11.css xhtml11-manpage.css xhtml11-quirks.css \
 | 
			
		||||
		-C /etc/asciidoc/javascripts/ \
 | 
			
		||||
		asciidoc-xhtml11.js \
 | 
			
		||||
		-C /etc/asciidoc/ \
 | 
			
		||||
		images
 | 
			
		||||
 | 
			
		||||
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'
 | 
			
		||||
	--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
 | 
			
		||||
	a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS)" $@.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
 | 
			
		||||
%.html: %.txt
 | 
			
		||||
	asciidoc $(ASCIIDOC_OPTS) $*.txt
 | 
			
		||||
	dos2unix $@
 | 
			
		||||
 | 
			
		||||
HACKING.html: ../HACKING
 | 
			
		||||
	asciidoc $(ASCIIDOC_OPTS) -o $@ ../HACKING
 | 
			
		||||
	dos2unix $@
 | 
			
		||||
 | 
			
		||||
# Customizations for certain HTML docs
 | 
			
		||||
$(HTML_MANPAGES): asciidoc.conf footer.txt
 | 
			
		||||
$(HTML_OTHER): asciidoc.conf
 | 
			
		||||
%.html: ASCIIDOC_OPTS += -a linkcss -a toc -a icons
 | 
			
		||||
%.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
 | 
			
		||||
	rm -f repo-remove.8
 | 
			
		||||
 
 | 
			
		||||
@@ -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')
 | 
			
		||||
@@ -15,6 +15,6 @@ md5sums=('ee5ae84d115f051d87fcaaef3b4ae782')
 | 
			
		||||
build() {
 | 
			
		||||
  cd $srcdir/$pkgname-$pkgver
 | 
			
		||||
  ./configure --prefix=/usr
 | 
			
		||||
  make || return 1
 | 
			
		||||
  make
 | 
			
		||||
  make prefix=$pkgdir/usr install
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -40,18 +38,21 @@ This will prevent any possible name clashes with internal makepkg variables.
 | 
			
		||||
For example, to store the base kernel version in a variable, use something
 | 
			
		||||
similar to `$_basekernver`.
 | 
			
		||||
 | 
			
		||||
*pkgname*::
 | 
			
		||||
*pkgname (array)*::
 | 
			
		||||
	The name of the package. This has be a unix-friendly name as it will be
 | 
			
		||||
	used in the package filename.
 | 
			
		||||
	used in the package filename. Members of the array are not allowed to start
 | 
			
		||||
	with hyphens.
 | 
			
		||||
 | 
			
		||||
*pkgver*::
 | 
			
		||||
	The version of the software as released from the author (e.g. '2.7.1').
 | 
			
		||||
	The variable is not allowed to contain hyphens.
 | 
			
		||||
 | 
			
		||||
*pkgrel*::
 | 
			
		||||
	This is the release number specific to the Arch Linux release. This
 | 
			
		||||
	allows package maintainers to make updates to the package's configure
 | 
			
		||||
	flags, for example. A pkgrel of 1 is typically used for each upstream
 | 
			
		||||
	software release and is incremented for intermediate PKGBUILD updates.
 | 
			
		||||
	software release and is incremented for intermediate PKGBUILD updates. The
 | 
			
		||||
	variable is not allowed to contain hyphens.
 | 
			
		||||
 | 
			
		||||
*pkgdesc*::
 | 
			
		||||
	This should be a brief description of the package and its functionality.
 | 
			
		||||
@@ -65,19 +66,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
 | 
			
		||||
@@ -90,7 +97,7 @@ similar to `$_basekernver`.
 | 
			
		||||
+
 | 
			
		||||
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')$$`
 | 
			
		||||
name. The syntax is: `source=('filename::url')`.
 | 
			
		||||
 | 
			
		||||
*noextract (array)*::
 | 
			
		||||
	An array of filenames corresponding to those from the source array. Files
 | 
			
		||||
@@ -118,7 +125,8 @@ name. The syntax is: `$$source=('filename::url')$$`
 | 
			
		||||
 | 
			
		||||
*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
 | 
			
		||||
@@ -140,11 +148,11 @@ name. The syntax is: `$$source=('filename::url')$$`
 | 
			
		||||
	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')
 | 
			
		||||
 | 
			
		||||
@@ -161,7 +169,7 @@ name. The syntax is: `$$source=('filename::url')$$`
 | 
			
		||||
	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. Provisions involving the '>' and '<'
 | 
			
		||||
	operators are invalid as only specifc versions of a package may be
 | 
			
		||||
	operators are invalid as only specific versions of a package may be
 | 
			
		||||
	provided.
 | 
			
		||||
 | 
			
		||||
*replaces (array)*::
 | 
			
		||||
@@ -187,8 +195,8 @@ name. The syntax is: `$$source=('filename::url')$$`
 | 
			
		||||
		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
 | 
			
		||||
@@ -198,7 +206,7 @@ name. The syntax is: `$$source=('filename::url')$$`
 | 
			
		||||
		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
 | 
			
		||||
@@ -221,15 +229,17 @@ name. The syntax is: `$$source=('filename::url')$$`
 | 
			
		||||
		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. The function is run in `bash -e` mode, meaning any command that exits
 | 
			
		||||
with a non-zero status will cause the function to exit. 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
 | 
			
		||||
@@ -238,24 +248,51 @@ 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. The
 | 
			
		||||
function is run in `bash -e` mode, meaning any command that exits with a
 | 
			
		||||
non-zero status will cause the function to exit. 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.  The variable is not allowed to
 | 
			
		||||
	begin with a hyphen.
 | 
			
		||||
 | 
			
		||||
Install/Upgrade/Remove Scripting
 | 
			
		||||
--------------------------------
 | 
			
		||||
Pacman has the ability to store and execute a package-specific script when it
 | 
			
		||||
@@ -294,9 +331,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
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
@@ -119,9 +126,9 @@ Options
 | 
			
		||||
	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
 | 
			
		||||
@@ -139,7 +146,12 @@ Options
 | 
			
		||||
	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.
 | 
			
		||||
	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
 | 
			
		||||
@@ -158,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
 | 
			
		||||
 
 | 
			
		||||
@@ -61,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
 | 
			
		||||
@@ -88,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
 | 
			
		||||
@@ -111,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
 | 
			
		||||
@@ -153,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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										135
									
								
								doc/pacman.8.txt
									
									
									
									
									
								
							
							
						
						
									
										135
									
								
								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
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -85,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
 | 
			
		||||
@@ -94,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.
 | 
			
		||||
@@ -107,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.
 | 
			
		||||
 | 
			
		||||
@@ -143,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,
 | 
			
		||||
@@ -174,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,14 +6,8 @@ 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> <package1> [<package2> ...]
 | 
			
		||||
 
 | 
			
		||||
@@ -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,8 +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 %u > %o
 | 
			
		||||
#XferCommand = /usr/bin/curl -C - %u > %o
 | 
			
		||||
#CleanMethod = KeepInstalled
 | 
			
		||||
Architecture = auto
 | 
			
		||||
 | 
			
		||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
 | 
			
		||||
#IgnorePkg   =
 | 
			
		||||
@@ -28,7 +29,6 @@ SyncFirst   = pacman
 | 
			
		||||
#NoExtract   =
 | 
			
		||||
 | 
			
		||||
# Misc options (all disabled by default)
 | 
			
		||||
#NoPassiveFtp
 | 
			
		||||
#UseSyslog
 | 
			
		||||
#ShowSize
 | 
			
		||||
#UseDelta
 | 
			
		||||
@@ -42,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]
 | 
			
		||||
@@ -57,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,25 +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);
 | 
			
		||||
		_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);
 | 
			
		||||
		/* 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);
 | 
			
		||||
 | 
			
		||||
		/* 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)) {
 | 
			
		||||
@@ -690,8 +535,9 @@ 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;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -857,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;
 | 
			
		||||
@@ -867,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);
 | 
			
		||||
		}
 | 
			
		||||
@@ -886,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,24 +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);
 | 
			
		||||
unsigned short alpm_pkg_has_force(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);
 | 
			
		||||
@@ -250,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;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -364,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.
 | 
			
		||||
	 */
 | 
			
		||||
@@ -377,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 */
 | 
			
		||||
@@ -404,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
 | 
			
		||||
 */
 | 
			
		||||
@@ -431,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);
 | 
			
		||||
 | 
			
		||||
@@ -439,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
 | 
			
		||||
@@ -468,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
 | 
			
		||||
@@ -494,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,
 | 
			
		||||
@@ -502,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.
 | 
			
		||||
 */
 | 
			
		||||
static 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
 | 
			
		||||
 */
 | 
			
		||||
static 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 @@ static 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,12 +571,12 @@ 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 = (pmpkgreason_t)atol(_alpm_strtrim(line));
 | 
			
		||||
@@ -507,7 +586,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
				 *       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,7 +696,7 @@ 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))) {
 | 
			
		||||
					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);
 | 
			
		||||
@@ -658,12 +737,16 @@ int _alpm_db_prepare(pmdb_t *db, pmpkg_t *info)
 | 
			
		||||
	int retval = 0;
 | 
			
		||||
	char *pkgpath = NULL;
 | 
			
		||||
 | 
			
		||||
	oldmask = umask(0000);
 | 
			
		||||
	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));
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not create directory %s: %s\n"),
 | 
			
		||||
				pkgpath, strerror(errno));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	free(pkgpath);
 | 
			
		||||
@@ -727,10 +810,11 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
			}
 | 
			
		||||
			fprintf(fp, "\n");
 | 
			
		||||
		}
 | 
			
		||||
		if(info->force) {
 | 
			
		||||
			fprintf(fp, "%%FORCE%%\n\n");
 | 
			
		||||
		}
 | 
			
		||||
		if(local) {
 | 
			
		||||
			if(info->force) {
 | 
			
		||||
				fprintf(fp, "%%EPOCH%%\n"
 | 
			
		||||
						"1\n\n");
 | 
			
		||||
			}
 | 
			
		||||
			if(info->url) {
 | 
			
		||||
				fprintf(fp, "%%URL%%\n"
 | 
			
		||||
								"%s\n\n", info->url);
 | 
			
		||||
@@ -748,11 +832,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"
 | 
			
		||||
@@ -761,7 +845,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"
 | 
			
		||||
@@ -770,11 +854,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"
 | 
			
		||||
@@ -826,7 +910,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
 | 
			
		||||
@@ -74,6 +75,8 @@ static int parse_descfile(struct archive *a, pmpkg_t *newpkg)
 | 
			
		||||
				STRDUP(newpkg->version, ptr, RET_ERR(PM_ERR_MEMORY, -1));
 | 
			
		||||
			} else if(!strcmp(key, "pkgdesc")) {
 | 
			
		||||
				STRDUP(newpkg->desc, ptr, RET_ERR(PM_ERR_MEMORY, -1));
 | 
			
		||||
			} else if(!strcmp(key, "force")) {
 | 
			
		||||
				newpkg->force = 1;
 | 
			
		||||
			} else if(!strcmp(key, "group")) {
 | 
			
		||||
				newpkg->groups = alpm_list_add(newpkg->groups, strdup(ptr));
 | 
			
		||||
			} else if(!strcmp(key, "url")) {
 | 
			
		||||
@@ -81,9 +84,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 +114,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 +134,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 +271,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
 | 
			
		||||
@@ -54,6 +55,7 @@ int _alpm_db_load_pkgcache(pmdb_t *db)
 | 
			
		||||
		return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db->pkgcache_loaded = 1;
 | 
			
		||||
	return(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -61,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;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -71,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)
 | 
			
		||||
@@ -85,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);
 | 
			
		||||
@@ -104,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);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -139,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);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -172,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);
 | 
			
		||||
	}
 | 
			
		||||
@@ -192,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);
 | 
			
		||||
 | 
			
		||||
@@ -230,6 +227,7 @@ int _alpm_db_load_grpcache(pmdb_t *db)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db->grpcache_loaded = 1;
 | 
			
		||||
	return(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -239,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)
 | 
			
		||||
@@ -258,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>
 | 
			
		||||
@@ -28,6 +29,7 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <dirent.h>
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "conflict.h"
 | 
			
		||||
@@ -39,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;
 | 
			
		||||
 | 
			
		||||
@@ -49,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);
 | 
			
		||||
}
 | 
			
		||||
@@ -57,6 +60,7 @@ void _alpm_conflict_free(pmconflict_t *conflict)
 | 
			
		||||
{
 | 
			
		||||
	FREE(conflict->package2);
 | 
			
		||||
	FREE(conflict->package1);
 | 
			
		||||
	FREE(conflict->reason);
 | 
			
		||||
	FREE(conflict);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -67,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);
 | 
			
		||||
}
 | 
			
		||||
@@ -120,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 {
 | 
			
		||||
@@ -166,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);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
@@ -218,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.
 | 
			
		||||
@@ -347,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);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -367,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];
 | 
			
		||||
 | 
			
		||||
@@ -392,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));
 | 
			
		||||
				}
 | 
			
		||||
@@ -408,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) {
 | 
			
		||||
@@ -420,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) {
 | 
			
		||||
@@ -436,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);
 | 
			
		||||
@@ -507,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);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										161
									
								
								lib/libalpm/db.c
									
									
									
									
									
								
							
							
						
						
									
										161
									
								
								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>
 | 
			
		||||
@@ -85,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);
 | 
			
		||||
}
 | 
			
		||||
@@ -235,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;
 | 
			
		||||
 | 
			
		||||
@@ -263,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;
 | 
			
		||||
 | 
			
		||||
@@ -295,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;
 | 
			
		||||
 | 
			
		||||
@@ -322,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);
 | 
			
		||||
}
 | 
			
		||||
@@ -348,13 +382,44 @@ 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 *)d1;
 | 
			
		||||
@@ -400,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;
 | 
			
		||||
@@ -411,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",
 | 
			
		||||
@@ -431,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;
 | 
			
		||||
 | 
			
		||||
@@ -445,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;
 | 
			
		||||
@@ -496,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,37 +28,39 @@
 | 
			
		||||
 | 
			
		||||
/* 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);
 | 
			
		||||
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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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,6 +22,7 @@
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdint.h> /* intmax_t */
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <regex.h>
 | 
			
		||||
@@ -43,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));
 | 
			
		||||
@@ -81,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);
 | 
			
		||||
	}
 | 
			
		||||
@@ -131,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);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@@ -141,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) {
 | 
			
		||||
@@ -178,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;
 | 
			
		||||
@@ -195,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);
 | 
			
		||||
@@ -212,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;
 | 
			
		||||
@@ -232,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);
 | 
			
		||||
@@ -247,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
 | 
			
		||||
 */
 | 
			
		||||
@@ -262,9 +302,8 @@ pmdelta_t *_alpm_delta_parse(char *line)
 | 
			
		||||
	regex_t reg;
 | 
			
		||||
 | 
			
		||||
	regcomp(®,
 | 
			
		||||
			"^[^[:space:]]* [[:xdigit:]]{32}"
 | 
			
		||||
			" [^[:space:]]* [[:xdigit:]]{32}"
 | 
			
		||||
			" [^[:space:]]* [[:xdigit:]]{32} [[:digit:]]*$",
 | 
			
		||||
			"^[^[: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 */
 | 
			
		||||
@@ -275,26 +314,6 @@ pmdelta_t *_alpm_delta_parse(char *line)
 | 
			
		||||
 | 
			
		||||
	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';
 | 
			
		||||
@@ -305,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);
 | 
			
		||||
}
 | 
			
		||||
@@ -313,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,120 +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, ret = 0;
 | 
			
		||||
	size_t dl_thisfile = 0, nread = 0;
 | 
			
		||||
	char *tempfile, *destfile, *filename;
 | 
			
		||||
	struct url *fileurl = url_for_string(url);
 | 
			
		||||
	char buffer[PM_DLBUF_LEN];
 | 
			
		||||
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);
 | 
			
		||||
 | 
			
		||||
	/* 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;
 | 
			
		||||
		_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");
 | 
			
		||||
		chk_resume = 1;
 | 
			
		||||
	} 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 {
 | 
			
		||||
		fileurl->offset = (off_t)0;
 | 
			
		||||
		dl_thisfile = 0;
 | 
			
		||||
		_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);
 | 
			
		||||
 | 
			
		||||
	/* 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"));
 | 
			
		||||
 | 
			
		||||
	/* libdownload does not reset the error code, reset it in
 | 
			
		||||
	 * the case of previous errors */
 | 
			
		||||
	downloadLastErrCode = 0;
 | 
			
		||||
	/* 10s timeout */
 | 
			
		||||
	fetchTimeout = 10;
 | 
			
		||||
 | 
			
		||||
	/* 10s timeout - TODO make a config option */
 | 
			
		||||
	downloadTimeout = 10000;
 | 
			
		||||
	/* 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);
 | 
			
		||||
 | 
			
		||||
	dlf = downloadXGet(fileurl, &ust, (handle->nopassiveftp ? "" : "p"));
 | 
			
		||||
	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);
 | 
			
		||||
 | 
			
		||||
	if(downloadLastErrCode != 0 || dlf == NULL) {
 | 
			
		||||
		const char *host = _("disk");
 | 
			
		||||
		if(strcmp(SCHEME_FILE, fileurl->scheme) != 0) {
 | 
			
		||||
			host = fileurl->host;
 | 
			
		||||
		}
 | 
			
		||||
		pm_errno = PM_ERR_LIBDOWNLOAD;
 | 
			
		||||
	/* 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, host, downloadLastErrString);
 | 
			
		||||
				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;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fetchLastErrCode = 0;
 | 
			
		||||
	dlf = fetchGet(fileurl, "");
 | 
			
		||||
	check_stop();
 | 
			
		||||
 | 
			
		||||
	if(fetchLastErrCode != 0 || dlf == NULL) {
 | 
			
		||||
		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;
 | 
			
		||||
	} 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);
 | 
			
		||||
@@ -195,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;
 | 
			
		||||
		}
 | 
			
		||||
@@ -206,39 +247,58 @@ static int download_internal(const char *url, const char *localpath,
 | 
			
		||||
		handle->dlcb(filename, 0, ust.size);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	while((nread = fread(buffer, 1, PM_DLBUF_LEN, dlf)) > 0) {
 | 
			
		||||
	while((nread = fetchIO_read(dlf, buffer, PM_DLBUF_LEN)) > 0) {
 | 
			
		||||
		check_stop();
 | 
			
		||||
		size_t nwritten = 0;
 | 
			
		||||
		if(ferror(dlf)) {
 | 
			
		||||
			pm_errno = PM_ERR_LIBDOWNLOAD;
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("error downloading '%s': %s\n"),
 | 
			
		||||
					filename, downloadLastErrString);
 | 
			
		||||
		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;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		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;
 | 
			
		||||
 | 
			
		||||
@@ -246,153 +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;
 | 
			
		||||
 | 
			
		||||
	/* 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;
 | 
			
		||||
@@ -411,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++;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -438,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>
 | 
			
		||||
@@ -294,7 +295,7 @@ alpm_list_t SYMEXPORT *alpm_pkg_get_groups(pmpkg_t *pkg)
 | 
			
		||||
	return pkg->groups;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unsigned short SYMEXPORT alpm_pkg_has_force(pmpkg_t *pkg)
 | 
			
		||||
int SYMEXPORT alpm_pkg_has_force(pmpkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
@@ -422,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
 | 
			
		||||
@@ -449,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);
 | 
			
		||||
@@ -463,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) {
 | 
			
		||||
@@ -531,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;
 | 
			
		||||
 | 
			
		||||
@@ -546,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
 | 
			
		||||
@@ -555,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)
 | 
			
		||||
@@ -833,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);
 | 
			
		||||
@@ -840,6 +704,28 @@ void _alpm_pkg_free(pmpkg_t *pkg)
 | 
			
		||||
	FREE(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)
 | 
			
		||||
{
 | 
			
		||||
@@ -863,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*
 | 
			
		||||
@@ -882,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,14 +1,22 @@
 | 
			
		||||
# Set of available languages.
 | 
			
		||||
ca
 | 
			
		||||
cs
 | 
			
		||||
de
 | 
			
		||||
el
 | 
			
		||||
en_GB
 | 
			
		||||
es
 | 
			
		||||
fr
 | 
			
		||||
hu
 | 
			
		||||
it
 | 
			
		||||
kk
 | 
			
		||||
nb
 | 
			
		||||
pl
 | 
			
		||||
pt
 | 
			
		||||
pt_BR
 | 
			
		||||
ro
 | 
			
		||||
ru
 | 
			
		||||
sk
 | 
			
		||||
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,20 +1,20 @@
 | 
			
		||||
# 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, 2009.
 | 
			
		||||
# 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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-01-04 21:59+0100\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
 | 
			
		||||
@@ -22,25 +22,9 @@ msgid "replacing older version %s-%s by %s in target list\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"
 | 
			
		||||
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 "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 "nelze instalovat dva konfliktní balíčky současně\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 lze nahradit ručně použitím -Rd a -U\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"directory permissions differ on %s\n"
 | 
			
		||||
@@ -49,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"
 | 
			
		||||
@@ -102,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"
 | 
			
		||||
@@ -125,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,14 +149,14 @@ msgstr "chyba při čtení balíčku %s: %s\n"
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "cesta k databázi není definována\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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"
 | 
			
		||||
msgstr "zjištěna cyklická závislost:\n"
 | 
			
		||||
@@ -165,6 +169,10 @@ 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"
 | 
			
		||||
@@ -173,45 +181,33 @@ msgstr "byl vybrán nahrazující balíček (%s poskytuje %s)\n"
 | 
			
		||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
 | 
			
		||||
msgstr "nelze 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á se HTTP\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á se 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í se 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"
 | 
			
		||||
@@ -285,6 +281,10 @@ msgstr "nelze odstranit záznam v databázi"
 | 
			
		||||
msgid "invalid url for 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"
 | 
			
		||||
msgstr "transakce inicializována"
 | 
			
		||||
@@ -310,17 +310,17 @@ 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"
 | 
			
		||||
@@ -329,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"
 | 
			
		||||
@@ -346,8 +338,12 @@ msgid "package filename is not valid"
 | 
			
		||||
msgstr "jméno souboru balíčku není platné"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no such repository"
 | 
			
		||||
msgstr "takový repositář není nastaven"
 | 
			
		||||
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"
 | 
			
		||||
@@ -357,10 +353,6 @@ msgstr "neplatný nebo poškozený delta rozdíl"
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "aplikace delta rozdílu selhala"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "skupina nebyla nalezena"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "nelze vyřešit závislosti"
 | 
			
		||||
@@ -374,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"
 | 
			
		||||
@@ -409,6 +393,10 @@ msgstr "neočekávaná chyba"
 | 
			
		||||
msgid "could not find %s in database -- skipping\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"
 | 
			
		||||
msgstr "nelze odstranit soubor '%s': %s\n"
 | 
			
		||||
@@ -422,20 +410,28 @@ 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: ignoruje se aktualizace balíčku (měl být nahrazen %s-%s)\n"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoruje se aktualizace balíčku (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoruje se aktualizace balíčku (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignoruje se náhrada balíčku (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "repositář '%s' nebyl nalezen\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -457,42 +453,14 @@ msgstr "zjištěn konflikt nerozlišitelných balíčků\n"
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "'%s' odstraněn ze seznamu cílů, protože je konfliktní s '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "command: %s\n"
 | 
			
		||||
msgstr "příkaz: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files from %s\n"
 | 
			
		||||
msgstr "selhalo získání 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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
@@ -501,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ší se provádění skriptů\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "nelze vytvořit dočasný adresář\n"
 | 
			
		||||
@@ -513,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"
 | 
			
		||||
@@ -530,24 +498,16 @@ 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 "skript se nepodařilo spustit správně\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"
 | 
			
		||||
@@ -556,3 +516,87 @@ 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á 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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-01-03 11:58+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"
 | 
			
		||||
@@ -419,6 +404,10 @@ msgstr "Unerwarteter Fehler"
 | 
			
		||||
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"
 | 
			
		||||
@@ -432,20 +421,28 @@ 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"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: Ignoriere Paket-Aktualisierung (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: Ignoriere Paket-Aktualisierung (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "Ignoriere Paket-Ersetzung (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "Repositorium '%s' nicht gefunden\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2008-08-23 23:38+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"
 | 
			
		||||
@@ -408,6 +392,10 @@ msgstr "unexpected error"
 | 
			
		||||
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"
 | 
			
		||||
@@ -421,20 +409,28 @@ 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"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "repository '%s' not found\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -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"
 | 
			
		||||
@@ -555,4 +515,3 @@ msgstr "no %s cache exists, creating...\n"
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "couldn't create package cache, using /tmp instead\n"
 | 
			
		||||
msgstr "couldn't create package cache, using /tmp instead\n"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +1,22 @@
 | 
			
		||||
# 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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-01-03 03:18-0300\n"
 | 
			
		||||
"Last-Translator: Juan Pablo González Tognarelli <jotapesan@gmail.com>\n"
 | 
			
		||||
"Language-Team: Spanish <kde-i18n-doc@lists.kde.org>\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: 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: Lokalize 0.2\n"
 | 
			
		||||
"X-Generator: Lokalize 1.0\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
@@ -21,27 +24,12 @@ 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 ""
 | 
			
		||||
@@ -51,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"
 | 
			
		||||
@@ -103,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"
 | 
			
		||||
@@ -122,14 +127,18 @@ 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"
 | 
			
		||||
@@ -151,14 +160,14 @@ msgstr "error mientras se leía el paquete %s: %s\n"
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
msgstr "faltan los metadatos del paquete en %s\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 "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 "dependency cycle detected:\n"
 | 
			
		||||
msgstr "ciclo de dependencias detectado:\n"
 | 
			
		||||
@@ -171,6 +180,10 @@ msgstr "%s será quitado luego de su dependencia %s\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -179,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 puede escribir en el 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"
 | 
			
		||||
@@ -245,7 +246,7 @@ 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"
 | 
			
		||||
@@ -291,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ó"
 | 
			
		||||
@@ -316,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"
 | 
			
		||||
@@ -335,14 +341,6 @@ 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"
 | 
			
		||||
@@ -352,8 +350,12 @@ msgid "package filename is not valid"
 | 
			
		||||
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"
 | 
			
		||||
@@ -361,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"
 | 
			
		||||
@@ -380,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"
 | 
			
		||||
@@ -415,6 +405,11 @@ msgstr "error inesperado"
 | 
			
		||||
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"
 | 
			
		||||
@@ -428,22 +423,28 @@ 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"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorando la actualización del paquete (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorando la actualización del paquete (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignorando el reemplazo del paquete (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "repositorio '%s' no encontrado\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -464,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"
 | 
			
		||||
@@ -511,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"
 | 
			
		||||
@@ -523,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"
 | 
			
		||||
@@ -539,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 +533,44 @@ msgstr "no existe la cache %s, creando...\n"
 | 
			
		||||
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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2008-08-23 22:51+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"
 | 
			
		||||
@@ -412,6 +398,10 @@ msgstr "erreur non prévue"
 | 
			
		||||
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"
 | 
			
		||||
@@ -425,20 +415,28 @@ 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"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignore la mise à jour du paquet (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignore la mise à jour du paquet (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignore le remplacement du paquet (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "dépôt '%s' non trouvé\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -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"
 | 
			
		||||
@@ -560,4 +521,3 @@ msgstr "le cache %s n'existe pas, création...\n"
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "couldn't create package cache, using /tmp instead\n"
 | 
			
		||||
msgstr "n'a pas pu créer le cache de paquets, /tmp sera utilisé à la place\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-08-23 10:54-0500\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"
 | 
			
		||||
@@ -409,6 +394,10 @@ msgstr "nemvárt hiba"
 | 
			
		||||
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"
 | 
			
		||||
@@ -422,20 +411,28 @@ 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"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: csomagfrissítés kihagyása (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: csomagfrissítés kihagyása (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "csomag-lecserélés kihagyása (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "a(z) '%s' repó nem található\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -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 <giovanni@archlinux.org>, 2007, 2008, 2009
 | 
			
		||||
# 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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2008-08-23 19:30+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 "ignoro %s-%s perché la nuova versione %s è già presente nella lista dei pacchetti\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 ""
 | 
			
		||||
"puoi 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 ""
 | 
			
		||||
@@ -51,14 +37,14 @@ msgstr ""
 | 
			
		||||
"i permessi delle directory differiscono su %s\n"
 | 
			
		||||
"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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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: 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"
 | 
			
		||||
msgstr "impossibile estrarre %s (%s)\n"
 | 
			
		||||
@@ -104,13 +90,29 @@ 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' è corrotta\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 è inconsistente: il nome del pacchetto %s non corrisponde\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 è inconsistente: la versione del pacchetto %s non corrisponde\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"
 | 
			
		||||
@@ -147,14 +156,14 @@ msgstr "si è verificato un errore durante la lettura del pacchetto %s: %s\n"
 | 
			
		||||
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 DB 'locale'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "il percorso del database non è stato definito\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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"
 | 
			
		||||
msgstr "individuato un possibile ciclo di dipendenze:\n"
 | 
			
		||||
@@ -167,6 +176,10 @@ 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 è già stato selezionato (%s dipende da %s)\n"
 | 
			
		||||
@@ -175,45 +188,33 @@ msgstr "il pacchetto è già stato selezionato (%s dipende da %s)\n"
 | 
			
		||||
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 è esatto\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url scheme not specified, assuming HTTP\n"
 | 
			
		||||
msgstr "non è stato specificato il protocollo dell'url, 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 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"
 | 
			
		||||
@@ -287,6 +288,10 @@ 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 "l'operazione è già stata inizializzata"
 | 
			
		||||
@@ -312,17 +317,17 @@ msgid "operation not compatible with the transaction type"
 | 
			
		||||
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 scaricare 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 "il pacchetto non è valido oppure è corrotto"
 | 
			
		||||
@@ -331,14 +336,6 @@ msgstr "il pacchetto non è valido oppure è corrotto"
 | 
			
		||||
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 "il pacchetto non è stato installato oppure è una versione meno recente"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove all files for package"
 | 
			
		||||
msgstr "impossibile rimuovere tutti i file del pacchetto"
 | 
			
		||||
@@ -348,8 +345,12 @@ 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"
 | 
			
		||||
@@ -359,10 +360,6 @@ msgstr "il delta non è valido oppure è corrotto"
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "si sono verificati degli errori con la patch di delta"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "impossibile trovare il gruppo"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "impossibile soddisfare le dipendenze"
 | 
			
		||||
@@ -376,16 +373,8 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "file in conflitto"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "l'utente ha annullato l'operazione"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
@@ -411,6 +400,10 @@ msgstr "errore inaspettato"
 | 
			
		||||
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"
 | 
			
		||||
@@ -423,24 +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: l'aggiornamento del pacchetto è stato ignorato (per essere sostituito con %s-%"
 | 
			
		||||
"s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s: la versione installata (%s) è più recente di quella in %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%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"
 | 
			
		||||
@@ -453,8 +452,8 @@ 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"
 | 
			
		||||
"installazione in corso di una versione meno recente del pacchetto %s (%s => "
 | 
			
		||||
"%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
@@ -462,44 +461,17 @@ msgstr "sono stati rilevati dei conflitti irrisolvibili\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "rimozione di '%s' dalla lista dei pacchetti 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 scaricare 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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
@@ -508,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"
 | 
			
		||||
@@ -520,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"
 | 
			
		||||
@@ -537,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 "жинақ іске қосылмады"
 | 
			
		||||
 | 
			
		||||
#, 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 "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 "%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-08-23 10:54-0500\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
 | 
			
		||||
@@ -406,6 +391,10 @@ msgstr ""
 | 
			
		||||
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 ""
 | 
			
		||||
@@ -419,7 +408,15 @@ 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"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
@@ -427,11 +424,11 @@ msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
@@ -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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-01-03 16:50+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2010-06-04 13:36-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2010-08-01 05:10+0100\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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database directory %s\n"
 | 
			
		||||
msgstr "nie udało się usunąć katalogu bazy danych %s\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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicated database entry '%s'\n"
 | 
			
		||||
msgstr "zduplikowany wpis '%s' w bazie danych\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"
 | 
			
		||||
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"
 | 
			
		||||
msgid "resuming download of %s not possible; starting over\n"
 | 
			
		||||
msgstr "kontynuowanie pobieranie %s jest niemożliwe; zaczynam od nowa\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"
 | 
			
		||||
@@ -352,8 +341,12 @@ msgid "package filename is not valid"
 | 
			
		||||
msgstr "nazwa pakietu jest nieprawidłowa"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no such repository"
 | 
			
		||||
msgstr "nie ma takiego repozytorium"
 | 
			
		||||
msgid "package architecture is not valid"
 | 
			
		||||
msgstr "architektura pakietu jest nieprawidłowa"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find repository for target"
 | 
			
		||||
msgstr "nie mogę znaleźć repozytorium dla celu"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
@@ -416,6 +397,10 @@ msgstr "niespodziewany błąd"
 | 
			
		||||
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"
 | 
			
		||||
@@ -429,21 +414,28 @@ 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"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorowanie aktualizacji pakietu (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorowanie aktualizacji pakietu (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignorowanie zastępowania pakietu (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "repozytorium '%s' nie zostało znalezione\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -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,14 @@ 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"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										615
									
								
								lib/libalpm/po/pt.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										615
									
								
								lib/libalpm/po/pt.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,615 @@
 | 
			
		||||
# translation of pt_PT.po to European Portuguese
 | 
			
		||||
# European Portuguese 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.
 | 
			
		||||
# Gaspar Santos aka ArchGalileu <omeuviolino@gmail.com>, 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-08-31 18:25+0100\n"
 | 
			
		||||
"Last-Translator: \n"
 | 
			
		||||
"Language-Team: Gaspar Santos aka ArchGalileu <omeuviolino@gmail.com>\n"
 | 
			
		||||
"Language: pt_PT\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"
 | 
			
		||||
"X-Generator: Lokalize 1.1\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing older version %s-%s by %s in target list\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"a substituir a versão antiga %s-%s por %s na lista de pacotes para "
 | 
			
		||||
"actualizar\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "skipping %s-%s because newer version %s is in target list\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"a ignorar %s-%s por que uma versão mais nova %s está na lista de pacotes "
 | 
			
		||||
"para actualizar\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"directory permissions differ on %s\n"
 | 
			
		||||
"filesystem: %o  package: %o\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"permissões do diretório diferem em %s\n"
 | 
			
		||||
"sistema de ficheiros: %o  pacote: %o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: not overwriting dir with file %s\n"
 | 
			
		||||
msgstr "extracção: não sobrescrever diretório com o ficheiro %s\n"
 | 
			
		||||
 | 
			
		||||
# ?
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "extracçã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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not rename %s to %s (%s)\n"
 | 
			
		||||
msgstr "não foi possível renomear %s para %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s saved as %s\n"
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s installed as %s\n"
 | 
			
		||||
msgstr "%s instalado como %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extracting %s as %s.pacnew\n"
 | 
			
		||||
msgstr "a extrair %s como %s.pacnew\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not get current working directory\n"
 | 
			
		||||
msgstr "não foi possível obter o diretório de trabalho actual\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while upgrading %s\n"
 | 
			
		||||
msgstr "ocorreram erros durante a actualização de %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while installing %s\n"
 | 
			
		||||
msgstr "ocorreram erros durante a instalação de %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not update database entry %s-%s\n"
 | 
			
		||||
msgstr "não foi possível actualizar a entrada na base de dados %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not add entry '%s' in cache\n"
 | 
			
		||||
msgstr "não foi possível adicionar a entrada '%s' à cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing invalid database: %s\n"
 | 
			
		||||
msgstr "a remover 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 da base de dados corrompida '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open file %s: %s\n"
 | 
			
		||||
msgstr "não foi possível abrir o ficheiro %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
 | 
			
		||||
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 do pacote %s não coincide\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create directory %s: %s\n"
 | 
			
		||||
msgstr "não foi possível criar o diretório %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not parse package description file in %s\n"
 | 
			
		||||
msgstr "não foi possível interpretar o ficheiro de descrição do pacote em %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package name in %s\n"
 | 
			
		||||
msgstr "em falta o nome do pacote em %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package version in %s\n"
 | 
			
		||||
msgstr "em falta a versão do pacote em %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error while reading package %s: %s\n"
 | 
			
		||||
msgstr "erro ao ler o pacote %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
msgstr "em falta metadados do pacote em %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "localização da base de dados não definida\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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s will be removed after its %s dependency\n"
 | 
			
		||||
msgstr "%s será removido após a dependência %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s will be installed before its %s dependency\n"
 | 
			
		||||
msgstr "%s será instalado antes da dependência %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package %s-%s\n"
 | 
			
		||||
msgstr "a ignorar pacote %s-%s\n"
 | 
			
		||||
 | 
			
		||||
# ?
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "provider package was selected (%s provides %s)\n"
 | 
			
		||||
msgstr "foi selecionado o pacote que fornece (%s fornece %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "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 ficheiro '%s' de %s : %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "resuming download of %s not possible; starting over\n"
 | 
			
		||||
msgstr "não foi possível retomar a descarga de %s; a reiniciar a descarga\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error writing to file '%s': %s\n"
 | 
			
		||||
msgstr "erro ao escrever no ficheiro '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed retrieving file '%s' from %s\n"
 | 
			
		||||
msgstr "falha ao obter o ficheiro '%s' de %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
 | 
			
		||||
msgstr "%s parece estar quebrado: %jd/%jd bytes\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to download %s\n"
 | 
			
		||||
msgstr "falha ao fazer a descarga de %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "out of memory!"
 | 
			
		||||
msgstr "memória cheia!"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected system error"
 | 
			
		||||
msgstr "erro inesperado do sistema"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "insufficient privileges"
 | 
			
		||||
msgstr "privilégios insuficientes"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read file"
 | 
			
		||||
msgstr "não foi possível encontrar ou ler o ficheiro"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read directory"
 | 
			
		||||
msgstr "não foi possível encontrar ou ler o diretório"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrong or NULL argument passed"
 | 
			
		||||
msgstr "argumento comunicado está errado ou NULO"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library not initialized"
 | 
			
		||||
msgstr "biblioteca não inicializada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library already initialized"
 | 
			
		||||
msgstr "biblioteca já inicializada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unable to lock database"
 | 
			
		||||
msgstr "não foi possível bloquear a base de dados"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open database"
 | 
			
		||||
msgstr "não foi possível abrir a base de dados"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create database"
 | 
			
		||||
msgstr "não foi possível criar a base de dados"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database not initialized"
 | 
			
		||||
msgstr "base de dados não inicializada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database already registered"
 | 
			
		||||
msgstr "base de dados já registrada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find database"
 | 
			
		||||
msgstr "não foi possível encontrar a base de dados"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not update database"
 | 
			
		||||
msgstr "não foi possível actualizar a base de dados"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry"
 | 
			
		||||
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 o servidor"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "nenhum servidor configurado para o repositório"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "operação já inicializada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not initialized"
 | 
			
		||||
msgstr "operação não inicializada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicate target"
 | 
			
		||||
msgstr "objecto alvo duplicado"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not prepared"
 | 
			
		||||
msgstr "operação não está pronta"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction aborted"
 | 
			
		||||
msgstr "operação abortada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation not compatible with the transaction type"
 | 
			
		||||
msgstr "actividade não compatível com o tipo de operação"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction commit attempt when database is not locked"
 | 
			
		||||
msgstr "tentativa de aceitar a operação com a base de dados não bloqueada"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot open package file"
 | 
			
		||||
msgstr "não foi possível abrir o ficheiro do pacote"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove all files for package"
 | 
			
		||||
msgstr "não foi possível remover todos os ficheiros do pacote"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package filename is not valid"
 | 
			
		||||
msgstr "o nome do pacote não é válido"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package architecture is not valid"
 | 
			
		||||
msgstr "a arquitectura do pacote não é válida"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
msgstr "delta inválido ou corrompido"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "patch do delta falhou"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "não foi possível cumprir as dependências"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting dependencies"
 | 
			
		||||
msgstr "dependências em conflito"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting files"
 | 
			
		||||
msgstr "ficheiros em conflito"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "falha ao descarregar alguns ficheiros"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
msgstr "expressão regular inválida"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "libarchive error"
 | 
			
		||||
msgstr "erro na libarchive"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "download library error"
 | 
			
		||||
msgstr "erro na biblioteca de descargas"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
msgstr "erro ao invocar o programa de descargas externo"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "erro inesperado"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "não foi possível encontrar %s na base de dados - a ignorar\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing %s from target list\n"
 | 
			
		||||
msgstr "a remover \"%s\" da lista de pacotes a serem actualizados\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove file '%s': %s\n"
 | 
			
		||||
msgstr "não foi possível remover o ficheiro '%s': %s\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"
 | 
			
		||||
 | 
			
		||||
#, 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: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: a ignorar actualização do pacote (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: a ignorar downgrade do pacote (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: a voltar 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 recente que %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "a ignorar 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"
 | 
			
		||||
msgstr "%s-%s está actualizado -- a ignorar\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s está actualizado -- a reinstalar\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "a fazer downgrade do pacote %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "detectado conflito entre pacotes sem solução\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "a remover '%s' da lista de pacotes porque entra em conflito com '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files from %s\n"
 | 
			
		||||
msgstr "falha ao obter alguns ficheiros de %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit removal transaction\n"
 | 
			
		||||
msgstr "não foi possível efectuar a operação de remoção\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction\n"
 | 
			
		||||
msgstr "não foi possível efectuar a operação\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove lock file %s\n"
 | 
			
		||||
msgstr "não foi possível remover o ficheiro bloqueado %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "não foi possível criar diretório temporário\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not copy tempfile to %s (%s)\n"
 | 
			
		||||
msgstr "não foi possível copiar ficheiro 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 o diretório para %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not fork a new process (%s)\n"
 | 
			
		||||
msgstr "não foi possível fazer fork de um novo processo (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change the root directory (%s)\n"
 | 
			
		||||
msgstr "não foi possível mudar o diretório raiz (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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)\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 "command failed to execute correctly\n"
 | 
			
		||||
msgstr "comando não executado corretamente\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no %s cache exists, creating...\n"
 | 
			
		||||
msgstr "cache %s não existe, a criar...\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "couldn't create package cache, using /tmp instead\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"não foi possível criar cache de pacotes, a usar /tmp como alternativa\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"
 | 
			
		||||
@@ -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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2008-08-24 11:24-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,7 +393,7 @@ 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"
 | 
			
		||||
@@ -420,6 +403,10 @@ msgstr "erro inesperado"
 | 
			
		||||
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"
 | 
			
		||||
@@ -430,23 +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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: local (%s) é mais novo que %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"
 | 
			
		||||
@@ -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,5 +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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-01-03 15:55+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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
@@ -147,77 +152,69 @@ msgstr "ошибка при чтении пакета %s: %s\n"
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
msgstr "отсутствуют метаданные пакета в %s\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 "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"
 | 
			
		||||
@@ -376,16 +369,8 @@ 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"
 | 
			
		||||
@@ -397,7 +382,7 @@ msgstr "ошибка в libarchive"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "download library error"
 | 
			
		||||
msgstr "ошибка в download library"
 | 
			
		||||
msgstr "ошибка в библиотеке загрузки"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
@@ -409,43 +394,55 @@ msgstr "непредвиденная ошибка"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "не могу найти %s в базе данных --  пропускаю\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 "не удалось удалить файл '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s-%s\n"
 | 
			
		||||
msgstr "не могу удалить из базы данных запись %s-%s\n"
 | 
			
		||||
msgstr "не удалось удалить из базы данных запись %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "не могу удалить запись '%s' из кэша\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"
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: игнорирую обновление пакета (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "пропускается замена пакета (%s-%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"
 | 
			
		||||
@@ -457,107 +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 "could not create directory %s: %s\n"
 | 
			
		||||
#~ msgstr "не удалось создать директорию %s: (%s)\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"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										518
									
								
								lib/libalpm/po/sk.po
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										518
									
								
								lib/libalpm/po/sk.po
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,518 @@
 | 
			
		||||
# translation of sk.po to Slovak
 | 
			
		||||
# Copyright (C) 2010 Pacman Development Team <pacman-dev@archlinux.org>
 | 
			
		||||
# This file is distributed under the same license as the pacman package manager package.
 | 
			
		||||
# Jose Riha <jose1711 gmail com>, 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-07-27 22:56+0200\n"
 | 
			
		||||
"Last-Translator: Jozef Říha <jose1711@gmail.com>\n"
 | 
			
		||||
"Language-Team: Slovak\n"
 | 
			
		||||
"Language: sk\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=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 zozname cieľov nahradená staršia verzia %s-%s za %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "skipping %s-%s because newer version %s is in target list\n"
 | 
			
		||||
msgstr "vynechávam %s-%s, pretože v zozname cieľov je novšia verzia %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"directory permissions differ on %s\n"
 | 
			
		||||
"filesystem: %o  package: %o\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"prístupové práva adresára %s sa nezhodujú\n"
 | 
			
		||||
"súborový systém: %o  balíček: %o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: not overwriting dir with file %s\n"
 | 
			
		||||
msgstr "rozbalenie: adresár nebol prepísaný súborom %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "rozbalenie: symbolický odkaz %s neodkazuje na adresár\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not extract %s (%s)\n"
 | 
			
		||||
msgstr "nie je možné rozbaliť %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not rename %s to %s (%s)\n"
 | 
			
		||||
msgstr "nie je možné premenovať %s na %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s saved as %s\n"
 | 
			
		||||
msgstr "%s bol uložený ako %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not install %s as %s (%s)\n"
 | 
			
		||||
msgstr "%s nie je možné nainštalovať ako %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s installed as %s\n"
 | 
			
		||||
msgstr "%s bol nainštalovaný ako %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extracting %s as %s.pacnew\n"
 | 
			
		||||
msgstr "%s bol rozbalený ako %s.pacnew\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not get current working directory\n"
 | 
			
		||||
msgstr "nie je možné zistiť aktuálny pracovný adresár\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while upgrading %s\n"
 | 
			
		||||
msgstr "nastal problém pri aktualizácii %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while installing %s\n"
 | 
			
		||||
msgstr "nastal problém pri inštalácii %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not update database entry %s-%s\n"
 | 
			
		||||
msgstr "nie je možné aktualizovať záznam databáze %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not add entry '%s' in cache\n"
 | 
			
		||||
msgstr "nie je možné pridať položku '%s' do cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing invalid database: %s\n"
 | 
			
		||||
msgstr "odstraňujem neplatnú databázu: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open %s: %s\n"
 | 
			
		||||
msgstr "nepodarilo sa otvoriť %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database directory %s\n"
 | 
			
		||||
msgstr "nie je možné odstrániť adresár databáze %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database %s\n"
 | 
			
		||||
msgstr "nie je možné odstrániť záznam v databáze %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid name for database entry '%s'\n"
 | 
			
		||||
msgstr "neplatná názov záznamu v databáze '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicated database entry '%s'\n"
 | 
			
		||||
msgstr "duplicitný záznam v databáze '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "corrupted database entry '%s'\n"
 | 
			
		||||
msgstr "poškodený záznam v databáze '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open file %s: %s\n"
 | 
			
		||||
msgstr "nie je možné otvoriť súbor %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
 | 
			
		||||
msgstr "databáza %s je nekonzistentná: nesúhlasí meno balíčka %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
 | 
			
		||||
msgstr "databáza %s je nekonzistentná: nesúhlasí verzia balíčka %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create directory %s: %s\n"
 | 
			
		||||
msgstr "nie je možné vytvoriť adresár %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not parse package description file in %s\n"
 | 
			
		||||
msgstr "nie je možné spracovať súbor s popisom balíčka v %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package name in %s\n"
 | 
			
		||||
msgstr "chýba meno balíčka v %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package version in %s\n"
 | 
			
		||||
msgstr "chýba verzia balíčka v %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error while reading package %s: %s\n"
 | 
			
		||||
msgstr "chyba pri čítaní balíčka %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
msgstr "chýbaju metadáta balíčka v %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "cesta k databáze nie je definovaná\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "attempt to re-register the 'local' DB\n"
 | 
			
		||||
msgstr "pokus o opätovné zaregistrovanie databáze 'local'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "dependency cycle detected:\n"
 | 
			
		||||
msgstr "zistená cyklická závislosť:\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s will be removed after its %s dependency\n"
 | 
			
		||||
msgstr "%s bude odstránený po %s, na ktorom závisí\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s will be installed before its %s dependency\n"
 | 
			
		||||
msgstr "%s bude nainštalovaný pred %s, na ktorom závisí\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package %s-%s\n"
 | 
			
		||||
msgstr "ignorujem balíček %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "provider package was selected (%s provides %s)\n"
 | 
			
		||||
msgstr "bol vybraný nahradzujúci balíček (%s poskytuje %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
 | 
			
		||||
msgstr "nie je možné vyriešiť \"%s\", závislosť \"%s\"\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "disk"
 | 
			
		||||
msgstr "disk"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url '%s' is invalid\n"
 | 
			
		||||
msgstr "URL '%s' je neplatná\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed retrieving file '%s' from %s : %s\n"
 | 
			
		||||
msgstr "chyba pri získavaní súboru '%s' z %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "resuming download of %s not possible; starting over\n"
 | 
			
		||||
msgstr "nie je možné pokračovať v sťahovaní %s, začínam sťahovať od začiatku\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error writing to file '%s': %s\n"
 | 
			
		||||
msgstr "chyba pri zápisu do súboru '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed retrieving file '%s' from %s\n"
 | 
			
		||||
msgstr "zlyhalo získanie súboru '%s' z %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
 | 
			
		||||
msgstr "%s vyzerá byť skrátený:  %jd/%jd bytov\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to download %s\n"
 | 
			
		||||
msgstr "chyba pri sťahovaní %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "out of memory!"
 | 
			
		||||
msgstr "nedostatok pamäte!"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected system error"
 | 
			
		||||
msgstr "neočakávaná systémová chyba"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "insufficient privileges"
 | 
			
		||||
msgstr "nedostatočné oprávnenia"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read file"
 | 
			
		||||
msgstr "nie je možné nájsť alebo prečítať súbor"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read directory"
 | 
			
		||||
msgstr "nie je možné nájsť alebo prečítať adresár"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrong or NULL argument passed"
 | 
			
		||||
msgstr "odovzdaný chybný alebo NULL argument"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library not initialized"
 | 
			
		||||
msgstr "knižnica nebola inicializovaná"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library already initialized"
 | 
			
		||||
msgstr "knižnica je už inicializovaná"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unable to lock database"
 | 
			
		||||
msgstr "nie je možné zamknúť databázu"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open database"
 | 
			
		||||
msgstr "nie je možné otvoriť databázu"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create database"
 | 
			
		||||
msgstr "nie je možné vytvoriť databázu"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database not initialized"
 | 
			
		||||
msgstr "databáza nebola inicializovaná"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database already registered"
 | 
			
		||||
msgstr "databáza je už zaregistrovaná"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find database"
 | 
			
		||||
msgstr "nemožno nájsť databázu"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not update database"
 | 
			
		||||
msgstr "nemožno aktualizovať databázu"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry"
 | 
			
		||||
msgstr "nie je možné odstrániť záznam v databáze"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "neplatná URL pre server"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "pre repozitár nie sú nastavené žiadne servery"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "transakcia už bola inicializovaná"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not initialized"
 | 
			
		||||
msgstr "transakcia nebola inicializovaná"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicate target"
 | 
			
		||||
msgstr "duplicitný cieľ"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not prepared"
 | 
			
		||||
msgstr "transakcia nie je pripravená"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction aborted"
 | 
			
		||||
msgstr "transakcia bola zrušená"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation not compatible with the transaction type"
 | 
			
		||||
msgstr "operácia nie je kompatibilná s typom transakcie"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction commit attempt when database is not locked"
 | 
			
		||||
msgstr "pokus o uskutočnenie transakcie v čas, kedy nie je databáza uzamknutá"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read package"
 | 
			
		||||
msgstr "nie je možné nájsť alebo prečítať balíček"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation cancelled due to ignorepkg"
 | 
			
		||||
msgstr "operácia bola zrušená kvôli ignorovanému balíčku"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted package"
 | 
			
		||||
msgstr "neplatný alebo poškodený balíček"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot open package file"
 | 
			
		||||
msgstr "nie je možné otvoriť súbor balíčka"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove all files for package"
 | 
			
		||||
msgstr "nie je možné odstrániť všetky súbory balíčka"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package filename is not valid"
 | 
			
		||||
msgstr "méno súboru balíčka je neplatné"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package architecture is not valid"
 | 
			
		||||
msgstr "architektúra balíčka je neplatná"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find repository for target"
 | 
			
		||||
msgstr "nie je možné nájsť repozitár cieľa"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted delta"
 | 
			
		||||
msgstr "neplatný alebo poškodený delta rozdiel"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "aplikácia delta rozdielu zlyhala"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "nie je možné vyriešiť závislosti"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting dependencies"
 | 
			
		||||
msgstr "konfliktné závislosti"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting files"
 | 
			
		||||
msgstr "konfliktné súbory"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "chyba pri získavaní niektorých súborov"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
msgstr "neplatný regulárny výraz"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "libarchive error"
 | 
			
		||||
msgstr "chyba knižnice libarchive"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "download library error"
 | 
			
		||||
msgstr "chyba knižnice pre sťahovanie súborov"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
msgstr "chyba volania externého programu pre sťahovanie súborov"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "neočakávaná chyba"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "nie je možné nájsť %s v databáze -- preskakujem\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing %s from target list\n"
 | 
			
		||||
msgstr "'%s' odstránený zo zoznamu cieľov\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove file '%s': %s\n"
 | 
			
		||||
msgstr "nie je možné odstrániť súbor '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s-%s\n"
 | 
			
		||||
msgstr "nie je možné odstrániť záznam databáze %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "nie je možné odstrániť položku '%s' z cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorujem aktualizáciu balíčka (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorujem downgrade balíčka (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: downgradujem z verzie %s na verziu %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: lokálna verzia (%s) je novšia ako %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignorujem náhradu balíčku (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "nedá sa nahradiť súbor %s súborom %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- skipping\n"
 | 
			
		||||
msgstr "%s-%s je aktuálny -- preskakujem\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s je aktuálny -- preinštalovávam\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "downgradujem balíček %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "zistený konflikt nerozlíšiteľných balíčkov\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "'%s' odstránený zo zoznamu cieľov, pretože je v konflikte s '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files from %s\n"
 | 
			
		||||
msgstr "chyba pri získavaní niektorých súborov z %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit removal transaction\n"
 | 
			
		||||
msgstr "nie je možné uskutočniť transakciu pre odstránenie\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction\n"
 | 
			
		||||
msgstr "nie je možné uskutočniť transakciu\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove lock file %s\n"
 | 
			
		||||
msgstr "nie je možné odstrániť zamykací súbor %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "nie je možné vytvoriť dočasný adresár\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not copy tempfile to %s (%s)\n"
 | 
			
		||||
msgstr "nie je možné skopírovať dočasný súbor do %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove tmpdir %s\n"
 | 
			
		||||
msgstr "nie je možné odstrániť dočasný adresár %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "nie je možné prepnúť sa do adresára %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not fork a new process (%s)\n"
 | 
			
		||||
msgstr "nie je možné spustiť nový proces (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change the root directory (%s)\n"
 | 
			
		||||
msgstr "nie je možné zmeniť koreňový adresár (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to / (%s)\n"
 | 
			
		||||
msgstr "nie je možné prepnúť sa do adresára / (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to popen failed (%s)\n"
 | 
			
		||||
msgstr "volanie popen skončilo s chybou (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to waitpid failed (%s)\n"
 | 
			
		||||
msgstr "volanie waitpid zlyhalo (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "command failed to execute correctly\n"
 | 
			
		||||
msgstr "príkaz sa nepodarilo spustiť správne\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no %s cache exists, creating...\n"
 | 
			
		||||
msgstr "neexistuje cache %s, vytváram...\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "couldn't create package cache, using /tmp instead\n"
 | 
			
		||||
msgstr "nie je možné vytvoriť cache balíčkov, použijem /tmp\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: 2010-09-03 13:00+0200\n"
 | 
			
		||||
"Last-Translator: Tobias Eriksson <tobier@tobier.se>\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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database directory %s\n"
 | 
			
		||||
msgstr "kunde inte ta bort databaskatalogen %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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicated database entry '%s'\n"
 | 
			
		||||
msgstr "dubblerat 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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "resuming download of %s not possible; starting over\n"
 | 
			
		||||
msgstr "kan inte återuppta nerladdning av %s, 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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package architecture is not valid"
 | 
			
		||||
msgstr "paketets arkitektur är inte giltigt"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find repository for target"
 | 
			
		||||
msgstr "givet förråd finns inte"
 | 
			
		||||
 | 
			
		||||
#, 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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-01-03 16:20+0200\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 <tr@archlinuxtr.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 çakışan paketler bulundu\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you cannot install two conflicting packages at the same time\n"
 | 
			
		||||
msgstr "çakışan 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 "%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"
 | 
			
		||||
@@ -407,6 +392,10 @@ msgstr "beklenmedik hata"
 | 
			
		||||
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"
 | 
			
		||||
@@ -419,21 +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: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: yereldeki paket (%s) %s (%s) paketinden daha güncel\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"
 | 
			
		||||
@@ -453,44 +451,16 @@ 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"
 | 
			
		||||
@@ -499,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"
 | 
			
		||||
@@ -511,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"
 | 
			
		||||
@@ -525,33 +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"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,16 +1,16 @@
 | 
			
		||||
# Copyright (C) 2008 Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
# This file is distributed under the same license as the pacman 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.
 | 
			
		||||
# Ivan Kovnatsky <sevenfourk@gmail.com>, 2008.
 | 
			
		||||
# Roman Kyrylych <roman@archlinux.org>, 2008, 2009.
 | 
			
		||||
#
 | 
			
		||||
# Roman Kyrylych <roman@archlinux.org>, 2008, 2009, 2010.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libalpm 3.2.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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: \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: http://archlinux.org.ua\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"
 | 
			
		||||
@@ -22,26 +22,10 @@ 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 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 "заміна пакунків за допомогою -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"
 | 
			
		||||
@@ -50,14 +34,14 @@ msgstr ""
 | 
			
		||||
"права каталога відрізняються на\n"
 | 
			
		||||
"файловій системі %s: %o  пакунок: %o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "розпакування: символьне посилання %s не вказує на каталог\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"
 | 
			
		||||
@@ -88,7 +72,7 @@ msgstr "неможливо отримати поточний робочий ка
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while upgrading %s\n"
 | 
			
		||||
msgstr "з'явилась проблема при поновленні %s\n"
 | 
			
		||||
msgstr "з'явилась проблема при оновленні %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while installing %s\n"
 | 
			
		||||
@@ -96,20 +80,36 @@ msgstr "з'явилась проблема при встановленні %s\n"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicated database entry '%s'\n"
 | 
			
		||||
msgstr "дублікат у базі даних '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "corrupted database entry '%s'\n"
 | 
			
		||||
msgstr "пошкоджений запис у базі даних '%s'\n"
 | 
			
		||||
@@ -126,6 +126,10 @@ msgstr "база даних %s неоднорідна: неспівпадінн
 | 
			
		||||
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"
 | 
			
		||||
@@ -146,26 +150,30 @@ msgstr "помилка при читанні пакунку %s: %s\n"
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
msgstr "бракує метаданих пакунку в %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "attempt to re-register the 'local' DB\n"
 | 
			
		||||
msgstr "спроба перереєструвати базу даних 'local'\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"
 | 
			
		||||
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"
 | 
			
		||||
@@ -174,45 +182,33 @@ msgstr "був вибраний пакунок %s, що забезпечує %s\
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
@@ -276,16 +272,20 @@ 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 "невірне посилання чи сервер"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "для репозиторія не налаштовано жодного сервера"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "транзакція вже ініціалізована"
 | 
			
		||||
@@ -311,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 "невірний чи пошкоджений пакунок"
 | 
			
		||||
@@ -330,25 +330,21 @@ 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"
 | 
			
		||||
@@ -358,10 +354,6 @@ msgstr "невірний чи пошкоджений дельта-патч"
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "накладення дельта-патчу невдале"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "група не знадена"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "неможливо забезпечити залежності"
 | 
			
		||||
@@ -375,16 +367,8 @@ 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"
 | 
			
		||||
@@ -410,41 +394,53 @@ msgstr "неочікувана помилка"
 | 
			
		||||
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 "неможливо вилучити файл '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s-%s\n"
 | 
			
		||||
msgstr "неможливо видалити запис бази даних %s-%s\n"
 | 
			
		||||
msgstr "неможливо вилучити запис бази даних %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "неможливо видалити запис '%s' з кешу\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"
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ігнорування поновлення пакунку (%s => %s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ігнорування заміни пакунка (%s-%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"
 | 
			
		||||
@@ -456,43 +452,15 @@ 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"
 | 
			
		||||
msgstr "неможливо здійснити транзакцію вилучення\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction\n"
 | 
			
		||||
@@ -500,12 +468,7 @@ msgstr "неможливо здійснити транзакцію\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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"
 | 
			
		||||
msgstr "неможливо вилучити файл блокування %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
@@ -515,6 +478,10 @@ msgstr "неиожливо створити тимчасовий каталог\
 | 
			
		||||
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"
 | 
			
		||||
@@ -532,24 +499,16 @@ msgid "could not change directory to / (%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 "неможливо видалити тимчасовий каталог %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"
 | 
			
		||||
@@ -558,3 +517,88 @@ 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,18 +1,19 @@
 | 
			
		||||
# 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.2.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-08-23 10:54-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2008-10-28 16:20+0900\n"
 | 
			
		||||
"Last-Translator: Lyman Li <lymanrb@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"
 | 
			
		||||
@@ -22,24 +23,8 @@ msgid "replacing older version %s-%s by %s in target list\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 "跳过 %1$s-%2$s,因为较新版本的 %3$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 ""
 | 
			
		||||
@@ -49,14 +34,14 @@ msgstr ""
 | 
			
		||||
"目录权限不一致 %1$s\n"
 | 
			
		||||
"文件系统:%2$o  软件包:%3$o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "解压缩:符号链接 %s 没有指向目录\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 "无法解压缩 %1$s (%2$s)\n"
 | 
			
		||||
@@ -102,13 +87,29 @@ msgid "could not add entry '%s' in cache\n"
 | 
			
		||||
msgstr "无法在缓存中添加记录 '%s' \n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s%s\n"
 | 
			
		||||
msgstr "无法删除数据库记录 %1$s%2$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"
 | 
			
		||||
@@ -125,6 +126,10 @@ msgstr "%1$s 数据库不一致:名字和软件包中的 %2$s 不一致\n"
 | 
			
		||||
msgid "%s database is inconsistent: version mismatch on package %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"
 | 
			
		||||
@@ -145,14 +150,14 @@ msgstr "读取软件包 %1$s 发生错误: %2$s\n"
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
msgstr "%s 中缺少软件包元数据\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 "attempt to re-register the 'local' DB\n"
 | 
			
		||||
msgstr "尝试重新登记“本地”数据库\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "dependency cycle detected:\n"
 | 
			
		||||
msgstr "检测到依赖关系环:\n"
 | 
			
		||||
@@ -165,6 +170,10 @@ msgstr "%1$s 将在它 %2$s 的依赖关系之后被删除\n"
 | 
			
		||||
msgid "%s will be installed before its %s dependency\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 "已选定提供软件包 (%1$s 提供 %2$s)\n"
 | 
			
		||||
@@ -173,45 +182,33 @@ msgstr "已选定提供软件包 (%1$s 提供 %2$s)\n"
 | 
			
		||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
 | 
			
		||||
msgstr "无法解决 \"%1$s\",\"%2$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 scheme 未指定,假定为 HTTP\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 "无法从 %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 "下载 '%1$s' 时出错: %2$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 "写入文件 '%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:fork 失败!\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"
 | 
			
		||||
@@ -285,6 +282,10 @@ msgstr "无法删除数据库记录"
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "无效的服务器 url"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "软件库没有配置服务器信息"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "处理已初始化"
 | 
			
		||||
@@ -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,14 +330,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 "无法为软件包删除全部文件"
 | 
			
		||||
@@ -346,8 +339,12 @@ 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"
 | 
			
		||||
@@ -357,10 +354,6 @@ msgstr "无效的或已损坏的 delta"
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "delta 补丁失败"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "没有找到软件包组"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "无法满足依赖关系"
 | 
			
		||||
@@ -374,16 +367,8 @@ 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"
 | 
			
		||||
@@ -409,6 +394,10 @@ msgstr "未预期的错误"
 | 
			
		||||
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 "无法删除文件 '%1$s': %2$s\n"
 | 
			
		||||
@@ -422,20 +411,28 @@ 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 "%1$s-%2$s:忽略软件包更新(由 %3$s-%4$s 替代)\n"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%1$s:忽略软件包更新(%2$s => %3$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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 "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%1$s:忽略软件包更新(%2$s => %3$s)\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "正在忽略软件包更新 (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "没有找到软件库 '%s'\n"
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "无法用文件 '%2$s' 替代 %1$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- skipping\n"
 | 
			
		||||
@@ -457,42 +454,14 @@ msgstr "检测到未解决的软件包冲突\n"
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "正在从目标清单中删除 '%1$s' ,因为它和 '%2$s' 冲突\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "command: %s\n"
 | 
			
		||||
msgstr "命令:%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"
 | 
			
		||||
@@ -501,10 +470,6 @@ 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"
 | 
			
		||||
@@ -513,6 +478,10 @@ msgstr "无法创建临时目录\n"
 | 
			
		||||
msgid "could not copy tempfile to %s (%s)\n"
 | 
			
		||||
msgstr "无法复制临时文件到 %1$s (%2$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 "无法更改目录到 %1$s (%2$s)\n"
 | 
			
		||||
@@ -530,24 +499,16 @@ msgid "could not change directory to / (%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 "无法删除临时目录 %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open %s: %s\n"
 | 
			
		||||
msgstr "无法打开 %1$s: %2$s\n"
 | 
			
		||||
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,36 +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);
 | 
			
		||||
				alpm_logaction("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;
 | 
			
		||||
@@ -311,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);
 | 
			
		||||
@@ -326,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);
 | 
			
		||||
@@ -353,20 +411,24 @@ 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);
 | 
			
		||||
 | 
			
		||||
			/* init progress bar */
 | 
			
		||||
			PROGRESS(trans, PM_TRANS_PROGRESS_REMOVE_START, info->name, 0,
 | 
			
		||||
					pkg_count, (pkg_count - targcount + 1));
 | 
			
		||||
 | 
			
		||||
			/* 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);
 | 
			
		||||
@@ -374,14 +436,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 */
 | 
			
		||||
@@ -397,17 +457,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);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user