summaryrefslogtreecommitdiff
path: root/lib/libalpm
AgeCommit message (Collapse)Author
2008-11-30Add regex to delta code so we don't segfault when reading lineDan McGee
If the delta line doesn't match our regex, we won't go and process it, possibly walking off the end of the string. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-11-17Minor code cleanupsDan McGee
Mostly noticed when compiling libalpm/pacman with ICC. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-31Set SIGPIPE handler to SIG_IGN when downloadingDan McGee
We don't want a failed write to kill our whole program when we are downloading things, so set the SIGPIPE handler to ignore when downloading and restore any previous signal handler when we complete the download. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-31Make libfetch the 'native' download libraryDan McGee
Use libfetch naming in the code in place of libdownload names. This is in preparation for dropping support for libdownload at some point as libfetch can run on Linux. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-31-Qu reworkNagy Gabor
From now on -Qu is an "outdated package" filter on local database. (This is a behaviour change.) This patch fixes some memleaks and makes the code cleaner, for details see my comment on FS#7884. FS#11868 is implemented. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-28Merge branch 'maint'Dan McGee
2008-10-28Update Chinese translationLyman Li
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-18Correctly close the pipe used for scriptlet executionDan McGee
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 Tereschenko
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-12Merge branch 'maint'Dan McGee
2008-10-12Remove unnecessary unistd.h header inclusionDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-12libalpm: handle syscall interruption correctlyDan McGee
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-09-03Remove unnecessary initialization in new functionsDan McGee
We don't need to zero things out, we are already using calloc for this purpose. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-26Merge branch 'maint'Dan McGee
2008-08-26New Ukrainian translationv3.2.1Roman Kyrylych
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-25Rename alpm_db_get{pkg,grp}cache to alpm_db_get_{pkg,grp}cacheXavier Chantry
This is more consistent with the private functions : _alpm_db_get_{pkg,grp}cache Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-25Change checkdeps and checkdbconflicts to be more flexible.Xavier Chantry
These two functions now take directly a package list rather than a database. checkdbconflicts was renamed to checkconflicts. Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-08-25Final updates on all translation for 3.2.1Xavier Chantry
* 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 Doria
Xav : alignment fixes
2008-08-25Update Turkish translationSamed Beyribey
2008-08-25Update Chinese Simplified translation甘露(Lu.Gan)
2008-08-24Update Czech translationVojtěch Gondžala
2008-08-24Update German translationMatthias Gorissen
2008-08-24Update Russian translationSergey Tereschenko
[Xav: one minor fix to libalpm po file]
2008-08-23Merge branch 'maint'Dan McGee
2008-08-23Update British English translationXavier Chantry
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-08-23Update French translationXavier Chantry
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-08-23Update Hungarian translationNagy Gabor
2008-08-23Update Spanish translationJuan Pablo González Tognarelli
Xav : one minor fix (a missing %s in the downgrading message).
2008-08-23Update Polish translationMateusz Herych
2008-08-23Update Italian translationGiovanni Scafora
2008-08-23Update translation files for pending 3.2.1 releaseDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-23Move -Sp implementation to the front-endNagy Gabor
This patch kills one of our hackish pseudo transactions: PRINTURIS. (The other one is -Sw) From now on, front-end must not call trans_commit in case of -Sp, it should print the uris of target packages "by hand" instead. PRINTURIS flag was removed, NOCONFLICTS flag can be passed to skip conflict checks. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-23New public alpm_pkg_get_db functionNagy Gabor
This function returns with the origin database of a package. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-23Pass the old package with PM_TRANS_EVT_UPGRADE_STARTNagy Gabor
This is more rational and coherent with PM_TRANS_EVT_UPGRADE_DONE. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-23Cleanup of _alpm_pkg_compare_versions.Xavier Chantry
* 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 Gabor
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 Chantry
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 McGee
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 McGee
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 Chantry
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 Chantry
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 Chantry
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 Scafora
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-24Implement AND based package searching.Xavier Chantry
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 McGee
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 Chantry
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 McGee
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 Doria
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-22Update Polish translationMateusz Herych
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>