- clean DB API (needs a new urpmi) - reduce code size Version 4.1 - 11 June 2012 - drop import_pubkey function (dead for 5 years) - fix importing pubkeys with rpm-4.10.0 (eg: when adding media) Version 4.0 - 8 June 2012 - drop URPM::Query (broken for years) - drop support for rpm-4.8.x - kill functions unimplemented for years - reduce code size Version 3.40 - 16 March 2012 - add URPM::traverse_tag_find() for urpme --env Version 3.39 - 27 February 2012 - do not add FILENAME_TAG to hdlist anymore (unused since mdv2008) - fix for a rare crash (mga#4425) - put real package file sizes in synthesis Version 3.38.8 - 07 February 2012 - switch from forking unpacker to using librpm Version 3.38.7 - 07 February 2012 - cleanups - fix computing size of added/freed disk space when updating involves removing some packages (mga#4427) - really prefer packages from first media, thus fixing downloading noarch packages from 32 bit repository (mga#1603) Version 3.38.6 - 15 January 2012 - support kernel 3.x in kmod resolution Version 3.38.5 - 19 December 2011 - fix parsing a spec file with rpm-4.9 (regression introduced when adding support for rpm-4.9) - enable to traverse db by fullname - fix slow matching of individual regexes for skipping dependencies by creating a large regex to match them all at once (mdv#61389, Shlomi Fish) Version 3.38.4 - 17 September 2011 - fix calling method in string (spoted by perl_checker, introduced in revision mga#267800 ("honour search medias when using --auto-select") but teuf on Fri Apr 23 2010 Version 3.38.3 - 12 September 2011 - fix urpmi segfaulting on 'urpmi foobar.spec' when some files are missing Version 3.38.2 - 09 September 2011 - fix spec2srcheader() for rpm-4.9.x Version 3.38.1 - 16 November 2010 - fix crashing while removing several packages (#248) - enable to compile with rpm-4.9.x Version 3.38 - 16 November 2010 - fix the key parsing to handle PEM encapsulated header portion (bug #61636) Version 3.37 - 20 September 2010 - fix crashing on undefined packages (#54521) Version 3.36 - 23 July 2010 - Fix wrong deferencement on HASH (warning triggered by perl 5.12) Version 3.35 - 23 April 2010 - when using auto-select, honour search-medias if some were specified Version 3.34.1 - 23 March 2010 - check selected packages for unsatisfied requires when a promoted package is backtracked and no replacement is found (#57224, Anssi Hannula) Version 3.34 - 24 February 2010 - check for conflicting selected packages before selecting a package (#57224) (by Anssi Hannula) Version 3.33 - 5 October 2009, by Christophe Fergeau - fix lookup of existing pubkeys (#53710) (by Pascal Terjan) Version 3.32 - 10 August 2009, by Christophe Fergeau - backtrack_selected: use set_rejected_and_compute_diff_provides for package removal (Anssi Hannula) - obey options (keep, nodeps) when unselecting current package in the case that was added in 3.31 (Anssi Hannula) Version 3.31 - 28 July 2009, by Christophe Fergeau - add support for querying %disttag & %distepoch (by Per Øyvind Karlsen) - clean up and bring back rpm5.org support (by Per Øyvind Karlsen) - keep track of sources for obsoleted/removed levels (#50666) Anssi Hannula) - keep psel/promote info and remove deadlocked pkg instead of aborting upgrade (#52105, Anssi Hannula) - _handle_conflicts: check all provides for conflicts, not just package name (#52135, Anssi Hannula) - unselect current package if an avoided package is already selected (#52145, Anssi Hannula) - do not try to promote to an older package (#52460, Anssi Hannula) - add a backtrack entry "conflicts" for avoided packages in backtrack_selected (#52153, Anssi Hannula) Version 3.30 - 11 May 2009, by Christophe Fergeau - rework public key handling since librpm behaviour has changed. It's no longer possible to tell it to add the same key multiple times which was causing weird "unable to import pubkey" messages when a mirror contains different pubkeys for the same key, fixes #50383 Version 3.29 - 27 March 2009, by Christophe Fergeau - fix regression introduced by fix for bug #47803 (fix by Anssi Hannula). Without this patch, urpmi got stuck in an infinite loop when trying to upgrade from 2008.1. Version 3.28 - 25 March 2009, by Christophe Fergeau - postpone user choices as much as possible to avoid asking the user unnecessary questions, (bug #48100, Anssi Hannula) Version 3.27 - 24 March 2009, by Christophe Fergeau - don't silently install suggests (bug #47934) - fix _handle_diff_provides in case of impossible-to-satisfy selected packages (bug #48223, Anssi Hannula) - check rep for another pkg providing X if the prev pkg gets removed due to a conflict (bug #47803, Anssi Hannula) Version 3.26 - 5 March 2009, by Thierry Vignaud - verify_signature: enable to check signatures against a chrooted rpmdb (especially important for installer where there's no rpmdb in / and thus no keys to check against) Version 3.25 - 16 January 2009, by Christophe Fergeau - previous fix for bug #46874 was bogus, really fix it this time Version 3.24 - 13 January 2009, by Christophe Fergeau - fix sorting choices on provided version (feature introduced in 3.08, but was not working if packages were coming from different repository) - when a "Requires:" can be fullfilled by several different packages and one of those packages is explicitly required by another package which is also being installed, silently choose this package instead of letting the choice up to perl-URPM user (fixes bug #46874) Version 3.23 - 12 December 2008, by Pascal "Pixel" Rigaux - fix bad free() (thanks to glibc for detecting it) Version 3.22 - 12 December 2008, by Pascal "Pixel" Rigaux - fix scriptlet failing: adapt to librpm4.6, rpmtsSetRootDir(ts, "") is forbidden Version 3.21 - 9 December 2008, by Pascal "Pixel" Rigaux - adapt to librpm4.6 - drop list_rpm_tag() Version 3.20 - 14 October 2008, by Pascal "Pixel" Rigaux - $trans->run can now return both the translated errors, and some parsable errors (useful for example to detect diskspace issues) Version 3.19 - 7 October 2008, by Pascal "Pixel" Rigaux - handle flag "replacefiles" Version 3.18 - 7 July 2008, by Pascal "Pixel" Rigaux - revert change introduced in 3.16 (it breaks too much, eg superuser--priority-upgrade.t test case), and introduce $state->{rejected_already_installed} instead 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, put 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 Version 1.53 - Jan 08 2007, by Pixel - add missing files to the tarball to allow make test - get rids of some "used of uninitialized value" Version 1.52 - Dec 04 2006, by Pixel - much stricter synthesis parsing: o fail on first error, o correctly handle gzread errors, o correctly handle parsing another synthesis after a buggy one Version 1.51 - Dec 01 2006, by Pixel - ensure verify_signature, parse_rpm and update_header do not segfault on weird rpm Version 1.50 - Nov 30 2006, by Pixel - fix segfault when using --excludepath (Thierry Vignaud) Version 1.49 - Nov 24 2006, by Pixel - strict-arch should not imply that noarch can't upgrade the real arch (#22558) Version 1.48 - Nov 21 2006, by Pixel - default to strict-arch on 64bits (tvignaud) - handle empty hdlist.cz/synthesis.cz (in build_hdlist, build_synthesis, parse_hdlist, parse_synthesis) - parse_rpms_build_headers: allow asking for packing (and so fixing an error in urpmi) - documentation & comments enhancement Version 1.47 - Oct 18 2006, by Rafael Garcia-Suarez - Ignore self-obsoletes (Pixel) - Fix a bogus check, avoids some infinite loops Version 1.46 - Sep 08 2006, by Rafael Garcia-Suarez - prefer stripped kernel source in choices list (needs to be refined) - fix URL in spec file Version 1.45 - Aug 09 2006, by Rafael Garcia-Suarez - fix a FD leak (P.Terjan); fix urpmi --strict-arch with SRPMS; cleanup Version 1.44 - Jun 12 2006, by Rafael Garcia-Suarez - Fixes for rpm 4.4.6 Version 1.43 - May 23 2006, by Rafael Garcia-Suarez - Fix urpmi .spec by loading macros beforehand (Olivier Thauvin) Version 1.42 - May 22 2006, by Rafael Garcia-Suarez - Fix FD leak (Pascal Terjan) Version 1.41 - May 02 2006, by Rafael Garcia-Suarez - Use more recent defines from the rpmlib - Add a function to traverse transactions Version 1.40 - Mar 15 2006, by Rafael Garcia-Suarez - Fixes for rpm 4.4.5 - Fix traversing rpmdb for "triggeredby" relationship Version 1.39 - Mar 07 2006, by Rafael Garcia-Suarez - More memory protection - Fix gcc options Version 1.38 - Mar 06 2006, by Rafael Garcia-Suarez - Fix deallocation of rpm transactions Version 1.37 - Mar 03 2006, by Rafael Garcia-Suarez - Rewrite verify_rpm(), which wasn't working with recent rpms (note incompatible API change) - New function verify_signature() - Make sure -fno-strict-aliasing is used for compilation - More docs Version 1.36 - Feb 13 2006, by Rafael Garcia-Suarez - Add flag ignorearch for installations Version 1.35 - Feb 10 2006, by Rafael Garcia-Suarez - repackage flag bug fix Version 1.34 - Feb 10 2006, by Rafael Garcia-Suarez - Add $pkg->installtid method - Doc nits, code cleanup - No need for an explicit dependency on perl-base Version 1.33 - Feb 09 2006, by Rafael Garcia-Suarez - Add repackage flag to run transactions Version 1.32 - Jan 25 2006, by Rafael Garcia-Suarez - Minor modification to spec2srcheader() Version 1.31 - Jan 19 2006, by Rafael Garcia-Suarez - New function spec2srcheader() (Olivier Thauvin) Version 1.30-2mdk - Jan 06 2006, by Rafael Garcia-Suarez - Rebuild for rpm 4.4.4 - Fix a regression test Version 1.30 - Dec 07 2005, by Rafael Garcia-Suarez - Fix epoch comparison bug - Be compatible with rpm 4.4.3 - Add a URPM::Package::dump_flags debug method - C code and makefile cleanup - Don't require bzip2 anymore Version 1.29 - Nov 02 2005, by Rafael Garcia-Suarez - Don't require packdrake, use MDV::Packdrakeng instead - Support for --ignoresize Version 1.28 - Oct 03 2005, by Rafael Garcia-Suarez - add some options to parse_rpm (nomd5, nopayload) (Olivier Thauvin) - Build process cleanup Version 1.27 - Sep 09 2005, by Rafael Garcia-Suarez - make add_macro quote embedded newlines. add_macro_noexpand now works like the previous version (i.e. like in the rpmlib) Version 1.26 - Sep 01 2005, by Rafael Garcia-Suarez - Add noscripts option to run transactions Version 1.25 - Aug 23 2005, by Rafael Garcia-Suarez - Better handle bad file descriptors returned by transaction callbacks (Pixel) - Doc fixes Version 1.24-3mdk - Aug 18 2005, by Rafael Garcia-Suarez - Allow to rebuild under non-C locales - Doc nits Version 1.24 - Jun 30 2005, by Rafael Garcia-Suarez - Add rpmErrorWriteTo() and rpmErrorString() Version 1.23 - Jun 16 2005, by Rafael Garcia-Suarez - add setVerbosity function Version 1.22 - Jun 07 2005, by Rafael Garcia-Suarez - Add make_delta_rpm function Version 1.21 - May 31 2005, by Rafael Garcia-Suarez - Add the URPM::Package::payload_format method Version 1.20 - May 04 2005, by Rafael Garcia-Suarez - Adaptations for rpm 4.4.1 (Olivier Thauvin) - More deprecation for RPMSENSE_PREREQ - Remove rpm 4.0 support - when no preferred locale is found, put locales-en in front of choice list (bug #15628) Version 1.11 - Mar 07 2005, by Rafael Garcia-Suarez - Speed optimisation for updating media Version 1.10 - Mar 02 2005, by Rafael Garcia-Suarez - Prepare for obsolescence of PreReq rpm tag, introduce equivalent RPMSENSE_SCRIPT_* tags Version 1.09 - Feb 15 2005, by Rafael Garcia-Suarez - Force recomputation of rejected packages when deleting some in installation dependency resolution Version 1.08 - Feb 11 2005, by Rafael Garcia-Suarez - Add macro handling code (O. Thauvin) Version 1.07-3mdk - Jan 21 2005, by Rafael Garcia-Suarez - Error handling nits. Version 1.07-2mdk - Dec 13 2004, by Rafael Garcia-Suarez - Require packdrake (and no longer rpmtools) Version 1.07 - Dec 13 2004, by Rafael Garcia-Suarez - Now returns the list of chosen packages sorted by descending version. Version 1.06 - Dec 09 2004, by Rafael Garcia-Suarez - Don't fork a packdrake to build hdlists anymore, use Packdrakeng.pm instead. - Remove unused requires. - Add ChangeLog in documentation. Version 1.05 - Nov 25 2004, by Rafael Garcia-Suarez - Allow to use non-contiguous selection ranges (Olivier Thauvin) Version 1.04 - Nov 10 2004, by Rafael Garcia-Suarez - More info reported about failures in dependency resolution. Version 1.03-2mdk - Oct 27 2004, by Rafael Garcia-Suarez - Support for urpmi --strict-arch option - Multiarch fix (Gwenole Beauchesne) - Don't use $TMPDIR if not writable Version 1.03 - Aug 29 2004, by Olivier Thauvin - add rpmvercmp binding (from perl-Hdlist) Version 1.02 - Aug 24 2004, by Rafael Garcia-Suarez - From now, never promote epochs in comparing versions. Version 1.01 - Aug 11 2004, by Rafael Garcia-Suarez - Better fix for packages that obsolete themselves (François Pons) - Protection against broken packages with bad fullnames (with an "@") Version 1.00 - Aug 02 2004, by Rafael Garcia-Suarez - Protection against packages that obsolete themselves. - Backwards compatibility with perl 5.6. - Cleanups. Version 0.99 - Jul 30 2004, by Rafael Garcia-Suarez - A small modification in the algorithm that searches for virtual provides: don't give a choice between several packages that are already installed. Version 0.98 - Jul 22 2004, by Rafael Garcia-Suarez - Add a function URPM::stream2header() Version 0.97 - Jul 14 2004, by Olivier Thauvin - Generate man page Version 0.96 - Jul 12 2004, by Rafael Garcia-Suarez - Simplify the parsing of skip.list and inst.list files - Segfault fixes by Olivier Thauvin Version 0.95-2mdk - May 21 2004, by Rafael Garcia-Suarez - Don't include older packages than the installed ones in the dependencies (except when urpmi is invoked with --allow-force) Version 0.95 - May 06 2004, by Rafael Garcia-Suarez - Add a way to make some error messages non-fatal Version 0.94-13mdk - Apr 30 2004, by Rafael Garcia-Suarez - A few bugfixes - Add the methods $pkg->queryformat() and $urpm->list_rpm_tag() - More tests Version 0.94-12mdk - Apr 21 2004, by Rafael Garcia-Suarez - cleanup and documentation Version 0.94-11mdk - Feb 25 2004, by Olivier Thauvin - parse_rpm_build_headers Version 0.94-10mdk - Dec 9 2003, by François Pons - added compability with RH 7.3. Version 0.94-9mdk - Nov 17 2003, by François Pons - fixed bug preventing adding local media. Version 0.94-8mdk - Nov 15 2003, by François Pons - added patch from Olivier Thauvin (new features). Version 0.94-7mdk - Oct 13 2003, by François Pons - fixed search for package broken in full provides instead of simply better package version, so that pam-devel is upgraded to libpam0-devel for example. Version 0.94-6mdk - Sep 10 2003, by François Pons - fixed diff provides on obsoleted provides still needed. Version 0.94-5mdk - Sep 10 2003, by François Pons - fixed bad reference to ARRAY on promote. Version 0.94-4mdk - Sep 5 2003, by François Pons - fixed diff provides generation to be always managed when requires have been completely handled. Version 0.94-3mdk - Sep 2 2003, by François Pons - fixed updating with older package not properly handled. Version 0.94-2mdk - Aug 22 2003, by François Pons - fixed potential deadlock on backtrack (use keep on the fly algorithm to complete backtracking). Version 0.94 - Aug 21 2003, by François Pons - fix for pubkey name extraction (gc). - updated code to be more adapted for both urpmi and DrakX in URPM::Signature. Version 0.93-7mdk - Aug 20 2003, by François Pons - fixed diff provides to be ignored on obsoleted provides which caused resolver to choose bad package due to removed obsoleted provides. - added URPM::Signature::compare_pubkeys to workaround rpm importation of key with modified armor. Version 0.93-6mdk - Aug 19 2003, by François Pons - make URPM::Signature::import_armored_file independent from rpm. - added URPM::import_pubkey in xs directly. Version 0.93-5mdk - Aug 18 2003, by Pixel - perl_checker compliance Version 0.93-4mdk - Aug 13 2003, by Guillaume Cottenceau - provide URPM::Signature as well Version 0.93-3mdk - Aug 11 2003, by François Pons - fixed limit case for string extraction from headers (files_md5sum). - removed unsatisfied_requires2 from xs not used and not finished. Version 0.93-2mdk - Aug 11 2003, by François Pons - fixed pubkey management, fixed importation of pubkey in rpmdb. Version 0.93 - Aug 6 2003, by François Pons - added URPM::Signature for handling armored gpg file and internal rpm pubkey. - take care of PreReq when building hdlist or synthesis files. - removed id log during hdlist or synthesis creation. Version 0.92-4mdk - Aug 4 2003, by François Pons - sanity check on transaction set (should be the same as normal selection, else something wrong has occured). - updated with newer rpm with obsoletes fixed among others. Version 0.92-2mdk - Jul 30 2003, by François Pons - fixed some missing unsatisfied in reason of rejected. - fixed provide obsoleted which should not be taken into account when looking for obsoletes (arts problem). Version 0.92 - Jul 28 2003, by François Pons - added keep option to URPM::resolve_requested to avoid removing packages. Version 0.91-14mdk - Jul 24 2003, by François Pons - fixed handling of kde packages being splitted with different names which obfuscated the resolution algorithm, difference of provides are now handled later (fifo). Version 0.91-13mdk - Jul 24 2003, by François Pons - modified internal handling of string list to allow complex combined method in pure C in order to increase speed. - added provides_overlap and obsoletes_overlap in XS to implement a scalar grep of ranges_overlap on provides or obsoletes. - fixed a small typo in constant character in ranges_overlap which may have caused some strange result. Version 0.91-12mdk - Jul 16 2003, by François Pons - fixed typo in regex handling in URPM::compute_flags. - fixed cache contents not taken into account. Version 0.91-11mdk - Jul 10 2003, by François Pons - improved URPM::compute_flags. - started coding URPM::unsatisfied_requires in XS (as URPM::unsatisfied_requires2). Version 0.91-10mdk - Jul 7 2003, by François Pons - fixed backtracking not applied on promotion which now ends up in removing the initial packages. - promote and psel are propagated into selected hash. Version 0.91-9mdk - Jul 7 2003, by François Pons - fixed provides from package not examined for looking into unsatisfied requires. - fixed handling of promoteepoch (if B requires A and both A and B are new packages, promoteepoch can be activated). - updated comments about promoteepoch management (it is touchy enough without adding obfuscation here). - fixed (a lot of people should be very happy now) global unsatisfied requires examined, so that it should now be possible to keep a rpmdb with unsatisfied dependencies. Version 0.91-8mdk - Jul 4 2003, by François Pons - removed handling of promoteepoch as it is specifically obscure in rpm and make urpmi crazy. Version 0.91-7mdk - Jun 26 2003, by François Pons - fixed possible transaction set build even for empty selection. - fixed whatrequires hash abnormally populated (no problem raised). - added unsatisfied information to selected hash when nodeps option is given to URPM::resolve_requested. Version 0.91-6mdk - Jun 19 2003, by François Pons - make sure callback options are taken into account only if a reference is given. - make sure URPM::build_transaction_set do not create empty transaction. - added source of promotion selection. Version 0.91-5mdk - Jun 19 2003, by François Pons - added promote to backtrack data for more info. - fixed visual glitches when a package has its selection backtracked whereas it is already installed. Version 0.91-4mdk - Jun 18 2003, by François Pons - fixed installation of old package due to missing closure. - fixed nodeps option to used for building transaction set. - fixed too many from source propagated which were not legal. - fixed bad conflicts listing. Version 0.91-3mdk - Jun 18 2003, by François Pons - fixed obssoletes on virtual provides not taken into account. - fixed option name given to URPM::build_transaction_set. - fixed missing closure on rejected (first one). - fixed bad disable closure on rejected. Version 0.91-2mdk - Jun 17 2003, by François Pons - fixed promotion of epoch to be rpm 4.2 compliant : - added promotion boolean to URPM::ranges_overlap. - changed URPM::find_candidate_packages interface. - fixed compilation on old rpm-4.0.4. Version 0.91 - Jun 16 2003, by François Pons - added transaction set methods. - added disable_obsolete flags to improve installation mode of packages, now handled by resolve_requested. - obsoleted URPM::compute_skip_flags (now URPM::compute_flags). - fixed rpmdb.t test when gpg pubkey has been imported in rpmdb. Version 0.90-10mdk - Jun 12 2003, by François Pons - changed return value of verify_rpm to allow looking at key id. Version 0.90-9mdk - Jun 11 2003, by François Pons - fixed problem in disable_selected (ordering of operations). Version 0.90-8mdk - Jun 5 2003, by François Pons - cleaned code to be more perl portable. - fixed severe bug on perl stack manipulation when using callback. - fixed order return value. Version 0.90-7mdk - Jun 5 2003, by François Pons - no_flag_update is no more used. - added clever cache management when building headers. - fixed disable_selected_unrequested_dependencies. - fixed packages still required when their root requested was deselected (option keep_unrequested_dependencies not set). - fixed too early closure of rejected package when an older one was selected. - fixed some reasons of removing packages to be lost. Version 0.90-6mdk - Jun 03 2003, by Warly - add Pkg_buildtime to get RPMTAG_BUILDTIME Version 0.90-5mdk - Jun 3 2003, by François Pons - fixed typo in parse_rpm method. Version 0.90-4mdk - Jun 2 2003, by François Pons - added an option to disable unrequested dependencies when backtracking a selection. - added an option to avoid deselecting package with broken dependencies. - simplified update_header and parse_rpm methods. - cleaned XS code. Version 0.90-3mdk - May 28 2003, by Warly - add license function for urpm->{depslist}[$id] - fix Urpm_parse_rpm argument initialization (sytematically setting packing and keep_all_tags to zero) Version 0.90-2mdk - May 26 2003, by François Pons - fixed URPM::resolve_requested return value (list of package selected by this call). - fixed backtrack reason to be stored in rejected hash (so that urpmi can say why a package is not selected). Version 0.90 - May 23 2003, by François Pons - extended URPM::search with newer/modified options. - fixed URPM::Package::compare_pkg to work with identical arguments. - modified requested flag sense (now indicates a wish for a requested package but not necessary required or selected). - obsoleted URPM::resolve_closure_ask_remove by URPM::resolve_rejected which compute closures on installed packages (used for obsoleted and removed resolution). - obsoleted URPM::resolve_unrequested by URPM::disable_selected which is faster and simpler to invoke. - newer method have been defined, much notably handle backtrack. - keep_state is no more used for URPM::resolve_requested. - obsoleted, ask_remove, ask_unselect have been obsoleted by rejected and backtrack facility in state. - avoid returning number of transaction run problems. - added compatiblity method to avoid breaking urpmi, rpmdrake and DrakX completely (though there could be some strange results). Version 0.84 - May 16 2003, by François Pons - removed provided hash from state and added use_sense value to provides hash values when using sense. - removed installed hash from state and added cached_installed which is no more updated and cached installed provides without sense associated. - allow removing of package by giving the fullname (with arch). - changed ask_remove hash keys to be fullname compliant. - light improvement of speed (10%% faster on dependencies computation) and memory usage (provided hashes removed). Version 0.83-4mdk - May 14 2003, by François Pons - completed URPM::Transaction::verify_rpm for signature checking and added a lot of more options (including db to avoid openning new transaction and new database (rpm 4.2 behaviour)). Version 0.83-3mdk - May 13 2003, by Pons François - fixed URPM::Transaction::check and URPM::Transaction::run when returning error list. Version 0.83-2mdk - May 12 2003, by Guillaume Cottenceau - provide perl packages URPM::Resolve and URPM::Build since the perl packages are URPM for object export Version 0.83 - Apr 29 2003, by François Pons - added preliminary support for rpm 4.2, there is lack of signature checking but interface of URPM is kept. Version 0.82-4mdk - Apr 24 2003, by François Pons - intergrated another patch from Olivier Thauvin to add method for manipulating source rpm to URPM::Package (buildarchs, excludearchs, exclusivearchs). Version 0.82-3mdk - Apr 22 2003, by François Pons - integrated patch from Olivier Thauvin to add misc method to URPM::Package (packager, buildhost, url). Version 0.82-2mdk - Apr 14 2003, by François Pons - fixed skip flag computation. Version 0.82 - Apr 11 2003, by François Pons - added flag skip for each package, added URPM::Package::flag_skip and URPM::Package::set_flag_skip as well as compute_skip_flags. - added excludedocs parameter for transaction. - reduced maximal number of packages supported to a little more than 1 million (instead of 2 millions previously). - fixed possible core dumps when string rpm tag are not present. Version 0.81-13mdk - Mar 12 2003, by François Pons - fixed bug 3207 (consolidated avoided hash with removed and conflicting packages). Version 0.81-12mdk - Mar 10 2003, by François Pons - fixed typo in search method. - fixed wrong resolution of conflicts where an older package may be used whereas only a newer one should be tested. - make it somewhat perl_checker clean. Version 0.81-11mdk - Mar 3 2003, by François Pons - fixed duplicated filehandle not with close-on-exec flag which caused removable device to be locked on some case using urpmi. Version 0.81-10mdk - Feb 27 2003, by François Pons - allow choices to return mulitple selection. Version 0.81-9mdk - Feb 19 2003, by François Pons - handle titi sucks on libalsa2 which obsoletes itself. Version 0.81-8mdk - Feb 13 2003, by François Pons - fixed compute_installed_flags to take of compatible arch. Version 0.81-7mdk - Jan 23 2003, by François Pons - fixed unsatisfied requires of already selected package to an installed properties which is removed later. - simplified weight propagation when building depslist (ordering). Version 0.81-6mdk - Jan 6 2003, by François Pons - fixed avoiding package with virtual provides obsoleted by another package as this is not a true obsoletes (openssh). Version 0.81-5mdk - Jan 6 2003, by François Pons - fixed bad filename generation (cause problem to genhdlist if renamed packages are existing). Version 0.81-4mdk - Dec 20 2002, by Pixel - perl_checker fixes (syntax only) Version 0.81-3mdk - Dec 18 2002, by Pixel - help perl_checker recognise packages used as classes Version 0.81-2mdk - Dec 18 2002, by Pixel - perl_checker fixes Version 0.81 - Dec 17 2002, by François Pons - little improve on traverse_tag with tag name whit --env. - big improve on traverse_tag with tag whatrequires and whatconflicts with --env. - fixed dependencies resolution when various different version of a package are available. Version 0.80-2mdk - Dec 11 2002, by François Pons - removed dSP in XS (sound like perl doesn't like them a lot), this fixes urpmf problem of reading first hdlist. Version 0.80 - Dec 5 2002, by François Pons - added %%options for parse_(hdlist|synthesis|rpm) to support callback (for urpmf in perl). - added summary in synthesis when parsing (for urpmf --summary with synthesis). Version 0.71 - Dec 3 2002, by François Pons - added options to URPM::Transaction::add to handle excludepath option of rpm. Version 0.70-10mdk - Sep 17 2002, by François Pons - fixed some packages which may not be upgraded on call to request_packages_to_upgrade according to packages in depslist. Version 0.70-9mdk - Sep 9 2002, by François Pons - select package already installed to be taken instead of proposing choice to the user. - fixed bad test for first package of first synthesis to be chosen to be upgraded. Version 0.70-8mdk - Sep 2 2002, by François Pons - added start and end options to request_packages_to_upgrade for DrakX to choose updated packages to upgrade. Version 0.70-7mdk - Aug 30 2002, by François Pons - fixed the fix of split of package (5mdk). Version 0.70-6mdk - Aug 30 2002, by François Pons - improved URPM::resolve_closure_ask_remove to keep track of removal path and size of package being removed. Version 0.70-5mdk - Aug 29 2002, by François Pons - fixed split of package that could lead to excesive number of package proposed to be removed. Version 0.70-4mdk - Aug 29 2002, by François Pons - fixed requires examination for right locales. Version 0.70-3mdk - Aug 28 2002, by François Pons - setup state to know if an old package will be upgraded. - added optional parameter to keep all tags from an rpm. - added URPM::Package::changelog_* method. Version 0.70-2mdk - Aug 26 2002, by François Pons - added more flags to URPM::Transaction::run (oldpackage, test). - fixed choices to prefer right locales dependent packages. - added avoided hash to avoid mixing choices when a lot of possible packages are available and split have been done (openjade bug reported on cooker). Version 0.70 - Aug 23 2002, by François Pons - fixed search method to work correctly. Version 0.60-8mdk - Aug 13 2002, by François Pons - fixed request_packages_to_upgrade no more working correctly. Version 0.60-7mdk - Aug 12 2002, by François Pons - fixed bad behaviour of request_packages_to_upgrade if upgrade flag has been computed before. - fixed propable old package (according provides) requested by request_packages_to_upgrade. Version 0.60-6mdk - Aug 12 2002, by François Pons - simplified compute_installed_flags return value (used by DrakX). Version 0.60-5mdk - Aug 9 2002, by François Pons - fixed package not selected to be upgraded (--auto-select of urpmi) when there are sense conflicts (initscripts). Version 0.60-4mdk - Aug 9 2002, by François Pons - compute_installed_flags returns size of package present. - fixed too large ask_remove closure due to missing provides of package. Version 0.60-3mdk - Aug 7 2002, by François Pons - added read_config_files and verify_rpm methods. Version 0.60-2mdk - Aug 6 2002, by François Pons - fixed typo on diff provides resolved (unable to search requiring packages if a sense was given). - fixed unecessary choices asked to user. Version 0.60 - Aug 5 2002, by François Pons - ask_remove list of package now reference id instead of pkg. - removed conflicts state not used. - fixed ask_unselect not taken into account if two successive requested resolution. - ask_remove is now cleaned on unrequested resolution. - avoid selecting conflicting packages when resolving packages to upgrade (--auto-select). - use perl multi-threaded. Version 0.50-6mdk - Jul 25 2002, by François Pons - fixed incomplete search of best requested packages. Version 0.50-5mdk - Jul 25 2002, by François Pons - fixed stupid error in URPM/Build.pm. Version 0.50-4mdk - Jul 24 2002, by François Pons - fixed another best package choice to avoid choosing package too early. - fixed pre-required files not correctly fetched in provides when parsing synthesis file. - fixed bad behaviour of unresolved_provides_clean. Version 0.50-3mdk - Jul 24 2002, by François Pons - fixed typo causing difference of provides to be not examined. - fixed best package as choice to avoid choosing package too early. - fixed mulitple definition of same package being selected. Version 0.50-2mdk - Jul 23 2002, by François Pons - fixed resolve_closure_ask_remove to really closure. - changed unsatisfied_requires to use options hash. Version 0.50 - Jul 23 2002, by François Pons - changed existing interface for resolve_requested and resolve_unrequested having the same signature. - fixed ask_unselect may containing erroneous id after resolution. Version 0.20-2mdk - Jul 23 2002, by François Pons - fixed unrequested code resolution. Version 0.20 - Jul 22 2002, by François Pons - added remove new package if an older package is requested. - fixed incomplete closure on ask_remove. - added unrequested code resolution. Version 0.11-2mdk - Jul 22 2002, by François Pons - added option translate_message to URPM::Transaction::run. - fixed missing by package reference on transaction check error. Version 0.11 - Jul 19 2002, by François Pons - added whatconflicts to traverse_tag. - fixed semantic of flag_available (package installed or selected). Version 0.10-2mdk - Jul 16 2002, by François Pons - extended selected and available flag to take care of base flag. - improved resolve_requested (use keep_state) and delete requested key once taken into account. Version 0.10 - Jul 15 2002, by François Pons - added search method for search from name. - added composite flag_available method (installed or selected). Version 0.09-2mdk - Jul 11 2002, by François Pons - fixed ask_unselect computation. - added clear_state option to relove_requested (rollback state modification needed by DrakX). Version 0.09 - Jul 10 2002, by François Pons - changed semantics of some package flags to extend usability and simplicity. - added no_flag_update to resolve_requested to avoid modifying requested or required flag directly. - added closure on ask_remove. - removed requires on perl (only perl-base should be enough). - fixed wrong unsatisfied_requires return value whit a given name. Version 0.08-4mdk - Jul 9 2002, by François Pons - fixed too many opened files when building hdlist. Version 0.08-2mdk - Jul 8 2002, by François Pons - fixed rflags setting (now keep more than one element). - fixed setting of ask_unselect correctly. Version 0.08 - Jul 8 2002, by François Pons - added transaction flags (equivalence to --force and --ignoreSize). - simplified some transaction method names. - added script fd support. Version 0.07-2mdk - Jul 5 2002, by François Pons - fixed transaction methods so that install works. Version 0.07 - Jul 4 2002, by François Pons - added transaction methods and URPM::Transaction type (for DrakX). - obsoleted URPM::DB::open_rw and removed it. Version 0.06-2mdk - Jul 3 2002, by François Pons - fixed virtual provides obsoleted by other package (means kernel is requested to be installed even if other kernel is installed). Version 0.06 - Jul 3 2002, by François Pons - added header_filename and update_header to URPM::Package. - added virtual flag selected to URPM::Package. - added rate and rflags tags to URPM::Package. - added URPM::DB::rebuild. - fixed build of hdlist with non standard rpm filename. Version 0.05-2mdk - Jul 1 2002, by François Pons - fixed selection of obsoleted package already installed but present in depslist. Version 0.05 - Jun 28 2002, by François Pons - fixed ask_remove not to contains arch. - removed relocate_depslist (obsoleted). Version 0.04-6mdk - Jun 26 2002, by François Pons - fixed work around of rpmlib where provides should be at left position of rpmRangesOverlap. Version 0.04-5mdk - Jun 18 2002, by François Pons - fixed wrong range overlap evaluation (libgcc >= 3.1 and libgcc.so.1). Version 0.04-4mdk - Jun 13 2002, by François Pons - fixed too many package selected on --auto-select. Version 0.04-3mdk - Jun 13 2002, by François Pons - fixed compare_pkg (invalid arch comparisons sometimes). - added (still unused) obsolete flag. Version 0.04-2mdk - Jun 13 2002, by François Pons - added ranges_overlap method (uses rpmRangesOverlap in rpmlib). - made Resolve module to be operational (and usable). Version 0.04 - Jun 11 2002, by François Pons - added Resolve.pm file. Version 0.03-2mdk - Jun 6 2002, by François Pons - fixed incomplete compare_pkg not taking into account score of arch. Version 0.03 - Jun 6 2002, by François Pons - added more flag method to URPM::Package - avoid garbage output when reading hdlist archive. - moved id internal reference to bit field of flag. Version 0.02-3mdk - Jun 5 2002, by François Pons - removed log on opening/closing rpmdb. - modified reading of archive to avoid incomplete read. Version 0.02-2mdk - Jun 5 2002, by François Pons - added log on opening/closing rpmdb. Version 0.02 - Jun 3 2002, by François Pons - new version with extended parameters list for URPM::Build. - fixed code to be -w clean. Version 0.01 - May 31 2002, by François Pons - initial revision.