

If it's not going to systemd, why did they remove opentmpfiles by closing the project and adding systemd packages to the users we have open-rc?NeddySeagoon wrote:sincorchetes,
systemd-utils is the three? existing separate packages rolled into one for ease of maintenance.
Some changes need all the packages to be updated together.
Its easier for maintainers and more robust fol users, since users no longer have the risk of getting a partial update.
Its a naming change. There is no change in functionality for users.

opentmpfiles was abandoned by its own developers, because of a perceived vulnerability that they think cannot be fixed without a complete rewrite.spyderco wrote:If it's not going to systemd, why did they remove opentmpfiles by closing the project and adding systemd packages to the users we have open-rc?
I know, but the work of systemd has been left to us, we want complete independence from systemd.GDH-gentoo wrote:opentmpfiles was abandoned by its own developers, because of a perceived vulnerability that they think cannot be fixed without a complete rewrite.spyderco wrote:If it's not going to systemd, why did they remove opentmpfiles by closing the project and adding systemd packages to the users we have open-rc?


Someone has to write that independent port, and that requires time and effort.spyderco wrote:[...] an independent port of systemd, [...]
This looks to me like a concrete action to support that freedom:spyderco wrote:[...] and what does it stand for? freedom!
(And / or not using GNU libc, I might add)Ionen wrote:And these packages solely exist to help support installs not using systemd as init system, [...]
I agree.trilithium wrote:[...] if a subsystem (e.g. a daemon) relies on certain parts of the filesystem being set up in a certain way it should arrange this as part of its initialization to keep subsystem concerns and configuration together. Inserting middleware here needlessly increases system complexity and invites safety issues.
Well, it sheets back to whether or not you want / need the convenience of udev; that's their choke-point, or it will be when they introduce a runtime dependency on systemd anyway. The dev's here take a lot of imo undeserved flack for the simple reason that there are nowhere near enough of them to compete with RH & Co. When all the distros went systemd it was inevitable that the development effort would move that way. When they flipped Debian, in particular, it had ramifications for Gentoo.trilithium wrote:I have an issue with systemd-tmpfiles, which I think is based on a flawed concept; if a subsystem (e.g. a daemon) relies on certain parts of the filesystem being set up in a certain way it should arrange this as part of its initialization to keep subsystem concerns and configuration together. Inserting middleware here needlessly increases system complexity and invites safety issues.
You are free not to run systemd-tmpfiles - if you avoid all packages that need a tmpfiles processor to run during early boot, for the purpose of creating their pseudo-persistent directories, or if you install an alternative tmpfiles processor. opentmpfiles was such a processor, but as noted, it was abandoned.spyderco wrote:Open-rc users don't want anything from systemd, we want to have the option to choose what to have on our system, that's what we like about gentoo, the option to be able to make the system the way we users want it.
if we try to blocking the sys-apps/systemd package forces us to install systemd, a lot of gentoo users are leaving the distribution because of this, we don't like the change of having to compile something related to systemd on our systems.
so we use open-rc to avoid that on all levels, but that's changing as we can't completely block it, and these things didn't happen before, why is all this happening?



This is all true, but I'd like to add:Hu wrote:As I wrote above, Gentoo is reflecting the decisions and limitations of upstream packages. If opentmpfiles had been fixed rather than abandoned[1], then there is a decent chance that systemd-tmpfiles would not have been introduced on openrc systems. If maintaining eudev as a fork of systemd-udevd had demonstrated a meaningful payoff, the Gentoo developers might not have chosen to push openrc users to systemd-udevd. If systemd-udevd / systemd-tmpfiles had not required so much duplicative effort to maintain, the Gentoo developers might not have chosen to combine them into a single package. In every case, the developers were given the choice of: disable some functionality that most users want; ship a portion of systemd; reimplement that portion; force users onto systemd. If you want to stop the systemd encroachment, convince upstream packages to stop adding hard dependencies on systemd features.
[1]: From what I have read, fixing it was deemed much harder than adapting the systemd-tmpfiles code to work as a standalone package. The relevant developers chose the path of less resistance, because at the time, systemd-tmpfiles did not have significant enough drawbacks to argue against using it.

