#!/bin/sh apkindex="APKINDEX" csvfile="output.csv" database="apkindex.db" rm -f $csvfile $database read_line() { local type=${1%%:*} local var=${1#*:} case "$type" in P) #name name="$var" ;; V) #version version="$var" ;; T) #description desc="\"$var\"" ;; U) #url url="\"$var\"" ;; L) #license lic="$var" ;; A) #arch arch="$var" ;; D) #depends deps="$var" ;; C) #csum csum="$var" ;; S) #size size="$var" ;; I) #installed_size install_size="$var" ;; p) #provides provides="$var" ;; i) #install_if install_if="$var" ;; o) #origin origin="$var" ;; m) #maintainer maintainer="$var" ;; t) #build_time build_time="$var" ;; c) #commit commit="$var" ;; F|M|R|Z|r|q|a|s|f) #installed db entries return 1 ;; esac } reset_vars() { name= version= desc= url= lic= arch= deps= csum= size= install_size= provides= install_if= origin= maintainer= build_time= commit= } write_line() { echo "$name,$version,$desc,$url,$lic,$arch,$deps,$csum,$size,$install_size,$provides,$install_if,$origin,$maintainer,$build_time,$commit" >> \ $csvfile } printf "CREATE TABLE apkindex('name' text, 'version' text, 'desc' text, 'url' text, 'lic' text, 'arch' text, 'deps' text, 'csum' text, 'size' text, 'install_size' text, 'provides' text, 'install_if' text, 'origin' text, 'maintainer' text, 'build_time' integer, 'commit' text);" | sqlite3 $database IFS=$'\n' while read line; do [ "$line" = "" ] && write_line && reset_vars read_line "$line" done<$apkindex unset IFS printf ".mode csv\n.import $csvfile apkindex" | sqlite3 $database