Fix RPMPROB_FILTER_FORCERELOCATE aka --badreloc (RhBug:828784)
authorPanu Matilainen <pmatilai@redhat.com>
Tue, 7 Aug 2012 06:52:15 +0000 (09:52 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Tue, 7 Aug 2012 06:52:15 +0000 (09:52 +0300)
commit4fbb58c7e6ee7d1bb565b27e4f81dcf2fee93995
tree20a9ec697a1901399c34def1a484fe539f7368dd
parent7c70bdea1a3e6d16d5a345965632d255f3f821ec
Fix RPMPROB_FILTER_FORCERELOCATE aka --badreloc (RhBug:828784)

- As noted (but since then blissfully forgotten) in the commit message,
  commit e696b409fe836bf39cbf639bac4321d658d0952d broke --badreloc
  so its been broken since rpm >= 4.9.x :-/
- Transaction problem filter is only available during rpmtsRun() so
  we have no clue whether bad relocations should be filtered or not
  during rpmte creation. Instead of creating the problems at rpmteNew()
  time, remember any bad relocations that were found and check +
  create the actual problems (unless filtered) along with other
  problems during rpmtsRun().
- Passing an "allow bad relocations" flag to rpmtsAddInstallElement()
  would be a saner option but this is a back-portable way of handling it.
lib/rpmte.c
lib/rpmte_internal.h
lib/transaction.c