Version 3.17 - 4 July 2008, by Pascal "Pixel" Rigaux - add traverse_tag_find(), removed_or_obsoleted_packages() - handle $state->{orphans_to_remove} in selected_size() and build_transaction_set() Version 3.16 - 26 June 2008, by Pascal "Pixel" Rigaux - when not selecting a package because already installed, but it in $state->{rejected} with flags {installed} Version 3.15 - 23 June 2008, by Pascal "Pixel" Rigaux - fix urpmi wrongly considering epochless conflicts to match any epoch in a case when urpmi should upgrade a conflicting package to an actually non-conflicting version (cf epochless-conflict-with-promotion urpmi test) (Anssi) Version 3.14 - 23 May 2008, by Pascal "Pixel" Rigaux - add is_package_installed() in URPM/Resolve.pm (to be used in urpmi 5.20) Version 3.13 - 20 May 2008, by Pascal "Pixel" Rigaux - do not ignore dropped provide from updated package (mdvbz#40842) Version 3.12 - 7 March 2008, by Pascal "Pixel" Rigaux - do allow to promoting a pkg even if it has unsatisfied require (since the code will then fix the unsatisfied require). fixes "big transaction" (cf urpmi split-transactions--strict-require.t test_efgh()) - rpm5.org port done (by Per Øyvind Karlsen) Version 3.11 - 26 February 2008, by Pascal "Pixel" Rigaux - restore FILENAME_TAG in generated hdlist (to be compatible with older distros where ->filename can rely on it) (thanks to Nanar) Version 3.10 - 26 February 2008, by Pascal "Pixel" Rigaux - add filesize to synthesis, add ->filesize to get it, and add selected_size_filesize() to compute the sum - allow urpmi to know a package was not selected because a newer version is installed (#29838) - handle new package providing xxx which conflicts with an installed package (#17106) - fix sort choices changed in perl-URPM 3.08 - allow fixing "using one big transaction" that occurs when using --keep (#30198) - do not add FILENAME_TAG and FILESIZE_TAG to hdlist anymore, deprecate ->header_filename, deprecate URPM::Build::parse_rpms_build_headers Version 3.08 - 25 February 2008, by Pascal "Pixel" Rigaux - sort choices on virtual package by provided version (#12645) Version 3.07 - 11 January 2008, by Pascal "Pixel" Rigaux - add URPM::Package->changelogs, a wrapper around ->changelog_time, ->changelog_name, ->changelog_text - resolve kmod requires even if first choice is a source dkms Version 3.05 - 8 January 2008, by Pascal "Pixel" Rigaux - fix regression in ->parse_rpm (introduced in 3.00) (was breaking genhdlist2 and mkcd) Version 3.04 - 20 December 2007, by Pascal "Pixel" Rigaux - fix regression in parse_pubkeys() (introduced in 3.00) (#36121) Version 3.03 - 14 December 2007, by Pascal "Pixel" Rigaux - suggests: handle both RPMTAG_SUGGESTSNAME (as done in SuSE and in Mandriva > 2008.0) and RPMTAG_REQUIRENAME + RPMSENSE_MISSINGOK (as done in Mandriva 2008.0) Version 3.02 - 14 December 2007, by Pascal "Pixel" Rigaux - fix "make test" on rpm 4.4.2.2 - fix rpm 4.5 support Version 3.01 - 11 December 2007, by Pascal "Pixel" Rigaux - add URPM::DB::verify() Version 3.00 - 11 December 2007, by Pascal "Pixel" Rigaux - replace ->import_needed_pubkeys and ->import_pubkey in favor of import_needed_pubkeys_from_file() and ->import_pubkey_file (! this breaks API !) - drop $package->upgrade_files() (unused for a long time afaik) - rpm.org HEAD support Version 2.10 - 22 November 2007, by Pascal "Pixel" Rigaux - much simpler --auto-select algorithm (fixes #35718, ie auto-selecting with strict-arch) (!! DANGEROUS CHANGE !!) - rpm 4.5 support (thanks to peroyvind) (#35323) Version 2.09 - 8 November 2007, by Pascal "Pixel" Rigaux - use a simple function to return simple string list from header (fixes getting >4096 long rpm changelogs) (!! static buffer size limitation in callback_list_str_xpush() should be fixed !!) Version 2.08 - 24 October 2007, by Pascal "Pixel" Rigaux - fix build on rpm 4.4.2.2 Version 2.07 - 1 October 2007, by Pascal "Pixel" Rigaux - prefer precompiled kmod packages corresponding to installed kernels - don't resolve suggested virtual packages if already installed (#34376) Version 2.06 - 28 September 2007, by Pascal "Pixel" Rigaux - also handle promotion via obsolete for conflicts Version 2.05 - 28 September 2007, by Pascal "Pixel" Rigaux - package promotion must respect strict_arch - enhance sorted graph by better taking into account conflicts from state->{rejected} (fixes "big transaction" in urpmi split-transactions--strict-require.t test) Version 2.04 - 27 September 2007, by Pascal "Pixel" Rigaux - handle promotion via obsolete, not only provides Version 2.03 - 20 September 2007, by Pascal "Pixel" Rigaux - fix bug doing "urpmi kernel-source" Version 2.02 - 18 September 2007, by Pascal "Pixel" Rigaux - prefer every kernel--devel- packages for which kernel-- is selected - fix regression in 2.00: we can't cache the platform, cache the result of is_arch_compat instead Version 2.01 - 14 September 2007, by Pascal "Pixel" Rigaux - fix bug occurring with --keep - fix regression in 2.00: keep_unrequested_dependencies is still used by installer. restore it, but must now be set trough $urpm->{keep_unrequested_dependencies} Version 2.00 - 13 September 2007, by Pascal "Pixel" Rigaux - speedup is_arch_compat (7 times faster) by keeping the platform in a cache - do not propose packages for non installed locales - pass the prefered choices to {callback_choices}: this allows urpmi to select all the prefered packages according to installed locales - handle promote for conflict from installed package (fixes test_gh() from urpmi split-transactions--promote test case) - handle promote from installed package which require a unselected package, whereas new package does not require it anymore (cf test_d & test_e from split-transactions--conflict urpmi test case) Version 1.80 - 3 September 2007, by Pascal "Pixel" Rigaux - fix bug in sort_graph (used by build_transaction_set) Version 1.78 - 31 August 2007, by Pascal "Pixel" Rigaux - fix dead-loop in build_transaction_set (#33020) Version 1.77 - 29 August 2007, by Pascal "Pixel" Rigaux - disable "dropping tags from rpm header" until we can safely use it Version 1.76 - 28 August 2007, by Pascal "Pixel" Rigaux - build_transaction_set: new sort algorithm which allow returning sets of circular dependent packages, taking into account obsoleted packages (fixes #31969). It may still fail in presence of conflicts - allow running transaction with justdb option - fix split_length > 1 (eg: "urpmi --split-length 2 a b c" will only install 2 pkgs) - spec2srcheader: workaround parseSpec returning a header where ->arch is set to %{_target_cpu} whereas we really want a header similar to .src.rpm (see #32824) Version 1.75 - 12 August 2007, by Pascal "Pixel" Rigaux - fix dropping tags from rpm header. it hasn't work since MDK8.1 and rpm 4.0. it may break urpmi!! but potentially allows a much smaller hdlist.cz :) Version 1.74 - 12 August 2007, by Pascal "Pixel" Rigaux - sort choices per media, then per version Version 1.73 - 11 August 2007, by Pascal "Pixel" Rigaux - allow running transaction with replagekgs option Version 1.72 - 10 August 2007, by Pascal "Pixel" Rigaux - modify parse_hdlist so that partial hdlist reading can be used (needed when some stuff is already done in the callback) Version 1.71 - 9 August 2007, by Pascal "Pixel" Rigaux - compilation fixes on rpm < 4.4.8 Version 1.69 - 9 August 2007, by Pascal "Pixel" Rigaux - "suggests" are no more handled as "requires" - resolve_requested support "suggests": a newly suggested package is installed as if required (can be disabled with option no_suggests) Version 1.68 - 3 August 2007, by Pascal "Pixel" Rigaux - add $trans->Element_version and $trans->Element_release Version 1.67 - 22 June 2007, by Olivier "Nanar" Thauvin - add osscore, archscore and platformscore function to URPM - is_platform_compat function to Pkg object - fix call to rpm function in spec2header() - fix some compilation warnings Version 1.66 - 2 July 2007, by Pascal "Pixel" Rigaux - fix --auto-select skipping some packages because of other packages providing a more recent version, but no obsolete between those packages. the fix is to revert commit from Aug 2002: "fixed propable old package (according provides) requested by request_packages_to_upgrade." Version 1.65 - 22 June 2007, by Olivier Thauvin - really fix arch_score evaluation Version 1.64 - 12 June 2007, by Pascal "Pixel" Rigaux - hack on $pkg->is_arch_compat to make it return true for noarch packages when using rpm 4.4.8 (#31314) Version 1.63 - 9 May 2007, by Pascal "Pixel" Rigaux - add $trans->Element_fullname Version 1.62 - 3 May 2007, by Pascal "Pixel" Rigaux - pass the virtual package name as a parameter to {callback_choices} in ->resolve_requested - add $trans->NElements and $trans->Element_name to be able to display name of uninstalled package in callback_uninst - fix b--obsoletes-->a and c--conflicts-->a prompting for upgrading a (need a fix in urpmi which rely on the $state->{rejected} to upgrade (-U) b instead of installing (-i) it) Version 1.60 - 8 March 2007, by Pascal "Pixel" Rigaux - more debugging hooks - create $urpm->packages_providing($name) and use it - create $urpm->packages_by_name($name) Version 1.59 - 1 March 2007, by Olivier Thauvin - rpm 4.4.8 adaptions - load rpm config files at module load, improve the mechanism Version 1.58 - 14 February 2007, by Pascal "Pixel" Rigaux - don't check signature and digest in ->traverse and ->traverse_tag (=> x15 speedup, ie 2.5 speedup on urpmi --auto-select and rpmdrake) Version 1.57 - 9 February 2007, by Pascal "Pixel" Rigaux - allow upgrading from noarch to x86_64 even if strict-arch Version 1.56 - 19 January 2007, by Pascal "Pixel" Rigaux - tell perl that strings from rpm headers are utf8 - add URPM::bind_rpm_textdomain_codeset() to set encoding of messages returned by rpmlib, and tell perl that those strings are utf8 - really use strict-arch by default on x86_64 Version 1.55 - 10 January 2007, by Pascal "Pixel" Rigaux - bug fix release - fix "not selecting foo-1 since the more recent foo-1 is installed" causing urpmi to try to remove the package it wants to install (#28076) Version 1.54 - 9 January 2007, by Pascal "Pixel" Rigaux - if we have a choice between foo-1 and bar-1 and foo-2 is installed, prefering bar-1 instead of foo-1 (otherwise we can hit: "the more recent foo-2 is installed, but does not provide xxx whereas foo-1 does", cf bug #27991) - bar is needed, foo-1 does provide bar, installed foo-2 does not provide bar: do not let the algorithm use foo-2 as if it also provides bar - allow understanding what ->resolve_requested is doing through a callback ($urpm->{debug_URPM}) - cleanup some code in ->resolve_requested - make the documentation for ->is_arch_compat more clear