Files
ports/scripts/genpackagelist.sh
2021-05-22 22:58:54 +08:00

40 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# script to generate packages.json
PORTSDIR="$(dirname $(dirname $(realpath $0)))"
SCRIPTDIR="$(dirname $(realpath $0))"
repo="main multilib nonfree testing"
echo -ne "[" > $SCRIPTDIR/packages.json
for r in $repo; do
for p in $PORTSDIR/$r/*; do
[ -f $p/spkgbuild ] || continue
. $p/spkgbuild
homepage=$(grep "^# homepage[[:blank:]]*:" $p/spkgbuild | sed 's/^# homepage[[:blank:]]*:[[:blank:]]*//')
if [ ! "$homepage" ]; then
s=$(echo $source | awk '{print $1}')
case $s in
*::*) s=${s#*::};;
esac
case $s in
*//*) ;;
*) continue;;
esac
case $s in
*x.org*|*gnu.org*|*gnome.org*) homepage=$(echo $s | cut -d / -f1-4);;
*github.com*) homepage=$(echo $s | cut -d / -f1-5);;
*) homepage=$(echo $s | cut -d / -f1-3);;
esac
fi
jsonformat="{\"name\": "\"$name"\",\"version\": "\"$version"\",\"release\": "\"$release"\",\"repo\": "\"$r"\",\"homepage\": "\"$homepage"\"},"
echo -ne $jsonformat >> $SCRIPTDIR/packages.json
done
done
sed 's/.$//' -i $SCRIPTDIR/packages.json # remove last comma (,)
echo -ne "]" >> $SCRIPTDIR/packages.json
exit 0