mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:12:43 +00:00 
			
		
		
		
	Meta: Add script to generate and export manpages
This commit is contained in:
		
							parent
							
								
									2caad04d23
								
							
						
					
					
						commit
						a4e805756d
					
				
					 1 changed files with 51 additions and 0 deletions
				
			
		
							
								
								
									
										51
									
								
								Meta/export-argsparser-manpages.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								Meta/export-argsparser-manpages.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,51 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P) | ||||
| cd "${script_path}/.." | ||||
| 
 | ||||
| if ! command -v tar >/dev/null 2>&1 ; then | ||||
|     echo "Please install tar!" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| echo "This script assumes passwordless sudo." | ||||
| sudo true | ||||
| 
 | ||||
| if [ -z "$BUILD_DIR" ]; then | ||||
|     if [ -z "$SERENITY_ARCH" ]; then | ||||
|         export SERENITY_ARCH="i686" | ||||
|         echo "SERENITY_ARCH not given. Assuming ${SERENITY_ARCH}." | ||||
|     fi | ||||
|     BUILD_DIR=Build/"$SERENITY_ARCH" | ||||
|     echo "BUILD_DIR not given. Assuming ${BUILD_DIR}." | ||||
| fi | ||||
| 
 | ||||
| if [ -e fsmount ]; then | ||||
|     echo "Directory 'fsmount' already exists." | ||||
|     echo "Manual cleanup needed. You might also need to unmount first." | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| if ! [ -d Base/usr/share/man/ ]; then | ||||
|     echo "Base/usr/share/man/ does not exist. How did that happen?! o.O" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| echo "Using 'ninja run' to generate manpages ..." | ||||
| export SERENITY_RUN="ci" | ||||
| export SERENITY_KERNEL_CMDLINE="fbdev=off panic=shutdown system_mode=generate-manpages" | ||||
| # The 'sed' gets rid of the clear-screen escape sequence. | ||||
| ninja -C "$BUILD_DIR" -- run | sed -re 's,''c,,' | ||||
| echo | ||||
| 
 | ||||
| echo "Extracting generated manpages ..." | ||||
| mkdir fsmount | ||||
| sudo mount -t ext2 -o loop,rw "$BUILD_DIR"/_disk_image fsmount | ||||
| # 'cp' would create the new files as root, but we don't want that. | ||||
| sudo tar -C fsmount/root/generated_manpages --create . | tar -C Base/usr/share/man/ --extract | ||||
| sudo umount fsmount | ||||
| rmdir fsmount | ||||
| 
 | ||||
| echo "Successfully (re-)generated manpages in Base/usr/share/man/" | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ben Wiederhake
						Ben Wiederhake