Update packages building code

This commit is contained in:
zador-blood-stained 2016-08-19 19:16:03 +03:00
parent c2ebed55f8
commit 4acf58d9e4
16 changed files with 182 additions and 205 deletions

View file

@ -12,33 +12,30 @@
# create_chroot
# update_chroot
# chroot_build_packages
# chroot_installpackages_local
# chroot_installpackages
# create_chroot <target_dir>
# <target_dir>: directory to put files
# create_chroot <target_dir> <release> <arch>
#
create_chroot()
{
display_alert "Creating build chroot" "$RELEASE" "info"
local target_dir="$1"
local release=$2
local arch=$3
declare -A qemu_binary
qemu_binary['armhf']='qemu-arm-static'
qemu_binary['arm64']='qemu-aarch64-static'
display_alert "Creating build chroot" "$release" "info"
local includes="ccache,locales,git,ca-certificates,devscripts,libfile-fcntllock-perl,debhelper,rsync,python3"
case $RELEASE in
jessie)
includes="$includes,debian-keyring,debian-archive-keyring"
;;
xenial)
includes="$includes,ubuntu-keyring"
;;
esac
debootstrap --variant=buildd --arch=$ARCH --foreign --include="$includes" $RELEASE $target_dir "http://localhost:3142/$APT_MIRROR"
debootstrap --variant=buildd --arch=$arch --foreign --include="$includes" $release $target_dir "http://localhost:3142/$APT_MIRROR"
[[ $? -ne 0 || ! -f $target_dir/debootstrap/debootstrap ]] && exit_with_error "Create chroot first stage failed"
cp /usr/bin/$QEMU_BINARY $target_dir/usr/bin/
cp /usr/bin/${qemu_binary[$arch]} $target_dir/usr/bin/
[[ ! -f $target_dir/usr/share/keyrings/debian-archive-keyring.gpg ]] && \
mkdir -p $target_dir/usr/share/keyrings/ && \
cp /usr/share/keyrings/debian-archive-keyring.gpg $target_dir/usr/share/keyrings/
chroot $target_dir /bin/bash -c "/debootstrap/debootstrap --second-stage"
[[ $? -ne 0 || ! -f $target_dir/bin/bash ]] && exit_with_error "Create chroot second stage failed"
cp $SRC/lib/config/apt/sources.list.$RELEASE $target_dir/etc/apt/sources.list
cp $SRC/lib/config/apt/sources.list.$release $target_dir/etc/apt/sources.list
echo 'Acquire::http { Proxy "http://localhost:3142"; };' > $target_dir/etc/apt/apt.conf.d/02proxy
cat <<-EOF > $target_dir/etc/apt/apt.conf.d/71-no-recommends
APT::Install-Recommends "0";
@ -48,160 +45,147 @@ create_chroot()
chroot $target_dir /bin/bash -c "locale-gen; update-locale LANG=en_US:en LC_ALL=en_US.UTF-8"
printf '#!/bin/sh\nexit 101' > $target_dir/usr/sbin/policy-rc.d
chmod 755 $target_dir/usr/sbin/policy-rc.d
rm $target_dir/etc/resolv.conf
rm $target_dir/etc/resolv.conf 2>/dev/null
echo "8.8.8.8" > $target_dir/etc/resolv.conf
rm $target_dir/etc/hosts
rm $target_dir/etc/hosts 2>/dev/null
echo "127.0.0.1 localhost" > $target_dir/etc/hosts
touch $target_dir/root/.debootstrap-complete
display_alert "Debootstrap complete" "$RELEASE" "info"
} #############################################################################
# update_chroot <target_dir>
# <target_dir>: directory to put files
#
update_chroot()
{
local target_dir="$1"
local t=$target_dir/root/.update-timestamp
# apply changes to previously created chroots
mkdir -p $target_dir/root/{build,overlay,sources} $target_dir/selinux
# it is symlinked to /run/lock by default
if [[ -L $target_dir/var/lock ]]; then
rm -rf $target_dir/var/lock
rm -rf $target_dir/var/lock 2>/dev/null
mkdir -p $target_dir/var/lock
fi
if [[ ! -f $t || $(( ($(date +%s) - $(<$t)) / 86400 )) -gt 2 ]]; then
display_alert "Upgrading packages" "$RELEASE" "info"
systemd-nspawn -a -q -D $target_dir /bin/bash -c "apt-get -q update; apt-get -q -y upgrade; apt-get clean"
date +%s > $t
fi
cat <<-'EOF' > $target_dir/root/install-deps.sh
#!/bin/bash
deps=()
installed=$(dpkg-query -W -f '${db:Status-Abbrev}|${binary:Package}\n' '*' 2>/dev/null | grep '^ii' | awk -F '|' '{print $2}' | cut -d ':' -f 1)
for packet in "$@"; do grep -q -x -e "$packet" <<< "$installed" || deps+=("$packet"); done
[[ ${#deps[@]} -gt 0 ]] && apt-get -y --no-install-recommends install "${deps[@]}"
EOF
chmod +x $target_dir/root/install-deps.sh
touch $target_dir/root/.debootstrap-complete
display_alert "Debootstrap complete" "$release" "info"
} #############################################################################
# chroot_build_packages
#
chroot_build_packages()
{
[[ $RELEASE != jessie && $RELEASE != xenial ]] && return
for release in jessie xenial; do
for arch in armhf arm64; do
display_alert "Starting package building process" "$release $arch" "info"
display_alert "Starting package building process" "$RELEASE" "info"
local target_dir=$DEST/buildpkg/${release}-${arch}
# to avoid conflicts between published and self-built packages higher pin-priority may be enough
# or may use hostname or other unique identifier or smth like builddate=$(date +"%Y%m%d")
local target_dir=$DEST/buildpkg/${RELEASE}-${ARCH}
# to avoid conflicts between published and self-built packages
# higher pin-priority may be enough
# may use hostname or other unique identifier
# local builddate=$(date +"%Y%m%d")
[[ ! -f $target_dir/root/.debootstrap-complete ]] && create_chroot "$target_dir" "$release" "$arch"
[[ ! -f $target_dir/root/.debootstrap-complete ]] && exit_with_error "Creating chroot failed" "$release"
mkdir -p $DEST/debs/extra/$RELEASE
[[ ! -f $target_dir/root/.debootstrap-complete ]] && create_chroot "$target_dir"
[[ ! -f $target_dir/bin/bash ]] && exit_with_error "Creating chroot failed" "$RELEASE"
update_chroot "$target_dir"
for plugin in $SRC/lib/extras-buildpkgs/*.conf; do
unset package_name package_repo package_ref package_builddeps package_install_chroot package_install_target \
package_prebuild_eval package_upstream_version needs_building plugin_target_dir package_component
source $plugin
# check build arch
[[ $package_arch != $ARCH && $package_arch != all ]] && continue
local plugin_target_dir=$DEST/debs/extra/$RELEASE/$package_component/
mkdir -p $plugin_target_dir
# check if needs building
local needs_building=no
if [[ -n $package_install_target ]]; then
for f in $package_install_target; do
if [[ -z $(find $plugin_target_dir -name "${f}_*$REVISION*_$ARCH.deb") ]]; then
needs_building=yes
break
fi
done
else
needs_building=yes
fi
if [[ $needs_building == no ]]; then
display_alert "Packages are up to date" "$package_name" "info"
continue
fi
display_alert "Building packages" "$package_name" "info"
# create build script
cat <<-EOF > $target_dir/root/build.sh
#!/bin/bash
export PATH="/usr/lib/ccache:\$PATH"
export HOME="/root"
export DEBIAN_FRONTEND="noninteractive"
export DEST="/tmp"
mkdir -p /tmp/debug
export DEB_BUILD_OPTIONS="ccache nocheck"
export CCACHE_TEMPDIR="/tmp"
export DEBFULLNAME="$MAINTAINER"
export DEBEMAIL="$MAINTAINERMAIL"
$(declare -f display_alert)
display_alert "Installing build dependencies"
[[ -n "$package_builddeps" ]] && /root/install-deps.sh $package_builddeps
cd /root/build
display_alert "Copying sources"
rsync -aq /root/sources/$package_name /root/build/
cd /root/build/$package_name
# copy overlay / "debianization" files
[[ -d "/root/overlay/$package_name/" ]] && rsync -aq /root/overlay/$package_name /root/build/
# execute additional commands before building
[[ -n "$package_prebuild_eval" ]] && eval "$package_prebuild_eval"
# set upstream version
[[ -n "$package_upstream_version" ]] && debchange --preserve --newversion "$package_upstream_version" "Import from upstream"
# set local version
# debchange -l~armbian${REVISION}-${builddate}+ "New Armbian release"
debchange -l~armbian${REVISION}+ "New Armbian release"
display_alert "Building package"
dpkg-buildpackage -b -uc -us -jauto
if [[ \$? -eq 0 ]]; then
cd /root/build
# install in chroot if other libraries depend on them
if [[ -n "$package_install_chroot" ]]; then
display_alert "Installing packages"
for p in $package_install_chroot; do
dpkg -i \${p}_*.deb
done
local t=$target_dir/root/.update-timestamp
if [[ ! -f $t || $(( ($(date +%s) - $(<$t)) / 86400 )) -gt 2 ]]; then
display_alert "Upgrading packages" "$release $arch" "info"
systemd-nspawn -a -q -D $target_dir /bin/bash -c "apt-get -q update; apt-get -q -y upgrade; apt-get clean"
date +%s > $t
fi
display_alert "Done building" "$package_name" "ext"
ls *.deb
mv *.deb /root 2>/dev/null
else
display_alert "Failed building" "$package_name" "err"
fi
exit 0
EOF
chmod +x $target_dir/root/build.sh
for plugin in $SRC/lib/extras-buildpkgs/*.conf; do
unset package_name package_repo package_ref package_builddeps package_install_chroot package_install_target \
package_prebuild_eval package_upstream_version needs_building plugin_target_dir package_component
source $plugin
fetch_from_repo "$package_repo" "extra/$package_name" "$package_ref"
# check build arch
[[ $package_arch != $arch && $package_arch != all ]] && continue
# build utils only once for Jessie target
[[ $package_component == utils && $release == xenial ]] && continue
eval systemd-nspawn -a -q -D $target_dir --tmpfs=/root/build --tmpfs=/tmp --bind-ro $SRC/lib/extras-buildpkgs/:/root/overlay \
--bind-ro $SRC/sources/extra/:/root/sources /bin/bash -c "/root/build.sh" 2>&1 \
${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/buildpkg.log'}
mv $target_dir/root/*.deb $plugin_target_dir 2>/dev/null
local plugin_target_dir=$DEST/debs/extra/$package_component/
mkdir -p $plugin_target_dir
# check if needs building
local needs_building=no
if [[ -n $package_install_target ]]; then
for f in $package_install_target; do
if [[ -z $(find $plugin_target_dir -name "${f}_*$REVISION*_$arch.deb") ]]; then
needs_building=yes
break
fi
done
else
needs_building=yes
fi
if [[ $needs_building == no ]]; then
display_alert "Packages are up to date" "$package_name $release $arch" "info"
continue
fi
display_alert "Building packages" "$package_name $release $arch" "ext"
# create build script
cat <<-EOF > $target_dir/root/build.sh
#!/bin/bash
export PATH="/usr/lib/ccache:\$PATH"
export HOME="/root"
export DEBIAN_FRONTEND="noninteractive"
export DEB_BUILD_OPTIONS="ccache nocheck"
export CCACHE_TEMPDIR="/tmp"
export DEBFULLNAME="$MAINTAINER"
export DEBEMAIL="$MAINTAINERMAIL"
$(declare -f display_alert)
cd /root/build
if [[ -n "$package_builddeps" ]]; then
display_alert "Installing build dependencies"
deps=()
installed=\$(dpkg-query -W -f '\${db:Status-Abbrev}|\${binary:Package}\n' '*' 2>/dev/null | grep '^ii' | awk -F '|' '{print \$2}' | cut -d ':' -f 1)
for packet in $package_builddeps; do grep -q -x -e "\$packet" <<< "\$installed" || deps+=("\$packet"); done
[[ \${#deps[@]} -gt 0 ]] && apt-get -y --no-install-recommends --show-progress -o DPKG::Progress-Fancy=1 install "\${deps[@]}"
fi
display_alert "Copying sources"
rsync -aq /root/sources/$package_name /root/build/
cd /root/build/$package_name
# copy overlay / "debianization" files
[[ -d "/root/overlay/$package_name/" ]] && rsync -aq /root/overlay/$package_name /root/build/
# execute additional commands before building
[[ -n "$package_prebuild_eval" ]] && eval "$package_prebuild_eval"
# set upstream version
[[ -n "$package_upstream_version" ]] && debchange --preserve --newversion "$package_upstream_version" "Import from upstream"
# set local version
# debchange -l~armbian${REVISION}-${builddate}+ "New Armbian release"
debchange -l~armbian${REVISION}+ "New Armbian release"
display_alert "Building package"
dpkg-buildpackage -b -uc -us -jauto
if [[ \$? -eq 0 ]]; then
cd /root/build
# install in chroot if other libraries depend on them
if [[ -n "$package_install_chroot" ]]; then
display_alert "Installing packages"
for p in $package_install_chroot; do
dpkg -i \${p}_*.deb
done
fi
display_alert "Done building" "$package_name $release $arch" "ext"
ls *.deb 2>/dev/null
mv *.deb /root 2>/dev/null
else
display_alert "Failed building" "$package_name $release $arch" "err"
fi
exit 0
EOF
chmod +x $target_dir/root/build.sh
fetch_from_repo "$package_repo" "extra/$package_name" "$package_ref"
eval systemd-nspawn -a -q -D $target_dir --tmpfs=/root/build --tmpfs=/tmp --bind-ro $SRC/lib/extras-buildpkgs/:/root/overlay \
--bind-ro $SRC/sources/extra/:/root/sources /bin/bash -c "/root/build.sh" 2>&1 \
${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/buildpkg.log'}
mv $target_dir/root/*.deb $plugin_target_dir 2>/dev/null
done
done
done
} #############################################################################
# chroot_installpackages
# chroot_installpackages_local
#
chroot_installpackages()
chroot_installpackages_local()
{
local conf=$SRC/lib/config/aptly-temp.conf
rm -rf /tmp/aptly-temp/
mkdir -p /tmp/aptly-temp/
aptly -config=$conf repo create temp
# NOTE: this works recursively
aptly -config=$conf repo add temp $DEST/debs/extra/$RELEASE/
aptly -config=$conf repo add temp $DEST/debs/extra/${RELEASE}-desktop/
aptly -config=$conf repo add temp $DEST/debs/extra/utils/
# -gpg-key="925644A6"
aptly -keyring="$SRC/lib/extras-buildpkgs/buildpkg-public.gpg" -secret-keyring="$SRC/lib/extras-buildpkgs/buildpkg.gpg" -batch=true -config=$conf \
-gpg-key="925644A6" -passphrase="testkey1234" -component=temp -distribution=$RELEASE publish repo temp
@ -216,6 +200,15 @@ chroot_installpackages()
cat <<-EOF > $CACHEDIR/sdcard/etc/apt/sources.list.d/armbian-temp.list
deb http://localhost:8189/ $RELEASE temp
EOF
chroot_installpackages_repo
kill $aptly_pid
} #############################################################################
# chroot_installpackages <remote_only>
#
chroot_installpackages()
{
local remote_only=$1
local install_list=""
for plugin in $SRC/lib/extras-buildpkgs/*.conf; do
source $plugin
@ -226,20 +219,27 @@ chroot_installpackages()
done
cat <<-EOF > $CACHEDIR/sdcard/tmp/install.sh
#!/bin/bash
apt-key add /tmp/buildpkg.key
[[ $remote_only != yes ]] && apt-key add /tmp/buildpkg.key
apt-get -o Acquire::http::Proxy=\"http://${APT_PROXY_ADDR:-localhost:3142}\" \
-o Acquire::http::Proxy::localhost="DIRECT" -q update
# uncomment to debug
# /bin/bash
# TODO: check if package exists in case new config was added
#if [[ -n "$remote_only" == yes ]]; then
# for p in $install_list; do
# if grep -qE "apt.armbian.com|localhost" <(apt-cache madison \$p); then
# if apt-get -s -qq install \$p; then
#fi
apt-get -q -o Acquire::http::Proxy=\"http://${APT_PROXY_ADDR:-localhost:3142}\" \
-o Acquire::http::Proxy::localhost="DIRECT" \
--show-progress -o DPKG::Progress-Fancy=1 install -y $install_list
apt-get clean
apt-key del "925644A6"
rm /etc/apt/sources.list.d/armbian-temp.list /etc/apt/preferences.d/90-armbian-temp.pref /tmp/buildpkg.key
[[ $remote_only != yes ]] && apt-key del "925644A6"
rm /etc/apt/sources.list.d/armbian-temp.list 2>/dev/null
rm /etc/apt/preferences.d/90-armbian-temp.pref 2>/dev/null
rm /tmp/buildpkg.key 2>/dev/null
rm -- "\$0"
EOF
chmod +x $CACHEDIR/sdcard/tmp/install.sh
chroot $CACHEDIR/sdcard /bin/bash -c "/tmp/install.sh"
kill $aptly_pid
} #############################################################################

View file

@ -78,7 +78,12 @@ debootstrap_ng()
# install desktop files
[[ $BUILD_DESKTOP == yes ]] && install_desktop
[[ $EXTERNAL_NEW == yes ]] && chroot_installpackages
if [[ $RELEASE == jessie || $RELEASE == xenial ]]; then
# install locally built packages
[[ $EXTERNAL_NEW == yes ]] && chroot_installpackages_local
# install from apt.armbian.com
[[ $EXTERNAL_NEW == nobuild ]] && chroot_installpackages "yes"
fi
# cleanup for install_kernel and install_board_specific
umount $CACHEDIR/sdcard/tmp > /dev/null 2>&1

View file

@ -7,7 +7,7 @@ local package_builddeps="xutils-dev x11proto-xext-dev x11proto-dri2-dev pkg-conf
local package_install_chroot="libdri2-1 libdri2-dev"
local package_install_target="libdri2-1"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -6,7 +6,7 @@ local package_builddeps="graphviz ghostscript doxygen-latex x11proto-dri2-dev pk
local package_install_chroot="libvdpau1 libvdpau-dev"
local package_install_target="libvdpau1"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -6,7 +6,7 @@ local package_builddeps="dh-autoreconf pkg-config"
local package_install_chroot="libump libump-dev"
local package_install_target="libump"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -7,7 +7,7 @@ local package_upstream_version="1.0.1"
local package_install_chroot="libcedrus1 libcedrus1-dev"
local package_install_target="libcedrus1"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -6,7 +6,7 @@ local package_ref="branch:master"
local package_builddeps="dh-autoreconf pkg-config xserver-xorg-dev x11proto-core-dev x11proto-fonts-dev x11proto-randr-dev x11proto-render-dev x11proto-video-dev xutils-dev"
local package_install_target="xserver-xorg-video-fbturbo"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -8,7 +8,7 @@ local package_builddeps="dpkg-dev flite1-dev frei0r-plugins-dev ladspa-sdk libas
local package_install_chroot="libavutil-ffmpeg54 libavutil-dev libpostproc-ffmpeg53 libswresample-ffmpeg1 libswscale-ffmpeg3 libswscale-dev libavresample-ffmpeg2 libavresample-dev libavcodec-ffmpeg56 libswresample-dev libavcodec-dev libpostproc-dev libavformat-ffmpeg56 libavformat-dev libavfilter-ffmpeg5 libavfilter-dev libavdevice-ffmpeg56 libavdevice-dev"
local package_install_target="libavutil-ffmpeg54 libpostproc-ffmpeg53 libswresample-ffmpeg1 libswscale-ffmpeg3 libavresample-ffmpeg2 libavcodec-ffmpeg56 libavformat-ffmpeg56 libavfilter-ffmpeg5 libavdevice-ffmpeg56 ffmpeg"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -5,7 +5,7 @@ local package_ref="branch:master"
local package_builddeps="libgd2-xpm-dev libgd2-noxpm-dev libjpeg-dev libpng-dev libfreetype6-dev libv4l-dev"
local package_install_target="fswebcam-gc2035"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -7,7 +7,7 @@ local package_upstream_version="2.0.2.1"
local package_builddeps="intltool dh-autoreconf autotools-dev libsdl1.2-dev libgtk-3-dev portaudio19-dev libpng12-dev libudev-dev libusb-1.0-0-dev libpulse-dev libgsl0-dev libv4l-dev libv4l2rds0 libsdl2-dev"
local package_install_target="libguvcview-1.1-1 guvcview"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -5,7 +5,7 @@ local package_ref="branch:master"
local package_builddeps="cmake libx11-dev libsdl1.2-dev"
local package_install_target="libglshim1"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -5,7 +5,7 @@ local package_ref="branch:master"
local package_builddeps="xutils-dev"
local package_install_target="libmali-sunxi-r3p0"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -9,7 +9,7 @@ local package_upstream_version="0.5.1"
local package_builddeps="libpixman-1-dev pkg-config"
local package_install_target="libvdpau-sunxi1"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -9,7 +9,7 @@ local package_upstream_version="0.19.0"
local package_builddeps="libasound2-dev libbluray-dev libcdio-paranoia-dev libdvdnav-dev libdvdread-dev libenca-dev libguess-dev libjpeg-dev liblcms2-dev liblua5.2-dev libpulse-dev librubberband-dev libsdl2-dev libsndio-dev libva-dev libx11-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev pkg-config python python-docutils"
local package_install_target="libmpv1 mpv"
local package_arch="armhf"
local package_component="desktop"
local package_component="${release}-desktop"
package_checkinstall()
{

View file

@ -1,60 +1,31 @@
# Requirements
* Xenial build host
* apt-cacher-ng enabled
# Limitations
* Using QEMU emulation in chroot, so compilation may take a long time (~10 hours)
* Limited error checking, process is not aborted on single package building failure
* Packages are built only for Jessie and Xenial target, installing on older distributions may be done manually if dependencies can be satisfied
# TODO
### Process
* Switch from chroot to native multiarch
Progress:
* sunxi-mali: fix pkgconfig files for multiarch - **done**
* fbturbo: check xserver plugin search path for multiarch
### Installing packages to images:
* Add a function for installing packages - **done**
* Use aptly to create local repository: this will allow solving dependencies on installation automatically - **done**
* Add a variable for list of packages to install during debootstrap - **done**
* Add a variable for installing condition (branch, release, desktop, ...) - **done**
### Building:
* Add a function / code to move packages to $DEST/debs/extras - **done**
* Adjust "debs" option of CLEAN_LEVEL to delete old packages in "extras" subdirectory - **done**
* Add a code to check if package exists / package needs (re)building - **done**
* Add logging to file for build process - **done**
### All packages:
* Add sunxi-mali package if BLOBs license allows redistribution, otherwise create an installer like oracle-jdk - **done**
* Add hostapd-realtek package - copy of hostapd with realtek-specific patches - **done**
* Delete unused files (i.e. \*.lintian-overrides) - **done***
* Add missing udev rules to appropriate packages - **done**
* Switch from qemu to multiarch cross-compiling
### Package-specific:
* ffmpeg: disable building documentation - **done**
* ffmpeg: disable unused features - **done**
* mpv: disable unused features **done**
* libvdpau-sunxi: select branch (master or dev)
* libcsptr-dev: upgrade to debhelper version 9 - **done**
* hostapd(-realtek): add /etc/hostapd.conf templates
* mpv: test and add configuration file for direct framebuffer output
## Notes
libcedrus compiled without USE_UMP=1 requires access to /dev/ion
libcedrus compiled with USE_UMP=1 caused segfault last time I tested video playback with mpv

View file

@ -229,7 +229,8 @@ if [[ ! -f $DEST/debs/${CHOSEN_KERNEL}_${REVISION}_${ARCH}.deb ]]; then
# this is a patch that Ubuntu Trusty compiler works
if [[ $(patch --dry-run -t -p1 < $SRC/lib/patch/kernel/compiler.patch | grep Reversed) != "" ]]; then
[[ $FORCE_CHECKOUT == yes ]] && patch --batch --silent -t -p1 < $SRC/lib/patch/kernel/compiler.patch > /dev/null 2>&1
display_alert "Patching kernel for compiler support"
[[ $FORCE_CHECKOUT == yes ]] && patch --batch --silent -t -p1 < $SRC/lib/patch/kernel/compiler.patch >> $DEST/debug/output.log 2>&1
fi
grab_version "$SOURCES/$LINUXSOURCEDIR" "KERNEL_VER"
@ -240,7 +241,7 @@ fi
[[ -n $RELEASE ]] && create_board_package
# chroot-buildpackages
[[ $EXTERNAL_NEW == yes && $(lsb_release -sc) == xenial ]] && chroot_build_packages
[[ $EXTERNAL_NEW == yes ]] && chroot_build_packages
if [[ $KERNEL_ONLY != yes ]]; then
debootstrap_ng