mirror of
https://github.com/RasppleII/a2cloud.git
synced 2025-04-20 21:37:31 +00:00
As noted, Ivan has agreed to allow these scripts to be relicensed under CC0. We have one file under LGPL (a unit file we lifted wholesake from systemd) and the ADTPro wrapper which I'm pretty sure Ivan wrote, but if he didn't we need to fix its license to be the same as ADTPro. Either way, to the best of my knowledge, this resolves the question of how things are licensed explicitly. (Closes #21)
33 lines
1.3 KiB
Bash
Executable File
33 lines
1.3 KiB
Bash
Executable File
#! /bin/bash
|
|
# vim: set tabstop=4 shiftwidth=4 noexpandtab filetype=sh:
|
|
|
|
# shk2image - Extract .shk files to Apple II disk images
|
|
#
|
|
# To the extent possible under law, T. Joseph Carter and Ivan Drucker have
|
|
# waived all copyright and related or neighboring rights to the a2cloud
|
|
# scripts themselves. Software used or installed by these scripts is subject
|
|
# to other licenses. This work is published from the United States.
|
|
|
|
origDir="$PWD"
|
|
[[ ! -n $1 || ! -n $2 ]] && { echo "Usage: shk2image archiveFileName imageFileName [PRODOS.DIR.NAME]"; exit 1; };
|
|
imageFileName="$2";
|
|
prodosDir="$3";
|
|
[[ ! -f "$1" ]] && { echo "Archive file '$1' was not found."; exit 1; };
|
|
[[ ! -f "$imageFileName" ]] && mkpo "$imageFileName";
|
|
[[ -n $prodosDir ]] && dirName="$prodosDir/" || dirName=;
|
|
IFS="";
|
|
[[ ${1:0:1} == "/" ]] && archiveFile="$1" || archiveFile="$origDir/$1"
|
|
mkdir -p /tmp/shk2image_temp
|
|
cd /tmp/shk2image_temp
|
|
shkFiles=$(nulib2 -xse "$archiveFile" | tr "\r" "~" | cut -d "~" -f 2 | cut -c 18-);
|
|
cd "$origDir"
|
|
while read thisFile; do
|
|
fileName=${thisFile%%#*};
|
|
fileType=${thisFile##*#};
|
|
echo "extracting $fileName...";
|
|
acmd -d "$imageFileName" $dirName$fileName &>/dev/null;
|
|
acmd -p "$imageFileName" $dirName$fileName \$${fileType:0:2} \$${fileType:2:4} < /tmp/shk2image_temp/"$thisFile"
|
|
rm /tmp/shk2image_temp/"$thisFile"
|
|
done <<< $shkFiles
|
|
rm -r /tmp/shk2image_temp
|