Description of problem: If you define two triggers in a SPEC that are triggered from the same source, rpm-4.6 generates invalid trigger sections in the RPM, and the rpm tool crashes when processing the resultant RPM. Version-Release number of selected component (if applicable): rpm-4.6.0-1.fc10.x86_64 (this bug does not affect rpm-4.4.2.3-3.fc9.i386 as with F9) How reproducible: Always Steps to Reproduce: 1. Create a spec file with duplicate trigger sources (see attached) 2. Generate the rpm using F9 and F10 3. Query the rpm using F9 and F10 Actual results: F9 behaves as expected. F10 generates an invalid RPM, and afterwards the rpm tool crashes when trying to process it. Expected results: Additional info: F9 behaves as expected: the RPM contains multiple triggers keyed to the same trigger source. $ rpm -qp --triggers foo-0.0-0.i386.rpm triggerin scriptlet (using /bin/sh) -- some-package : triggerin scriptlet (using /bin/sh) -- some-package : F10 generates an invalid RPM -- only the first trigger has a valid trigger source. F10's rpm crashes (segfault) when analyzing this RPM (rpm -qp --triggers XXX). F9's rpm can analyze both RPMs, but the RPM generated by F10 appears to be invalid (as described above) F10 can handle the RPM generated by F9; the multiple triggers appear correctly. $ rpm -qp --triggers foo-0.0-0.x86_64.rpm triggerin scriptlet (using /bin/sh) -- some-package : trigger: scriptlet (using /bin/sh) -- : [note that the second trigger appears invalid] As a matter of discussion, I am not asking that either RPM version support multiple triggers with the same source -- in my case this was a bug in my SPEC file. I *would* expect, though, that if it is unsupported, that RPM would report an error or warning, like it does for duplicate %post sections.
Created attachment 335277 [details] RPM spec file
Thanks for the reproducer, will fix.
Fixed in rawhide (and upstream) now. Multiple triggers are intentionally permitted, rpm just sees this as two distinct trigger scripts with identical condition, eg %trigger -- some-package echo A %trigger -- some-package echo B
rpm-4.7.1-3.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/rpm-4.7.1-3.fc11
rpm-4.7.1-3.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update rpm'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-10354
rpm-4.7.1-3.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.