Codebase list freedict-tools / run/737e2c07-b6af-4b40-a62e-0beea811d484/main dic2ipk.sh
run/737e2c07-b6af-4b40-a62e-0beea811d484/main

Tree @run/737e2c07-b6af-4b40-a62e-0beea811d484/main (Download .tar.gz)

dic2ipk.sh @run/737e2c07-b6af-4b40-a62e-0beea811d484/mainraw · history · blame

#!/bin/bash
# this script packages .dic (or .dic.dz) files
# for the zbedic program on the Zaurus platform
# into .ipk (installable packages)

# the iPKG file format is loosely based on Debian's
# package format. iPKG is documented at:
#
#   * http://www.zaurususergroup.com/modules.php?op=modload&name=phpWiki&file=index&pagename=IPKG%20Howto
#   * http://www.ossh.com/zaurus/mirrors/docs.zaurus.com/ipkg_howto.shtml
#     (same text like forst page)
#   * http://www.handhelds.org/
#     (The forst two links refer to the wiki here as reference, but
#      that page is currently (Jan 2005) unavailable

# ===== the filenames
INFILE=$1
EXTENSION=${INFILE#*.}
OUTFILE=`basename ${1/.$EXTENSION}`

# ===== check the syntax
if [[ "$1" == "" ]]; then
    echo "USAGE: $0 <zbedic FreeDict Dictionary>"
    exit 1
fi

# ==== is there a file-conflict
if [ -d ./home ]; then
    echo "There's already a ./home folder. Please remove that first!"
    exit 1
fi
if [ -e ./control ]; then
    echo "There's already a control file. Remove it first!"
    exit 1
fi
if [ -e ./control.tar.gz ]; then
    echo "There's already a control.tar.gz file. Remove it first!"
    exit 1
fi
if [ -e ./data.tar.gz ]; then
    echo "There's already a data.tar.gz file. Remove it first!"
    exit 1
fi

# ===== image type for the maps

# ===== make it lowercase
EXTENSION=`echo "$EXTENSION" | tr [A-Z] [a-z]`

if [[ "$EXTENSION" == "jpeg" ]]; then
    EXTENSION=jpg
fi

# ===== no converter specified?
#if [[ "`which convert`" == "" ]]; then
#    echo Cannot find the program convert!
#    exit 2
#fi
if [[ "$EXTENSION" == "" ]]; then
    echo Cannot identify the image-type or cannot find the file!
    exit 2
fi
if [ -d ./${OUTFILE} ]; then
    echo "There's already an image folder ${OUTFILE}."
    exit 2
fi


# ===== renaming files

# ===== adding overview

# ===== leaving image-folder

# ===== creating folders for ipkg

mkdir ./home
mkdir ./home/QtPalmtop
mkdir ./home/QtPalmtop/share
mkdir ./home/QtPalmtop/share/zbedic

# ===== moving the image-files into the right folder
cp ${INFILE} ./home/QtPalmtop/share/zbedic/

# ===== make a nice ipkg
DATE=$(date +"%Y%m%d")
FILE=./zbedic-${OUTFILE}_${DATE}_arm.ipk

# ===== package-information
echo -ne "Package: FreeDict-${OUTFILE}
InstalledSize: $(du -sh ./home | cut -f1)
Filename: ${FILE}
Maintainer: $(whoami)
Architecture: arm
Version: ${DATE}
Description: FreeDict ${OUTFILE} dictionary for zbedic
" > ./control

# ===== creating
tar -czf data.tar.gz ./home
tar -czf control.tar.gz ./control
tar -czf ${FILE} ./data.tar.gz ./control.tar.gz

# ===== removing temp-files
rm ./data.tar.gz ./control.tar.gz ./control

# ===== removing the NEW folders and NEW created images
rm -rf ./home
echo ${FILE}