forked from mirrors/pacman
		
	Compare commits
	
		
			349 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					aba58e95ab | ||
| 
						 | 
					e8db103122 | ||
| 
						 | 
					b2dcacb5aa | ||
| 
						 | 
					a5ef0e072a | ||
| 
						 | 
					ac37e92449 | ||
| 
						 | 
					44359218ea | ||
| 
						 | 
					bc83ff76c6 | ||
| 
						 | 
					4eb1469765 | ||
| 
						 | 
					cfc4c24db2 | ||
| 
						 | 
					bf9249e929 | ||
| 
						 | 
					4cadee4f08 | ||
| 
						 | 
					fc29d0c990 | ||
| 
						 | 
					9a0122982c | ||
| 
						 | 
					433c52bb91 | ||
| 
						 | 
					78e92b1d02 | ||
| 
						 | 
					05533b8b11 | ||
| 
						 | 
					00c26338de | ||
| 
						 | 
					684047a764 | ||
| 
						 | 
					e65d82afa1 | ||
| 
						 | 
					734aa1ce59 | ||
| 
						 | 
					4e643a3dd7 | ||
| 
						 | 
					08c535e262 | ||
| 
						 | 
					8fdab1e1f0 | ||
| 
						 | 
					b9c6b41387 | ||
| 
						 | 
					04c31828b6 | ||
| 
						 | 
					44272ca0c8 | ||
| 
						 | 
					3a6ed11428 | ||
| 
						 | 
					9b086d8b9e | ||
| 
						 | 
					fb1936bc19 | ||
| 
						 | 
					2f0fc0decb | ||
| 
						 | 
					5753c12e7b | ||
| 
						 | 
					7f3a20612e | ||
| 
						 | 
					fb97d325a5 | ||
| 
						 | 
					2013d06266 | ||
| 
						 | 
					a8ddc7618f | ||
| 
						 | 
					597118ddd7 | ||
| 
						 | 
					6fa5f2075a | ||
| 
						 | 
					30c4d53ce5 | ||
| 
						 | 
					1d19f0896c | ||
| 
						 | 
					ca6ef852f9 | ||
| 
						 | 
					4b21504ffc | ||
| 
						 | 
					cf669eda9c | ||
| 
						 | 
					1c4596b4be | ||
| 
						 | 
					344ced22c3 | ||
| 
						 | 
					60b6cde637 | ||
| 
						 | 
					5d15bb68f7 | ||
| 
						 | 
					45f90de0eb | ||
| 
						 | 
					bfd6817112 | ||
| 
						 | 
					a3ecbec6b5 | ||
| 
						 | 
					8ebc07744a | ||
| 
						 | 
					2e043aae36 | ||
| 
						 | 
					41a55d4eff | ||
| 
						 | 
					5dc0b80c26 | ||
| 
						 | 
					104daa16a6 | ||
| 
						 | 
					caa0f2205a | ||
| 
						 | 
					68c10690ea | ||
| 
						 | 
					8d7764abae | ||
| 
						 | 
					6092dda177 | ||
| 
						 | 
					e72cce352a | ||
| 
						 | 
					621aa26e26 | ||
| 
						 | 
					b312c820c8 | ||
| 
						 | 
					617e7d512f | ||
| 
						 | 
					c72b4543b6 | ||
| 
						 | 
					be7266155f | ||
| 
						 | 
					a21d1f99b8 | ||
| 
						 | 
					6af163dd79 | ||
| 
						 | 
					a89eae99f6 | ||
| 
						 | 
					6d2930cc5a | ||
| 
						 | 
					21fa09349b | ||
| 
						 | 
					68813ca986 | ||
| 
						 | 
					8c8fa2d82c | ||
| 
						 | 
					8bbaf045b9 | ||
| 
						 | 
					01f9ae63e7 | ||
| 
						 | 
					02acf65ef3 | ||
| 
						 | 
					b3a5535360 | ||
| 
						 | 
					f250b034b4 | ||
| 
						 | 
					ef500b44ce | ||
| 
						 | 
					04d5c4294a | ||
| 
						 | 
					aa579b8438 | ||
| 
						 | 
					19b8b63885 | ||
| 
						 | 
					e61ab1536f | ||
| 
						 | 
					13b281d743 | ||
| 
						 | 
					9af9c0f328 | ||
| 
						 | 
					f4ecc908ec | ||
| 
						 | 
					c520d38451 | ||
| 
						 | 
					1b4135ca5d | ||
| 
						 | 
					6360fe0100 | ||
| 
						 | 
					30e2496775 | ||
| 
						 | 
					35b9dfc380 | ||
| 
						 | 
					c301d6aa25 | ||
| 
						 | 
					0bf340f73c | ||
| 
						 | 
					882bff36ac | ||
| 
						 | 
					f89f7e136b | ||
| 
						 | 
					212ea8a9ed | ||
| 
						 | 
					a812ad4ea4 | ||
| 
						 | 
					1bbb34365c | ||
| 
						 | 
					1d8d932fa6 | ||
| 
						 | 
					783e710839 | ||
| 
						 | 
					c5d9b999c7 | ||
| 
						 | 
					4a582fac2a | ||
| 
						 | 
					86cd72573b | ||
| 
						 | 
					80caeabce0 | ||
| 
						 | 
					250e66e57b | ||
| 
						 | 
					5e32928a42 | ||
| 
						 | 
					de44a0f474 | ||
| 
						 | 
					20017354f7 | ||
| 
						 | 
					a783f3fbf1 | ||
| 
						 | 
					f569c4a042 | ||
| 
						 | 
					ed848b1c54 | ||
| 
						 | 
					c27904661e | ||
| 
						 | 
					10584ec8ea | ||
| 
						 | 
					db3e166503 | ||
| 
						 | 
					d70465decc | ||
| 
						 | 
					4b78852f7e | ||
| 
						 | 
					aefb4e0fa5 | ||
| 
						 | 
					391952600d | ||
| 
						 | 
					634304feae | ||
| 
						 | 
					56fd24ecf8 | ||
| 
						 | 
					77efd51216 | ||
| 
						 | 
					93ca155b48 | ||
| 
						 | 
					101c16b3eb | ||
| 
						 | 
					52d184dae8 | ||
| 
						 | 
					63fc93607b | ||
| 
						 | 
					d15d4f923d | ||
| 
						 | 
					6fb0c5abd7 | ||
| 
						 | 
					20ab91fb79 | ||
| 
						 | 
					afb2f39291 | ||
| 
						 | 
					e37ecbe8a4 | ||
| 
						 | 
					22a4616550 | ||
| 
						 | 
					cb8aee58eb | ||
| 
						 | 
					3cb4eaef4f | ||
| 
						 | 
					f385242f99 | ||
| 
						 | 
					5fcc9ae7f4 | ||
| 
						 | 
					442b91a5dd | ||
| 
						 | 
					deff57ce8b | ||
| 
						 | 
					7370fd595b | ||
| 
						 | 
					4c27a776bd | ||
| 
						 | 
					7a8ba5a978 | ||
| 
						 | 
					7df0d048d1 | ||
| 
						 | 
					0c614c181e | ||
| 
						 | 
					91d43ba4b4 | ||
| 
						 | 
					59b4725bbb | ||
| 
						 | 
					a556bc57fc | ||
| 
						 | 
					bbcf96230a | ||
| 
						 | 
					89685bdb29 | ||
| 
						 | 
					994804f20e | ||
| 
						 | 
					f8bb69c1d2 | ||
| 
						 | 
					9fa18d9a4b | ||
| 
						 | 
					c8beffa790 | ||
| 
						 | 
					9519d22df7 | ||
| 
						 | 
					de97282fbd | ||
| 
						 | 
					36863b968f | ||
| 
						 | 
					687f04ab46 | ||
| 
						 | 
					a864a50bc6 | ||
| 
						 | 
					d8d9ab8c87 | ||
| 
						 | 
					4458f71851 | ||
| 
						 | 
					b4e1365657 | ||
| 
						 | 
					8c09c19139 | ||
| 
						 | 
					f09f82ee59 | ||
| 
						 | 
					b3c67a195f | ||
| 
						 | 
					2268981ebf | ||
| 
						 | 
					9d661240fe | ||
| 
						 | 
					f57f8d3386 | ||
| 
						 | 
					0268550401 | ||
| 
						 | 
					a309a016bf | ||
| 
						 | 
					c8a41b7d6d | ||
| 
						 | 
					c590ac0997 | ||
| 
						 | 
					1c4633ea2c | ||
| 
						 | 
					6c4d702cb1 | ||
| 
						 | 
					e7daa59f84 | ||
| 
						 | 
					e515d89969 | ||
| 
						 | 
					dce7aa8569 | ||
| 
						 | 
					48b209d612 | ||
| 
						 | 
					14c1a4423e | ||
| 
						 | 
					eb1775e485 | ||
| 
						 | 
					04c2b9d4ed | ||
| 
						 | 
					ea84819bbb | ||
| 
						 | 
					34e1413d75 | ||
| 
						 | 
					14230869e6 | ||
| 
						 | 
					eab9684837 | ||
| 
						 | 
					c794661f1e | ||
| 
						 | 
					8929769902 | ||
| 
						 | 
					350c3eb6ec | ||
| 
						 | 
					472e51b975 | ||
| 
						 | 
					fba5771fa4 | ||
| 
						 | 
					5bc23bc05d | ||
| 
						 | 
					3d49d88009 | ||
| 
						 | 
					e946ee7745 | ||
| 
						 | 
					21b8a5418d | ||
| 
						 | 
					708ce1480f | ||
| 
						 | 
					9804911c5f | ||
| 
						 | 
					08034ceb17 | ||
| 
						 | 
					219cb2eaac | ||
| 
						 | 
					a9f030e84c | ||
| 
						 | 
					7a3a718c7a | ||
| 
						 | 
					e3a06961f6 | ||
| 
						 | 
					d7345da5ba | ||
| 
						 | 
					b369f71fd6 | ||
| 
						 | 
					1191303f8b | ||
| 
						 | 
					e9ca40b56e | ||
| 
						 | 
					3d6da93093 | ||
| 
						 | 
					cb7337eb64 | ||
| 
						 | 
					4da70d800a | ||
| 
						 | 
					a888f377a5 | ||
| 
						 | 
					8017b0bb8e | ||
| 
						 | 
					4ec846f5ac | ||
| 
						 | 
					94c2830572 | ||
| 
						 | 
					0501d340cd | ||
| 
						 | 
					c6bcdf4dc7 | ||
| 
						 | 
					9f5e1dc8cd | ||
| 
						 | 
					cebe36c42c | ||
| 
						 | 
					301fe17f57 | ||
| 
						 | 
					6f9539aefb | ||
| 
						 | 
					997a611fa4 | ||
| 
						 | 
					162e77ffdc | ||
| 
						 | 
					a2cbccb8c7 | ||
| 
						 | 
					c850786e43 | ||
| 
						 | 
					3acc265f9d | ||
| 
						 | 
					03a63e01a5 | ||
| 
						 | 
					024012649f | ||
| 
						 | 
					93d47ebbc0 | ||
| 
						 | 
					c2dc05c065 | ||
| 
						 | 
					fb18679a00 | ||
| 
						 | 
					792ee97645 | ||
| 
						 | 
					a30bf868ca | ||
| 
						 | 
					1cc8ad6112 | ||
| 
						 | 
					8f26bb9052 | ||
| 
						 | 
					9a7f68317a | ||
| 
						 | 
					774c252753 | ||
| 
						 | 
					1b7ff7a636 | ||
| 
						 | 
					bb9b19a6c4 | ||
| 
						 | 
					b55f478042 | ||
| 
						 | 
					a73ad4f0e3 | ||
| 
						 | 
					b3169a5687 | ||
| 
						 | 
					e49adbea4c | ||
| 
						 | 
					f8b689d48e | ||
| 
						 | 
					c31fcfd833 | ||
| 
						 | 
					cb03817ee8 | ||
| 
						 | 
					bd2de5cdf6 | ||
| 
						 | 
					2f59996c54 | ||
| 
						 | 
					f4651c49af | ||
| 
						 | 
					751d37e749 | ||
| 
						 | 
					08980fb4bc | ||
| 
						 | 
					cc7f3b705e | ||
| 
						 | 
					89b0a76b3c | ||
| 
						 | 
					bd628274cc | ||
| 
						 | 
					9ae7eb1292 | ||
| 
						 | 
					818fae320f | ||
| 
						 | 
					69be73f68c | ||
| 
						 | 
					78cf32e194 | ||
| 
						 | 
					59776ef306 | ||
| 
						 | 
					b373b1d16b | ||
| 
						 | 
					61c6552862 | ||
| 
						 | 
					a1f7c83dbf | ||
| 
						 | 
					6d8a6aef09 | ||
| 
						 | 
					b99bebc008 | ||
| 
						 | 
					a50b067470 | ||
| 
						 | 
					346139298b | ||
| 
						 | 
					f7192b5958 | ||
| 
						 | 
					9394f229a0 | ||
| 
						 | 
					43f9eb1aa9 | ||
| 
						 | 
					8d4e1e6754 | ||
| 
						 | 
					314b4462d2 | ||
| 
						 | 
					c4b9991258 | ||
| 
						 | 
					2890114600 | ||
| 
						 | 
					8d33dcb81c | ||
| 
						 | 
					cd51abf0c8 | ||
| 
						 | 
					2e431e1cc3 | ||
| 
						 | 
					a63aeed562 | ||
| 
						 | 
					2f5d792725 | ||
| 
						 | 
					1e656c0a6a | ||
| 
						 | 
					50e3dc02bf | ||
| 
						 | 
					d1fec15d81 | ||
| 
						 | 
					d24592cbcd | ||
| 
						 | 
					fa02a71abd | ||
| 
						 | 
					91a013a879 | ||
| 
						 | 
					f1f8f0e1c2 | ||
| 
						 | 
					30851a24ff | ||
| 
						 | 
					f0e1846b51 | ||
| 
						 | 
					d7e502a467 | ||
| 
						 | 
					927ce2b7a5 | ||
| 
						 | 
					ce3d70aa99 | ||
| 
						 | 
					f9be2334f7 | ||
| 
						 | 
					18452a6c51 | ||
| 
						 | 
					da933c223e | ||
| 
						 | 
					242e9e90f4 | ||
| 
						 | 
					95ea6fb3c1 | ||
| 
						 | 
					1c47500ea6 | ||
| 
						 | 
					afac773d19 | ||
| 
						 | 
					8263bd0cc2 | ||
| 
						 | 
					d6f62ba22d | ||
| 
						 | 
					d05882db9e | ||
| 
						 | 
					0701356260 | ||
| 
						 | 
					9dbe5c9d1e | ||
| 
						 | 
					a06d0de104 | ||
| 
						 | 
					24d7c6a372 | ||
| 
						 | 
					ece3d3606a | ||
| 
						 | 
					81853893a5 | ||
| 
						 | 
					eeb3c6868c | ||
| 
						 | 
					cfc52dad98 | ||
| 
						 | 
					49c58ce9db | ||
| 
						 | 
					08b0fb856d | ||
| 
						 | 
					6f38cedd8d | ||
| 
						 | 
					a4100b3847 | ||
| 
						 | 
					14203d77f4 | ||
| 
						 | 
					ec928faad3 | ||
| 
						 | 
					4b183bf9a9 | ||
| 
						 | 
					7e8f1469c4 | ||
| 
						 | 
					68e59ecbaf | ||
| 
						 | 
					91eeee08de | ||
| 
						 | 
					05d23059fd | ||
| 
						 | 
					f56d763547 | ||
| 
						 | 
					8f99f75e6e | ||
| 
						 | 
					4b4ad18348 | ||
| 
						 | 
					b0b5dabf1b | ||
| 
						 | 
					31c7e82a51 | ||
| 
						 | 
					496b687c3d | ||
| 
						 | 
					baf5852555 | ||
| 
						 | 
					8146f6f1c6 | ||
| 
						 | 
					adc4078b87 | ||
| 
						 | 
					7865fb9af4 | ||
| 
						 | 
					3ff7701e89 | ||
| 
						 | 
					b3033a59e9 | ||
| 
						 | 
					5b51dbb11e | ||
| 
						 | 
					e760c4f478 | ||
| 
						 | 
					081f64aea3 | ||
| 
						 | 
					0969c2e700 | ||
| 
						 | 
					56f0cf9d15 | ||
| 
						 | 
					96e023c7bd | ||
| 
						 | 
					e27a8c9ae3 | ||
| 
						 | 
					9451b2e4f2 | ||
| 
						 | 
					901e4aa5c2 | ||
| 
						 | 
					282eeadc68 | ||
| 
						 | 
					9609c0f135 | ||
| 
						 | 
					6417ac129d | ||
| 
						 | 
					729651a554 | ||
| 
						 | 
					232b838a54 | ||
| 
						 | 
					fb5c5086e1 | ||
| 
						 | 
					a28b8e187f | ||
| 
						 | 
					89c2c51964 | ||
| 
						 | 
					a23fc08758 | ||
| 
						 | 
					57bd8974c7 | ||
| 
						 | 
					d8f8a12665 | ||
| 
						 | 
					57393eb730 | ||
| 
						 | 
					f201f107db | ||
| 
						 | 
					72c5a298a3 | ||
| 
						 | 
					4476598e4e | ||
| 
						 | 
					9bc799ec7b | ||
| 
						 | 
					692ea72822 | 
							
								
								
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
*.py  diff=python
 | 
			
		||||
							
								
								
									
										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>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								HACKING
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								HACKING
									
									
									
									
									
								
							@@ -12,10 +12,10 @@ Coding style
 | 
			
		||||
1.  All code should be indented with tabs. (Ignore the use of only spaces in
 | 
			
		||||
    this file) By default, source files contain the following VIM modeline:
 | 
			
		||||
+
 | 
			
		||||
[C]
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
/* vim: set ts=2 sw=2 noet: */
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
2.  When opening new blocks such as 'while', 'if', or 'for', leave the opening
 | 
			
		||||
    brace on the same line as the beginning of the codeblock. The closing brace
 | 
			
		||||
@@ -24,8 +24,8 @@ code~~~~~~~~~~
 | 
			
		||||
    braces, even if it's just a one-line block. This reduces future error when
 | 
			
		||||
    blocks are expanded beyond one line.
 | 
			
		||||
+
 | 
			
		||||
[C]
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
for(lp = list; lp; lp = lp->next) {
 | 
			
		||||
  newlist = _alpm_list_add(newlist, strdup(lp->data));
 | 
			
		||||
}
 | 
			
		||||
@@ -40,14 +40,14 @@ while(it) {
 | 
			
		||||
  free(it);
 | 
			
		||||
  it = ptr;
 | 
			
		||||
}
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
3.  When declaring a new function, put the opening and closing braces on their
 | 
			
		||||
    own line. Also, when declaring a pointer, do not put a space between the
 | 
			
		||||
    asterisk and the variable name.
 | 
			
		||||
+
 | 
			
		||||
[C]
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
alpm_list_t *alpm_list_add(alpm_list_t *list, void *data)
 | 
			
		||||
{
 | 
			
		||||
  alpm_list_t *ptr, *lp;
 | 
			
		||||
@@ -58,7 +58,7 @@ alpm_list_t *alpm_list_add(alpm_list_t *list, void *data)
 | 
			
		||||
  }
 | 
			
		||||
  ...
 | 
			
		||||
}
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
4.  Comments should be ANSI-C89 compliant. That means no `// Comment` style;
 | 
			
		||||
    use only `/* Comment */` style.
 | 
			
		||||
@@ -101,37 +101,37 @@ Currently our #include usage is in messy shape, but this is no reason to
 | 
			
		||||
continue down this messy path. When adding an include to a file, follow this
 | 
			
		||||
general pattern, including blank lines:
 | 
			
		||||
 | 
			
		||||
[C]
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <standardheader.h>
 | 
			
		||||
#include <another.h>
 | 
			
		||||
#include <...>
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
Follow this with some more headers, depending on whether the file is in libalpm
 | 
			
		||||
or pacman proper. For libalpm:
 | 
			
		||||
 | 
			
		||||
[C]
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "yourfile.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "anythingelse.h"
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
For pacman:
 | 
			
		||||
 | 
			
		||||
[C]
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
[code,C]
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "yourfile.h"
 | 
			
		||||
#include "anythingelse.h"
 | 
			
		||||
code~~~~~~~~~~
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
/////
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
@@ -3,13 +3,16 @@ if WANT_DOC
 | 
			
		||||
SUBDIRS += doc
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Make sure we test and build manpages when doing distcheck
 | 
			
		||||
DISTCHECK_CONFIGURE_FLAGS = --enable-doc --disable-git-version
 | 
			
		||||
 | 
			
		||||
# Some files automatically included, so they aren't specified below:
 | 
			
		||||
#   AUTHORS, COPYING, NEWS, README
 | 
			
		||||
EXTRA_DIST = HACKING
 | 
			
		||||
 | 
			
		||||
# Sample makepkg prototype files
 | 
			
		||||
pkgdatadir = ${datadir}/${PACKAGE}
 | 
			
		||||
dist_pkgdata_DATA = PKGBUILD.proto proto.install ChangeLog.proto
 | 
			
		||||
dist_pkgdata_DATA = PKGBUILD.proto PKGBUILD-split.proto proto.install ChangeLog.proto
 | 
			
		||||
 | 
			
		||||
# run the pactest test suite and vercmp tests
 | 
			
		||||
check-local: pactest src/pacman src/util
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										75
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,7 +1,78 @@
 | 
			
		||||
VERSION         DESCRIPTION
 | 
			
		||||
-----------------------------------------------------------------------------
 | 
			
		||||
3.2.0
 | 
			
		||||
              - removed -A/--add option from pacman frontend
 | 
			
		||||
