c931c87173 
					 
					
						
						
							
							tools/systemd/time: let libc normalize time for us  
						
						... 
						
						
						
						mktime/gmtime can normalize time and even can handle special timezone
cases like the fact that the time 2:30 on specific day/timezone combos
do not exists
we have to convert the signature of all functions that use
normalize_time since mktime/gmtime can return an EOVERFLOW
but if this happens there is no way we can find a good time anyway
since normalize_time will always set wday according to the rest of the
time, remove set_wday
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2020-09-04 15:26:40 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						28a0a9343c 
					 
					
						
						
							
							tools/systemd/tm_editor: remove TMChanges optimization  
						
						... 
						
						
						
						while it was correct, there was no measurable speed gain
(a benchmark yielded 2.8 ms for a spec that did not find a timestamp either way)
so remove it for simpler code
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2020-09-04 15:26:04 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cd6ddb5a69 
					 
					
						
						
							
							depend on proxmox 0.3.5  
						
						
						
						
					 
					
						2020-09-04 08:11:53 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						eeb19aeb2d 
					 
					
						
						
							
							systemd/time: fix weekday wrapping on month  
						
						... 
						
						
						
						the weekday does not change depending on the month, so remove that wrapping
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2020-08-03 08:18:42 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6c96ec418d 
					 
					
						
						
							
							systemd/time: add tests for weekday month wrapping  
						
						... 
						
						
						
						this will fail for now, gets fixed in the next commit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2020-08-03 08:15:26 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a74b026baa 
					 
					
						
						
							
							systemd/time: document CalendarEvent struct and add TODOs  
						
						... 
						
						
						
						Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com > 
						
						
					 
					
						2020-07-23 07:55:42 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						956295cefe 
					 
					
						
						
							
							parse_calendar_event: support the weekly special expression  
						
						... 
						
						
						
						While we do not yet support the date specs for CalendarEvent the left
out "weekly" special expression[0] dies not requires that support.
It is specified to be equivalent with `Mon *-*-* 00:00:00` [0] and
this can be implemented with the weekday and time support we already
have.
[0]: https://www.freedesktop.org/software/systemd/man/systemd.time.html#Calendar%20Events 
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com > 
						
						
					 
					
						2020-07-21 13:24:51 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						547f0c97e4 
					 
					
						
						
							
							src/tools/nom.rs: new helper parse_complete_line() for single line parsers  
						
						... 
						
						
						
						Like parse_complete(), but generates simpler error messages. 
						
						
					 
					
						2020-06-18 12:57:55 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						177a2de992 
					 
					
						
						
							
							src/tools/nom.rs: move nom helpers into separate file  
						
						
						
						
					 
					
						2020-06-18 12:41:13 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d4f2397d4c 
					 
					
						
						
							
							add api to format disks and create datastores  
						
						
						
						
					 
					
						2020-06-10 11:03:36 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b9cf6ee797 
					 
					
						
						
							
							src/tools/systemd/types.rs: add Mount config  
						
						
						
						
					 
					
						2020-06-09 18:47:10 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						eed8a5ad79 
					 
					
						
						
							
							tools/systemd/time: fix compute_next_event for weekdays  
						
						... 
						
						
						
						two things were wrong here:
* the range (x..y) does not include y, so the range
  (day_num+1..6) goes from (day_num+1) to 5 (but sunday is 6)
* WeekDays.bits() does not return the 'day_num' of that day, but
  the bit value (e.g. 64 for SUNDAY) but was treated as the index of
  the day of the week
  to fix this, we drop the map to WeekDays and use the 'indices'
  directly
this patch makes the test work again
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2020-06-04 07:02:33 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						538b9c1c27 
					 
					
						
						
							
							systemd/time: add tests for all weekdays  
						
						... 
						
						
						
						this fails for now
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2020-06-04 07:02:23 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						750252ba2f 
					 
					
						
						
							
							src/tools/systemd/time.rs: add test for "daily" schedule  
						
						
						
						
					 
					
						2020-05-29 07:52:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						479e4932b5 
					 
					
						
						
							
							src/tools/systemd/parse_time.rs: improve error message  
						
						
						
						
					 
					
						2020-05-20 09:43:16 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d6c28ddf84 
					 
					
						
						
							
							src/tools/systemd/time.rs: export parse/verify  
						
						
						
						
					 
					
						2020-05-20 08:38:39 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						16c75c580b 
					 
					
						
						
							
							adapt to changes of SectionConfigPlugin  
						
						... 
						
						
						
						it requires not an Option<String> for the optional id_property
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2020-05-19 09:28:45 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7a314d18f7 
					 
					
						
						
							
							src/tools/systemd/parse_time.rs: check max values  
						
						
						
						
					 
					
						2020-05-16 13:13:50 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2d08c97ae2 
					 
					
						
						
							
							CalendarEvent - compute_next_value: use change tracking to avoid repeated testing  
						
						
						
						
					 
					
						2020-05-16 10:32:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						50ce1f987d 
					 
					
						
						
							
							CalendarEvent - compute_next_value: support seconds  
						
						
						
						
					 
					
						2020-05-16 10:21:24 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d1a5ffdf78 
					 
					
						
						
							
							src/tools/systemd/tm_editor.rs: new helper class  
						
						
						
						
					 
					
						2020-05-16 10:09:41 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						99baf7afcc 
					 
					
						
						
							
							CalendarEvent: test and fix repeated values  
						
						
						
						
					 
					
						2020-05-16 07:43:51 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fed270bf3f 
					 
					
						
						
							
							CalendarEvent: speedup/simplify repetition tests  
						
						
						
						
					 
					
						2020-05-16 07:09:53 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e05b637c73 
					 
					
						
						
							
							src/tools/systemd/parse_time.rs: move parser into separate file  
						
						
						
						
					 
					
						2020-05-16 06:53:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2ee6b3fdb9 
					 
					
						
						
							
							src/tools/systemd/time.rs: implement compute_next_event  
						
						
						
						
					 
					
						2020-05-16 06:33:03 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f3a96b2cdb 
					 
					
						
						
							
							renamed: src/tools/systemd/parser.rs -> src/tools/systemd/config.rs  
						
						
						
						
					 
					
						2020-05-16 06:32:28 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a260c74a12 
					 
					
						
						
							
							src/tools/systemd/time.rs: add helpers to compute CalendarEvents  
						
						
						
						
					 
					
						2020-05-15 17:55:54 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						00491c0230 
					 
					
						
						
							
							src/tools/systemd/parser.rs: use different setups for service and timer files, code cleanup  
						
						
						
						
					 
					
						2020-05-14 13:55:13 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2ebdbac1c4 
					 
					
						
						
							
							depend on nom, add parser for systemd calendar enents and time span  
						
						
						
						
					 
					
						2020-05-14 12:18:30 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f486e9e50e 
					 
					
						
						
							
							add systemd configuration file parser/writer, start job configuration  
						
						
						
						
					 
					
						2020-05-12 13:07:49 +02:00