On 8/7/2023 5:31 PM, Taylor Blau wrote: > On Mon, Aug 07, 2023 at 06:51:40PM +0000, Derrick Stolee via GitGitGadget wrote: >> Modify the template with a custom schedule in the 'OnCalendar' setting. >> This schedule has some interesting differences from cron-like patterns, >> but is relatively easy to figure out from context. The one that might be >> confusing is that '*-*-*' is a date-based pattern, but this must be >> omitted when using 'Mon' to signal that we care about the day of the >> week. Monday is used since that matches the day used for the 'weekly' >> schedule used previously. > > I think the launchd version (which uses "0" for the day of the week) > runs on Sunday, if I remember correctly. I don't think that these two > necessarily need to run on the same day of the week when configured to > run weekly. > > But I figured I'd raise the question in case you did mean for them to > both run on either Sunday or Monday. I don't intend to change the day that is run as part of this change. I think all other schedulers run on Sunday, but systemd running on Monday is a particular detail of its "weekly" schedule. >> -static int systemd_timer_write_unit_templates(const char *exec_path) >> +static int systemd_timer_write_unit_template(enum schedule_priority schedule, >> + const char *exec_path, >> + int minute) >> { >> char *filename; >> FILE *file; >> const char *unit; >> + char *schedule_pattern = NULL; > > You should be able to drop the NULL initialization, since you assign > this value unconditionally in the switch statement below (or BUG() on an > unknown schedule type). Unfortunately, GCC complained about a possibly-unassigned value when I left this unset during development, so this actually is necessary for that compiler. Thanks, -Stolee