Skip to content

Instantly share code, notes, and snippets.

@CvH
Created July 23, 2018 09:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CvH/78f923d04ec0dea1b60f61e963958aeb to your computer and use it in GitHub Desktop.
Save CvH/78f923d04ec0dea1b60f61e963958aeb to your computer and use it in GitHub Desktop.
#!/bin/bash
REPO="/path/to/addons"
do_cleanup(){
rm -rf $REPO/*/*/script.program.driverselect 2>/dev/null
}
do_xml(){
for PROJECT in $(find $REPO/* -maxdepth 0 -type d); do
PROJECT=$(basename "$PROJECT")
for ARCH in $(find $REPO/$PROJECT/* -maxdepth 0 -type d); do
ARCH=$(basename "$ARCH")
ARCH_XML='<?xml version="1.0" encoding="UTF-8"?>\n<addons>\n'
for ADDON in $(find $REPO/$PROJECT/$ARCH/* -maxdepth 0 -type d); do
ADDON=$(basename "$ADDON")
for ARCHIVE in $(find $REPO/$PROJECT/$ARCH/$ADDON -type f -name "*.zip" | sort -V); do
if [ -n "$ARCHIVE" ]; then
ARCHIVE_XML=$(unzip -p "$ARCHIVE" "$ADDON/addon.xml" | sed '1d' | cat)
ARCH_XML="$ARCH_XML$ARCHIVE_XML\n"
fi
done
done
ARCH_XML="$ARCH_XML</addons>"
echo -e "$ARCH_XML" > $REPO/$PROJECT/$ARCH/addons.xml
gzip -f $REPO/$PROJECT/$ARCH/addons.xml
md5sum $REPO/$PROJECT/$ARCH/addons.xml.gz | cut -f1 -d ' ' > $REPO/$PROJECT/$ARCH/addons.xml.gz.md5
sha256sum $REPO/$PROJECT/$ARCH/addons.xml.gz | cut -f1 -d ' ' > $REPO/$PROJECT/$ARCH/addons.xml.gz.sha256
done
done
}
do_cleanup
do_xml
exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment