* adacore git-hooks - daemon-mode email vs. systemd-logind linger @ 2024-04-16 10:56 Frank Ch. Eigler 2024-04-19 19:11 ` Joel Brobecker 0 siblings, 1 reply; 3+ messages in thread From: Frank Ch. Eigler @ 2024-04-16 10:56 UTC (permalink / raw) To: brobecker; +Cc: gdb, gcc Hi, Joel - As a part of more security review on sourceware, I had recently experimented with systemd logind's KillUserProcesses=yes option. It turns out that this nuked one aspect adacore hooks' post-receive processing, which create a background process to slowly dribble out emails. I restored KilledUserProcesses=no for now, but I'd really like to set that back. That means the hooks would have to change. Here are a couple of options: - just send the emails immediately, without the daemon stuff; if the delays are there to try to sequentialize them, consider instead getting the hooks to emit Message-Id:/In-Reply-To:/Date: headers to let MUA's sort properly at reception - invoke the email sending wrapped in a "systemd-run --user" deferred execution gadget, including a "sleep XXX" if you must keep time-hope-based sequencing - move email stuff entirely out of the hooks; these repos are "public property" anyhow, and we can put cron jobs in place elsewhere to trigger email notifications about commits; heck, they could run the hook code itself later, just feed it retrospective git-hook lines - FChE ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: adacore git-hooks - daemon-mode email vs. systemd-logind linger 2024-04-16 10:56 adacore git-hooks - daemon-mode email vs. systemd-logind linger Frank Ch. Eigler @ 2024-04-19 19:11 ` Joel Brobecker 2024-04-19 19:28 ` Frank Ch. Eigler 0 siblings, 1 reply; 3+ messages in thread From: Joel Brobecker @ 2024-04-19 19:11 UTC (permalink / raw) To: Frank Ch. Eigler; +Cc: brobecker, gdb, gcc Hi Frank, > - just send the emails immediately, without the daemon stuff; if the > delays are there to try to sequentialize them, consider instead > getting the hooks to emit Message-Id:/In-Reply-To:/Date: headers to > let MUA's sort properly at reception We can certainly add a non-daemon mode to the hooks. I don't know when I'd have time to work on this enhancement, unfortunately. > - invoke the email sending wrapped in a "systemd-run --user" > deferred execution gadget, including a "sleep XXX" if you must > keep time-hope-based sequencing > > - move email stuff entirely out of the hooks; these repos are "public > property" anyhow, and we can put cron jobs in place elsewhere to > trigger email notifications about commits; heck, they could run the > hook code itself later, just feed it retrospective git-hook lines You can configure the hooks to turn emailing off completely. From memory, this triggers a warning message on the user end when they do the push, just to let them know to not expect emails. The downside of going this way, other than the minor annoyance above, is that you lose track of who did the push. Right now, the emails allows you to derive the information from the emails' from field. Thinking more long term, I think there are talks about using a more comprehensive system for source and contribution management, similar to products such as GitLab or GitHub. Those will likely come with they own set of tooling for things such as alerting, pre-commit checks, keeping track of who submitted, who reviewed and approved, and who pushed. That's why I tend to think that, for the moment, I'd go the simplest route overall: In this case, I think the simplest is to just have a way to disable the daemon mode, and just have the users wait. In the vast majority of cases, the wait will be a few seconds. Even with a patch-series of a 100 patches, it would mean a 1min40s wait. Very bearable. If you agree, we can create an issue for it on the git-hooks repoisitory on GitHub. -- Joel ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: adacore git-hooks - daemon-mode email vs. systemd-logind linger 2024-04-19 19:11 ` Joel Brobecker @ 2024-04-19 19:28 ` Frank Ch. Eigler 0 siblings, 0 replies; 3+ messages in thread From: Frank Ch. Eigler @ 2024-04-19 19:28 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb, gcc Hi, Joel - > [...] Thinking more long term, I think there are talks about using > a more comprehensive system for source and contribution management, > similar to products such as GitLab or GitHub. [...] (Yeah, but I wouldn't count on any of that in the medium term.) > [...] That's why I tend to think that, for the moment, > I'd go the simplest route overall: In this case, I think the simplest > is to just have a way to disable the daemon mode, and just have > the users wait. In the vast majority of cases, the wait will be > a few seconds. Even with a patch-series of a 100 patches, it would > mean a 1min40s wait. Very bearable. Right. the EMAIL_DELAY_IN_SECONDS time of 5s could be reduced to 1s, or even 0. - FChE ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-04-19 19:28 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-04-16 10:56 adacore git-hooks - daemon-mode email vs. systemd-logind linger Frank Ch. Eigler 2024-04-19 19:11 ` Joel Brobecker 2024-04-19 19:28 ` Frank Ch. Eigler
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).