Compare commits

..

55 Commits

Author SHA1 Message Date
Dan McGee
8ded60326a Updates before 3.1.2 release
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-20 19:02:51 -06:00
Mark Constable
420c8846b9 Fix two missing BUILDSCRIPT variables in makepkg.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-20 18:50:56 -06:00
Chantry Xavier
7879e4bef7 Lock the database on -Sc operation.
This partly fixes FS#9609.

Weird things could happen when running -Sc while another instance was
already running. The cleancache function could delete packages that were
just being downloaded.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-19 22:08:06 -06:00
Chantry Xavier
6f3949e3da Add new sync_trans_init and sync_trans_release.
Factorize these two functions to avoid code duplication, especially since
they could be used for locking the database during -Sc and -Sy operation
too.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-19 22:07:44 -06:00
Fernando Lagos
2b3a85dc4a More small updates to Spanish translation
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
2008-02-19 22:05:37 -06:00
Dan McGee
fc9d12bef0 When cleaning DBs, only look at directories
FS#9609 brought up an interesting issue where a user was prompted to remove
db.lck when running a -Sc operation concurrently with an -Syu operation
during a long download. Although there are other problems here, this fixes
the issue where files other than directories could be considered to be
databases. Fix this.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-19 08:47:05 -06:00
Mateusz Herych
5676dbae4d Final updates to Polish translation
Good job on the group effort guys, thanks for getting this one complete.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-19 08:41:05 -06:00
Vitaly Dolgov
81db1847c9 Update pacman Russian translation.
Cleaned up by Oleg Finkelshteyn.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-18 13:15:35 -06:00
Sergey Tereschenko
848edb2f38 Update libalpm russian translation.
Cleaned up by Oleg Finkelshteyn.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-18 12:53:30 -06:00
Allan McRae
b091ccc400 Do not warn about up to date package when downloading only
Stops the "<pkg> is up to date -- reinstalling" message when using the
download only flag.
Ref: http://archlinux.org/pipermail/pacman-dev/2008-January/010952.html

Signed-off-by: Allan McRae <mcrae_allan@hotmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-18 00:18:43 -06:00
Владимир Байраковский
4ac9b2eb06 Updates to Russian translation
Note that it still is not complete.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-17 23:58:22 -06:00
Dan McGee
3559306546 scripts: allow usage when gettext is not installed
Address the issue of our scripts not working so great when gettext is not
available. This has come up in multiple bug reports, and is relatively easy
to address by adding a simple check and a stub function if gettext was not
found that simply echos the original message.

Addresses concerns from FS#9214 and FS#9607.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-17 21:25:41 -06:00
Chantry Xavier
2374c81e55 Fix conflict progress bar with UTF-8 chars
This fixes FS#6437. Dan already explained the problem in that bug report.

Instead of letting printf deal with the length of utf8 strings, we can
handle it more explicitly in the case of conflict progress bar, just like we
do for add/remove progress bars. We compute the remaining space left for
displaying the pkgname in case of add/remove, and an empty string in case of
conflict.

