63 lines
1.5 KiB
Bash
Executable File
63 lines
1.5 KiB
Bash
Executable File
#!/bin/bash -eu
|
|
|
|
if [ -f debian/debian.env ]; then
|
|
# shellcheck disable=SC1091
|
|
. debian/debian.env
|
|
fi
|
|
|
|
if [ ! -d "${DEBIAN}" ]; then
|
|
echo You must run this script from the top directory of this repository.
|
|
exit 1
|
|
fi
|
|
|
|
CONF="${DEBIAN}"/etc/update.conf
|
|
if [ -f "${CONF}" ]; then
|
|
# shellcheck disable=SC1090
|
|
. "${CONF}"
|
|
fi
|
|
|
|
FOREIGN_ARCHES=""
|
|
LOCAL_CONF="${DEBIAN}/etc/local.conf"
|
|
if [ -f "${LOCAL_CONF}" ]; then
|
|
# shellcheck disable=SC1090
|
|
. "${LOCAL_CONF}"
|
|
fi
|
|
|
|
SKIP_RULES_D=${SKIP_RULES_D:-}
|
|
|
|
#
|
|
# Update configs from master
|
|
#
|
|
rsync -avc --exclude 'annotations' --exclude 'config.flavour.lowlatency' --exclude 'config.flavour.lowlatency-64k' --delete "${DEBIAN_MASTER}/config/" "${DEBIAN}/config"
|
|
|
|
#
|
|
# Update package and DTB settings from master.
|
|
#
|
|
if [ -z "${SKIP_RULES_D}" ] ; then
|
|
rsync -avc "${DEBIAN_MASTER}/rules.d/"*.mk "${DEBIAN}/rules.d/"
|
|
fi
|
|
|
|
# Remove the .mk files from the arch's that are not supported
|
|
for i in ${FOREIGN_ARCHES}
|
|
do
|
|
rm -f "${DEBIAN}/rules.d/${i}.mk"
|
|
git rm -f --ignore-unmatch "${DEBIAN}/rules.d/${i}.mk" || true
|
|
done
|
|
|
|
#
|
|
# Update modprobe.d from master
|
|
#
|
|
# Some releases (trusty) don't have this directory, and rsync would fail
|
|
# without this check.
|
|
if [ -d "${DEBIAN}/modprobe.d/" ]; then
|
|
rsync -avc --delete "${DEBIAN_MASTER}/modprobe.d/" "${DEBIAN}/modprobe.d"
|
|
fi
|
|
|
|
cp -p "${DEBIAN_MASTER}/control.d/"*.inclusion-list "${DEBIAN}/control.d"
|
|
|
|
cp -p "${DEBIAN_MASTER}/reconstruct" "${DEBIAN}/reconstruct"
|
|
|
|
if [ -x "${DEBIAN}/scripts/helpers/local-mangle" ]; then
|
|
"./${DEBIAN}/scripts/helpers/local-mangle"
|
|
fi
|