It surely is, yet it brings that famous quote to my mind:I think that is not Gentoo what is changing but rather that the whole GNU/Linux environment is growing to handle greater complexity instead and some pieces of the system are hard or boring to make twice.
I recognize myself as a part of this (OpenRC+systemd-parts) group too.figueroa wrote:I would like to point out that those who presume to speak (strongly) for all OpenRC users should not do so and they don't reflect any reasonable unanimity. I am one of those users of OpenRC who does not want to use systemd, but I have no objection to selectively using pieces from the systemd project (or any other project) make practical use and maintenance of a desktop computer easier.
Code: Select all
0100100100100000011000010110110100100000
0100111001100001010011100010000100100000
0100100100100000011000010110110100100000
0110000100100000011011010110000101101110
00100001tmpfiles are configuration files which are processed by a one-off service (not a daemon, just a process which runs at boot then exits) to create needed temporary directories with the correct permissions and owners. If /run and friends are cleared on reboot (which they will be if on tmpfs), something has to re-create them. There are issues with re-creating them safely and correctly within init scripts (see below).szatox wrote: [...]
systemd-tmpfiles - wait, what? What even is this thing? We've had tmpfs for ages, and it worked with a simple mount. Is it a daemon now? What happened when I wasn't paying attention?
This is a good point and one I make often. I'm not at all against people writing an alternative which fits in well (please do write one!). Adopting things which make supporting OpenRC easier while not compromising on its principles mean that OpenRC lives on and there's either reduced or no burden on maintainers.sergiotarxz wrote:I am also a proud OpenRC user, but I don't have strong feelings about udev or other systemd modules being brought to Gentoo if they can do good and specially if no alternative is available but have a permanently broken/old/hard to maintain system.
Anyway eudev was systemd code adapted to run on openrc anyway so if systemd takes care of that better for everybody, I think.
[snip].
Thank you. And if somebody does write a component which works (even if it needs a bit of adaptation) like e.g. a non-systemd tmpfiles implementation (maybe a rewrite of opentmpfiles), we're happy to look at it. But we also have limited time which is why as a Gentoo developer, I can't do an infinite amount of work to fix non-problems while being shouted at to do more. There already aren't enough hours in the day to keep things working.figueroa wrote:I would like to point out that those who presume to speak (strongly) for all OpenRC users should not do so and they don't reflect any reasonable unanimity. I am one of those users of OpenRC who does not want to use systemd, but I have no objection to selectively using pieces from the systemd project (or any other project) make practical use and maintenance of a desktop computer easier.
None of the parts borrowed from systemd seem excessive or make my systems behave like I'm using systemd. The initial news leaked about the repackaging of these little pieces as a single package seemed confusing to me, but I easily understood what was happening and I enthusiastically support the transition.
I'm a happy Gentoo user. Thank you developers, maintainers, and moderators. I think you are doing great things for the Gentoo community and the greater Linux community.
Gentoo provides sys-fs/static-dev for those of us who need not to use udev.ian.au wrote: Well, it sheets back to whether or not you want / need the convenience of udev; that's their choke-point, or it will be when they introduce a runtime dependency on systemd anyway.
As per my above comments, it doesn't really make sense to "opt out" of tmpfiles unless you rewrite every init script using it to include permissions logic which, as I've mentioned, was extremely fragile (and dangerous) in the past. Such an effort would be a huge amount of work for very little gain. Nor is anybody volunteering to do that as far as I can see.K_Brown wrote:Gentoo provides sys-fs/static-dev for those of us who need not to use udev.ian.au wrote: Well, it sheets back to whether or not you want / need the convenience of udev; that's their choke-point, or it will be when they introduce a runtime dependency on systemd anyway.
@system has no forced dependencies on udev so we are allowed to replace it with static-dev. Not the case with OpenRC being dependent on virtual/tmpfiles.
Not true.Hu wrote:You are free not to run systemd-tmpfiles - if you avoid all packages that need a tmpfiles processor to run during early boot, for the purpose of creating their pseudo-persistent directories, or if you install an alternative tmpfiles processor. opentmpfiles was such a processor, but as noted, it was abandoned.
While it's possible to replace sys-fs/udev with sys-fs/static-dev, it's not the case with systemd-tmpfiles since sys-apps/openrc depends on virtual/tmpfiles and only systemd-tmpfiles satisfies such dependency.Hu wrote:You are free to avoid systemd-udevd - if you avoid all packages that expect a working userspace-device-management daemon, or install a udevd competitor that provides the required features.
The problem is not the need for feature-compatible systemd tools, neither a solution could be providing them.Hu wrote:You could, if you wish, develop and maintain feature-compatible competitors to the systemd tools, or find someone else who is doing so and help them. At this time, the Gentoo developers have not chosen to take on such a burden, so the best they can do for you is to offer you cut down parts of the systemd packages, allowing you to satisfy these particular feature requirements without running the full systemd environment.
See my previous post.K_Brown wrote:Not true.Hu wrote:You are free not to run systemd-tmpfiles - if you avoid all packages that need a tmpfiles processor to run during early boot, for the purpose of creating their pseudo-persistent directories, or if you install an alternative tmpfiles processor. opentmpfiles was such a processor, but as noted, it was abandoned.
We are not free not to run systemd-tmpfiles since sys-apps/openrc rdepends on virtual/tmpfiles.
Init scripts lack logic to handle permissions because they rely on tmpfiles instead given it's far harder to get wrong. Also, your suggestion doesn't help the hardlink issue.K_Brown wrote:While it's possible to replace sys-fs/udev with sys-fs/static-dev, it's not the case with systemd-tmpfiles since sys-apps/openrc depends on virtual/tmpfiles and only systemd-tmpfiles satisfies such dependency.Hu wrote:You are free to avoid systemd-udevd - if you avoid all packages that expect a working userspace-device-management daemon, or install a udevd competitor that provides the required features.
The only need I can find in OpenRC for tmpfiles is in checkpath as explained in https://github.com/OpenRC/opentmpfiles/ ... -819483507 but it seems like overengineering what could bi acomplished with plain mkdir. Ownership on the new temporary directory could be acomplished with simple chown and chmod commands (without recursion parameters) while any conflicting /run subdirectory should never happen.
See my previous post. It makes init scripts far easier to write and way, way less error prone. I do not think that making init scripts harder to safely write is a net win for OpenRC users, as it either means they're given poor-quality init scripts, or people simply don't bother writing them.K_Brown wrote:The problem is not the need for feature-compatible systemd tools, neither a solution could be providing them.Hu wrote:You could, if you wish, develop and maintain feature-compatible competitors to the systemd tools, or find someone else who is doing so and help them. At this time, the Gentoo developers have not chosen to take on such a burden, so the best they can do for you is to offer you cut down parts of the systemd packages, allowing you to satisfy these particular feature requirements without running the full systemd environment.
The only possible solution is not needing any systemd compatibility feature in OpenRC so it could be an effective sytemd replacement.