diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2012-01-03T12·59+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2012-01-03T12·59+0000 |
commit | 6c31232e1494d1d68a31fb8433dbf593f831dff2 (patch) | |
tree | 9acd7f0e2279bd971b5ccd1f1eb8cec8b7937003 /corepkgs/unpack-channel.sh | |
parent | 502d94048ae848eda1fcda2d1e72b339eaa653aa (diff) | |
parent | 63227d434cefaa9faeb14afe28ebeb9b2d449ee2 (diff) |
* Sync with the trunk.
Diffstat (limited to 'corepkgs/unpack-channel.sh')
-rw-r--r-- | corepkgs/unpack-channel.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/corepkgs/unpack-channel.sh b/corepkgs/unpack-channel.sh new file mode 100644 index 000000000000..7c244a6a8552 --- /dev/null +++ b/corepkgs/unpack-channel.sh @@ -0,0 +1,30 @@ +mkdir $out +mkdir $out/tmp +cd $out/tmp + +inputs=($inputs) +for ((n = 0; n < ${#inputs[*]}; n += 2)); do + channelName=${inputs[n]} + channelTarball=${inputs[n+1]} + + echo "unpacking channel $channelName" + + $bzip2 -d < $channelTarball | $tar xf - + + if test -e */channel-name; then + channelName="$(cat */channel-name)" + fi + + nr=1 + attrName=$(echo $channelName | $tr -- '- ' '__') + dirName=$attrName + while test -e ../$dirName; do + nr=$((nr+1)) + dirName=$attrName-$nr + done + + mv * ../$dirName # !!! hacky +done + +cd .. +rmdir tmp |