63 lines
1.6 KiB
Bash
Executable File
63 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. debian/debian.env
|
|
|
|
vars=$1
|
|
any_signed=$2
|
|
|
|
. $vars
|
|
|
|
[ "$provides" != '' ] && provides="$provides, "
|
|
|
|
flavour=$(basename $vars | sed 's/.*\.//')
|
|
stub="${DEBIAN}/control.d/flavour-control.stub debian/control.d/flavour-buildinfo.stub"
|
|
if [ "$any_signed" = 'true' ]; then
|
|
sign_me_pkg="-unsigned"
|
|
sign_me_txt=" unsigned"
|
|
sign_peer_pkg=""
|
|
else
|
|
sign_me_pkg=""
|
|
sign_me_txt=""
|
|
sign_peer_pkg="-unsigned"
|
|
fi
|
|
|
|
cat $stub | grep -v '^#' | sed \
|
|
-e "s#FLAVOUR#$flavour#g" \
|
|
-e "s#DESC#$desc#g" \
|
|
-e "s#ARCH#$arch#g" \
|
|
-e "s#SUPPORTED#$supported#g" \
|
|
-e "s#TARGET#$target#g" \
|
|
-e "s#BOOTLOADER#$bootloader#g" \
|
|
-e "s#=PROVIDES=#$provides#g" \
|
|
-e "s#=CONFLICTS=#$conflicts#g" \
|
|
-e "s#=SIGN-ME-PKG=#$sign_me_pkg#g" \
|
|
-e "s#=SIGN-ME-TXT=#$sign_me_txt#g" \
|
|
-e "s#=SIGN-PEER-PKG=#$sign_peer_pkg#g"
|
|
|
|
while read package version extras
|
|
do
|
|
module="$package"
|
|
module_type=
|
|
|
|
# Module arch parameters are skipped here, so a package section will
|
|
# be generated for each flavour, and its Architecture will be set to
|
|
# all architectures with that flavour. Even that is being generated,
|
|
# it doesn't follow all of them will be built. That's to work-around
|
|
# dkms_exclude/dkms_include that manipulates supported architectures
|
|
# in $(DEBIAN)/rules.d/$(arch).mk.
|
|
for param in $extras; do
|
|
case "$param" in
|
|
modulename=*) module="${param#modulename=}" ;;
|
|
type=*) module_type="${param#type=}" ;;
|
|
*) continue ;;
|
|
esac
|
|
done
|
|
|
|
[ "$module_type" = "standalone" ] || continue
|
|
|
|
cat debian/control.d/flavour-module.stub | grep -v '^#' | sed \
|
|
-e "s#ARCH#$arch#g" \
|
|
-e "s#MODULE#$module#g" \
|
|
-e "s#FLAVOUR#$flavour#g"
|
|
done <"${DEBIAN}/dkms-versions"
|