Bug 123697
| Summary: | portmap contains name provide causing triggers to fire incorrectly | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Glen <glen> | ||||
| Component: | rpm | Assignee: | Jeff Johnson <jbj> | ||||
| Status: | CLOSED RAWHIDE | QA Contact: | |||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 2 | CC: | jakub, jval, nobody+pnasrat, pmjcovello, rdieter, shishz, steved, wtogami | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | i386 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2004-06-16 13:12:32 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 123680 | ||||||
| Attachments: |
|
||||||
Path failure on fc2 use /sbin/service rather than service [pauln@enki tmp]$ rpm --scripts -q portmap postinstall scriptlet (using /bin/sh): /sbin/chkconfig --add portmap /usr/sbin/groupadd -g 32 rpc > /dev/null 2>&1 /usr/sbin/useradd -c "Portmapper RPC user" -d / -g 32 -M -s /sbin/nologin -u 32 rpc > /dev/null 2>&1 exit 0 preuninstall scriptlet (using /bin/sh): if [ $1 = 0 ]; then service portmap stop > /dev/null 2>&1 /sbin/chkconfig --del portmap fi postuninstall scriptlet (using /bin/sh): if [ "$1" -ge "1" ]; then service portmap condrestart > /dev/null 2>&1 fi This is not a path issue - SCRIPT_PATH is unaltered looks to be a trigger misfiring: rpm --triggers -q portmap triggerpostun scriptlet (using /bin/sh) -- portmap <= portmap-4.0-22 /sbin/chkconfig --add portmap from rpm -e -vv --nodeps portmap I get: D: erase: %trigger(portmap-4.0-59) execv(/bin/sh) pid 4466 + /sbin/chkconfig --add portmap error reading information on service portmap: No such file or directory D: erase: waitpid(4466) rc 4466 status 100 secs 0.073 error: %trigger(portmap-4.0-59) scriptlet failed, exit status 1 portmap seems to have a %{name} level provides as triggers match
against all provides and Provides: %{name} matches all EVR it's being
fired
rpm -q --provides portmap
config(portmap) = 4.0-59
portmap
portmap = 4.0-59
I can't see Provides: %{name} or anything in the spec so need to
figure why the virtual is there.
Change component to rpm bingo:
[pauln@enki pauln]$ file /sbin/portmap
/sbin/portmap: ELF 32-bit LSB shared object, Intel 80386, version 1
(SYSV), stripped
The provide here is due to SONAME adding:
/* For DSO's, provide the basename of the file if DT_SONAME not
found. */
if (!fc->skipProv && isDSO && !gotSONAME) {
All the following binaries are probably the same:
exim
finger
httpd
nscd
perl
perl-URI
portmap
postgresql-odbc
routed
rusers
squid
sudo
telnet
vsftpd
Note this is probably due to the executables being PIE. Probably need to teach rpm how to tell the difference if we can Created attachment 100411 [details]
Patch to filter out DT_DEBUG
Tested this against rpm-4_3 branch and filtering for DT_DEBUG skips adding a
basename (usually == %{name}) of the PIE executable to Provides:
Jeff does this all look sane to you? *** Bug 123680 has been marked as a duplicate of this bug. *** The PIE patch is in latest rpm-4.3.2. *** Bug 123680 has been marked as a duplicate of this bug. *** *** Bug 127571 has been marked as a duplicate of this bug. *** What should I do to get ppp updated? Update rpm? Why the fix is not in the updates? *** Bug 127554 has been marked as a duplicate of this bug. *** Any chance of getting 4.3.2 as errata for fc2 and into buildroots? Would really appreciate a release of a fixed rpm for fc2. Any chance? |
From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031114 Description of problem: When I run "rpm -e portmap", I get these errors: error reading information on service portmap: No such file or directory error:%prerun(portmap-4.0-59) scriptlet failed, exit status 1 Version-Release number of selected component (if applicable): portmap-4.0-59 How reproducible: Always Steps to Reproduce: 1. Run "rpm -e portmap" 2. 3. Actual Results: It gives me the error I mentioned. Expected Results: I expected portmap to be removed. Additional info: