Select Git revision
prepare_package.sh 1.42 KiB
#!/bin/sh
set -e
rm -rf tmp src debian
mkdir -p src
cp -r debian_static debian
echo "$1" | sed -E 's&^([^/]+)/(.*\+git(.+))$&\1 \2 \3&' | \
while read plugin_name package_version commit_hash; do
plugin_url="$(grep -E '^[^#]+' config/plugins | while read -r line_plugin_name line_plugin_url; do
if [ "${plugin_name}" = "${line_plugin_name}" ]; then
printf '%s\n' "${line_plugin_url}"
break
fi
done)"
echo ">$plugin_name< >$package_version< >$commit_hash< >$plugin_url<"
git clone "${plugin_url}" "tmp"
git -C "tmp" checkout "${commit_hash}"
rm -r "tmp/.git"
plugin_base="$(sed -E -n 's/^base[ \t]+(.*)$/\1/p' tmp/plugin.info.txt)"
plugin_url="$(sed -E -n 's/^url[ \t]+(.*)$/\1/p' tmp/plugin.info.txt)"
plugin_desc="$(sed -E -n 's/^desc[ \t]+(.*)$/\1/p' tmp/plugin.info.txt)"
mv tmp "src/${plugin_base}"
cat > debian/control <<EOF
Source: dokuwiki-plugin-${plugin_name}
Section: web
Priority: optional
Maintainer: CCCV <it@cccv.de>
Build-Depends: debhelper-compat (= 12)
Standards-Version: 4.5.0
Homepage: ${plugin_url}
Package: dokuwiki-plugin-${plugin_name}
Architecture: all
Depends: dokuwiki
Description: ${plugin_desc}
EOF
cat > debian/changelog <<EOF
dokuwiki-plugin-${plugin_name} (${package_version}) unstable; urgency=medium
Release ${package_version}
-- autoupdater <infra+packages-autoupdate@cccv.de> $(date --rfc-email)
EOF
echo "src/${plugin_base} /usr/share/dokuwiki/lib/plugins/" > debian/install
break
done