- Abort with an error message if compress_files has problems compressing
- No longer use -9 when compressing with xz, because this creates compressed
files that require massive amounts of RAM to decompress and makes no
difference in size on tiny man pages.

library: ensure priority updates are installed in a single transaction
This fix is needed in cases where rpm's libdb changes. If the priority updates
happen to be installed in more than one transaction, the %post script in rpm
which deletes the old index files (/var/lib/rpm/__db.*) may happen at the
end of the first of those transactions. This causes the indexes to be
regenerated by the *old* db version and causes the second transaction to fail.
By ensuring the priority updates are handled in a single transaction, the
indexes will be recreated after the urpmi restart and will thus use the
correct, new libdb to create the indexes.
Patch and fix from Thierry Vignaud
(Cherry picked from r8331)

library: ensure priority updates are installed in a single transaction.
This fix is needed in cases where rpm's libdb changes. If the priority updates
happen to be installed in more than one transaction, the %post script in rpm
which deletes the old index files (/var/lib/rpm/__db.*) may happen at the
end of the first of those transactions. This causes the indexes to be
regenerated by the *old* db version and causes the second transaction to fail.
By ensuring the priority updates are handled in a single transaction, the
indexes will be recreated after the urpmi restart and will thus use the
correct, new libdb to create the indexes.
Patch and fix from Thierry Vignaud

fix lookup deps of updates in other media when using --update
reverting commit r1931 from 2011-09-14:
"(configure,_auto_update_media,parse_media,update_media) fix (g)urpmi
--auto-select --update defaulting to all media when there're no update
media (#1024)"
(backported from trunk)

add basic support for --downgrade (mga#6655)
enabling eg to switching back to packages from core/release after
having installed some from core/updates_testing, then disabling it
(backported from trunk)

fix package count when a package has a %pretrans scriptlet
(spot by Colin on installing a minimal system with urpmi)
callback_open got called one too much (it got called twice for first
package which is actually filesystem), thus we bump the index one too
much.
the call chain is:
rpmtsRun() -> runTransScripts() -> rpmteProcess() which says:
/* Dont bother opening for elements without pre/posttrans scripts */
But since we now have package ('filesystem') with %pretrans due to /usr
migration, it goes further and calls rpmteOpen()->rpmteFDHeader() which
notifys us about a package opening in order to get its file descriptor.