On Fri, Dec 06, 2019 at 04:12:01PM +0300, Oleg Solovyov wrote: > --- > apt/apt-pkg/packagemanager.cc | 4 +- > apt/apt-pkg/packagemanager.h | 30 +++++++- > apt/apt-pkg/rpm/rpmpm.cc | 137 ++++++++++++++++++++++++++++++++-- > apt/apt-pkg/rpm/rpmpm.h | 16 ++-- > 4 files changed, 170 insertions(+), 17 deletions(-) I agree the code should speak for itself, but it would be great if you could shed some light on what's going on. [...] > + aptCallbackType callbackType = APTCALLBACK_UNKNOWN; > + switch (what) { > + case RPMCALLBACK_INST_PROGRESS: > + callbackType = APTCALLBACK_INST_PROGRESS; > + break; > + case RPMCALLBACK_INST_START: > + callbackType = APTCALLBACK_INST_START; > + break; > + case RPMCALLBACK_TRANS_PROGRESS: > + callbackType = APTCALLBACK_TRANS_PROGRESS; > + break; > + case RPMCALLBACK_TRANS_START: > + callbackType = APTCALLBACK_TRANS_START; > + break; > + case RPMCALLBACK_TRANS_STOP: > + callbackType = APTCALLBACK_TRANS_STOP; > + break; > + case RPMCALLBACK_UNINST_PROGRESS: > + callbackType = APTCALLBACK_UNINST_PROGRESS; > + break; > + case RPMCALLBACK_UNINST_START: > + callbackType = APTCALLBACK_UNINST_START; > + break; > + case RPMCALLBACK_UNINST_STOP: > + callbackType = APTCALLBACK_UNINST_STOP; > + break; > + case RPMCALLBACK_UNPACK_ERROR: > + callbackType = APTCALLBACK_UNPACK_ERROR; > + break; > + case RPMCALLBACK_CPIO_ERROR: > + callbackType = APTCALLBACK_CPIO_ERROR; > + break; > + case RPMCALLBACK_SCRIPT_ERROR: > + callbackType = APTCALLBACK_SCRIPT_ERROR; > + break; > + case RPMCALLBACK_SCRIPT_START: > + callbackType = APTCALLBACK_SCRIPT_START; > + break; > + case RPMCALLBACK_SCRIPT_STOP: > + callbackType = APTCALLBACK_SCRIPT_STOP; > + break; > + case RPMCALLBACK_INST_STOP: > + callbackType = APTCALLBACK_INST_STOP; > + break; > + case RPMCALLBACK_ELEM_PROGRESS: > + callbackType = APTCALLBACK_ELEM_PROGRESS; > + break; > + default: > + break; > + } This looks ugly. Could we use the same values for corresponding APTCALLBACK_* and RPMCALLBACK_* constants instead? -- ldv