Files @ 7ac2f13099b4
Branch filter:

Location: website/systemd/conservancy-www-update.sh

Bradley M. Kuhn
Copyleft Compliance: Minor rewrite of firmware liberation

This rewrite should improve the stand-alone nature of these documents
and allow for better integration with other summary text and
announcements on the website.

Note that they have now drifted heavily from the original formulation
of the items as grant proposals.
#!/bin/sh

set -e
set -u

PRODUCTION_BRANCH="${PRODUCTION_BRANCH:-master}"

git_rev_name() {
    git rev-parse --abbrev-ref --symbolic-full-name "$@"
}

# If the checkout is not on the production branch,
# assume maintenance is happening and stop.
if [ "$(git_rev_name HEAD)" != "$PRODUCTION_BRANCH" ]; then
    exit 0
fi

# Abort if the production branch isn't tracking a remote branch.
if ! git_upstream="$(git_rev_name '@{upstream}' 2>/dev/null)"; then
    exit 3
fi

IFS=/ read git_remote git_refspec <<EOF
$git_upstream
EOF
git fetch --quiet --no-tags "$git_remote" "$git_refspec"
if [ "$(git rev-parse "$PRODUCTION_BRANCH")" = "$(git rev-parse "$git_upstream")" ]; then
    exit 0
fi

exitcode=0
git merge --quiet --ff-only "$git_remote" "$git_refspec"
python2 -m compileall -q -x - www || exitcode=$?
chgrp -R www-data www || exitcode=$?
chmod -R g+rX-w,o+X-w www || exitcode=$?
chmod -R o+r www/conservancy/static || exitcode=$?
exit "$exitcode"