So many packages use /var/run but don't document it in the ebuild (it's created dynamically via the init script) that I think we should simply provide it in the baselayout until someone wants to verify every package in tree has the correct initscript. I encountered the error on the upgrade of autofs that removes /var/run, on a running system. Reproducible: Always Steps to Reproduce: 1. update to a system that has no 'need' for /var/run 2. sit back and watch
A simple "keepdir /var/run" in src_install should do the trick. This will create an entry in vdb which will keep portage from unmerging the symlink.
(In reply to Matthew Thode ( prometheanfire ) from comment #0) there is already one bug for tracking this, see #332633
baselayout already initializes /var/run with a symlink to /run when USE=build. but i guess this is a feature of the incomplete work from bug 361349.
ya, this bug should probably be a blocker on that bug. Don't think it's my place to add it, but I will unless someone else does or someone objects (tomorrow)
it's been long "tomorrow", any updates on this?
I added it as a blocker a long time ago
great, because there was no reply about it :)
There's at least a few people who are finding their /var/run symlink disappearing due to it (I suppose) being orphaned during a package upgrade. See my Bug #519620. It appears that, as more programs move to /run, the likelihood of /var/run being orphaned when it's being used increased. Is this a correct observation, and would this task solve the issue?
My suggestion from comment 1 is still valid. Initializing it in pkg_preinst is not good enough here; we need a vardb entry or portage will remove it when all packages referencing /var/run/* have been unmerged.
Take this from the person who added the ebuild workaround for this year ago :( The pkg_* solution was always meant to be temporary (like a hotfix due to maintainers being unresponsive) Meant to be pruned from the ebuild once the baselayout build-sys includes /run, and symlink to it from /var/run, properly Seems like we should reassign baselayout to maintainer-needed? (Being sarcastic here, but for real, it's currently 100% abandoned)
(In reply to Samuli Suominen from comment #10) Err... last I checked it is in the base-system herd, of which you are a maintainer. So what are you waiting for? ^_^
And I have been commiting to it recenty; I am going to do a new release after OpenRC is out the door today.
The major concern of portage unmerging /var/run has probably been resolved in another bug. https://bugs.gentoo.org/show_bug.cgi?id=519620#c5
This has been set up for some time in baselayout, so it will be in 2.3. The commits are bc72d8bf and 3611dc87.