Before :
(1/1) Prüfe auf Dateikonflikte                 [###################] 100%
(1/1) Aktualisiere rxvt-unicode                 [###################] 100%
After :
(1/1) Prüfe auf Dateikonflikte                  [###################] 100%
(1/1) Aktualisiere rxvt-unicode                 [###################] 100%

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-17 20:41:23 -06:00
Dan McGee
42f5579fd7 Remove reference to gnome in DOC_DIRS
Arch no longer installs Gnome here, and we should be stripping any doc dirs
in /opt anyway, so generalize it. Fixes FS#9597.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-17 20:40:47 -06:00
Juan Pablo Gonzalez
3078494767 Updated Spanish translation for 3.1.2 release
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
2008-02-17 13:59:50 -06:00
Dan McGee
273950473e Add gettext call to 2 'failed' messages
Noticed-by: Vojtěch Gondžala <vogo@seznam.cz>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-16 17:44:21 -06:00
Matthias Gorissen
be95e4d8a0 More small updates to German translation
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-15 16:07:28 -06:00
Jaroslaw Swierczynski
fe4e07bd2f Update Polish translation
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-15 15:58:26 -06:00
Dan McGee
59a6b519da Merge branch 'translations' into maint 2008-02-14 21:22:27 -06:00
Benjamin Andresen
2b0c89b06a Update German translation
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-14 21:19:37 -06:00
João Felipe Santos
0f74ae0885 Updated Brazilian Portuguese translation for 3.1.2 release
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
2008-02-15 01:27:15 +01:00
Dan McGee
b206aaee88 Ensure DESC infolevel is loaded before checking pkg->filename
This is the first step of fixing FS#9547. This should not break any existing
code that may rely on this function behaving the way it did, and should be
good for inclusion in a maint release.

In addition, update pactest so it fills the FILENAME field in the DB entries
it creates so we can move forward with a real fix to this issue.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-13 22:52:53 -06:00
Nagy Gabor
141e569840 Updated Hungarian translation for 3.1.2 release
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
2008-02-12 23:26:43 +01:00
Vojtěch Gondžala
706c690b64 Updated Czech translation for 3.1.2 release
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
2008-02-12 23:05:33 +01:00
Jeff Bailes
ccc57de6b6 Updated English translation for 3.1.2 release
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
2008-02-12 12:18:46 +01:00
Chantry Xavier
279fbc44b1 Update french translation.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
2008-02-12 12:17:20 +01:00
Giovanni Scafora
69188d75fb Updated Italian translation for 3.1.2 release
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
2008-02-12 12:15:36 +01:00
Dan McGee
e8d665fbf7 Update translation files in prep for 3.1.2 release
For 7 message changes, this commit is far too large...

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-11 20:52:50 -06:00
Dan McGee
f4ac63ab43 Update NEWS in prep for 3.1.2 release
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-11 20:44:16 -06:00
Dan McGee
8068a14c52 setlibpaths(): remove a stray set_option line
For some reason, we set our dbpath to the logfile path, which was completely
broken, and we didn't even check the return value coming back (which of
course was -1 meaning the set failed). Add some comments so people can
understand what is going on here now too.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-11 20:40:44 -06:00
Dan McGee
9bf487b2ff Move some translations to their generic language code
For our Czech, Polish, and Russian translations, they do not need to be at
the more specific 'lang_COUNTRY' code, but can live at just plain 'lang'.
This follows the pattern of most other translated programs out there as
Roman pointed out on IRC.

ru_RU: 2 (pacman and libalpm)
ru: 128 for him, 131 for me (everything else)

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-11 20:40:44 -06:00
Dan McGee
fbf3beb8d2 ensure chk_fileconflicts reads entire file list
If the end of the pB list was reached before the end of pA, we failed to
read any remaining files from the pA list. Add an additional loop to ensure
all entries of pA are added to the return list regardless of whether we have
reached the end of pB.

This new loop also eliminates the now-unnecessary check for a null pB, as we
need to ensure we are excluding directories in the resulting output anyway.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-11 20:40:43 -06:00
Nagy Gabor
7586072beb Fixes file relocation pactests
This patch fixes upgrade040.py and upgrade041.py (041 now fails!):
* the old pactests didn't check the existence of the relocated file
* upgrade041.py was broken due to a typo (missing comma)

New upgrade046.py pactest was added (derived from the fixed upgrade041.py).
This fails because the file relocation check is _hacked_ to conflict.c, and
_alpm_db_find_fileconflicts is not called in case of --force.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-11 20:40:43 -06:00
Chantry Xavier
17180890a5 makepkg : set sane umask before source extraction.
This fixes FS#9242 and FS#9362.

Set umask before the sources are extracted, and after the /etc/profile.d/*
files are sourced in handledeps.
This sourcing of profile.d files is why umask was moved to the build
function in the first place, as can be seen in commit ac965ed401.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-11 20:40:43 -06:00
Dan McGee
14ee1be1ef makepkg: do a quick check for the VCS binaries
Fixes FS#9230. Ensure we have the VCS binaries available when doing the
development version number checking.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-07 20:09:59 -06:00
Dan McGee
11fe18479e pactest: make more resiliant to missing files
Add a bunch of guards around function calls like open() and stat() to ensure
we are not going to get ourselves a python error. This made implementing and
testing the new upgrade045 pactest much easier, as its whole purpose was to
create a dead symlink and debug a segfault of pacman (which caused no DB
entries to be written) to support the previously checked in fix for FS#9235
(commit 0c2206f542). Both of these cases are
now non-fatal in pactest.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-07 19:36:17 -06:00
Chantry Xavier
0c2206f542 libalpm/add.c : safety check for fixing FS#9235.
Fixes FS#9235.

We already had the following case in extract_single_file :
/* cases 1,2,3: couldn't stat an existing file, skip all backup checks */

But we actually only did a lstat here. And if lstat worked, we did a stat
without checking.
When lstat works and stat fails, it means we have a broken symlink, like in
FS#9235. We can actually treat this case like a non-existing file.
The broken symlink will then be simply overwritten.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-07 14:58:23 +01:00
Chantry Xavier
b29838c825 Don't follow symlinks with -Qo.
Fixes FS#9473 and the issue reported there :
http://www.archlinux.org/pipermail/pacman-dev/2008-February/011061.html

Only the dirname should be resolved, not the basename.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-05 19:19:17 -06:00
Dan McGee
7d7a337912 pacman/util.c: add mdirname function
This function mirrors mbasename and will be used by the 'owns' machinery.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-05 19:18:44 -06:00
Dan McGee
a7a9f37561 doc/makepkg: document --log, address locale issues
Looks like no one ever documented -L/--log, so do that now. In addition,
address some of the issues brought up in FS#9156 and add a note about build
output and logs being in the current locale.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-05 18:23:18 -06:00
Chantry Xavier
7069b96173 Add new ChangeLog.proto file.
Fixes FS#7231.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-05 18:01:02 -06:00
Chantry Xavier
69bc5ea5e2 add 'force' to PKGINFO, have repo-add respect it.
Ref: http://www.archlinux.org/pipermail/pacman-dev/2008-January/011023.html
Also see FS#9347 and FS#9349.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02 18:55:40 -06:00
Chantry Xavier
96ee1bca24 Clarify the "failed to add target" errors.
Make the error message printed when addtarget fails consistent between
add.c, remove.c and sync.c.

The main problem was that the "failed to add target" in case of a removal
operation could sound confusing.  There was also a little output problem
with -U ("failed" was missing).

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02 18:55:24 -06:00
Chantry Xavier
37bb99abfa repo-remove: print an error in case of an empty db
When removing the last packages from a database, repo-remove silently
failed. Now an error is printed.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02 18:52:37 -06:00
Dan McGee
7786bf6024 Add deprecation warnings to gensync and updatesync
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02 13:57:15 -06:00
Roman Kyrylych
7cfb343b0f Remove /bin/true from install.proto
Signed-off-by: Roman Kyrylych <roman@archlinux.org>
[Dan: update indentation inside functions]
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02 13:33:50 -06:00
Alex Merry
b1103a3eaf updatesync: incorrect package deletion logic
Fixes FS#9279.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02 10:09:06 -06:00
Dan McGee
c028014f96 makepkg: ensure binaries in /opt/* are stripped
The path selection for stripping binaries was slightly off, so any binaries
in subdirectories of opt/ were missed. Fixes FS#9342.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27 21:07:44 -06:00
Chantry Xavier
0775c38e72 Clarify the "cancel current operation" message.
Fixes FS#9295.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
[Dan: 'new pacman' -> 'new pacman version']
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27 11:50:30 -06:00
Chantry Xavier
f950c26307 makepkg : improve determination of svn revision.
The previous sed command matched every line starting with r.
For example, with mpd-svn package in aur, the svn log output was rather big,
and there were several lines starting with r (the actual revision : r7155,
but also other lines starting with reverting and run), so this broke makepkg:

> makepkg
==> Determining latest svn revision...
  -> Version found: 7155
everting
un
sed: -e expression #1, char 27: unterminated `s' command

To make the sed command more bullet proof, I added the -q option of svn log,
which produces a quieter output, without the log.
And I changed the sed command to only match numbers for the revision.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27 11:49:24 -06:00
Dan McGee
11692e0eef doc/makepkg.8: add missing '-' to manpage option
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-24 22:26:58 -06:00
Chantry Xavier
bba62655fe two string fixes.
* added a newline to a conflict message in add.c
* removed the trailing dot in a replace message in callback.c.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-01-20 14:30:33 -06:00
Chantry Xavier
73ee64d49f workaround for a gettext string starting with --.
Workaround found in Advanced Bash-Scripting Guide, localization section.
"added a \0 (NULL) at the beginning of the sentence."

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-01-20 14:30:26 -06:00
Dan McGee
ba7687f58e Remove frontend translation of "debug:" message
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-20 12:32:44 -06:00
Dan McGee
003adb7646 makepkg: add check to ensure we have non-URL files in build dir
Pacman 3.0 printed the following message if a file could not be found:
  ERROR: xxx was not found in the build directory and is not a proper URL.

We lost this logic in 3.1 when moving to the DLAGENT type stuff, so a
not-found file got passed all the way to the download logic where it failed
with a odd error message. Bring back some logic to ensure only files with
URLs get past a certain point, and fail if the file is not available.

Fixes FS#9208.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-20 12:32:37 -06:00
52 changed files with 5916 additions and 5750 deletions

16
ChangeLog.proto Normal file
View File

@@ -0,0 +1,16 @@
2007-12-01 Your Name <youremail@domain.com>
* pkgver-pkgrel :
new upstream release.
Reason we changed stuff.
Another reason we changed stuff.
* gcc-4.1.patch :
Removed, no longer needed.
2007-11-01 Your Name <youremail@domain.com>
* 1.0-5 :
added ChangeLog.
the last line should end with just one newline.
you can cat the file to check it displays fine.

View File

@@ -9,7 +9,7 @@ EXTRA_DIST = HACKING
# Sample makepkg prototype files
pkgdatadir = ${datadir}/${PACKAGE}
dist_pkgdata_DATA = PKGBUILD.proto proto.install
dist_pkgdata_DATA = PKGBUILD.proto proto.install ChangeLog.proto
# run the pactest test suite
check-local: src/pacman

17
NEWS
View File

@@ -1,5 +1,22 @@
VERSION DESCRIPTION
-----------------------------------------------------------------------------
3.1.2 - updates to proto.install, add ChangeLog.proto (FS#7231)
- add 'force' option to packages, and have repo-add respect it
- mark gensync and updatesync as deprecated
- fix pacman -Qo behavior on symlinks (FS#9473)
- fix segfault on a broken symlinks in backup code (FS#9235)
- ensure filename is determined correctly for a pkg (FS#9547)
- fix conflict progress bar with UTF-8 chars (FS#6437)
- fix chk_fileconflicts brokenness, ensure it reads entire list
- ensure -Sc operation locks DB, only checks DBs (FS#9609)
- minor documentation and message updates
- moved some translations to their more generic lang codes
- allow scripts to be run without gettext installed
- makepkg:
- check to ensure we have non-URL sources (FS#9208)
- ensure we strip binaries in /opt/ dirs (FS#9342)
- check for VCS executable before using (FS#9230)
- set sane umask before source extraction (FS#9242, FS#9362)
3.1.1 - fix versioned provisions handling- use '=' instead of ' ' which
differs from original spec but better in long run (FS#9171)
- rename query --orphans to --unrequired (FS#9144)

View File

@@ -12,7 +12,7 @@ your language to the mix.
* indicates the last active translator.
Czech (cs_CZ):
Czech (cs):
* Vojtěch Gondžala <vogo@seznam.cz>
German (de):
* Matthias Gorissen <matthias@archlinux.de>
@@ -30,7 +30,7 @@ Italian (it):
* Giovanni 'voidnull' Scafora <linuxmania@gmail.com>
Alessio 'mOLOk' Bolognino <themolok@gmail.com>
Lorenzo '^zanDarK' Masini <lorenxo86@gmail.com>
Polish (pl_PL):
Polish (pl):
* Mateusz Jędrasik <m.jedrasik@gmail.com>
Brazilian Portuguese (pt_BR):
* João Felipe Santos <joao.eel@gmail.com>
@@ -38,6 +38,6 @@ Brazilian Portuguese (pt_BR):
Hugo Doria <hugodoria@archlinux-br.org>
Lincoln de Sousa <lincoln@archlinux-br.org>
Leandro Inácio <leandro@archlinux-br.org>
Russian (ru_RU):
Russian (ru):
Vladimir Bayrakovskiy <4rayven@gmail.com>

View File

@@ -46,13 +46,13 @@ AC_PREREQ(2.60)
# For code under development: [devel]
# For production releases: []
m4_define([lib_current], [3])
m4_define([lib_current], [4])
m4_define([lib_revision], [0])
m4_define([lib_age], [1])
m4_define([lib_age], [2])
m4_define([pacman_version_major], [3])
m4_define([pacman_version_minor], [1])
m4_define([pacman_version_micro], [1])
m4_define([pacman_version_micro], [2])
m4_define([pacman_version_suffix], [])
m4_define([pacman_version],
[pacman_version_major.pacman_version_minor.pacman_version_micro])

View File

@@ -28,6 +28,11 @@ build the package, install the package into a temporary root, make
customizations, generate meta-info, and package the whole thing up for pacman
to use.
NOTE: makepkg uses your current locale by default and does not unset it when
building packages. If you wish to share your build output with others when
seeking help or for other purposes, you may wish to run "`LC_ALL=C makepkg`" so
your logs and output are not localized.
Options
-------
*\--asroot*::
@@ -73,7 +78,7 @@ Options
default to the current directory. This allows the built package to be
overwritten.
*-forcever*::
*--forcever*::
This is a hidden option that should *not* be used unless you really know
what you are doing. makepkg uses this internally when calling itself to
set the new development pkgver of the package.
@@ -83,7 +88,7 @@ Options
if required and generate integrity checks. The integrity checks
generated are determined by the value of the INTEGRITY_CHECK array in
linkman:makepkg.conf[5]. This output can be redirected into your
PKGBUILD for source validation (`makepkg -g >> PKGBUILD`).
PKGBUILD for source validation using "`makepkg -g >> PKGBUILD`".
*-h, \--help*::
Output syntax and command line options.
@@ -97,6 +102,13 @@ Options
Install or upgrade the package after a successful build using
linkman:pacman[8].
*-L, \--log*::
Enable makepkg build logging. This will use the *tee* program to send
output of the `build()` function to both the console and to a text file in
the build directory named `pkgname-pkgver-pkgrel-arch.log`. As mentioned
above, the build log will be localized so you may want to set your locale
accordingly if sharing the log output with others.
*-m, \--nocolor*::
Disable color in output messages.

View File

@@ -71,7 +71,7 @@ OPTIONS=(strip !docs libtool emptydirs)
#-- 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/gnome/{,share/}{info,doc,gtk-doc})
DOC_DIRS=(usr/{,share/}{info,doc,gtk-doc} opt/*/{info,doc,gtk-doc})
#########################################################################
# PACKAGE OUTPUT

View File

@@ -361,14 +361,12 @@ static int extract_single_file(struct archive *archive,
* links, etc.
* 12- skip extraction, dir already exists.
*/
struct stat lsbuf;
if(_alpm_lstat(filename, &lsbuf) != 0) {
/* do both a lstat and a stat, so we can see what symlinks point to */
struct stat lsbuf, sbuf;
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 {
/* do a stat as well, so we can see what symlinks point to */
struct stat sbuf;
stat(filename, &sbuf);
if(S_ISDIR(lsbuf.st_mode) && S_ISDIR(entrymode)) {
/* case 12: existing dir, ignore it */
if(lsbuf.st_mode != entrymode) {

View File

@@ -297,10 +297,6 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
}
_alpm_strtrim(line);
if(!strcmp(line, "%FILENAME%")) {
/* filename is _new_ - it provides the real name of the package, on the
* server, to allow for us to not tie the name of the actual file to the
* data of the package
*/
if(fgets(info->filename, sizeof(info->filename), fp) == NULL) {
goto error;
}

View File

@@ -251,10 +251,7 @@ static alpm_list_t *chk_filedifference(alpm_list_t *filesA, alpm_list_t *filesB)
alpm_list_t *ret = NULL;
alpm_list_t *pA = filesA, *pB = filesB;
if(pB == NULL) {
return(alpm_list_strdup(pA));
}
/* if both filesA and filesB have entries, do this loop */
while(pA && pB) {
const char *strA = pA->data;
const char *strB = pB->data;
@@ -279,6 +276,15 @@ static alpm_list_t *chk_filedifference(alpm_list_t *filesA, alpm_list_t *filesB)
}
}
}
/* ensure we have completely emptied pA */
while(pA) {
const char *strA = pA->data;
/* skip directories */
if(strA[strlen(strA)-1] != '/') {
ret = alpm_list_add(ret, strdup(strA));
}
pA = pA->next;
}
return(ret);
}

View File

@@ -162,11 +162,12 @@ const char SYMEXPORT *alpm_pkg_get_filename(pmpkg_t *pkg)
ASSERT(handle != NULL, return(NULL));
ASSERT(pkg != NULL, return(NULL));
if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
_alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
}
if(!strlen(pkg->filename)) {
/* construct the file name, it's not in the desc file */
if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
_alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
}
if(pkg->arch && strlen(pkg->arch) > 0) {
snprintf(pkg->filename, PKG_FILENAME_LEN, "%s-%s-%s" PKGEXT,
pkg->name, pkg->version, pkg->arch);

View File

@@ -1,11 +1,11 @@
# Set of available languages.
cs_CZ
cs
de
en_GB
es
fr
hu
it
pl_PL
pl
pt_BR
ru_RU
ru

View File

@@ -1,14 +1,14 @@
# translation of cs_CZ.po to Čeština
# translation of cs.po to Čeština
# Copyright (C) YEAR Judd Vinet <jvinet@zeroflux.org>
# This file is distributed under the same license as the PACKAGE package.
#
# Vojtěch Gondžala <vogo@seznam.cz>, 2007, 2008.
msgid ""
msgstr ""
"Project-Id-Version: cs_CZ\n"
"Project-Id-Version: cs\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
"POT-Creation-Date: 2008-01-14 23:08-0600\n"
"PO-Revision-Date: 2008-01-15 21:56+0100\n"
"PO-Revision-Date: 2008-02-12 09:28+0100\n"
"Last-Translator: Vojtěch Gondžala <vogo@seznam.cz>\n"
"Language-Team: Čeština\n"
"MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@ msgstr "v seznamu cílů byly nalezeny konfliktní balíčky\n"
#: lib/libalpm/add.c:167
msgid "you cannot install two conflicting packages at the same time\n"
msgstr "nemůžete instalovat dva konfliktní balíčky současně\n"
msgstr "nemůžete instalovat dva konfliktní balíčky společně\n"
#: lib/libalpm/add.c:170
msgid "replacing packages with -A and -U is not supported yet\n"
@@ -48,7 +48,7 @@ msgid ""
"directory permissions differ on %s\n"
"filesystem: %o package: %o\n"
msgstr ""
"přístupová práva adresáře v %s se liší\n"
"přístupová práva adresáře %s se neshodují\n"
"souborový systém: %o balíček: %o\n"
#: lib/libalpm/add.c:404
@@ -64,12 +64,12 @@ msgstr "rozbalení: nepřepisuji adresář souborem %s\n"
#: lib/libalpm/add.c:466 lib/libalpm/add.c:610 lib/libalpm/util.c:428
#, c-format
msgid "could not extract %s (%s)\n"
msgstr "%s nelze rozbalit (%s)\n"
msgstr "nelze rozbalit %s (%s)\n"
#: lib/libalpm/add.c:517
#, c-format
msgid "could not rename %s (%s)\n"
msgstr "%s nelze přejmenovat (%s)\n"
msgstr "nelze přejmenovat %s (%s)\n"
#: lib/libalpm/add.c:524 lib/libalpm/add.c:544 lib/libalpm/trans.c:508
#, c-format
@@ -84,7 +84,7 @@ msgstr "%s uložen jako %s\n"
#: lib/libalpm/add.c:568
#, c-format
msgid "could not install %s as %s: %s\n"
msgstr "%s nelze nainstalovat jako %s: %s\n"
msgstr "nelze nainstalovat %s jako %s: %s\n"
#: lib/libalpm/add.c:571
#, c-format
@@ -94,7 +94,7 @@ msgstr "%s nainstalován jako %s\n"
#: lib/libalpm/add.c:588
#, c-format
msgid "extracting %s as %s.pacnew\n"
msgstr "%s rozbaluji jako %s.pacnew\n"
msgstr "rozbaluji %s jako %s.pacnew\n"
#: lib/libalpm/add.c:723 lib/libalpm/trans.c:526
msgid "could not get current working directory\n"
@@ -103,12 +103,12 @@ msgstr "nelze určit aktuální pracovní adresář\n"
#: lib/libalpm/add.c:777
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "při aktualizaci %s nastal problém\n"
msgstr "nastal problém při aktualizaci %s\n"
#: lib/libalpm/add.c:782
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "při instalaci %s nastal problém\n"
msgstr "nastal problém při instalaci %s\n"
#: lib/libalpm/add.c:797
#, c-format
@@ -118,7 +118,7 @@ msgstr "nelze aktualizovat záznam databáze %s-%s\n"
#: lib/libalpm/add.c:805
#, c-format
msgid "could not add entry '%s' in cache\n"
msgstr "nelze přidat položku '%s' do keše\n"
msgstr "nelze přidat položku '%s' do cache\n"
#: lib/libalpm/be_files.c:221
#, c-format
@@ -163,7 +163,7 @@ msgstr "%s bude nainstalován před %s, na kterém závisí\n"
#: lib/libalpm/deps.c:588
#, c-format
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
msgstr "nemohu získat \"%s\", závislost \"%s\"\n"
msgstr "nemohu vyřešit \"%s\", závislost \"%s\"\n"
#: lib/libalpm/error.c:41
msgid "out of memory!"
@@ -227,11 +227,11 @@ msgstr "nelze aktualizovat databázi"
#: lib/libalpm/error.c:73
msgid "could not remove database entry"
msgstr "nelze odstranit položku databáze"
msgstr "nelze odstranit záznam v databázi"
#: lib/libalpm/error.c:76
msgid "invalid url for server"
msgstr "nesprávná URL pro server"
msgstr "nesprávná url pro server"
#: lib/libalpm/error.c:83
msgid "could not set parameter"
@@ -311,11 +311,11 @@ msgstr "není žádný takový repositář"
#: lib/libalpm/error.c:126
msgid "corrupted delta"
msgstr "poškozený rozdíl"
msgstr "poškozený delta rozdíl"
#: lib/libalpm/error.c:128
msgid "delta patch failed"
msgstr "rozdílový patch selhal"
msgstr "aplikace delta rozdílu selhala"
#: lib/libalpm/error.c:131
msgid "group not found"
@@ -355,7 +355,7 @@ msgstr "nesprávný regulární výraz"
#: lib/libalpm/error.c:153
msgid "connection to remote host failed"
msgstr "spojení ke vzdálenému hostiteli selhalo"
msgstr "spojení se vzdáleným hostitelem selhalo"
#: lib/libalpm/error.c:156
msgid "unexpected error"
@@ -364,12 +364,12 @@ msgstr "neočekávaná chyba"
#: lib/libalpm/package.c:122
#, c-format
msgid "could not get md5sum for package %s-%s\n"
msgstr "nelze zjistit MD5 kontrolní součet balíčku %s-%s\n"
msgstr "nelze zjistit md5 kontrolní součet balíčku %s-%s\n"
#: lib/libalpm/package.c:131
#, c-format
msgid "md5sums do not match for package %s-%s\n"
msgstr "MD5 kontrolní součet balíčku %s-%s nesouhlasí\n"
msgstr "md5 kontrolní součet balíčku %s-%s nesouhlasí\n"
#: lib/libalpm/package.c:844
#, c-format
@@ -389,7 +389,7 @@ msgstr "nelze získat soubor s popisem balíčku k %s\n"
#: lib/libalpm/package.c:1033
#, c-format
msgid "could not parse package description file in %s\n"
msgstr "nelze získat soubor s popisem balíčku z %s\n"
msgstr "nelze zpracovat soubor s popisem balíčku v %s\n"
#: lib/libalpm/package.c:1038
#, c-format
@@ -429,16 +429,16 @@ msgstr "nelze odstranit záznam databáze %s-%s\n"
#: lib/libalpm/remove.c:346
#, c-format
msgid "could not remove entry '%s' from cache\n"
msgstr "nelze odstranit položku '%s' z keše\n"
msgstr "nelze odstranit položku '%s' z cache\n"
#: lib/libalpm/server.c:54
#, c-format
msgid "url '%s' is invalid, ignoring\n"
msgstr "URL '%s' je chybná, ignoruji\n"
msgstr "url '%s' je chybná, ignoruji\n"
#: lib/libalpm/server.c:58
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ám http\n"
#: lib/libalpm/server.c:239
msgid "disk"
@@ -447,7 +447,7 @@ msgstr "disk"
#: lib/libalpm/server.c:243
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "selhalo získání souboru '%s' z %s: %s\n"
msgstr "selhalo získání souboru '%s' z %s: %s\n"
#: lib/libalpm/server.c:273
msgid "cannot resume download, starting over\n"
@@ -479,7 +479,7 @@ msgstr "spouštím XferCommand: větvení selhalo!\n"
#: lib/libalpm/server.c:443
msgid "URL does not contain a file for download\n"
msgstr "URL neobsahuje stahovaný soubor\n"
msgstr "URL neobsahuje soubor pro stažení\n"
#: lib/libalpm/server.c:456
#, c-format
@@ -513,7 +513,7 @@ msgstr "%s-%s je aktuální -- přeinstalovávám\n"
#: lib/libalpm/sync.c:596 lib/libalpm/sync.c:601
msgid "unresolvable package conflicts detected\n"
msgstr "zjištěn nerozlišitelný konflikt balíčků\n"
msgstr "zjištěn konflikt nerozlišitelných balíčků\n"
#: lib/libalpm/sync.c:611
#, c-format
@@ -528,7 +528,7 @@ msgstr "příkaz: %s\n"
#: lib/libalpm/sync.c:876 lib/libalpm/sync.c:886
#, c-format
msgid "can't get md5 checksum for file %s\n"
msgstr "nelze zjistit MD5 kontrolní součet pro soubor %s\n"
msgstr "nelze získat md5 kontrolní součet pro soubor %s\n"
#: lib/libalpm/sync.c:902
#, c-format
@@ -579,7 +579,7 @@ msgstr "nelze odstranit zamykací soubor %s\n"
#: lib/libalpm/trans.c:483
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
msgstr "Nenalezen /bin/sh v rodičovském prostředí, ruším provádění skriptů\n"
msgstr "V rodičovském prostředí chybí /bin/sh, ruším provádění skriptů\n"
#: lib/libalpm/trans.c:494
msgid "could not create temp directory\n"
@@ -617,7 +617,7 @@ msgstr "volání waitpid selhalo (%s)\n"
#: lib/libalpm/trans.c:603
msgid "scriptlet failed to execute correctly\n"
msgstr "správné spouštění skriptu selhalo\n"
msgstr "správné spuštění skriptu selhalo\n"
#: lib/libalpm/trans.c:612
#, c-format
@@ -637,19 +637,18 @@ msgstr "nelze otevřít %s: %s\n"
#: lib/libalpm/util.c:579
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "neexistuje keš %s, vytvářím...\n"
msgstr "neexistuje cache %s, vytvářím...\n"
#: lib/libalpm/util.c:595
msgid "couldn't create package cache, using /tmp instead\n"
msgstr "nelze vytvořit keš balíčků, používám /tmp\n"
msgstr "nelze vytvořit cache balíčků, používám /tmp\n"
#: lib/libalpm/util.c:644
#, c-format
msgid "md5: %s can't be opened\n"
msgstr "MD5: %s nemohl být otevřen\n"
msgstr "md5: %s nemohl být otevřen\n"
#: lib/libalpm/util.c:646
#, c-format
msgid "md5: %s can't be read\n"
msgstr "MD5: %s nemohl být přečten\n"
msgstr "md5: %s nemohl být přečten\n"

View File

@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
"POT-Creation-Date: 2008-01-14 23:08-0600\n"
"PO-Revision-Date: 2008-01-17 19:04+0100\n"
"PO-Revision-Date: 2008-02-15 09:26+0100\n"
"Last-Translator: Matthias Gorissen <matthias@archlinux.de>\n"
"Language-Team: German <archlinux.de>\n"
"MIME-Version: 1.0\n"
@@ -37,7 +37,9 @@ msgstr "In Konflikt stehende Pakete wurden in Ziel-Liste gefunden\n"
#: lib/libalpm/add.c:167
msgid "you cannot install two conflicting packages at the same time\n"
msgstr "Sie können nicht zwei in Konflikt stehende Pakete zur selben Zeit installieren\n"
msgstr ""
"Sie können nicht zwei in Konflikt stehende Pakete zur selben Zeit "
"installieren\n"
#: lib/libalpm/add.c:170
msgid "replacing packages with -A and -U is not supported yet\n"
@@ -400,7 +402,7 @@ msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)\n"
#: lib/libalpm/package.c:1027
#, c-format
msgid "error extracting package description file to %s\n"
msgstr "Fehler beim Entpacken der Paket-Beschreibungsdatei nach %s\n"
msgstr "Fehler beim Entpacken der Paket-Beschreibungsdatei nach %s\n"
#: lib/libalpm/package.c:1033
#, c-format

View File

@@ -657,12 +657,3 @@ msgstr "md5: l'ouverture de %s a échoué\n"
#, c-format
msgid "md5: %s can't be read\n"
msgstr "md5: la lecture de %s a échoué\n"
#~ msgid "loading package data for %s : level=%d\n"
#~ msgstr "chargement des données du paquet %s : niveau=%d\n"
#~ msgid "adding '%s' to package cache for db '%s'\n"
#~ msgstr "ajout de '%s' au cache de paquets pour la base de données '%s'\n"
#~ msgid "could not remove tempfile %s\n"
#~ msgstr "la suppression du fichier temporaire %s a échoué\n"

View File

@@ -3,14 +3,15 @@
# 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.
# #
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-01-14 23:08-0600\n"
"PO-Revision-Date: 2007-04-12 04:23+0200\n"
"Last-Translator: Mateusz Jędrasik <m.jedrasik@gmail.com>\n"
"Last-Translator: Mateusz Herych <heniekk@gmail.com>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,31 +20,33 @@ msgstr ""
"|| n%100>=20) ? 1 : 2);\n"
#: lib/libalpm/add.c:86
#, fuzzy, c-format
#, c-format
msgid "replacing older version %s-%s by %s in target list\n"
msgstr "zastępowanie starszej wersji %s-%s na %s z listy celów"
msgstr "zastępowanie starszej wersji %s-%s na %s z listy celów\n"
#: lib/libalpm/add.c:95
#, fuzzy, c-format
#, c-format
msgid "newer version %s-%s is in the target list -- skipping\n"
msgstr "nowsza wersja %s-%s znajduje się w liście celów -- pomijam"
msgstr "nowsza wersja %s-%s znajduje się w liście celów -- pomijam\n"
#: lib/libalpm/add.c:166
msgid "conflicting packages were found in the target list\n"
msgstr ""
"konfliktujące pakiety znalazły się na liście pakietów do zainstalowania\n"
#: lib/libalpm/add.c:167
msgid "you cannot install two conflicting packages at the same time\n"
msgstr ""
"nie możesz mieć zainstalowanych dwóch konfliktujących ze sobą pakietów w tym "
"samym czasie\n"
#: lib/libalpm/add.c:170
#, fuzzy
msgid "replacing packages with -A and -U is not supported yet\n"
msgstr "zastępowanie pakietów z -A i -U nie jest jeszcze wspierane"
msgstr "zastępowanie pakietów za pomocą -A i -U nie jest jeszcze wspierane\n"
#: lib/libalpm/add.c:171
msgid "you can replace packages manually using -Rd and -U\n"
msgstr ""
msgstr "możesz zastąpić pakiety ręcznie, używając opcji -Rd oraz -U\n"
#: lib/libalpm/add.c:377
#, c-format
@@ -51,124 +54,122 @@ msgid ""
"directory permissions differ on %s\n"
"filesystem: %o package: %o\n"
msgstr ""
"Różne prawa dla %s\n"
"system plików: %o pakiet: %o\n"
#: lib/libalpm/add.c:404
#, c-format
msgid "extract: symlink %s does not point to dir\n"
msgstr ""
msgstr "rozpakowywanie: dowiązanie symboliczne %s nie kieruje do katalogu\n"
#: lib/libalpm/add.c:411
#, c-format
msgid "extract: not overwriting dir with file %s\n"
msgstr ""
msgstr "rozpakowywanie: nie nadpisuję katalogu plikiem %s\n"
#: lib/libalpm/add.c:466 lib/libalpm/add.c:610 lib/libalpm/util.c:428
#, fuzzy, c-format
#, c-format
msgid "could not extract %s (%s)\n"
msgstr "nie udało się rozpakować %s (%s)"
msgstr "nie udało się rozpakować %s (%s)\n"
#: lib/libalpm/add.c:517
#, fuzzy, c-format
#, c-format
msgid "could not rename %s (%s)\n"
msgstr "nie udało się zmienić nazwy %s (%s)"
msgstr "nie udało się zmienić nazwy %s (%s)\n"
#: lib/libalpm/add.c:524 lib/libalpm/add.c:544 lib/libalpm/trans.c:508
#, fuzzy, c-format
#, c-format
msgid "could not copy tempfile to %s (%s)\n"
msgstr "nie udało się skopiować pliku tymczasowego do %s (%s)"
msgstr "nie udało się skopiować pliku tymczasowego do %s (%s)\n"
#: lib/libalpm/add.c:529 lib/libalpm/remove.c:238
#, fuzzy, c-format
#, c-format
msgid "%s saved as %s\n"
msgstr "%s zachowane jako %s"
msgstr "%s zachowane jako %s\n"
#: lib/libalpm/add.c:568
#, fuzzy, c-format
#, c-format
msgid "could not install %s as %s: %s\n"
msgstr "nie udało się zainstalować %s jako %s: %s"
msgstr "nie udało się zainstalować %s jako %s: %s\n"
#: lib/libalpm/add.c:571
#, fuzzy, c-format
#, c-format
msgid "%s installed as %s\n"
msgstr "%s zainstalowano jako %s"
msgstr "%s zainstalowano jako %s\n"
#: lib/libalpm/add.c:588
#, fuzzy, c-format
#, c-format
msgid "extracting %s as %s.pacnew\n"
msgstr "rozpakowywanie %s jako %s.pacnew"
msgstr "rozpakowywanie %s jako %s.pacnew\n"
#: lib/libalpm/add.c:723 lib/libalpm/trans.c:526
#, fuzzy
msgid "could not get current working directory\n"
msgstr "nie można znaleźć obecnego katalogu"
msgstr "nie można znaleźć obecnego katalogu\n"
#: lib/libalpm/add.c:777
#, fuzzy, c-format
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "wystąpiły błędy podczas %s %s"
msgstr "wystąpiły błędy podczas aktualizacji %s\n"
#: lib/libalpm/add.c:782
#, fuzzy, c-format
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "wystąpiły błędy podczas %s %s"
msgstr "wystąpiły błędy podczas instalacji %s\n"
#: lib/libalpm/add.c:797
#, fuzzy, c-format
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "nie udało się zaktualizować pozycji bazy danych %s-%s"
msgstr "nie udało się zaktualizować pozycji bazy danych %s-%s\n"
#: lib/libalpm/add.c:805
#, fuzzy, c-format
#, c-format
msgid "could not add entry '%s' in cache\n"
msgstr "nie udało się dodać pozycji '%s' w pliku podręcznym"
msgstr "nie udało się dodać pozycji '%s' w pliku podręcznym\n"
#: lib/libalpm/be_files.c:221
#, fuzzy, c-format
#, c-format
msgid "invalid name for database entry '%s'\n"
msgstr "nieprawidłowa nazwa dla wpisu bazy danych '%s'"
msgstr "nieprawidłowa nazwa dla wpisu bazy danych '%s'\n"
#: lib/libalpm/be_files.c:291 lib/libalpm/be_files.c:428
#: lib/libalpm/be_files.c:451 lib/libalpm/be_files.c:562
#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
#: lib/libalpm/package.c:885
#, fuzzy, c-format
#, c-format
msgid "could not open file %s: %s\n"
msgstr "nie udało się otworzyć pliku %s: %s"
msgstr "nie udało się otworzyć pliku %s: %s\n"
#: lib/libalpm/db.c:283
#, fuzzy, c-format
#, c-format
msgid "could not remove database entry %s%s\n"
msgstr "nie udało się usunąć wpisu %s%s z bazy danych"
msgstr "nie udało się usunąć wpisu %s%s z bazy danych\n"
#: lib/libalpm/db.c:551
#, fuzzy
msgid "attempt to re-register the 'local' DB\n"
msgstr "próba ponownej rejestracji 'lokalnej' BD"
msgstr "próba ponownej rejestracji 'lokalnej' BD\n"
#: lib/libalpm/db.c:560 lib/libalpm/db.c:611
#, fuzzy
msgid "database path is undefined\n"
msgstr "baza danych nie została zainicjowana"
msgstr "ścieżka bazy danych jest niezdefiniowana\n"
#: lib/libalpm/deps.c:171
#, fuzzy
msgid "dependency cycle detected:\n"
msgstr "wykryto cykl zależności: %s"
msgstr "wykryto cykl zależności: %s\n"
#: lib/libalpm/deps.c:173
#, c-format
msgid "%s will be removed after its %s dependency\n"
msgstr ""
msgstr "%s zostanie usunięta po zależniościach %s\n"
#: lib/libalpm/deps.c:175
#, c-format
msgid "%s will be installed before its %s dependency\n"
msgstr ""
msgstr "%s zostanie zainstalowane przed zależnościami %s\n"
#: lib/libalpm/deps.c:588
#, fuzzy, c-format
#, c-format
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
msgstr "nie udało się rozwiązać zależności dla \"%s\""
msgstr "nie można rozwiązać \"%s\", zależności od \"%s\"\n"
#: lib/libalpm/error.c:41
msgid "out of memory!"
@@ -187,13 +188,12 @@ msgid "could not find or read file"
msgstr "nie udało się znaleźć bądź odczytać pliku"
#: lib/libalpm/error.c:49
#, fuzzy
msgid "could not find or read directory"
msgstr "nie udało się znaleźć bądź odczytać pliku"
msgstr "nie udało się znaleźć bądź odczytać katalogu"
#: lib/libalpm/error.c:51
msgid "wrong or NULL argument passed"
msgstr "błędny bądź ZEROWY argument dany"
msgstr "Dany został błędny bądź ZEROWY argument"
#: lib/libalpm/error.c:54
msgid "library not initialized"
@@ -201,7 +201,7 @@ msgstr "biblioteka nie została zainicjowana"
#: lib/libalpm/error.c:56
msgid "library already initialized"
msgstr "biblioteka już zainicjowana"
msgstr "biblioteka już została zainicjowana"
#: lib/libalpm/error.c:58
msgid "unable to lock database"
@@ -225,7 +225,7 @@ msgstr "baza danych już zarejestrowana"
#: lib/libalpm/error.c:69
msgid "could not find database"
msgstr "nie udało się odnaleźc bazy danych"
msgstr "nie udało się odnaleźć bazy danych"
#: lib/libalpm/error.c:71
msgid "could not update database"
@@ -245,7 +245,7 @@ msgstr "nie udało się ustawić parametru"
#: lib/libalpm/error.c:86
msgid "transaction already initialized"
msgstr "tranzakcja już zainicjowana"
msgstr "tranzakcja została już zainicjowana"
#: lib/libalpm/error.c:88 lib/libalpm/error.c:92
msgid "transaction not initialized"
@@ -281,7 +281,7 @@ msgstr "nie udało się znaleźć bądź odczytać pakietu"
#: lib/libalpm/error.c:107
msgid "invalid or corrupted package"
msgstr "nieprawidłowy bądź skorumpowany pakiet"
msgstr "nieprawidłowy bądź uszkodzony pakiet"
#: lib/libalpm/error.c:109
msgid "cannot open package file"
@@ -293,7 +293,7 @@ msgstr "nie udało się załadować danych pakietu"
#: lib/libalpm/error.c:113
msgid "package already installed"
msgstr "pakiet już zainstalowany"
msgstr "pakiet został już zainstalowany"
#: lib/libalpm/error.c:115
msgid "package not installed or lesser version"
@@ -309,20 +309,19 @@ msgstr "nieprawidłowa nazwa pakietu"
#: lib/libalpm/error.c:121
msgid "corrupted package"
msgstr "skorumpowany pakiet"
msgstr "uszkodzony pakiet"
#: lib/libalpm/error.c:123
msgid "no such repository"
msgstr "nie ma takiego repozytorium"
#: lib/libalpm/error.c:126
#, fuzzy
msgid "corrupted delta"
msgstr "skorumpowany pakiet"
msgstr "Pakiet przyrostowy jest uszkodzony"
#: lib/libalpm/error.c:128
msgid "delta patch failed"
msgstr ""
msgstr "Łatanie pakietem przyrostowym nie powiodło się"
#: lib/libalpm/error.c:131
msgid "group not found"
@@ -369,179 +368,179 @@ msgid "unexpected error"
msgstr "niespodziewany błąd"
#: lib/libalpm/package.c:122
#, fuzzy, c-format
#, c-format
msgid "could not get md5sum for package %s-%s\n"
msgstr "nie udało się otrzymać sumy md5 dla pakietu %s-%s"
msgstr "nie udało się otrzymać sumy md5 dla pakietu %s-%s\n"
#: lib/libalpm/package.c:131
#, fuzzy, c-format
#, c-format
msgid "md5sums do not match for package %s-%s\n"
msgstr "sumy kontrolne md5 dla pakietu %s-%s nie zgadzają się"
msgstr "sumy kontrolne md5 dla pakietu %s-%s nie zgadzają się\n"
#: lib/libalpm/package.c:844
#, fuzzy, c-format
#, c-format
msgid "%s: forcing upgrade to version %s\n"
msgstr "%s: wymuszanie aktualizacji do wersji %s"
msgstr "%s: wymuszanie aktualizacji do wersji %s\n"
#: lib/libalpm/package.c:849
#, fuzzy, c-format
#, c-format
msgid "%s: local (%s) is newer than %s (%s)\n"
msgstr "%s: local (%s) jest nowsze niż %s (%s)"
msgstr "%s: local (%s) jest nowsze niż %s (%s)\n"
#: lib/libalpm/package.c:1027
#, fuzzy, c-format
#, c-format
msgid "error extracting package description file to %s\n"
msgstr "nie udało się przeczytać pliku opisu"
msgstr "nie udało się przeczytać opisu do %s\n"
#: lib/libalpm/package.c:1033
#, fuzzy, c-format
#, c-format
msgid "could not parse package description file in %s\n"
msgstr "nie udało się przeczytać pliku opisu"
msgstr "nie udało się przeczytać opisu pliku w %s\n"
#: lib/libalpm/package.c:1038
#, fuzzy, c-format
#, c-format
msgid "missing package name in %s\n"
msgstr "brak nazwy pakietu w %s"
msgstr "brak nazwy pakietu w %s\n"
#: lib/libalpm/package.c:1042
#, fuzzy, c-format
#, c-format
msgid "missing package version in %s\n"
msgstr "brak wersji pakietu w %s"
msgstr "brak wersji pakietu w %s\n"
#: lib/libalpm/package.c:1061 lib/libalpm/package.c:1074
#, fuzzy, c-format
#, c-format
msgid "error while reading package %s: %s\n"
msgstr "błąd odczytywania pakietu: %s"
msgstr "błąd odczytywania pakietu: %s: %s\n"
#: lib/libalpm/package.c:1081
#, fuzzy, c-format
#, c-format
msgid "missing package metadata in %s\n"
msgstr "brak metadanych pakietu"
msgstr "brak metadanych pakietu w %s\n"
#: lib/libalpm/remove.c:119
#, fuzzy, c-format
#, c-format
msgid "could not find %s in database -- skipping\n"
msgstr "nie udało się odnaleźć %s w bazie danych -- pomijanie"
msgstr "nie udało się odnaleźć %s w bazie danych -- pomijanie\n"
#: lib/libalpm/remove.c:172 lib/libalpm/remove.c:247
#, fuzzy, c-format
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "nie udało się usunąć pliku '%s': %s"
msgstr "nie udało się usunąć pliku '%s': %s\n"
#: lib/libalpm/remove.c:341
#, fuzzy, c-format
#, c-format
msgid "could not remove database entry %s-%s\n"
msgstr "nie udało się usunąć wpisu %s-%s z bazy danych"
msgstr "nie udało się usunąć wpisu %s-%s z bazy danych\n"
#: lib/libalpm/remove.c:346
#, fuzzy, c-format
#, c-format
msgid "could not remove entry '%s' from cache\n"
msgstr "nie udało się usunąć wpisu '%s' z pamięci podręcznej"
msgstr "nie udało się usunąć wpisu '%s' z pamięci podręcznej\n"
#: lib/libalpm/server.c:54
#, c-format
msgid "url '%s' is invalid, ignoring\n"
msgstr ""
msgstr "url '%s' jest błędny, ignoruję\n"
#: lib/libalpm/server.c:58
msgid "url scheme not specified, assuming http\n"
msgstr ""
msgstr "schemat url nie został sprecyzowany, wybieranie http\n"
#: lib/libalpm/server.c:239
msgid "disk"
msgstr ""
msgstr "dysk"
#: lib/libalpm/server.c:243
#, fuzzy, c-format
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "nie udało się pobrać niektórych plików z %s\n"
msgstr "nie udało się pobrać pliku '%s' z %s : %s\n"
#: lib/libalpm/server.c:273
msgid "cannot resume download, starting over\n"
msgstr ""
msgstr "nie można kontynuować pobieranie, zaczynanie od początku\n"
#: lib/libalpm/server.c:286
#, fuzzy, c-format
#, c-format
msgid "cannot write to file '%s'\n"
msgstr "nie udało się usunąć pliku '%s': %s"
msgstr "nie można zapisywać do pliku '%s'\n"
#: lib/libalpm/server.c:305
#, fuzzy, c-format
#, c-format
msgid "error downloading '%s': %s\n"
msgstr "błąd odczytywania pakietu: %s"
msgstr "błąd podczas pobierania '%s': %s\n"
#: lib/libalpm/server.c:317
#, fuzzy, c-format
#, c-format
msgid "error writing to file '%s': %s\n"
msgstr "nie udało się usunąć pliku '%s': %s"
msgstr "Błąd podczas zapisywania do pliku '%s': %s\n"
#: lib/libalpm/server.c:385
#, fuzzy, c-format
#, c-format
msgid "could not chdir to %s\n"
msgstr "nie udało się zmienić katalogu na / (%s)"
msgstr "nie udało się zmienić katalogu na / %s\n"
#: lib/libalpm/server.c:392
msgid "running XferCommand: fork failed!\n"
msgstr ""
msgstr "uruchamianie XferCommand: klonowanie nieudane!\n"
#: lib/libalpm/server.c:443
msgid "URL does not contain a file for download\n"
msgstr ""
msgstr "URL nie wskazuje na plik do pobrania\n"
#: lib/libalpm/server.c:456
#, fuzzy, c-format
#, c-format
msgid "failed to download %s\n"
msgstr "nie udało się pobrać wszystkich plików"
msgstr "nie udało się pobrać %s\n"
#: lib/libalpm/sync.c:133
#, fuzzy, c-format
#, 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)"
msgstr ""
"%s-%s: ignorowanie aktualizowania pakietu (do zastąpienia przez %s-%s)\n"
#: lib/libalpm/sync.c:248
#, fuzzy, c-format
#, c-format
msgid "%s: ignoring package upgrade (%s => %s)\n"
msgstr "%s-%s: ignorowanie aktualizacji pakietu (%s)"
msgstr "%s: ignorowanie aktualizacji pakietu (%s => %s)\n"
#: lib/libalpm/sync.c:309
#, fuzzy, c-format
#, c-format
msgid "repository '%s' not found\n"
msgstr "repozytorium '%s' nie zostało znalezione"
msgstr "repozytorium '%s' nie zostało znalezione\n"
#: lib/libalpm/sync.c:336
#, fuzzy, c-format
#, c-format
msgid "%s-%s is up to date -- skipping\n"
msgstr "%s-%s jest w najnowszej wersji -- pomijanie"
msgstr "%s-%s jest w najnowszej wersji -- pomijanie\n"
#: lib/libalpm/sync.c:340
#, fuzzy, c-format
#, c-format
msgid "%s-%s is up to date -- reinstalling\n"
msgstr "%s-%s jest w najnowszej wersji -- pomijanie"
msgstr "%s-%s jest w najnowszej wersji -- ponowne instalowanie\n"
#: lib/libalpm/sync.c:596 lib/libalpm/sync.c:601
#, fuzzy
msgid "unresolvable package conflicts detected\n"
msgstr "odkryto nierozwiązywalne konflikty pakietów"
msgstr "odkryto nierozwiązywalne konflikty pakietów\n"
#: lib/libalpm/sync.c:611
#, fuzzy, c-format
#, c-format
msgid "malloc failure: could not allocate %zd bytes\n"
msgstr "błąd malloc: nie udało się zaalokować %d bajtów"
msgstr "błąd malloc: nie udało się zaalokować %zd bajtów\n"
#: lib/libalpm/sync.c:812
#, c-format
msgid "command: %s\n"
msgstr ""
msgstr "komenda: %s\n"
#: lib/libalpm/sync.c:876 lib/libalpm/sync.c:886
#, fuzzy, c-format
#, c-format
msgid "can't get md5 checksum for file %s\n"
msgstr "nie udało się otrzymać sum kontrolnych md5 lub sha1 dla pakietu %s\n"
msgstr "nie udało się otrzymać sum kontrolnych md5 dla pliku %s\n"
#: lib/libalpm/sync.c:902
#, fuzzy, c-format
#, c-format
msgid "file %s was corrupted (bad MD5 checksum)\n"
msgstr "archiwum %s było skorumpowane (błąd sumy kontrolnej MD5 lub SHA1)\n"
msgstr "plik %s był uszkodzony (błąd sumy kontrolnej MD5)\n"
#: lib/libalpm/sync.c:1049
#, c-format
@@ -549,102 +548,93 @@ msgid "failed to retrieve some files from %s\n"
msgstr "nie udało się pobrać niektórych plików z %s\n"
#: lib/libalpm/sync.c:1130
#, fuzzy
msgid "could not create removal transaction\n"
msgstr "nie udało się utworzyć tranzakcji usuwania"
msgstr "nie udało się utworzyć tranzakcji usuwania\n"
#: lib/libalpm/sync.c:1136
#, fuzzy
msgid "could not initialize the removal transaction\n"
msgstr "nie udało się zainicjować tranzakcji usuwania"
msgstr "nie udało się zainicjować tranzakcji usuwania\n"
#: lib/libalpm/sync.c:1158
#, fuzzy
msgid "could not prepare removal transaction\n"
msgstr "nie udało się przygotować tranzakcji usuwania"
msgstr "nie udało się przygotować tranzakcji usuwania\n"
#: lib/libalpm/sync.c:1164
#, fuzzy
msgid "could not commit removal transaction\n"
msgstr "nie udało się wykonać tranzakcji usuwania"
msgstr "nie udało się wykonać tranzakcji usuwania\n"
#: lib/libalpm/sync.c:1175
#, fuzzy
msgid "could not create transaction\n"
msgstr "nie udało się stworzyć tranzakcji"
msgstr "nie udało się stworzyć tranzakcji\n"
#: lib/libalpm/sync.c:1180
#, fuzzy
msgid "could not initialize transaction\n"
msgstr "nie udało się zainicjować tranzakcji"
msgstr "nie udało się zainicjować tranzakcji\n"
#: lib/libalpm/sync.c:1207
#, fuzzy
msgid "could not prepare transaction\n"
msgstr "nie udało się przygotować tranzakcji"
msgstr "nie udało się przygotować tranzakcji\n"
#: lib/libalpm/sync.c:1212
#, fuzzy
msgid "could not commit transaction\n"
msgstr "nie udało się wykonać tranzakcji"
msgstr "nie udało się wykonać tranzakcji\n"
#: lib/libalpm/trans.c:212
#, fuzzy, c-format
#, c-format
msgid "could not remove lock file %s\n"
msgstr "nie udało się usunąć pliku blokującego %s"
msgstr "nie udało się usunąć pliku blokującego %s\n"
#: lib/libalpm/trans.c:483
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
msgstr ""
msgstr "Brak /bin/sh w środowisku, przerywanie wykonywania skryptu\n"
#: lib/libalpm/trans.c:494
#, fuzzy
msgid "could not create temp directory\n"
msgstr "nie udało się stworzyć katalogu tymczasowego"
msgstr "nie udało się stworzyć katalogu tymczasowego\n"
#: lib/libalpm/trans.c:533
#, fuzzy, c-format
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "nie udało się zmienić katalogu na %s (%s)"
msgstr "nie udało się zmienić katalogu na %s (%s)\n"
#: lib/libalpm/trans.c:551
#, fuzzy, c-format
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "nie udało się odwidlić nowego procesu (%s)"
msgstr "nie udało się odwidlić nowego procesu (%s)\n"
#: lib/libalpm/trans.c:561
#, fuzzy, c-format
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "nie udało się zmienić katalogu głównego (%s)"
msgstr "nie udało się zmienić katalogu głównego (%s)\n"
#: lib/libalpm/trans.c:566
#, fuzzy, c-format
#, c-format
msgid "could not change directory to / (%s)\n"
msgstr "nie udało się zmienić katalogu na / (%s)"
msgstr "nie udało się zmienić katalogu na / (%s)\n"
#: lib/libalpm/trans.c:575
#, fuzzy, c-format
#, c-format
msgid "call to popen failed (%s)"
msgstr "zawołanie do waitpid nieudane (%s)"
msgstr "zawołanie do popen nieudane (%s)"
#: lib/libalpm/trans.c:594
#, fuzzy, c-format
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "zawołanie do waitpid nieudane (%s)"
msgstr "zawołanie do waitpid nieudane (%s)\n"
#: lib/libalpm/trans.c:603
msgid "scriptlet failed to execute correctly\n"
msgstr ""
msgstr "skrypt nie mógł zostać poprawnie wykonany\n"
#: lib/libalpm/trans.c:612
#, fuzzy, c-format
#, c-format
msgid "could not remove tmpdir %s\n"
msgstr "nie udało się usunąć katalogu tymczasowego %s"
msgstr "nie udało się usunąć katalogu tymczasowego %s\n"
#: lib/libalpm/util.c:207
#, fuzzy, c-format
#, c-format
msgid "failed to make path '%s' : %s\n"
msgstr "nie udało się stworzyć ścieżki '%s' : %s"
msgstr "nie udało się stworzyć ścieżki '%s' : %s\n"
#: lib/libalpm/util.c:392
#, c-format
@@ -657,20 +647,19 @@ msgid "no %s cache exists, creating...\n"
msgstr "brak pamięci podręcznej dla %s, tworzenie...\n"
#: lib/libalpm/util.c:595
#, fuzzy
msgid "couldn't create package cache, using /tmp instead\n"
msgstr ""
"nie udało się stworzenie pamięci podręcznej pakietu, używanie /tmp w zamian\n"
"nie udało się stworz pamięci podręcznej pakietu, używanie /tmp w zamian\n"
#: lib/libalpm/util.c:644
#, fuzzy, c-format
#, c-format
msgid "md5: %s can't be opened\n"
msgstr "%s nie może być otwarte\n"
msgstr "md5: %s nie może zostać otwarte\n"
#: lib/libalpm/util.c:646
#, fuzzy, c-format
#, c-format
msgid "md5: %s can't be read\n"
msgstr "%s nie może być otwarte\n"
msgstr "md5: %s nie może zostać przeczytane\n"
#, fuzzy
#~ msgid "loading package data for %s : level=%d\n"

View File

@@ -8,8 +8,9 @@ msgstr ""
"Project-Id-Version: Pacman package manager 3.0.0\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
"POT-Creation-Date: 2008-01-14 23:08-0600\n"
"PO-Revision-Date: 2007-03-16 02:52+1000\n"
"Last-Translator: Vladimir Bayrakovskiy <4rayven@gmail.com>\n"
"PO-Revision-Date: 2008-02-18 19:46+0300\n"
"Last-Translator: Sergey Tereschenko <serg.partizan@gmail.com>\n"
"Language-Team: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -19,29 +20,28 @@ msgstr ""
#: lib/libalpm/add.c:86
#, c-format
msgid "replacing older version %s-%s by %s in target list\n"
msgstr ""
msgstr "заменяю устаревшую версию %s-%s на %s в списке целей\n"
#: lib/libalpm/add.c:95
#, fuzzy, c-format
#, c-format
msgid "newer version %s-%s is in the target list -- skipping\n"
msgstr "%s-%s не устарел -- пропускаю"
msgstr "новая версия %s-%s в списке целей -- пропускаю\n"
#: lib/libalpm/add.c:166
msgid "conflicting packages were found in the target list\n"
msgstr ""
msgstr "в списке целей найдены конфликтующие пакеты\n"
#: lib/libalpm/add.c:167
msgid "you cannot install two conflicting packages at the same time\n"
msgstr ""
msgstr "вы не можете установить два конфликтующих пакета одновременно\n"
#: lib/libalpm/add.c:170
#, fuzzy
msgid "replacing packages with -A and -U is not supported yet\n"
msgstr "замещение пакетов с использованием опций -A и -U еще не реализовано"
msgstr "замещение пакетов с использованием опций -A и -U еще не реализовано\n"
#: lib/libalpm/add.c:171
msgid "you can replace packages manually using -Rd and -U\n"
msgstr ""
msgstr "вы можете заменить пакеты вручную, используя -Rd и -U\n"
#: lib/libalpm/add.c:377
#, c-format
@@ -49,156 +49,154 @@ msgid ""
"directory permissions differ on %s\n"
"filesystem: %o package: %o\n"
msgstr ""
"права доступа различаются у директории %s\n"
"файловая система: %o пакет: %o\n"
#: lib/libalpm/add.c:404
#, c-format
msgid "extract: symlink %s does not point to dir\n"
msgstr ""
msgstr "извлечение: символическая ссылка %s не указывает на директорию\n"
#: lib/libalpm/add.c:411
#, c-format
msgid "extract: not overwriting dir with file %s\n"
msgstr ""
msgstr "извлечение: не перезаписываю директорию файлом %s\n"
#: lib/libalpm/add.c:466 lib/libalpm/add.c:610 lib/libalpm/util.c:428
#, fuzzy, c-format
#, c-format
msgid "could not extract %s (%s)\n"
msgstr "не могу извлечь %s (%s)"
msgstr "не могу извлечь %s (%s)\n"
#: lib/libalpm/add.c:517
#, fuzzy, c-format
#, c-format
msgid "could not rename %s (%s)\n"
msgstr "не могу переименовать %s (%s)"
msgstr "не могу переименовать %s (%s)\n"
#: lib/libalpm/add.c:524 lib/libalpm/add.c:544 lib/libalpm/trans.c:508
#, fuzzy, c-format
#, c-format
msgid "could not copy tempfile to %s (%s)\n"
msgstr "не могу скопировать временный файл в %s (%s)"
msgstr "не могу скопировать временный файл в %s (%s)\n"
#: lib/libalpm/add.c:529 lib/libalpm/remove.c:238
#, fuzzy, c-format
#, c-format
msgid "%s saved as %s\n"
msgstr "%s сохранен как %s"
msgstr "%s сохранен как %s\n"
#: lib/libalpm/add.c:568
#, fuzzy, c-format
#, c-format
msgid "could not install %s as %s: %s\n"
msgstr "не могу установить %s как %s: %s"
msgstr "не могу установить %s как %s: %s\n"
#: lib/libalpm/add.c:571
#, fuzzy, c-format
#, c-format
msgid "%s installed as %s\n"
msgstr "%s установлен как %s"
msgstr "%s установлен как %s\n"
#: lib/libalpm/add.c:588
#, fuzzy, c-format
#, c-format
msgid "extracting %s as %s.pacnew\n"
msgstr "извлекаю %s как %s.pacnew"
msgstr "извлекаю %s как %s.pacnew\n"
#: lib/libalpm/add.c:723 lib/libalpm/trans.c:526
#, fuzzy
msgid "could not get current working directory\n"
msgstr "не могу определить текущую рабочую директорию"
msgstr "не могу определить текущую рабочую директорию\n"
#: lib/libalpm/add.c:777
#, fuzzy, c-format
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "во время %s %s произошли ошибки"
msgstr "обнаружена проблема во время обновления %s\n"
#: lib/libalpm/add.c:782
#, fuzzy, c-format
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "во время %s %s произошли ошибки"
msgstr "обнаружена проблема во время установки %s\n"
#: lib/libalpm/add.c:797
#, fuzzy, c-format
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "не могу обновить в базе данных запись %s-%s"
msgstr "не могу обновить в базе данных запись %s-%s\n"
#: lib/libalpm/add.c:805
#, fuzzy, c-format
#, c-format
msgid "could not add entry '%s' in cache\n"
msgstr "не могу добавить запись '%s' в кэш"
msgstr "не могу добавить запись '%s' в кэш\n"
#: lib/libalpm/be_files.c:221
#, fuzzy, c-format
#, c-format
msgid "invalid name for database entry '%s'\n"
msgstr "не могу удалить из базы данных запись %s%s"
msgstr "неправильное имя для записи базы данных '%s'\n"
#: lib/libalpm/be_files.c:291 lib/libalpm/be_files.c:428
#: lib/libalpm/be_files.c:451 lib/libalpm/be_files.c:562
#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
#: lib/libalpm/package.c:885
#, fuzzy, c-format
#, c-format
msgid "could not open file %s: %s\n"
msgstr "не могу скопировать временный файл в %s (%s)"
msgstr "не могу открыть файл %s: %s\n"
#: lib/libalpm/db.c:283
#, fuzzy, c-format
#, c-format
msgid "could not remove database entry %s%s\n"
msgstr "не могу удалить из базы данных запись %s%s"
msgstr "не могу удалить из базы данных запись %s%s\n"
#: lib/libalpm/db.c:551
msgid "attempt to re-register the 'local' DB\n"
msgstr ""
msgstr "попытка перерегистрировать локальную базу данных\n"
#: lib/libalpm/db.c:560 lib/libalpm/db.c:611
#, fuzzy
msgid "database path is undefined\n"
msgstr "база данных не инициализирована"
msgstr "путь к базе данных не определён\n"
#: lib/libalpm/deps.c:171
#, fuzzy
msgid "dependency cycle detected:\n"
msgstr "обнаружена циклическая зависимость: %s"
msgstr "обнаружена циклическая зависимость:\n"
#: lib/libalpm/deps.c:173
#, c-format
msgid "%s will be removed after its %s dependency\n"
msgstr ""
msgstr "%s будет удалён после %s, как зависимость\n"
#: lib/libalpm/deps.c:175
#, c-format
msgid "%s will be installed before its %s dependency\n"
msgstr ""
msgstr "%s будет установлен перед %s, как зависимость\n"
#: lib/libalpm/deps.c:588
#, fuzzy, c-format
#, c-format
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
msgstr "не удается удовлетворить зависимости для \"%s\""
msgstr "не удается разрешить \"%s\", зависимость \"%s\"\n"
#: lib/libalpm/error.c:41
msgid "out of memory!"
msgstr ""
msgstr "недостаточно памяти!"
#: lib/libalpm/error.c:43
msgid "unexpected system error"
msgstr ""
msgstr "неожиданная ошибка"
#: lib/libalpm/error.c:45
msgid "insufficient privileges"
msgstr ""
msgstr "недостаточно привилегий"
#: lib/libalpm/error.c:47
msgid "could not find or read file"
msgstr ""
msgstr "не могу найти или прочитать файл"
#: lib/libalpm/error.c:49
#, fuzzy
msgid "could not find or read directory"
msgstr "не удается найти или прочитать пакет"
msgstr "не удается найти или прочитать директорию"
#: lib/libalpm/error.c:51
msgid "wrong or NULL argument passed"
msgstr ""
msgstr "неправильный или нулевой аргумент"
#: lib/libalpm/error.c:54
msgid "library not initialized"
msgstr ""
msgstr "библиотека не инициализирована"
#: lib/libalpm/error.c:56
msgid "library already initialized"
msgstr ""
msgstr "библиотека уже инициализирована"
#: lib/libalpm/error.c:58
msgid "unable to lock database"
@@ -242,31 +240,31 @@ msgstr "ну могу установить параметр"
#: lib/libalpm/error.c:86
msgid "transaction already initialized"
msgstr ""
msgstr "запрос уже инициализирован"
#: lib/libalpm/error.c:88 lib/libalpm/error.c:92
msgid "transaction not initialized"
msgstr ""
msgstr "запрос не инициализирован"
#: lib/libalpm/error.c:90
msgid "duplicate target"
msgstr ""
msgstr "повторение целей"
#: lib/libalpm/error.c:94
msgid "transaction not prepared"
msgstr ""
msgstr "запрос не подготовлен"
#: lib/libalpm/error.c:96
msgid "transaction aborted"
msgstr ""
msgstr "запрос отменён"
#: lib/libalpm/error.c:98
msgid "operation not compatible with the transaction type"
msgstr ""
msgstr "операция не совместима с типом запроса"
#: lib/libalpm/error.c:100
msgid "could not commit transaction"
msgstr ""
msgstr "не могу совершить запрос"
#: lib/libalpm/error.c:102
msgid "could not download all files"
@@ -294,7 +292,7 @@ msgstr "пакет уже установлен"
#: lib/libalpm/error.c:115
msgid "package not installed or lesser version"
msgstr ""
msgstr "пекет не установлен или ранней версии"
#: lib/libalpm/error.c:117
msgid "cannot remove all files for package"
@@ -313,13 +311,12 @@ msgid "no such repository"
msgstr "нет такого репозитория"
#: lib/libalpm/error.c:126
#, fuzzy
msgid "corrupted delta"
msgstr "пакет поврежден"
msgstr "дельта-патчи повреждены"
#: lib/libalpm/error.c:128
msgid "delta patch failed"
msgstr ""
msgstr "не удалось применить дельта-патч"
#: lib/libalpm/error.c:131
msgid "group not found"
@@ -331,11 +328,11 @@ msgstr "не удается удовлетворить зависимости"
#: lib/libalpm/error.c:136
msgid "conflicting dependencies"
msgstr ""
msgstr "конфликтующие зависимости"
#: lib/libalpm/error.c:138
msgid "conflicting files"
msgstr ""
msgstr "конфликрующие файлы"
#: lib/libalpm/error.c:141
msgid "user aborted the operation"
@@ -351,7 +348,7 @@ msgstr "ошибка в libarchive"
#: lib/libalpm/error.c:148
msgid "not confirmed"
msgstr ""
msgstr "не подтверждено"
#: lib/libalpm/error.c:150
msgid "invalid regular expression"
@@ -366,179 +363,178 @@ msgid "unexpected error"
msgstr "непредвиденная ошибка"
#: lib/libalpm/package.c:122
#, fuzzy, c-format
#, c-format
msgid "could not get md5sum for package %s-%s\n"
msgstr "не могу получить контрольную сумму md5sum для пакета %s-%s"
msgstr "не могу получить контрольную сумму md5 для пакета %s-%s\n"
#: lib/libalpm/package.c:131
#, fuzzy, c-format
#, c-format
msgid "md5sums do not match for package %s-%s\n"
msgstr "контрольные суммы md5sum для пакета %s-%s не совпали"
msgstr "контрольные суммы md5 для пакета %s-%s не совпали\n"
#: lib/libalpm/package.c:844
#, fuzzy, c-format
#, c-format
msgid "%s: forcing upgrade to version %s\n"
msgstr "%s: принудительно обновляю до версии %s"
msgstr "%s: принудительно обновляю до версии %s\n"
#: lib/libalpm/package.c:849
#, fuzzy, c-format
#, c-format
msgid "%s: local (%s) is newer than %s (%s)\n"
msgstr "%s: установленная версия (%s) новее, чем в %s (%s)"
msgstr "%s: установленная версия (%s) новее, чем %s (%s)\n"
#: lib/libalpm/package.c:1027
#, fuzzy, c-format
#, c-format
msgid "error extracting package description file to %s\n"
msgstr "не могу удалить временный файл %s"
msgstr "ошибка извлечения файла описания пакета в %s\n"
#: lib/libalpm/package.c:1033
#, fuzzy, c-format
#, c-format
msgid "could not parse package description file in %s\n"
msgstr "не могу удалить временный файл %s"
msgstr "не могу проанализировать файл с описанием пакета в %s\n"
#: lib/libalpm/package.c:1038
#, fuzzy, c-format
#, c-format
msgid "missing package name in %s\n"
msgstr "отсутствует список файлов пакета в %s, генерирую его"
msgstr "пропущено имя пакета в %s\n"
#: lib/libalpm/package.c:1042
#, fuzzy, c-format
#, c-format
msgid "missing package version in %s\n"
msgstr "отсутствует список файлов пакета в %s, генерирую его"
msgstr "пропущена версия пакета в %s\n"
#: lib/libalpm/package.c:1061 lib/libalpm/package.c:1074
#, fuzzy, c-format
#, c-format
msgid "error while reading package %s: %s\n"
msgstr "ошибка при чтении пакета: %s"
msgstr "ошибка при чтении пакета %s: %s\n"
#: lib/libalpm/package.c:1081
#, fuzzy, c-format
#, c-format
msgid "missing package metadata in %s\n"
msgstr "отсутствует список файлов пакета в %s, генерирую его"
msgstr "отсутствуют метаданые пакета в %s\n"
#: lib/libalpm/remove.c:119
#, fuzzy, c-format
#, c-format
msgid "could not find %s in database -- skipping\n"
msgstr "не могу найти %s в базе данных -- пропускаю"
msgstr "не могу найти %s в базе данных -- пропускаю\n"
#: lib/libalpm/remove.c:172 lib/libalpm/remove.c:247
#, fuzzy, c-format
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "не могу удалить файл '%s': %s"
msgstr "не могу удалить файл '%s': %s\n"
#: lib/libalpm/remove.c:341
#, fuzzy, c-format
#, c-format
msgid "could not remove database entry %s-%s\n"
msgstr "не могу удалить из базы данных запись %s%s"
msgstr "не могу удалить из базы данных запись %s-%s\n"
#: lib/libalpm/remove.c:346
#, fuzzy, c-format
#, c-format
msgid "could not remove entry '%s' from cache\n"
msgstr "не могу добавить запись '%s' в кэш"
msgstr "не могу удалить запись '%s' из кеша\n"
#: lib/libalpm/server.c:54
#, c-format
msgid "url '%s' is invalid, ignoring\n"
msgstr ""
msgstr "url '%s' недействительный, пропускаю\n"
#: lib/libalpm/server.c:58
msgid "url scheme not specified, assuming http\n"
msgstr ""
msgstr "url не определён, подразумевается http\n"
#: lib/libalpm/server.c:239
msgid "disk"
msgstr ""
msgstr "диск"
#: lib/libalpm/server.c:243
#, fuzzy, c-format
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "не удалось получить некоторые файлы с %s\n"
msgstr "не удалось получить файл '%s' из %s : %s\n"
#: lib/libalpm/server.c:273
msgid "cannot resume download, starting over\n"
msgstr ""
msgstr "не удалось продолжить закачку, начинаю заново\n"
#: lib/libalpm/server.c:286
#, fuzzy, c-format
#, c-format
msgid "cannot write to file '%s'\n"
msgstr "не могу удалить файл '%s': %s"
msgstr "не могу записать в файл '%s'\n"
#: lib/libalpm/server.c:305
#, fuzzy, c-format
#, c-format
msgid "error downloading '%s': %s\n"
msgstr "ошибка при чтении пакета: %s"
msgstr "ошибка загрузки '%s': %s\n"
#: lib/libalpm/server.c:317
#, fuzzy, c-format
#, c-format
msgid "error writing to file '%s': %s\n"
msgstr "не могу удалить файл '%s': %s"
msgstr "не могу записать в файл '%s': %s\n"
#: lib/libalpm/server.c:385
#, fuzzy, c-format
#, c-format
msgid "could not chdir to %s\n"
msgstr "не могу извлечь %s (%s)"
msgstr "не могу изменить директорию на %s\n"
#: lib/libalpm/server.c:392
msgid "running XferCommand: fork failed!\n"
msgstr ""
msgstr "запуск XferCommand: неудача\n"
#: lib/libalpm/server.c:443
msgid "URL does not contain a file for download\n"
msgstr ""
msgstr "URL не содержит имени файла для загрузки\n"
#: lib/libalpm/server.c:456
#, fuzzy, c-format
#, c-format
msgid "failed to download %s\n"
msgstr "не могу загрузить все файлы"
msgstr "не могу загрузить %s\n"
#: lib/libalpm/sync.c:133
#, fuzzy, c-format
#, c-format
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"
msgstr "%s-%s: игнорирую обновление этого пакета (он будет заменен на %s-%s)"
msgstr "%s-%s: игнорирую обновление пакета (он будет заменен на %s-%s)\n"
#: lib/libalpm/sync.c:248
#, fuzzy, c-format
#, c-format
msgid "%s: ignoring package upgrade (%s => %s)\n"
msgstr "%s-%s: игнорирую обновление этого пакета (он будет заменен на %s-%s)"
msgstr "%s: игнорирую обновление пакета (%s => %s)\n"
#: lib/libalpm/sync.c:309
#, fuzzy, c-format
#, c-format
msgid "repository '%s' not found\n"
msgstr "репозиторий '%s' не найден"
msgstr "репозиторий '%s' не найден\n"
#: lib/libalpm/sync.c:336
#, fuzzy, c-format
#, c-format
msgid "%s-%s is up to date -- skipping\n"
msgstr "%s-%s не устарел -- пропускаю"
msgstr "%s-%s не устарел -- пропускаю\n"
#: lib/libalpm/sync.c:340
#, fuzzy, c-format
#, c-format
msgid "%s-%s is up to date -- reinstalling\n"
msgstr "%s-%s не устарел -- пропускаю"
msgstr "%s-%s не устарел -- переустанавливаю\n"
#: lib/libalpm/sync.c:596 lib/libalpm/sync.c:601
#, fuzzy
msgid "unresolvable package conflicts detected\n"
msgstr "обнаружен неразрешимый конфликт пакетов"
msgstr "обнаружен неразрешимый конфликт пакетов\n"
#: lib/libalpm/sync.c:611
#, c-format
msgid "malloc failure: could not allocate %zd bytes\n"
msgstr ""
msgstr "сбой malloc: не удалось выделить %zd байт\n"
#: lib/libalpm/sync.c:812
#, c-format
msgid "command: %s\n"
msgstr ""
msgstr "комманда: %s\n"
#: lib/libalpm/sync.c:876 lib/libalpm/sync.c:886
#, fuzzy, c-format
#, c-format
msgid "can't get md5 checksum for file %s\n"
msgstr "не удалось получить md5 или sha1 контрольную сумму для пакета %s\n"
msgstr "не удалось получить md5 контрольную сумму для файла %s\n"
#: lib/libalpm/sync.c:902
#, fuzzy, c-format
#, c-format
msgid "file %s was corrupted (bad MD5 checksum)\n"
msgstr "архив %s был поврежден (не сходится MD5 или SHA1 контрольная сумма)\n"
msgstr "архив %s поврежден (не сходится MD5 контрольная сумма)\n"
#: lib/libalpm/sync.c:1049
#, c-format
@@ -546,103 +542,98 @@ msgid "failed to retrieve some files from %s\n"
msgstr "не удалось получить некоторые файлы с %s\n"
#: lib/libalpm/sync.c:1130
#, fuzzy
msgid "could not create removal transaction\n"
msgstr "не удается создать базу данных"
msgstr "не удалось создать запрос на удаление\n"
#: lib/libalpm/sync.c:1136
msgid "could not initialize the removal transaction\n"
msgstr ""
msgstr "не удалось инициализировать запрос на удаление\n"
#: lib/libalpm/sync.c:1158
#, fuzzy
msgid "could not prepare removal transaction\n"
msgstr "не удается создать базу данных"
msgstr "не удалось подготовить запрос на удаление\n"
#: lib/libalpm/sync.c:1164
msgid "could not commit removal transaction\n"
msgstr ""
msgstr "не удалось совершить запрос на удаление\n"
#: lib/libalpm/sync.c:1175
#, fuzzy
msgid "could not create transaction\n"
msgstr "не удается создать базу данных"
msgstr "не удалось создать запрос\n"
#: lib/libalpm/sync.c:1180
msgid "could not initialize transaction\n"
msgstr ""
msgstr "не удалось инициализировать запрос\n"
#: lib/libalpm/sync.c:1207
#, fuzzy
msgid "could not prepare transaction\n"
msgstr "не удается создать базу данных"
msgstr "не удалось подготовить запрос\n"
#: lib/libalpm/sync.c:1212
msgid "could not commit transaction\n"
msgstr ""
msgstr "не удалось совершить запрос\n"
#: lib/libalpm/trans.c:212
#, fuzzy, c-format
#, c-format
msgid "could not remove lock file %s\n"
msgstr "не могу удалить lock-файл %s"
msgstr "не могу удалить lock-файл %s\n"
#: lib/libalpm/trans.c:483
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
msgstr ""
msgstr "Нету /bin/sh в родительском окружении, отмена скрипта\n"
#: lib/libalpm/trans.c:494
#, fuzzy
msgid "could not create temp directory\n"
msgstr "не могу определить текущую рабочую директорию"
msgstr "не удалось создать временную директорию\n"
#: lib/libalpm/trans.c:533
#, fuzzy, c-format
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "не могу извлечь %s (%s)"
msgstr "не удалось изменить директорию на %s (%s)\n"
#: lib/libalpm/trans.c:551
#, fuzzy, c-format
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "не могу переименовать %s (%s)"
msgstr "не не удалось создать новый процесс (%s)\n"
#: lib/libalpm/trans.c:561
#, fuzzy, c-format
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "не могу определить текущую рабочую директорию"
msgstr "не удалось изменить корневую директорию (%s)\n"
#: lib/libalpm/trans.c:566
#, fuzzy, c-format
#, c-format
msgid "could not change directory to / (%s)\n"
msgstr "не могу извлечь %s (%s)"
msgstr "не удалось изменить директорию на / (%s)\n"
#: lib/libalpm/trans.c:575
#, c-format
msgid "call to popen failed (%s)"
msgstr ""
msgstr "вызов popen не удался (%s)"
#: lib/libalpm/trans.c:594
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr ""
msgstr "вызов waitpid не удался (%s)\n"
#: lib/libalpm/trans.c:603
msgid "scriptlet failed to execute correctly\n"
msgstr ""
msgstr "не удалось корректно выполнить скрипт\n"
#: lib/libalpm/trans.c:612
#, fuzzy, c-format
#, c-format
msgid "could not remove tmpdir %s\n"
msgstr "не могу удалить временный файл %s"
msgstr "не могу удалить tmpdir %s\n"
#: lib/libalpm/util.c:207
#, c-format
msgid "failed to make path '%s' : %s\n"
msgstr ""
msgstr "не удалось создать путь '%s' : %s\n"
#: lib/libalpm/util.c:392
#, c-format
msgid "could not open %s: %s\n"
msgstr ""
msgstr "не удалось откруть %s: %s\n"
#: lib/libalpm/util.c:579
#, c-format
@@ -650,34 +641,33 @@ msgid "no %s cache exists, creating...\n"
msgstr "кэш %s не существует, создаю...\n"
#: lib/libalpm/util.c:595
#, fuzzy
msgid "couldn't create package cache, using /tmp instead\n"
msgstr "не могу создать кэш пакета, будет использован /tmp\n"
msgstr "не могу создать кэш пакетов, будет использован /tmp\n"
#: lib/libalpm/util.c:644
#, c-format
msgid "md5: %s can't be opened\n"
msgstr ""
msgstr "md5: %s не может быть открыт\n"
#: lib/libalpm/util.c:646
#, c-format
msgid "md5: %s can't be read\n"
msgstr ""
msgstr "md5: %s не может быть прочитан\n"
#, fuzzy
#~ msgid "loading package data for %s : level=%d\n"
#~ msgstr "загружаю данные пакета %s : уровень=%d"
#~ msgstr "загружаю данные пакета %s : уровень=%d\n"
#, fuzzy
#~ msgid "could not remove tempfile %s\n"
#~ msgstr "не могу удалить временный файл %s"
#~ msgstr "не могу удалить временный файл %s\n"
#, fuzzy
#~ msgid "missing package filelist in %s, generating one\n"
#~ msgstr "отсутствует список файлов пакета в %s, генерирую его"
#~ msgstr "отсутствует список файлов пакета в %s, генерирую его\n"
#~ msgid "please remove '%s' first, using -Rd"
#~ msgstr "пожалуйста, уделите сначала '%s' используя -Rd"
#~ msgstr "пожалуйста, уделите сначала '%s' используя -Rd\n"
#~ msgid "could not extract %s (%s)"
#~ msgstr "не могу извлечь %s (%s)"

View File

@@ -337,8 +337,10 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy
alpm_pkg_get_name(local), alpm_pkg_get_version(local));
return(0);
} else {
_alpm_log(PM_LOG_WARNING, _("%s-%s is up to date -- reinstalling\n"),
alpm_pkg_get_name(local), alpm_pkg_get_version(local));
if(!(trans->flags & PM_TRANS_FLAG_DOWNLOADONLY)) {
_alpm_log(PM_LOG_WARNING, _("%s-%s is up to date -- reinstalling\n"),
alpm_pkg_get_name(local), alpm_pkg_get_version(local));
}
}
}
}

