51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
target="$1"
 | 
						|
loc="$2"
 | 
						|
 | 
						|
test "$target" || exit 1
 | 
						|
test "$loc" || loc=.
 | 
						|
test -x "$loc/usage" || exit 1
 | 
						|
test "$SED" || SED=sed
 | 
						|
test "$DD" || DD=dd
 | 
						|
 | 
						|
# Some people were bitten by their system lacking a (proper) od
 | 
						|
od -v -t x1 </dev/null >/dev/null
 | 
						|
if test $? != 0; then
 | 
						|
	echo 'od tool is not installed or cannot accept "-v -t x1" options'
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
 | 
						|
exec >"$target.$$"
 | 
						|
 | 
						|
echo '#define UNPACKED_USAGE "" \'
 | 
						|
"$loc/usage" | od -v -t x1 \
 | 
						|
| $SED -e 's/^[^ ]*//' \
 | 
						|
	-e 's/ //g' \
 | 
						|
	-e '/^$/d' \
 | 
						|
	-e 's/\(..\)/\\x\1/g' \
 | 
						|
	-e 's/^/"/' \
 | 
						|
	-e 's/$/" \\/'
 | 
						|
echo ''
 | 
						|
 | 
						|
echo '#define PACKED_USAGE \'
 | 
						|
## Breaks on big-endian systems!
 | 
						|
## # Extra effort to avoid using "od -t x1": -t is not available
 | 
						|
## # in non-CONFIG_DESKTOPed busybox od
 | 
						|
##
 | 
						|
## "$loc/usage" | bzip2 -1 | od -v -x \
 | 
						|
## | $SED -e 's/^[^ ]*//' \
 | 
						|
##	-e 's/ //g' \
 | 
						|
##	-e '/^$/d' \
 | 
						|
##	-e 's/\(..\)\(..\)/0x\2,0x\1,/g'
 | 
						|
##	-e 's/$/ \\/'
 | 
						|
"$loc/usage" | bzip2 -1 | $DD bs=2 skip=1 2>/dev/null | od -v -t x1 \
 | 
						|
| $SED -e 's/^[^ ]*//' \
 | 
						|
	-e 's/ //g' \
 | 
						|
	-e '/^$/d' \
 | 
						|
	-e 's/\(..\)/0x\1,/g' \
 | 
						|
	-e 's/$/ \\/'
 | 
						|
echo ''
 | 
						|
 | 
						|
mv -- "$target.$$" "$target"
 |