Compare commits
	
		
			No commits in common. "6e769464cf230ecbe1f6a22c7d961e621671ee33" and "4c08915c566c3e1bb1ef80cff45648e32b47b997" have entirely different histories.
		
	
	
		
			6e769464cf
			...
			4c08915c56
		
	
		
					 3 changed files with 5 additions and 124 deletions
				
			
		
							
								
								
									
										12
									
								
								meson.build
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								meson.build
									
										
									
									
									
								
							|  | @ -1,20 +1,18 @@ | |||
| # Project definition | ||||
| project('zlevis-mkinitfs', license: 'GPL-2.0-only', version: '3.12') | ||||
| project('zlevis-mkinitfs', license: 'GPL-2.0-only') | ||||
| 
 | ||||
| # Define bin, mkinitfs features and data dir | ||||
| bin_dir = join_paths(get_option('prefix'), get_option('bindir')) | ||||
| # Define mkinitfs features and data dir | ||||
| features_dir = '/etc/mkinitfs/features.d/' | ||||
| data_dir = '/usr/share/zlevis-mkinitfs/' | ||||
| data_dir = '/usr/share/mkinitfs/' | ||||
| 
 | ||||
| # Define features and data list | ||||
| features = [] | ||||
| data = [] | ||||
| 
 | ||||
| # Define subdir with src, subdir with features and subdir with data | ||||
| subdir('src') | ||||
| # Define subdir with features and subdir with data | ||||
| subdir('features') | ||||
| subdir('data') | ||||
| 
 | ||||
| # Install features in features dir and data in data dir | ||||
| install_data(features, install_dir: features_dir) | ||||
| install_data(data, install_dir: data_dir) | ||||
| install_data(data, install_dir: data_dir) | ||||
|  | @ -1,14 +0,0 @@ | |||
| # Find the script | ||||
| script = find_program(meson.current_source_dir(), 'zlevis-mkinitfs.in') | ||||
| 
 | ||||
| # Test the script | ||||
| test('zlevis-mkinitfs.in', script, args: '--summary') | ||||
| 
 | ||||
| # Configure script | ||||
| configure_file( | ||||
|   input: 'zlevis-mkinitfs.in', | ||||
|   output: 'zlevis-mkinitfs', | ||||
|   configuration: {'VERSION': meson.project_version()}, | ||||
|   install: true, | ||||
|   install_dir: bin_dir | ||||
| ) | ||||
|  | @ -1,103 +0,0 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| # Exit immediately if a command exits with a non-zero status | ||||
| set -e | ||||
| 
 | ||||
| # Summary of the functionality of zlevis-mkinitfs | ||||
| summary="A tool that implements zlevis into mkinitfs" | ||||
| 
 | ||||
| # Version of zlevis-mkinitfs | ||||
| version="@VERSION@" | ||||
| 
 | ||||
| # Display summary | ||||
| if [ "$1" = "--summary" ]; then | ||||
|     echo "$summary" | ||||
|     exit 0 | ||||
| fi | ||||
| 
 | ||||
| # Display version | ||||
| if [ "$1" = "--version" ]; then | ||||
|     echo "$version" | ||||
|     exit 0 | ||||
| fi | ||||
| 
 | ||||
| # Function to display usage information of zlevis-mkinitfs | ||||
| info() { | ||||
|     exec >&2 | ||||
|     echo "Usage: \"zlevis-mkinitfs {install|uninstall}\"" | ||||
|     exit 2 | ||||
| } | ||||
| 
 | ||||
| # Define locations | ||||
| loc_zlevis_mkinitfs="/usr/share/zlevis-mkinitfs" | ||||
| loc_mkinitfs="/usr/share/mkinitfs" | ||||
| loc_conf="/etc/mkinitfs/mkinitfs.conf" | ||||
| 
 | ||||
| # Function to install zlevis into mkinitfs | ||||
| install() { | ||||
|     if [ -f "${loc_zlevis_mkinitfs}/initramfs-init" ]; then | ||||
|         continue | ||||
|     else | ||||
|         echo "cannot install zlevis-mkinitfs: zlevis-mkinitfs not present on system" | ||||
|         exit 1 | ||||
|     fi | ||||
| 
 | ||||
|     if [ -f "${loc_mkinitfs}/initramfs-init" ]; then | ||||
|         continue | ||||
|     else | ||||
|         echo "cannot install zlevis-mkinitfs: mkinitfs not present on system" | ||||
|         exit 1 | ||||
|     fi | ||||
|      | ||||
|     cp "${loc_mkinitfs}/initramfs-init" "${loc_mkinitfs}/initramfs-init.bak" | ||||
|     echo "cp: ${loc_mkinitfs}/initramfs-init to ${loc_mkinitfs}/initramfs-init.bak" | ||||
|      | ||||
|     cp "${loc_zlevis_mkinitfs}/initramfs-init" "${loc_mkinitfs}/initramfs-init" | ||||
|     echo "cp: ${loc_zlevis_mkinitfs}/initramfs-init to ${loc_mkinitfs}/initramfs-init" | ||||
|      | ||||
|     if grep -q "^features=" "$loc_conf"; then | ||||
|         if grep -q "^features=.*zlevis" "$loc_conf"; then | ||||
|             echo "zlevis is already in features" | ||||
|             exit 0 | ||||
|         else | ||||
|             sed -i '/^features=/s/"$/ zlevis"/' "$loc_conf" | ||||
|             echo "zlevis has been added to features" | ||||
|             exit 0 | ||||
|         fi | ||||
|     else | ||||
|         echo "partially installed zlevis-mkinitfs: mkinitfs features does not exist" | ||||
|         exit 1 | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # Function to uninstall zlevis from mkinitfs | ||||
| uninstall() { | ||||
|     if [ -f "${loc_mkinitfs}/initramfs-init.bak" ]; then | ||||
|         mv "${loc_mkinitfs}/initramfs-init.bak" "${loc_mkinitfs}/initramfs-init" | ||||
|         echo "mv: ${loc_mkinitfs}/initramfs-init.bak to ${loc_mkinitfs}/initramfs-init" | ||||
|          | ||||
|         if grep -q "^features=" "$loc_conf"; then | ||||
|             if grep -q "^features=.*zlevis" "$loc_conf"; then | ||||
|                 sed -i '/^features=/s/ zlevis//g' "${loc_conf}" | ||||
|                 echo "zlevis has been removed from features" | ||||
|                 exit 0 | ||||
|             else | ||||
|                 echo "cannot remove zlevis from features: zlevis not present" | ||||
|                 exit 2 | ||||
|             fi | ||||
|         else | ||||
|             echo "uninstalled zlevis-mkinitfs: mkinitfs features does not exist" | ||||
|             exit 2 | ||||
|         fi   | ||||
|     else | ||||
|         echo "cannot uninstall zlevis-mkinitfs: zlevis-mkinitfs not installed" | ||||
|         exit 2 | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # Determine the argument path and execute the relevant function | ||||
| case "$1" in | ||||
|     "install") install;; | ||||
|     "uninstall") uninstall;; | ||||
|     *) info;; | ||||
| esac | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue