Initially the bug report was shot down by systemd developer Luca Boccassi of Microsoft with:

So an option that is literally documented as saying “all files and directories created by a tmpfiles.d/ entry will be deleted”, that you knew nothing about, sounded like a “good idea”? Did you even go and look what tmpfiles.d entries you had beforehand?

Maybe don’t just run random commands that you know nothing about, while ignoring what the documentation tells you? Just a thought eh"

Good devs, good product, I’m really excited about our shitty, shitty future.

  • ramielrowe@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    After briefly reading about systemd’s tmpfiles.d, I have to ask why it was used to create home directories in the first place. The documentation I read said it was for volatile files. Is a users home directory considered volatile? Was this something the user set up, or the distro they were using. If the distro, this seems like a lot of ire at someone who really doesn’t deserve it.

    • Lung@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      12 days ago

      I guess reading the history, systemd did a better job of dependency resolution and parallel loading of startup services. Then some less interesting stuff like logins, permissions, and device management - which definitely seems out of scope. There’s been like 15 alternatives since it was made, but none of them got critical mass, and now pretty much every mainstream distro can’t run without it. Sad face

      While I’m here complaining, I really miss the days when Arch was configured from a single global file that handled many things like setting your hostname, locale, etc. I think it was dropped bc of maintenance & being not unixy enough. Kinda ironic

      • NaN@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days ago

        I think it was probably dropped to be more like other Linux distributions. The BSDs put a ton of stuff in rc.conf.

    • NaN@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      12 days ago

      I thought the same, surely some distribution messed up.

      They didn’t. Systemd ships this file as /usr/lib/tmpfiles.d/home.conf. That is a valid configuration directory, the lowest priority, and not just an example.

      Basically it would only take effect in certain scenarios, and in most distributions it is doing nothing. Except when someone ran purge and it cleared files it had no hand in creating.

      So yeah, this was actually a big issue.

  • poki@discuss.online
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    12 days ago

    Unfortunate. However, one bad move doesn’t justify dismissing systemd altogether.

    Do I wish for s6 and dinit to be competitive with systemd? Absolutely. Do I wish for systemd what PipeWire has been for PulseAudio? Yes, please. Do I wish that distros/DEs would be less reliant on systemd? Hell yeah! (Can I please have an rpm-based distro without systemd?)

    But, unfortunately, at least for now, systemd is the most robust and (somehow) most polished init we got. And I’m actually grateful for that.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      12 days ago

      I unfortunately updated already and they seem to have added documentation into man systemd-tmpfiles already. Here is the snippet that is relevant:

      --purge
      If this option is passed, all files and directories marked for creation by the tmpfiles.d/ files specified on the command
      line will be deleted. Specifically, this acts on all files and directories marked with f, F, d, D, v, q, Q, p, L, c, b, C,
      w, e. If this switch is used at least one tmpfiles.d/ file (or - for standard input) must be specified on the command line
      or the invocation will be refused, for safety reasons (as otherwise much of the installed system files might be removed).
      
      The primary usecase for this option is to automatically remove files and directories that originally have been created on
      behalf of an installed packaged at package removal time.
      
      It is recommended to first run this command in combination with --dry-run (see below) to verify which files and
      directories will be deleted.
      
      Warning!  This is is usually not the command you want! In most cases --remove is what you are looking for.
      
      Added in version 256.
      
  • Lung@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    12 days ago

    I mean that argument is ridiculous, saying that things are “documented” when the thing is literally called tmpfiles.d and the man page starts with the following explanation:

    It is mostly commonly used for volatile and temporary files and directories (such as those located under /run/, /tmp/, /var/tmp/, the API file systems such as /sys/ or /proc/, as well as some other directories below /var/).

    So basically some genius decided that its a good idea to reuse this system for creating non-tmp directories. Overall my opinion of systemd is reluctant acceptance though I always wondered why the old way was a problem. Need a service started on boot? Well, we had crontab and sysvinit with some plain files. Need a service shut down? Well that’s the kill command. I guess I don’t really know why systemd was made

    • timbuck2themoon@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      12 days ago

      As someone who was around for the sysvinit to systemdd change, I’ll take the latter every single day and twice on Sunday.

      Terrible topic but systemd itself is a godsend IMO, warts and all.

    • cbarrick@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      12 days ago

      Exactly.

      My take is that the issue isn’t with tmpfiles.d, but rather the decision to use it for creating home directories.

    • 柊 つかさ@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      12 days ago

      It is shown by non-systemd distros that systemd doesn’t really solve problems for desktop usage. When you switch away, not much changes basically. I sometimes hear that it is a different story on servers.

      • biribiri11@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        12 days ago

        I sometimes hear that it is a different story on servers.

        Wonder what their usages are, especially in a container-focused context, where most containers simply don’t have an init, and the base system just needs, at most, to have a container runtime (+/- a few other things, see: talos linux and their 130MB bare-metal ISOs).

          • biribiri11@lemmy.ml
            link
            fedilink
            arrow-up
            0
            ·
            12 days ago

            I actually do use quadlets on my server which are absolutely fantastic and hook into systemd, but I don’t see any reason why a similar init system couldn’t do similar or even contribute something like podman generate systemd but for a different init system.

  • Tobias Frisch@wehavecookies.social
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    @nick I don’t know. I can understand both sides.

    Users searching for solutions of their problems, stumbling upon a new functionality and test it out without doing what it does.

    Developers specifying what it does and therefore expect people would know what they are doing.

    Anyway a compromise got merged to make it more difficult for users to accidentally mess up. Which is probably good. But I don’t think you need to handhold users all the time…

  • Technus@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    Someone should force this guy to read about the principle of least astonishment.

    Doesn’t surprise me that a developer from Microsoft doesn’t understand this. To this day, when I select “Update and Shut Down” in Windows, it only actually shuts the computer down about half the time.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      0
      ·
      12 days ago

      To this day, when I select “Update and Shut Down” in Windows, it only actually shuts the computer down about half the time.

      And that surprises you?

      • Technus@lemmy.zip
        link
        fedilink
        arrow-up
        0
        ·
        12 days ago

        At this point, no. But it’s still incredibly annoying and a little spooky when I’m laying in bed and I see my computer screen light up in the next room when it’s not supposed to.

        It’ll even wake itself from sleep when it wants to update, but it won’t start it automatically, I think because it hits the lock screen.

        I’ll probably try Linux on ir when Windows 10 hits EOL.

    • Exec@pawb.social
      link
      fedilink
      arrow-up
      0
      ·
      12 days ago

      Doesn’t surprise me that a developer from Microsoft doesn’t understand this. To this day, when I select “Update and Shut Down” in Windows, it only actually shuts the computer down about half the time.

      There are some tasks that only can be done when the majority of the system is not in use. Windows prepares the files, reboots, does its thing in a preboot environment, then it actually shuts down.

    • Bookmeat@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      12 days ago

      Hey, it’s better than the gnome developers who will just close your issue when the discussion gets “too heated” or they refuse to see your use case as valid.

        • perishthethought@lemm.ee
          cake
          link
          fedilink
          English
          arrow-up
          0
          ·
          12 days ago

          Yah, if a developer wants to call all/most of his users ‘idiots’, they should have someone else interact with users.

          • Technus@lemmy.zip
            link
            fedilink
            arrow-up
            0
            ·
            12 days ago

            Wanting to and actually doing it are two different things.

            The problem is that open source devs also have to be their own project managers, but those two jobs have very different skillsets.

            In regular software development, it’s the PM’s job to deal with the drama, filter the idiocy out and collect concise and actionable user stories, and let the developers just write code.

            In open source, you tend to deal with a lot of entitlement. All kinds of people, who never gave you a dime, come out out of the woodwork to yell at you over every little change. The bigger and farther reaching a project is, the more this happens, and it wears you down. I can only imagine what it’s like working on a huge project like GNOME.

            And the toxicity feeds into itself. Be kurt with one person, and suddenly it gets out that you’re an asshole to users. Then people come in expecting hostility and react defensively to every little comment. And that puts you in the same mindset.

            At the end of the day, you can’t satisfy everyone. Sometimes you gotta figure out how to tell someone their feature request is stupid and you’re not gonna work on it, especially not for free. And a lot of people need to learn to try to fix problems themselves before opening an issue. That’s kind of the whole point of open source.

    • ik5pvx@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      12 days ago

      Oh, come on, did you really have to pull emacs into this crossfire? Leave us weirdos alone!

  • xantoxis@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    So an option that is literally documented as saying “all files and directories created by a tmpfiles.d/ entry will be deleted”, that you knew nothing about, sounded like a “good idea”?

    Bro, if it sounded like a good idea to someone, you didn’t fucking warn them enough. Don’t put this on them without considering what you did to confuse them.

    Also, nfn, the systemd documentation is a nightmare to read through, even if you know exactly what you’re looking for.

    (I’m still gonna keep using systemd because it’s better than the alternatives, though. OP, don’t write stuff off because 1 guy is a dick.)

    • NaN@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      12 days ago

      I thought surely some distribution had messed up by using this temporary files generator for /home, but that configuration is actually a file bundled with systemd and the purge would take effect even if the distribution was creating /home as part of the install (ignoring the tmpfiles config), which they pretty much all do. So yeah, any defense I had towards the dev is gone there.

  • biribiri11@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    The guy replying is a total dick, and for people that like to encourage change to create software that evolves with needs, they sure do refuse to change when needs evolve.

    This is definitely just a dangerous cause of that one xkcd. At the very least, Debian unstable caught something before it could reach everyone else. That works, at the very least.

  • Aatube@kbin.melroy.org
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    I think we should fail --purge if no config file is specified on the command line. I see no world where an invocation without one would make sense, and it would have caught the problem here. —poettering

    And that was what they did in the patch.

  • palordrolap@kbin.run
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    This whole saga reminds me of the time I somehow ended up with Windows 9x’s “Recent Documents” feature pointed at the root of a drive, so when I pushed the button to “clear recent documents” it dutifully started deleting all the files on the drive.

    At the time, the “Recent Documents” feature created shortcuts to, as you might guess, recently opened documents and put them in a user folder specifically for that purpose. Clearing them was only supposed to remove the shortcuts.

    Or perhaps more relevantly, that one Steam bash script that could delete things it shouldn’t under some very rare circumstances.

  • e8d79@discuss.tchncs.de
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    Editorializing the title and putting nothing but polemics into the description paints you in a worse light than it does the systemd devs.

  • OpFARv30@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    It’s bluca, yo.

    As a random example, here is bluca breaking suspend-then-hibernate, then being a complete asshole about it, while other systemd devs are trying to put the fire out. Do read his code reviews on the latter. yuwata and keszybz have nerves of steel.

    The current behaviour is fully expected and documented

    bluca is cancer.

    • doeknius_gloek@discuss.tchncs.de
      link
      fedilink
      arrow-up
      0
      ·
      12 days ago

      Funny to seem him arguing against HibernateDelaySec because of possible data loss, yet if systemd-tmpfiles purges your fucking home directory it’s “documented behaviour”. The superiority complex of some people…

    • NaN@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      12 days ago

      He’s trying to be a little Poettering.

      I always think it’s crazy when employees of companies with paying customers act like such jackasses in public.