3.3.0         - xdelta: many fixes and improvements
 | 
			
		||||
                - new pkgdelta script to create deltas
 | 
			
		||||
                - repo-add can add both deltas and packages to a database
 | 
			
		||||
              - xz archive format supported for packages and databases
 | 
			
		||||
              - in case of unresolvable packages, pacman now asks
 | 
			
		||||
                if they should be skipped instead of aborting
 | 
			
		||||
              - -Suu synchronizes all packages with the version from the
 | 
			
		||||
                repository (including upgrade and downgrade)
 | 
			
		||||
              - replace libdownload dependency by the original libfetch
 | 
			
		||||
              - better support of -q/--quiet flag with -Qo and -Ql
 | 
			
		||||
              - -Sp works without root (FS#8905)
 | 
			
		||||
              - fix a bug where the replacement of a package failed because
 | 
			
		||||
                of a file conflict, and the package was lost (FS#9088)
 | 
			
		||||
              - improved behavior of HoldPkg option (FS#9173)
 | 
			
		||||
              - allow to ignore a package from a group (FS#12059)
 | 
			
		||||
              - search package groups when searching a db (FS#13099)
 | 
			
		||||
              - asciidoc fixes
 | 
			
		||||
              - documentation updates
 | 
			
		||||
              - repo-add: cleanups, improvements and speedup
 | 
			
		||||
              - makepkg:
 | 
			
		||||
                - package splitting support! - see PKGBUILD-split.proto
 | 
			
		||||
                - limit fakeroot usage with addition of package() function
 | 
			
		||||
                - info is handled like man pages and not other documentation
 | 
			
		||||
                - configuration option for man/info page directories
 | 
			
		||||
                - added ability to automatically remove files from package
 | 
			
		||||
                - configuration option for default LDFLAGS
 | 
			
		||||
                - specify alternative configuration file with --config flag
 | 
			
		||||
                - check all integrity checksums provided in PKGBUILD
 | 
			
		||||
                - fix pkgver/pkgrel updating in SCM packages
 | 
			
		||||
                - BUILDSCRIPT option removed from makepkg.conf. Now specified
 | 
			
		||||
                  during configure
 | 
			
		||||
                - enforce no ">" or "<" in provides array
 | 
			
		||||
                - package compression autodetection
 | 
			
		||||
                - check PKGBUILD for CRLF line endings
 | 
			
		||||
                - fix reading PKGBUILD from pipe
 | 
			
		||||
                - increase compatibility with BSDs & Mac OSX
 | 
			
		||||
              - contrib
 | 
			
		||||
                - pacdiff - improvements and new -l flag for using locate
 | 
			
		||||
                - pacscripts - print install scripts for a package
 | 
			
		||||
3.2.2         - log pacsave warnings to pacman.log (FS#12531)
 | 
			
		||||
              - separate local DB creation and writing (FS#12263)
 | 
			
		||||
              - pacman-optimize: rewrite and refresh (FS#11767)
 | 
			
		||||
              - repo-add: use openssl instead of md5sum
 | 
			
		||||
              - simplify doc building process for ease of development
 | 
			
		||||
              - ensure correct handling of syscall interruptions
 | 
			
		||||
              - readd missing newline on -Qi/-Si output (FS#11331)
 | 
			
		||||
              - fix TotalDownload regression (FS#11339)
 | 
			
		||||
              - makepkg:
 | 
			
		||||
                - replace getopt with an internal function
 | 
			
		||||
                - detect incorrect usage of provides (FS#12540)
 | 
			
		||||
                - fix bash substitution to work in older versions
 | 
			
		||||
                - fix updating PKGBUILD and simplify logic for SCM packages
 | 
			
		||||
                - save/restore shell options before/after build() (FS#12344)
 | 
			
		||||
              - documentation updates and asciidoc build fix
 | 
			
		||||
              - existing translation updates
 | 
			
		||||
3.2.1         - drop special handling of file:// URLs
 | 
			
		||||
              - display optdepends on install and upgrade
 | 
			
		||||
              - fix segfault on x86_64 when using UseSyslog (FS#11096)
 | 
			
		||||
              - fix detection of TotalDownload (FS#11180)
 | 
			
		||||
              - fix "No such file" error during --force installs (FS#11218)
 | 
			
		||||
              - better handling of progressbar when behind a proxy (FS#8725)
 | 
			
		||||
              - repo-add: fix whitespace handling (FS#9171, FS#10630)
 | 
			
		||||
              - repo-add: add optdepends to the sync DB (FS#10630)
 | 
			
		||||
              - makepkg:
 | 
			
		||||
                - allow specifying a download filename (related to FS#11292)
 | 
			
		||||
                - fix download functions with weird URLs (FS#11076)
 | 
			
		||||
                - fix creation of source package with local files (FS#11149)
 | 
			
		||||
                - fix error when sourcing profile scripts (FS#11179)
 | 
			
		||||
                - perform case-insensitive checksum comparison (FS#11283)
 | 
			
		||||
              - documentation and help updates (including fix for FS#11203)
 | 
			
		||||
              - new Ukrainian translation
 | 
			
		||||
              - existing translation updates
 | 
			
		||||
3.2.0         - removed -A/--add option from pacman frontend
 | 
			
		||||
              - added --asexplicit option
 | 
			
		||||
              - new remove option --unneeded
 | 
			
		||||
              - add -Rss option to remove all dependencies
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										58
									
								
								PKGBUILD-split.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								PKGBUILD-split.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
# 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'.
 | 
			
		||||
 | 
			
		||||
# Contributor: Your Name <youremail@domain.com>
 | 
			
		||||
pkgname=('pkg1' 'pkg2')
 | 
			
		||||
pkgbase=""
 | 
			
		||||
pkgver=VERSION
 | 
			
		||||
pkgrel=1
 | 
			
		||||
pkgdesc=""
 | 
			
		||||
arch=()
 | 
			
		||||
url=""
 | 
			
		||||
license=('GPL')
 | 
			
		||||
groups=()
 | 
			
		||||
depends=()
 | 
			
		||||
makedepends=()
 | 
			
		||||
provides=()
 | 
			
		||||
conflicts=()
 | 
			
		||||
replaces=()
 | 
			
		||||
backup=()
 | 
			
		||||
options=()
 | 
			
		||||
install=
 | 
			
		||||
source=($pkgbase-$pkgver.tar.gz)
 | 
			
		||||
noextract=()
 | 
			
		||||
md5sums=() #generate with 'makepkg -g'
 | 
			
		||||
 | 
			
		||||
build() {
 | 
			
		||||
  cd "$srcdir/$pkgbase-$pkgver"
 | 
			
		||||
  ./configure --prefix=/usr
 | 
			
		||||
  make || return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
package_pkg1() {
 | 
			
		||||
  # options and directives that can be overridden
 | 
			
		||||
  pkgdesc=""
 | 
			
		||||
  license=()
 | 
			
		||||
  groups=()
 | 
			
		||||
  depends=()
 | 
			
		||||
  optdepends=()
 | 
			
		||||
  provides=()
 | 
			
		||||
  conflicts=()
 | 
			
		||||
  replaces=()
 | 
			
		||||
  backup=()
 | 
			
		||||
  options=()
 | 
			
		||||
  install=
 | 
			
		||||
 | 
			
		||||
  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
 | 
			
		||||
}
 | 
			
		||||
@@ -14,6 +14,7 @@ license=('GPL')
 | 
			
		||||
groups=()
 | 
			
		||||
depends=()
 | 
			
		||||
makedepends=()
 | 
			
		||||
optdepends=()
 | 
			
		||||
provides=()
 | 
			
		||||
conflicts=()
 | 
			
		||||
replaces=()
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								README
									
									
									
									
									
								
							@@ -51,13 +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
 | 
			
		||||
@@ -70,7 +69,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 +244,55 @@ 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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								TRANSLATORS
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								TRANSLATORS
									
									
									
									
									
								
							@@ -14,26 +14,30 @@ Czech (cs):
 | 
			
		||||
	Vojtěch Gondžala <vojtech.gondzala@gmail.com>
 | 
			
		||||
German (de):
 | 
			
		||||
	Matthias Gorissen <matthias@archlinux.de>
 | 
			
		||||
	Benjamin Andresen <benny@in-ulm.de>
 | 
			
		||||
British English (en_GB):
 | 
			
		||||
	Jeff Bailes <thepizzaking@gmail.com>
 | 
			
		||||
Spanish (es):
 | 
			
		||||
	Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>
 | 
			
		||||
	Fernando Lagos <fernando@zerial.org>
 | 
			
		||||
	Juan Pablo Gonzalez <jotapesan@gmail.com>
 | 
			
		||||
French (fr):
 | 
			
		||||
	Chantry Xavier <shiningxc@gmail.com>
 | 
			
		||||
Hungarian (hu):
 | 
			
		||||
	Nagy Gabor <ngaba@bibl.u-szeged.hu>
 | 
			
		||||
	Avramucz Péter <muczyjoe@gmail.com>
 | 
			
		||||
Italian (it):
 | 
			
		||||
	Giovanni 'voidnull' Scafora <linuxmania@gmail.com>
 | 
			
		||||
	Giovanni Scafora <giovanni@archlinux.org>
 | 
			
		||||
Kazakh (kk):
 | 
			
		||||
	Baurzhan Muftakhidinov <baurthefirst@gmail.com>
 | 
			
		||||
Polish (pl):
 | 
			
		||||
	Mateusz Herych <heniekk@gmail.com>
 | 
			
		||||
	Jaroslaw Swierczynski <swiergot@gmail.com>
 | 
			
		||||
	Mateusz Jędrasik <m.jedrasik@gmail.com>
 | 
			
		||||
Brazilian Portuguese (pt_BR):
 | 
			
		||||
	Armando M. Baratti <ambaratti@archlinux-br.org>
 | 
			
		||||
	Hugo Doria <hugo@archlinux.org>
 | 
			
		||||
	Leandro Inacio <leandro@archlinux-br.org>
 | 
			
		||||
	Rodrigo Flores <flores@archlinux-br.org>
 | 
			
		||||
	Marcelo Cavalcante <kalibslack@gmail.com>
 | 
			
		||||
Romanian (ro):
 | 
			
		||||
	Volodia Macovei <blog@volodia.ro>
 | 
			
		||||
Russian (ru):
 | 
			
		||||
	Sergey Tereschenko <serg.partizan@gmail.com>
 | 
			
		||||
	Vitaly Dolgov <ferhiord@gmail.com>
 | 
			
		||||
@@ -42,5 +46,8 @@ Russian (ru):
 | 
			
		||||
Turkish (tr):
 | 
			
		||||
	Samed Beyribey <ras0ir@eventualis.org>
 | 
			
		||||
	Alper KANAT <alperkanat@gmail.com>
 | 
			
		||||
Ukrainian (uk):
 | 
			
		||||
	Roman Kyrylych (Роман Кирилич) <roman.kyrylych@gmail.com>
 | 
			
		||||
	Ivan Kovnatsky (Іван Ковнацький) <sevenfourk@gmail.com>
 | 
			
		||||
Simplified Chinese (zh_CN):
 | 
			
		||||
	甘露(Lu.Gan) <rhythm.gan@gmail.com>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										57
									
								
								autoclean.sh
									
									
									
									
									
								
							
							
						
						
									
										57
									
								
								autoclean.sh
									
									
									
									
									
								
							@@ -2,33 +2,36 @@
 | 
			
		||||
 | 
			
		||||
[ -f Makefile ] && make distclean
 | 
			
		||||
rm -rf autom4te.cache
 | 
			
		||||
rm -rf {Makefile.in,Makefile}
 | 
			
		||||
rm -rf {config.h.in,config.h}
 | 
			
		||||
rm -rf config.status
 | 
			
		||||
rm -rf configure
 | 
			
		||||
rm -rf stamp*
 | 
			
		||||
rm -rf aclocal.m4
 | 
			
		||||
rm -rf compile
 | 
			
		||||
rm -rf libtool
 | 
			
		||||
rm -f {Makefile.in,Makefile}
 | 
			
		||||
rm -f {config.h.in,config.h}
 | 
			
		||||
rm -f config.status
 | 
			
		||||
rm -f configure
 | 
			
		||||
rm -f stamp*
 | 
			
		||||
rm -f aclocal.m4
 | 
			
		||||
rm -f compile
 | 
			
		||||
rm -f libtool
 | 
			
		||||
 | 
			
		||||
rm -rf lib/libalpm/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf src/util/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf src/pacman/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf scripts/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf etc/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf etc/pacman.d/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf etc/abs/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf pactest/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf doc/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf doc/html/*.html
 | 
			
		||||
rm -rf doc/man3/*.3
 | 
			
		||||
rm -f lib/libalpm/{Makefile.in,Makefile}
 | 
			
		||||
rm -f src/util/{Makefile.in,Makefile}
 | 
			
		||||
rm -f src/pacman/{Makefile.in,Makefile}
 | 
			
		||||
rm -f scripts/{Makefile.in,Makefile}
 | 
			
		||||
rm -f etc/{Makefile.in,Makefile}
 | 
			
		||||
rm -f etc/pacman.d/{Makefile.in,Makefile}
 | 
			
		||||
rm -f etc/abs/{Makefile.in,Makefile}
 | 
			
		||||
rm -f pactest{,/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 pactest/*.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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										66
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								configure.ac
									
									
									
									
									
								
							@@ -41,12 +41,12 @@ AC_PREREQ(2.60)
 | 
			
		||||
#   Bugfix releases:
 | 
			
		||||
#     pacman_version_micro += 1
 | 
			
		||||
 | 
			
		||||
m4_define([lib_current], [3])
 | 
			
		||||
m4_define([lib_current], [4])
 | 
			
		||||
m4_define([lib_revision], [0])
 | 
			
		||||
m4_define([lib_age], [0])
 | 
			
		||||
 | 
			
		||||
m4_define([pacman_version_major], [3])
 | 
			
		||||
m4_define([pacman_version_minor], [2])
 | 
			
		||||
m4_define([pacman_version_minor], [3])
 | 
			
		||||
m4_define([pacman_version_micro], [0])
 | 
			
		||||
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
 | 
			
		||||
@@ -103,11 +108,6 @@ AC_ARG_ENABLE(doxygen,
 | 
			
		||||
	AS_HELP_STRING([--enable-doxygen], [build your own API docs via Doxygen]),
 | 
			
		||||
	[wantdoxygen=$enableval], [wantdoxygen=no])
 | 
			
		||||
 | 
			
		||||
# Help line for asciidoc
 | 
			
		||||
AC_ARG_ENABLE(asciidoc,
 | 
			
		||||
	AS_HELP_STRING([--enable-asciidoc], [build your own manpages with Asciidoc]),
 | 
			
		||||
	[wantasciidoc=$enableval], [wantasciidoc=no])
 | 
			
		||||
 | 
			
		||||
# Help line for debug
 | 
			
		||||
AC_ARG_ENABLE(debug,
 | 
			
		||||
	AS_HELP_STRING([--enable-debug], [enable debugging support]),
 | 
			
		||||
@@ -126,7 +126,7 @@ AC_PROG_INSTALL
 | 
			
		||||
AC_PROG_LN_S
 | 
			
		||||
AC_PROG_MAKE_SET
 | 
			
		||||
AC_PROG_LIBTOOL
 | 
			
		||||
AC_CHECK_PROGS([PYTHON], [python2.5 python2.4 python], [false])
 | 
			
		||||
AC_CHECK_PROGS([PYTHON], [python2.6 python2.5 python], [false])
 | 
			
		||||
 | 
			
		||||
# find installed gettext
 | 
			
		||||
AM_GNU_GETTEXT([external])
 | 
			
		||||
@@ -136,17 +136,14 @@ 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]) )
 | 
			
		||||
else
 | 
			
		||||
	AC_MSG_RESULT(no)
 | 
			
		||||
fi
 | 
			
		||||
@@ -182,18 +179,28 @@ GCC_VISIBILITY_CC
 | 
			
		||||
GCC_GNU89_INLINE_CC
 | 
			
		||||
 | 
			
		||||
# Host-dependant definitions
 | 
			
		||||
SIZECMD="stat -c %s"
 | 
			
		||||
SEDINPLACE="sed -i"
 | 
			
		||||
case "${host_os}" in
 | 
			
		||||
	*bsd*)
 | 
			
		||||
		SIZECMD="stat -f %z"
 | 
			
		||||
		SEDINPLACE="sed -i ''"
 | 
			
		||||
		;;
 | 
			
		||||
	cygwin*)
 | 
			
		||||
		host_os_cygwin=yes
 | 
			
		||||
		CFLAGS="$CFLAGS -DCYGWIN"
 | 
			
		||||
		;;
 | 
			
		||||
	darwin*)
 | 
			
		||||
		host_os_darwin=yes
 | 
			
		||||
		SIZECMD="/usr/bin/stat -f %z"
 | 
			
		||||
		SEDINPLACE="/usr/bin/sed -i ''"
 | 
			
		||||
		;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
AM_CONDITIONAL([CYGWIN], test "x$host_os_cygwin" = "xyes")
 | 
			
		||||
AM_CONDITIONAL([DARWIN], test "x$host_os_darwin" = "xyes")
 | 
			
		||||
AC_SUBST(SIZECMD)
 | 
			
		||||
AC_SUBST(SEDINPLACE)
 | 
			
		||||
 | 
			
		||||
# Check for architecture, used in default makepkg.conf
 | 
			
		||||
# (Note single space left after CARCHFLAGS)
 | 
			
		||||
@@ -267,23 +274,6 @@ else
 | 
			
		||||
fi
 | 
			
		||||
AM_CONDITIONAL(USE_DOXYGEN, test "x$usedoxygen" = "xyes")
 | 
			
		||||
 | 
			
		||||
# Check for asciidoc support and status
 | 
			
		||||
AC_CHECK_PROGS([ASCIIDOC], [asciidoc])
 | 
			
		||||
AC_MSG_CHECKING([for asciidoc])
 | 
			
		||||
if test "x$wantasciidoc" = "xyes" ; then
 | 
			
		||||
	if test $ASCIIDOC ; then
 | 
			
		||||
		AC_MSG_RESULT([yes])
 | 
			
		||||
		useasciidoc=yes
 | 
			
		||||
	else
 | 
			
		||||
		AC_MSG_RESULT([no, asciidoc missing])
 | 
			
		||||
		useasciidoc=no
 | 
			
		||||
	fi
 | 
			
		||||
else
 | 
			
		||||
	AC_MSG_RESULT([no, disabled by configure])
 | 
			
		||||
	useasciidoc=no
 | 
			
		||||
fi
 | 
			
		||||
AM_CONDITIONAL(USE_ASCIIDOC, test "x$useasciidoc" = "xyes")
 | 
			
		||||
 | 
			
		||||
# Enable or disable debug code
 | 
			
		||||
AC_MSG_CHECKING(for debug mode request)
 | 
			
		||||
if test "x$debug" = "xyes" ; then
 | 
			
		||||
@@ -330,6 +320,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([
 | 
			
		||||
@@ -342,6 +335,7 @@ doc/Makefile
 | 
			
		||||
etc/Makefile
 | 
			
		||||
po/Makefile.in
 | 
			
		||||
pactest/Makefile
 | 
			
		||||
pactest/tests/Makefile
 | 
			
		||||
contrib/Makefile
 | 
			
		||||
Makefile
 | 
			
		||||
])
 | 
			
		||||
@@ -365,6 +359,8 @@ ${PACKAGE_NAME}:
 | 
			
		||||
    Architecture           : ${CARCH}
 | 
			
		||||
    Architecture flags     : ${CARCHFLAGS}
 | 
			
		||||
    Host Type              : ${CHOST}
 | 
			
		||||
    Filesize command       : ${SIZECMD}
 | 
			
		||||
    In-place sed command   : ${SEDINPLACE}
 | 
			
		||||
 | 
			
		||||
    libalpm version        : ${LIB_VERSION}
 | 
			
		||||
    libalpm version info   : ${LIB_VERSION_INFO}
 | 
			
		||||
@@ -376,12 +372,12 @@ ${PACKAGE_NAME}:
 | 
			
		||||
    package extension      : ${PKGEXT}
 | 
			
		||||
    source pkg extension   : ${SRCEXT}
 | 
			
		||||
    database extension     : ${DBEXT}
 | 
			
		||||
    build script name      : ${BUILDSCRIPT}
 | 
			
		||||
 | 
			
		||||
  Compilation options:
 | 
			
		||||
    Run make in doc/ dir   : ${wantdoc}
 | 
			
		||||
    Use download library   : ${internaldownload}
 | 
			
		||||
    Doxygen support        : ${usedoxygen}
 | 
			
		||||
    Asciidoc support       : ${useasciidoc}
 | 
			
		||||
    debug support          : ${debug}
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@ EXTRA_DIST = \
 | 
			
		||||
	gensync \
 | 
			
		||||
	pacdiff \
 | 
			
		||||
	paclist \
 | 
			
		||||
	pacscripts \
 | 
			
		||||
	pacsearch \
 | 
			
		||||
	pactree \
 | 
			
		||||
	updatesync \
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
 
 | 
			
		||||
@@ -183,6 +183,7 @@ _pacman ()
 | 
			
		||||
          search) mod="${mod}s" ;;
 | 
			
		||||
          upgrades) mod="${mod}u" ;;
 | 
			
		||||
          cascade) mod="${mod}c" ;;
 | 
			
		||||
          check) mod="${mod}k" ;;
 | 
			
		||||
          dbonly) mod="${mod}k" ;;
 | 
			
		||||
          nosave) mod="${mod}n" ;;
 | 
			
		||||
          recursive) mod="${mod}s" ;;
 | 
			
		||||
@@ -294,6 +295,7 @@ _pacman ()
 | 
			
		||||
          -g --groups \
 | 
			
		||||
          -h --help \
 | 
			
		||||
          -i --info \
 | 
			
		||||
          -k --check \
 | 
			
		||||
          -l --list \
 | 
			
		||||
          -m --foreign \
 | 
			
		||||
          -o --owns \
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
#
 | 
			
		||||
#   gensync
 | 
			
		||||
#
 | 
			
		||||
#   Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.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
 | 
			
		||||
@@ -44,7 +44,7 @@ note: The <destfile> name is important. It must be of the form\n\
 | 
			
		||||
version() {
 | 
			
		||||
	printf "gensync (pacman) %s\n" "$myver"
 | 
			
		||||
	printf "\
 | 
			
		||||
Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>.\n\n\
 | 
			
		||||
Copyright (C) 2002-2006 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"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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,60 @@
 | 
			
		||||
#   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
 | 
			
		||||
locate=0
 | 
			
		||||
 | 
			
		||||
usage() {
 | 
			
		||||
	echo "pacdiff : a simple pacnew/pacorig/pacsave updater"
 | 
			
		||||
	echo "Usage : pacdiff [-l]"
 | 
			
		||||
	echo "The -l/--locate flag makes pacdiff use locate rather than find"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cmd() {
 | 
			
		||||
	if [ $locate -eq 1 ]; then
 | 
			
		||||
		locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave
 | 
			
		||||
	else
 | 
			
		||||
		find /etc/ \( -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
 | 
			
		||||
@@ -208,11 +208,10 @@ for (( n=0 ; n < $len_options ; n++ )); do
 | 
			
		||||
		continue
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [[ "${options[$n]}" =~ -d[[:digit:]]* || "${options[$n]}" == "--depth" ]]; then
 | 
			
		||||
	if [[ "${options[$n]}" =~ -d[[:digit:]]+ || "${options[$n]}" == "--depth" ]]; then
 | 
			
		||||
		if [[ "${options[$n]#-d}" =~ [[:digit:]]+ ]]; then
 | 
			
		||||
			max_depth="${options[$n]#-d}"
 | 
			
		||||
		elif [[ ${options[$((n+1))]} =~ [[:digit:]]+ ]]; then
 | 
			
		||||
#		if [ ${options[$((n+1))]} -eq ${options[$((n+1))]} 2>/dev/null ]; then
 | 
			
		||||
			max_depth="${options[$((n+1))]}"
 | 
			
		||||
			unset options[$((n+1))]
 | 
			
		||||
			((++n))
 | 
			
		||||
 
 | 
			
		||||
@@ -50,6 +50,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]'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								doc/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								doc/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -6,5 +6,7 @@ pacman.8
 | 
			
		||||
pacman.conf.5
 | 
			
		||||
repo-add.8
 | 
			
		||||
repo-remove.8
 | 
			
		||||
*.css
 | 
			
		||||
*.html
 | 
			
		||||
*.xml
 | 
			
		||||
man3
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,26 @@ 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
 | 
			
		||||
 | 
			
		||||
HTML_DOCS = \
 | 
			
		||||
	$(HTML_MANPAGES) \
 | 
			
		||||
	$(HTML_OTHER)
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = \
 | 
			
		||||
	asciidoc.conf \
 | 
			
		||||
	pacman.8.txt \
 | 
			
		||||
	makepkg.8.txt \
 | 
			
		||||
	repo-add.8.txt \
 | 
			
		||||
@@ -24,13 +43,20 @@ EXTRA_DIST = \
 | 
			
		||||
	pacman.conf.5.txt \
 | 
			
		||||
	libalpm.3.txt \
 | 
			
		||||
	footer.txt \
 | 
			
		||||
	index.txt \
 | 
			
		||||
	submitting-patches.txt \
 | 
			
		||||
	translation-help.txt \
 | 
			
		||||
	Doxyfile \
 | 
			
		||||
	$(ASCIIDOC_MANS) \
 | 
			
		||||
	$(DOXYGEN_MANS)
 | 
			
		||||
 | 
			
		||||
# Files that should be removed, but which Automake does not know.
 | 
			
		||||
MOSTLYCLEANFILES = *.xml
 | 
			
		||||
MAINTAINERCLEANFILES = $(ASCIIDOC_MANS)
 | 
			
		||||
MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) $(HTML_DOCS) repo-remove.8
 | 
			
		||||
 | 
			
		||||
# Ensure manpages are fresh when building a dist tarball
 | 
			
		||||
dist-hook:
 | 
			
		||||
	$(MAKE) $(AM_MAKEFLAGS) clean
 | 
			
		||||
	$(MAKE) $(AM_MAKEFLAGS) all
 | 
			
		||||
 | 
			
		||||
if USE_GIT_VERSION
 | 
			
		||||
GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 | sed s/^v//')-dirty
 | 
			
		||||
@@ -39,46 +65,58 @@ else
 | 
			
		||||
REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
man_MANS =
 | 
			
		||||
dist_man_MANS = $(ASCIIDOC_MANS) repo-remove.8
 | 
			
		||||
 | 
			
		||||
if USE_DOXYGEN
 | 
			
		||||
man_MANS += $(DOXYGEN_MANS)
 | 
			
		||||
 | 
			
		||||
all: doxygen.in
 | 
			
		||||
all-local: doxygen.in
 | 
			
		||||
 | 
			
		||||
doxygen.in:
 | 
			
		||||
	$(DOXYGEN) $(srcdir)/Doxyfile
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
if USE_ASCIIDOC
 | 
			
		||||
html: $(HTML_DOCS)
 | 
			
		||||
 | 
			
		||||
ASCIIDOC_OPTS = \
 | 
			
		||||
	-f asciidoc.conf \
 | 
			
		||||
	-a pacman_version="$(REAL_PACKAGE_VERSION)" \
 | 
			
		||||
	-a pacman_date="`date +%Y-%m-%d`" \
 | 
			
		||||
	-a sysconfdir=$(sysconfdir)
 | 
			
		||||
A2X_OPTS = \
 | 
			
		||||
	--no-xmllint \
 | 
			
		||||
	-d manpage \
 | 
			
		||||
	-f manpage \
 | 
			
		||||
	--xsltproc-opts='-param man.endnotes.list.enabled 0' \
 | 
			
		||||
	--xsltproc-opts='-param man.endnotes.are.numbered 0'
 | 
			
		||||
 | 
			
		||||
$(ASCIIDOC_MANS):
 | 
			
		||||
	a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS)" $@.txt
 | 
			
		||||
 | 
			
		||||
# These rules are due to the includes and files of the asciidoc text
 | 
			
		||||
$(ASCIIDOC_MANS): asciidoc.conf footer.txt
 | 
			
		||||
pacman.8: pacman.8.txt
 | 
			
		||||
makepkg.8: makepkg.8.txt
 | 
			
		||||
repo-add.8: repo-add.8.txt
 | 
			
		||||
PKGBUILD.5: PKGBUILD.5.txt PKGBUILD-example.txt
 | 
			
		||||
makepkg.conf.5: makepkg.conf.5.txt
 | 
			
		||||
pacman.conf.5: pacman.conf.5.txt
 | 
			
		||||
libalpm.3: libalpm.3.txt
 | 
			
		||||
	a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS)" $@.txt
 | 
			
		||||
 | 
			
		||||
%.html: %.txt
 | 
			
		||||
	asciidoc $(ASCIIDOC_OPTS) -a linkcss $*.txt
 | 
			
		||||
	dos2unix $@
 | 
			
		||||
 | 
			
		||||
# Customizations for certain HTML docs
 | 
			
		||||
$(HTML_MANPAGES): asciidoc.conf footer.txt
 | 
			
		||||
$(HTML_OTHER): asciidoc.conf
 | 
			
		||||
%.8.html: ASCIIDOC_OPTS += -d manpage
 | 
			
		||||
%.5.html: ASCIIDOC_OPTS += -d manpage
 | 
			
		||||
%.3.html: ASCIIDOC_OPTS += -d manpage
 | 
			
		||||
 | 
			
		||||
# Dependency rules
 | 
			
		||||
pacman.8 pacman.8.html: pacman.8.txt
 | 
			
		||||
makepkg.8 makepkg.8.html: makepkg.8.txt
 | 
			
		||||
repo-add.8 repo-add.8.html: repo-add.8.txt
 | 
			
		||||
PKGBUILD.5 PKGBUILD.5.html: PKGBUILD.5.txt PKGBUILD-example.txt
 | 
			
		||||
makepkg.conf.5 makepkg.conf.5.html: makepkg.conf.5.txt
 | 
			
		||||
pacman.conf.5 pacman.conf.5.html: pacman.conf.5.txt
 | 
			
		||||
libalpm.3 libalpm.3.html: libalpm.3.txt
 | 
			
		||||
# this one is just a symlink
 | 
			
		||||
repo-remove.8: repo-add.8
 | 
			
		||||
	ln -s repo-add.8 repo-remove.8
 | 
			
		||||
endif
 | 
			
		||||
	rm -f repo-remove.8
 | 
			
		||||
	$(LN_S) repo-add.8 repo-remove.8
 | 
			
		||||
 | 
			
		||||
# vim:set ts=2 sw=2 noet:
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ pkgname=patch
 | 
			
		||||
pkgver=2.5.4
 | 
			
		||||
pkgrel=3
 | 
			
		||||
pkgdesc="A utility to apply patch files to original sources"
 | 
			
		||||
arch=(i686 x86_64)
 | 
			
		||||
arch=('i686' 'x86_64')
 | 
			
		||||
url="http://www.gnu.org/software/patch/patch.html"
 | 
			
		||||
license=('GPL')
 | 
			
		||||
groups=('base-devel')
 | 
			
		||||
 
 | 
			
		||||
@@ -65,19 +65,19 @@ 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`).
 | 
			
		||||
 | 
			
		||||
*source (array)*::
 | 
			
		||||
	An array of source files required to build the package. Source files
 | 
			
		||||
@@ -87,6 +87,10 @@ similar to `$_basekernver`.
 | 
			
		||||
	variables if possible when specifying the download location. Any files
 | 
			
		||||
	that are compressed will automatically be extracted, unless found in
 | 
			
		||||
	the noextract array listed below.
 | 
			
		||||
+
 | 
			
		||||
It is also possible to specify an optional filename, which is helpful
 | 
			
		||||
with weird URLs and for handling multiple source files with the same
 | 
			
		||||
name. The syntax is: `source=('filename::url')`.
 | 
			
		||||
 | 
			
		||||
*noextract (array)*::
 | 
			
		||||
	An array of filenames corresponding to those from the source array. Files
 | 
			
		||||
@@ -114,7 +118,7 @@ similar to `$_basekernver`.
 | 
			
		||||
 | 
			
		||||
*arch (array)*::
 | 
			
		||||
	Defines on which architectures the given package is available (e.g.
 | 
			
		||||
	`$$arch=('i686' 'x86_64')$$`).
 | 
			
		||||
	`arch=('i686' 'x86_64')`).
 | 
			
		||||
 | 
			
		||||
*backup (array)*::
 | 
			
		||||
	A space-delimited array of filenames, without preceding slashes, that
 | 
			
		||||
@@ -136,11 +140,11 @@ similar to `$_basekernver`.
 | 
			
		||||
	depends.
 | 
			
		||||
 | 
			
		||||
*optdepends (array)*::
 | 
			
		||||
	An array of optional packages (and accompanying reasons) that are not
 | 
			
		||||
	essential to the package, but would offer increased functionality or other
 | 
			
		||||
	features when installed. optdepends are currently for informational
 | 
			
		||||
	purposes only and are not utilized by pacman during dependency resolution.
 | 
			
		||||
	The format should be similar to the following:
 | 
			
		||||
	An array of packages (and accompanying reasons) that are not essential for
 | 
			
		||||
	base functionality, but may be necessary to make full use of the contents
 | 
			
		||||
	of this package. optdepends are currently for informational purposes only
 | 
			
		||||
	and are not utilized by pacman during dependency resolution. The format
 | 
			
		||||
	should be similar to the following:
 | 
			
		||||
 | 
			
		||||
	optdepends=('fakeroot: for makepkg usage as normal user')
 | 
			
		||||
 | 
			
		||||
@@ -156,7 +160,9 @@ similar to `$_basekernver`.
 | 
			
		||||
	depend on 'cron' rather than 'dcron OR fcron'.
 | 
			
		||||
	Versioned provisions are also possible, in the 'name=version' format.
 | 
			
		||||
	For example, dcron can provide 'cron=2.0' to satisfy the 'cron>=2.0'
 | 
			
		||||
	dependency of other packages.
 | 
			
		||||
	dependency of other packages. Provisions involving the '>' and '<'
 | 
			
		||||
	operators are invalid as only specific versions of a package may be
 | 
			
		||||
	provided.
 | 
			
		||||
 | 
			
		||||
*replaces (array)*::
 | 
			
		||||
	An array of packages that this package should replace, and can be used
 | 
			
		||||
@@ -181,8 +187,8 @@ similar to `$_basekernver`.
 | 
			
		||||
		disable this option.
 | 
			
		||||
 | 
			
		||||
	*docs*;;
 | 
			
		||||
		Save doc and info directories. If you wish to delete doc and
 | 
			
		||||
		info directories, specify `!docs` in the array.
 | 
			
		||||
		Save doc directories. If you wish to delete doc directories,
 | 
			
		||||
		specify `!docs` in the array.
 | 
			
		||||
 | 
			
		||||
	*libtool*;;
 | 
			
		||||
		Leave libtool (.la) files in packages. Specify `!libtool` to
 | 
			
		||||
@@ -192,7 +198,7 @@ similar to `$_basekernver`.
 | 
			
		||||
		Leave empty directories in packages.
 | 
			
		||||
 | 
			
		||||
	*zipman*;;
 | 
			
		||||
		Compress man pages with gzip.
 | 
			
		||||
		Compress man and info pages with gzip.
 | 
			
		||||
 | 
			
		||||
	*ccache*;;
 | 
			
		||||
		Allow the use of ccache during build. More useful in its negative
 | 
			
		||||
@@ -215,7 +221,7 @@ similar to `$_basekernver`.
 | 
			
		||||
		operation, even if the version number would normally not trigger
 | 
			
		||||
		such an upgrade. This is useful when the version numbering scheme
 | 
			
		||||
		of a package changes (or is alphanumeric). See linkman:pacman[8] for
 | 
			
		||||
		more infomation on version comparisons.
 | 
			
		||||
		more information on version comparisons.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
build() Function
 | 
			
		||||
@@ -232,24 +238,47 @@ use during the build and install process. These three variables are as follows:
 | 
			
		||||
*startdir*::
 | 
			
		||||
	This contains the absolute path to the directory where the PKGBUILD was
 | 
			
		||||
	located, which is usually the output of `$(pwd)` when makepkg is started.
 | 
			
		||||
	$$startdir$$ was most often used in combination with `/src` or `/pkg`
 | 
			
		||||
	postfixes, but use of the `srcdir` and `pkgdir` variables is preferred.
 | 
			
		||||
 | 
			
		||||
*srcdir*::
 | 
			
		||||
	This points to the directory where makepkg extracts or copies all source
 | 
			
		||||
	files. Although it currently is an alias for `$startdir/src`, this
 | 
			
		||||
	assumption should not be assumed true for all future revisions of makepkg.
 | 
			
		||||
	files.
 | 
			
		||||
 | 
			
		||||
*pkgdir*::
 | 
			
		||||
	This points to the directory where makepkg bundles the installed package
 | 
			
		||||
	(this directory will become the root directory of your built package).
 | 
			
		||||
	Although it currently is an alias for `$startdir/pkg`, this assumption
 | 
			
		||||
	should not be assumed true for all future revisions of makepkg.
 | 
			
		||||
 | 
			
		||||
If you create any variables of your own in the build function, it is
 | 
			
		||||
recommended to use the bash `local` keyword to scope the variable to inside
 | 
			
		||||
the build function.
 | 
			
		||||
 | 
			
		||||
package() Function
 | 
			
		||||
------------------
 | 
			
		||||
An optional package() function can be specified in addition to the build() function.
 | 
			
		||||
This function is run immediately after the build() function. When specified in
 | 
			
		||||
combination with the fakeroot BUILDENV option in linkman:makepkg.conf[5], fakeroot
 | 
			
		||||
usage will be limited to running the packaging stage. The 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: `pkgdesc`,
 | 
			
		||||
`license`, `groups`, `depends`, `optdepends`, `provides`, `conflicts`, `replaces`,
 | 
			
		||||
`backup`, `options` and `install`.
 | 
			
		||||
 | 
			
		||||
An optional global directive is available when building a split package:
 | 
			
		||||
 | 
			
		||||
*pkgbase*::
 | 
			
		||||
	The name used to refer to the group of packages in the output of makepkg
 | 
			
		||||
	and in the naming of source-only tarballs.  If not specified, the first
 | 
			
		||||
	element in the `pkgname` array is used.
 | 
			
		||||
 | 
			
		||||
Install/Upgrade/Remove Scripting
 | 
			
		||||
--------------------------------
 | 
			
		||||
Pacman has the ability to store and execute a package-specific script when it
 | 
			
		||||
@@ -363,11 +392,10 @@ The following is an example PKGBUILD for the 'patch' package. For more
 | 
			
		||||
examples, look through the build files of your distribution's packages. For
 | 
			
		||||
those using Arch Linux, consult the ABS tree.
 | 
			
		||||
 | 
			
		||||
[sh]
 | 
			
		||||
source~~~~~
 | 
			
		||||
[source,sh]
 | 
			
		||||
-------------------------------
 | 
			
		||||
include::PKGBUILD-example.txt[]
 | 
			
		||||
source~~~~~
 | 
			
		||||
 | 
			
		||||
-------------------------------
 | 
			
		||||
 | 
			
		||||
See Also
 | 
			
		||||
--------
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,11 @@
 | 
			
		||||
# Show man link as: <command>(<section>); if section is defined, else just show
 | 
			
		||||
# the command.
 | 
			
		||||
 | 
			
		||||
[macros]
 | 
			
		||||
(?su)[\\]?(?P<name>linkman):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
 | 
			
		||||
 | 
			
		||||
[attributes]
 | 
			
		||||
asterisk=*
 | 
			
		||||
plus=+
 | 
			
		||||
caret=^
 | 
			
		||||
startsb=[
 | 
			
		||||
@@ -30,13 +34,7 @@ ifndef::docbook-xsl-172[]
 | 
			
		||||
[listingblock]
 | 
			
		||||
<example><title>{title}</title>
 | 
			
		||||
<literallayout>
 | 
			
		||||
ifdef::doctype-manpage[]
 | 
			
		||||

.ft C

 | 
			
		||||
endif::doctype-manpage[]
 | 
			
		||||
|
 | 
			
		||||
ifdef::doctype-manpage[]
 | 
			
		||||

.ft

 | 
			
		||||
endif::doctype-manpage[]
 | 
			
		||||
</literallayout>
 | 
			
		||||
{title#}</example>
 | 
			
		||||
endif::docbook-xsl-172[]
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										195
									
								
								doc/index.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								doc/index.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,195 @@
 | 
			
		||||
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
 | 
			
		||||
---------------------
 | 
			
		||||
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-2009 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
 | 
			
		||||
@@ -116,22 +119,30 @@ Options
 | 
			
		||||
 | 
			
		||||
*-r, \--rmdeps*::
 | 
			
		||||
	Upon successful build, remove any dependencies installed by makepkg
 | 
			
		||||
	during dependency auto-resolution (using `-b` or `-s`).
 | 
			
		||||
	during dependency auto-resolution and installation when using `-s`.
 | 
			
		||||
 | 
			
		||||
*-R, \--repackage*::
 | 
			
		||||
	Repackage contents of pkg/ without rebuilding the package. This is
 | 
			
		||||
	useful if you forgot a depend or install file in your PKGBUILD and the
 | 
			
		||||
	build itself will not change.
 | 
			
		||||
	Repackage contents of the package without rebuilding the package. This
 | 
			
		||||
	is useful if you forgot a depend or install file in your PKGBUILD and
 | 
			
		||||
	the build itself will not change.
 | 
			
		||||
 | 
			
		||||
*-s, \--syncdeps*::
 | 
			
		||||
	Install missing dependencies using pacman. When build-time or run-time
 | 
			
		||||
	dependencies are not found, pacman will try to resolve them. If
 | 
			
		||||
	successful, the missing packages will be downloaded and installed.
 | 
			
		||||
 | 
			
		||||
*\--allsource*::
 | 
			
		||||
	Do not actually build the package, but build a source-only tarball that
 | 
			
		||||
	includes all sources, including those that are normally download via
 | 
			
		||||
	makepkg. This is useful for passing a single tarball to another program
 | 
			
		||||
	such as a chroot or remote builder. It will also satisfy requirements of
 | 
			
		||||
	the GPL when distributing binary packages.
 | 
			
		||||
 | 
			
		||||
*\--source*::
 | 
			
		||||
	Do not actually build the package, but build a source-only tarball. This
 | 
			
		||||
	is useful for passing a single tarball to another program such as a
 | 
			
		||||
	chroot, remote builder, or an AUR upload.
 | 
			
		||||
	Do not actually build the package, but build a source-only tarball that
 | 
			
		||||
	does not include sources that can be fetched via a download URL. This is
 | 
			
		||||
	useful for passing a single tarball to another program such as a chroot,
 | 
			
		||||
	remote builder, or a tarball upload.
 | 
			
		||||
 | 
			
		||||
*\--noconfirm*::
 | 
			
		||||
	(Passed to pacman) Prevent pacman from waiting for user input before
 | 
			
		||||
 
 | 
			
		||||
@@ -34,12 +34,13 @@ Options
 | 
			
		||||
**DLAGENTS=(**\'protocol::/path/to/command [options]' ...**)**::
 | 
			
		||||
	Sets the download agents used to fetch source files specified with a URL in
 | 
			
		||||
	the linkman:PKGBUILD[5] file. Options can be specified for each command as
 | 
			
		||||
	well; the download URL is placed on the end of the command. This is more
 | 
			
		||||
	flexible than the former `FTPAGENT` variable, as any protocol can have a
 | 
			
		||||
	download agent. Several examples are provided in the default makepkg.conf.
 | 
			
		||||
	All instances of `%u` will be replaced with the download URL. If present,
 | 
			
		||||
	instances of `%o` will be replaced with the local filename, plus a ``.part''
 | 
			
		||||
	extension, which allows to do file resumes properly.
 | 
			
		||||
	well, and any protocol can have a download agent. Several examples are provided
 | 
			
		||||
	in the default makepkg.conf.
 | 
			
		||||
	+
 | 
			
		||||
	If present, `%u` will be replaced with the download URL. Otherwise, the
 | 
			
		||||
	download URL will be placed on the end of the command. If present, `%o` will
 | 
			
		||||
	be replaced with the local filename, plus a ``.part'' extension, which allows
 | 
			
		||||
	makepkg to handle resuming file downloads.
 | 
			
		||||
 | 
			
		||||
**CARCH=**"carch"::
 | 
			
		||||
	Specifies your computer architecture; possible values include such things
 | 
			
		||||
@@ -60,11 +61,16 @@ Options
 | 
			
		||||
**CXXFLAGS=**"cxxflags"::
 | 
			
		||||
	Flags used for the C++ compiler; see CFLAGS for more info.
 | 
			
		||||
 | 
			
		||||
**LDFLAGS=**"ldflags"::
 | 
			
		||||
	Flags used for the linker. Several options may be specified with common
 | 
			
		||||
	usage resembling ``-Wl,--hash-style=gnu''. Read ld(1) for more details on
 | 
			
		||||
	available linker flags.
 | 
			
		||||
 | 
			
		||||
**MAKEFLAGS=**"makeflags"::
 | 
			
		||||
	This is often used to set the number of jobs used, for example, `-j2`.
 | 
			
		||||
	Other flags that make accepts can also be passed.
 | 
			
		||||
 | 
			
		||||
**BUILDENV=(**fakeroot !distcc color !ccache !xdelta**)**::
 | 
			
		||||
**BUILDENV=(**fakeroot !distcc color !ccache**)**::
 | 
			
		||||
	This array contains options that affect the build environment, the defaults
 | 
			
		||||
	are shown here. All options should always be left in the array; to enable
 | 
			
		||||
	or disable an option simply remove or place an ``!'' at the front of the
 | 
			
		||||
@@ -87,17 +93,12 @@ Options
 | 
			
		||||
		be disabled for individual packages by placing `!ccache` in the
 | 
			
		||||
		PKGBUILD options array.
 | 
			
		||||
 | 
			
		||||
	*xdelta*;;
 | 
			
		||||
		Generate an xdelta binary patch from previous to current package. The
 | 
			
		||||
		previous package must be available in the makepkg cache directory for
 | 
			
		||||
		this to occur.
 | 
			
		||||
 | 
			
		||||
**DISTCC_HOSTS=**"host1 ..."::
 | 
			
		||||
	If using DistCC, this is used to specify a space-delimited list of hosts
 | 
			
		||||
	running in the DistCC cluster. In addition, you will want to modify your
 | 
			
		||||
	`MAKEFLAGS`.
 | 
			
		||||
 | 
			
		||||
**OPTIONS=(**strip docs libtool emptydirs zipman**)**::
 | 
			
		||||
**OPTIONS=(**strip !docs libtool emptydirs zipman**)**::
 | 
			
		||||
	This array contains options that affect the default packaging. They are
 | 
			
		||||
	equivalent to options that can be placed in the PKGBUILD; the defaults are
 | 
			
		||||
	shown here. All options should always be left in the array; to enable or
 | 
			
		||||
@@ -110,37 +111,55 @@ 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
 | 
			
		||||
**MAN_DIRS=(**{usr{,/local}{,/share},opt/*}/{man,info} ...**)**::
 | 
			
		||||
	If `zipman` is specified in the OPTIONS array, this variable will
 | 
			
		||||
	instruct makepkg where to look to compress manual (man and info)
 | 
			
		||||
	pages. If you build packages that are located in opt/, you may need
 | 
			
		||||
	to add the directory to this array. *NOTE:* Do not add the leading
 | 
			
		||||
	slash to the directory name.
 | 
			
		||||
 | 
			
		||||
**DOC_DIRS=(**usr/{,share/}{doc,gtk-doc} ...**)**::
 | 
			
		||||
	If `!docs` is specified in the OPTIONS array, this variable will
 | 
			
		||||
	instruct makepkg where to look to remove docs. If you build packages
 | 
			
		||||
	that are located in opt/, you may need to add the directory to this
 | 
			
		||||
	array. *NOTE:* Do not add the leading slash to the directory name.
 | 
			
		||||
 | 
			
		||||
**STRIP_DIRS=(**bin lib sbin usr/{bin,lib} ...**)**::
 | 
			
		||||
	If "strip" is specified in the OPTIONS array, this variable will
 | 
			
		||||
	If `strip` is specified in the OPTIONS array, this variable will
 | 
			
		||||
	instruct makepkg where to look to for files to strip. If you build
 | 
			
		||||
	packages that are located in opt/, you may need to add the directory
 | 
			
		||||
	to this array. *NOTE:* Do not add the leading slash to the directory
 | 
			
		||||
	name.
 | 
			
		||||
 | 
			
		||||
**PURGE_TARGETS=(**usr/{,share}/info/dir .podlist *.pod...**)**::
 | 
			
		||||
	If `purge` is specified in the OPTIONS array, this variable will
 | 
			
		||||
	instruct makepkg which files to remove from the package. This is
 | 
			
		||||
	useful for index files that are added by multiple packages.
 | 
			
		||||
 | 
			
		||||
**PKGDEST=**"/path/to/folder"::
 | 
			
		||||
	If this value is not set, packages will by default be placed in the
 | 
			
		||||
	current directory (location of the linkman:PKGBUILD[5]). Many people
 | 
			
		||||
@@ -152,11 +171,11 @@ 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>"::
 | 
			
		||||
**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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -22,8 +22,8 @@ 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
 | 
			
		||||
@@ -33,10 +33,13 @@ Operations
 | 
			
		||||
	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,9 +74,16 @@ 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
 | 
			
		||||
	Upgrade or add package(s) 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.
 | 
			
		||||
 | 
			
		||||
*-V, \--version*::
 | 
			
		||||
@@ -124,9 +134,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 +155,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*::
 | 
			
		||||
@@ -160,16 +174,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 +196,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 +220,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]]
 | 
			
		||||
@@ -280,13 +309,17 @@ linkman:pacman.conf[5].
 | 
			
		||||
	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 +327,10 @@ 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.
 | 
			
		||||
 | 
			
		||||
*-w, \--downloadonly*::
 | 
			
		||||
	Retrieve all packages from the server, but do not install/upgrade
 | 
			
		||||
@@ -308,7 +344,7 @@ linkman:pacman.conf[5].
 | 
			
		||||
	to date.
 | 
			
		||||
 | 
			
		||||
*\--needed*::
 | 
			
		||||
	Only install the targets that are not already installed and up-to-date.
 | 
			
		||||
	Don't reinstall the targets that are already up-to-date.
 | 
			
		||||
 | 
			
		||||
*\--ignore* <'package'>::
 | 
			
		||||
	Directs pacman to ignore upgrades of package even if there is one
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@ which defines global options.
 | 
			
		||||
 | 
			
		||||
Example
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
--------
 | 
			
		||||
#
 | 
			
		||||
# pacman.conf
 | 
			
		||||
@@ -40,8 +41,9 @@ Include = /etc/pacman.d/core
 | 
			
		||||
Server = file:///home/pkgs
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
*NOTE*: Each directive must be in CamelCase. If the case isn't respected, the directive
 | 
			
		||||
won't be recognized. For example. noupgrade or NOUPGRADE will not work.
 | 
			
		||||
NOTE: Each directive must be in CamelCase. If the case isn't respected, the
 | 
			
		||||
directive won't be recognized. For example. noupgrade or NOUPGRADE will not
 | 
			
		||||
work.
 | 
			
		||||
 | 
			
		||||
Options
 | 
			
		||||
-------
 | 
			
		||||
@@ -111,7 +113,8 @@ Options
 | 
			
		||||
 | 
			
		||||
*NoUpgrade =* file ...::
 | 
			
		||||
	All files listed with a `NoUpgrade` directive will never be touched during
 | 
			
		||||
	a package install/upgrade.
 | 
			
		||||
	a package install/upgrade, and the new files will be installed with a
 | 
			
		||||
	'.pacnew' extension.
 | 
			
		||||
	These files refer to files in the package archive, so do not include the
 | 
			
		||||
	leading slash (the RootDir) when specifying them.
 | 
			
		||||
 | 
			
		||||
@@ -142,7 +145,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,
 | 
			
		||||
 
 | 
			
		||||
@@ -6,19 +6,13 @@ repo-add(8)
 | 
			
		||||
 | 
			
		||||
Name
 | 
			
		||||
----
 | 
			
		||||
////
 | 
			
		||||
* If we use this below line, the manpage name comes out all weird. We also
 | 
			
		||||
* can't use two separate lines, which is quite annoying. *
 | 
			
		||||
repo-add, repo-remove - package database maintenance utilities
 | 
			
		||||
////
 | 
			
		||||
repo-add - package database maintenance utility
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Synopsis
 | 
			
		||||
--------
 | 
			
		||||
repo-add [-q] <path-to-db> <package> ...
 | 
			
		||||
repo-add [-q] <path-to-db> <package1> [<package2> ...]
 | 
			
		||||
 | 
			
		||||
repo-remove [-q] <path-to-db> <packagename> ...
 | 
			
		||||
repo-remove [-q] <path-to-db> <packagename> [<packagename2> ...]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Description
 | 
			
		||||
 
 | 
			
		||||
@@ -20,9 +20,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
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,7 @@ CHOST="@CHOST@"
 | 
			
		||||
# -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,28 @@ 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)
 | 
			
		||||
#-- 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
 | 
			
		||||
@@ -90,16 +95,13 @@ STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,
 | 
			
		||||
#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,6 +17,7 @@ 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
 | 
			
		||||
#CleanMethod = KeepInstalled
 | 
			
		||||
 | 
			
		||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  add.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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
 | 
			
		||||
@@ -114,7 +115,7 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
 | 
			
		||||
 | 
			
		||||
		/* look for unsatisfied dependencies */
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "looking for unsatisfied dependencies\n");
 | 
			
		||||
		lp = alpm_checkdeps(db, 1, NULL, trans->packages);
 | 
			
		||||
		lp = alpm_checkdeps(_alpm_db_get_pkgcache(db), 1, NULL, trans->packages);
 | 
			
		||||
		if(lp != NULL) {
 | 
			
		||||
			if(data) {
 | 
			
		||||
				*data = lp;
 | 
			
		||||
@@ -166,7 +167,7 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
 | 
			
		||||
		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);
 | 
			
		||||
		lp = _alpm_db_find_fileconflicts(db, trans, trans->packages, NULL);
 | 
			
		||||
		if(lp != NULL) {
 | 
			
		||||
			if(data) {
 | 
			
		||||
				*data = lp;
 | 
			
		||||
@@ -292,12 +293,12 @@ static int extract_single_file(struct archive *archive,
 | 
			
		||||
		/* 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);
 | 
			
		||||
		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);
 | 
			
		||||
		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 +353,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 */
 | 
			
		||||
					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"
 | 
			
		||||
							"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 +392,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 +453,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 +482,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 +508,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 +618,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);
 | 
			
		||||
@@ -650,14 +650,18 @@ static int commit_single_pkg(pmpkg_t *newpkg, int pkg_current, int pkg_count,
 | 
			
		||||
	if(local) {
 | 
			
		||||
		is_upgrade = 1;
 | 
			
		||||
 | 
			
		||||
		EVENT(trans, PM_TRANS_EVT_UPGRADE_START, newpkg, NULL);
 | 
			
		||||
		/* we'll need to save some record for backup checks later */
 | 
			
		||||
		oldpkg = _alpm_pkg_dup(local);
 | 
			
		||||
		/* make sure all infos are loaded because the database entry
 | 
			
		||||
		 * will be removed soon */
 | 
			
		||||
		_alpm_db_read(oldpkg->origin_data.db, oldpkg, INFRQ_ALL);
 | 
			
		||||
 | 
			
		||||
		EVENT(trans, PM_TRANS_EVT_UPGRADE_START, newpkg, oldpkg);
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "upgrading package %s-%s\n",
 | 
			
		||||
				newpkg->name, newpkg->version);
 | 
			
		||||
 | 
			
		||||
		/* we'll need to save some record for backup checks later */
 | 
			
		||||
		oldpkg = _alpm_pkg_dup(local);
 | 
			
		||||
		/* copy over the install reason */
 | 
			
		||||
		newpkg->reason = alpm_pkg_get_reason(local);
 | 
			
		||||
		newpkg->reason = alpm_pkg_get_reason(oldpkg);
 | 
			
		||||
 | 
			
		||||
		/* pre_upgrade scriptlet */
 | 
			
		||||
		if(alpm_pkg_has_scriptlet(newpkg) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
 | 
			
		||||
@@ -693,6 +697,16 @@ static int commit_single_pkg(pmpkg_t *newpkg, int pkg_current, int pkg_count,
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* prepare directory for database entries so permission are correct after
 | 
			
		||||
	   changelog/install script installation (FS#12263) */
 | 
			
		||||
	if(_alpm_db_prepare(db, newpkg)) {
 | 
			
		||||
		alpm_logaction("error: could not create database entry %s-%s\n",
 | 
			
		||||
				alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
 | 
			
		||||
		pm_errno = PM_ERR_DB_WRITE;
 | 
			
		||||
		ret = -1;
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
 | 
			
		||||
		struct archive *archive;
 | 
			
		||||
		struct archive_entry *entry;
 | 
			
		||||
@@ -873,7 +887,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-2009 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 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  alpm.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 * alpm.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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;
 | 
			
		||||
@@ -83,6 +83,17 @@ 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 mtimeold the modification time of the file previously downloaded
 | 
			
		||||
 * @param mtimenew the modification time of the newly downloaded file.
 | 
			
		||||
 * This should be set by the callback.
 | 
			
		||||
 * @return 0 on success, 1 if the modification times are identical, -1 on
 | 
			
		||||
 * error.
 | 
			
		||||
 */
 | 
			
		||||
typedef int (*alpm_cb_fetch)(const char *url, const char *localpath,
 | 
			
		||||
		time_t mtimeold, time_t *mtimenew);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Options
 | 
			
		||||
@@ -94,6 +105,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);
 | 
			
		||||
 | 
			
		||||
@@ -132,19 +146,11 @@ 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);
 | 
			
		||||
 | 
			
		||||
unsigned short alpm_option_get_nopassiveftp();
 | 
			
		||||
void alpm_option_set_nopassiveftp(unsigned short nopasv);
 | 
			
		||||
void alpm_option_set_usedelta(unsigned short usedelta);
 | 
			
		||||
@@ -170,10 +176,10 @@ 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);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -218,12 +224,15 @@ 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);
 | 
			
		||||
alpm_list_t *alpm_pkg_get_removes(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);
 | 
			
		||||
 | 
			
		||||
off_t alpm_pkg_download_size(pmpkg_t *newpkg);
 | 
			
		||||
 | 
			
		||||
@@ -232,9 +241,7 @@ off_t alpm_pkg_download_size(pmpkg_t *newpkg);
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
const char *alpm_delta_get_from(pmdelta_t *delta);
 | 
			
		||||
const char *alpm_delta_get_from_md5sum(pmdelta_t *delta);
 | 
			
		||||
const char *alpm_delta_get_to(pmdelta_t *delta);
 | 
			
		||||
const char *alpm_delta_get_to_md5sum(pmdelta_t *delta);
 | 
			
		||||
const char *alpm_delta_get_filename(pmdelta_t *delta);
 | 
			
		||||
const char *alpm_delta_get_md5sum(pmdelta_t *delta);
 | 
			
		||||
off_t alpm_delta_get_size(pmdelta_t *delta);
 | 
			
		||||
@@ -249,11 +256,7 @@ 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
 | 
			
		||||
@@ -281,11 +284,12 @@ typedef enum _pmtransflag_t {
 | 
			
		||||
	PM_TRANS_FLAG_DOWNLOADONLY = 0x200,
 | 
			
		||||
	PM_TRANS_FLAG_NOSCRIPTLET = 0x400,
 | 
			
		||||
	PM_TRANS_FLAG_NOCONFLICTS = 0x800,
 | 
			
		||||
	PM_TRANS_FLAG_PRINTURIS = 0x1000,
 | 
			
		||||
	/* 0x1000 flag can go here */
 | 
			
		||||
	PM_TRANS_FLAG_NEEDED = 0x2000,
 | 
			
		||||
	PM_TRANS_FLAG_ALLEXPLICIT = 0x4000,
 | 
			
		||||
	PM_TRANS_FLAG_UNNEEDED = 0x8000,
 | 
			
		||||
	PM_TRANS_FLAG_RECURSEALL = 0x10000
 | 
			
		||||
	PM_TRANS_FLAG_RECURSEALL = 0x10000,
 | 
			
		||||
	PM_TRANS_FLAG_NOLOCK = 0x20000
 | 
			
		||||
} pmtransflag_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -363,10 +367,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.
 | 
			
		||||
	 */
 | 
			
		||||
@@ -381,8 +381,7 @@ typedef enum _pmtransconv_t {
 | 
			
		||||
	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_REMOVE_PKGS = 0x20,
 | 
			
		||||
} pmtransconv_t;
 | 
			
		||||
 | 
			
		||||
/* Transaction Progress */
 | 
			
		||||
@@ -409,7 +408,7 @@ alpm_list_t * alpm_trans_get_pkgs();
 | 
			
		||||
int alpm_trans_init(pmtranstype_t type, 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_sysupgrade(int enable_downgrade);
 | 
			
		||||
int alpm_trans_addtarget(char *target);
 | 
			
		||||
int alpm_trans_prepare(alpm_list_t **data);
 | 
			
		||||
int alpm_trans_commit(alpm_list_t **data);
 | 
			
		||||
@@ -430,7 +429,7 @@ typedef enum _pmdepmod_t {
 | 
			
		||||
} pmdepmod_t;
 | 
			
		||||
 | 
			
		||||
int alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
 | 
			
		||||
alpm_list_t *alpm_checkdeps(pmdb_t *db, int reversedeps,
 | 
			
		||||
alpm_list_t *alpm_checkdeps(alpm_list_t *pkglist, int reversedeps,
 | 
			
		||||
		alpm_list_t *remove, alpm_list_t *upgrade);
 | 
			
		||||
alpm_list_t *alpm_deptest(pmdb_t *db, alpm_list_t *targets);
 | 
			
		||||
 | 
			
		||||
@@ -438,7 +437,7 @@ 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);
 | 
			
		||||
@@ -446,7 +445,7 @@ const char *alpm_conflict_get_package2(pmconflict_t *conflict);
 | 
			
		||||
pmdepmod_t alpm_dep_get_mod(const pmdepend_t *dep);
 | 
			
		||||
const char *alpm_dep_get_name(const pmdepend_t *dep);
 | 
			
		||||
const char *alpm_dep_get_version(const pmdepend_t *dep);
 | 
			
		||||
char *alpm_dep_get_string(const pmdepend_t *dep);
 | 
			
		||||
char *alpm_dep_compute_string(const pmdepend_t *dep);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * File conflicts
 | 
			
		||||
@@ -467,7 +466,7 @@ const char *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict);
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* checksums */
 | 
			
		||||
char *alpm_get_md5sum(const char *name);
 | 
			
		||||
char *alpm_compute_md5sum(const char *name);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Errors
 | 
			
		||||
@@ -493,6 +492,7 @@ enum _pmerrno_t {
 | 
			
		||||
	PM_ERR_DB_REMOVE,
 | 
			
		||||
	/* Servers */
 | 
			
		||||
	PM_ERR_SERVER_BAD_URL,
 | 
			
		||||
	PM_ERR_SERVER_NONE,
 | 
			
		||||
	/* Transactions */
 | 
			
		||||
	PM_ERR_TRANS_NOT_NULL,
 | 
			
		||||
	PM_ERR_TRANS_NULL,
 | 
			
		||||
@@ -501,36 +501,28 @@ 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_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-2009 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 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  alpm_list.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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,6 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  backup.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2006-2009 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>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  backup.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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
 | 
			
		||||
 
 | 
			
		||||
@@ -51,7 +51,7 @@
 | 
			
		||||
 * Return the last update time as number of seconds from the epoch.
 | 
			
		||||
 * Returns 0 if the value is unknown or can't be read.
 | 
			
		||||
 */
 | 
			
		||||
time_t getlastupdate(const pmdb_t *db)
 | 
			
		||||
static time_t getlastupdate(const pmdb_t *db)
 | 
			
		||||
{
 | 
			
		||||
	FILE *fp;
 | 
			
		||||
	char *file;
 | 
			
		||||
@@ -85,7 +85,7 @@ time_t getlastupdate(const pmdb_t *db)
 | 
			
		||||
/*
 | 
			
		||||
 * writes the dbpath/.lastupdate file with the value in time
 | 
			
		||||
 */
 | 
			
		||||
int setlastupdate(const pmdb_t *db, time_t time)
 | 
			
		||||
static int setlastupdate(const pmdb_t *db, time_t time)
 | 
			
		||||
{
 | 
			
		||||
	FILE *fp;
 | 
			
		||||
	char *file;
 | 
			
		||||
@@ -113,7 +113,58 @@ int setlastupdate(const pmdb_t *db, time_t time)
 | 
			
		||||
	return(ret);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int checkdbdir(pmdb_t *db)
 | 
			
		||||
{
 | 
			
		||||
	struct stat buf;
 | 
			
		||||
	char *path = db->path;
 | 
			
		||||
 | 
			
		||||
	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 bogus database: %s\n", path);
 | 
			
		||||
		if(unlink(path) != 0 || _alpm_makepath(path) != 0) {
 | 
			
		||||
			RET_ERR(PM_ERR_SYSTEM, -1);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	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(PM_TRANS_TYPE_SYNC, 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,7 +173,6 @@ 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;
 | 
			
		||||
@@ -176,14 +226,9 @@ int SYMEXPORT alpm_db_update(int force, pmdb_t *db)
 | 
			
		||||
		return(-1);
 | 
			
		||||
	} 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);
 | 
			
		||||
			}
 | 
			
		||||
		if(_alpm_rmrf(db->path) != 0) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("could not remove database %s\n"), db->treename);
 | 
			
		||||
			RET_ERR(PM_ERR_DB_REMOVE, -1);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/* Cache needs to be rebuilt */
 | 
			
		||||
@@ -195,6 +240,7 @@ int SYMEXPORT alpm_db_update(int force, pmdb_t *db)
 | 
			
		||||
		sprintf(dbfilepath, "%s%s" DBEXT, dbpath, db->treename);
 | 
			
		||||
 | 
			
		||||
		/* uncompress the sync database */
 | 
			
		||||
		checkdbdir(db);
 | 
			
		||||
		ret = _alpm_unpack(dbfilepath, db->path, NULL);
 | 
			
		||||
		if(ret) {
 | 
			
		||||
			free(dbfilepath);
 | 
			
		||||
@@ -214,36 +260,6 @@ int SYMEXPORT alpm_db_update(int force, pmdb_t *db)
 | 
			
		||||
	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 +306,17 @@ int _alpm_db_populate(pmdb_t *db)
 | 
			
		||||
	struct dirent *ent = NULL;
 | 
			
		||||
	struct stat sbuf;
 | 
			
		||||
	char path[PATH_MAX];
 | 
			
		||||
	DIR *dbdir;
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
 | 
			
		||||
 | 
			
		||||
	rewinddir(db->handle);
 | 
			
		||||
	while((ent = readdir(db->handle)) != NULL) {
 | 
			
		||||
	dbdir = opendir(db->path);
 | 
			
		||||
	if(dbdir == NULL) {
 | 
			
		||||
		return(0);
 | 
			
		||||
	}
 | 
			
		||||
	while((ent = readdir(dbdir)) != NULL) {
 | 
			
		||||
		const char *name = ent->d_name;
 | 
			
		||||
		pmpkg_t *pkg;
 | 
			
		||||
 | 
			
		||||
@@ -311,6 +331,7 @@ int _alpm_db_populate(pmdb_t *db)
 | 
			
		||||
 | 
			
		||||
		pkg = _alpm_pkg_new();
 | 
			
		||||
		if(pkg == NULL) {
 | 
			
		||||
			closedir(dbdir);
 | 
			
		||||
			return(-1);
 | 
			
		||||
		}
 | 
			
		||||
		/* split the db entry name */
 | 
			
		||||
@@ -336,6 +357,7 @@ int _alpm_db_populate(pmdb_t *db)
 | 
			
		||||
		count++;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	closedir(dbdir);
 | 
			
		||||
	db->pkgcache = alpm_list_msort(db->pkgcache, count, _alpm_pkg_cmp);
 | 
			
		||||
	return(count);
 | 
			
		||||
}
 | 
			
		||||
@@ -467,7 +489,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
 | 
			
		||||
				char first = tolower(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);
 | 
			
		||||
@@ -483,7 +505,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
 | 
			
		||||
				char first = tolower(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);
 | 
			
		||||
@@ -500,7 +522,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
				if(fgets(line, 512, fp) == NULL) {
 | 
			
		||||
					goto error;
 | 
			
		||||
				}
 | 
			
		||||
				info->reason = atol(_alpm_strtrim(line));
 | 
			
		||||
				info->reason = (pmpkgreason_t)atol(_alpm_strtrim(line));
 | 
			
		||||
			} else if(strcmp(line, "%SIZE%") == 0 || strcmp(line, "%CSIZE%") == 0) {
 | 
			
		||||
				/* NOTE: the CSIZE and SIZE fields both share the "size" field
 | 
			
		||||
				 *       in the pkginfo_t struct.  This can be done b/c CSIZE
 | 
			
		||||
@@ -618,7 +640,10 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
				_alpm_strtrim(line);
 | 
			
		||||
				if(strcmp(line, "%DELTAS%") == 0) {
 | 
			
		||||
					while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
 | 
			
		||||
						info->deltas = alpm_list_add(info->deltas, _alpm_delta_parse(line));
 | 
			
		||||
						pmdelta_t *delta = _alpm_delta_parse(line);
 | 
			
		||||
						if(delta) {
 | 
			
		||||
							info->deltas = alpm_list_add(info->deltas, delta);
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
@@ -649,6 +674,30 @@ error:
 | 
			
		||||
	return(-1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int _alpm_db_prepare(pmdb_t *db, pmpkg_t *info)
 | 
			
		||||
{
 | 
			
		||||
	mode_t oldmask;
 | 
			
		||||
	int retval = 0;
 | 
			
		||||
	char *pkgpath = NULL;
 | 
			
		||||
 | 
			
		||||
	if(checkdbdir(db) != 0) {
 | 
			
		||||
		return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	oldmask = umask(0000);
 | 
			
		||||
	pkgpath = get_pkgpath(db, info);
 | 
			
		||||
 | 
			
		||||
	if((retval = mkdir(pkgpath, 0755)) != 0) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not create directory %s: %s\n"),
 | 
			
		||||
				pkgpath, strerror(errno));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	free(pkgpath);
 | 
			
		||||
	umask(oldmask);
 | 
			
		||||
 | 
			
		||||
	return(retval);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
{
 | 
			
		||||
	FILE *fp = NULL;
 | 
			
		||||
@@ -667,10 +716,8 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
 | 
			
		||||
	pkgpath = get_pkgpath(db, info);
 | 
			
		||||
 | 
			
		||||
	oldmask = umask(0000);
 | 
			
		||||
	mkdir(pkgpath, 0755);
 | 
			
		||||
	/* make sure we have a sane umask */
 | 
			
		||||
	umask(0022);
 | 
			
		||||
	oldmask = umask(0022);
 | 
			
		||||
 | 
			
		||||
	if(strcmp(db->treename, "local") == 0) {
 | 
			
		||||
		local = 1;
 | 
			
		||||
@@ -740,7 +787,7 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
			if(info->isize) {
 | 
			
		||||
				/* only write installed size, csize is irrelevant once installed */
 | 
			
		||||
				fprintf(fp, "%%SIZE%%\n"
 | 
			
		||||
								"%ju\n\n", (intmax_t)info->isize);
 | 
			
		||||
								"%jd\n\n", (intmax_t)info->isize);
 | 
			
		||||
			}
 | 
			
		||||
			if(info->reason) {
 | 
			
		||||
				fprintf(fp, "%%REASON%%\n"
 | 
			
		||||
@@ -749,11 +796,11 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
		} else {
 | 
			
		||||
			if(info->size) {
 | 
			
		||||
				fprintf(fp, "%%CSIZE%%\n"
 | 
			
		||||
								"%ju\n\n", (intmax_t)info->size);
 | 
			
		||||
								"%jd\n\n", (intmax_t)info->size);
 | 
			
		||||
			}
 | 
			
		||||
			if(info->isize) {
 | 
			
		||||
				fprintf(fp, "%%ISIZE%%\n"
 | 
			
		||||
								"%ju\n\n", (intmax_t)info->isize);
 | 
			
		||||
								"%jd\n\n", (intmax_t)info->isize);
 | 
			
		||||
			}
 | 
			
		||||
			if(info->md5sum) {
 | 
			
		||||
				fprintf(fp, "%%MD5SUM%%\n"
 | 
			
		||||
@@ -805,7 +852,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-2009 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
 | 
			
		||||
@@ -83,7 +84,7 @@ static int parse_descfile(struct archive *a, pmpkg_t *newpkg)
 | 
			
		||||
			} else if(!strcmp(key, "builddate")) {
 | 
			
		||||
				char first = tolower(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);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  cache.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 Pacman Development Team <pacman-dev@archlinux.org>
 | 
			
		||||
 *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *
 | 
			
		||||
 *  This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 *  it under the terms of the GNU General Public License as published by
 | 
			
		||||
@@ -19,7 +20,6 @@
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
@@ -55,6 +55,7 @@ int _alpm_db_load_pkgcache(pmdb_t *db)
 | 
			
		||||
		return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db->pkgcache_loaded = 1;
 | 
			
		||||
	return(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -62,7 +63,7 @@ void _alpm_db_free_pkgcache(pmdb_t *db)
 | 
			
		||||
{
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	if(db == NULL || db->pkgcache == NULL) {
 | 
			
		||||
	if(db == NULL || !db->pkgcache_loaded) {
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -72,10 +73,9 @@ void _alpm_db_free_pkgcache(pmdb_t *db)
 | 
			
		||||
	alpm_list_free_inner(db->pkgcache, (alpm_list_fn_free)_alpm_pkg_free);
 | 
			
		||||
	alpm_list_free(db->pkgcache);
 | 
			
		||||
	db->pkgcache = NULL;
 | 
			
		||||
	db->pkgcache_loaded = 0;
 | 
			
		||||
 | 
			
		||||
	if(db->grpcache) {
 | 
			
		||||
		_alpm_db_free_grpcache(db);
 | 
			
		||||
	}
 | 
			
		||||
	_alpm_db_free_grpcache(db);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
alpm_list_t *_alpm_db_get_pkgcache(pmdb_t *db)
 | 
			
		||||
@@ -86,13 +86,13 @@ alpm_list_t *_alpm_db_get_pkgcache(pmdb_t *db)
 | 
			
		||||
		return(NULL);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(!db->pkgcache) {
 | 
			
		||||
	if(!db->pkgcache_loaded) {
 | 
			
		||||
		_alpm_db_load_pkgcache(db);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* hmmm, still NULL ?*/
 | 
			
		||||
	if(!db->pkgcache) {
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "error: pkgcache is NULL for db '%s'\n", db->treename);
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "warning: pkgcache is NULL for db '%s'\n", db->treename);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return(db->pkgcache);
 | 
			
		||||
@@ -105,7 +105,7 @@ int _alpm_db_add_pkgincache(pmdb_t *db, pmpkg_t *pkg)
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	if(db == NULL || pkg == NULL) {
 | 
			
		||||
	if(db == NULL || !db->pkgcache_loaded || pkg == NULL) {
 | 
			
		||||
		return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -140,7 +140,7 @@ int _alpm_db_remove_pkgfromcache(pmdb_t *db, pmpkg_t *pkg)
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	if(db == NULL || pkg == NULL) {
 | 
			
		||||
	if(db == NULL || !db->pkgcache_loaded || pkg == NULL) {
 | 
			
		||||
		return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -173,7 +173,7 @@ pmpkg_t *_alpm_db_get_pkgfromcache(pmdb_t *db, const char *target)
 | 
			
		||||
 | 
			
		||||
	alpm_list_t *pkgcache = _alpm_db_get_pkgcache(db);
 | 
			
		||||
	if(!pkgcache) {
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "error: failed to get '%s' from NULL pkgcache\n",
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "warning: failed to get '%s' from NULL pkgcache\n",
 | 
			
		||||
				target);
 | 
			
		||||
		return(NULL);
 | 
			
		||||
	}
 | 
			
		||||
@@ -193,10 +193,6 @@ int _alpm_db_load_grpcache(pmdb_t *db)
 | 
			
		||||
		return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(db->pkgcache == NULL) {
 | 
			
		||||
		_alpm_db_load_pkgcache(db);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "loading group cache for repository '%s'\n",
 | 
			
		||||
			db->treename);
 | 
			
		||||
 | 
			
		||||
@@ -231,6 +227,7 @@ int _alpm_db_load_grpcache(pmdb_t *db)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db->grpcache_loaded = 1;
 | 
			
		||||
	return(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -240,15 +237,19 @@ void _alpm_db_free_grpcache(pmdb_t *db)
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	if(db == NULL || db->grpcache == NULL) {
 | 
			
		||||
	if(db == NULL || !db->grpcache_loaded) {
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "freeing group cache for repository '%s'\n",
 | 
			
		||||
	                        db->treename);
 | 
			
		||||
 | 
			
		||||
	for(lg = db->grpcache; lg; lg = lg->next) {
 | 
			
		||||
		_alpm_grp_free(lg->data);
 | 
			
		||||
		lg->data = NULL;
 | 
			
		||||
	}
 | 
			
		||||
	FREELIST(db->grpcache);
 | 
			
		||||
	db->grpcache_loaded = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
alpm_list_t *_alpm_db_get_grpcache(pmdb_t *db)
 | 
			
		||||
@@ -259,7 +260,7 @@ alpm_list_t *_alpm_db_get_grpcache(pmdb_t *db)
 | 
			
		||||
		return(NULL);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(db->grpcache == NULL) {
 | 
			
		||||
	if(!db->grpcache_loaded) {
 | 
			
		||||
		_alpm_db_load_grpcache(db);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  cache.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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-2009 Pacman Development Team <pacman-dev@archlinux.org>
 | 
			
		||||
 *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
 | 
			
		||||
 *  Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
 | 
			
		||||
 *  Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
 | 
			
		||||
@@ -25,10 +26,10 @@
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <dirent.h>
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "conflict.h"
 | 
			
		||||
@@ -219,11 +220,11 @@ alpm_list_t *_alpm_outerconflicts(pmdb_t *db, alpm_list_t *packages)
 | 
			
		||||
 | 
			
		||||
/** Check the package conflicts in a database
 | 
			
		||||
 *
 | 
			
		||||
 * @param db_local the database to check
 | 
			
		||||
 * @param pkglist the list of packages to check
 | 
			
		||||
 * @return an alpm_list_t of pmconflict_t
 | 
			
		||||
 */
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_checkdbconflicts(pmdb_t *db_local) {
 | 
			
		||||
	return(_alpm_innerconflicts(_alpm_db_get_pkgcache(db_local)));
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_checkconflicts(alpm_list_t *pkglist) {
 | 
			
		||||
	return(_alpm_innerconflicts(pkglist));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Returns a alpm_list_t* of file conflicts.
 | 
			
		||||
@@ -348,19 +349,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) {
 | 
			
		||||
		return(NULL);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -368,8 +413,8 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
 | 
			
		||||
	 * be possible with real transactions. Right now we only do half as much
 | 
			
		||||
	 * here as we do when we actually extract files in add.c with our 12
 | 
			
		||||
	 * different cases. */
 | 
			
		||||
	for(current = 1, i = targets; i; i = i->next, current++) {
 | 
			
		||||
		alpm_list_t *j, *k, *tmpfiles = NULL;
 | 
			
		||||
	for(current = 1, i = upgrade; i; i = i->next, current++) {
 | 
			
		||||
		alpm_list_t *k, *tmpfiles = NULL;
 | 
			
		||||
		pmpkg_t *p1, *p2, *dbpkg;
 | 
			
		||||
		char path[PATH_MAX+1];
 | 
			
		||||
 | 
			
		||||
@@ -393,7 +438,7 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
 | 
			
		||||
 | 
			
		||||
			if(tmpfiles) {
 | 
			
		||||
				for(k = tmpfiles; k; k = k->next) {
 | 
			
		||||
					snprintf(path, PATH_MAX, "%s%s", root, (char *)k->data);
 | 
			
		||||
					snprintf(path, PATH_MAX, "%s%s", handle->root, (char *)k->data);
 | 
			
		||||
					conflicts = add_fileconflict(conflicts, PM_FILECONFLICT_TARGET, path,
 | 
			
		||||
							alpm_pkg_get_name(p1), alpm_pkg_get_name(p2));
 | 
			
		||||
				}
 | 
			
		||||
@@ -409,7 +454,7 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "searching for filesystem conflicts: %s\n", p1->name);
 | 
			
		||||
		dbpkg = _alpm_db_get_pkgfromcache(db, p1->name);
 | 
			
		||||
 | 
			
		||||
		/* Do two different checks here. f the package is currently installed,
 | 
			
		||||
		/* Do two different checks here. If the package is currently installed,
 | 
			
		||||
		 * then only check files that are new in the new package. If the package
 | 
			
		||||
		 * is not currently installed, then simply stat the whole filelist */
 | 
			
		||||
		if(dbpkg) {
 | 
			
		||||
@@ -421,12 +466,10 @@ alpm_list_t *_alpm_db_find_fileconflicts(pmdb_t *db, pmtrans_t *trans, char *roo
 | 
			
		||||
			tmpfiles = alpm_list_strdup(alpm_pkg_get_files(p1));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/* loop over each file to be installed */
 | 
			
		||||
		for(j = tmpfiles; j; j = j->next) {
 | 
			
		||||
			int skip_conflict = 0;
 | 
			
		||||
			filestr = j->data;
 | 
			
		||||
 | 
			
		||||
			snprintf(path, PATH_MAX, "%s%s", root, filestr);
 | 
			
		||||
			snprintf(path, PATH_MAX, "%s%s", handle->root, filestr);
 | 
			
		||||
 | 
			
		||||
			/* stat the file - if it exists, do some checks */
 | 
			
		||||
			if(_alpm_lstat(path, &lsbuf) != 0) {
 | 
			
		||||
@@ -437,47 +480,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(path));
 | 
			
		||||
					_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);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  conflict.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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
 | 
			
		||||
@@ -41,7 +42,8 @@ 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);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  db.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 Pacman Development Team <pacman-dev@archlinux.org>
 | 
			
		||||
 *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
 | 
			
		||||
 *  Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
 | 
			
		||||
 *  Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
 | 
			
		||||
@@ -23,7 +24,6 @@
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
@@ -86,9 +86,6 @@ static void _alpm_db_unregister(pmdb_t *db)
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "closing database '%s'\n", db->treename);
 | 
			
		||||
	_alpm_db_close(db);
 | 
			
		||||
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "unregistering database '%s'\n", db->treename);
 | 
			
		||||
	_alpm_db_free(db);
 | 
			
		||||
}
 | 
			
		||||
@@ -170,6 +167,8 @@ int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url)
 | 
			
		||||
{
 | 
			
		||||
	alpm_list_t *i;
 | 
			
		||||
	int found = 0;
 | 
			
		||||
	char *newurl;
 | 
			
		||||
	int len = 0;
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
@@ -186,10 +185,18 @@ int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url)
 | 
			
		||||
		RET_ERR(PM_ERR_DB_NOT_FOUND, -1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(url && strlen(url)) {
 | 
			
		||||
		db->servers = alpm_list_add(db->servers, strdup(url));
 | 
			
		||||
	if(url) {
 | 
			
		||||
		len = strlen(url);
 | 
			
		||||
	}
 | 
			
		||||
	if(len) {
 | 
			
		||||
		newurl = strdup(url);
 | 
			
		||||
		/* strip the trailing slash if one exists */
 | 
			
		||||
		if(newurl[len - 1] == '/') {
 | 
			
		||||
			newurl[len - 1] = '\0';
 | 
			
		||||
		}
 | 
			
		||||
		db->servers = alpm_list_add(db->servers, newurl);
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "adding new server URL to database '%s': %s\n",
 | 
			
		||||
				db->treename, url);
 | 
			
		||||
				db->treename, newurl);
 | 
			
		||||
	} else {
 | 
			
		||||
		FREELIST(db->servers);
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "serverlist flushed for '%s'\n", db->treename);
 | 
			
		||||
@@ -226,6 +233,7 @@ const char SYMEXPORT *alpm_db_get_url(const pmdb_t *db)
 | 
			
		||||
	/* Sanity checks */
 | 
			
		||||
	ASSERT(handle != NULL, return(NULL));
 | 
			
		||||
	ASSERT(db != NULL, return(NULL));
 | 
			
		||||
	ASSERT(db->servers != NULL, return(NULL));
 | 
			
		||||
 | 
			
		||||
	url = (char*)db->servers->data;
 | 
			
		||||
 | 
			
		||||
@@ -254,7 +262,7 @@ pmpkg_t SYMEXPORT *alpm_db_get_pkg(pmdb_t *db, const char *name)
 | 
			
		||||
 * @param db pointer to the package database to get the package from
 | 
			
		||||
 * @return the list of packages on success, NULL on error
 | 
			
		||||
 */
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_db_getpkgcache(pmdb_t *db)
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(pmdb_t *db)
 | 
			
		||||
{
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
@@ -286,7 +294,7 @@ pmgrp_t SYMEXPORT *alpm_db_readgrp(pmdb_t *db, const char *name)
 | 
			
		||||
 * @param db pointer to the package database to get the group from
 | 
			
		||||
 * @return the list of groups on success, NULL on error
 | 
			
		||||
 */
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_db_getgrpcache(pmdb_t *db)
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_db_get_grpcache(pmdb_t *db)
 | 
			
		||||
{
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
@@ -348,8 +356,8 @@ void _alpm_db_free(pmdb_t *db)
 | 
			
		||||
 | 
			
		||||
int _alpm_db_cmp(const void *d1, const void *d2)
 | 
			
		||||
{
 | 
			
		||||
	pmdb_t *db1 = (pmdb_t *)db1;
 | 
			
		||||
	pmdb_t *db2 = (pmdb_t *)db2;
 | 
			
		||||
	pmdb_t *db1 = (pmdb_t *)d1;
 | 
			
		||||
	pmdb_t *db2 = (pmdb_t *)d2;
 | 
			
		||||
	return(strcmp(db1->treename, db2->treename));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -391,10 +399,10 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
 | 
			
		||||
			else if (desc && regexec(®, desc, 0, 0, 0) == 0) {
 | 
			
		||||
				matched = desc;
 | 
			
		||||
			}
 | 
			
		||||
			/* check provides */
 | 
			
		||||
			/* TODO: should we be doing this, and should we print something
 | 
			
		||||
			 * differently when we do match it since it isn't currently printed? */
 | 
			
		||||
			else {
 | 
			
		||||
			if(!matched) {
 | 
			
		||||
				/* check provides */
 | 
			
		||||
				for(k = alpm_pkg_get_provides(pkg); k; k = k->next) {
 | 
			
		||||
					if (regexec(®, k->data, 0, 0, 0) == 0) {
 | 
			
		||||
						matched = k->data;
 | 
			
		||||
@@ -402,6 +410,15 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if(!matched) {
 | 
			
		||||
				/* check groups */
 | 
			
		||||
				for(k = alpm_pkg_get_groups(pkg); k; k = k->next) {
 | 
			
		||||
					if (regexec(®, k->data, 0, 0, 0) == 0) {
 | 
			
		||||
						matched = k->data;
 | 
			
		||||
						break;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if(matched != NULL) {
 | 
			
		||||
				_alpm_log(PM_LOG_DEBUG, "    search target '%s' matched '%s'\n",
 | 
			
		||||
@@ -422,10 +439,8 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
 | 
			
		||||
 | 
			
		||||
pmdb_t *_alpm_db_register_local(void)
 | 
			
		||||
{
 | 
			
		||||
	struct stat buf;
 | 
			
		||||
	pmdb_t *db;
 | 
			
		||||
	const char *dbpath;
 | 
			
		||||
	char path[PATH_MAX];
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
@@ -436,40 +451,23 @@ 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");
 | 
			
		||||
	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];
 | 
			
		||||
@@ -487,25 +485,12 @@ 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);
 | 
			
		||||
@@ -513,12 +498,6 @@ pmdb_t *_alpm_db_register_sync(const char *treename)
 | 
			
		||||
		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-2009 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>
 | 
			
		||||
 *
 | 
			
		||||
@@ -41,8 +42,9 @@ typedef enum _pmdbinfrq_t {
 | 
			
		||||
struct __pmdb_t {
 | 
			
		||||
	char *path;
 | 
			
		||||
	char *treename;
 | 
			
		||||
	void *handle;
 | 
			
		||||
	unsigned short pkgcache_loaded;
 | 
			
		||||
	alpm_list_t *pkgcache;
 | 
			
		||||
	unsigned short grpcache_loaded;
 | 
			
		||||
	alpm_list_t *grpcache;
 | 
			
		||||
	alpm_list_t *servers;
 | 
			
		||||
};
 | 
			
		||||
@@ -50,16 +52,15 @@ struct __pmdb_t {
 | 
			
		||||
/* db.c, database general calls */
 | 
			
		||||
pmdb_t *_alpm_db_new(const char *dbpath, const char *treename);
 | 
			
		||||
void _alpm_db_free(pmdb_t *db);
 | 
			
		||||
int _alpm_db_cmp(const void *db1, const void *db2);
 | 
			
		||||
int _alpm_db_cmp(const void *d1, const void *d2);
 | 
			
		||||
alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles);
 | 
			
		||||
pmdb_t *_alpm_db_register_local(void);
 | 
			
		||||
pmdb_t *_alpm_db_register_sync(const char *treename);
 | 
			
		||||
 | 
			
		||||
/* be.c, backend specific calls */
 | 
			
		||||
int _alpm_db_open(pmdb_t *db);
 | 
			
		||||
void _alpm_db_close(pmdb_t *db);
 | 
			
		||||
int _alpm_db_populate(pmdb_t *db);
 | 
			
		||||
int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq);
 | 
			
		||||
int _alpm_db_prepare(pmdb_t *db, pmpkg_t *info);
 | 
			
		||||
int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq);
 | 
			
		||||
int _alpm_db_remove(pmdb_t *db, pmpkg_t *info);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  delta.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2007-2008 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 Pacman Development Team <pacman-dev@archlinux.org>
 | 
			
		||||
 *  Copyright (c) 2007-2006 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *
 | 
			
		||||
 *  This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 *  it under the terms of the GNU General Public License as published by
 | 
			
		||||
@@ -21,7 +22,10 @@
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdint.h> /* intmax_t */
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <regex.h>
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "delta.h"
 | 
			
		||||
@@ -41,24 +45,12 @@ const char SYMEXPORT *alpm_delta_get_from(pmdelta_t *delta)
 | 
			
		||||
	return(delta->from);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char SYMEXPORT *alpm_delta_get_from_md5sum(pmdelta_t *delta)
 | 
			
		||||
{
 | 
			
		||||
	ASSERT(delta != NULL, return(NULL));
 | 
			
		||||
	return(delta->from_md5);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char SYMEXPORT *alpm_delta_get_to(pmdelta_t *delta)
 | 
			
		||||
{
 | 
			
		||||
	ASSERT(delta != NULL, return(NULL));
 | 
			
		||||
	return(delta->to);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char SYMEXPORT *alpm_delta_get_to_md5sum(pmdelta_t *delta)
 | 
			
		||||
{
 | 
			
		||||
	ASSERT(delta != NULL, return(NULL));
 | 
			
		||||
	return(delta->to_md5);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char SYMEXPORT *alpm_delta_get_filename(pmdelta_t *delta)
 | 
			
		||||
{
 | 
			
		||||
	ASSERT(delta != NULL, return(NULL));
 | 
			
		||||
@@ -93,7 +85,7 @@ static alpm_list_t *delta_graph_init(alpm_list_t *deltas)
 | 
			
		||||
 | 
			
		||||
		/* determine whether the delta file already exists */
 | 
			
		||||
		fpath = _alpm_filecache_find(vdelta->delta);
 | 
			
		||||
		md5sum = alpm_get_md5sum(fpath);
 | 
			
		||||
		md5sum = alpm_compute_md5sum(fpath);
 | 
			
		||||
		if(fpath && md5sum && strcmp(md5sum, vdelta->delta_md5) == 0) {
 | 
			
		||||
			vdelta->download_size = 0;
 | 
			
		||||
		}
 | 
			
		||||
@@ -102,12 +94,10 @@ static alpm_list_t *delta_graph_init(alpm_list_t *deltas)
 | 
			
		||||
 | 
			
		||||
		/* 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) {
 | 
			
		||||
		if(fpath) {
 | 
			
		||||
			v->weight = vdelta->download_size;
 | 
			
		||||
		}
 | 
			
		||||
		FREE(fpath);
 | 
			
		||||
		FREE(md5sum);
 | 
			
		||||
 | 
			
		||||
		v->data = vdelta;
 | 
			
		||||
		vertices = alpm_list_add(vertices, v);
 | 
			
		||||
@@ -129,8 +119,7 @@ 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(strcmp(d_j->from, d_i->to) == 0) {
 | 
			
		||||
				v_i->children = alpm_list_add(v_i->children, v_j);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@@ -140,7 +129,7 @@ static alpm_list_t *delta_graph_init(alpm_list_t *deltas)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static off_t delta_vert(alpm_list_t *vertices,
 | 
			
		||||
		const char *to, const char *to_md5, alpm_list_t **path) {
 | 
			
		||||
		const char *to, alpm_list_t **path) {
 | 
			
		||||
	alpm_list_t *i;
 | 
			
		||||
	pmgraph_t *v;
 | 
			
		||||
	while(1) {
 | 
			
		||||
@@ -184,8 +173,7 @@ static off_t delta_vert(alpm_list_t *vertices,
 | 
			
		||||
		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;
 | 
			
		||||
@@ -210,14 +198,13 @@ static off_t delta_vert(alpm_list_t *vertices,
 | 
			
		||||
 * size, not the length of the path.
 | 
			
		||||
 * @param deltas the list of pmdelta_t * objects that a file has
 | 
			
		||||
 * @param to the file to start the search at
 | 
			
		||||
 * @param to_md5 the md5sum of the above named file
 | 
			
		||||
 * @param path the pointer to a list location where pmdelta_t * objects that
 | 
			
		||||
 * have the smallest size are placed. NULL is set if there is no path
 | 
			
		||||
 * possible with the files available.
 | 
			
		||||
 * @return the size of the path stored, or LONG_MAX if path is unfindable
 | 
			
		||||
 */
 | 
			
		||||
off_t _alpm_shortest_delta_path(alpm_list_t *deltas,
 | 
			
		||||
		const char *to, const char *to_md5, alpm_list_t **path)
 | 
			
		||||
		const char *to, alpm_list_t **path)
 | 
			
		||||
{
 | 
			
		||||
	alpm_list_t *bestpath = NULL;
 | 
			
		||||
	alpm_list_t *vertices;
 | 
			
		||||
@@ -230,13 +217,13 @@ 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);
 | 
			
		||||
 | 
			
		||||
	bestsize = delta_vert(vertices, to, to_md5, &bestpath);
 | 
			
		||||
	bestsize = delta_vert(vertices, to, &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);
 | 
			
		||||
@@ -248,7 +235,7 @@ off_t _alpm_shortest_delta_path(alpm_list_t *deltas,
 | 
			
		||||
/** Parses the string representation of a pmdelta_t object.
 | 
			
		||||
 * This function assumes that the string is in the correct format.
 | 
			
		||||
 * This format is as follows:
 | 
			
		||||
 * $oldfile $oldmd5 $newfile $newmd5 $deltafile $deltamd5 $deltasize
 | 
			
		||||
 * $deltafile $deltamd5 $deltasize $oldfile $newfile
 | 
			
		||||
 * @param line the string to parse
 | 
			
		||||
 * @return A pointer to the new pmdelta_t object
 | 
			
		||||
 */
 | 
			
		||||
@@ -257,29 +244,21 @@ pmdelta_t *_alpm_delta_parse(char *line)
 | 
			
		||||
{
 | 
			
		||||
	pmdelta_t *delta;
 | 
			
		||||
	char *tmp = line, *tmp2;
 | 
			
		||||
	regex_t reg;
 | 
			
		||||
 | 
			
		||||
	regcomp(®,
 | 
			
		||||
			"^[^[:space:]]* [[:xdigit:]]{32} [[:digit:]]*"
 | 
			
		||||
			" [^[:space:]]* [^[:space:]]*$",
 | 
			
		||||
			REG_EXTENDED | REG_NOSUB | REG_NEWLINE);
 | 
			
		||||
	if(regexec(®, line, 0, 0, 0) != 0) {
 | 
			
		||||
		/* delta line is invalid, return NULL */
 | 
			
		||||
		regfree(®);
 | 
			
		||||
		return(NULL);
 | 
			
		||||
	}
 | 
			
		||||
	regfree(®);
 | 
			
		||||
 | 
			
		||||
	CALLOC(delta, 1, sizeof(pmdelta_t), RET_ERR(PM_ERR_MEMORY, NULL));
 | 
			
		||||
 | 
			
		||||
	tmp2 = tmp;
 | 
			
		||||
	tmp = strchr(tmp, ' ');
 | 
			
		||||
	*(tmp++) = '\0';
 | 
			
		||||
	STRDUP(delta->from, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
 | 
			
		||||
 | 
			
		||||
	tmp2 = tmp;
 | 
			
		||||
	tmp = strchr(tmp, ' ');
 | 
			
		||||
	*(tmp++) = '\0';
 | 
			
		||||
	STRDUP(delta->from_md5, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
 | 
			
		||||
 | 
			
		||||
	tmp2 = tmp;
 | 
			
		||||
	tmp = strchr(tmp, ' ');
 | 
			
		||||
	*(tmp++) = '\0';
 | 
			
		||||
	STRDUP(delta->to, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
 | 
			
		||||
 | 
			
		||||
	tmp2 = tmp;
 | 
			
		||||
	tmp = strchr(tmp, ' ');
 | 
			
		||||
	*(tmp++) = '\0';
 | 
			
		||||
	STRDUP(delta->to_md5, tmp2, RET_ERR(PM_ERR_MEMORY, NULL));
 | 
			
		||||
 | 
			
		||||
	tmp2 = tmp;
 | 
			
		||||
	tmp = strchr(tmp, ' ');
 | 
			
		||||
	*(tmp++) = '\0';
 | 
			
		||||
@@ -290,7 +269,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 '%lld'\n", delta->from, delta->to, (long long)delta->delta_size);
 | 
			
		||||
 | 
			
		||||
	return(delta);
 | 
			
		||||
}
 | 
			
		||||
@@ -298,9 +290,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-2009 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-2009 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,20 +567,41 @@ 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 local is the local database
 | 
			
		||||
 * @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(pmdb_t *local, 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;
 | 
			
		||||
 | 
			
		||||
@@ -568,46 +609,64 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, alpm_list_t *list,
 | 
			
		||||
		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(_alpm_db_get_pkgcache(local), 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 +748,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-2009 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(pmdb_t *local, 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-2009 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,7 @@
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <signal.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
/* the following two are needed on BSD for libfetch */
 | 
			
		||||
#if defined(HAVE_SYS_SYSLIMITS_H)
 | 
			
		||||
@@ -33,16 +35,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,6 +55,7 @@ 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 */
 | 
			
		||||
@@ -81,12 +76,11 @@ static char *get_tempfile(const char *path, const char *filename) {
 | 
			
		||||
	return(tempfile);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if defined(INTERNAL_DOWNLOAD)
 | 
			
		||||
/* Build a 'struct url' from an url. */
 | 
			
		||||
static struct url *url_for_string(const char *url)
 | 
			
		||||
{
 | 
			
		||||
	struct url *ret = NULL;
 | 
			
		||||
	ret = downloadParseURL(url);
 | 
			
		||||
	ret = fetchParseURL(url);
 | 
			
		||||
	if(!ret) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("url '%s' is invalid\n"), url);
 | 
			
		||||
		RET_ERR(PM_ERR_SERVER_BAD_URL, NULL);
 | 
			
		||||
@@ -108,14 +102,16 @@ static struct url *url_for_string(const char *url)
 | 
			
		||||
 | 
			
		||||
static int download_internal(const char *url, const char *localpath,
 | 
			
		||||
		time_t mtimeold, time_t *mtimenew) {
 | 
			
		||||
	FILE *dlf, *localf = NULL;
 | 
			
		||||
	fetchIO *dlf = NULL;
 | 
			
		||||
	FILE *localf = NULL;
 | 
			
		||||
	struct url_stat ust;
 | 
			
		||||
	struct stat st;
 | 
			
		||||
	int chk_resume = 0;
 | 
			
		||||
	size_t dl_thisfile = 0;
 | 
			
		||||
	int chk_resume = 0, ret = 0;
 | 
			
		||||
	size_t dl_thisfile = 0, nread = 0;
 | 
			
		||||
	char *tempfile, *destfile, *filename;
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	struct sigaction new_action, old_action;
 | 
			
		||||
	struct url *fileurl = url_for_string(url);
 | 
			
		||||
	char buffer[PM_DLBUF_LEN];
 | 
			
		||||
 | 
			
		||||
	if(!fileurl) {
 | 
			
		||||
		return(-1);
 | 
			
		||||
@@ -142,23 +138,35 @@ static int download_internal(const char *url, const char *localpath,
 | 
			
		||||
		dl_thisfile = 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* libdownload does not reset the error code, reset it in
 | 
			
		||||
	 * the case of previous errors */
 | 
			
		||||
	downloadLastErrCode = 0;
 | 
			
		||||
	/* print proxy info for debug purposes */
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "HTTP_PROXY: %s\n", getenv("HTTP_PROXY"));
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "http_proxy: %s\n", getenv("http_proxy"));
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "FTP_PROXY:  %s\n", getenv("FTP_PROXY"));
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "ftp_proxy:  %s\n", getenv("ftp_proxy"));
 | 
			
		||||
 | 
			
		||||
	/* libfetch does not reset the error code */
 | 
			
		||||
	fetchLastErrCode = 0;
 | 
			
		||||
 | 
			
		||||
	/* 10s timeout - TODO make a config option */
 | 
			
		||||
	downloadTimeout = 10000;
 | 
			
		||||
	fetchTimeout = 10000;
 | 
			
		||||
 | 
			
		||||
	dlf = downloadXGet(fileurl, &ust, (handle->nopassiveftp ? "" : "p"));
 | 
			
		||||
	/* ignore any SIGPIPE signals- these may occur if our FTP socket dies or
 | 
			
		||||
	 * something along those lines. Store the old signal handler first. */
 | 
			
		||||
	new_action.sa_handler = SIG_IGN;
 | 
			
		||||
	sigemptyset(&new_action.sa_mask);
 | 
			
		||||
	sigaction(SIGPIPE, NULL, &old_action);
 | 
			
		||||
	sigaction(SIGPIPE, &new_action, NULL);
 | 
			
		||||
 | 
			
		||||
	if(downloadLastErrCode != 0 || dlf == NULL) {
 | 
			
		||||
	dlf = fetchXGet(fileurl, &ust, (handle->nopassiveftp ? "" : "p"));
 | 
			
		||||
 | 
			
		||||
	if(fetchLastErrCode != 0 || dlf == NULL) {
 | 
			
		||||
		const char *host = _("disk");
 | 
			
		||||
		if(strcmp(SCHEME_FILE, fileurl->scheme) != 0) {
 | 
			
		||||
			host = fileurl->host;
 | 
			
		||||
		}
 | 
			
		||||
		pm_errno = PM_ERR_LIBDOWNLOAD;
 | 
			
		||||
		pm_errno = PM_ERR_LIBFETCH;
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("failed retrieving file '%s' from %s : %s\n"),
 | 
			
		||||
				filename, host, downloadLastErrString);
 | 
			
		||||
				filename, host, fetchLastErrString);
 | 
			
		||||
		ret = -1;
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	} else {
 | 
			
		||||
@@ -200,17 +208,7 @@ static int download_internal(const char *url, const char *localpath,
 | 
			
		||||
		handle->dlcb(filename, 0, ust.size);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	size_t nread = 0;
 | 
			
		||||
	char buffer[PM_DLBUF_LEN];
 | 
			
		||||
	while((nread = fread(buffer, 1, PM_DLBUF_LEN, dlf)) > 0) {
 | 
			
		||||
		if(ferror(dlf)) {
 | 
			
		||||
			pm_errno = PM_ERR_LIBDOWNLOAD;
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("error downloading '%s': %s\n"),
 | 
			
		||||
					filename, downloadLastErrString);
 | 
			
		||||
			ret = -1;
 | 
			
		||||
			goto cleanup;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	while((nread = fetchIO_read(dlf, buffer, PM_DLBUF_LEN)) > 0) {
 | 
			
		||||
		size_t nwritten = 0;
 | 
			
		||||
		while(nwritten < nread) {
 | 
			
		||||
			nwritten += fwrite(buffer, 1, (nread - nwritten), localf);
 | 
			
		||||
@@ -227,151 +225,59 @@ static int download_internal(const char *url, const char *localpath,
 | 
			
		||||
			handle->dlcb(filename, dl_thisfile, ust.size);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* did the transfer complete normally? */
 | 
			
		||||
	if (ust.size != -1 && dl_thisfile < ust.size) {
 | 
			
		||||
		pm_errno = PM_ERR_LIBFETCH;
 | 
			
		||||
		_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;
 | 
			
		||||
 | 
			
		||||
	rename(tempfile, destfile);
 | 
			
		||||
	ret = 0;
 | 
			
		||||
 | 
			
		||||
cleanup:
 | 
			
		||||
	/* restore any existing SIGPIPE signal handler */
 | 
			
		||||
	sigaction(SIGPIPE, &old_action, NULL);
 | 
			
		||||
 | 
			
		||||
	FREE(tempfile);
 | 
			
		||||
	FREE(destfile);
 | 
			
		||||
	if(localf != NULL) {
 | 
			
		||||
		fclose(localf);
 | 
			
		||||
	}
 | 
			
		||||
	if(dlf != NULL) {
 | 
			
		||||
		fclose(dlf);
 | 
			
		||||
		fetchIO_close(dlf);
 | 
			
		||||
	}
 | 
			
		||||
	downloadFreeURL(fileurl);
 | 
			
		||||
	fetchFreeURL(fileurl);
 | 
			
		||||
	return(ret);
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static int download_external(const char *url, const char *localpath,
 | 
			
		||||
		time_t mtimeold, time_t *mtimenew) {
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	int retval;
 | 
			
		||||
	int usepart = 0;
 | 
			
		||||
	char *ptr1, *ptr2;
 | 
			
		||||
	char origCmd[PATH_MAX];
 | 
			
		||||
	char parsedCmd[PATH_MAX] = "";
 | 
			
		||||
	char cwd[PATH_MAX];
 | 
			
		||||
	char *destfile, *tempfile, *filename;
 | 
			
		||||
 | 
			
		||||
	if(!handle->xfercommand) {
 | 
			
		||||
		RET_ERR(PM_ERR_EXTERNAL_DOWNLOAD, -1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	filename = get_filename(url);
 | 
			
		||||
	if(!filename) {
 | 
			
		||||
		RET_ERR(PM_ERR_EXTERNAL_DOWNLOAD, -1);
 | 
			
		||||
	}
 | 
			
		||||
	destfile = get_destfile(localpath, filename);
 | 
			
		||||
	tempfile = get_tempfile(localpath, filename);
 | 
			
		||||
 | 
			
		||||
	/* replace all occurrences of %o with fn.part */
 | 
			
		||||
	strncpy(origCmd, handle->xfercommand, sizeof(origCmd));
 | 
			
		||||
	ptr1 = origCmd;
 | 
			
		||||
	while((ptr2 = strstr(ptr1, "%o"))) {
 | 
			
		||||
		usepart = 1;
 | 
			
		||||
		ptr2[0] = '\0';
 | 
			
		||||
		strcat(parsedCmd, ptr1);
 | 
			
		||||
		strcat(parsedCmd, tempfile);
 | 
			
		||||
		ptr1 = ptr2 + 2;
 | 
			
		||||
	}
 | 
			
		||||
	strcat(parsedCmd, ptr1);
 | 
			
		||||
	/* replace all occurrences of %u with the download URL */
 | 
			
		||||
	strncpy(origCmd, parsedCmd, sizeof(origCmd));
 | 
			
		||||
	parsedCmd[0] = '\0';
 | 
			
		||||
	ptr1 = origCmd;
 | 
			
		||||
	while((ptr2 = strstr(ptr1, "%u"))) {
 | 
			
		||||
		ptr2[0] = '\0';
 | 
			
		||||
		strcat(parsedCmd, ptr1);
 | 
			
		||||
		strcat(parsedCmd, url);
 | 
			
		||||
		ptr1 = ptr2 + 2;
 | 
			
		||||
	}
 | 
			
		||||
	strcat(parsedCmd, ptr1);
 | 
			
		||||
	/* cwd to the download directory */
 | 
			
		||||
	getcwd(cwd, PATH_MAX);
 | 
			
		||||
	if(chdir(localpath)) {
 | 
			
		||||
		_alpm_log(PM_LOG_WARNING, _("could not chdir to %s\n"), localpath);
 | 
			
		||||
		pm_errno = PM_ERR_EXTERNAL_DOWNLOAD;
 | 
			
		||||
		ret = -1;
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	}
 | 
			
		||||
	/* execute the parsed command via /bin/sh -c */
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "running command: %s\n", parsedCmd);
 | 
			
		||||
	retval = system(parsedCmd);
 | 
			
		||||
 | 
			
		||||
	if(retval == -1) {
 | 
			
		||||
		_alpm_log(PM_LOG_WARNING, _("running XferCommand: fork failed!\n"));
 | 
			
		||||
		pm_errno = PM_ERR_EXTERNAL_DOWNLOAD;
 | 
			
		||||
		ret = -1;
 | 
			
		||||
	} else if(retval != 0) {
 | 
			
		||||
		/* download failed */
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "XferCommand command returned non-zero status "
 | 
			
		||||
				"code (%d)\n", retval);
 | 
			
		||||
		ret = -1;
 | 
			
		||||
	} else {
 | 
			
		||||
		/* download was successful */
 | 
			
		||||
		if(usepart) {
 | 
			
		||||
			rename(tempfile, destfile);
 | 
			
		||||
		}
 | 
			
		||||
		ret = 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
cleanup:
 | 
			
		||||
	chdir(cwd);
 | 
			
		||||
	if(ret == -1) {
 | 
			
		||||
		/* hack to let an user the time to cancel a download */
 | 
			
		||||
		sleep(2);
 | 
			
		||||
	}
 | 
			
		||||
	FREE(destfile);
 | 
			
		||||
	FREE(tempfile);
 | 
			
		||||
 | 
			
		||||
	return(ret);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int download(const char *url, const char *localpath,
 | 
			
		||||
		time_t mtimeold, time_t *mtimenew) {
 | 
			
		||||
	int ret;
 | 
			
		||||
	const char *proto = "file://";
 | 
			
		||||
	int len = strlen(proto);
 | 
			
		||||
	if(strncmp(url, proto, len) == 0) {
 | 
			
		||||
		/* we can simply grab an absolute path from the file:// url by starting
 | 
			
		||||
		 * our path at the char following the proto (the root '/')
 | 
			
		||||
		 */
 | 
			
		||||
		const char *sourcefile = url + len;
 | 
			
		||||
		const char *filename = get_filename(url);
 | 
			
		||||
		char *destfile = get_destfile(localpath, filename);
 | 
			
		||||
 | 
			
		||||
		ret = _alpm_copyfile(sourcefile, destfile);
 | 
			
		||||
		FREE(destfile);
 | 
			
		||||
		/* copyfile returns 1 on failure, we want to return -1 on failure */
 | 
			
		||||
		return(ret ? -1 : 0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* We have a few things to take into account here.
 | 
			
		||||
	 * 1. If we have both internal/external available, choose based on
 | 
			
		||||
	 * whether xfercommand is populated.
 | 
			
		||||
	 * 2. If we only have external available, we should first check
 | 
			
		||||
	 * if a command was provided before we drop into download_external.
 | 
			
		||||
	 */
 | 
			
		||||
	if(handle->xfercommand == NULL) {
 | 
			
		||||
	if(handle->fetchcb == NULL) {
 | 
			
		||||
#if defined(INTERNAL_DOWNLOAD)
 | 
			
		||||
		ret = download_internal(url, localpath, mtimeold, mtimenew);
 | 
			
		||||
		return(download_internal(url, localpath, mtimeold, mtimenew));
 | 
			
		||||
#else
 | 
			
		||||
		RET_ERR(PM_ERR_EXTERNAL_DOWNLOAD, -1);
 | 
			
		||||
#endif
 | 
			
		||||
	} else {
 | 
			
		||||
		ret = download_external(url, localpath, mtimeold, mtimenew);
 | 
			
		||||
		int ret = handle->fetchcb(url, localpath, mtimeold, mtimenew);
 | 
			
		||||
		if(ret == -1) {
 | 
			
		||||
			RET_ERR(PM_ERR_EXTERNAL_DOWNLOAD, -1);
 | 
			
		||||
		}
 | 
			
		||||
		return(ret);
 | 
			
		||||
	}
 | 
			
		||||
	return(ret);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -380,6 +286,7 @@ static int download(const char *url, const char *localpath,
 | 
			
		||||
 *     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
 | 
			
		||||
@@ -392,6 +299,8 @@ int _alpm_download_single_file(const char *filename,
 | 
			
		||||
	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;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  dload.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  error.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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,21 +102,17 @@ 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:
 | 
			
		||||
@@ -128,9 +124,6 @@ const char SYMEXPORT *alpm_strerror(int err)
 | 
			
		||||
			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 +132,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 +142,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-2009 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-2009 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-2009 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-2009 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,10 @@ void _alpm_handle_free(pmhandle_t *handle)
 | 
			
		||||
	FREELIST(handle->cachedirs);
 | 
			
		||||
	FREE(handle->logfile);
 | 
			
		||||
	FREE(handle->lockfile);
 | 
			
		||||
	FREE(handle->xfercommand);
 | 
			
		||||
	FREELIST(handle->dbs_sync);
 | 
			
		||||
	FREELIST(handle->noupgrade);
 | 
			
		||||
	FREELIST(handle->noextract);
 | 
			
		||||
	FREELIST(handle->ignorepkg);
 | 
			
		||||
	FREELIST(handle->holdpkg);
 | 
			
		||||
	FREELIST(handle->ignoregrp);
 | 
			
		||||
	FREE(handle);
 | 
			
		||||
}
 | 
			
		||||
@@ -115,6 +105,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) {
 | 
			
		||||
@@ -205,15 +204,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,15 +213,6 @@ alpm_list_t SYMEXPORT *alpm_option_get_ignoregrps()
 | 
			
		||||
	return handle->ignoregrp;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char SYMEXPORT *alpm_option_get_xfercommand()
 | 
			
		||||
{
 | 
			
		||||
	if (handle == NULL) {
 | 
			
		||||
		pm_errno = PM_ERR_HANDLE_NULL;
 | 
			
		||||
		return NULL;
 | 
			
		||||
	}
 | 
			
		||||
	return handle->xfercommand;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unsigned short SYMEXPORT alpm_option_get_nopassiveftp()
 | 
			
		||||
{
 | 
			
		||||
	if (handle == NULL) {
 | 
			
		||||
@@ -277,6 +258,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 +295,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);
 | 
			
		||||
	}
 | 
			
		||||
@@ -516,28 +507,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,12 +529,6 @@ int SYMEXPORT alpm_option_remove_ignoregrp(const char *grp)
 | 
			
		||||
	return(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void SYMEXPORT alpm_option_set_xfercommand(const char *cmd)
 | 
			
		||||
{
 | 
			
		||||
	if(handle->xfercommand) FREE(handle->xfercommand);
 | 
			
		||||
	if(cmd) handle->xfercommand = strdup(cmd);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void SYMEXPORT alpm_option_set_nopassiveftp(unsigned short nopasv)
 | 
			
		||||
{
 | 
			
		||||
	handle->nopassiveftp = nopasv;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  handle.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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,13 +54,11 @@ 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 */
 | 
			
		||||
} pmhandle_t;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  log.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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-2009 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
 | 
			
		||||
 
 | 
			
		||||
@@ -248,7 +248,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-2009 Pacman Development Team <pacman-dev@archlinux.org>
 | 
			
		||||
 *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
 | 
			
		||||
 *  Copyright (c) 2005, 2006 by Christian Hamar <krics@linuxforum.hu>
 | 
			
		||||
 *  Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
 | 
			
		||||
@@ -30,7 +31,6 @@
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
/* libarchive */
 | 
			
		||||
#include <archive.h>
 | 
			
		||||
@@ -295,6 +295,20 @@ alpm_list_t SYMEXPORT *alpm_pkg_get_groups(pmpkg_t *pkg)
 | 
			
		||||
	return pkg->groups;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unsigned short SYMEXPORT alpm_pkg_has_force(pmpkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	/* Sanity checks */
 | 
			
		||||
	ASSERT(handle != NULL, return(-1));
 | 
			
		||||
	ASSERT(pkg != NULL, return(-1));
 | 
			
		||||
 | 
			
		||||
	if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
 | 
			
		||||
		_alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
 | 
			
		||||
	}
 | 
			
		||||
	return pkg->force;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_pkg_get_depends(pmpkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
@@ -409,6 +423,22 @@ alpm_list_t SYMEXPORT *alpm_pkg_get_backup(pmpkg_t *pkg)
 | 
			
		||||
	return pkg->backup;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_pkg_get_removes(pmpkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	ASSERT(pkg != NULL, return(NULL));
 | 
			
		||||
 | 
			
		||||
	return(pkg->removes);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
@@ -820,6 +850,7 @@ void _alpm_pkg_free(pmpkg_t *pkg)
 | 
			
		||||
	alpm_list_free_inner(pkg->deltas, (alpm_list_fn_free)_alpm_delta_free);
 | 
			
		||||
	alpm_list_free(pkg->deltas);
 | 
			
		||||
	alpm_list_free(pkg->delta_path);
 | 
			
		||||
	alpm_list_free(pkg->removes);
 | 
			
		||||
 | 
			
		||||
	if(pkg->origin == PKG_FROM_FILE) {
 | 
			
		||||
		FREE(pkg->origin_data.file);
 | 
			
		||||
@@ -827,32 +858,31 @@ void _alpm_pkg_free(pmpkg_t *pkg)
 | 
			
		||||
	FREE(pkg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Is pkgB an upgrade for pkgA ? */
 | 
			
		||||
int _alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg)
 | 
			
		||||
/* Free transaction specific fields */
 | 
			
		||||
void _alpm_pkg_free_trans(pmpkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	if(pkg == NULL) {
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	alpm_list_free(pkg->removes);
 | 
			
		||||
	pkg->removes = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Is spkg an upgrade for locapkg? */
 | 
			
		||||
int _alpm_pkg_compare_versions(pmpkg_t *spkg, pmpkg_t *localpkg)
 | 
			
		||||
{
 | 
			
		||||
	int cmp = 0;
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	if(pkg->origin == PKG_FROM_CACHE) {
 | 
			
		||||
		/* ensure we have the /desc file, which contains the 'force' option */
 | 
			
		||||
		_alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
 | 
			
		||||
	}
 | 
			
		||||
	cmp = alpm_pkg_vercmp(alpm_pkg_get_version(spkg),
 | 
			
		||||
			alpm_pkg_get_version(localpkg));
 | 
			
		||||
 | 
			
		||||
	/* compare versions and see if we need to upgrade */
 | 
			
		||||
	cmp = alpm_pkg_vercmp(alpm_pkg_get_version(pkg), alpm_pkg_get_version(local_pkg));
 | 
			
		||||
 | 
			
		||||
	if(cmp != 0 && pkg->force) {
 | 
			
		||||
	if(cmp < 0 && alpm_pkg_has_force(spkg)) {
 | 
			
		||||
		cmp = 1;
 | 
			
		||||
		_alpm_log(PM_LOG_WARNING, _("%s: forcing upgrade to version %s\n"),
 | 
			
		||||
							alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
 | 
			
		||||
	} else if(cmp < 0) {
 | 
			
		||||
		/* local version is newer */
 | 
			
		||||
		pmdb_t *db = pkg->origin_data.db;
 | 
			
		||||
		_alpm_log(PM_LOG_WARNING, _("%s: local (%s) is newer than %s (%s)\n"),
 | 
			
		||||
							alpm_pkg_get_name(local_pkg), alpm_pkg_get_version(local_pkg),
 | 
			
		||||
							alpm_db_get_name(db), alpm_pkg_get_version(pkg));
 | 
			
		||||
		cmp = 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return(cmp);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  package.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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>
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -6,8 +6,11 @@ es
 | 
			
		||||
fr
 | 
			
		||||
hu
 | 
			
		||||
it
 | 
			
		||||
kk
 | 
			
		||||
pl
 | 
			
		||||
pt_BR
 | 
			
		||||
ro
 | 
			
		||||
ru
 | 
			
		||||
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.
 | 
			
		||||
 
 | 
			
		||||
@@ -2,27 +2,28 @@
 | 
			
		||||
# 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.
 | 
			
		||||
# Vojtěch Gondžala <vojtech.gondzala@gmail.com>, 2007, 2008, 2009.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: cs\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-19 08:45+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-29 14:14+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"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Generator: KBabel 1.11.4\n"
 | 
			
		||||
"X-Generator: Lokalize 1.0\n"
 | 
			
		||||
"Plural-Forms:  nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing older version %s-%s by %s in target list\n"
 | 
			
		||||
msgstr "v seznamu cílů nahrazuji starší verzi %s-%s za %s\n"
 | 
			
		||||
msgstr "v seznamu cílů nahrazena starší verze %s-%s za %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
 | 
			
		||||
msgstr "přeskakuji %s-%s protože v seznamu cílů je novější veze %s\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -30,7 +31,7 @@ msgstr "v seznamu cílů byly nalezeny konfliktní balíčky\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you cannot install two conflicting packages at the same time\n"
 | 
			
		||||
msgstr "nemůžete instalovat dva konfliktní balíčky společně\n"
 | 
			
		||||
msgstr "nelze instalovat dva konfliktní balíčky současně\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing packages with -U is not supported yet\n"
 | 
			
		||||
@@ -38,7 +39,7 @@ msgstr "nahrazování balíčků pomocí -U není nyní podporováno\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you can replace packages manually using -Rd and -U\n"
 | 
			
		||||
msgstr "balíčky můžete nahradit ručně použitím -Rd a -U\n"
 | 
			
		||||
msgstr "balíčky lze nahradit ručně použitím -Rd a -U\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
@@ -48,14 +49,14 @@ msgstr ""
 | 
			
		||||
"přístupová práva adresáře %s se neshodují\n"
 | 
			
		||||
"souborový systém: %o  balíček: %o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "rozbalení: symbolický odkaz %s neodkazuje na adresář\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: not overwriting dir with file %s\n"
 | 
			
		||||
msgstr "rozbalení: adresář nebyl přepsán souborem %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "rozbalení: symbolický odkaz %s neodkazuje na adresář\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not extract %s (%s)\n"
 | 
			
		||||
msgstr "nelze rozbalit %s (%s)\n"
 | 
			
		||||
@@ -66,19 +67,19 @@ msgstr "nelze přejmenovat %s na %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s saved as %s\n"
 | 
			
		||||
msgstr "%s uložen jako %s\n"
 | 
			
		||||
msgstr "%s byl uložen jako %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not install %s as %s (%s)\n"
 | 
			
		||||
msgstr "nelze nainstalovat %s jako %s (%s)\n"
 | 
			
		||||
msgstr "%s nelze nainstalovat jako %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s installed as %s\n"
 | 
			
		||||
msgstr "%s nainstalován jako %s\n"
 | 
			
		||||
msgstr "%s byl nainstalován jako %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extracting %s as %s.pacnew\n"
 | 
			
		||||
msgstr "rozbaluji %s jako %s.pacnew\n"
 | 
			
		||||
msgstr "%s byl rozbalen jako %s.pacnew\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not get current working directory\n"
 | 
			
		||||
@@ -101,8 +102,8 @@ 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 "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"
 | 
			
		||||
@@ -124,6 +125,10 @@ msgstr "databáze %s je nekonzistentní: nesouhlasí jméno balíčku %s\n"
 | 
			
		||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
 | 
			
		||||
msgstr "databáze %s je nekonzistentní: nesouhlasí verze balíčku %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create directory %s: %s\n"
 | 
			
		||||
msgstr "nelze změnit adresář %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not parse package description file in %s\n"
 | 
			
		||||
msgstr "nelze zpracovat soubor s popisem balíčku v %s\n"
 | 
			
		||||
@@ -150,7 +155,7 @@ msgstr "pokus o opětovné zaregistrování databáze 'local'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "cesta k databázi nebyla určena\n"
 | 
			
		||||
msgstr "cesta k databázi není definována\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "dependency cycle detected:\n"
 | 
			
		||||
@@ -164,21 +169,25 @@ msgstr "%s bude odstraněn po %s, na kterém závisí\n"
 | 
			
		||||
msgid "%s will be installed before its %s dependency\n"
 | 
			
		||||
msgstr "%s bude nainstalován před %s, na kterém závisí\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package %s-%s\n"
 | 
			
		||||
msgstr "ignoruje se balíček %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "provider package was selected (%s provides %s)\n"
 | 
			
		||||
msgstr "byl vybrán nahrazující balíček (%s poskytuje %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
 | 
			
		||||
msgstr "nemohu vyřešit \"%s\", závislost \"%s\"\n"
 | 
			
		||||
msgstr "nelze vyřešit \"%s\", závislost \"%s\"\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url '%s' is invalid\n"
 | 
			
		||||
msgstr "url '%s' je chybná\n"
 | 
			
		||||
msgstr "URL '%s' je chybná\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url scheme not specified, assuming HTTP\n"
 | 
			
		||||
msgstr "schéma url nedefinováno, předpokládám HTTP\n"
 | 
			
		||||
msgstr "schéma URL nedefinováno, předpokládá se HTTP\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "disk"
 | 
			
		||||
@@ -190,27 +199,19 @@ msgstr "selhalo získání souboru '%s' z %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot resume download, starting over\n"
 | 
			
		||||
msgstr "nelze navázat stahování, začínám znovu\n"
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "running XferCommand: fork failed!\n"
 | 
			
		||||
msgstr "spouštím XferCommand: větvení selhalo!\n"
 | 
			
		||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
 | 
			
		||||
msgstr "%s se zdá být zkrácen:  %jd/%jd bytů\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to download %s\n"
 | 
			
		||||
@@ -230,11 +231,11 @@ msgstr "nedostatečná oprávnění"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read file"
 | 
			
		||||
msgstr "nelze najít nebo číst soubor"
 | 
			
		||||
msgstr "nelze nalézt nebo číst soubor"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read directory"
 | 
			
		||||
msgstr "nelze najít nebo číst adresář"
 | 
			
		||||
msgstr "nelze nalézt nebo číst adresář"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrong or NULL argument passed"
 | 
			
		||||
@@ -282,7 +283,11 @@ msgstr "nelze odstranit záznam v databázi"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "nesprávná url pro server"
 | 
			
		||||
msgstr "nesprávná URL pro server"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "pro repositář nejsou nastaveny žádné servery"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
@@ -298,28 +303,28 @@ msgstr "duplicitní cíl"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not prepared"
 | 
			
		||||
msgstr "transakce nepřipravena"
 | 
			
		||||
msgstr "transakce není připravena"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction aborted"
 | 
			
		||||
msgstr "transakce zrušena"
 | 
			
		||||
msgstr "transakce byla zrušena"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation not compatible with the transaction type"
 | 
			
		||||
msgstr "operace není kompatibilní s typem transakce"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction"
 | 
			
		||||
msgstr "nelze provést transakci"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not download all files"
 | 
			
		||||
msgstr "nelze stáhnout všechny soubory"
 | 
			
		||||
msgid "transaction commit attempt when database is not locked"
 | 
			
		||||
msgstr "pokus o uskutečnění transakce v době, kdy není uzamčena databáze"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read package"
 | 
			
		||||
msgstr "nelze nalézt nebo přečíst balíček"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation cancelled due to ignorepkg"
 | 
			
		||||
msgstr "operace byla zrušena kvůli ignorovanému balíčku"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted package"
 | 
			
		||||
msgstr "neplatný nebo poškozený balíček"
 | 
			
		||||
@@ -328,14 +333,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,20 +343,16 @@ msgstr "jméno souboru balíčku není platné"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no such repository"
 | 
			
		||||
msgstr "není žádný takový repositář"
 | 
			
		||||
msgstr "takový repositář není nastaven"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted delta"
 | 
			
		||||
msgstr "neplatný nebo poškozený rozdíl"
 | 
			
		||||
msgstr "neplatný nebo poškozený delta rozdíl"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "aplikace delta rozdílu selhala"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "skupina nenalezena"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "nelze vyřešit závislosti"
 | 
			
		||||
@@ -373,16 +366,8 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "konfliktní soubory"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "uživatel zrušil operaci"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "interní chyba"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "nepotvrzeno"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "selhalo získání některých souborů"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
@@ -404,17 +389,9 @@ msgstr "chyba volání externího programu pro stahování souborů"
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "neočekávaná chyba"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: vynucená aktualizace na verzi %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: lokální (%s) je novější než %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "nelze nalézt %s v databázi -- přeskakuji\n"
 | 
			
		||||
msgstr "nelze nalézt %s v databázi -- vynechat\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove file '%s': %s\n"
 | 
			
		||||
@@ -429,24 +406,44 @@ msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "nelze odstranit položku '%s' z cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr "%s-%s: ignoruji aktualizaci balíčku (bude nahrazen %s-%s)\n"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoruje se aktualizace balíčku (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoruji aktualizaci balíčku (%s => %s)\n"
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoruje se ponížení verze balíčku (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: ponížení z verze %s na verzi %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: lokální verze (%s) je novější než v %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignoruje se náhrada balíčku (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "nelze nahradit soubor %s souborem %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "repositář '%s' nenalezen\n"
 | 
			
		||||
msgstr "repositář '%s' nebyl nalezen\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- skipping\n"
 | 
			
		||||
msgstr "%s-%s je aktuální -- přeskakuji\n"
 | 
			
		||||
msgstr "%s-%s je aktuální -- vynechat\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s je aktuální -- přeinstalovávám\n"
 | 
			
		||||
msgstr "%s-%s je aktuální -- přeinstalovat\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "ponížení verze balíčku %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
@@ -454,24 +451,28 @@ msgstr "zjištěn konflikt nerozlišitelných balíčků\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "odstraňuji '%s' ze seznamu cílů, protože je konfliktní s '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "command: %s\n"
 | 
			
		||||
msgstr "příkaz: %s\n"
 | 
			
		||||
msgstr "'%s' odstraněn ze seznamu cílů, protože je konfliktní s '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files from %s\n"
 | 
			
		||||
msgstr "selhalo stažení některých souborů z %s\n"
 | 
			
		||||
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 create transaction\n"
 | 
			
		||||
msgstr "nelze vytvořit transakci\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize the removal transaction\n"
 | 
			
		||||
msgstr "nelze inicializovat transakci pro odstranění\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "nelze inicializovat transakci\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr "nelze připravit transakci pro odstranění\n"
 | 
			
		||||
@@ -480,18 +481,6 @@ msgstr "nelze připravit transakci pro odstranění\n"
 | 
			
		||||
msgid "could not commit removal transaction\n"
 | 
			
		||||
msgstr "nelze provést transakci pro odstranění\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "nelze vytvořit transakci\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "nelze inicializovat transakci\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare transaction\n"
 | 
			
		||||
msgstr "nelze připravit transakci\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction\n"
 | 
			
		||||
msgstr "nelze provést transakci\n"
 | 
			
		||||
@@ -500,10 +489,6 @@ msgstr "nelze provést transakci\n"
 | 
			
		||||
msgid "could not remove lock file %s\n"
 | 
			
		||||
msgstr "nelze odstranit zamykací soubor %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
 | 
			
		||||
msgstr "V rodičovském prostředí chybí /bin/sh, ruším provádění skriptů\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "nelze vytvořit dočasný adresář\n"
 | 
			
		||||
@@ -512,6 +497,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "nelze otevřít %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "nelze změnit adresář na %s (%s)\n"
 | 
			
		||||
@@ -537,21 +530,58 @@ msgid "call to waitpid failed (%s)\n"
 | 
			
		||||
msgstr "volání waitpid selhalo (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "scriptlet failed to execute correctly\n"
 | 
			
		||||
msgstr "správné spuštění skriptu selhalo\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove tmpdir %s\n"
 | 
			
		||||
msgstr "nelze odstranit dočasný adresář %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open %s: %s\n"
 | 
			
		||||
msgstr "nelze otevřít %s: %s\n"
 | 
			
		||||
msgid "command failed to execute correctly\n"
 | 
			
		||||
msgstr "příkaz se nepodařilo spustit správně\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no %s cache exists, creating...\n"
 | 
			
		||||
msgstr "neexistuje cache %s, vytvářím...\n"
 | 
			
		||||
msgstr "neexistuje cache %s, vytváří se...\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "couldn't create package cache, using /tmp instead\n"
 | 
			
		||||
msgstr "nelze vytvořit cache balíčků, používám /tmp\n"
 | 
			
		||||
msgstr "nelze vytvořit cache balíčků, používá se /tmp\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "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"
 | 
			
		||||
 
 | 
			
		||||
@@ -6,13 +6,13 @@
 | 
			
		||||
# 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"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-16 13:30+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-29 16:09+0100\n"
 | 
			
		||||
"Last-Translator: Matthias Gorissen <matthias@archlinux.de>\n"
 | 
			
		||||
"Language-Team: German <archlinux.de>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -55,14 +55,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,8 +108,8 @@ 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 "could not remove database %s\n"
 | 
			
		||||
msgstr "Konnte Datenbank %s nicht entfernen\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid name for database entry '%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"
 | 
			
		||||
@@ -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"
 | 
			
		||||
@@ -207,21 +215,13 @@ msgstr "Kann den Download nicht wieder aufnehmen, starte neu\n"
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, 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 +295,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 +324,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 +344,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"
 | 
			
		||||
@@ -367,10 +364,6 @@ msgstr "Ungültiges oder beschädigtes Delta"
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "Delta-Patch versagte"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "Gruppe nicht gefunden"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "Kann Abhängigkeiten nicht erfüllen"
 | 
			
		||||
@@ -384,16 +377,8 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "In Konflikt stehende Dateien"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "Benutzer brach die Aktion ab"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "Interner Fehler"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "Nicht bestätigt"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "Konnte manche Dateien nicht übertragen"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
@@ -415,14 +400,6 @@ msgstr "Fehler beim Aufruf eines externen Downloaders"
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "Unerwarteter Fehler"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: Erzwungene Aktualisierung auf Version %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "Konnte %s nicht in Datenbank finden -- Überspringe\n"
 | 
			
		||||
@@ -439,14 +416,30 @@ msgstr "Konnte Datenbank-Eintrag %s-%s nicht entfernen\n"
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "Konnte Eintrag '%s' nicht aus dem Puffer entfernen\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr "%s-%s: Ignoriere zu aktualisierendes Paket (zu ersetzen durch %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: Ignoriere Paket-Aktualisierung (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: Ignoriere Paket-Downgrade (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: Downgrade von Version %s zu Version %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "Ignoriere Paket-Ersetzung (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "Kann %s nicht durch %s ersetzen\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "Repositorium '%s' nicht gefunden\n"
 | 
			
		||||
@@ -459,6 +452,10 @@ msgstr "%s-%s ist aktuell -- Überspringe\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s ist aktuell -- Reinstalliere\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "Downgrade des Paketes %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "Nicht lösbare Paketkonflikte gefunden\n"
 | 
			
		||||
@@ -467,10 +464,6 @@ 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"
 | 
			
		||||
@@ -479,10 +472,18 @@ msgstr "Konnte manche Dateien von %s nicht übertragen\n"
 | 
			
		||||
msgid "could not create removal transaction\n"
 | 
			
		||||
msgstr "Konnte den Lösch-Vorgang nicht erstellen\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "Konnte den 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 initialize transaction\n"
 | 
			
		||||
msgstr "Konnte den Vorgang nicht beginnen\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr "Konnte Lösch-Vorgang nicht vorbereiten\n"
 | 
			
		||||
@@ -491,18 +492,6 @@ msgstr "Konnte Lösch-Vorgang nicht vorbereiten\n"
 | 
			
		||||
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 +500,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 +508,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "Konnte Datei %s nicht öffnen: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "Konnte nicht zu Verzeichnis %s wechseln (%s)\n"
 | 
			
		||||
@@ -548,16 +541,8 @@ 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"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,14 @@
 | 
			
		||||
# 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.
 | 
			
		||||
#
 | 
			
		||||
# Jeff Bailes <thepizzaking@gmail.com>, 2007, 2009.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: Pacman package manager 3.0.0\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-19 17:31+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-30 18:37+1000\n"
 | 
			
		||||
"Last-Translator: Jeff Bailes <thepizzaking@gmail.com>\n"
 | 
			
		||||
"Language-Team: English <en_gb@li.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -48,14 +48,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,8 +101,8 @@ 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 "could not remove database %s\n"
 | 
			
		||||
msgstr "could not remove database %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid name for 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"
 | 
			
		||||
@@ -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"
 | 
			
		||||
@@ -196,21 +204,13 @@ msgstr "cannot resume download, starting over\n"
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, 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 +284,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 +313,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 +332,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"
 | 
			
		||||
@@ -356,10 +352,6 @@ msgstr "invalid or corrupted delta"
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "delta patch failed"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "group not found"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "could not satisfy dependencies"
 | 
			
		||||
@@ -373,16 +365,8 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "conflicting files"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "user aborted the operation"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "internal error"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "not confirmed"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "failed to retrieve some files"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
@@ -404,14 +388,6 @@ msgstr "error invoking external downloader"
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "unexpected error"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: forcing upgrade to version %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "could not find %s in database -- skipping\n"
 | 
			
		||||
@@ -428,14 +404,30 @@ msgstr "could not remove database entry %s-%s\n"
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "could not remove entry '%s' from cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "cannot replace %s by %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "repository '%s' not found\n"
 | 
			
		||||
@@ -448,6 +440,10 @@ msgstr "%s-%s is up to date -- skipping\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "downgrading package %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "unresolvable package conflicts detected\n"
 | 
			
		||||
@@ -456,10 +452,6 @@ 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"
 | 
			
		||||
@@ -468,10 +460,18 @@ msgstr "failed to retrieve some files from %s\n"
 | 
			
		||||
msgid "could not create removal transaction\n"
 | 
			
		||||
msgstr "could not create removal transaction\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "could not create 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 initialize transaction\n"
 | 
			
		||||
msgstr "could not initialise transaction\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr "could not prepare removal transaction\n"
 | 
			
		||||
@@ -480,18 +480,6 @@ msgstr "could not prepare removal transaction\n"
 | 
			
		||||
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 +488,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 +496,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "could not open %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "could not change directory to %s (%s)\n"
 | 
			
		||||
@@ -537,16 +529,8 @@ 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,3 +539,48 @@ 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"
 | 
			
		||||
 | 
			
		||||
#~ msgid "error downloading '%s': %s\n"
 | 
			
		||||
#~ msgstr "error downloading '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "could not chdir to %s\n"
 | 
			
		||||
#~ msgstr "could not chdir to %s\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "running XferCommand: fork failed!\n"
 | 
			
		||||
#~ msgstr "running XferCommand: fork failed!\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "could not commit transaction"
 | 
			
		||||
#~ msgstr "could not commit transaction"
 | 
			
		||||
 | 
			
		||||
#~ msgid "could not download all files"
 | 
			
		||||
#~ msgstr "could not download all files"
 | 
			
		||||
 | 
			
		||||
#~ msgid "cannot load package data"
 | 
			
		||||
#~ msgstr "cannot load package data"
 | 
			
		||||
 | 
			
		||||
#~ msgid "package not installed or lesser version"
 | 
			
		||||
#~ msgstr "package not installed or lesser version"
 | 
			
		||||
 | 
			
		||||
#~ msgid "group not found"
 | 
			
		||||
#~ msgstr "group not found"
 | 
			
		||||
 | 
			
		||||
#~ msgid "user aborted the operation"
 | 
			
		||||
#~ msgstr "user aborted the operation"
 | 
			
		||||
 | 
			
		||||
#~ msgid "internal error"
 | 
			
		||||
#~ msgstr "internal error"
 | 
			
		||||
 | 
			
		||||
#~ msgid "not confirmed"
 | 
			
		||||
#~ msgstr "not confirmed"
 | 
			
		||||
 | 
			
		||||
#~ 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 "command: %s\n"
 | 
			
		||||
#~ msgstr "command: %s\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "could not prepare transaction\n"
 | 
			
		||||
#~ msgstr "could not prepare transaction\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
 | 
			
		||||
#~ msgstr "No /bin/sh in parent environment, aborting scriptlet\n"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +1,22 @@
 | 
			
		||||
# translation of libalpm.po to
 | 
			
		||||
# Juan Pablo Gonzalez <jotapesan@gmail.com>, 2008.
 | 
			
		||||
# translation of es.po to
 | 
			
		||||
# Juan Pablo González Tognarelli <jotapesan@gmail.com>, 2008, 2009.
 | 
			
		||||
# Juan Pablo González Tognarelli <juan.gonzalez.tognarelli@gmail.com>, 2009.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libalpm\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-16 09:26-0400\n"
 | 
			
		||||
"Last-Translator: Juan Pablo Gonzalez <jotapesan@gmail.com>\n"
 | 
			
		||||
"Language-Team:  <es@li.org>\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-29 11:51+0200\n"
 | 
			
		||||
"Last-Translator: Juan Pablo González Tognarelli <juan.gonzalez."
 | 
			
		||||
"tognarelli@gmail.com>\n"
 | 
			
		||||
"Language-Team: Spanish <kde-i18n-doc@kde.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Poedit-Language: Spanish\n"
 | 
			
		||||
"X-Poedit-Country: CHILE\n"
 | 
			
		||||
"X-Poedit-SourceCharset: utf-8\n"
 | 
			
		||||
"X-Generator: KBabel 1.11.4\n"
 | 
			
		||||
"X-Generator: Lokalize 0.3\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing older version %s-%s by %s in target list\n"
 | 
			
		||||
@@ -38,7 +39,7 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing packages with -U is not supported yet\n"
 | 
			
		||||
msgstr "reemplazar paquetes  con -U aún no esta soportado\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"
 | 
			
		||||
@@ -52,14 +53,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"
 | 
			
		||||
@@ -105,8 +106,8 @@ msgid "could not add entry '%s' in cache\n"
 | 
			
		||||
msgstr "no se pudo agregar '%s' en la cache\n"
 | 
			
		||||
 | 
			
		||||
#, 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 "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"
 | 
			
		||||
@@ -132,17 +133,21 @@ msgstr ""
 | 
			
		||||
"la base de datos %s es inconsistente: versión mal emparejada en el paquete %"
 | 
			
		||||
"s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create directory %s: %s\n"
 | 
			
		||||
msgstr "no se pudo crear el directorio %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not parse package description file in %s\n"
 | 
			
		||||
msgstr "no se pudo analizar sintácticamente el archivo de descripción en %s\n"
 | 
			
		||||
msgstr "no se pudo interpretar el archivo de descripción en %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package name in %s\n"
 | 
			
		||||
msgstr "nombre de paquete ausente en %s\n"
 | 
			
		||||
msgstr "falta el nombre de paquete en %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package version in %s\n"
 | 
			
		||||
msgstr "forzando la versión del paquete en %s\n"
 | 
			
		||||
msgstr "falta la versión del paquete en %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error while reading package %s: %s\n"
 | 
			
		||||
@@ -150,7 +155,7 @@ msgstr "error mientras se leía el paquete %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
msgstr "metadatos del paquete faltantes en %s\n"
 | 
			
		||||
msgstr "faltan los metadatos del paquete en %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "attempt to re-register the 'local' DB\n"
 | 
			
		||||
@@ -158,7 +163,7 @@ msgstr "intento para re-registrar la base de datos 'local'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "ruta para la base de datos no es definido\n"
 | 
			
		||||
msgstr "la ruta para la base de datos no está definida\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "dependency cycle detected:\n"
 | 
			
		||||
@@ -166,12 +171,16 @@ msgstr "ciclo de dependencias detectado:\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s will be removed after its %s dependency\n"
 | 
			
		||||
msgstr "%s será quitado tras su dependencia %s\n"
 | 
			
		||||
msgstr "%s será quitado luego de su dependencia %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s will be installed before its %s dependency\n"
 | 
			
		||||
msgstr "%s será instalado antes de su dependencia %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package %s-%s\n"
 | 
			
		||||
msgstr "ignorando el paquete %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "provider package was selected (%s provides %s)\n"
 | 
			
		||||
msgstr "El paquete proveedor fue seleccionado (%s provee %s)\n"
 | 
			
		||||
@@ -202,23 +211,15 @@ msgstr "no se puede resumir la descarga, empezando de nuevo\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot write to file '%s'\n"
 | 
			
		||||
msgstr "no se pudo escribir al archivo '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error downloading '%s': %s\n"
 | 
			
		||||
msgstr "error descargando %s: %s\n"
 | 
			
		||||
msgstr "no se puede escribir en el archivo '%s'\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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "running XferCommand: fork failed!\n"
 | 
			
		||||
msgstr "ejecutando XferCommand: falló en el fork\n"
 | 
			
		||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
 | 
			
		||||
msgstr "%s parece estar truncado: %jd/%jd bytes\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to download %s\n"
 | 
			
		||||
@@ -226,7 +227,7 @@ msgstr "no se pudo descargar %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "out of memory!"
 | 
			
		||||
msgstr "no hay memoria!"
 | 
			
		||||
msgstr "memoria insuficiente!"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected system error"
 | 
			
		||||
@@ -250,11 +251,11 @@ msgstr "argumento erroneo o NULO"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library not initialized"
 | 
			
		||||
msgstr "librería no inicializada"
 | 
			
		||||
msgstr "biblioteca no inicializada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library already initialized"
 | 
			
		||||
msgstr "la librería ya fue inicializada"
 | 
			
		||||
msgstr "la biblioteca ya fue inicializada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unable to lock database"
 | 
			
		||||
@@ -292,6 +293,10 @@ msgstr "no se pudo quitar la entrada de la base de datos"
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "dirección inválida para el servidor"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "no hay servidores configurados para el repositorio"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "la operación ya se inicializó"
 | 
			
		||||
@@ -317,17 +322,18 @@ msgid "operation not compatible with the transaction type"
 | 
			
		||||
msgstr "la operación no es compatible con el tipo de transacción"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction"
 | 
			
		||||
msgstr "no se pudo hacer la transacción"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not download all files"
 | 
			
		||||
msgstr "no se pudo descargar todos los archivos"
 | 
			
		||||
msgid "transaction commit attempt when database is not locked"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"intento de envío de la transación cuando la base de datos no esta bloqueada"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read package"
 | 
			
		||||
msgstr "no se pudo encontrar o leer el paquete"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation cancelled due to ignorepkg"
 | 
			
		||||
msgstr "operación cancelada debido a ignorepkg"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted package"
 | 
			
		||||
msgstr "paquete invalido o corrupto"
 | 
			
		||||
@@ -336,21 +342,13 @@ msgstr "paquete invalido o corrupto"
 | 
			
		||||
msgid "cannot open package file"
 | 
			
		||||
msgstr "no se pudo abrir el archivo de paquetes"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot load package data"
 | 
			
		||||
msgstr "no se pudo cargar la información del paquete"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package not installed or lesser version"
 | 
			
		||||
msgstr "el paquete no está instalado o es una versión menor"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove all files for package"
 | 
			
		||||
msgstr "no se pudo quitar todos los archivos del paquete"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package filename is not valid"
 | 
			
		||||
msgstr "nombre de archivo del paquete no es válido"
 | 
			
		||||
msgstr "el nombre de archivo del paquete no es válido"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no such repository"
 | 
			
		||||
@@ -364,10 +362,6 @@ msgstr "invalido o diferencial corrupto"
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "parche delta fallado"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "grupo no encontrado"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "no se pudieron satisfacer las dependencias"
 | 
			
		||||
@@ -381,16 +375,8 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "archivos en conflicto"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "el usuario abortó la operación"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "error interno"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "no confirmado"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "falló al descargar algunos archivos"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
@@ -402,7 +388,7 @@ msgstr "error de libarchive"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "download library error"
 | 
			
		||||
msgstr "error de descarga de librería"
 | 
			
		||||
msgstr "error de descarga de biblioteca"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
@@ -412,14 +398,6 @@ msgstr "error invocando el descargador externo"
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "error inesperado"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: forzando la actualización a la versión %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: local (%s) es más nuevo que %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "no se pudo encontrar %s en la base de datos -- saltando\n"
 | 
			
		||||
@@ -436,16 +414,30 @@ msgstr "no se pudo quitar de la base de datos %s-%s\n"
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "no se pudo quitar la entrada '%s' de la cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s-%s: ignorando la actualización del paquete (para ser reemplazado por %s-%"
 | 
			
		||||
"s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorando la actualización del paquete (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorando la degradación del paquete (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: degradando desde la versión %s a la versión %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: local (%s) es más nuevo que %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignorando el reemplazo del paquete (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "no se pudo reemplazar el archivo %s por %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "repositorio '%s' no encontrado\n"
 | 
			
		||||
@@ -458,6 +450,10 @@ msgstr "%s-%s esta al día -- saltando\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s esta al día -- re-instalando\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "decrementando la versión del paquete %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "se han detectado paquetes con conflictos no resueltos\n"
 | 
			
		||||
@@ -468,10 +464,6 @@ 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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files from %s\n"
 | 
			
		||||
msgstr "falló al descargar algunos archivos desde %s\n"
 | 
			
		||||
@@ -480,10 +472,18 @@ msgstr "falló al descargar algunos archivos desde %s\n"
 | 
			
		||||
msgid "could not create removal transaction\n"
 | 
			
		||||
msgstr "no se pudo crear 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 the removal transaction\n"
 | 
			
		||||
msgstr "no se pudo iniciar la operación de eliminació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 removal transaction\n"
 | 
			
		||||
msgstr "no se pudo preparar la operación de eliminación\n"
 | 
			
		||||
@@ -492,18 +492,6 @@ msgstr "no se pudo preparar la operación de eliminación\n"
 | 
			
		||||
msgid "could not commit removal transaction\n"
 | 
			
		||||
msgstr "no se pudo enviar la operación de eliminación\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "no se pudo crear la operación\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "no se pudo iniciar la operación\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare transaction\n"
 | 
			
		||||
msgstr "no se pudo preparar la transacción\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction\n"
 | 
			
		||||
msgstr "no se pudo asignar la transacción\n"
 | 
			
		||||
@@ -512,10 +500,6 @@ msgstr "no se pudo asignar la transacción\n"
 | 
			
		||||
msgid "could not remove lock file %s\n"
 | 
			
		||||
msgstr "no se pudo eliminar el archivo de bloqueo %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
 | 
			
		||||
msgstr "No existe /bin/sh en el ambiente padre, abortando los scripts\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "no se puede crear el directorio temporal\n"
 | 
			
		||||
@@ -524,6 +508,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "no se pudo abrir %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "no se pudo cambiar el directorio a %s (%s)\n"
 | 
			
		||||
@@ -549,16 +541,8 @@ 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"
 | 
			
		||||
 
 | 
			
		||||
@@ -5,8 +5,8 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: Pacman package manager 3.0.1\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-16 22:50+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-28 14:01+0200\n"
 | 
			
		||||
"Last-Translator: Xavier <shiningxc@gmail.com>\n"
 | 
			
		||||
"Language-Team: solsTiCe d'Hiver <solstice.dhiver@laposte.net>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -51,14 +51,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,8 +105,8 @@ 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 "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"
 | 
			
		||||
@@ -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"
 | 
			
		||||
@@ -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"
 | 
			
		||||
@@ -200,21 +208,13 @@ msgstr "le téléchargement ne peut pas être repris, relance\n"
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, 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 +288,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,17 +317,19 @@ 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é"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
msgstr "paquet invalide ou corrompu"
 | 
			
		||||
@@ -332,14 +338,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"
 | 
			
		||||
@@ -360,10 +358,6 @@ msgstr "delta invalide ou corrompu"
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "l'application du delta a échoué"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "groupe non trouvé"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "la satisfaction des dépendances a échoué"
 | 
			
		||||
@@ -377,16 +371,8 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "conflit de fichiers"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "opération annulée par l'utilisateur"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "erreur interne"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "non confirmé"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "échec de récupération de certains fichiers"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
@@ -408,14 +394,6 @@ msgstr "erreur en invoquant le client externe de téléchargement"
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "erreur non prévue"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: force la mise à jour à la version %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: la version locale (%s) est plus récente que %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "trouver %s dans la base de données a échoué -- ignoré\n"
 | 
			
		||||
@@ -432,14 +410,30 @@ msgstr "la suppression de l'entrée de base de données %s-%s a échoué\n"
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "la suppression du cache de l'entrée '%s' a échoué\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr "%s-%s: ignore la mise à jour du paquet (à remplacer par %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignore la mise à jour du paquet (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignore le retour à la version antérieure (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: retourne à la version antérieure (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: la version locale (%s) est plus récente que %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignore le remplacement du paquet (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "le remplacement de %s par %s est impossible\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "dépôt '%s' non trouvé\n"
 | 
			
		||||
@@ -452,6 +446,10 @@ msgstr "%s-%s est à jour -- ignoré\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s est à jour -- réinstalle\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "retourne à la version antérieure du paquet %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "un conflit de paquets impossible à résoudre a été détecté\n"
 | 
			
		||||
@@ -460,10 +458,6 @@ 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"
 | 
			
		||||
@@ -472,10 +466,18 @@ msgstr "échec de récupération de certains fichiers depuis %s\n"
 | 
			
		||||
msgid "could not create removal transaction\n"
 | 
			
		||||
msgstr "la création de 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 the removal transaction\n"
 | 
			
		||||
msgstr "l'initialisation de la transaction de suppression 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 removal transaction\n"
 | 
			
		||||
msgstr "la préparation de la transaction de suppression a échoué\n"
 | 
			
		||||
@@ -484,18 +486,6 @@ msgstr "la préparation de la transaction de suppression a échoué\n"
 | 
			
		||||
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 +494,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 +502,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "l'ouverture de %s: %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"
 | 
			
		||||
@@ -535,23 +528,15 @@ msgstr "changer de répertoire vers / a échoué (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to popen failed (%s)"
 | 
			
		||||
msgstr "call to popen failed (%s)"
 | 
			
		||||
msgstr "l'appel de popen a échoué (%s)"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: hu\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2007-03-14 13:45+0100\n"
 | 
			
		||||
"Last-Translator: Nagy Gabor <ngaba@bibl.u-szeged.hu>\n"
 | 
			
		||||
"Language-Team:  <hu@li.org>\n"
 | 
			
		||||
@@ -49,14 +49,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,8 +102,8 @@ 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 "could not remove database %s\n"
 | 
			
		||||
msgstr "sikertelen a %s adatbázis-bejegyzés eltávolítása\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid name for database entry '%s'\n"
 | 
			
		||||
@@ -125,6 +125,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"
 | 
			
		||||
@@ -165,6 +169,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"
 | 
			
		||||
@@ -197,21 +205,13 @@ msgstr "nem tudom folytatni a letöltést, újrakezdem\n"
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, 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 +285,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 +314,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 +333,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"
 | 
			
		||||
@@ -357,10 +353,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 +366,8 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "ütköző fájlok"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "felhasználói megszakítás"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "belső hiba"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "nem megerősített"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "nem sikerült néhány fájlt letölteni"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
@@ -405,14 +389,6 @@ msgstr "hiba a külső letöltő meghívásakor"
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "nemvárt hiba"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: erőltetett frissítés a %s verzióra\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: a helyi (%s) újabb, mint %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "nem található a(z) %s az adatbázisban -- kihagyás\n"
 | 
			
		||||
@@ -429,14 +405,30 @@ msgstr "nem sikerült eltávolítani a(z) %s-%s adatbázis-bejegyzést\n"
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "nem sikerült eltávolítani a(z) '%s' bejegyzést a gyorsítótárból\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr "%s-%s: csomagfrissítés kihagyása (a(z) %s-%s le fogja cserélni)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: csomagfrissítés kihagyása (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: csomag downgrade kihagyása (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: visszatérés a %s verióról a régebbi %s verzióhoz\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: a helyi (%s) újabb, mint %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "csomag-lecserélés kihagyása (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "nem lehet lecserélni a(z) %s csomagot a(z) %s csomaggal\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "a(z) '%s' repó nem található\n"
 | 
			
		||||
@@ -449,6 +441,10 @@ msgstr "a(z) %s-%s naprakész -- kihagyás\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "a(z) %s-%s naprakész -- újratelepítés\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "visszatérés egy régebbi %s verzióhoz (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "feloldhatatlan csomagütközéseket találtam\n"
 | 
			
		||||
@@ -457,10 +453,6 @@ 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"
 | 
			
		||||
@@ -469,10 +461,18 @@ msgstr "nem sikerült néhány fájlt letölteni innen: %s\n"
 | 
			
		||||
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 create transaction\n"
 | 
			
		||||
msgstr "nem sikerült létrehozni a 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 initialize transaction\n"
 | 
			
		||||
msgstr "nem sikerült inicializálni a 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"
 | 
			
		||||
@@ -481,18 +481,6 @@ msgstr "nem sikerült előkészíteni az eltávolító tranzakciót\n"
 | 
			
		||||
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 +489,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 +497,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "nem sikerült megnyitni a %s fájlt: %s\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"
 | 
			
		||||
@@ -538,16 +530,8 @@ 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,7 +1,7 @@
 | 
			
		||||
# Italian translation of libalpm.
 | 
			
		||||
# Copyright (C) 2007 THE libalpm'S COPYRIGHT HOLDER
 | 
			
		||||
# This file is distributed under the same license as the libalpm package.
 | 
			
		||||
# Giovanni 'voidnull' Scafora <linuxmania@gmail.com>, 2007, 2008
 | 
			
		||||
# Giovanni 'voidnull' Scafora <giovanni@archlinux.org>, 2007, 2008, 2009
 | 
			
		||||
# Andrea 'bash' Scarpino <bash.lnx@gmail.com>, 2008
 | 
			
		||||
# Alessio 'mOLOk' Bolognino <themolok@gmail.com>, 2007
 | 
			
		||||
# Lorenzo '^zanDarK' Masini <lorenxo86@gmail.com>, 2007
 | 
			
		||||
@@ -10,8 +10,8 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libalpm VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-19 17:26+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-28 15:00+0200\n"
 | 
			
		||||
"Last-Translator: Giovanni Scafora <giovanni@archlinux.org>\n"
 | 
			
		||||
"Language-Team: Arch Linux Italian Team <giovanni@archlinux.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -24,7 +24,9 @@ msgstr "sostituzione in corso della vecchia versione di %s-%s con %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
 | 
			
		||||
msgstr "salto %s-%s perché la nuova versione %s è nella lista\n"
 | 
			
		||||
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"
 | 
			
		||||
@@ -40,8 +42,7 @@ msgstr "la sostituzione dei pacchetti con -U non è ancora supportata\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you can replace packages manually using -Rd and -U\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"è possibile sostituire manualmente i pacchetti, usando le opzioni -Rd e -U\n"
 | 
			
		||||
msgstr "puoi sostituire manualmente i pacchetti, usando le opzioni -Rd e -U\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
@@ -52,12 +53,12 @@ msgstr ""
 | 
			
		||||
"filesystem: %o pacchetto: %o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "estrazione: il link simbolico %s non punta alla directory\n"
 | 
			
		||||
msgid "extract: not overwriting dir with file %s\n"
 | 
			
		||||
msgstr "estrazione: non posso sovrascrivere la directory con il file %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: not overwriting dir with file %s\n"
 | 
			
		||||
msgstr "estrazione: non sovrascrivere la directory con il file %s\n"
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "estrazione: il link simbolico %s non punta alla directory\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not extract %s (%s)\n"
 | 
			
		||||
@@ -69,7 +70,7 @@ msgstr "impossibile rinominare %s in %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s saved as %s\n"
 | 
			
		||||
msgstr "%s salvato come %s\n"
 | 
			
		||||
msgstr "%s è stato salvato come %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not install %s as %s (%s)\n"
 | 
			
		||||
@@ -85,7 +86,7 @@ msgstr "estrazione di %s come %s.pacnew\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not get current working directory\n"
 | 
			
		||||
msgstr "impossibile ottenere la directory corrente\n"
 | 
			
		||||
msgstr "impossibile determinare la directory corrente\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while upgrading %s\n"
 | 
			
		||||
@@ -104,8 +105,8 @@ 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 "could not remove database %s\n"
 | 
			
		||||
msgstr "impossibile rimuovere il database %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid name for database entry '%s'\n"
 | 
			
		||||
@@ -113,7 +114,7 @@ msgstr "nome non valido per la voce del database '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "corrupted database entry '%s'\n"
 | 
			
		||||
msgstr "la voce nel database '%s' non è valida\n"
 | 
			
		||||
msgstr "la voce nel database '%s' è corrotta\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open file %s: %s\n"
 | 
			
		||||
@@ -121,11 +122,18 @@ msgstr "impossibile aprire il file %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
 | 
			
		||||
msgstr "il database %s è corrotto: il nome del pacchetto %s è sbagliato\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"il database %s è inconsistente: il nome del pacchetto %s non corrisponde\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
 | 
			
		||||
msgstr "il database %s è corrotto: la versione del pacchetto %s è sbagliata\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"il database %s è inconsistente: la versione del pacchetto %s non "
 | 
			
		||||
"corrisponde\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create directory %s: %s\n"
 | 
			
		||||
msgstr "impossibile creare la directory %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not parse package description file in %s\n"
 | 
			
		||||
@@ -149,11 +157,11 @@ msgstr "manca il metadata del pacchetto in %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "attempt to re-register the 'local' DB\n"
 | 
			
		||||
msgstr "tentativo in corso di registrare di nuovo il database 'locale'\n"
 | 
			
		||||
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 è definito\n"
 | 
			
		||||
msgstr "il percorso del database non è stato definito\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "dependency cycle detected:\n"
 | 
			
		||||
@@ -167,9 +175,13 @@ msgstr "%s sarà rimosso dopo la sua dipendenza %s\n"
 | 
			
		||||
msgid "%s will be installed before its %s dependency\n"
 | 
			
		||||
msgstr "%s sarà installato prima della sua dipendenza %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package %s-%s\n"
 | 
			
		||||
msgstr "sto ignorando il pacchetto %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "provider package was selected (%s provides %s)\n"
 | 
			
		||||
msgstr "il pacchetto fornito era selezionato (%s fornisce %s)\n"
 | 
			
		||||
msgstr "il pacchetto è già stato selezionato (%s dipende da %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
 | 
			
		||||
@@ -177,11 +189,11 @@ msgstr "impossibile risolvere \"%s\", una dipendenza di \"%s\"\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url '%s' is invalid\n"
 | 
			
		||||
msgstr "l'url '%s' non è corretto\n"
 | 
			
		||||
msgstr "l'url '%s' non è esatto\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url scheme not specified, assuming HTTP\n"
 | 
			
		||||
msgstr "il protocollo dell'url non è specificato, sarà usato HTTP\n"
 | 
			
		||||
msgstr "non è stato specificato il protocollo dell'url, sarà usato HTTP\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "disk"
 | 
			
		||||
@@ -189,7 +201,7 @@ msgstr "disco"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed retrieving file '%s' from %s : %s\n"
 | 
			
		||||
msgstr "impossibile recuperare il file '%s' da %s : %s\n"
 | 
			
		||||
msgstr "impossibile scaricare il pacchetto '%s' da %s : %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot resume download, starting over\n"
 | 
			
		||||
@@ -199,21 +211,13 @@ msgstr "impossibile riprendere il download\n"
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "running XferCommand: fork failed!\n"
 | 
			
		||||
msgstr "avvio di XferCommand: processo non riuscito!\n"
 | 
			
		||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
 | 
			
		||||
msgstr "%s sembra essere incompleto: %jd/%jd byte\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to download %s\n"
 | 
			
		||||
@@ -245,11 +249,11 @@ msgstr "è stato passato un argomento sbagliato o NULL"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library not initialized"
 | 
			
		||||
msgstr "libreria non inizializzata"
 | 
			
		||||
msgstr "la libreria non è stata inizializzata"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library already initialized"
 | 
			
		||||
msgstr "libreria già inizializzata"
 | 
			
		||||
msgstr "la libreria è già stata inizializzata"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unable to lock database"
 | 
			
		||||
@@ -265,11 +269,11 @@ msgstr "impossibile creare il database"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database not initialized"
 | 
			
		||||
msgstr "database non inizializzato"
 | 
			
		||||
msgstr "il database non è stato inizializzato"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database already registered"
 | 
			
		||||
msgstr "il database è già registrato"
 | 
			
		||||
msgstr "il database è già stato registrato"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find database"
 | 
			
		||||
@@ -287,58 +291,54 @@ msgstr "impossibile rimuovere la voce dal database"
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "url non valido per il server"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "nessun server è stato configurato per il repository"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "operazione già inizializzata"
 | 
			
		||||
msgstr "l'operazione è già stata inizializzata"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not initialized"
 | 
			
		||||
msgstr "operazione non inizializzata"
 | 
			
		||||
msgstr "l'operazione non è stata inizializzata"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicate target"
 | 
			
		||||
msgstr "pacchetto doppio"
 | 
			
		||||
msgstr "pacchetto duplicato"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not prepared"
 | 
			
		||||
msgstr "operazione non preparata"
 | 
			
		||||
msgstr "l'operazione non è stata preparata"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction aborted"
 | 
			
		||||
msgstr "operazione annullata"
 | 
			
		||||
msgstr "l'operazione è stata annullata"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation not compatible with the transaction type"
 | 
			
		||||
msgstr "operazione incompatibile con il tipo di transazione"
 | 
			
		||||
msgstr "l'operazione è incompatibile con il tipo di transazione"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction"
 | 
			
		||||
msgstr "impossibile eseguire l'operazione"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not download all files"
 | 
			
		||||
msgstr "impossibile prelevare tutti i file"
 | 
			
		||||
msgid "transaction commit attempt when database is not locked"
 | 
			
		||||
msgstr "prova il commit dell'operazione quando il database non è bloccato"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read package"
 | 
			
		||||
msgstr "impossibile trovare o leggere il pacchetto"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation cancelled due to ignorepkg"
 | 
			
		||||
msgstr "l'operazione è stata ignorata a causa di ignorepkg"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted package"
 | 
			
		||||
msgstr "pacchetto non valido o corrotto"
 | 
			
		||||
msgstr "il pacchetto non è valido oppure è corrotto"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot open package file"
 | 
			
		||||
msgstr "impossibile aprire il pacchetto"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot load package data"
 | 
			
		||||
msgstr "impossibile caricare i dati del pacchetto"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package not installed or lesser version"
 | 
			
		||||
msgstr "pacchetto non installato o una versione precedente"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove all files for package"
 | 
			
		||||
msgstr "impossibile rimuovere tutti i file del pacchetto"
 | 
			
		||||
@@ -353,16 +353,12 @@ msgstr "nessun repository corrispondente"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted delta"
 | 
			
		||||
msgstr "pacchetto non valido o corrotto"
 | 
			
		||||
msgstr "il delta non è valido oppure è corrotto"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "si sono verificati degli errori con la patch di delta"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "gruppo non trovato"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "impossibile soddisfare le dipendenze"
 | 
			
		||||
@@ -376,20 +372,12 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "file in conflitto"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "operazione annullata"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "errore interno"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "non confermato"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "impossibile scaricare alcuni file"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
msgstr "espressione regolare non valida"
 | 
			
		||||
msgstr "l'espressione regolare non è valida"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "libarchive error"
 | 
			
		||||
@@ -397,25 +385,16 @@ msgstr "errore di libarchive"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "download library error"
 | 
			
		||||
msgstr "errore nel scaricare la libreria"
 | 
			
		||||
msgstr "si è verificato un errore della libreria di download"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
msgstr "errore nell'inizializzare il download"
 | 
			
		||||
msgstr "si è verificato un errore lanciando il downloader esterno"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "errore inaspettato"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: aggiornamento forzato alla versione %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s: la versione installata (%s) è più recente di quella presente in %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "impossibile trovare %s nel database, sarà ignorato\n"
 | 
			
		||||
@@ -433,14 +412,29 @@ msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "impossibile rimuovere la voce '%s' dalla cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s-%s: aggiornamento del pacchetto ignorato (per essere sostituito con %s-%"
 | 
			
		||||
"s)\n"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: l'aggiornamento del pacchetto è stato ignorato (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: aggiornamento del pacchetto ignorato (%s => %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 "repository '%s' not found\n"
 | 
			
		||||
@@ -454,30 +448,41 @@ msgstr "%s-%s è aggiornato, sarà ignorato\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s è aggiornato, sarà reinstallato\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"installazione in corso di una versione meno recente del pacchetto %s (%s => %"
 | 
			
		||||
"s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "sono stati rilevati dei conflitti irrisolvibili\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "rimuovo '%s' dalla lista perché va in conflitto con '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "command: %s\n"
 | 
			
		||||
msgstr "comando: %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"rimozione di '%s' dalla lista dei pacchetti perché va in conflitto con '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files from %s\n"
 | 
			
		||||
msgstr "impossibile recuperare alcuni file da %s\n"
 | 
			
		||||
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 create transaction\n"
 | 
			
		||||
msgstr "impossibile avviare l'operazione\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize the removal transaction\n"
 | 
			
		||||
msgstr "impossibile inizializzare l'operazione di rimozione\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "impossibile inizializzare l'operazione\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr "impossibile preparare l'operazione di rimozione\n"
 | 
			
		||||
@@ -486,18 +491,6 @@ msgstr "impossibile preparare l'operazione di rimozione\n"
 | 
			
		||||
msgid "could not commit removal transaction\n"
 | 
			
		||||
msgstr "impossibile eseguire l'operazione di rimozione\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "impossibile avviare l'operazione\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "impossibile inizializzare l'operazione\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare transaction\n"
 | 
			
		||||
msgstr "impossibile preparare l'operazione\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction\n"
 | 
			
		||||
msgstr "impossibile eseguire l'operazione\n"
 | 
			
		||||
@@ -506,10 +499,6 @@ msgstr "impossibile eseguire l'operazione\n"
 | 
			
		||||
msgid "could not remove lock file %s\n"
 | 
			
		||||
msgstr "impossibile rimuovere il file di lock %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
 | 
			
		||||
msgstr "/bin/sh non è presente nell'ambiente, lo scriptlet sarà interrotto\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "impossibile creare la directory temporanea\n"
 | 
			
		||||
@@ -518,6 +507,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "impossibile aprire %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "impossibile spostarsi nella directory %s (%s)\n"
 | 
			
		||||
@@ -543,16 +540,8 @@ 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"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										591
									
								
								lib/libalpm/po/kk.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										591
									
								
								lib/libalpm/po/kk.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,591 @@
 | 
			
		||||
# Kazakh 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.
 | 
			
		||||
# Baurzhan Muftakhidinov <baurthefirst@gmail.com> 2009
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: Pacman package manager 3.0.0\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-28 19:05+0600\n"
 | 
			
		||||
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
 | 
			
		||||
"Language-Team: Kazakh\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 the target list\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s-%s өткізіледі, өйткені оның жаңа %s нұсқасы мақсаттар тізімінде бар болып "
 | 
			
		||||
"тұр\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting packages were found in the target list\n"
 | 
			
		||||
msgstr "мақсаттар тізімінде ерегісетін дестелер табылды\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you cannot install two conflicting packages at the same time\n"
 | 
			
		||||
msgstr "сіз екі екі ерегісетін дестені орната алмайсыз\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing packages with -U is not supported yet\n"
 | 
			
		||||
msgstr "дестелерді -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"
 | 
			
		||||
"файлдық жүйе: %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 "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 "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 "attempt to re-register the 'local' DB\n"
 | 
			
		||||
msgstr "дерекқорды қайта тіркеу талабы\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "дерекқорға жол анықталмаған\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "dependency cycle detected:\n"
 | 
			
		||||
msgstr "циклдік тәуелділік табылды:\n"
 | 
			
		||||
 | 
			
		||||
#, 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 "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 "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 writing to file '%s': %s\n"
 | 
			
		||||
msgstr "'%s' файлына жазу қатесі: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
 | 
			
		||||
msgstr "%s қысқартылады: %jd/%jd байт\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to download %s\n"
 | 
			
		||||
msgstr "%s жүктеп алу мүмкін емес\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "out of memory!"
 | 
			
		||||
msgstr "жады жеткіліксіз!"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected system error"
 | 
			
		||||
msgstr "күтпеген қате"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "insufficient privileges"
 | 
			
		||||
msgstr "құқықтар жеткіліксіз"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read file"
 | 
			
		||||
msgstr "файлды табу не оқу мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read directory"
 | 
			
		||||
msgstr "буманы табу не оқу мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrong or NULL argument passed"
 | 
			
		||||
msgstr "аргумент қате не нөлдік болып тұр"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library not initialized"
 | 
			
		||||
msgstr "library іске қосылмады"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library already initialized"
 | 
			
		||||
msgstr "library іске қосылған болып тұр"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unable to lock database"
 | 
			
		||||
msgstr "дерекқорды оқшаулау мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open database"
 | 
			
		||||
msgstr "дерекқорды ашу мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create database"
 | 
			
		||||
msgstr "дерекқорды құру мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database not initialized"
 | 
			
		||||
msgstr "дерекқор іске қосылмады"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database already registered"
 | 
			
		||||
msgstr "дерекқор тіркелген болып тұр"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find database"
 | 
			
		||||
msgstr "дерекқорды табу мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not update database"
 | 
			
		||||
msgstr "дерекқорды жаңарту мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry"
 | 
			
		||||
msgstr "дерекқордан жазбаны өшіру мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "сервер адресі қате"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "репозиторий үшін серверлер бапталмаған"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "сұраным іске қосылған болып тұр"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not initialized"
 | 
			
		||||
msgstr "сұраным іске қосылмады"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicate target"
 | 
			
		||||
msgstr "мақсаттардың қайталануы"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not prepared"
 | 
			
		||||
msgstr "сұраным дайындалмады"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction aborted"
 | 
			
		||||
msgstr "сұраным тоқтатылды"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation not compatible with the transaction type"
 | 
			
		||||
msgstr "әрекет сұранымның түрімен үйлеспейді"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction commit attempt when database is not locked"
 | 
			
		||||
msgstr "оқшауланбаған дерекқорға жазу талабы"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read package"
 | 
			
		||||
msgstr "дестені табу не оқу мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation cancelled due to ignorepkg"
 | 
			
		||||
msgstr "әрекет ignorepkg салдарынан тоқтатылды"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted package"
 | 
			
		||||
msgstr "десте қате не зақымдалған"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot open package file"
 | 
			
		||||
msgstr "десте файлын ашу мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove all files for package"
 | 
			
		||||
msgstr "дестенің барлық файлдарын өшіру мүмкін емес"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package filename is not valid"
 | 
			
		||||
msgstr "десте файлдың аты қате"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no such repository"
 | 
			
		||||
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 "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 "repository '%s' not found\n"
 | 
			
		||||
msgstr "'%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 create removal transaction\n"
 | 
			
		||||
msgstr "өшіруге сұранымды құру мүмкін емес\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "сұранымды жасау мүмкін емес\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize the removal transaction\n"
 | 
			
		||||
msgstr "өшіруге сұранымды іске қосу мүмкін емес\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize 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 commit transaction\n"
 | 
			
		||||
msgstr "сұранымды аяқтау мүмкін емес\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove lock file %s\n"
 | 
			
		||||
msgstr "%s оқшау файлын өшіру мүмкін емес\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "уақытша буманы құру мүмкін емес\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not copy tempfile to %s (%s)\n"
 | 
			
		||||
msgstr "уақытша файлды %s ішіне көшіру мүмкін емес (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove tmpdir %s\n"
 | 
			
		||||
msgstr "tmpdir %s өшіру мүмкін емес\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open %s: %s\n"
 | 
			
		||||
msgstr "%s ашу мүмкін емес: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "%s бумасына ауысу мүмкін емес (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not fork a new process (%s)\n"
 | 
			
		||||
msgstr "жаңа үрдісті құру мүмкін емес (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change the root directory (%s)\n"
 | 
			
		||||
msgstr "түбірлік буманы ауыстыру мүмкін емес (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to / (%s)\n"
 | 
			
		||||
msgstr "/ бумасына ауысу мүмкін емес (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to popen failed (%s)"
 | 
			
		||||
msgstr "popen шақыру қатемен аяқталды (%s)"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to waitpid failed (%s)\n"
 | 
			
		||||
msgstr "waitpid шақыру қатемен аяқталды(%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "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 "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,7 +8,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-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"
 | 
			
		||||
@@ -47,11 +47,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,7 +99,7 @@ msgid "could not add entry '%s' in cache\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s%s\n"
 | 
			
		||||
msgid "could not remove database %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
@@ -122,6 +122,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 ""
 | 
			
		||||
@@ -162,6 +166,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 ""
 | 
			
		||||
@@ -194,20 +202,12 @@ msgstr ""
 | 
			
		||||
msgid "cannot write to file '%s'\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error downloading '%s': %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error writing to file '%s': %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not chdir to %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 +282,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 +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"
 | 
			
		||||
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 +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 ""
 | 
			
		||||
@@ -354,10 +350,6 @@ msgstr ""
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -371,15 +363,7 @@ msgid "conflicting files"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
@@ -402,14 +386,6 @@ msgstr ""
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -427,11 +403,27 @@ 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 upgrade (%s => %s)\n"
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
@@ -446,6 +438,10 @@ msgstr ""
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -454,10 +450,6 @@ 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 ""
 | 
			
		||||
@@ -466,10 +458,18 @@ msgstr ""
 | 
			
		||||
msgid "could not create removal transaction\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize the removal transaction\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -478,18 +478,6 @@ msgstr ""
 | 
			
		||||
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 +486,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 +494,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -535,15 +527,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
 | 
			
		||||
 
 | 
			
		||||
@@ -3,14 +3,14 @@
 | 
			
		||||
# Copyright (C) 2007 Judd Vinet <jvinet@zeroflux.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"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-19 20:58+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-29 10:39+0100\n"
 | 
			
		||||
"Last-Translator: Mateusz Herych <heniekk@gmail.com>\n"
 | 
			
		||||
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -55,14 +55,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,8 +108,8 @@ 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 "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"
 | 
			
		||||
@@ -131,6 +131,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"
 | 
			
		||||
@@ -171,6 +175,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"
 | 
			
		||||
@@ -203,21 +211,13 @@ msgstr "nie można kontynuować pobieranie, zaczynanie od początku\n"
 | 
			
		||||
msgid "cannot write to file '%s'\n"
 | 
			
		||||
msgstr "nie można zapisywać do pliku '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error downloading '%s': %s\n"
 | 
			
		||||
msgstr "błąd podczas pobierania '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error writing to file '%s': %s\n"
 | 
			
		||||
msgstr "Błąd podczas zapisywania do pliku '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not chdir to %s\n"
 | 
			
		||||
msgstr "nie udało się zmienić katalogu na / %s\n"
 | 
			
		||||
 | 
			
		||||
#, 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 +291,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 +320,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 +339,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"
 | 
			
		||||
@@ -363,10 +359,6 @@ 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"
 | 
			
		||||
@@ -380,16 +372,8 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "konfliktujące pliki"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "użytkownik zaniechał operacji"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "błąd wewnętrzny"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "nie potwierdzono"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "nie udało się odzyskać niektórych plików"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
@@ -412,14 +396,6 @@ msgstr ""
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "niespodziewany błąd"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: wymuszanie aktualizacji do wersji %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: local (%s) jest nowsze niż %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "nie udało się odnaleźć %s w bazie danych -- pomijanie\n"
 | 
			
		||||
@@ -436,15 +412,30 @@ msgstr "nie udało się usunąć wpisu %s-%s z bazy danych\n"
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "nie udało się usunąć wpisu '%s' z pamięci podręcznej\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s-%s: ignorowanie aktualizowania pakietu (do zastąpienia przez %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorowanie aktualizacji pakietu (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorowanie dezaktualizacji pakietu (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: dezaktualizowanie z wersji %s do wersji %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: local (%s) jest nowsze niż %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "ignorowanie zastępowania pakietu (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "nie udało się zastąpić %s przez %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
msgstr "repozytorium '%s' nie zostało znalezione\n"
 | 
			
		||||
@@ -457,6 +448,10 @@ msgstr "%s-%s jest w najnowszej wersji -- pomijanie\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s jest w najnowszej wersji -- ponowne instalowanie\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "dezaktualizowanie pakietu %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "odkryto nierozwiązywalne konflikty pakietów\n"
 | 
			
		||||
@@ -465,10 +460,6 @@ 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"
 | 
			
		||||
@@ -477,10 +468,18 @@ msgstr "nie udało się pobrać niektórych plików z %s\n"
 | 
			
		||||
msgid "could not create removal transaction\n"
 | 
			
		||||
msgstr "nie udało się utworzyć 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 the removal transaction\n"
 | 
			
		||||
msgstr "nie udało się zainicjować tranzakcji usuwania\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "nie udało się zainicjować tranzakcji\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr "nie udało się przygotować tranzakcji usuwania\n"
 | 
			
		||||
@@ -489,18 +488,6 @@ msgstr "nie udało się przygotować tranzakcji usuwania\n"
 | 
			
		||||
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 +496,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 +504,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "nie udało się otworzyć %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "nie udało się zmienić katalogu na %s (%s)\n"
 | 
			
		||||
@@ -546,16 +537,8 @@ 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 +548,49 @@ 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 "error downloading '%s': %s\n"
 | 
			
		||||
#~ msgstr "błąd podczas pobierania '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "could not chdir to %s\n"
 | 
			
		||||
#~ msgstr "nie udało się zmienić katalogu na / %s\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "running XferCommand: fork failed!\n"
 | 
			
		||||
#~ msgstr "uruchamianie XferCommand: klonowanie nieudane!\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "could not commit transaction"
 | 
			
		||||
#~ msgstr "nie udało się wykonać tranzakcji"
 | 
			
		||||
 | 
			
		||||
#~ msgid "could not download all files"
 | 
			
		||||
#~ msgstr "nie udało się pobrać wszystkich plików"
 | 
			
		||||
 | 
			
		||||
#~ msgid "cannot load package data"
 | 
			
		||||
#~ msgstr "nie udało się załadować danych pakietu"
 | 
			
		||||
 | 
			
		||||
#~ msgid "package not installed or lesser version"
 | 
			
		||||
#~ msgstr "pakiet nie zainstalowany lub zainstalowany w niższej wersji"
 | 
			
		||||
 | 
			
		||||
#~ msgid "group not found"
 | 
			
		||||
#~ msgstr "grupa nie została odnaleziona"
 | 
			
		||||
 | 
			
		||||
#~ msgid "user aborted the operation"
 | 
			
		||||
#~ msgstr "użytkownik zaniechał operacji"
 | 
			
		||||
 | 
			
		||||
#~ msgid "internal error"
 | 
			
		||||
#~ msgstr "błąd wewnętrzny"
 | 
			
		||||
 | 
			
		||||
#~ msgid "not confirmed"
 | 
			
		||||
#~ msgstr "nie potwierdzono"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "%s-%s: ignorowanie aktualizowania pakietu (do zastąpienia przez %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "command: %s\n"
 | 
			
		||||
#~ msgstr "komenda: %s\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "could not prepare transaction\n"
 | 
			
		||||
#~ msgstr "nie udało się przygotować tranzakcji\n"
 | 
			
		||||
 | 
			
		||||
#~ msgid "No /bin/sh in parent environment, aborting scriptlet\n"
 | 
			
		||||
#~ msgstr "Brak /bin/sh w środowisku,  przerywanie wykonywania skryptu\n"
 | 
			
		||||
 
 | 
			
		||||
@@ -12,9 +12,9 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: pt_BR\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-20 15:00-0300\n"
 | 
			
		||||
"Last-Translator: Hugo Doria <hugo@archlinux.org>\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-28 23:17-0300\n"
 | 
			
		||||
"Last-Translator: Armando M. Baratti <ambaratti.listas@gmail.com.br>\n"
 | 
			
		||||
"Language-Team: Português do Brasil <www.archlinux-br.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
@@ -59,14 +59,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"
 | 
			
		||||
@@ -112,8 +112,8 @@ 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 "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"
 | 
			
		||||
@@ -121,7 +121,7 @@ msgstr "nome inválido para a entrada na base de dados '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "corrupted database entry '%s'\n"
 | 
			
		||||
msgstr "entrada corrompida na base de dados '%s'\n"
 | 
			
		||||
msgstr "entrada corrompida da base de dados '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open file %s: %s\n"
 | 
			
		||||
@@ -136,6 +136,10 @@ 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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
msgstr "não foi possível interpretar o arquivo de descrição do pacote em %s\n"
 | 
			
		||||
@@ -154,7 +158,7 @@ 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"
 | 
			
		||||
msgstr "faltando metadados do pacote em %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "attempt to re-register the 'local' DB\n"
 | 
			
		||||
@@ -176,6 +180,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"
 | 
			
		||||
@@ -202,27 +210,19 @@ 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"
 | 
			
		||||
msgstr "não foi possível retomar 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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, 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 +250,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"
 | 
			
		||||
@@ -296,6 +296,10 @@ msgstr "não foi possível remover a entrada da base de dados"
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "url inválida para servidor"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "nenhum servidor configurado para o repositório"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "transação já inicializada"
 | 
			
		||||
@@ -321,17 +325,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,14 +344,6 @@ 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"
 | 
			
		||||
@@ -368,10 +364,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 +377,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"
 | 
			
		||||
@@ -416,14 +400,6 @@ msgstr "erro invocando programa de download externo"
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "erro inesperado"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: forçando upgrade para a versão %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: local (%s) é mais novo que %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "não foi possível encontrar %s na base de dados - pulando\n"
 | 
			
		||||
@@ -438,16 +414,32 @@ msgstr "não foi possível remover a entrada da base de dados %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "não foi possível remover a entrada '%s' da cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr "%s-%s: ignorando atualização do pacote (a ser substituido por %s-%s)\n"
 | 
			
		||||
msgstr "não foi possível remover a entrada '%s' do cache\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorando atualização do pacote (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: ignorando retorno de versão 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 "repository '%s' not found\n"
 | 
			
		||||
msgstr "repositório '%s' não encontrado\n"
 | 
			
		||||
@@ -460,6 +452,10 @@ msgstr "%s-%s está atualizado -- pulando\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s está atualizado -- reinstalando\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "fazendo downgrade do pacote %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "conflito de pacotes não solucionável detectado\n"
 | 
			
		||||
@@ -468,10 +464,6 @@ 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"
 | 
			
		||||
@@ -480,10 +472,18 @@ msgstr "falha ao obter alguns arquivos de %s\n"
 | 
			
		||||
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 create transaction\n"
 | 
			
		||||
msgstr "não foi possível criar a transaçã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 initialize transaction\n"
 | 
			
		||||
msgstr "não foi possível inicializar a transaçã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"
 | 
			
		||||
@@ -492,18 +492,6 @@ msgstr "não foi possível preparar a transação de remoção\n"
 | 
			
		||||
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 +500,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,6 +508,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "não foi possível abrir %s : %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"
 | 
			
		||||
@@ -549,16 +541,8 @@ 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 "o comando falhou em executar corretamente\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no %s cache exists, creating...\n"
 | 
			
		||||
@@ -566,4 +550,50 @@ 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 "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"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										545
									
								
								lib/libalpm/po/ro.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										545
									
								
								lib/libalpm/po/ro.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,545 @@
 | 
			
		||||
# libalpm Romanian translation.
 | 
			
		||||
# Copyright (C) 2009 Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
# This file is distributed under the same license as the PACKAGE package.
 | 
			
		||||
# Volodia Macovei <blog@volodia.ro>, 2009.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: Pacman package manager 3.0.0\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-06-28 14:30+0700\n"
 | 
			
		||||
"Last-Translator: volodia macovei <blog@volodia.ro>\n"
 | 
			
		||||
"Language-Team: Romanian SbLUG for Arch <blog@volodia.ro>\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 the target list\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"se trece peste %s-%s deoarece o versiune mai nouă %s există în lista ţintă\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting packages were found in the target list\n"
 | 
			
		||||
msgstr "s-au găsit pachete în conflict în lista ţintă\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing packages with -U is not supported yet\n"
 | 
			
		||||
msgstr "înlocuirea pachetelor cu -U nu este suportată încă\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you can replace packages manually using -Rd and -U\n"
 | 
			
		||||
msgstr "puteţi înlocui manual pachetele folosind -Rd şi -U\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 "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 "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 "attempt to re-register the 'local' DB\n"
 | 
			
		||||
msgstr "încercare de a reînregistra 'local' DB\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "calea bazei de date este nedefinită\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 "url '%s' is invalid\n"
 | 
			
		||||
msgstr "URL '%s' este nevalid\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url scheme not specified, assuming HTTP\n"
 | 
			
		||||
msgstr "schemă URL nespecificată, se presupune HTTP\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "disk"
 | 
			
		||||
msgstr "disk"
 | 
			
		||||
 | 
			
		||||
#, 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 "cannot resume download, starting over\n"
 | 
			
		||||
msgstr "nu se poate relua descărcare, se începe peste\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot write to file '%s'\n"
 | 
			
		||||
msgstr "nu se poate scrie în fişierul '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error writing to file '%s': %s\n"
 | 
			
		||||
msgstr "eroare la scriere în fişierul '%s': %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 "no such repository"
 | 
			
		||||
msgstr "nu există astfel de depozit"
 | 
			
		||||
 | 
			
		||||
#, 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 "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 "repository '%s' not found\n"
 | 
			
		||||
msgstr "depozit '%s' negăsit\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 create removal transaction\n"
 | 
			
		||||
msgstr "nu poate fi creată tranzacţia de eliminare\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "nu poate fi creată tranzacţia\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize the removal transaction\n"
 | 
			
		||||
msgstr "nu poate fi iniţializată tranzacţia de eliminare\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "nu poate fi iniţializată tranzacţia\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr "nu poate fi pregătită tranzacţia de eliminare\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 open %s: %s\n"
 | 
			
		||||
msgstr "nu se poate deschide %s: %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)"
 | 
			
		||||
msgstr "cererea către popen a eşuat (%s)"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
@@ -7,8 +7,8 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: Pacman package manager 3.0.0\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-19 19:52+0300\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-29 20:29+0300\n"
 | 
			
		||||
"Last-Translator: Sergey Tereschenko <serg.partizan@gmail.com>\n"
 | 
			
		||||
"Language-Team: Russian\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -19,7 +19,7 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing older version %s-%s by %s in target list\n"
 | 
			
		||||
msgstr "заменяю устаревшую версию %s-%s на %s в списке целей\n"
 | 
			
		||||
msgstr "заменяется устаревшая версия %s-%s на %s в списке целей\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
 | 
			
		||||
@@ -31,11 +31,13 @@ msgstr "в списке целей найдены конфликтующие п
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you cannot install two conflicting packages at the same time\n"
 | 
			
		||||
msgstr "вы не можете установить два конфликтующих пакета одновременно\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"вы не можете одновременно установить конфликтующие между собой пакеты\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing packages with -U is not supported yet\n"
 | 
			
		||||
msgstr "замещение пакетов с использованием опций -A и -U еще не реализовано\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"замещение пакетов с использованием параметров -A и -U еще не реализовано\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you can replace packages manually using -Rd and -U\n"
 | 
			
		||||
@@ -46,32 +48,32 @@ 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 +81,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 +97,19 @@ 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 "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 "corrupted database entry '%s'\n"
 | 
			
		||||
@@ -115,7 +117,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 +129,13 @@ msgid "%s database is inconsistent: version mismatch on package %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"противоречивая информация в базе данных %s: не совпадает версия пакета %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create directory %s: %s\n"
 | 
			
		||||
msgstr "не удалось создать каталог %s: (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not parse package description file in %s\n"
 | 
			
		||||
msgstr "не могу проанализировать файл с описанием пакета в %s\n"
 | 
			
		||||
msgstr "не удалось проанализировать файл с описанием пакета в %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package name in %s\n"
 | 
			
		||||
@@ -145,11 +151,11 @@ msgstr "ошибка при чтении пакета %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
msgstr "отсутствуют метаданые пакета в %s\n"
 | 
			
		||||
msgstr "отсутствуют метаданные пакета в %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "attempt to re-register the 'local' DB\n"
 | 
			
		||||
msgstr "попытка перерегистрировать локальную базу данных\n"
 | 
			
		||||
msgstr "попытка перерегистрировать локальную БД\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
@@ -161,23 +167,27 @@ 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"
 | 
			
		||||
msgstr "не удалось разрешить \"%s\", зависимость \"%s\"\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url '%s' is invalid\n"
 | 
			
		||||
msgstr "ссылка '%s' недействительна\n"
 | 
			
		||||
msgstr "ссылка '%s' некорректна\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url scheme not specified, assuming HTTP\n"
 | 
			
		||||
@@ -197,27 +207,19 @@ msgstr "не удалось продолжить закачку, начинаю
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot write to file '%s'\n"
 | 
			
		||||
msgstr "не могу записать в файл '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error downloading '%s': %s\n"
 | 
			
		||||
msgstr "ошибка загрузки '%s': %s\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"
 | 
			
		||||
 | 
			
		||||
#, 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 +227,7 @@ msgstr "недостаточно памяти!"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected system error"
 | 
			
		||||
msgstr "неожиданная ошибка"
 | 
			
		||||
msgstr "неожиданная системная ошибка"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "insufficient privileges"
 | 
			
		||||
@@ -233,15 +235,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 +255,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 +275,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,43 +311,35 @@ 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"
 | 
			
		||||
@@ -353,19 +351,15 @@ msgstr "нет такого репозитория"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted delta"
 | 
			
		||||
msgstr "ошибка или повреждение в дельта-файле"
 | 
			
		||||
msgstr "ошибка или повреждение в дельте"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "не удалось применить дельта-патч"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "группа не найдена"
 | 
			
		||||
msgstr "не удалось применить дельту"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "не удается удовлетворить зависимости"
 | 
			
		||||
msgstr "не удалось удовлетворить зависимости"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting dependencies"
 | 
			
		||||
@@ -373,19 +367,11 @@ msgstr "конфликтующие зависимости"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting files"
 | 
			
		||||
msgstr "конфликрующие файлы"
 | 
			
		||||
msgstr "конфликтующие файлы"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "пользователь прервал операцию"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "внутренняя ошибка"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "не подтверждено"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "не удалось получить некоторые файлы"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
@@ -397,7 +383,7 @@ msgstr "ошибка в libarchive"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "download library error"
 | 
			
		||||
msgstr "ошибка в download library"
 | 
			
		||||
msgstr "ошибка в библиотеке загрузки"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
@@ -408,36 +394,44 @@ msgid "unexpected error"
 | 
			
		||||
msgstr "непредвиденная ошибка"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: принудительно обновляю до версии %s\n"
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "не удалось найти %s в базе данных -- пропускается\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove file '%s': %s\n"
 | 
			
		||||
msgstr "не удалось удалить файл '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s-%s\n"
 | 
			
		||||
msgstr "не удалось удалить из базы данных запись %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "не удалось удалить запись '%s' из кэша\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: пропуск обновления пакета (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: пропускается откат пакета (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s: откат версии, от %s до %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: установленная версия (%s) новее, чем в %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "не могу найти %s в базе данных --  пропускаю\n"
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "пропускается замена пакета (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove file '%s': %s\n"
 | 
			
		||||
msgstr "не могу удалить файл '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s-%s\n"
 | 
			
		||||
msgstr "не могу удалить из базы данных запись %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "не могу удалить запись '%s' из кеша\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr "%s-%s: игнорирую обновление пакета (он будет заменен на %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: игнорирую обновление пакета (%s => %s)\n"
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "не удалось заменить %s на %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
@@ -445,11 +439,15 @@ msgstr "репозиторий '%s' не найден\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- skipping\n"
 | 
			
		||||
msgstr "%s-%s не устарел --  пропускаю\n"
 | 
			
		||||
msgstr "%s-%s не устарел -- пропускается\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s не устарел --  переустанавливаю\n"
 | 
			
		||||
msgstr "%s-%s не устарел -- переустанавливается\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "откат версии пакета %s (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
@@ -457,11 +455,7 @@ 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"
 | 
			
		||||
@@ -471,10 +465,18 @@ msgstr "не удалось получить некоторые файлы с %s
 | 
			
		||||
msgid "could not create removal transaction\n"
 | 
			
		||||
msgstr "не удалось создать запрос на удаление\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "не удалось создать запрос\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize the removal transaction\n"
 | 
			
		||||
msgstr "не удалось инициализировать запрос на удаление\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "не удалось инициализировать запрос\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr "не удалось подготовить запрос на удаление\n"
 | 
			
		||||
@@ -483,53 +485,45 @@ msgstr "не удалось подготовить запрос на удале
 | 
			
		||||
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 open %s: %s\n"
 | 
			
		||||
msgstr "не удалось открыть %s: %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)"
 | 
			
		||||
@@ -540,21 +534,58 @@ 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 "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"
 | 
			
		||||
 
 | 
			
		||||
@@ -7,9 +7,9 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: 3.1.4-1\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-17 23:14+0200\n"
 | 
			
		||||
"Last-Translator: Samed BEYRİBEY <ras0ir@eventualis.org>\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-29 03:26+0200\n"
 | 
			
		||||
"Last-Translator: Samed Beyribey <ras0ir@eventualis.org>\n"
 | 
			
		||||
"Language-Team: Turkish Arch Linux Users <tr@archlinuxtr.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=utf-8\n"
 | 
			
		||||
@@ -25,15 +25,15 @@ msgstr "%s-%s yeni sürüm %s hedef listesinde olduğundan atlanıyor\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting packages were found in the target list\n"
 | 
			
		||||
msgstr "hedef listesinde çelişen paketler bulundu\n"
 | 
			
		||||
msgstr "hedef listesinde çakışan paketler bulundu\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you cannot install two conflicting packages at the same time\n"
 | 
			
		||||
msgstr "çelişen iki paketi aynı anda kuramazsınız\n"
 | 
			
		||||
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"
 | 
			
		||||
msgstr "-U kullanarak paket değiştirme henüz desteklenmemektedir\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you can replace packages manually using -Rd and -U\n"
 | 
			
		||||
@@ -48,12 +48,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 +100,12 @@ 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 "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 "corrupted database entry '%s'\n"
 | 
			
		||||
@@ -123,6 +123,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"
 | 
			
		||||
@@ -163,9 +167,13 @@ 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"
 | 
			
		||||
@@ -177,7 +185,7 @@ msgstr "'%s' adresi geçersiz\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url scheme not specified, assuming HTTP\n"
 | 
			
		||||
msgstr "adres şeması belirtilmemiş, http kullanılacak\n"
 | 
			
		||||
msgstr "adres şeması belirtilmemiş, HTTP kullanılacak\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "disk"
 | 
			
		||||
@@ -185,31 +193,23 @@ msgstr "disk"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed retrieving file '%s' from %s : %s\n"
 | 
			
		||||
msgstr "'%s' dosyası %s : %s 'ten alınamadı\n"
 | 
			
		||||
msgstr "%3$s hatası nedeniyle '%1$s' dosyası %2$s adresinden alınamadı\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot resume download, starting over\n"
 | 
			
		||||
msgstr "indirmeye devam edilemiyor, baştan başlanıyor\n"
 | 
			
		||||
msgstr "indirme işlemine 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"
 | 
			
		||||
 | 
			
		||||
#, 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"
 | 
			
		||||
 | 
			
		||||
#, 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 +233,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 +245,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 +281,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 +293,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 +301,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 +309,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 +331,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ı"
 | 
			
		||||
@@ -355,33 +351,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 +377,7 @@ msgstr "libarchive hatası"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "download library error"
 | 
			
		||||
msgstr "kütüphane indirilirken hata oluştu"
 | 
			
		||||
msgstr "indirme kütüphanesi hatası"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
@@ -403,14 +387,6 @@ msgstr "harici indiriciyi çağırırken hata oluştu"
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "beklenmedik hata"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s: %s sürümüne güncelleniyor\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s: yereldeki paket (%s) %s (%s) paketinden daha güncel\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "%s veritabanında bulunamadı -- atlanıyor\n"
 | 
			
		||||
@@ -427,15 +403,31 @@ msgstr "veritabanı kaydı %s-%s silinemedi\n"
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "'%s' kaydı tampondan silinemedi\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s-%s: paket güncellemesi göz ardı ediliyor (%s-%s ile değiştirilecek)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s: paket güncellemesi göz ardı ediliyor (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%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 "repository '%s' not found\n"
 | 
			
		||||
msgstr "'%s' deposu bulunamadı\n"
 | 
			
		||||
@@ -448,17 +440,17 @@ msgstr "%s-%s güncel -- atlanıyor\n"
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s güncel -- yeniden kuruluyor\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "%s paketi eski sürümüne çevriliyor (%s => %s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "çözülemeyen paket çakışmaları bulundu\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "'%s' hedef listesinden '%s' ile çeliştiği için kaldırıldı\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "command: %s\n"
 | 
			
		||||
msgstr "komut: %s\n"
 | 
			
		||||
msgstr "'%s' hedef listesindeki '%s' ile çakıştığı için kaldırıldı\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files from %s\n"
 | 
			
		||||
@@ -466,12 +458,20 @@ 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"
 | 
			
		||||
msgstr "kaldırma işlemi oluşturulamadı\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "işlem oluşturulamadı\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 initialize transaction\n"
 | 
			
		||||
msgstr "işlem başlatılamadı\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare removal transaction\n"
 | 
			
		||||
msgstr "kaldırma işlemi hazırlanamadı\n"
 | 
			
		||||
@@ -480,18 +480,6 @@ msgstr "kaldırma işlemi hazırlanamadı\n"
 | 
			
		||||
msgid "could not commit removal transaction\n"
 | 
			
		||||
msgstr "kaldırma işlemi teslim edilemedi\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "işlem oluşturulamadı\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "işlem başlatılamadı\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare transaction\n"
 | 
			
		||||
msgstr "işlem hazırlanamadı\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not commit transaction\n"
 | 
			
		||||
msgstr "işlem teslim edilemedi\n"
 | 
			
		||||
@@ -500,10 +488,6 @@ msgstr "işlem teslim edilemedi\n"
 | 
			
		||||
msgid "could not remove lock file %s\n"
 | 
			
		||||
msgstr "kilit dosyası %s silinemedi\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
 | 
			
		||||
msgstr "Bir üst ortamda /bin/sh bulunamadı, betik iptal ediliyor\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "geçici dizin oluşturulamadı\n"
 | 
			
		||||
@@ -512,6 +496,14 @@ 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 open %s: %s\n"
 | 
			
		||||
msgstr "%s açılamadı: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "%s dizinine geçilemedi (%s)\n"
 | 
			
		||||
@@ -526,7 +518,7 @@ 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)"
 | 
			
		||||
@@ -537,21 +529,59 @@ 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 "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"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										589
									
								
								lib/libalpm/po/uk.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										589
									
								
								lib/libalpm/po/uk.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,589 @@
 | 
			
		||||
# Copyright (C) 2008 Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
# This file is distributed under the same license as the pacman package.
 | 
			
		||||
# Ivan Kovnatsky <sevenfourk@gmail.com>, 2008.
 | 
			
		||||
# Roman Kyrylych <roman@archlinux.org>, 2008, 2009.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libalpm 3.2.2\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: \n"
 | 
			
		||||
"Last-Translator: Roman Kyrylych <roman@archlinux.org>\n"
 | 
			
		||||
"Language-Team: http://archlinux.org.ua\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Poedit-Language: Ukrainian\n"
 | 
			
		||||
"X-Poedit-Country: UKRAINE\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing older version %s-%s by %s in target list\n"
 | 
			
		||||
msgstr "старіша версія %s-%s замінюється на %s в цільовому списку пакунків\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s-%s пропускається, бо в списку цільових пакунків є новіша версія %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting packages were found in the target list\n"
 | 
			
		||||
msgstr "в списку цільових пакунків були знайдені конфліктуючі пакунки\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you cannot install two conflicting packages at the same time\n"
 | 
			
		||||
msgstr "ви не можете одночасно встановити два пакунки, що конфліктують\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing packages with -U is not supported yet\n"
 | 
			
		||||
msgstr "заміна пакунків за допомогою -U поки-що не підтримується\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you can replace packages manually using -Rd and -U\n"
 | 
			
		||||
msgstr "ви можете власноруч замінити пакунки використавши -Rd та -U\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"directory permissions differ on %s\n"
 | 
			
		||||
"filesystem: %o  package: %o\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"права каталога відрізняються на\n"
 | 
			
		||||
"файловій системі %s: %o  пакунок: %o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: not overwriting dir with file %s\n"
 | 
			
		||||
msgstr "розпакування: каталог не було перезаписано файлом %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "розпакування: символьне посилання %s не вказує на каталог\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not extract %s (%s)\n"
 | 
			
		||||
msgstr "неможливо розпакувати %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not rename %s to %s (%s)\n"
 | 
			
		||||
msgstr "неможливо перейменувати %s на %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s saved as %s\n"
 | 
			
		||||
msgstr "%s збережено як %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not install %s as %s (%s)\n"
 | 
			
		||||
msgstr "неможливо встановити %s як %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s installed as %s\n"
 | 
			
		||||
msgstr "%s встановлено як %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extracting %s as %s.pacnew\n"
 | 
			
		||||
msgstr "розпакування %s як %s.pacnew\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not get current working directory\n"
 | 
			
		||||
msgstr "неможливо отримати поточний робочий каталог\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while upgrading %s\n"
 | 
			
		||||
msgstr "з'явилась проблема при поновленні %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "problem occurred while installing %s\n"
 | 
			
		||||
msgstr "з'явилась проблема при встановленні %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not update database entry %s-%s\n"
 | 
			
		||||
msgstr "неможливо поновити запис бази даних %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not add entry '%s' in cache\n"
 | 
			
		||||
msgstr "неможливо додати запис '%s' у кеш\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "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 "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 "attempt to re-register the 'local' DB\n"
 | 
			
		||||
msgstr "спроба перереєструвати базу даних 'local'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\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 "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 "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 writing to file '%s': %s\n"
 | 
			
		||||
msgstr "помилка при запису до файлу '%s': %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
 | 
			
		||||
msgstr "здається %s обрізаний: %jd/%jd байтів\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to download %s\n"
 | 
			
		||||
msgstr "не вдалося завантажити %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "out of memory!"
 | 
			
		||||
msgstr "не вистачає пам'яті!"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected system error"
 | 
			
		||||
msgstr "неочікувана системна помилка"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "insufficient privileges"
 | 
			
		||||
msgstr "недостатньо прав"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read file"
 | 
			
		||||
msgstr "неможливо знайти чи прочитати файл"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read directory"
 | 
			
		||||
msgstr "неможливо знайти чи прочитати каталог"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrong or NULL argument passed"
 | 
			
		||||
msgstr "передано невірний аргумент чи NULL"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library not initialized"
 | 
			
		||||
msgstr "бібліотека не ініціалізована"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library already initialized"
 | 
			
		||||
msgstr "бібліотека вже ініціалізована"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unable to lock database"
 | 
			
		||||
msgstr "неможливо заблокувати базу даних"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open database"
 | 
			
		||||
msgstr "неможливо відкрити базу даних"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create database"
 | 
			
		||||
msgstr "неможливо створити базу даних"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database not initialized"
 | 
			
		||||
msgstr "база даних не ініціалізована"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database already registered"
 | 
			
		||||
msgstr "база даних вже зареєстрована"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find database"
 | 
			
		||||
msgstr "неможливо знайти базу даних"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not update database"
 | 
			
		||||
msgstr "неможливо поновити базу даних"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry"
 | 
			
		||||
msgstr "неможливо видалити запис з бази даних"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "невірне посилання чи сервер"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "для репозиторія не налаштовано жодного сервера"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
msgstr "транзакція вже ініціалізована"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not initialized"
 | 
			
		||||
msgstr "транзакція не ініціалізована"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicate target"
 | 
			
		||||
msgstr "продубльований цільовий пакунок"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not prepared"
 | 
			
		||||
msgstr "транзакція не підготовлена"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction aborted"
 | 
			
		||||
msgstr "транзакцію перервано"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation not compatible with the transaction type"
 | 
			
		||||
msgstr "операція несумісна з типом транзакції"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction commit attempt when database is not locked"
 | 
			
		||||
msgstr "спроба здійснити транзакцію в той час як база даних не є замкненою"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find or read package"
 | 
			
		||||
msgstr "неможливо знайти чи прочитати пакунок"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "operation cancelled due to ignorepkg"
 | 
			
		||||
msgstr "операцію відмінено через ignorepkg"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted package"
 | 
			
		||||
msgstr "невірний чи пошкоджений пакунок"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot open package file"
 | 
			
		||||
msgstr "неможливо відкрити файл пакунку"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove all files for package"
 | 
			
		||||
msgstr "неможливо видалити всі файли для пакунку"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "package filename is not valid"
 | 
			
		||||
msgstr "ім'я файлу пакунку невірне"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no such repository"
 | 
			
		||||
msgstr "немає такого репозиторію"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted delta"
 | 
			
		||||
msgstr "невірний чи пошкоджений дельта-патч"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "накладення дельта-патчу невдале"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "неможливо забезпечити залежності"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting dependencies"
 | 
			
		||||
msgstr "конфліктуючі залежності"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting files"
 | 
			
		||||
msgstr "конфліктуючі файли"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "не вдалося отримати деякі файли"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
msgstr "невірний регулярний вираз"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "libarchive error"
 | 
			
		||||
msgstr "помилка libarchive"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "download library error"
 | 
			
		||||
msgstr "помилка бібліотеки завантаження"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
msgstr "помилка виклику зовнішнього завантажувача"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "неочікувана помилка"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "неможливо знайти %s в базі даних -- пропускається\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "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 "repository '%s' not found\n"
 | 
			
		||||
msgstr "репозиторій '%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 create removal transaction\n"
 | 
			
		||||
msgstr "неможливо створити транзакцію видалення\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "неможливо створити транзакцію\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize the removal transaction\n"
 | 
			
		||||
msgstr "неможливо почати транзакцію видалення\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize 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 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 open %s: %s\n"
 | 
			
		||||
msgstr "неможливо відкрити %s: %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "неможливо змінити каталог на %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not fork a new process (%s)\n"
 | 
			
		||||
msgstr "неможливо почати новий процес (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change the root directory (%s)\n"
 | 
			
		||||
msgstr "неможливо змінити кореневий каталог (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to / (%s)\n"
 | 
			
		||||
msgstr "неможливо змінити каталог на / (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to popen failed (%s)"
 | 
			
		||||
msgstr "виклик popen невдалий (%s)"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to waitpid failed (%s)\n"
 | 
			
		||||
msgstr "виклик waitpid невдалий (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "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 "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"
 | 
			
		||||
@@ -7,11 +7,11 @@
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: Pacman package manager 3.1.2\n"
 | 
			
		||||
"Project-Id-Version: Pacman package manager 3.2.1\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
 | 
			
		||||
"POT-Creation-Date: 2008-07-19 17:09+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-17 23:01+0200\n"
 | 
			
		||||
"Last-Translator: 甘露(Lu Gan) <rhythm.gan@gmail.com>\n"
 | 
			
		||||
"POT-Creation-Date: 2009-07-27 21:15-0500\n"
 | 
			
		||||
"PO-Revision-Date: 2009-07-30 20:39+0700\n"
 | 
			
		||||
"Last-Translator: 甘露(Gan Lu) <rhythm.gan@gmail.com>\n"
 | 
			
		||||
"Language-Team: Chinese/Simplified <i18n-translation@lists.linux.net.cn>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
@@ -19,11 +19,11 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing older version %s-%s by %s in target list\n"
 | 
			
		||||
msgstr "正在替换老版本 %s-%s 通过在目标清单中的%s\n"
 | 
			
		||||
msgstr "正在用目标清单中的 %3$s 替换老版本 %1$s-%2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "skipping %s-%s because newer version %s is in the target list\n"
 | 
			
		||||
msgstr "跳过 %s-%s,因为较新版本的 %s 在目标清单中\n"
 | 
			
		||||
msgstr "跳过 %1$s-%2$s,因为较新版本的 %3$s 在目标清单中\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "conflicting packages were found in the target list\n"
 | 
			
		||||
@@ -35,51 +35,51 @@ msgstr "你不能同时安装有冲突的两个软件包\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "replacing packages with -U is not supported yet\n"
 | 
			
		||||
msgstr "正在覆盖软件包, -U 目前尚不支持\n"
 | 
			
		||||
msgstr "目前尚不支持用 -U 参数替换软件包\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "you can replace packages manually using -Rd and -U\n"
 | 
			
		||||
msgstr "你可以使用 -Rd 及 -U 来手动替代软件包\n"
 | 
			
		||||
msgstr "你可以使用 -Rd 及 -U 来手动替换软件包\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"directory permissions differ on %s\n"
 | 
			
		||||
"filesystem: %o  package: %o\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"目录权限不一致 %s\n"
 | 
			
		||||
"文件系统:%o  软件包:%o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "解压缩:链接 %s 没有指向目录\n"
 | 
			
		||||
"目录权限不一致 %1$s\n"
 | 
			
		||||
"文件系统:%2$o  软件包:%3$o\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: not overwriting dir with file %s\n"
 | 
			
		||||
msgstr "解压缩:没有用 %s 覆盖目录\n"
 | 
			
		||||
msgstr "解压缩:没有用文件 %s 覆盖目录\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extract: symlink %s does not point to dir\n"
 | 
			
		||||
msgstr "解压缩:符号链接 %s 没有指向目录\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not extract %s (%s)\n"
 | 
			
		||||
msgstr "无法解压缩 %s (%s)\n"
 | 
			
		||||
msgstr "无法解压缩 %1$s (%2$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not rename %s to %s (%s)\n"
 | 
			
		||||
msgstr "无法重命名 %s 为 %s (%s)\n"
 | 
			
		||||
msgstr "无法将 %1$s 重命名为 %2$s (%3$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s saved as %s\n"
 | 
			
		||||
msgstr "%s 已另存为 %s\n"
 | 
			
		||||
msgstr "%1$s 已另存为 %2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not install %s as %s (%s)\n"
 | 
			
		||||
msgstr "无法安装 %s 作为 %s (%s)\n"
 | 
			
		||||
msgstr "无法将 %1$s 安装为 %2$s (%3$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s installed as %s\n"
 | 
			
		||||
msgstr "%s 已作为 %s 安装\n"
 | 
			
		||||
msgstr "%1$s 已安装为 %2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "extracting %s as %s.pacnew\n"
 | 
			
		||||
msgstr "正在解压缩 %s 作为 %s.pacnew\n"
 | 
			
		||||
msgstr "正在解压缩 %1$s 为 %2$s.pacnew\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not get current working directory\n"
 | 
			
		||||
@@ -95,15 +95,15 @@ msgstr "安装 %s 时出现错误\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not update database entry %s-%s\n"
 | 
			
		||||
msgstr "无法更新数据库记录 %s-%s\n"
 | 
			
		||||
msgstr "无法更新数据库记录 %1$s-%2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not add entry '%s' in cache\n"
 | 
			
		||||
msgstr "无法在缓存中添加记录 '%s' \n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s%s\n"
 | 
			
		||||
msgstr "无法删除数据库记录 %s%s\n"
 | 
			
		||||
msgid "could not remove database %s\n"
 | 
			
		||||
msgstr "无法删除数据库 %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid name for database entry '%s'\n"
 | 
			
		||||
@@ -115,19 +115,23 @@ msgstr "损坏的数据库记录 '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open file %s: %s\n"
 | 
			
		||||
msgstr "无法打开文件 %s: %s\n"
 | 
			
		||||
msgstr "无法打开文件 %1$s: %2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
 | 
			
		||||
msgstr "%s 数据库不一致:名字和软件包中的 %s 不一致\n"
 | 
			
		||||
msgstr "%1$s 数据库不一致:名字和软件包中的 %2$s 不一致\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
 | 
			
		||||
msgstr "%s 数据库不一致:版本和软件包中的 %s 不一致\n"
 | 
			
		||||
msgstr "%1$s 数据库不一致:版本和软件包中的 %2$s 不一致\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create directory %s: %s\n"
 | 
			
		||||
msgstr "无法更改目录到 %1$s:%2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not parse package description file in %s\n"
 | 
			
		||||
msgstr "无法分析 %s 中的软件包描述文件\n"
 | 
			
		||||
msgstr "无法解析 %s 中的软件包描述文件\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package name in %s\n"
 | 
			
		||||
@@ -139,7 +143,7 @@ msgstr "%s 中缺少软件包版本号\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error while reading package %s: %s\n"
 | 
			
		||||
msgstr "读取软件包%s: %s发生错误\n"
 | 
			
		||||
msgstr "读取软件包 %1$s 发生错误: %2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "missing package metadata in %s\n"
 | 
			
		||||
@@ -151,35 +155,39 @@ msgstr "尝试重新登记“本地”数据库\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database path is undefined\n"
 | 
			
		||||
msgstr "没有指定数据库路径\n"
 | 
			
		||||
msgstr "数据库路径未定义\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "dependency cycle detected:\n"
 | 
			
		||||
msgstr "探测到依赖关系循环:\n"
 | 
			
		||||
msgstr "检测到依赖关系环:\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s will be removed after its %s dependency\n"
 | 
			
		||||
msgstr "%s 将在它 %s 的依赖关系之后被删除\n"
 | 
			
		||||
msgstr "%1$s 将在它 %2$s 的依赖关系之后被删除\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s will be installed before its %s dependency\n"
 | 
			
		||||
msgstr "%s 将在它 %s 的依赖关系之前被安装\n"
 | 
			
		||||
msgstr "%1$s 将在它 %2$s 的依赖关系之前被安装\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package %s-%s\n"
 | 
			
		||||
msgstr "正在忽略软件包更新 %s-%s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "provider package was selected (%s provides %s)\n"
 | 
			
		||||
msgstr "已选定提供软件包 (%s 提供 %s)\n"
 | 
			
		||||
msgstr "已选定提供软件包 (%1$s 提供 %2$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
 | 
			
		||||
msgstr "无法解决 \"%s\",\"%s\" 的依赖关系\n"
 | 
			
		||||
msgstr "无法解决 \"%1$s\",\"%2$s\" 的一个依赖关系\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url '%s' is invalid\n"
 | 
			
		||||
msgstr "url %s' 无效\n"
 | 
			
		||||
msgstr "url '%s' 无效\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "url scheme not specified, assuming HTTP\n"
 | 
			
		||||
msgstr "url 结构没有指定,假定为 HTTP\n"
 | 
			
		||||
msgstr "url scheme 未指定,假定为 HTTP\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "disk"
 | 
			
		||||
@@ -187,7 +195,7 @@ msgstr "硬盘"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed retrieving file '%s' from %s : %s\n"
 | 
			
		||||
msgstr "无法从 %s : %s 获取文件 '%s' \n"
 | 
			
		||||
msgstr "无法从 %2$s : %3$s 获取文件 '%1$s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot resume download, starting over\n"
 | 
			
		||||
@@ -197,33 +205,25 @@ msgstr "无法恢复下载,重新开始\n"
 | 
			
		||||
msgid "cannot write to file '%s'\n"
 | 
			
		||||
msgstr "无法写入文件 '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error downloading '%s': %s\n"
 | 
			
		||||
msgstr "下载 '%s': %s 时出错\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error writing to file '%s': %s\n"
 | 
			
		||||
msgstr "写入文件 '%s': %s 时出错\n"
 | 
			
		||||
msgstr "写入文件 '%1$s' 时出错: %2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not chdir to %s\n"
 | 
			
		||||
msgstr "无法改变目录到 %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "running XferCommand: fork failed!\n"
 | 
			
		||||
msgstr "运行 XferCommand:分支失败!\n"
 | 
			
		||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
 | 
			
		||||
msgstr "%s 可缩小:%jd/%jd bytes\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to download %s\n"
 | 
			
		||||
msgstr "下载%s失败\n"
 | 
			
		||||
msgstr "下载 %s 失败\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "out of memory!"
 | 
			
		||||
msgstr "没有内存可用!"
 | 
			
		||||
msgstr "内存不足!"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected system error"
 | 
			
		||||
msgstr "未预计的系统错误"
 | 
			
		||||
msgstr "未预期的系统错误"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "insufficient privileges"
 | 
			
		||||
@@ -239,11 +239,11 @@ msgstr "无法找到或读取目录"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrong or NULL argument passed"
 | 
			
		||||
msgstr "传递了错误的或空的参数"
 | 
			
		||||
msgstr "传递了错误的或 NULL 参数"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library not initialized"
 | 
			
		||||
msgstr "无法初始化函数库"
 | 
			
		||||
msgstr "函数库未初始化"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "library already initialized"
 | 
			
		||||
@@ -263,7 +263,7 @@ msgstr "无法创建数据库"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database not initialized"
 | 
			
		||||
msgstr "数据库无法初始化"
 | 
			
		||||
msgstr "数据库未初始化"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "database already registered"
 | 
			
		||||
@@ -283,7 +283,11 @@ msgstr "无法删除数据库记录"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid url for server"
 | 
			
		||||
msgstr "无效的服务器url"
 | 
			
		||||
msgstr "无效的服务器 url"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no servers configured for repository"
 | 
			
		||||
msgstr "软件仓库没有配置服务器信息"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction already initialized"
 | 
			
		||||
@@ -291,7 +295,7 @@ msgstr "处理已初始化"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "transaction not initialized"
 | 
			
		||||
msgstr "处理无法初始化"
 | 
			
		||||
msgstr "处理未初始化"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "duplicate target"
 | 
			
		||||
@@ -310,17 +314,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,17 +333,9 @@ 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"
 | 
			
		||||
@@ -351,16 +347,12 @@ msgstr "没有该软件库"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid or corrupted delta"
 | 
			
		||||
msgstr "无效的或已损坏的 delta 包"
 | 
			
		||||
msgstr "无效的或已损坏的 delta"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "delta patch failed"
 | 
			
		||||
msgstr "delta 补丁失败"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "group not found"
 | 
			
		||||
msgstr "没有找到软件包组"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not satisfy dependencies"
 | 
			
		||||
msgstr "无法满足依赖关系"
 | 
			
		||||
@@ -374,20 +366,12 @@ msgid "conflicting files"
 | 
			
		||||
msgstr "有冲突的文件"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "user aborted the operation"
 | 
			
		||||
msgstr "用户中断操作"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "internal error"
 | 
			
		||||
msgstr "内部错误"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "not confirmed"
 | 
			
		||||
msgstr "不能确认"
 | 
			
		||||
msgid "failed to retrieve some files"
 | 
			
		||||
msgstr "无法获取某些文件"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "invalid regular expression"
 | 
			
		||||
msgstr "无效的常规表达式"
 | 
			
		||||
msgstr "无效的正则表达式"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "libarchive error"
 | 
			
		||||
@@ -399,43 +383,51 @@ msgstr "下载函数库出错"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "error invoking external downloader"
 | 
			
		||||
msgstr "激活外部下载程序时出现错误"
 | 
			
		||||
msgstr "调用外部下载程序时出错"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unexpected error"
 | 
			
		||||
msgstr "未预期的错误"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: forcing upgrade to version %s\n"
 | 
			
		||||
msgstr "%s:强制更新至版本 %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%s:本地(%s)比 %s 的版本更新(%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not find %s in database -- skipping\n"
 | 
			
		||||
msgstr "无法在数据库中找到 %s -- 跳过\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot remove file '%s': %s\n"
 | 
			
		||||
msgstr "无法删除文件 '%s': %s\n"
 | 
			
		||||
msgstr "无法删除文件 '%1$s': %2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove database entry %s-%s\n"
 | 
			
		||||
msgstr "无法删除数据库记录 %s-%s\n"
 | 
			
		||||
msgstr "无法删除数据库记录 %1$s-%2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove entry '%s' from cache\n"
 | 
			
		||||
msgstr "无法从缓存中删除记录 '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
 | 
			
		||||
msgstr "%s-%s:忽略软件包更新(由%s-%s替代)\n"
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%1$s:忽略软件包更新(%2$s => %3$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%s:忽略软件包更新(%s => %s)\n"
 | 
			
		||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
 | 
			
		||||
msgstr "%1$s:正在忽略软件包经济(%2$s => %3$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: downgrading from version %s to version %s\n"
 | 
			
		||||
msgstr "%s:正在从版本 %s 降级为 %s \n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: local (%s) is newer than %s (%s)\n"
 | 
			
		||||
msgstr "%1$s:本地(%2$s)比 %3$s 的版本更新 (%4$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
 | 
			
		||||
msgstr "正在忽略软件包更新 (%s-%s => %s-%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot replace %s by %s\n"
 | 
			
		||||
msgstr "无法用文件 '%2$s' 替代 %1$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "repository '%s' not found\n"
 | 
			
		||||
@@ -443,55 +435,51 @@ msgstr "没有找到软件库 '%s'\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- skipping\n"
 | 
			
		||||
msgstr "%s-%s 已经为最新 -- 跳过\n"
 | 
			
		||||
msgstr "%1$s-%2$s 已经为最新 -- 跳过\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s-%s is up to date -- reinstalling\n"
 | 
			
		||||
msgstr "%s-%s 已经为最新 -- 重新安装\n"
 | 
			
		||||
msgstr "%1$s-%2$s 已经为最新 -- 重新安装\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "downgrading package %s (%s => %s)\n"
 | 
			
		||||
msgstr "正在降级软件包 %1$s (%2$s => %3$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "unresolvable package conflicts detected\n"
 | 
			
		||||
msgstr "探测到无法解决的软件包冲突\n"
 | 
			
		||||
msgstr "检测到未解决的软件包冲突\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
 | 
			
		||||
msgstr "正在从目标清单中删除 '%s' ,因为它和 '%s' 有冲突\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "command: %s\n"
 | 
			
		||||
msgstr "命令:%s\n"
 | 
			
		||||
msgstr "正在从目标清单中删除 '%1$s' ,因为它和 '%2$s' 冲突\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "failed to retrieve some files from %s\n"
 | 
			
		||||
msgstr "某些文件无法从%s取回\n"
 | 
			
		||||
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"
 | 
			
		||||
msgstr "无法生成可撤销处理\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create transaction\n"
 | 
			
		||||
msgstr "无法创建处理\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize the removal transaction\n"
 | 
			
		||||
msgstr "无法初始化可撤销处理\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not initialize transaction\n"
 | 
			
		||||
msgstr "无法初始化处理\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not prepare transaction\n"
 | 
			
		||||
msgstr "无法准备处理\n"
 | 
			
		||||
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 commit transaction\n"
 | 
			
		||||
@@ -501,53 +489,49 @@ msgstr "无法交付处理\n"
 | 
			
		||||
msgid "could not remove lock file %s\n"
 | 
			
		||||
msgstr "无法删除锁定文件 %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
 | 
			
		||||
msgstr "父环境中没有 /bin/sh,正在中断脚本\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not create temp directory\n"
 | 
			
		||||
msgstr "无法创建临时目录\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not copy tempfile to %s (%s)\n"
 | 
			
		||||
msgstr "无法复制临时文件到 %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "无法更改目录到 %s (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not fork a new process (%s)\n"
 | 
			
		||||
msgstr "无法分支新进程(%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change the root directory (%s)\n"
 | 
			
		||||
msgstr "无法更改根目录(%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to / (%s)\n"
 | 
			
		||||
msgstr "无法更改目录到/ (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to popen failed (%s)"
 | 
			
		||||
msgstr "调用 popen 失败(%s)"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to waitpid failed (%s)\n"
 | 
			
		||||
msgstr "调用 waitpid 失败(%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "scriptlet failed to execute correctly\n"
 | 
			
		||||
msgstr "脚本没有被正确执行\n"
 | 
			
		||||
msgstr "无法复制临时文件到 %1$s (%2$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not remove tmpdir %s\n"
 | 
			
		||||
msgstr "无法删除临时目录%s\n"
 | 
			
		||||
msgstr "无法删除临时目录 %s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not open %s: %s\n"
 | 
			
		||||
msgstr "无法打开 %s: %s\n"
 | 
			
		||||
msgstr "无法打开 %1$s: %2$s\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to %s (%s)\n"
 | 
			
		||||
msgstr "无法更改目录到 %1$s (%2$s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not fork a new process (%s)\n"
 | 
			
		||||
msgstr "无法 fork 新进程 (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change the root directory (%s)\n"
 | 
			
		||||
msgstr "无法更改根目录 (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "could not change directory to / (%s)\n"
 | 
			
		||||
msgstr "无法切换目录到 / (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to popen failed (%s)"
 | 
			
		||||
msgstr "调用 popen 失败 (%s)"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "call to waitpid failed (%s)\n"
 | 
			
		||||
msgstr "调用 waitpid 失败 (%s)\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "command failed to execute correctly\n"
 | 
			
		||||
msgstr "命令未能被正确执行\n"
 | 
			
		||||
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "no %s cache exists, creating...\n"
 | 
			
		||||
@@ -556,3 +540,48 @@ msgstr "没有 %s 缓存存在,正在创建...\n"
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "couldn't create package cache, using /tmp instead\n"
 | 
			
		||||
msgstr "无法创建软件包缓存,正在使用 /tmp 代替\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-2009 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>
 | 
			
		||||
@@ -49,6 +50,7 @@
 | 
			
		||||
int _alpm_remove_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
 | 
			
		||||
{
 | 
			
		||||
	pmpkg_t *info;
 | 
			
		||||
	const char *targ;
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
@@ -56,25 +58,22 @@ int _alpm_remove_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
 | 
			
		||||
	ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
 | 
			
		||||
	ASSERT(name != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
 | 
			
		||||
 | 
			
		||||
	if(_alpm_pkg_find(trans->packages, name)) {
 | 
			
		||||
	targ = strchr(name, '/');
 | 
			
		||||
	if(targ && strncmp(name, "local", 5) == 0) {
 | 
			
		||||
		targ++;
 | 
			
		||||
	} else {
 | 
			
		||||
		targ = name;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(_alpm_pkg_find(trans->packages, targ)) {
 | 
			
		||||
		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, targ)) == NULL) {
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "could not find %s in database\n", targ);
 | 
			
		||||
		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);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_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));
 | 
			
		||||
 | 
			
		||||
@@ -104,7 +103,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->packages, NULL);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -134,7 +133,7 @@ static void remove_prepare_keep_needed(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->packages, NULL);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -161,7 +160,7 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
 | 
			
		||||
		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->packages, NULL);
 | 
			
		||||
		if(lp != NULL) {
 | 
			
		||||
 | 
			
		||||
			if(trans->flags & PM_TRANS_FLAG_CASCADE) {
 | 
			
		||||
@@ -229,25 +228,18 @@ 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, pmtrans_t *trans)
 | 
			
		||||
{
 | 
			
		||||
	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, (char *)lp->data);
 | 
			
		||||
	snprintf(file, PATH_MAX, "%s%s", handle->root, filename);
 | 
			
		||||
 | 
			
		||||
	if(trans->type == PM_TRANS_TYPE_REMOVEUPGRADE) {
 | 
			
		||||
		/* check noupgrade */
 | 
			
		||||
		if(alpm_list_find_str(handle->noupgrade, lp->data)) {
 | 
			
		||||
		if(alpm_list_find_str(handle->noupgrade, filename)) {
 | 
			
		||||
			_alpm_log(PM_LOG_DEBUG, "Skipping removal of '%s' due to NoUpgrade\n",
 | 
			
		||||
					file);
 | 
			
		||||
			return;
 | 
			
		||||
@@ -278,23 +270,35 @@ static void unlink_file(pmpkg_t *info, alpm_list_t *lp, pmtrans_t *trans)
 | 
			
		||||
			_alpm_log(PM_LOG_DEBUG, "%s is in trans->skip_remove, skipping removal\n",
 | 
			
		||||
					file);
 | 
			
		||||
			return;
 | 
			
		||||
		} else if(needbackup) {
 | 
			
		||||
			/* if the file is flagged, back it up to .pacsave */
 | 
			
		||||
			if(!(trans->flags & PM_TRANS_FLAG_NOSAVE)) {
 | 
			
		||||
				char newpath[PATH_MAX];
 | 
			
		||||
				snprintf(newpath, PATH_MAX, "%s.pacsave", file);
 | 
			
		||||
				rename(file, newpath);
 | 
			
		||||
				_alpm_log(PM_LOG_WARNING, _("%s saved as %s\n"), file, newpath);
 | 
			
		||||
				return;
 | 
			
		||||
			} else {
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/* if the file needs backup and has been modified, back it up to .pacsave */
 | 
			
		||||
		char *pkghash = _alpm_needbackup(filename, alpm_pkg_get_backup(info));
 | 
			
		||||
		if(pkghash) {
 | 
			
		||||
			if(trans->flags & PM_TRANS_FLAG_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));
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -359,7 +363,7 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
 | 
			
		||||
			/* 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);
 | 
			
		||||
				unlink_file(info, lp->data, trans);
 | 
			
		||||
 | 
			
		||||
				/* update progress bar after each file */
 | 
			
		||||
				percent = (double)position / (double)filenum;
 | 
			
		||||
@@ -404,7 +408,6 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
 | 
			
		||||
 | 
			
		||||
	/* 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);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  remove.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  sync.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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>
 | 
			
		||||
 *
 | 
			
		||||
@@ -23,26 +24,12 @@
 | 
			
		||||
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
 | 
			
		||||
/* Sync package */
 | 
			
		||||
struct __pmsyncpkg_t {
 | 
			
		||||
	pmpkgreason_t newreason;
 | 
			
		||||
	pmpkg_t *pkg;
 | 
			
		||||
	alpm_list_t *removes;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
pmsyncpkg_t *_alpm_sync_new(pmpkgreason_t newreason, pmpkg_t *spkg, alpm_list_t *removes);
 | 
			
		||||
void _alpm_sync_free(pmsyncpkg_t *data);
 | 
			
		||||
 | 
			
		||||
int _alpm_sync_sysupgrade(pmtrans_t *trans,
 | 
			
		||||
		pmdb_t *db_local, alpm_list_t *dbs_sync, alpm_list_t **syncpkgs);
 | 
			
		||||
int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync, int enable_downgrade);
 | 
			
		||||
 | 
			
		||||
int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync, char *name);
 | 
			
		||||
int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync, alpm_list_t **data);
 | 
			
		||||
int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data);
 | 
			
		||||
 | 
			
		||||
/* typically trans->packages */
 | 
			
		||||
pmsyncpkg_t *_alpm_sync_find(alpm_list_t *syncpkgs, const char* pkgname);
 | 
			
		||||
 | 
			
		||||
#endif /* _ALPM_SYNC_H */
 | 
			
		||||
 | 
			
		||||
/* vim: set ts=2 sw=2 noet: */
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  trans.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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>
 | 
			
		||||
@@ -26,11 +27,9 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <sys/wait.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <sys/statvfs.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
@@ -72,9 +71,11 @@ int SYMEXPORT alpm_trans_init(pmtranstype_t type, pmtransflag_t flags,
 | 
			
		||||
	ASSERT(handle->trans == NULL, RET_ERR(PM_ERR_TRANS_NOT_NULL, -1));
 | 
			
		||||
 | 
			
		||||
	/* lock db */
 | 
			
		||||
	handle->lckfd = _alpm_lckmk();
 | 
			
		||||
	if(handle->lckfd == -1) {
 | 
			
		||||
		RET_ERR(PM_ERR_HANDLE_LOCK, -1);
 | 
			
		||||
	if(!(flags & PM_TRANS_FLAG_NOLOCK)) {
 | 
			
		||||
		handle->lckfd = _alpm_lckmk();
 | 
			
		||||
		if(handle->lckfd == -1) {
 | 
			
		||||
			RET_ERR(PM_ERR_HANDLE_LOCK, -1);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	handle->trans = _alpm_trans_new();
 | 
			
		||||
@@ -88,7 +89,7 @@ int SYMEXPORT alpm_trans_init(pmtranstype_t type, pmtransflag_t flags,
 | 
			
		||||
/** Search for packages to upgrade and add them to the transaction.
 | 
			
		||||
 * @return 0 on success, -1 on error (pm_errno is set accordingly)
 | 
			
		||||
 */
 | 
			
		||||
int SYMEXPORT alpm_trans_sysupgrade()
 | 
			
		||||
int SYMEXPORT alpm_trans_sysupgrade(int enable_downgrade)
 | 
			
		||||
{
 | 
			
		||||
	pmtrans_t *trans;
 | 
			
		||||
 | 
			
		||||
@@ -101,7 +102,7 @@ int SYMEXPORT alpm_trans_sysupgrade()
 | 
			
		||||
	ASSERT(trans->state == STATE_INITIALIZED, RET_ERR(PM_ERR_TRANS_NOT_INITIALIZED, -1));
 | 
			
		||||
	ASSERT(trans->type == PM_TRANS_TYPE_SYNC, RET_ERR(PM_ERR_TRANS_TYPE, -1));
 | 
			
		||||
 | 
			
		||||
	return(_alpm_trans_sysupgrade(trans));
 | 
			
		||||
	return(_alpm_sync_sysupgrade(trans, handle->db_local, handle->dbs_sync, enable_downgrade));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Add a target to the transaction.
 | 
			
		||||
@@ -159,6 +160,8 @@ int SYMEXPORT alpm_trans_commit(alpm_list_t **data)
 | 
			
		||||
	ASSERT(handle->trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
 | 
			
		||||
	ASSERT(handle->trans->state == STATE_PREPARED, RET_ERR(PM_ERR_TRANS_NOT_PREPARED, -1));
 | 
			
		||||
 | 
			
		||||
	ASSERT(!(handle->trans->flags & PM_TRANS_FLAG_NOLOCK), RET_ERR(PM_ERR_TRANS_NOT_LOCKED, -1));
 | 
			
		||||
 | 
			
		||||
	return(_alpm_trans_commit(handle->trans, data));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -200,19 +203,23 @@ int SYMEXPORT alpm_trans_release()
 | 
			
		||||
	ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
 | 
			
		||||
	ASSERT(trans->state != STATE_IDLE, RET_ERR(PM_ERR_TRANS_NULL, -1));
 | 
			
		||||
 | 
			
		||||
	unsigned int nolock_flag = trans->flags & PM_TRANS_FLAG_NOLOCK;
 | 
			
		||||
 | 
			
		||||
	_alpm_trans_free(trans);
 | 
			
		||||
	handle->trans = NULL;
 | 
			
		||||
 | 
			
		||||
	/* unlock db */
 | 
			
		||||
	if(handle->lckfd != -1) {
 | 
			
		||||
		close(handle->lckfd);
 | 
			
		||||
		handle->lckfd = -1;
 | 
			
		||||
	}
 | 
			
		||||
	if(_alpm_lckrm()) {
 | 
			
		||||
		_alpm_log(PM_LOG_WARNING, _("could not remove lock file %s\n"),
 | 
			
		||||
				alpm_option_get_lockfile());
 | 
			
		||||
		alpm_logaction("warning: could not remove lock file %s\n",
 | 
			
		||||
				alpm_option_get_lockfile());
 | 
			
		||||
	if(!nolock_flag) {
 | 
			
		||||
		if(handle->lckfd != -1) {
 | 
			
		||||
			while(close(handle->lckfd) == -1 && errno == EINTR);
 | 
			
		||||
			handle->lckfd = -1;
 | 
			
		||||
		}
 | 
			
		||||
		if(_alpm_lckrm()) {
 | 
			
		||||
			_alpm_log(PM_LOG_WARNING, _("could not remove lock file %s\n"),
 | 
			
		||||
					alpm_option_get_lockfile());
 | 
			
		||||
			alpm_logaction("warning: could not remove lock file %s\n",
 | 
			
		||||
					alpm_option_get_lockfile());
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return(0);
 | 
			
		||||
@@ -227,15 +234,6 @@ pmtrans_t *_alpm_trans_new()
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	CALLOC(trans, 1, sizeof(pmtrans_t), RET_ERR(PM_ERR_MEMORY, NULL));
 | 
			
		||||
 | 
			
		||||
	trans->packages = NULL;
 | 
			
		||||
	trans->skip_add = NULL;
 | 
			
		||||
	trans->skip_remove = NULL;
 | 
			
		||||
	trans->type = 0;
 | 
			
		||||
	trans->flags = 0;
 | 
			
		||||
	trans->cb_event = NULL;
 | 
			
		||||
	trans->cb_conv = NULL;
 | 
			
		||||
	trans->cb_progress = NULL;
 | 
			
		||||
	trans->state = STATE_IDLE;
 | 
			
		||||
 | 
			
		||||
	return(trans);
 | 
			
		||||
@@ -250,7 +248,7 @@ void _alpm_trans_free(pmtrans_t *trans)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(trans->type == PM_TRANS_TYPE_SYNC) {
 | 
			
		||||
		alpm_list_free_inner(trans->packages, (alpm_list_fn_free)_alpm_sync_free);
 | 
			
		||||
		alpm_list_free_inner(trans->packages, (alpm_list_fn_free)_alpm_pkg_free_trans);
 | 
			
		||||
	} else {
 | 
			
		||||
		alpm_list_free_inner(trans->packages, (alpm_list_fn_free)_alpm_pkg_free);
 | 
			
		||||
	}
 | 
			
		||||
@@ -281,17 +279,6 @@ int _alpm_trans_init(pmtrans_t *trans, pmtranstype_t type, pmtransflag_t flags,
 | 
			
		||||
	return(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int _alpm_trans_sysupgrade(pmtrans_t *trans)
 | 
			
		||||
{
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	/* Sanity checks */
 | 
			
		||||
	ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
 | 
			
		||||
 | 
			
		||||
	return(_alpm_sync_sysupgrade(trans, handle->db_local, handle->dbs_sync,
 | 
			
		||||
				&(trans->packages)));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Add a target to the transaction.
 | 
			
		||||
 * @param trans the current transaction
 | 
			
		||||
 * @param target the name of the target to add
 | 
			
		||||
@@ -449,11 +436,8 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
 | 
			
		||||
	char scriptfn[PATH_MAX];
 | 
			
		||||
	char cmdline[PATH_MAX];
 | 
			
		||||
	char tmpdir[PATH_MAX];
 | 
			
		||||
	char cwd[PATH_MAX];
 | 
			
		||||
	char *scriptpath;
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
	int clean_tmpdir = 0;
 | 
			
		||||
	int restore_cwd = 0;
 | 
			
		||||
	int retval = 0;
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
@@ -464,13 +448,6 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
 | 
			
		||||
		return(0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* NOTE: popen will use the PARENT's /bin/sh, not the chroot's */
 | 
			
		||||
	if(access("/bin/sh", X_OK)) {
 | 
			
		||||
		/* not found */
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("No /bin/sh in parent environment, aborting scriptlet\n"));
 | 
			
		||||
		return(0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* creates a directory in $root/tmp/ for copying/extracting the scriptlet */
 | 
			
		||||
	snprintf(tmpdir, PATH_MAX, "%stmp/", root);
 | 
			
		||||
	if(access(tmpdir, F_OK) != 0) {
 | 
			
		||||
@@ -508,21 +485,6 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* save the cwd so we can restore it later */
 | 
			
		||||
	if(getcwd(cwd, PATH_MAX) == NULL) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not get current working directory\n"));
 | 
			
		||||
	} else {
 | 
			
		||||
		restore_cwd = 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* just in case our cwd was removed in the upgrade operation */
 | 
			
		||||
	if(chdir(root) != 0) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not change directory to %s (%s)\n"), root, strerror(errno));
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "executing %s script...\n", script);
 | 
			
		||||
 | 
			
		||||
	if(oldver) {
 | 
			
		||||
		snprintf(cmdline, PATH_MAX, ". %s; %s %s %s",
 | 
			
		||||
				scriptpath, script, ver, oldver);
 | 
			
		||||
@@ -530,77 +492,13 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
 | 
			
		||||
		snprintf(cmdline, PATH_MAX, ". %s; %s %s",
 | 
			
		||||
				scriptpath, script, ver);
 | 
			
		||||
	}
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "%s\n", cmdline);
 | 
			
		||||
 | 
			
		||||
	/* fork- parent and child each have seperate code blocks below */
 | 
			
		||||
	pid = fork();
 | 
			
		||||
	if(pid == -1) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not fork a new process (%s)\n"), strerror(errno));
 | 
			
		||||
		retval = 1;
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(pid == 0) {
 | 
			
		||||
		FILE *pipe;
 | 
			
		||||
		/* this code runs for the child only (the actual chroot/exec) */
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "chrooting in %s\n", root);
 | 
			
		||||
		if(chroot(root) != 0) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("could not change the root directory (%s)\n"),
 | 
			
		||||
					strerror(errno));
 | 
			
		||||
			exit(1);
 | 
			
		||||
		}
 | 
			
		||||
		if(chdir("/") != 0) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("could not change directory to / (%s)\n"),
 | 
			
		||||
					strerror(errno));
 | 
			
		||||
			exit(1);
 | 
			
		||||
		}
 | 
			
		||||
		umask(0022);
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "executing \"%s\"\n", cmdline);
 | 
			
		||||
		/* execl("/bin/sh", "sh", "-c", cmdline, (char *)NULL); */
 | 
			
		||||
		pipe = popen(cmdline, "r");
 | 
			
		||||
		if(!pipe) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("call to popen failed (%s)"),
 | 
			
		||||
					strerror(errno));
 | 
			
		||||
			retval = 1;
 | 
			
		||||
			goto cleanup;
 | 
			
		||||
		}
 | 
			
		||||
		while(!feof(pipe)) {
 | 
			
		||||
			char line[PATH_MAX];
 | 
			
		||||
			if(fgets(line, PATH_MAX, pipe) == NULL)
 | 
			
		||||
				break;
 | 
			
		||||
			alpm_logaction("%s", line);
 | 
			
		||||
			EVENT(trans, PM_TRANS_EVT_SCRIPTLET_INFO, line, NULL);
 | 
			
		||||
		}
 | 
			
		||||
		exit(0);
 | 
			
		||||
	} else {
 | 
			
		||||
		/* this code runs for the parent only (wait on the child) */
 | 
			
		||||
		pid_t retpid;
 | 
			
		||||
		int status;
 | 
			
		||||
		retpid = waitpid(pid, &status, 0);
 | 
			
		||||
		if(retpid == -1) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("call to waitpid failed (%s)\n"),
 | 
			
		||||
			          strerror(errno));
 | 
			
		||||
			retval = 1;
 | 
			
		||||
			goto cleanup;
 | 
			
		||||
		} else {
 | 
			
		||||
			/* check the return status, make sure it is 0 (success) */
 | 
			
		||||
			if(WIFEXITED(status)) {
 | 
			
		||||
				_alpm_log(PM_LOG_DEBUG, "call to waitpid succeeded\n");
 | 
			
		||||
				if(WEXITSTATUS(status) != 0) {
 | 
			
		||||
					_alpm_log(PM_LOG_ERROR, _("scriptlet failed to execute correctly\n"));
 | 
			
		||||
					retval = 1;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	retval = _alpm_run_chroot(root, cmdline);
 | 
			
		||||
 | 
			
		||||
cleanup:
 | 
			
		||||
	if(clean_tmpdir && _alpm_rmrf(tmpdir)) {
 | 
			
		||||
		_alpm_log(PM_LOG_WARNING, _("could not remove tmpdir %s\n"), tmpdir);
 | 
			
		||||
	}
 | 
			
		||||
	if(restore_cwd) {
 | 
			
		||||
		chdir(cwd);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return(retval);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  trans.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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 Miklos Vajna <vmiklos@frugalware.org>
 | 
			
		||||
@@ -39,7 +40,7 @@ struct __pmtrans_t {
 | 
			
		||||
	pmtranstype_t type;
 | 
			
		||||
	pmtransflag_t flags;
 | 
			
		||||
	pmtransstate_t state;
 | 
			
		||||
	alpm_list_t *packages;      /* list of (pmpkg_t *) or (pmsyncpkg_t *) */
 | 
			
		||||
	alpm_list_t *packages;      /* list of (pmpkg_t *) */
 | 
			
		||||
	alpm_list_t *skip_add;      /* list of (char *) */
 | 
			
		||||
	alpm_list_t *skip_remove;   /* list of (char *) */
 | 
			
		||||
	alpm_trans_cb_event cb_event;
 | 
			
		||||
@@ -71,7 +72,6 @@ void _alpm_trans_free(pmtrans_t *trans);
 | 
			
		||||
int _alpm_trans_init(pmtrans_t *trans, pmtranstype_t type, pmtransflag_t flags,
 | 
			
		||||
                     alpm_trans_cb_event event, alpm_trans_cb_conv conv,
 | 
			
		||||
                     alpm_trans_cb_progress progress);
 | 
			
		||||
int _alpm_trans_sysupgrade(pmtrans_t *trans);
 | 
			
		||||
int _alpm_trans_addtarget(pmtrans_t *trans, char *target);
 | 
			
		||||
int _alpm_trans_prepare(pmtrans_t *trans, alpm_list_t **data);
 | 
			
		||||
int _alpm_trans_commit(pmtrans_t *trans, alpm_list_t **data);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  util.c
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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>
 | 
			
		||||
@@ -25,6 +26,7 @@
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
@@ -35,6 +37,7 @@
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <sys/wait.h>
 | 
			
		||||
 | 
			
		||||
/* libarchive */
 | 
			
		||||
#include <archive.h>
 | 
			
		||||
@@ -47,6 +50,7 @@
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "md5.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_STRSEP
 | 
			
		||||
/* This is a replacement for strsep which is not portable (missing on Solaris).
 | 
			
		||||
@@ -240,8 +244,9 @@ char *_alpm_strreplace(const char *str, const char *needle, const char *replace)
 | 
			
		||||
/* Create a lock file */
 | 
			
		||||
int _alpm_lckmk()
 | 
			
		||||
{
 | 
			
		||||
	int fd, count = 0;
 | 
			
		||||
	char *dir, *ptr;
 | 
			
		||||
	int fd;
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
	char *dir, *ptr, *spid = NULL;
 | 
			
		||||
	const char *file = alpm_option_get_lockfile();
 | 
			
		||||
 | 
			
		||||
	/* create the dir of the lockfile first */
 | 
			
		||||
@@ -251,18 +256,21 @@ int _alpm_lckmk()
 | 
			
		||||
		*ptr = '\0';
 | 
			
		||||
	}
 | 
			
		||||
	_alpm_makepath(dir);
 | 
			
		||||
 | 
			
		||||
	while((fd = open(file, O_WRONLY | O_CREAT | O_EXCL, 0000)) == -1 && errno == EACCES) {
 | 
			
		||||
		if(++count < 1) {
 | 
			
		||||
			sleep(1);
 | 
			
		||||
		}	else {
 | 
			
		||||
			return(-1);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	FREE(dir);
 | 
			
		||||
 | 
			
		||||
	return(fd > 0 ? fd : -1);
 | 
			
		||||
	while((fd = open(file, O_WRONLY | O_CREAT | O_EXCL, 0000)) == -1
 | 
			
		||||
			&& errno == EINTR);
 | 
			
		||||
	if(fd > 0) {
 | 
			
		||||
		pid = getpid();
 | 
			
		||||
		size_t len = snprintf(spid, 0, "%ld\n", (long)pid) + 1;
 | 
			
		||||
		spid = malloc(len);
 | 
			
		||||
		snprintf(spid, len, "%ld\n", (long)pid);
 | 
			
		||||
		while(write(fd, (void *)spid, len) == -1 && errno == EINTR);
 | 
			
		||||
		fsync(fd);
 | 
			
		||||
		free(spid);
 | 
			
		||||
		return(fd);
 | 
			
		||||
	}
 | 
			
		||||
	return(-1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Remove a lock file */
 | 
			
		||||
@@ -283,19 +291,21 @@ int _alpm_lckrm()
 | 
			
		||||
 * @param archive  the archive to unpack
 | 
			
		||||
 * @param prefix   where to extract the files
 | 
			
		||||
 * @param fn       a file within the archive to unpack or NULL for all
 | 
			
		||||
 * @return 0 on success, 1 on failure
 | 
			
		||||
 */
 | 
			
		||||
int _alpm_unpack(const char *archive, const char *prefix, const char *fn)
 | 
			
		||||
{
 | 
			
		||||
	int ret = 1;
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	mode_t oldmask;
 | 
			
		||||
	struct archive *_archive;
 | 
			
		||||
	struct archive_entry *entry;
 | 
			
		||||
	char expath[PATH_MAX];
 | 
			
		||||
	char cwd[PATH_MAX];
 | 
			
		||||
	int restore_cwd = 0;
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	if((_archive = archive_read_new()) == NULL)
 | 
			
		||||
		RET_ERR(PM_ERR_LIBARCHIVE, -1);
 | 
			
		||||
		RET_ERR(PM_ERR_LIBARCHIVE, 1);
 | 
			
		||||
 | 
			
		||||
	archive_read_support_compression_all(_archive);
 | 
			
		||||
	archive_read_support_format_all(_archive);
 | 
			
		||||
@@ -304,10 +314,25 @@ int _alpm_unpack(const char *archive, const char *prefix, const char *fn)
 | 
			
		||||
				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);
 | 
			
		||||
		RET_ERR(PM_ERR_PKG_OPEN, 1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	oldmask = umask(0022);
 | 
			
		||||
 | 
			
		||||
	/* save the cwd so we can restore it later */
 | 
			
		||||
	if(getcwd(cwd, PATH_MAX) == NULL) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not get current working directory\n"));
 | 
			
		||||
	} else {
 | 
			
		||||
		restore_cwd = 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* just in case our cwd was removed in the upgrade operation */
 | 
			
		||||
	if(chdir(prefix) != 0) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not change directory to %s (%s)\n"), prefix, strerror(errno));
 | 
			
		||||
		ret = 1;
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	while(archive_read_next_header(_archive, &entry) == ARCHIVE_OK) {
 | 
			
		||||
		const struct stat *st;
 | 
			
		||||
		const char *entryname; /* the name of the file in the archive */
 | 
			
		||||
@@ -316,9 +341,9 @@ int _alpm_unpack(const char *archive, const char *prefix, const char *fn)
 | 
			
		||||
		entryname = archive_entry_pathname(entry);
 | 
			
		||||
		
 | 
			
		||||
		if(S_ISREG(st->st_mode)) {
 | 
			
		||||
			archive_entry_set_mode(entry, 0644);
 | 
			
		||||
			archive_entry_set_perm(entry, 0644);
 | 
			
		||||
		} else if(S_ISDIR(st->st_mode)) {
 | 
			
		||||
			archive_entry_set_mode(entry, 0755);
 | 
			
		||||
			archive_entry_set_perm(entry, 0755);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/* If a specific file was requested skip entries that don't match. */
 | 
			
		||||
@@ -332,10 +357,6 @@ int _alpm_unpack(const char *archive, const char *prefix, const char *fn)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/* Extract the archive entry. */
 | 
			
		||||
		ret = 0;
 | 
			
		||||
		snprintf(expath, PATH_MAX, "%s/%s", prefix, entryname);
 | 
			
		||||
		archive_entry_set_pathname(entry, expath);
 | 
			
		||||
 | 
			
		||||
		int readret = archive_read_extract(_archive, entry, 0);
 | 
			
		||||
		if(readret == ARCHIVE_WARN) {
 | 
			
		||||
			/* operation succeeded but a non-critical error was encountered */
 | 
			
		||||
@@ -356,6 +377,9 @@ int _alpm_unpack(const char *archive, const char *prefix, const char *fn)
 | 
			
		||||
cleanup:
 | 
			
		||||
	umask(oldmask);
 | 
			
		||||
	archive_read_finish(_archive);
 | 
			
		||||
	if(restore_cwd) {
 | 
			
		||||
		chdir(cwd);
 | 
			
		||||
	}
 | 
			
		||||
	return(ret);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -401,12 +425,18 @@ int _alpm_rmrf(const char *path)
 | 
			
		||||
	return(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int _alpm_logaction(unsigned short usesyslog, FILE *f, const char *fmt, va_list args)
 | 
			
		||||
int _alpm_logaction(unsigned short usesyslog, FILE *f,
 | 
			
		||||
		const char *fmt, va_list args)
 | 
			
		||||
{
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
 | 
			
		||||
	if(usesyslog) {
 | 
			
		||||
		vsyslog(LOG_WARNING, fmt, args);
 | 
			
		||||
		/* we can't use a va_list more than once, so we need to copy it
 | 
			
		||||
		 * so we can use the original when calling vfprintf below. */
 | 
			
		||||
		va_list args_syslog;
 | 
			
		||||
		va_copy(args_syslog, args);
 | 
			
		||||
		vsyslog(LOG_WARNING, fmt, args_syslog);
 | 
			
		||||
		va_end(args_syslog);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(f) {
 | 
			
		||||
@@ -427,17 +457,112 @@ int _alpm_logaction(unsigned short usesyslog, FILE *f, const char *fmt, va_list
 | 
			
		||||
	return(ret);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int _alpm_run_chroot(const char *root, const char *cmd)
 | 
			
		||||
{
 | 
			
		||||
	char cwd[PATH_MAX];
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
	int restore_cwd = 0;
 | 
			
		||||
	int retval = 0;
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
 | 
			
		||||
	/* save the cwd so we can restore it later */
 | 
			
		||||
	if(getcwd(cwd, PATH_MAX) == NULL) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not get current working directory\n"));
 | 
			
		||||
	} else {
 | 
			
		||||
		restore_cwd = 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* just in case our cwd was removed in the upgrade operation */
 | 
			
		||||
	if(chdir(root) != 0) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not change directory to %s (%s)\n"), root, strerror(errno));
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "executing \"%s\" under chroot \"%s\"\n", cmd, root);
 | 
			
		||||
 | 
			
		||||
	/* Flush open fds before fork() to avoid cloning buffers */
 | 
			
		||||
	fflush(NULL);
 | 
			
		||||
 | 
			
		||||
	/* fork- parent and child each have seperate code blocks below */
 | 
			
		||||
	pid = fork();
 | 
			
		||||
	if(pid == -1) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("could not fork a new process (%s)\n"), strerror(errno));
 | 
			
		||||
		retval = 1;
 | 
			
		||||
		goto cleanup;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(pid == 0) {
 | 
			
		||||
		FILE *pipe;
 | 
			
		||||
		/* this code runs for the child only (the actual chroot/exec) */
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, "chrooting in %s\n", root);
 | 
			
		||||
		if(chroot(root) != 0) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("could not change the root directory (%s)\n"),
 | 
			
		||||
					strerror(errno));
 | 
			
		||||
			exit(1);
 | 
			
		||||
		}
 | 
			
		||||
		if(chdir("/") != 0) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("could not change directory to / (%s)\n"),
 | 
			
		||||
					strerror(errno));
 | 
			
		||||
			exit(1);
 | 
			
		||||
		}
 | 
			
		||||
		umask(0022);
 | 
			
		||||
		pipe = popen(cmd, "r");
 | 
			
		||||
		if(!pipe) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("call to popen failed (%s)"),
 | 
			
		||||
					strerror(errno));
 | 
			
		||||
			exit(1);
 | 
			
		||||
		}
 | 
			
		||||
		while(!feof(pipe)) {
 | 
			
		||||
			char line[PATH_MAX];
 | 
			
		||||
			if(fgets(line, PATH_MAX, pipe) == NULL)
 | 
			
		||||
				break;
 | 
			
		||||
			alpm_logaction("%s", line);
 | 
			
		||||
			EVENT(handle->trans, PM_TRANS_EVT_SCRIPTLET_INFO, line, NULL);
 | 
			
		||||
		}
 | 
			
		||||
		retval = pclose(pipe);
 | 
			
		||||
		exit(WEXITSTATUS(retval));
 | 
			
		||||
	} else {
 | 
			
		||||
		/* this code runs for the parent only (wait on the child) */
 | 
			
		||||
		pid_t retpid;
 | 
			
		||||
		int status;
 | 
			
		||||
		while((retpid = waitpid(pid, &status, 0)) == -1 && errno == EINTR);
 | 
			
		||||
		if(retpid == -1) {
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("call to waitpid failed (%s)\n"),
 | 
			
		||||
			          strerror(errno));
 | 
			
		||||
			retval = 1;
 | 
			
		||||
			goto cleanup;
 | 
			
		||||
		} else {
 | 
			
		||||
			/* check the return status, make sure it is 0 (success) */
 | 
			
		||||
			if(WIFEXITED(status)) {
 | 
			
		||||
				_alpm_log(PM_LOG_DEBUG, "call to waitpid succeeded\n");
 | 
			
		||||
				if(WEXITSTATUS(status) != 0) {
 | 
			
		||||
					_alpm_log(PM_LOG_ERROR, _("command failed to execute correctly\n"));
 | 
			
		||||
					retval = 1;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
cleanup:
 | 
			
		||||
	if(restore_cwd) {
 | 
			
		||||
		chdir(cwd);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return(retval);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int _alpm_ldconfig(const char *root)
 | 
			
		||||
{
 | 
			
		||||
	char line[PATH_MAX];
 | 
			
		||||
 | 
			
		||||
	_alpm_log(PM_LOG_DEBUG, "running ldconfig\n");
 | 
			
		||||
 | 
			
		||||
	snprintf(line, PATH_MAX, "%setc/ld.so.conf", root);
 | 
			
		||||
	if(access(line, F_OK) == 0) {
 | 
			
		||||
		snprintf(line, PATH_MAX, "%ssbin/ldconfig", root);
 | 
			
		||||
		if(access(line, X_OK) == 0) {
 | 
			
		||||
			char cmd[PATH_MAX];
 | 
			
		||||
			snprintf(cmd, PATH_MAX, "%s -r %s", line, root);
 | 
			
		||||
			system(cmd);
 | 
			
		||||
			_alpm_run_chroot(root, "ldconfig");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -539,7 +664,7 @@ int _alpm_lstat(const char *path, struct stat *buf)
 | 
			
		||||
 * @return the checksum on success, NULL on error
 | 
			
		||||
 * @addtogroup alpm_misc
 | 
			
		||||
 */
 | 
			
		||||
char SYMEXPORT *alpm_get_md5sum(const char *filename)
 | 
			
		||||
char SYMEXPORT *alpm_compute_md5sum(const char *filename)
 | 
			
		||||
{
 | 
			
		||||
	unsigned char output[16];
 | 
			
		||||
	char *md5sum;
 | 
			
		||||
@@ -573,7 +698,7 @@ int _alpm_test_md5sum(const char *filepath, const char *md5sum)
 | 
			
		||||
	char *md5sum2;
 | 
			
		||||
	int ret;
 | 
			
		||||
 | 
			
		||||
	md5sum2 = alpm_get_md5sum(filepath);
 | 
			
		||||
	md5sum2 = alpm_compute_md5sum(filepath);
 | 
			
		||||
 | 
			
		||||
	if(md5sum == NULL || md5sum2 == NULL) {
 | 
			
		||||
		ret = -1;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  util.h
 | 
			
		||||
 *
 | 
			
		||||
 *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
 | 
			
		||||
 *  Copyright (c) 2006-2009 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>
 | 
			
		||||
@@ -65,6 +66,7 @@ int _alpm_lckrm();
 | 
			
		||||
int _alpm_unpack(const char *archive, const char *prefix, const char *fn);
 | 
			
		||||
int _alpm_rmrf(const char *path);
 | 
			
		||||
int _alpm_logaction(unsigned short usesyslog, FILE *f, const char *fmt, va_list args);
 | 
			
		||||
int _alpm_run_chroot(const char *root, const char *cmd);
 | 
			
		||||
int _alpm_ldconfig(const char *root);
 | 
			
		||||
int _alpm_str_cmp(const void *s1, const void *s2);
 | 
			
		||||
char *_alpm_filecache_find(const char *filename);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
SUBDIRS = tests
 | 
			
		||||
 | 
			
		||||
check_SCRIPTS = \
 | 
			
		||||
	pactest.py \
 | 
			
		||||
	pmdb.py \
 | 
			
		||||
@@ -7,7 +9,6 @@ check_SCRIPTS = \
 | 
			
		||||
	pmrule.py \
 | 
			
		||||
	pmtest.py \
 | 
			
		||||
	util.py \
 | 
			
		||||
	$(wildcard tests/*.py) \
 | 
			
		||||
	vercmptest.sh
 | 
			
		||||
 | 
			
		||||
noinst_SCRIPTS = $(check_SCRIPTS)
 | 
			
		||||
 
 | 
			
		||||
@@ -70,12 +70,12 @@ Usage
 | 
			
		||||
pactest will run the suite of tests defined by the "--test" parameter.
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
	./pactest.py --test=test/*
 | 
			
		||||
	./pactest.py --test tests/*.py
 | 
			
		||||
 | 
			
		||||
This example will run tests from the "test" directory.
 | 
			
		||||
This example will run all tests from the "tests" directory.
 | 
			
		||||
Note: several "--test" options can be passed to pactest.
 | 
			
		||||
 | 
			
		||||
Use the ""help" option to get the full list of parameters:
 | 
			
		||||
Use the "help" option to get the full list of parameters:
 | 
			
		||||
	./pactest.py --help
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -103,15 +103,22 @@ Example:
 | 
			
		||||
	------
 | 
			
		||||
 | 
			
		||||
A dictionary that holds the data used in the pacman configuration file.
 | 
			
		||||
It has 3 keys, each one of them pointing at a list of strings:
 | 
			
		||||
  - noupgrade
 | 
			
		||||
  - noextract
 | 
			
		||||
  - ignorepkg
 | 
			
		||||
The following options are known to be useful in pactest tests; this list
 | 
			
		||||
is not necessarily complete:
 | 
			
		||||
  - HoldPkg
 | 
			
		||||
  - IgnorePkg
 | 
			
		||||
  - IgnoreGroup
 | 
			
		||||
  - SyncFirst
 | 
			
		||||
  - NoExtract
 | 
			
		||||
  - NoUpgrade
 | 
			
		||||
  - XferCommand
 | 
			
		||||
 | 
			
		||||
For documentation on these options, see the pacman.conf documentation.
 | 
			
		||||
 | 
			
		||||
Examples:
 | 
			
		||||
	self.option["noupgrade"] = ["etc/X11/xorg.conf",
 | 
			
		||||
	self.option["NoUpgrade"] = ["etc/X11/xorg.conf",
 | 
			
		||||
	                            "etc/pacman.conf"]
 | 
			
		||||
	self.option["noextract"] = ["etc/lilo.conf"]
 | 
			
		||||
	self.option["NoExtract"] = ["etc/lilo.conf"]
 | 
			
		||||
 | 
			
		||||
	filesystem
 | 
			
		||||
	----------
 | 
			
		||||
 
 | 
			
		||||
@@ -71,9 +71,11 @@ class pmenv:
 | 
			
		||||
            t.generate()
 | 
			
		||||
            # Hack for mtimes consistency
 | 
			
		||||
            for i in t.rules:
 | 
			
		||||
                if i.rule.find("MODIFIED") != -1:
 | 
			
		||||
                    time.sleep(1.5)
 | 
			
		||||
                    break
 | 
			
		||||
                if i.rule.find("FILE_MODIFIED") != -1:
 | 
			
		||||
                    [test, arg] = i.rule.split("=")
 | 
			
		||||
                    for f in t.files:
 | 
			
		||||
                        if f.name == arg:
 | 
			
		||||
                            f.resettimes()
 | 
			
		||||
 | 
			
		||||
            t.run(self.pacman)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,14 @@ class pmfile:
 | 
			
		||||
 | 
			
		||||
        return retval
 | 
			
		||||
 | 
			
		||||
    def resettimes(self):
 | 
			
		||||
        """
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        filename = os.path.join(self.root, self.name)
 | 
			
		||||
        os.utime(filename, (355, 355))
 | 
			
		||||
        self.mtime = getmtime(filename)
 | 
			
		||||
        vprint("\tmtime reset (%s)" % self.name)
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    f = pmfile("/tmp", "foobar")
 | 
			
		||||
 
 | 
			
		||||
@@ -116,9 +116,12 @@ class pmrule:
 | 
			
		||||
                        if not f.ismodified():
 | 
			
		||||
                            success = 0
 | 
			
		||||
            elif case == "MODE":
 | 
			
		||||
                mode = os.lstat(filename)[ST_MODE]
 | 
			
		||||
                if int(value,8) != S_IMODE(mode):
 | 
			
		||||
                if not os.path.isfile(filename):
 | 
			
		||||
                    success = 0
 | 
			
		||||
                else:
 | 
			
		||||
                    mode = os.lstat(filename)[ST_MODE]
 | 
			
		||||
                    if int(value,8) != S_IMODE(mode):
 | 
			
		||||
                        success = 0
 | 
			
		||||
            elif case == "TYPE":
 | 
			
		||||
                if value == "dir":
 | 
			
		||||
                    if not os.path.isdir(filename):
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user