View File

@@ -119,7 +119,10 @@ class pmdb:
# desc
filename = os.path.join(path, "desc")
fd = file(filename, "r")
if not os.path.isfile(filename):
print "invalid db entry found (desc missing) for pkg", pkgname
return None
fd = open(filename, "r")
while 1:
line = fd.readline()
if not line:
@@ -158,7 +161,10 @@ class pmdb:
# files
filename = os.path.join(path, "files")
fd = file(filename, "r")
if not os.path.isfile(filename):
print "invalid db entry found (files missing) for pkg", pkgname
return None
fd = open(filename, "r")
while 1:
line = fd.readline()
if not line:
@@ -177,6 +183,9 @@ class pmdb:
# depends
filename = os.path.join(path, "depends")
if not os.path.isfile(filename):
print "invalid db entry found (depends missing) for pkg", pkgname
return None
fd = file(filename, "r")
while 1:
line = fd.readline()
@@ -252,6 +261,7 @@ class pmdb:
if pkg.reason:
data.append(_mksection("REASON", pkg.reason))
else:
data.append(_mksection("FILENAME", pkg.filename()))
if pkg.replaces:
data.append(_mksection("REPLACES", pkg.replaces))
if pkg.force:

View File

@@ -0,0 +1,16 @@
self.description = "Upgrade a package with a filesystem conflict"
p = pmpkg("dummy", "2.0-1")
p.files = ["bin/dummy", "usr/share/file"]
self.addpkg(p)
lp = pmpkg("dummy", "1.0-1")
lp.files = ["bin/dummy"]
self.addpkg2db("local", lp)
self.filesystem = ["usr/share/file"]
self.args = "-U %s" % p.filename()
self.addrule("PACMAN_RETCODE=1")
self.addrule("PKG_VERSION=dummy|1.0-1")

