#!/bin/sh

# 1, check whether md5sum files exist and are fresh, if not, create/update 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 -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*) desc='Java Development Kit' ;;
	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' ;;
	compiz*) desc="3D desktop environment" ;;
	foobillard*) desc="Game" ;;
	hedgewars*) desc="Game" ;;
	hurrican*) desc="Game" ;;
	vim-*) desc="Text Editor";;
	S.N.ApP*) desc="Configuration Management tool by stemsee. See https://forum.puppylinux.com/viewtopic.php?t=2972";;
	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";;
	esac
	[ "$desc" ] && sed -i -e "/$p/ s|\$|$desc|" sfslist
done

 
