Overview
Request 542567 accepted
- Don't execute systemd-tmpfiles if we run in transactional update
mode
- Created by kukuk
- In state accepted
- Package maintainers: fbui, systemd-maintainers, and tsaupe
Loading...
Request History
kukuk created request
- Don't execute systemd-tmpfiles if we run in transactional update
mode
dirkmueller accepted request
Can you please explain what this thing is needed for ?
Does it fix a bug ?
If you do transactional updates, it doesn't make any sense to execute the tmpfiles. They will only create a lot of directories, files or symlinks in empty directories without any use and later hidden under the real mount points. With transactional updates, you should do such things always during the boot phase, as designed by systemd (and like Fedora and RHEL doing, but in their use case it's in my opinion a bug).
ok I've reverted your changes so we can finish discussing about it.
The fact that it was committed was pretty rude...
I don't think that's correct. tmpfiles can be used to create/init stuff during package installation so it's possible to use a package right after its installation, see: https://github.com/systemd/systemd/pull/6860#issuecomment-330476737
Funny that you think you know more about transactional updates then the people inventing this stuff :( And why did I wrote the answer if you did not read it. If you do transactional updates, neither the directories are accessible nor can you use the package right after it's installation. See: https://en.opensuse.org/openSUSE:Packaging_for_transactional-updates
And it's not funny at all to work with someone who is aggressive when he is asked to explain his work. Sorry if I do not know as much as you do.
And I was just pointing out that your claim "you should do such things always during the boot phase, as designed by systemd" isn't right.
Nothing about transactional updates...
Please quote correct:
"With transactional updates, you should do such things always during the boot phase"
And quote from Lennart: "tmpfiles mostly exists to fix things up at boot"
No the exact quote is "tmpfiles mostly exists to fix things up at boot, or at package install, to somewhat make it possible to use a package right after installation."
Please note the part "or at package install, ...".
I'm pointing this out because I have the feeling that preventing tmpfiles from being created during package installations/updates can lead to some issues. tmpfiles has grown to something that does more than creating temporary stuff.
Also any packages should be able to create directly temporary stuff for their own purpose (without relying on tmpfiles) and should be able to assume that temporary locations behave as expected.
Why don't the transaction update process takes care of those special locations (/tmp, /run, /proc, /dev) as it's probably done by any tool that deals with chroot ?
Could it be that you did not understand the change?
Your "normal" package installation/update is not affected by this. With transactional updates, all you are complaining about is FORBIDDEN! See the opensuse packaging guidelines for transactional updates. If packages relay on the availability of directories/files outside of the root subvolume (and even Lennart clearly states, that tmpfiles.d is not for creating temporary files inside and that nobody should ever do that), they are broken by design for transactional-updates and we have to fix them.
And again, I'm still under the impression you think you know better than me what is allowed and possible during transactional updates and what not :(
and here you go again with your sarcasms....
ok just to finish this pleasant and interesting discussion: tmpfiles is just not about creating temporary files in /tmp or /run, it does more than that these days but apparently you know already any possible use cases that packages can invent. And yes using tmpfiles for root fs is a possible use case.
Also the fact that packages should behave differently when doing transactional updates is just odd.
Oh and final words, since you seem to be bored by submit reviews because you know for sure all the cases that tmpfiles might involve, I would suggest you to mark you as the maintainer of this package and commit directly in the devel project so no one will bother you with questions.
:(
@dirkmuller: may I ask you why you did accept this request while we were discussing about it ?
@dirkmueller: ^^^
I'm wondering actually why you were allowed to do that since AFAICS you're not part of the package maintainers...
Dirk is marked as project maintainer: https://build.opensuse.org/project/users/Base:System
There is no excuse to ignore active package maintainers though!