View File

@@ -27,4 +27,5 @@ for p in p1, p2:
self.addrule("PKG_EXIST=%s" % p.name)
self.addrule("FILE_MODIFIED=bin/dummy")
self.addrule("FILE_MODIFIED=bin/foobar")
self.addrule("FILE_EXIST=usr/share/file")
self.addrule("FILE_MODIFIED=usr/share/file")

View File

@@ -4,7 +4,7 @@ lp1 = pmpkg("dummy")
lp1.files = ["bin/dummy"]
lp2 = pmpkg("foobar")
lp2.files = ["bin/foobar"
lp2.files = ["bin/foobar",
"usr/share/file"]
for p in lp1, lp2:
@@ -27,4 +27,5 @@ for p in p1, p2:
self.addrule("PKG_EXIST=%s" % p.name)
self.addrule("FILE_MODIFIED=bin/dummy")
self.addrule("FILE_MODIFIED=bin/foobar")
self.addrule("FILE_EXIST=usr/share/file")
self.addrule("FILE_MODIFIED=usr/share/file")

View File

@@ -0,0 +1,16 @@
self.description = "FS#9235"
lp = pmpkg("foo")
lp.files = ["etc/foo.cfg -> etc/foo.cfg"]
lp.backup = ["etc/foo.cfg"]
self.addpkg2db("local", lp)
p1 = pmpkg("foo", "1.0-2")
p1.files = ["etc/foo.cfg*"]
p1.backup = ["etc/foo.cfg"]
self.addpkg(p1)
self.args = "-U %s" % p1.filename()
self.addrule("PKG_VERSION=foo|1.0-2")
self.addrule("FILE_EXIST=etc/foo.cfg")

View File

@@ -0,0 +1,31 @@
self.description = "File relocation between two packages (reverse order, --force)"
lp1 = pmpkg("dummy")
lp1.files = ["bin/dummy"]
lp2 = pmpkg("foobar")
lp2.files = ["bin/foobar",
"usr/share/file"]
for p in lp1, lp2:
self.addpkg2db("local", p)
p1 = pmpkg("dummy")
p1.files = ["bin/dummy",
"usr/share/file"]
p2 = pmpkg("foobar")
p2.files = ["bin/foobar"]
for p in p1, p2:
self.addpkg(p)
self.args = "-Uf %s" % " ".join([p.filename() for p in p1, p2])
self.addrule("PACMAN_RETCODE=0")
for p in p1, p2:
self.addrule("PKG_EXIST=%s" % p.name)
self.addrule("FILE_MODIFIED=bin/dummy")
self.addrule("FILE_MODIFIED=bin/foobar")
self.addrule("FILE_EXIST=usr/share/file")
self.addrule("FILE_MODIFIED=usr/share/file")

View File

@@ -196,6 +196,9 @@ def mkcfgfile(filename, root, option, db):
def getmd5sum(filename):
"""
"""
if not os.path.isfile(filename):
print "file %s does not exist!" % filename
return ""
fd = open(filename, "rb")
checksum = md5.new()
while 1:
@@ -223,6 +226,9 @@ def mkmd5sum(data):
def getmtime(filename):
"""
"""
if not os.path.exists(filename):
print "path %s does not exist!" % filename
return 0, 0, 0
st = os.stat(filename)
return st[stat.ST_ATIME], st[stat.ST_MTIME], st[stat.ST_CTIME]

View File

@@ -1,11 +1,11 @@
# Set of available languages.
cs_CZ
cs
de
en_GB
es
fr
hu
it
pl_PL
pl
pt_BR
ru_RU
ru

File diff suppressed because it is too large Load Diff

1171
po/de.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

640
po/es.po

File diff suppressed because it is too large Load Diff

544
po/fr.po

File diff suppressed because it is too large Load Diff

1003
po/hu.po

File diff suppressed because it is too large Load Diff

579
po/it.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,36 +1,37 @@
# This is a default template for a post-install scriptlet. You can
# remove any functions you don't need (and this header).
# This is a default template for a post-install scriptlet.
# Uncomment only required functions and remove any functions
# you don't need (and this header).
# arg 1: the new package version
pre_install() {
/bin/true
}
## arg 1: the new package version
#pre_install() {
# do something here
#}
# arg 1: the new package version
post_install() {
/bin/true
}
## arg 1: the new package version
#post_install() {
# do something here
#}
# arg 1: the new package version
# arg 2: the old package version
pre_upgrade() {
/bin/true
}
## arg 1: the new package version
## arg 2: the old package version
#pre_upgrade() {
# do something here
#}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
/bin/true
}
## arg 1: the new package version
## arg 2: the old package version
#post_upgrade() {
# do something here
#}
# arg 1: the old package version
pre_remove() {
/bin/true
}
## arg 1: the old package version
#pre_remove() {
# do something here
#}
# arg 1: the old package version
post_remove() {
/bin/true
}
## arg 1: the old package version
#post_remove() {
# do something here
#}
# vim:set ts=2 sw=2 et:

