Bug 919468
| Summary: | File based requires in Fedora 19 change | ||
|---|---|---|---|
| Product: | [Community] Spacewalk | Reporter: | Miroslav Suchý <msuchy> |
| Component: | Server | Assignee: | Michael Mráka <mmraka> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Red Hat Satellite QA List <satqe-list> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 1.10 | CC: | jpazdziora, tkasparek |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-08-02 12:56:18 UTC | Type: | Bug |
| 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: | 991452 | ||
Couldn't we just ship the /sbin -> /usr/sbin symlink in Spacewalk? No. Because this will not change "Provides" of affected packages. I.e. if coreutils.fc19 provides: /usr/sbin/runuser And Spacewalk require: Requires: /sbin/runuser and if you will provides /sbin -> /usr/sbin in one of spacewalk packages, it will have no effect on provides of package coreutils. And yum will not be able to resolve Requires: /sbin/runuser even if you will be able run /sbin/runuser with coreutils installed and symlink on place. Wouldn't
%{!?_sbindir: %define _sbindir /sbin}
Requires: %{_sbindir}/foo
be cleared than having that
%if 0%{?fedora} > 17
branching there?
No. Because _sbindir exist in all distribution (at least F16+, RHEL6+) and always pointed to /usr/sbin
Do not confuse /usr/sbin for which always existed %{_sbindir} and /sbin which is used for some binaries in RHEL6 and F16.
Fixed in Spacewalk master by
commit 20460363e95e901897c313088d40020bbde2e5a2
919468 - fixed path in file based Requires
Fix for this bug is present in Spacewalk 2.0, closing this bug as CURRENTRELEASE. |
Spacewalk use file based requires on several place. And since /sbin path was not provided by any macro, it is hardcoded in spec files. But in Fedora 17 was moved /sbin to /usr/sbin. Two releases were left for transition and in Fedora 17 and 18 was this path provided by rpm. But in Fedora 17 is this path not provided. Therefore all requires in form: Requires: /sbin/foo need to be rewriten to: %if 0%{?fedora} > 17 Requires: %{_sbindir}/foo %else Requires: /sbin/foo %endif I made this change for package which are in Fedora and which I maintain. But my grep shows other occurences: See: $ git grep Requires |grep sbin in root of Spacewalk.git $ git grep Requires |grep sbin |wc -l 40