aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add the '[' & ']' separators now used for versions in synthesistopic/proyvindPer Øyvind Karlsen2009-08-081-8/+8
|
* add some simple cases using distepoch for testing compare()Per Øyvind Karlsen2009-08-081-1/+4
|
* make a rpm.org wrapper function for Fstat()Per Øyvind Karlsen2009-08-062-8/+5
|
* remove #ifdef RPM_ORG around RPM_CHAR_TYPE as it's no longer required due toPer Øyvind Karlsen2009-08-061-2/+0
| | | | | rpm4compat.h changes
* make char_backups staticPer Øyvind Karlsen2009-08-061-1/+1
|
* move some rpm5 compatibility functions into a separate header to keep source ↵Per Øyvind Karlsen2009-08-062-121/+132
| | | | cleaner
* implement a local version of rpm5.org's EVR_t, rpmEVR* & friends for rpm.orgPer Øyvind Karlsen2009-08-062-6/+117
|
* "fix" rpmvercmp behaviour with rpm5 (fixing rpm.org remains)Per Øyvind Karlsen2009-08-062-7/+35
|
* * as rpm uses unsigned long for epoch, use strtoul() rather than atoi()Per Øyvind Karlsen2009-08-061-4/+2
| | | | | | * don't mark end of string for extracting epoch, stroul() will automatically stop reading at invalid digit characters
* fix warning about operation might being undefinedPer Øyvind Karlsen2009-08-051-1/+1
|
* * get version to compare from %provideversion with get_evr() rather thanPer Øyvind Karlsen2009-08-051-114/+62
| | | | | | | | manually extracting it from package name * just pass whole evr directly to rpmvercmp() rather than one by one element, makes things a lot cleaner and less confusing while also automatically adding support for distepoch comparision as well
* * add support for fetching disttag & distepoch with get_fullname_parts()Per Øyvind Karlsen2009-08-051-159/+170
| | | | | * refactorize get_fullname_parts() and friends using it
* store package filename based on rpm configuration rather than hardcoding itPer Øyvind Karlsen2009-08-051-19/+61
|
* create a branch of mine for more "experimental" activity ;)Per Øyvind Karlsen2009-08-050-0/+0
|
* remove no longer used SPEC_VERIFY constantPer Øyvind Karlsen2009-08-051-2/+0
|
* disttag & distepoch isn't utf8…Per Øyvind Karlsen2009-08-041-2/+2
|
* cast (es-s) to U32 (as the hv_fetch prototype expects) rather than casting ↵Per Øyvind Karlsen2009-08-041-1/+1
| | | | strlen(s) to signed
* 3.313.31Christophe Fergeau2009-07-281-1/+1
|
* we need to link with rpmbuild with rpm 4.6Christophe Fergeau2009-07-281-3/+3
|
* update NEWS fileChristophe Fergeau2009-07-281-0/+12
|
* add a backtrack entry "conflicts" for avoided packages in backtrack_selectedChristophe Fergeau2009-07-282-1/+8
| | | | Patch from Anssi Hannula, fixes part of bug #52153
* do not try to promote to an older packageChristophe Fergeau2009-07-281-1/+1
| | | | | | | | | | | | | | | | | Patch by Anssi Hannula, fixes bug #52460 When searching for possible promotions, _handle_diff_provides() allows downgrade as well as upgrade. However, downgrade is not currently supported, and will fail early in _no_more_recent_installed_and_providing(), called from resolve_requested__no_suggests_(). As no backtracking is done for early failures in this function (should it be? dunno), the promotion gets forgotten and a failing transaction will occur. Simple fix is to only allow upgrade before doing the promotion. Patch attached. It introduces no regressions in urpmi or perl-URPM testsuite.
* unselect current package if an avoided package is already selectedChristophe Fergeau2009-07-281-3/+14
| | | | | | | | | | | | | | | | Patch by Anssi Hannula, fixes bug #52145 If package 'a' Conflicts on 'b', and user (or a dependency chain) tries to install both at the same time, perl-URPM will only detect the conflict if package 'a' gets selected first (this depends on hdlist order), as _set_rejected_from is only called in one direction from _handle_conflicts and it does not detect that a package it is about to reject_from is already selected. This bug currently causes a failure in urpmi handle-conflict-deps2 testcase. This commit checks if avoided package is already selected, and unselects current package in such a case
* move part of _handle_conflicts to _handle_conflicts_with_selectedChristophe Fergeau2009-07-281-8/+17
| | | | | | | | | | | | | | Patch by Anssi Hannula, first step toward fixing bug #52145 If package 'a' Conflicts on 'b', and user (or a dependency chain) tries to install both at the same time, perl-URPM will only detect the conflict if package 'a' gets selected first (this depends on hdlist order), as _set_rejected_from is only called in one direction from _handle_conflicts and it does not detect that a package it is about to reject_from is already selected. This patch moves part of _handle_conflicts to _handle_conflicts_with_selected to be called before dependencies get added, needed by next patch
* _handle_conflicts: check all provides for conflicts, not just package nameChristophe Fergeau2009-07-281-1/+1
| | | | | | | | | | | | | Patch by Anssi Hannula, fixes bug #52135 If package a has "Conflicts: x" and b has "Provides: x", installing both at the same time creates a failing transaction (instead of producing the "cannot install a (or b), continue?") as perl-URPM does not detect the conflict, as it just checks the conflicts on the package name (it does the correct thing with installed packages, though). _handle_conflicts: call _set_rejected_from if any provides match the conflict, instead of just package name
* keep psel/promote info and remove deadlocked pkg instead of aborting upgradeChristophe Fergeau2009-07-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Patch from Anssi Hannula, fixes bug #52105 lib64gcj9 has to be removed (conflicts), therefore so does libgcj9-src (x86_64) that depends on it. Installed java-1.5.0-gcj-src depends on libgcj9-src, so perl-URPM tries to promote the i586 libgcj9-src for it. However, strict_arch check prohibits changing the arch, so it falls back to backtracking. Backtracking finds libgcj9-src again and tries to select it; however, it drops $dep->{psel} and $dep->{promote}, so when it fails again, perl-URPM does not know java-1.5.0-gcj-src should also be removed due to the failed promotion. This patch changes the code in backtrack_selected in two ways: 1) When a replacement package is found, keep {promote} and {psel} info, so that when backtrack_selected is run the second time it correctly handles the failed promotion. 2) When such a replacement fails as well and the deadlock protection is triggered, do not switch to keep mode for the package that caused the promotion (it would unselect all the packages involved in the update that caused the promotion). Instead proceed to remove it as usual. The patch introduces no failures on the urpmi testsuite.
* keep track of sources for obsoleted/removed levelsChristophe Fergeau2009-07-282-3/+17
| | | | | | | | | | | | | | | | | | | | | | Patch by Anssi Hannula, fixes bug #50666 removed/obsoleted levels are set in set_rejected() when a package is rejected (i.e. removed) or a rejection reason is added. They keep track on whether the package is removed and/or obsoleted. When the package has both flags and one of the rejection reasons is removed by _remove_rejected_from(), appropriate flags do not get removed. The case I encountered: the package is set for removal when a package it depends on fails upgrade due to unsatisfied dependency and has to be removed (backtrack_selected => resolve_rejected, causing removed=1), and the package is then promoted (causing obsoleted=1). However, the promotion fails due to the same unsatisfied dependency and backtrack_selected => disable_selected_and_unrequested_dependencies => disable_selected => _remove_all_rejected_from => _remove_rejected_from gets called. This removes the latter rejection reason, but leaves flags, including the now wrong obsoleted=1. Thus the package is not explicitely removed as an obsoletion is assumed, therefore failing the transaction.
* use pkg-config for rpm 4.x tooChristophe Fergeau2009-07-271-4/+1
|
* remove unused variableChristophe Fergeau2009-07-271-1/+0
|
* rephrase wording, only support for querying %disttag & %distepoch so far, no ↵Per Øyvind Karlsen2009-07-261-1/+1
| | | | | | | support for using %distepoch i version comparisions yet...
* add support for %disttag & %distepochPer Øyvind Karlsen2009-07-262-0/+19
|
* just use (void) rather than assign rpmtsFree() since it seems to cause ↵Per Øyvind Karlsen2009-07-261-15/+15
| | | | crashy behaviour certain places...
* bumping version was forgotten for 3.30 release, might as well bump it up toPer Øyvind Karlsen2009-07-261-1/+1
| | | | | 3.31 now for next release…
* update changelog regarding rpm5Per Øyvind Karlsen2009-07-261-0/+3
|
* oops, put back line that accidentally got removed in the previous commit…Per Øyvind Karlsen2009-07-261-0/+1
|
* enable and fix additional (-Wextra) warningsPer Øyvind Karlsen2009-07-262-14/+13
|
* fix gcc warnings about values not being usedPer Øyvind Karlsen2009-07-261-26/+26
|
* * clean out compatibility code for older rpm versions that's not reallyPer Øyvind Karlsen2009-07-262-104/+33
| | | | | | supported anymore anyways and move out as much as possible rpm5.org compatibility code out of URPM into new rpm46compat.h @ rpm5.org
* add support for specifying custom filter for compression with build_synthesis()Per Øyvind Karlsen2009-07-251-2/+4
|
* really clean up temporary files & directories properlyPer Øyvind Karlsen2009-07-222-8/+8
|
* prevent distepoch & disttag to be added and appended to package filenamePer Øyvind Karlsen2009-07-221-0/+5
|
* Removed forgotten debugging logsChristophe Fergeau2009-05-111-2/+0
|
* Add bug #Christophe Fergeau2009-05-111-1/+1
|
* Release 3.303.30topic/0.30Christophe Fergeau2009-05-111-0/+7
|
* Use key IDs to check if a key is already known or notChristophe Fergeau2009-05-111-73/+15
| | | | | | | | This has the side-effect that if we get a newer public key corresponding to an already known key id, it won't get updated, but for now RPM doesn't let us do that anyway. If a pubkey file contains multiple keys, we no longer handle this case, but I don't think this has been widely tested, if ever...
* Fix commentChristophe Fergeau2009-05-111-1/+1
|
* Introduce get_gpg_fingerprint XS functionChristophe Fergeau2009-05-111-0/+36
|
* 3.293.29topic/3.29Christophe Fergeau2009-03-272-1/+7
|
* Fix regression introduced in fix for bug #47803Christophe Fergeau2009-03-272-5/+8
| | | | | | | | | | | | This reverts the previous commit only compute diff_provides when the package is newly rejected, in set_rejected_and_compute_diff_provides Try this incremental patch. It fixes set_rejected_and_compute_diff_provides to not compute diff_provides if package was already rejected (and thus the dependencies properly handled already).
* Revert part of the fix for bug #47803 since it breaks upgrades from 2008.1Christophe Fergeau2009-03-272-3/+4
|