nyam.imagine/builder-targets-cb.sh

220 lines
10 KiB
Bash

##############################################################################
# This optional file "builder-targets-cb.sh" will be called by builder.sh
#
# The targets will be called from thde opsi-builder using the following
# order: config, prepare, retrieve, create, package, publish, commit, cleanup
# You can overwrite the target functions in builder-targets-cb.sh
#
# You can define callback functions. The functions are called from
# opsi-builder within processing a target
# cb_package_makeproductfile
#
# You can use every variable defined in any configuration file or by
# the defined builder script itself. Also, calling the predefined
# targets builder_<targetname> is possible.
#
# Abstract:
# target order: config, prepare, retrieve, create, package, publish, commit, cleanup
# callbacks: <none>
#
##############################################################################
function cleanup() {
echo "Cleanup"
builder_cleanup
}
function create() {
echo "Create"
builder_create
cp $INST_DIR/CLIENT_DATA/opsi-${PN}.ini $INST_DIR/CLIENT_DATA/Imagine.ini
mkdir $INST_DIR/CLIENT_DATA/X86/Icons
mkdir $INST_DIR/CLIENT_DATA/X86_64/Icons
mkdir $INST_DIR/CLIENT_DATA/ALL/Icons
pushd $INST_DIR/CLIENT_DATA/ALL/
for typenr in ${WINST_VALUE[0]}
do
type=${typenr/*-/}
typebig=${typenr/-*/}
### 24bit #############################################################################################################################################
# 256x256
convert -verbose -size 256x256 xc:transparent -font DejaVu-Sans-Condensed-Bold -pointsize 68 -fill white -stroke black -strokewidth 2 -draw "gravity south text 0,5 '$type'" $type-256x256-txt.png
composite -verbose -quality 100 $type-256x256-txt.png $INST_DIR/CLIENT_DATA/ALL/Template/icon_imagine_24bit_256x256.png $type-256x256-24bit.png
# 180x180
convert -verbose -resize 180x180 $type-256x256-24bit.png $type-180x180-24bit.png
# 150x150
convert -verbose -resize 150x150 $type-256x256-24bit.png $type-150x150-24bit.png
# 128x128
convert -verbose -size 128x128 xc:transparent -font DejaVu-Sans-Condensed-Bold -pointsize 37 -fill white -stroke black -strokewidth 2 -draw "gravity south text 0,3 '$type'" $type-128x128-txt.png
composite -verbose -quality 100 $type-128x128-txt.png $INST_DIR/CLIENT_DATA/ALL/Template/icon_imagine_24bit_128x128.png $type-128x128-24bit.png
# 96x96
convert -verbose -resize 96x96 $type-256x256-24bit.png $type-96x96-24bit.png
# 72x72
convert -verbose -resize 72x72 $type-256x256-24bit.png $type-72x72-24bit.png
# 64x64
convert -verbose -size 64x64 xc:transparent -font DejaVu-Sans-Condensed-Bold -pointsize 18 -fill white -stroke black -strokewidth 1 -draw "gravity south text 0,2 '$type'" $type-64x64-txt.png
composite -verbose -quality 100 $type-64x64-txt.png $INST_DIR/CLIENT_DATA/ALL/Template/icon_imagine_24bit_64x64.png $type-64x64-24bit.png
# 50x50
convert -verbose -resize 50x50 $type-64x64-24bit.png $type-50x50-24bit.png
# 48x48
convert -verbose -size 48x48 xc:transparent -font DejaVu-Sans-Condensed-Bold -pointsize 14 -fill black -draw "gravity south text 0,1 '$type'" $type-48x48-txt.png
composite -verbose -quality 100 $type-48x48-txt.png $INST_DIR/CLIENT_DATA/ALL/Template/icon_imagine_24bit_48x48.png $type-48x48-24bit.png
# 40x40
convert -verbose -resize 40x40 $type-48x48-24bit.png $type-40x40-24bit.png
# 32x32
convert -verbose -resize 32x32 $type-48x48-24bit.png $type-32x32-24bit.png
# 30x30
convert -verbose -resize 30x30 $type-48x48-24bit.png $type-30x30-24bit.png
# 24x24
convert -verbose -resize 24x24 $type-48x48-24bit.png $type-24x24-24bit.png
# 16x16
convert -verbose -size 32x32 xc:transparent -font $INST_DIR/CLIENT_DATA/ALL/Font/Small_5x3/small_5x3.ttf -pointsize 5 -fill black -draw "gravity south text 0,1 '$typebig'" $type-16x16-txt.png
composite -verbose -quality 100 $type-16x16-txt.png $INST_DIR/CLIENT_DATA/ALL/Template/icon_imagine_24bit_16x16.png $type-16x16-24bit.png
#### 8bit #############################################################################################################################################
# 256x256
cp $type-256x256-24bit.png $type-256x256.png
pngquant 256 $type-256x256.png
convert -verbose $type-256x256-??8.png png8:$type-256x256-8bit.png
# 180x180
cp $type-180x180-24bit.png $type-180x180.png
pngquant 256 $type-180x180.png
convert -verbose $type-180x180-??8.png png8:$type-180x180-8bit.png
# 150x150
cp $type-150x150-24bit.png $type-150x150.png
pngquant 256 $type-150x150.png
convert -verbose $type-150x150-??8.png png8:$type-150x150-8bit.png
# 128x128
cp $type-128x128-24bit.png $type-128x128.png
pngquant 256 $type-128x128.png
convert -verbose $type-128x128-??8.png png8:$type-128x128-8bit.png
# 96x96
cp $type-96x96-24bit.png $type-96x96.png
pngquant 256 $type-96x96.png
convert -verbose $type-96x96-??8.png png8:$type-96x96-8bit.png
# 72x72
cp $type-72x72-24bit.png $type-72x72.png
pngquant 256 $type-72x72.png
convert -verbose $type-72x72-??8.png png8:$type-72x72-8bit.png
# 64x64
cp $type-64x64-24bit.png $type-64x64.png
pngquant 256 $type-64x64.png
convert -verbose $type-64x64-??8.png png8:$type-64x64-8bit.png
# 50x50
cp $type-50x50-24bit.png $type-50x50.png
pngquant 256 $type-50x50.png
convert -verbose $type-50x50-??8.png png8:$type-50x50-8bit.png
# 48x48
cp $type-48x48-24bit.png $type-48x48.png
pngquant 256 $type-48x48.png
convert -verbose $type-48x48-??8.png png8:$type-48x48-8bit.png
# 40x40
cp $type-40x40-24bit.png $type-40x40.png
pngquant 256 $type-40x40.png
convert -verbose $type-40x40-??8.png png8:$type-40x40-8bit.png
# 32x32
cp $type-32x32-24bit.png $type-32x32.png
pngquant 256 $type-32x32.png
convert -verbose $type-32x32-??8.png png8:$type-32x32-8bit.png
# 30x30
cp $type-30x30-24bit.png $type-30x30.png
pngquant 256 $type-30x30.png
convert -verbose $type-30x30-??8.png png8:$type-30x30-8bit.png
# 24x24
cp $type-24x24-24bit.png $type-24x24.png
pngquant 256 $type-24x24.png
convert -verbose $type-24x24-??8.png png8:$type-24x24-8bit.png
# 16x16
cp $type-16x16-24bit.png $type-16x16.png
pngquant 256 $type-16x16.png
convert -verbose $type-16x16-??8.png png8:$type-16x16-8bit.png
rm $type-*x*-??8.png
#### 4bit #############################################################################################################################################
# 256x256
cp $type-256x256-8bit.png $type-256x256.png
pngquant 16 $type-256x256.png
convert -verbose $type-256x256-??8.png -depth 4 -colors 16 +dither $type-256x256-4bit.png
# 180x180
cp $type-180x180-8bit.png $type-180x180.png
pngquant 16 $type-180x180.png
convert -verbose $type-180x180-??8.png -depth 4 -colors 16 +dither $type-180x180-4bit.png
# 150x150
cp $type-150x150-8bit.png $type-150x150.png
pngquant 16 $type-150x150.png
convert -verbose $type-150x150-??8.png -depth 4 -colors 16 +dither $type-150x150-4bit.png
# 128x128
cp $type-128x128-8bit.png $type-128x128.png
pngquant 16 $type-128x128.png
convert -verbose $type-128x128-??8.png -depth 4 -colors 16 +dither $type-128x128-4bit.png
# 96x96
cp $type-96x96-8bit.png $type-96x96.png
pngquant 16 $type-96x96.png
convert -verbose $type-96x96-??8.png -depth 4 -colors 16 +dither $type-96x96-4bit.png
# 72x72
cp $type-72x72-8bit.png $type-72x72.png
pngquant 16 $type-72x72.png
convert -verbose $type-72x72-??8.png -depth 4 -colors 16 +dither $type-72x72-4bit.png
# 64x64
cp $type-64x64-8bit.png $type-64x64.png
pngquant 16 $type-64x64.png
convert -verbose $type-64x64-??8.png -depth 4 -colors 16 +dither $type-64x64-4bit.png
# 50x50
cp $type-50x50-8bit.png $type-50x50.png
pngquant 16 $type-50x50.png
convert -verbose $type-50x50-??8.png -depth 4 -colors 16 +dither $type-50x50-4bit.png
# 48x48
cp $type-48x48-8bit.png $type-48x48.png
pngquant 16 $type-48x48.png
convert -verbose $type-48x48-??8.png -depth 4 -colors 16 +dither $type-48x48-4bit.png
# 40x40
cp $type-40x40-8bit.png $type-40x40.png
pngquant 16 $type-40x40.png
convert -verbose $type-40x40-??8.png -depth 4 -colors 16 +dither $type-40x40-4bit.png
# 32x32
cp $type-32x32-8bit.png $type-32x32.png
pngquant 16 $type-32x32.png
convert -verbose $type-32x32-??8.png -depth 4 -colors 16 +dither $type-32x32-4bit.png
# 30x30
cp $type-30x30-8bit.png $type-30x30.png
pngquant 16 $type-30x30.png
convert -verbose $type-30x30-??8.png -depth 4 -colors 16 +dither $type-30x30-4bit.png
# 24x24
cp $type-24x24-8bit.png $type-24x24.png
pngquant 16 $type-24x24.png
convert -verbose $type-24x24-??8.png -depth 4 -colors 16 +dither $type-24x24-4bit.png
# 16x16
cp $type-16x16-8bit.png $type-16x16.png
pngquant 16 $type-16x16.png
convert -verbose $type-16x16-??8.png -depth 4 -colors 16 +dither $type-16x16-4bit.png
rm $type-*x*-??8.png
# combine the images into a icon
icotool -c -o $INST_DIR/CLIENT_DATA/ALL/Icons/$type.ico \
$type-256x256-24bit.png $type-128x128-24bit.png $type-64x64-24bit.png \
$type-48x48-24bit.png $type-32x32-24bit.png $type-24x24-24bit.png $type-16x16-24bit.png \
$type-256x256-8bit.png $type-128x128-8bit.png $type-64x64-8bit.png \
$type-48x48-8bit.png $type-32x32-8bit.png $type-24x24-8bit.png $type-16x16-8bit.png \
$type-256x256-4bit.png $type-128x128-4bit.png $type-64x64-4bit.png \
$type-48x48-4bit.png $type-32x32-4bit.png $type-24x24-4bit.png $type-16x16-4bit.png
# $type-256x256-24bit.png $type-180x180-24bit.png $type-150x150-24bit.png $type-128x128-24bit.png $type-96x96-24bit.png $type-72x72-24bit.png $type-64x64-24bit.png \
# $type-50x50-24bit.png $type-48x48-24bit.png $type-40x40-24bit.png $type-32x32-24bit.png $type-30x30-24bit.png $type-24x24-24bit.png $type-16x16-24bit.png \
# $type-256x256-8bit.png $type-180x180-8bit.png $type-150x150-8bit.png $type-128x128-8bit.png $type-96x96-8bit.png $type-72x72-8bit.png $type-64x64-8bit.png \
# $type-50x50-8bit.png $type-48x48-8bit.png $type-40x40-8bit.png $type-32x32-8bit.png $type-30x30-8bit.png $type-24x24-8bit.png $type-16x16-8bit.png \
# $type-256x256-4bit.png $type-180x180-4bit.png $type-150x150-4bit.png $type-128x128-4bit.png $type-96x96-4bit.png $type-72x72-4bit.png $type-64x64-4bit.png \
# $type-50x50-4bit.png $type-48x48-4bit.png $type-40x40-4bit.png $type-32x32-4bit.png $type-30x30-4bit.png $type-24x24-4bit.png $type-16x16-4bit.png
done
popd
cp $INST_DIR/CLIENT_DATA/ALL/Icons/*.ico $INST_DIR/CLIENT_DATA/X86/Icons
cp $INST_DIR/CLIENT_DATA/ALL/Icons/*.ico $INST_DIR/CLIENT_DATA/X86_64/Icons
rm -rf $INST_DIR/CLIENT_DATA/ALL/
}