Bug 1053983

Summary: yum creates /var/run/yum.pid, breaking minimal installs
Product: [Fedora] Fedora Reporter: Zbigniew Jędrzejewski-Szmek <zbyszek>
Component: yumAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: admiller, ffesti, packaging-team-maint, zpavlas
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: 2014-01-16 05:55:35 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:
Attachments:
Description Flags
patch to move lock file from /var/run to /run none

Description Zbigniew Jędrzejewski-Szmek 2014-01-16 04:59:32 UTC
Created attachment 850861 [details]
patch to move lock file from /var/run to /run

Description of problem:
When a minimal container is installed with yum --installroot=$container, $container/var/run is not a symlink to ../run as it should be, but a directory.
The sequence of events that leads to this is such:
1. filesystem package has /var/run as %ghost, and creates /var/run symlink in %pretrans, because of rpm's issues with converting a directory to a symlink
2. yum creates a file in /var/run
3. when filesystem is installed, the directory already exists and the symlink is not created.

Note that some packages contain or create files in /var/run, but they are installed later, so this is not a problem. yum seems to be culprit here.

As a result of this, created $container is unusable, e.g. the dbus socket is created as /var/run/dbus/system_bus_socket, but some programs look for it in /run/dbus/.



Version-Release number of selected component (if applicable):
yum-3.4.3-121.fc20.noarch
filesystem-3.2-19.fc20.x86_64

How reproducible:
100%

Steps to Reproduce: 
1. sudo yum -y --releasever=20 --installroot=`pwd`/container --disablerepo='*' --enablerepo=fedora install systemd passwd yum fedora-release vim-minimal procps-ng
2. when the package installation starts, press ^Z after the first few packages
3. container/var/run contains only var/run/yum.pid, where the contents match the stopped yum, and var/run is a directory

Comment 1 Kay Sievers 2014-01-16 05:51:05 UTC
This might be the same:
  https://bugzilla.redhat.com/show_bug.cgi?id=975864

Comment 2 Zbigniew Jędrzejewski-Szmek 2014-01-16 05:55:35 UTC
Yeah, even the patch is the same :) I should have looked properly.

*** This bug has been marked as a duplicate of bug 975864 ***