#!/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