#!/bin/sh

# 1, check whether md5sum files exist, if not, create them
for p in *.sfs; do
	[ $p = '*.sfs' ] && exit # empty repo
	if [ ! -e ${p}.md5sum.txt ] || [ $p -nt ${p}.md5sum.txt ]; then
		md5sum $p > ${p}.md5sum.txt
	fi
done

# sfslist format: filename|md5sum|size MB|description
# Note description can be blank

# create filename and md5sum fields
awk '{print $2 "|" $1 "|"}' *.sfs.md5sum.txt > sfslist

# add size field
for p in *.sfs; do
	size=$(( $(stat -L -c %s $p) / 1048576 )) # use MiB
	sed -i -e "/$p/ s/\$/$size|/" sfslist
done

# add description field for well-known packages
for p in *.sfs; do
	desc=
	case $p in
	*devx*) desc='Development package: compilers, build tools, header files, static libraries, etc' ;;
	*nls*) desc='International language packages.' ;;
	*32bit*) desc='32-bit compatibility library' ;;
	wine*) desc='WINE Windows Emulator' ;;
	jdk*|java-jdk*) desc='Java Development Kit' ;;
	jre*|java-jre*) desc='Java Runtime Environment' ;;
	iron*) desc='Iron web browser' ;;
	libreoffice*) desc='LibreOffice office suite' ;;
	manpages*) desc='HTML-ised collection of Linux manual pages' ;;
	gambas3*) desc='Gambas Object Basic Development Environment' ;;
	fpc*) desc='Freepascal with Lazarus' ;;
	openshot*) desc='Openshot video editor' ;;
	lives*) desc='Lives video editor' ;;
	kernel-source*) desc='Linux kernel sources' ;;
	skype*) desc='Skype Internet Phone' ;;
	*cross*) desc='Cross compiler' ;;
	go-*) desc='Go programming language' ;;
	livecode*) desc='Livecode programming environment' ;;
	*wallpaper*) desc='Wallpaper collections' ;;
	compiz*) desc="3D desktop environment" ;;
	eclipse*) desc="Eclipse IDE" ;;
	qt*) desc="QT Toolkit" ;;
	teamviewer*) desc="Remote administration software" ;;
	supertuxkart*) desc="Game";;
	arduino*) desc="Arduino IDE" ;;
	nvidia-*) desc="NVIDIA driver"  ;;
	qt*) desc="Qt GUI Framework" ;;
	kicad*) desc="KiCAD EDA" ;;
	scribus*) desc="Scribus Desktop Publishing" ;;
	google-earth*) desc="Google Earth" ;;
	retroarch*) desc="Emulator" ;;
	mingw64*) desc="MinGW-w64 cross compiler" ;;
	freetube*) desc="Private youtube client";;
        rstudio*) desc="IDE for GNU R";;
        tesseract*) desc="Optical Character Recognition";;
        anki*) desc="Flashcard software";;
        endless-sky*) desc="Game";;
        kodi*) desc="Media Center";;
        opera*) desc="Web browser";;
        OpenHexagon*) desc="Game";;
        R-*) desc="Statistical and data analysis";;
        shotcut*) desc="Video Editor";;
	xfce*) desc="Desktop Environment";;
	zoom*) desc="Video Conferencing";;
	calibre*) desc="Ebook Viewer and Manager";;
	esac
	[ "$desc" ] && sed -i -e "/$p/ s/\$/$desc/" sfslist
done

 