View File

@@ -31,6 +31,9 @@ usage() {
printf "gensync (pacman) %s\n\n" "$myver"
printf "$(gettext "Usage: %s <root> <destfile> [package_directory]")\n\n" "$0"
printf "$(gettext "\
NOTE: this script is DEPRECATED. It will be removed in the next major\n\
release of pacman, so please use repo-add and repo-remove instead.\n\n")"
printf "$(gettext "\
gensync will generate a sync database by reading all PKGBUILD files\n\
from <root>. gensync builds the database in a temporary directory\n\
and then compresses it to <destfile>.\n\n")"
@@ -77,6 +80,13 @@ check_force () {
# PROGRAM START
# determine whether we have gettext; make it a no-op if we do not
if [ ! $(type -t gettext) ]; then
gettext() {
echo "$@"
}
fi
if [ "$1" = "-h" -o "$1" = "--help" ]; then
usage
exit 0
@@ -116,6 +126,10 @@ fi
[ ! -d "$rootdir" ] && die "$(gettext "invalid root dir: %s")" $rootdir
printf "$(gettext "\
NOTE: this script is DEPRECATED. It will be removed in the next major\n\
release of pacman, so please use repo-add and repo-remove instead.\n\n")"
echo "$(gettext "gensync: building database entries, generating md5sums...")" >&2
cd "$destdir"

View File

@@ -464,6 +464,12 @@ download_sources() {
continue
fi
# if we get here, check to make sure it was a URL, else fail
if [ "$file" = "$netfile" ]; then
error "$(gettext "%s was not found in the build directory and is not a URL.")" "$netfile"
exit 1 # $E_MISSING_FILE
fi
# find the client we should use for this URL
local dlclient=$(get_downloadclient $netfile) || exit $?
@@ -669,9 +675,6 @@ run_build() {
msg "$(gettext "Starting build()...")"
cd "$srcdir"
# ensure we have a sane umask set
umask 0022
# ensure all necessary build variables are exported
export CFLAGS CXXFLAGS MAKEFLAGS CHOST
@@ -748,7 +751,7 @@ tidy_install() {
if [ "$(check_option strip)" = "y" ]; then
msg2 "$(gettext "Stripping debugging symbols from binaries and libraries...")"
for file in $(find {,usr/{,local/},opt/}{bin,lib,sbin} -type f 2>/dev/null || true); do
for file in $(find {,usr/{,local/},opt/*/}{bin,lib,sbin} -type f 2>/dev/null || true); do
case "$(file -biz "$file")" in
*application/x-sharedlib*) # Libraries
/usr/bin/strip --strip-debug "$file";;
@@ -804,6 +807,9 @@ create_package() {
if [ "$CARCH" != "" ]; then
echo "arch = $CARCH" >>.PKGINFO
fi
if [ "$(check_option force)" = "y" ]; then
echo "force = true" >> .PKGINFO
fi
local it
for it in "${license[@]}"; do
@@ -933,8 +939,8 @@ create_xdelta() {
create_srcpackage() {
cd "$startdir"
msg "$(gettext "Creating source package...")"
local comp_files="PKGBUILD"
msg2 "$(gettext "Adding %s...")" "PKGBUILD"
local comp_files="$BUILDSCRIPT"
msg2 "$(gettext "Adding %s...")" "$BUILDSCRIPT"
if [ "$install" != "" ]; then
if [ -f $install ]; then
@@ -989,23 +995,30 @@ devel_check() {
# This will only be used on the first call to makepkg; subsequent
# calls to makepkg via fakeroot will explicitly pass the version
# number to avoid having to determine the version number twice.
# Also do a brief check to make sure we have the VCS tool available.
oldpkgver=$pkgver
if [ ! -z ${_darcstrunk} ] && [ ! -z ${_darcsmod} ] ; then
[ $(type -p darcs) ] || return 0
msg "$(gettext "Determining latest darcs revision...")"
newpkgver=$(date +%Y%m%d)
elif [ ! -z ${_cvsroot} ] && [ ! -z ${_cvsmod} ] ; then
[ $(type -p cvs) ] || return 0
msg "$(gettext "Determining latest cvs revision...")"
newpkgver=$(date +%Y%m%d)
elif [ ! -z ${_gitroot} ] && [ ! -z ${_gitname} ] ; then
[ $(type -p git) ] || return 0
msg "$(gettext "Determining latest git revision...")"
newpkgver=$(date +%Y%m%d)
elif [ ! -z ${_svntrunk} ] && [ ! -z ${_svnmod} ] ; then
[ $(type -p svn) ] || return 0
msg "$(gettext "Determining latest svn revision...")"
newpkgver=$(svn log $_svntrunk --limit 1 | sed -n 's/^r\([^ ]*\) .*$/\1/p')
newpkgver=$(svn log $_svntrunk --limit 1 -q | sed -n 's/^r\([0-9]*\) .*$/\1/p')
elif [ ! -z ${_bzrtrunk} ] && [ ! -z ${_bzrmod} ] ; then
[ $(type -p bzr) ] || return 0
msg "$(gettext "Determining latest bzr revision...")"
newpkgver=$(bzr revno ${_bzrtrunk})
elif [ ! -z ${_hgroot} ] && [ ! -z ${_hgrepo} ] ; then
[ $(type -p hg) ] || return 0
msg "$(gettext "Determining latest hg revision...")"
if [ -d ./src/$_hgrepo ] ; then
cd ./src/$_hgrepo
@@ -1094,6 +1107,15 @@ This is free software; see the source for copying conditions.\n\
There is NO WARRANTY, to the extent permitted by law.\n")"
}
# PROGRAM START
# determine whether we have gettext; make it a no-op if we do not
if [ ! $(type -t gettext) ]; then
gettext() {
echo "$@"
}
fi
ARGLIST=$@
#preserve environment variables
@@ -1181,7 +1203,7 @@ done
if [ "$HOLDVER" = "1" -a "$FORCE_VER" != "" ]; then
# The extra '--' is here to prevent gettext from thinking --holdver is
# an option
error "$(gettext -- "--holdver and --forcever cannot both be specified")"
error "$(gettext "\\0--holdver and --forcever cannot both be specified" )"
exit 1
fi
@@ -1401,6 +1423,9 @@ else
warning "$(gettext "pacman was not found in PATH; skipping dependency checks.")"
fi
# ensure we have a sane umask set
umask 0022
# get back to our src directory so we can begin with sources
mkdir -p "$srcdir"
cd "$srcdir"

View File

@@ -70,6 +70,15 @@ die_r() {
die "$@"
}
# PROGRAM START
# determine whether we have gettext; make it a no-op if we do not
if [ ! $(type -t gettext) ]; then
gettext() {
echo "$@"
}
fi
if [ "$1" = "-h" -o "$1" = "--help" ]; then
usage
exit 0

View File

@@ -136,7 +136,7 @@ db_write_entry()
# blank out all variables and set pkgfile
local pkgfile=$(readlink -f "$1")
local pkgname pkgver pkgdesc url builddate packager csize size \
group depend backup license replaces provides conflict \
group depend backup license replaces provides conflict force \
_groups _depends _backups _licenses _replaces _provides _conflicts \
startdir
@@ -209,7 +209,7 @@ db_write_entry()
[ -n "$builddate" ] && echo -e "%BUILDDATE%\n$builddate\n" >>desc
[ -n "$packager" ] && echo -e "%PACKAGER%\n$packager\n" >>desc
write_list_entry "REPLACES" "$_replaces" "desc"
[ $FORCE -eq 1 ] && echo -e "%FORCE%\n" >>desc
[ $FORCE -eq 1 -o -n "$force" ] && echo -e "%FORCE%\n" >>desc
# create depends entry
msg2 "$(gettext "Creating 'depends' db entry...")"
@@ -252,6 +252,13 @@ db_write_entry()
# PROGRAM START
# determine whether we have gettext; make it a no-op if we do not
if [ ! $(type -t gettext) ]; then
gettext() {
echo "$@"
}
fi
# check for help flags
if [ "$1" = "-h" -o "$1" = "--help" ]; then
usage

View File

@@ -25,7 +25,6 @@ export TEXTDOMAINDIR='@localedir@'
myver='@PACKAGE_VERSION@'
confdir='@sysconfdir@'
FORCE=0
REPO_DB_FILE=""
msg() {
@@ -96,6 +95,13 @@ db_remove_entry() {
# PROGRAM START
# determine whether we have gettext; make it a no-op if we do not
if [ ! $(type -t gettext) ]; then
gettext() {
echo "$@"
}
fi
# check for help flags
if [ "$1" = "-h" -o "$1" = "--help" ]; then
usage
@@ -169,6 +175,9 @@ if [ $success -eq 1 ]; then
esac
bsdtar -c${TAR_OPT}f "$REPO_DB_FILE" *
else
error "$(gettext "All packages have been removed from the database. Deleting '%s'.")" "$REPO_DB_FILE"
rm "$REPO_DB_FILE"
fi
popd 2>&1 >/dev/null

View File

@@ -32,6 +32,9 @@ usage() {
printf "updatesync (pacman) %s\n\n" "$myver"
printf "$(gettext "Usage: %s <action> <destfile> <option> [package_directory]")\n\n" "$0"
printf "$(gettext "\
NOTE: this script is DEPRECATED. It will be removed in the next major\n\
release of pacman, so please use repo-add and repo-remove instead.\n\n")"
printf "$(gettext "\
updatesync will update a sync database by reading a PKGBUILD and\n\
modifying the destfile. updatesync updates the database in a temporary\n\
directory and then compresses it to <destfile>.\n\n")"
@@ -76,6 +79,13 @@ check_force () {
# PROGRAM START
# determine whether we have gettext; make it a no-op if we do not
if [ ! $(type -t gettext) ]; then
gettext() {
echo "$@"
}
fi
if [ "$1" = "-h" -o "$1" = "--help" ]; then
usage
exit 0
@@ -116,11 +126,15 @@ if [ "$4" != "" ]; then
fi
opt_force=""
if [ ! -f "$option" ]; then
die "$(gettext "%s not found")" $option
fi
printf "$(gettext "\
NOTE: this script is DEPRECATED. It will be removed in the next major\n\
release of pacman, so please use repo-add and repo-remove instead.\n\n")"
if [ "$action" = "upd" ]; then # INSERT / UPDATE
if [ ! -f "$option" ]; then
die "$(gettext "%s not found")" $option
fi
unset pkgname pkgver pkgrel options
source $option || die "$(gettext "failed to parse %s")" $option
@@ -141,10 +155,14 @@ if [ "$action" = "upd" ]; then # INSERT / UPDATE
else # DELETE
fname="$(basename $option)"
if [ "$fname" = "PKGBUILD" ]; then
if [ ! -f "$option" ]; then
die "$(gettext "%s not found")" $option
fi
unset pkgname pkgver pkgrel options
source $option
else
pkgname=$1
pkgname=$option
fi
repo-remove "$pkgdb" "$pkgname"

View File

@@ -115,8 +115,9 @@ int pacman_add(alpm_list_t *targets)
for(i = targets; i; i = alpm_list_next(i)) {
char *targ = alpm_list_getdata(i);
if(alpm_trans_addtarget(targ) == -1) {
fprintf(stderr, _("error: failed to add target '%s' (%s)"), targ,
alpm_strerrorlast());
printf(_("failed.\n"));
fprintf(stderr, _("error: '%s': %s\n"),
targ, alpm_strerrorlast());
add_cleanup();
return(1);
}
@@ -146,7 +147,7 @@ int pacman_add(alpm_list_t *targets)
case PM_ERR_CONFLICTING_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmconflict_t *conflict = alpm_list_getdata(i);
printf(_(":: %s: conflicts with %s"),
printf(_(":: %s: conflicts with %s\n"),
alpm_conflict_get_package1(conflict), alpm_conflict_get_package2(conflict));
}
break;

View File

@@ -285,7 +285,7 @@ void cb_trans_conv(pmtransconv_t event, void *data1, void *data2,
alpm_pkg_get_name(data2));
*response = yesno(str);
} else {
printf(_("Replacing %s with %s/%s\n."),
printf(_("Replacing %s with %s/%s\n"),
alpm_pkg_get_name(data1),
(char *)data3,
alpm_pkg_get_name(data2));
@@ -329,9 +329,8 @@ void cb_trans_progress(pmtransprog_t event, const char *pkgname, int percent,
/* size of line to allocate for text printing (e.g. not progressbar) */
const int infolen = 50;
int tmp, digits, oprlen, textlen, pkglen;
int tmp, digits, oprlen, textlen, remainlen;
char *opr = NULL;
wchar_t *wcopr = NULL;
if(config->noprogressbar) {
return;
@@ -373,15 +372,6 @@ void cb_trans_progress(pmtransprog_t event, const char *pkgname, int percent,
opr = _("checking for file conflicts");
break;
}
/* convert above strings to wide chars */
oprlen = strlen(opr);
wcopr = calloc(oprlen, sizeof(wchar_t));
if(!wcopr) {
fprintf(stderr, "malloc failure: could not allocate %zd bytes\n",
strlen(opr) * sizeof(wchar_t));
return;
}
oprlen = mbstowcs(wcopr, opr, oprlen);
/* find # of digits in package counts to scale output */
digits = 1;
@@ -392,30 +382,24 @@ void cb_trans_progress(pmtransprog_t event, const char *pkgname, int percent,
/* determine room left for non-digits text [not ( 1/12) part] */
textlen = infolen - 3 - (2 * digits);
/* room left for package name */
pkglen = textlen - oprlen - 1;
oprlen = mbstowcs(NULL, opr, 0);
/* room left (eg for package name) */
remainlen = textlen - oprlen - 1;
switch (event) {
case PM_TRANS_PROGRESS_ADD_START:
case PM_TRANS_PROGRESS_UPGRADE_START:
case PM_TRANS_PROGRESS_REMOVE_START:
/* old way of doing it, but ISO C does not recognize it
printf("(%2$*1$d/%3$*1$d) %4$s %6$-*5$.*5$s", digits, remain, howmany,
opr, pkglen, pkgname);*/
printf("(%*d/%*d) %s %-*.*s", digits, remain, digits, howmany,
opr, pkglen, pkglen, pkgname);
opr, remainlen, remainlen, pkgname);
break;
case PM_TRANS_PROGRESS_CONFLICTS_START:
/* old way of doing it, but ISO C does not recognize it
printf("(%2$*1$d/%3$*1$d) %5$-*4$s", digits, remain, howmany,
textlen, opr);*/
printf("(%*d/%*d) %-*s", digits, remain, digits, howmany,
textlen, opr);
printf("(%*d/%*d) %s %-*s", digits, remain, digits, howmany,
opr, remainlen, "");
break;
}
free(wcopr);
/* call refactored fill progress function */
fill_progress(percent, percent, getcols() - infolen);

View File

@@ -227,11 +227,11 @@ static void cleanup(int signum)
exit(signum);
}
/** Sets all libalpm required paths in one go. Called after the command line and
* inital config file parsing. Once this is complete, we can see if any paths were
* defined. If a rootdir was defined and nothing else, we want all of our paths to
* live under the rootdir that was specified. Safe to call multiple times (will only
* do anything the first time).
/** Sets all libalpm required paths in one go. Called after the command line
* and inital config file parsing. Once this is complete, we can see if any
* paths were defined. If a rootdir was defined and nothing else, we want all
* of our paths to live under the rootdir that was specified. Safe to call
* multiple times (will only do anything the first time).
*/
static void setlibpaths(void)
{
@@ -240,6 +240,8 @@ static void setlibpaths(void)
int ret = 0;
pm_printf(PM_LOG_DEBUG, "setlibpaths() called\n");
/* Configure root path first. If it is set and dbpath/logfile were not
* set, then set those as well to reside under the root. */
if(config->rootdir) {
char path[PATH_MAX];
ret = alpm_option_set_root(config->rootdir);
@@ -254,10 +256,12 @@ static void setlibpaths(void)
}
if(!config->logfile) {
snprintf(path, PATH_MAX, "%s%s", alpm_option_get_root(), LOGFILE);
ret = alpm_option_set_dbpath(path);
config->logfile = strdup(path);
}
}
/* Set other paths if they were configured. Note that unless rootdir
* was left undefined, these two paths (dbpath and logfile) will have
* been set locally above, so the if cases below will now trigger. */
if(config->dbpath) {
ret = alpm_option_set_dbpath(config->dbpath);
if(ret != 0) {

View File

@@ -70,6 +70,7 @@ static int query_fileowner(alpm_list_t *targets)
int found = 0;
char *filename = alpm_list_getdata(t);
char *bname;
char *dname;
char *rpath;
struct stat buf;
alpm_list_t *i, *j;
@@ -88,10 +89,14 @@ static int query_fileowner(alpm_list_t *targets)
}
bname = mbasename(filename);
dname = mdirname(filename);
rpath = resolve_path(dname);
free(dname);
if(!(rpath = resolve_path(filename))) {
if(!rpath) {
fprintf(stderr, _("error: cannot determine real path for '%s': %s\n"),
filename, strerror(errno));
free(rpath);
ret++;
continue;
}
@@ -100,7 +105,7 @@ static int query_fileowner(alpm_list_t *targets)
pmpkg_t *info = alpm_list_getdata(i);
for(j = alpm_pkg_get_files(info); j && !found; j = alpm_list_next(j)) {
char path[PATH_MAX], *ppath;
char path[PATH_MAX], *ppath, *pdname;
snprintf(path, PATH_MAX, "%s%s",
alpm_option_get_root(), (const char *)alpm_list_getdata(j));
@@ -109,10 +114,12 @@ static int query_fileowner(alpm_list_t *targets)
continue;
}
ppath = resolve_path(path);
pdname = mdirname(path);
ppath = resolve_path(pdname);
free(pdname);
if(ppath && strcmp(ppath, rpath) == 0) {
printf(_("%s is owned by %s %s\n"), rpath,
printf(_("%s is owned by %s %s\n"), filename,
alpm_pkg_get_name(info), alpm_pkg_get_version(info));
found = 1;
}

View File

@@ -107,9 +107,9 @@ int pacman_remove(alpm_list_t *targets)
for(i = finaltargs; i; i = alpm_list_next(i)) {
char *targ = alpm_list_getdata(i);
if(alpm_trans_addtarget(targ) == -1) {
printf("failed.\n");
fprintf(stderr, _("error: failed to add target '%s' (%s)\n"), targ,
alpm_strerrorlast());
printf(_("failed.\n"));
fprintf(stderr, _("error: '%s': %s\n"),
targ, alpm_strerrorlast());
remove_cleanup();
FREELIST(finaltargs);
return(1);

View File

@@ -25,6 +25,7 @@
#include <limits.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
#include <alpm.h>
#include <alpm_list.h>
@@ -57,6 +58,7 @@ static int sync_cleandb(const char *dbpath, int keep_used) {
/* step through the directory one file at a time */
while((ent = readdir(dir)) != NULL) {
char path[PATH_MAX];
struct stat buf;
alpm_list_t *syncdbs = NULL, *i;
int found = 0;
char *dname = ent->d_name;
@@ -68,6 +70,15 @@ static int sync_cleandb(const char *dbpath, int keep_used) {
if(!strcmp(dname, "sync") || !strcmp(dname, "local")) {
continue;
}
/* build the full path */
snprintf(path, PATH_MAX, "%s%s", dbpath, ent->d_name);
/* skip entries that are not dirs (lock file, etc.) */
stat(path, &buf);
if(!S_ISDIR(buf.st_mode)) {
continue;
}
if(keep_used) {
syncdbs = alpm_option_get_syncdbs();
for(i = syncdbs; i && !found; i = alpm_list_next(i)) {
@@ -78,9 +89,6 @@ static int sync_cleandb(const char *dbpath, int keep_used) {
/* We have a directory that doesn't match any syncdb.
* Ask the user if he wants to remove it. */
if(!found) {
/* build the full path */
snprintf(path, PATH_MAX, "%s%s", dbpath, ent->d_name);
if(!yesno(_("Do you want to remove %s? [Y/n] "), path)) {
continue;
}
@@ -197,6 +205,28 @@ static int sync_cleancache(int level)
return(0);
}
static int sync_trans_init(pmtransflag_t flags) {
if(alpm_trans_init(PM_TRANS_TYPE_SYNC, flags, cb_trans_evt,
cb_trans_conv, cb_trans_progress) == -1) {
fprintf(stderr, _("error: failed to init transaction (%s)\n"),
alpm_strerrorlast());
if(pm_errno == PM_ERR_HANDLE_LOCK) {
printf(_(" if you're sure a package manager is not already\n"
" running, you can remove %s.\n"), alpm_option_get_lockfile());
}
return(-1);
}
return(0);
}
static int sync_trans_release() {
if(alpm_trans_release() == -1) {
fprintf(stderr, _("error: failed to release transaction (%s)\n"),
alpm_strerrorlast());
return(-1);
}
return(0);
}
static int sync_synctree(int level, alpm_list_t *syncs)
{
alpm_list_t *i;
@@ -476,14 +506,7 @@ static int sync_trans(alpm_list_t *targets, int sync_only)
alpm_list_t *sync_dbs = alpm_option_get_syncdbs();
/* Step 1: create a new transaction... */
if(alpm_trans_init(PM_TRANS_TYPE_SYNC, config->flags, cb_trans_evt,
cb_trans_conv, cb_trans_progress) == -1) {
fprintf(stderr, _("error: failed to init transaction (%s)\n"),
alpm_strerrorlast());
if(pm_errno == PM_ERR_HANDLE_LOCK) {
printf(_(" if you're sure a package manager is not already\n"
" running, you can remove %s.\n"), alpm_option_get_lockfile());
}
if(sync_trans_init(config->flags) == -1) {
return(1);
}
@@ -526,28 +549,18 @@ static int sync_trans(alpm_list_t *targets, int sync_only)
* an '-S pacman' operation */
if(strcmp("pacman", alpm_pkg_get_name(spkg)) == 0) {
printf("\n");
printf(_(":: pacman has detected a newer version of itself.\n"
":: It is recommended that you upgrade pacman by itself\n"
":: using 'pacman -S pacman', and then rerun the current\n"
":: operation. If you wish to continue the operation and\n"
":: not upgrade pacman separately, answer no.\n"));
if(yesno(_(":: Cancel current operation? [Y/n] "))) {
if(alpm_trans_release() == -1) {
fprintf(stderr, _("error: failed to release transaction (%s)\n"),
alpm_strerrorlast());
retval = 1;
goto cleanup;
printf(_(":: pacman has detected a newer version of itself.\n"));
if(yesno(_(":: Do you want to cancel the current operation\n"
":: and install the new pacman version now? [Y/n] "))) {
if(sync_trans_release() == -1) {
return(1);
}
if(alpm_trans_init(PM_TRANS_TYPE_SYNC, config->flags,
cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) {
fprintf(stderr, _("error: failed to init transaction (%s)\n"),
alpm_strerrorlast());
if(sync_trans_init(0) == -1) {
return(1);
}
if(alpm_trans_addtarget("pacman") == -1) {
fprintf(stderr, _("error: pacman: %s\n"), alpm_strerrorlast());
retval = 1;
goto cleanup;
return(1);
}
break;
}
@@ -571,7 +584,7 @@ static int sync_trans(alpm_list_t *targets, int sync_only)
}
if(pm_errno != PM_ERR_PKG_NOT_FOUND) {
fprintf(stderr, _("error: '%s': %s\n"),
(char *)i->data, alpm_strerrorlast());
targ, alpm_strerrorlast());
retval = 1;
goto cleanup;
}
@@ -747,9 +760,7 @@ cleanup:
if(data) {
FREELIST(data);
}
if(alpm_trans_release() == -1) {
fprintf(stderr, _("error: failed to release transaction (%s)\n"),
alpm_strerrorlast());
if(sync_trans_release() == -1) {
retval = 1;
}
@@ -763,8 +774,19 @@ int pacman_sync(alpm_list_t *targets)
/* clean the cache */
if(config->op_s_clean) {
int ret = sync_cleancache(config->op_s_clean);
int ret = 0;
if(sync_trans_init(0) == -1) {
return(1);
}
ret += sync_cleancache(config->op_s_clean);
ret += sync_cleandb_all();
if(sync_trans_release() == -1) {
ret++;
}
return(ret);
}

View File

@@ -187,6 +187,34 @@ char *mbasename(const char *path)
return (char *)p;
}
/** Parse the dirname of a program from a path.
* The path returned should be freed.
* @param path path to parse dirname from
*
* @return everything preceding the final '/'
*/
char *mdirname(const char *path)
{
char *ret, *last;
/* null or empty path */
if(path == NULL || path == '\0') {
return(strdup("."));
}
ret = strdup(path);
last = strrchr(ret, '/');
if(last != NULL) {
/* we found a '/', so terminate our string */
*last = '\0';
return(ret);
}
/* no slash found */
free(ret);
return(strdup("."));
}
/* output a string, but wrap words properly with a specified indentation
*/
void indentprint(const char *str, int indent)
@@ -540,7 +568,7 @@ int pm_vasprintf(char **string, pmloglevel_t level, const char *format, va_list
/* print a prefix to the message */
switch(level) {
case PM_LOG_DEBUG:
asprintf(string, _("debug: %s"), msg);
asprintf(string, "debug: %s", msg);
break;
case PM_LOG_ERROR:
asprintf(string, _("error: %s"), msg);
@@ -587,7 +615,7 @@ int pm_vfprintf(FILE *stream, pmloglevel_t level, const char *format, va_list ar
/* print a prefix to the message */
switch(level) {
case PM_LOG_DEBUG:
fprintf(stream, _("debug: "));
fprintf(stream, "debug: ");
break;
case PM_LOG_ERROR:
fprintf(stream, _("error: "));

View File

@@ -41,6 +41,7 @@ int getcols();
int makepath(const char *path);
int rmrf(const char *path);
char *mbasename(const char *path);
char *mdirname(const char *path);
void indentprint(const char *str, int indent);
char *strtoupper(char *str);
char *strtrim(char *str);