summaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2008-10-18Correctly close the pipe used for scriptlet executionDan McGee1-3/+3
We never had a call to pclose() in here before, leaving our file descriptor in some sort of limbo state. In addition, clean up some of the other logic such as directly calling exit(1) on a popen() failure rather than going to our cleanup block, and handling and respecting the exit status of the subprocess correctly. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-12Minor updates to Russian translationSergey Tereschenko1-6/+6
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-12Remove unnecessary unistd.h header inclusionDan McGee4-4/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-12libalpm: handle syscall interruption correctlyDan McGee2-4/+4
It is possible to throw EINTR from a system call such as open(), close(), or waitpid() if custom signal handlers are set up and they are not initialized with the SA_RESTART flag. This was noticed by Andreas Radke when ^C (SIGINT) was given during the call to waitpid(), causing it to throw the EINTR error and we could not accommodate it. Simply wrap these calls in a simple loop that allows us to retry the call if interrupted. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-26New Ukrainian translationRoman Kyrylych2-0/+555
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-25Final updates on all translation for 3.2.1Xavier Chantry9-18/+0
* Update all .po files because of the last "-q,--quiet" fix. Also for some strange reason, en_GB was missing a few c-format tags. * Finally, delete all unused translations. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-25Update Portuguese (Brazil) translationHugo Doria1-3/+3
Xav : alignment fixes
2008-08-25Update Turkish translationSamed Beyribey1-4/+4
2008-08-25Update Chinese Simplified translation甘露(Lu.Gan)1-4/+4
2008-08-24Update Czech translationVojtěch Gondžala1-6/+4
2008-08-24Update German translationMatthias Gorissen1-3/+3
2008-08-24Update Russian translationSergey Tereschenko1-3/+3
[Xav: one minor fix to libalpm po file]
2008-08-23Update British English translationXavier Chantry1-3/+3
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-08-23Update French translationXavier Chantry1-3/+3
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-08-23Update Hungarian translationNagy Gabor1-5/+2
2008-08-23Update Spanish translationJuan Pablo González Tognarelli1-18/+17
Xav : one minor fix (a missing %s in the downgrading message).
2008-08-23Update Polish translationMateusz Herych1-2/+2
2008-08-23Update Italian translationGiovanni Scafora1-9/+8
2008-08-23Update translation files for pending 3.2.1 releaseDan McGee13-118/+154
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-23Cleanup of _alpm_pkg_compare_versions.Xavier Chantry3-28/+41
* Change the return values to be more informative. It was previously boolean, only indicating if a sync package was newer than a local package. Now it is a simple wrapper to vercmp, handling the force flag. * Remove the verbose output from _alpm_pkg_compare_versions. The "force" message is not so useful. The "package : local (v1) is newer than repo (v2)" message can be moved to -Su operation. For the -S operation, it is better to have something like : "downgrading package from v1 to v2" * Don't display the "up to date -- skipping" and "up to date -- reinstalling" messages, when the local version is newer than the sync one. * Fix the behavior of --needed option to not skip a target when the local version is newer, and clarify its description. * Add a new alpm_pkg_has_force function This allows us to access the pkg->force field like any other package fields. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-19Remove an usused variable from alpm/util.c/_alpm_lckmk()Nagy Gabor1-10/+2
Probably a tweakable "lockdb-retry" option was planned which is not implemented. (Now it should be implemented in front-end.) So now this variable was unused and caused a small memleak. (FREE(dir) was not reached in case of error.) Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-19libalpm/add.c : ensure the old pkg was fully loaded.Xavier Chantry1-0/+3
This fixes FS#11218. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-08Fix segfault on x86_64 when using UseSyslogDan McGee1-2/+9
Due to differences in handling va_list between i686 and x86_64, this bug can only be seen on x86_64. va_list usage is not allowed but we had been getting away with it. See http://lists.opensuse.org/opensuse-programming/2008-02/msg00005.html for details and explanation. This fixes FS#11096. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-08Fix variable naming issues in _alpm_db_cmpDan McGee2-3/+3
When this function got a rewrite in commit f43805d875, argument and variable names got a bit mixed up when separating the casts from the strcmp operation. Fix the mixup which also fixes a possible segfault when this function is called. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-05Avoid double slashes in URLs given to libdownload.Xavier Chantry2-3/+14
If a Server specified in pacman.conf had a trailing slash, libalpm ended up building URLs with double slashes, and this broke libdownload with errors like the following one : error: failed retrieving file 'redland-1.0.8-1-i686.pkg.tar.gz' from 192.168.0.90 : Command okay So the public function alpm_db_set_server will make sure to remove the trailing slash of servers. For the private function _alpm_download_single_file, I only added a comment. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-05dload.c : drop the specific handling of file: url.Xavier Chantry1-15/+0
Before commit fc48dc31, file:/// urls forced the use of the internal downloader (libdownload), because the default XferCommand, wget, does not handle them. We tried to move away from forcing usage of libdownload, so this commit implemented the handling of file:/// urls manually. However, this implementation is way too basic. It does not handle the progress bar, thus nothing at all appears in pacman's output when a file: repo is synchronized, or when a file is downloaded from a sync repo. Also, it is not able to detect when the repo is already up-to-date. When libdownload was used, both were handled. It seems better to just drop this implementation for now. All users who use libdownload will get the much better file:// handling back. For the users of XferCommand, it will be more problematic, but they have several options: 1) Switch to a downloader handling file:// (wget doesn't, but curl does for example). 2) Drop the file:// repo, and set up light http or ftp servers instead. Consider that going that way would make this repo available for the whole local network, which can be useful. 3) Switch back to libdownload, which works perfectly for many users. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-30Final update of all translations.Xavier Chantry1-1/+1
Two recent commits slightly broke the translations, so this fixes all of them. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-25Small fix to Italian translationGiovanni Scafora1-2/+2
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-24Implement AND based package searching.Xavier Chantry1-1/+8
This fixes FS#2334. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> [Dan: add some comments to the code] Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-24Remove unused strverscmp substituteDan McGee2-105/+0
Our internal vercmp function was the only user of this, and it no longer relies on it. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-24libalpm/package.c : fix infolevel bug in pkg_dupXavier Chantry1-11/+10
The pkg_dup function shouldn't call any alpm_pkg_get_ accessors because this can fill the old package with all INFRQ_DESC fields for example, and this won't necessarily be reproduced in the new package (for all the fields that were copied before). Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-24Fix vercmp and add additional testsDan McGee1-12/+14
This vercmp issue has been a sticking point but this should resolve many of the issues that have come up. Only a few minor code changes were necessary to get the behavior we desired, and this version appears to beat any other vercmp rendition on a few more cases added in this commit. This commit passes all 58 vercmp tests currently out there. Other 'fixes' still fail on a few tests, namely these ones: test: ver1: 1.5.a ver2: 1.5 ret: -1 expected: 1 ==> FAILURE test: ver1: 1.5 ver2: 1.5.a ret: 1 expected: -1 ==> FAILURE test: ver1: 1.5-1 ver2: 1.5.b ret: 1 expected: -1 ==> FAILURE test: ver1: 1.5.b ver2: 1.5-1 ret: -1 expected: 1 ==> FAILURE 4 of 58 tests failed Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-22Update Portuguese (Brazil) translationHugo Doria1-150/+129
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-22Update Polish translationMateusz Herych1-184/+112
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-22Update Russian translationSergey Tereschenko1-163/+110
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-22Update Czech translationVojtěch Gondžala1-139/+111
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-22Update British English translationJeff Bailes1-138/+110
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-22Update Turkish translationSamed Beyribey1-155/+127
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-22Update Chinese Simplified translation甘露(Lu.Gan)1-164/+136
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-22Update Hungarian translationNagy Gabor1-143/+115
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-22Update Spanish translationJuan Pablo González Tognarelli1-12/+43
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-22Update Italian translationGiovanni Scafora1-161/+116
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-22Update German translationMatthias Gorissen1-138/+114
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-22Update French translationXavier Chantry1-139/+111
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-22Update pot files.Xavier Chantry1-119/+91
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-19Rephrase some debug messages in alpm/sync.cNagy Gabor1-5/+6
Debug messages were removed from _alpm_sync_find, because it is a general purpose function; debug messages should be placed in the caller function. I inserted "adding package foo-1.0-1 to the transaction targets" debug message to find_replacements and sync_sysupgrade. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-19Use NULL instead of "" as no causingpkgNagy Gabor1-1/+1
Our STRDUP macro (used in _alpm_depmiss_new) is NULL safe. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-17alpm_list_remove treat NULL needle as "nothing"Nagy Gabor1-0/+4
So if you want to remove NULL needle from a list, alpm_list_remove will return with "not found". Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-17Fix a possible segfault in alpm/remove.cNagy Gabor1-0/+3
Before removing a package from target list (in remove_prepare_keep_needed), we should check whether we have already removed it. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-15_alpm_db_add_pkgincache reworkNagy Gabor2-4/+21
Commit 8240da6cb3ff95ad480efe3e1876104024398fae broke some alpm hierarchy and introduced a new memleak (trans->packages was never freed in case of add transaction, even if the transaction wasn't committed), so it is reverted now. We follow a different approach to reduce memory usage: _alpm_db_add_pkgincache doesn't duplicate the whole package before adding it to the cache, only the package name and version (INFRQ_BASE). This method needs very small extra memory (compared to the reverted method), and after transaction commit we use less memory than before (since the big 'files' fields are not copied to cache), this is useful in GUIs. Note: The old add_pkgincache was a bit broken, since pkg->origin wasn't filled in correctly. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Acked-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>