summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2008-07-25src/pacman : rework the display_targets function.Xavier Chantry5-58/+64
We had a lot of duplicated code here. The code handling the showsize option needed to be there three times : 1) for install part of -S 2) for remove part of -S (conflict removal) 3) for -R This patch introduce a new display_targets(pkglist, install) function which can handle the 3 cases above. We pass install == 1 for case 1), and install == 0 for case 2) and 3). Now we can finally get the benefit of an old patch which handled the ShowSize option consistently in the 3 cases above, without an awful lot of duplicated code : http://www.archlinux.org/pipermail/pacman-dev/2008-January/011029.html Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-25Remove unused strverscmp substituteDan McGee3-106/+1
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-25pacsearch: quote args passed to pacmanDan McGee1-2/+2
Something such as "pacsearch foo|bar" would cause problems due to the quoting being dropped. Adding quotes solves the problem. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-25libalpm/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-25contrib: add pactree scriptCarlo Bersani3-0/+305
Pactree is a dependency tree viewer for installed packages. It features both textual and graphic (through graphviz) output. Script by: Carlo Bersani <carlocci@gmail.com> [Allan: removed whitespace errors] Signed-off-by: Allan McRae <allan@archlinux.org> [Dan: killed some unnecessary lines, moved license header] Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-25makepkg: add packages to pkgdeps list only after successful installAllan McRae1-2/+2
This fixed FS#9403. With this you can use "makepkg -sr", install the dependencies, Ctrl+c during the makedepends installation and have makepkg remove the installed packages on the exit. Previously makepkg tried to also remove the makedepends which were not installed. The deplist="" line in remove_deps is due to an obscure bug where local varaibles from the handle_deps function seem stay in scope because we never formally exited it. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-25Fix vercmp and add additional testsDan McGee3-16/+48
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-23-Sqg and -QqgNagy Gabor2-3/+12
With --quiet, "pacman -Sg grp" and "pacman -Qg grp" don't list group names. Note that "pacman -Qgq" and "pacman -Sggq" (without targets) still list group names becuase their output would not be very useful without them. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23Update pactest READMENagy Gabor1-1/+3
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23Re-enable --debug with -Sw and -SpNagy Gabor1-1/+1
Commit 874190827676e3a974e8c5fef6c51b9e9d6b60fa disabled --debug in these cases. We just clear PM_LOG_WARNING flag now. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23New fileconflict004.py pactestNagy Gabor1-0/+19
Thread: http://www.archlinux.org/pipermail/pacman-dev/2008-July/012465.html Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
2008-07-23Update Portuguese (Brazil) translationHugo Doria3-651/+476
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-23Update Polish translationMateusz Herych2-603/+412
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-23Update Russian translationSergey Tereschenko2-753/+410
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-23Update Czech translationVojtěch Gondžala2-552/+414
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-23Update British English translationJeff Bailes2-578/+403
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-23Update Turkish translationSamed Beyribey3-697/+622
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-23Update Chinese Simplified translation甘露(Lu.Gan)2-669/+536
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23Update Hungarian translationNagy Gabor2-505/+393
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23Update Spanish translationJuan Pablo González Tognarelli2-161/+232
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23Update Italian translationGiovanni Scafora2-629/+424
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23Update German translationMatthias Gorissen2-566/+417
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23Update French translationXavier Chantry2-560/+410
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-23Update pot files.Xavier Chantry2-402/+285
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2008-07-21Make strip paths configurableAllan McRae3-3/+15
This patch introduces a new STRIP_DIRS makepkg.conf option to change makepkg's search path when stripping binaries. Original work by: Thomas Bächler <thomas@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
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-19Strip *.a libraries in makepkgAllan McRae1-1/+3
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-19Use LC_ALL=C everywhereAllan McRae1-2/+2
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-18alpm_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-18Fix 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-16_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>
2008-07-16Use "pacman -S $dep" in makepkg's dependency resolvingNagy Gabor1-7/+2
This method is equivalent with pacman's resolvedeps. $dep can be any (versioned) dependency. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-16Fix some memleaks in alpm/add.cNagy Gabor1-7/+13
In case of error some allocated memory wasn't freed in commit_single_pkg. Note: The return value of this function is not used. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-16Fix a wrong FREELIST usage in add.cNagy Gabor1-1/+2
The dynamic pmconflict_t must be freed with _alpm_conflict_free. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-16makepkg: speed up svn revision check for large repositoriesDan McGee1-1/+1
Using the suggestion from FS#10905, use 'svn info' rather than 'svn log' to get the current revision number, which is much quicker for large Subversion repositories. Eventually git will rule the world. :) Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-16Remove pacman.static build from build filesDan McGee3-25/+0
This presents plenty of problems on OSes besides Linux, and even on Linux when the libtool file for libarchive isn't present. The static build isn't all that useful anyway as missing something such as glibc will still leave you unable to run the pacman.static binary. Remove it from the formal build process. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-13src/pacman/sync.c : Display only errors with -Sp and -Sw operations.Xavier Chantry1-0/+5
In particular, this avoids warnings cluttering the output of these operations. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-13sync_addtarget reworkNagy Gabor7-123/+34
Now '-S provision' handling is done in the back-end. In case of multiple providers, the first one is selected (behavior change: deleted provision002.py). The old processing order was: literal, group, provision; the new one: literal, provision, group. This is more rational, but "pacman -S group" will be slower now. "pacman -S repo/provision" also works. Provision was generalized to dependencies, so you can resolve deps by hand: "pacman -S 'bash>2.0'" or "pacman -S 'core/bash>2.0'" etc. This can be useful in makepkg dependency resolving. The changes were documented in pacman manual. alpm_find_pkg_satisfiers and _alpm_find_dep_satisfiers functions were removed, since they are no longer needed. I added some verbosity to "select provider instead of literal" and "fallback to group". Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-13remove_addtarget rework (in front-end)Nagy Gabor1-46/+46
Now "pacman -R foo" first searches for literal, and then for group. This is faster in most cases, see: http://www.archlinux.org/pipermail/pacman-dev/2008-July/012311.html "-R group" implementation was broken, since alpm_grp_get_pkgs returns with an pmpkg_t list, not a string list. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-13New remove060.py pactestNagy Gabor1-0/+19
This is a group removal test. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-08Merge branch 'maint'Dan McGee2-2/+2
2008-07-08Fix a bogus message in Hungarian translationNagy Gabor1-1/+1
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-08Remove requiredby from pactestsNagy Gabor35-183/+2
Also remove some meaningless pactests (broken requiredby, requiredby*.py tests). requiredby001.py was renamed to upgrade076.py. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-08Resolvedeps reworkNagy Gabor4-132/+92
I divided resolvedeps into 2 functions. The new _alpm_resolvedep function will resolve one dependency, for example the 'foo>=1.0-1' dependency. It can be useful in sync_addtarget refactoring. The resolvedeps parameters were changed, to be coherent with recursedeps: * the target-list is an alpm_list* instead of alpm_list**. This is OK, because alpm_list_add == alpm_list_add_last * syncpkg param was removed. list contains the to-be-installed packages, resolvedeps will add the required dependencies into this list * trans param was removed, it was used in QUESTION() only, which can be used on the main (handle->trans) transaction only (because the front-end cannot access our pseudo-transactions at all!). The patch fixes some wrong dynamic pmdepmissing_t usage. I did a behavior change (and sync1003.py was modified accordingly), which needs some explanation: The old resolvedeps didn't elect packages from 'remove' list. I've dropped this because I don't want that 2nd excluding list param. In fact, in real life, we ~never need this rule. Resolvedeps is called before checkconflicts, so only -Su's %REPLACES% packages are sitting in 'remove' list. This means, that we have the replacement packages in our target list. Usually "foo replaces bar" means, that bar isn't in our repos any more, so resolvedeps *cannot* elect it; but usually it won't try it at all, because foo is in the target list, and it is expected to satisfy 'bar>=1.0-1'-like dependencies too. Since checkdeps and checkconflicts is done after resolvedeps, this cannot cause any harm. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-08Swap parameters on PM_TRANS_CONV_INSTALL_IGNOREPKG callback functionNagy Gabor2-4/+4
PM_TRANS_CONV_INSTALL_IGNOREPKG callback function can get 2 params: foo, bar in this order (packages), bar can be NULL. Old API: foo, NULL: Do you want to install foo from IgnorePkg? foo, bar: foo requires bar from IgnorePkg. Do you want to install bar? New API: foo, bar: Do you want to install foo from IgnorePkg? (If bar!=NULL:) bar requires it. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-08New _alpm_find_dep_satisfier functionNagy Gabor2-6/+20
This function finds the first satisfier package in a pkglist. Using it instead of _alpm_find_dep_satisfiers eliminates some memleaks and it is faster. (_alpm_find_dep_satisfiers and _alpm_find_pkg_satisfiers will be removed soon.) Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-08New _alpm_dep_edge functionNagy Gabor3-40/+31
The function is introduced to kill some code duplication. The function name uses the 'dependency graph' terminology. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-08Don't duplicate packages in requiredby listNagy Gabor1-3/+2
This is a "fix" for FS#10226. I think that multiple versioned dependencies are quite common now, and the old behavior is quite annoying there. This patch won't cause any slow-down. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-02Use $PKGEXT (from /etc/makepkg.conf) in bacmanNagy Gabor1-1/+2
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>