File generate-png-source.sh of Package openclipart
#!/bin/sh
usage()
{
echo "This script generates a source pngonly source tarball from the svgonly"
echo "source tarball."
echo
echo "Usage: ${0##*/} openclipart-<version>-svgonly.tar.bz2 [output.tar.bz2]"
}
if test "$1" = "--help" -o -z "$1" -o ! -f "$1" ; then
usage
exit 1
fi
INTAR="$1"
OUTTAR="$2"
if test -z "$OUTTAR" ; then
OUTTAR=${INTAR/svg/png}
fi
if test -f "$OUTTAR" ; then
echo "Error: Output archive $OUTTAR already exists!"
echo "If you want to replace the output archive, remove it at first, please!"
exit 1;
fi
TEMPDIR="`mktemp -d /tmp/generate-png-source.sh.XXXXXXXX`"
SRCDIR=$TEMPDIR/src
OUTDIR=$TEMPDIR/out
mkdir $SRCDIR
mkdir $OUTDIR
echo "Unpacking source tarball ($INTAR)..."
tar -xf "$INTAR" -C "$SRCDIR"
find "$SRCDIR" -type d -exec chmod 755 {} \;
find "$SRCDIR" -type f -exec chmod 644 {} \;
# detect names of the top directories
SVGDIRNAME=`ls $SRCDIR`
PNGDIRNAME=${SVGDIRNAME/svg/png}
echo "Removing some broken files..."
for path in buildings/perspectival_house_01.svg ; do
echo " remove $path"
rm -rvf $SRCDIR/$SVGDIRNAME/clipart/$path
done
echo "Copying documentation..."
mkdir $OUTDIR/$PNGDIRNAME
for file in `find $SRCDIR/$SVGDIRNAME -mindepth 1 -maxdepth 1 -type f` ; do
cp -av $file $OUTDIR/$PNGDIRNAME
done
mkdir -v $OUTDIR/$PNGDIRNAME/clipart
for file in `find $SRCDIR/$SVGDIRNAME/clipart -mindepth 1 -maxdepth 1 -type f` ; do
cp -av $file $OUTDIR/$PNGDIRNAME/clipart
done
echo "Generating .png files using inkscape..."
# inkscape is in /opt/gnome/bin
IFS_saved="$IFS"
IFS="
"
export PATH="$PATH:/opt/gnome/bin"
for pict_svg in `find $SRCDIR/$SVGDIRNAME/clipart -name "*.svg" -type f ` ; do
pict_dir="${pict_svg#$SRCDIR/$SVGDIRNAME/clipart}"
pict_dir="${pict_dir%/*}"
pict_png="${pict_svg##*/}"
pict_png="${pict_png%.svg}.png"
mkdir -p "$OUTDIR/$PNGDIRNAME/clipart/$pict_dir"
inkscape -f "$pict_svg" -e "$OUTDIR/$PNGDIRNAME/clipart/$pict_dir/$pict_png"
# check output
if test ! -f "$OUTDIR/$PNGDIRNAME/clipart/$pict_dir/$pict_png" ; then
echo "Error: File $OUTDIR/$PNGDIRNAME/clipart/$pict_dir/$pict_png was not generated!"
exit 1
fi
# optimize output size
optipng -o5 $OUTDIR/$PNGDIRNAME/clipart/$pict_dir/$pict_png
done
IFS="$IFS_saved"
echo "Generating output tarball ($OUTTAR)..."
tar -cjf "$OUTTAR" -C "$OUTDIR" `ls "$OUTDIR"`
echo "Cleaning up..."
rm -rf $TPMDIR