mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:12:44 +00:00 
			
		
		
		
	timezone: Add a command line utility to set the system time zone
This commit is contained in:
		
							parent
							
								
									2bdc3aec42
								
							
						
					
					
						commit
						6057a2ca30
					
				
					 3 changed files with 38 additions and 0 deletions
				
			
		|  | @ -101,6 +101,10 @@ if [ -f mnt/bin/utmpupdate ]; then | |||
|     chown 0:$utmp_gid mnt/bin/utmpupdate | ||||
|     chmod 2755 mnt/bin/utmpupdate | ||||
| fi | ||||
| if [ -f mnt/bin/timezone ]; then | ||||
|     chown 0:$phys_gid mnt/bin/timezone | ||||
|     chmod 4750 mnt/bin/timezone | ||||
| fi | ||||
| if [ -f mnt/usr/Tests/Kernel/TestMemoryDeviceMmap ]; then | ||||
|     chown 0:0 mnt/usr/Tests/Kernel/TestMemoryDeviceMmap | ||||
|     chmod 4755 mnt/usr/Tests/Kernel/TestMemoryDeviceMmap | ||||
|  |  | |||
|  | @ -156,6 +156,7 @@ target_link_libraries(telws LibProtocol LibLine) | |||
| target_link_libraries(test-fuzz LibCore LibGemini LibGfx LibHTTP LibIPC LibJS LibMarkdown LibShell) | ||||
| target_link_libraries(test-imap LibIMAP LibMain) | ||||
| target_link_libraries(test-pthread LibThreading) | ||||
| target_link_libraries(timezone LibMain) | ||||
| target_link_libraries(top LibMain) | ||||
| target_link_libraries(touch LibMain) | ||||
| target_link_libraries(truncate LibMain) | ||||
|  |  | |||
							
								
								
									
										33
									
								
								Userland/Utilities/timezone.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Userland/Utilities/timezone.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | |||
| /*
 | ||||
|  * Copyright (c) 2022, Tim Flynn <trflynn89@pm.me> | ||||
|  * | ||||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #include <AK/StringView.h> | ||||
| #include <AK/Try.h> | ||||
| #include <LibCore/ArgsParser.h> | ||||
| #include <LibCore/System.h> | ||||
| #include <LibMain/Main.h> | ||||
| #include <LibTimeZone/TimeZone.h> | ||||
| 
 | ||||
| ErrorOr<int> serenity_main(Main::Arguments arguments) | ||||
| { | ||||
|     TRY(Core::System::pledge("stdio rpath wpath cpath")); | ||||
|     TRY(Core::System::unveil("/etc/timezone", "rwc")); | ||||
|     TRY(Core::System::unveil(nullptr, nullptr)); | ||||
| 
 | ||||
|     StringView time_zone; | ||||
| 
 | ||||
|     Core::ArgsParser args_parser; | ||||
|     args_parser.add_positional_argument(time_zone, "The time zone to set", "time-zone", Core::ArgsParser::Required::No); | ||||
|     args_parser.parse(arguments); | ||||
| 
 | ||||
|     if (time_zone.is_empty()) { | ||||
|         outln("{}", TimeZone::current_time_zone()); | ||||
|         return 0; | ||||
|     } | ||||
| 
 | ||||
|     TRY(TimeZone::change_time_zone(time_zone)); | ||||
|     return 0; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy Flynn
						Timothy Flynn