87b5c30ef6 
							
						 
					 
					
						
						
							
							message: relocate from container  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 35s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m22s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m28s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m21s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m29s 
				
			 
		
		
	 
 
	 
						
						This package is quite useful. This change allows it to be imported without importing container.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-09 05:18:19 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							5d18af0007 
							
						 
					 
					
						
						
							
							container/fhs: move pathname constants  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m6s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m1s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m29s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m21s 
				
			 
		
		
	 
 
	 
						
						This allows referencing FHS pathnames without importing container.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-07 21:29:16 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0e6c1a5026 
							
						 
					 
					
						
						
							
							container/check: move absolute pathname  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m3s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m26s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m19s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m28s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m16s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m37s 
				
			 
		
		
	 
 
	 
						
						This allows use of absolute pathname values without importing container.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-07 20:57:58 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							46cd3a28c8 
							
						 
					 
					
						
						
							
							container: remove global msg  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 1m10s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m40s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m44s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 5m1s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 6m2s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m47s 
				
			 
		
		
	 
 
	 
						
						This frees all container instances of side effects.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-09-29 06:11:47 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e55822c62f 
							
						 
					 
					
						
						
							
							container/init: reduce verbose noise  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 56s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m38s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m45s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m36s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m45s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m41s 
				
			 
		
		
	 
 
	 
						
						This makes it possible to optionally omit the identifying verbose message, for when the Op implementation can provide a much more useful message in its case, using information not yet available to the String method.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-09-28 21:51:10 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4da6463135 
							
						 
					 
					
						
						
							
							container/init: unwrap path errors  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m49s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m18s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m43s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m53s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m16s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m36s 
				
			 
		
		
	 
 
	 
						
						These are also now handled by init properly, so wrapping them in self is meaningless and unreachable.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-29 02:04:09 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							a462341a0a 
							
						 
					 
					
						
						
							
							container: repeat and impossible state types  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m45s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m18s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m35s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m57s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m13s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m36s 
				
			 
		
		
	 
 
	 
						
						This moves repeated Op errors and impossible internal state errors off of msg.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-29 01:12:02 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							cedfceded5 
							
						 
					 
					
						
						
							
							container/autoroot: remove prefix field  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m12s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m14s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 5m23s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 3m2s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m23s 
				
			 
		
		
	 
 
	 
						
						This field has been a noop for a long time. Remove it to prevent further confusion.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-25 03:39:20 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							09d2844981 
							
						 
					 
					
						
						
							
							container/init: wrap syscall helper functions  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m7s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m59s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m26s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m6s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
		
	 
 
	 
						
						This allows tests to stub all kernel behaviour, enabling measurement of all function call arguments and error injection.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-22 19:27:31 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							5d8a2199b6 
							
						 
					 
					
						
						
							
							container/init: op interface valid method  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m12s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m19s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m57s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m25s 
				
			 
		
		
	 
 
	 
						
						Check ops early and eliminate duplicate checks.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-21 00:18:50 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							97ab24feef 
							
						 
					 
					
						
						
							
							container/init: use absolute compare method  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m3s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m4s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m25s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m59s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m19s 
				
			 
		
		
	 
 
	 
						
						More checks are also added.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-20 17:14:36 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							375acb476d 
							
						 
					 
					
						
						
							
							container/autoroot: check host path equivalence by value  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m21s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m12s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m25s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m1s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						This will never return true otherwise unless the equivalent paths happen to be interned by the caller.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-20 02:14:39 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e0533aaa68 
							
						 
					 
					
						
						
							
							container/autoroot: filter dentry with empty name  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m12s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m24s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m1s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						This is unreachable, but nice to have just in case.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-20 01:03:49 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							9c1a5d43ba 
							
						 
					 
					
						
						
							
							container: enforce nonrepeatable autoetc and autoroot  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m6s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m4s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m18s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m57s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m21s 
				
			 
		
		
	 
 
	 
						
						These keep track of some internal state, and they don't make sense to have multiple instances of anyway, so instead of dealing with that, just make them nonrepetable.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-17 01:43:11 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							8aa65f28c6 
							
						 
					 
					
						
						
							
							container: allow additional state between ops  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m12s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m15s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m8s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m21s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m8s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
		
	 
 
	 
						
						This is useful for ops that need to be aware of previous instances of themselves.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-17 01:32:07 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e99d7affb0 
							
						 
					 
					
						
						
							
							container: use absolute for pathname  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m59s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m45s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m11s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m47s 
				
			 
		
		
	 
 
	 
						
						This is simultaneously more efficient and less error-prone. This change caused minor API changes in multiple other packages.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-11 04:56:42 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c6be82bcf9 
							
						 
					 
					
						
						
							
							container/path: fhs path constants  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m6s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m6s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m14s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m11s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m40s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m18s 
				
			 
		
		
	 
 
	 
						
						This increases readability since this can help disambiguate absolute paths from similarly named path segments.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-03 21:16:45 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4e85643865 
							
						 
					 
					
						
						
							
							container: implement autoroot as setup op  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m7s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m1s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m5s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m22s 
				
			 
		
		
	 
 
	 
						
						This code is useful beyond just pd behaviour, and implementing it this way also reduces IPC overhead.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-01 04:04:36 +09:00