Rework some package dependencies

This commit is contained in:
zador-blood-stained 2016-07-13 17:45:10 +03:00
parent 476b6c1d30
commit 928c696b25
16 changed files with 33 additions and 88 deletions

View file

@ -22,7 +22,7 @@ create_chroot()
{
local target_dir="$1"
debootstrap --variant=buildd --arch=$ARCH --foreign \
--include=ccache,locales,git,ca-certificates,devscripts,libfile-fcntllock-perl,debhelper,rsync \
--include=ccache,locales,git,ca-certificates,devscripts,libfile-fcntllock-perl,debhelper,rsync,python3 \
$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/
@ -50,12 +50,10 @@ update_chroot()
local t=$target_dir/root/.update-timestamp
# apply changes to previously created chroots
mkdir -p $target_dir/root/{build,overlay,sources} $target_dir/selinux
# apt-get update && apt-get dist-upgrade
if [[ -f $t && $(( ($(date +%s) - $(<$t)) / 86400 )) -gt 2 ]]; then
if [[ ! -f $t || $(( ($(date +%s) - $(<$t)) / 86400 )) -gt 2 ]]; then
systemd-nspawn -a -q -D $target_dir /bin/bash -c "apt-get -q update; apt-get -q -y upgrade"
date +%s > $t
fi
# helper script
cat <<-'EOF' > $target_dir/root/install-deps.sh
#!/bin/bash
deps=()
@ -70,7 +68,9 @@ update_chroot()
#
chroot_build_packages()
{
display_alert "Starting package building process" "$RELEASE" "info"
[[ $RELEASE != jessie && $RELEASE != xenial ]] && return
display_alert "Starting package building process" "$RELEASE"
local target_dir=$DEST/buildpkg/${RELEASE}-${ARCH}
# to avoid conflicts between published and self-built packages
@ -92,7 +92,7 @@ chroot_build_packages()
source $plugin
# check build arch
[[ $package_arch != $ARCH || $package_arch != all ]] && continue
[[ $package_arch != $ARCH && $package_arch != all ]] && continue
# check if needs building
local needs_building=no
@ -118,7 +118,6 @@ chroot_build_packages()
export PATH="/usr/lib/ccache:$PATH"
export HOME="/root"
export DEBIAN_FRONTEND="noninteractive"
# for display_alert logging
export DEST="/tmp"
mkdir -p /tmp/debug
export DEB_BUILD_OPTIONS="ccache nocheck"
@ -126,7 +125,6 @@ chroot_build_packages()
export DEBFULLNAME="$MAINTAINER"
export DEBEMAIL="$MAINTAINERMAIL"
$(declare -f display_alert)
# check and install build dependencies
display_alert "Installing build dependencies"
[[ -n "$package_builddeps" ]] && /root/install-deps.sh $package_builddeps
cd /root/build
@ -172,13 +170,7 @@ chroot_build_packages()
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"
# move built packages to $DEST/debs/extras/$RELEASE
if [[ -n $package_install_target ]]; then
for f in $package_install_target; do
mv $target_dir/root/${f}_*.deb $DEST/debs/extra/$RELEASE/
done
fi
# cleanup
rm $target_dir/root/*.deb 2>/dev/null
mv $target_dir/root/*.deb $DEST/debs/extra/$RELEASE/
done
} #############################################################################
@ -205,7 +197,7 @@ fetch_from_repo()
local ref_type=${ref%%:*}
local ref_name=${ref##*:}
display_alert "Checking git sources" "$ref_subdir $ref_name"
display_alert "Checking git sources" "$dir $ref_name"
# get default remote branch name without cloning
# doesn't work with git:// remote URLs
@ -224,7 +216,6 @@ fetch_from_repo()
display_alert "... creating local copy"
git init -q .
git remote add origin $url
#git clone -n --depth 1 $url .
fi
local local_hash=$(git rev-parse @ 2>/dev/null)
@ -324,5 +315,4 @@ chroot_installpackages()
chmod +x $CACHEDIR/sdcard/tmp/install.sh
chroot $CACHEDIR/sdcard /bin/bash -c "/tmp/install.sh"
kill $aptly_pid
} #############################################################################

View file

@ -3,7 +3,7 @@ local package_name="libDRI2"
local package_repo="https://github.com/robclark/libdri2.git"
local package_ref="branch:master"
local package_upstream_version="1.0.1"
local package_builddeps="xutils-dev x11proto-xext-dev x11proto-dri2-dev quilt pkg-config libxfixes-dev libxext-dev libdrm-dev dh-autoreconf"
local package_builddeps="xutils-dev x11proto-xext-dev x11proto-dri2-dev pkg-config libxfixes-dev libxext-dev libdrm-dev dh-autoreconf"
local package_install_chroot="libdri2-1 libdri2-dev"
local package_install_target="libdri2-1"
local package_arch="armhf"

View file

@ -1,9 +1,10 @@
# FFmpeg
# may depend on sunxi-mali
local package_name="FFmpeg"
local package_repo="https://github.com/FFmpeg/FFmpeg.git"
local package_ref="tag:n3.1.1"
local package_upstream_version="7:3.1.1"
local package_builddeps="dpkg-dev flite1-dev frei0r-plugins-dev ladspa-sdk libass-dev libavc1394-dev libbluray-dev libbs2b-dev libbz2-dev libcaca-dev libcdio-paranoia-dev libdc1394-22-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgl1-mesa-dev libgme-dev libgnutls28-dev libgsm1-dev libiec61883-dev libjack-jackd2-dev liblzma-dev libmodplug-dev libmp3lame-dev libopenal-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev librtmp-dev libschroedinger-dev libsctp-dev libsdl1.2-dev libshine-dev libsnappy-dev libsoxr-dev libspeex-dev libssh-gcrypt-dev libtheora-dev libtwolame-dev libva-dev libvdpau-dev libvorbis-dev libvpx-dev libwavpack-dev libwebp-dev libx264-dev libx265-dev libxext-dev libxvidcore-dev libxvmc-dev libzmq3-dev libzvbi-dev pkg-config yasm"
local package_builddeps="dpkg-dev flite1-dev frei0r-plugins-dev ladspa-sdk libass-dev libavc1394-dev libbluray-dev libbs2b-dev libbz2-dev libcaca-dev libcdio-paranoia-dev libdc1394-22-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgme-dev libgnutls28-dev libgsm1-dev libiec61883-dev liblzma-dev libmodplug-dev libmp3lame-dev libopenal-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev librtmp-dev libschroedinger-dev libsctp-dev libsdl1.2-dev libshine-dev libsnappy-dev libsoxr-dev libspeex-dev libssh-gcrypt-dev libtheora-dev libtwolame-dev libva-dev libvdpau-dev libvorbis-dev libvpx-dev libwavpack-dev libwebp-dev libx264-dev libx265-dev libxext-dev libxvidcore-dev libxvmc-dev libzmq3-dev libzvbi-dev pkg-config yasm"
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"

View file

@ -4,7 +4,7 @@ local package_name="guvcview"
local package_repo="https://github.com/avafinger/guvcview.git"
local package_ref="branch:master"
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 libavcodec-dev libavutil-dev libudev-dev libusb-1.0-0-dev libpulse-dev libgsl0-dev libv4l-dev libv4l2rds0 libsdl2-dev"
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"

View file

@ -1,11 +1,12 @@
# mpv
# depends on FFmpeg
# may depend on custom libvdpau
# depends on libvdpau
# may depend on sunxi-mali
local package_name="mpv"
local package_repo="https://github.com/mpv-player/mpv.git"
local package_ref="tag:v0.18.0"
local package_upstream_version="0.18.0"
local package_builddeps="libasound2-dev libbluray-dev libcdio-paranoia-dev libdvdnav-dev libdvdread-dev libegl1-mesa-dev libenca-dev libgl1-mesa-dev libguess-dev libjack-dev libjpeg-dev liblcms2-dev liblua5.2-dev libpulse-dev librubberband-dev libsdl2-dev libsndio-dev libva-dev libvdpau-dev libwayland-dev libx11-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxv-dev pkg-config python python-docutils"
local package_ref="tag:v0.18.1"
local package_upstream_version="0.18.1"
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"

View file

@ -35,8 +35,6 @@ Build-Depends:
libcaca-dev,
# --enable-libcdio
libcdio-paranoia-dev,
# autodetected 'crystalhd'
libcrystalhd-dev [amd64 i386],
# --enable-libdc1394
libdc1394-22-dev [linux-any],
# --enable-libfontconfig
@ -45,8 +43,6 @@ Build-Depends:
libfreetype6-dev,
# --enable-fribidi
libfribidi-dev,
# --enable-opengl
libgl1-mesa-dev,
# --enable-libgme
libgme-dev,
# --enable-gnutls
@ -57,8 +53,6 @@ Build-Depends:
# --enable-libiec61883
libiec61883-dev [linux-any],
libavc1394-dev [linux-any],
# autodetected: indev 'jack'
libjack-jackd2-dev,
# autodetected for the tiff decoder
liblzma-dev,
# --enable-libmodplug
@ -67,19 +61,12 @@ Build-Depends:
libmp3lame-dev,
# --enable-openal
libopenal-dev,
# --enable-libopencore_amrnb
libopencore-amrnb-dev,
# --enable-libopencore_amrwb
libopencore-amrwb-dev,
# --enable-libopencv
libopencv-dev [!sh4 !sparc64] <!stage1>,
# --enable-libopenjpeg
libopenjpeg-dev,
# --enable-libopus
libopus-dev,
# Disabled, as it might produce problems.
# # --enable-libquvi
# libquvi-dev,
# --enable-libpulse
libpulse-dev,
# --enable-librtmp
@ -104,17 +91,10 @@ Build-Depends:
libtheora-dev,
# --enable-libtwolame
libtwolame-dev,
# This is not necessary, see explanation in debian/rules.
# # --enable-libv4l2
# libv4l-dev [!hurd-any],
# autodetected: hwaccels 'h263_vaapi, mpeg2_vaapi, vc1_vaapi, h264_vaapi, mpeg4_vaapi, wmv3_vaapi'
libva-dev [!hurd-any],
# autodetected: hwaccels 'h263_vdpau, mpeg2_vdpau, vc1_vdpau, h264_vdpau, mpeg4_vdpau, wmv3_vdpau, mpeg1_vdpau', decoders 'h264_vdpau, mpeg1_vdpau, mpeg4_vdpau, mpeg_vdpau, vc1_vdpau, wmv3_vdpau'
libvdpau-dev,
# --enable-libvo_aacenc
libvo-aacenc-dev,
# --enable-libvo_amrwbenc
libvo-amrwbenc-dev,
# --enable-libvorbis
libvorbis-dev,
# --enable-libvpx
@ -137,9 +117,6 @@ Build-Depends:
libzmq3-dev [!hurd-any],
# --enable-libzvbi
libzvbi-dev,
# The opencl API is considered experimental.
# # --enable-opencl
# ocl-icd-opencl-dev [!hurd-any] | opencl-dev [!hurd-any],
# used to detect libraries
pkg-config,
# assembler optimizations

View file

@ -2,7 +2,7 @@
# This enables verbose mode.
#export DH_VERBOSE=1
export V=1
#export V=1
# Determine the debian directory, which is the directory of this makefile.
# The path of this makefile is the first word in the MAKEFILE_LIST.
@ -22,34 +22,6 @@ DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
# Ubuntu ld adds -Bsymbolic-functions by default, but that prevents FFmpeg from building.
export DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions
# Enable as many features as possible, as long as the result is still GPLv2+ (a GPLv3+ variant is built as libavcodec-extra flavor).
# The following flags (and build-dependencies) are not added, because they would require a libavformat-extra flavor:
# --enable-libsmbclient (libsmbclient-dev [!hurd-i386 !m68k !sparc64])
# The following flags are not added, because the necessary libraries are not in Debian:
# --enable-decklink
# --enable-libcelt (see #676592: removed from Debian as abandoned upstream, replaced by opus)
# --enable-libdcadec
# --enable-libilbc (see #675959 for the RFP bug)
# --enable-libkvazaar
# --enable-libmfx
# --enable-libnut
# --enable-libopenh264
# --enable-libstagefright-h264
# --enable-libutvideo
# --enable-libvidstab (see #709193 for the RFP bug)
# --enable-libxavs
# The following flags are not added for various reasons:
# * --enable-libquvi: The wrapper wasn't updated for recent versions (due to license concerns) and thus might produce problems, e.g. for mpv.
# * --enable-libv4l2 [!hurd-any]: This is only needed for very old devices and may cause problems for others.
# Should anyone need it, using LD_PRELOAD pointing on libv4l2 has the same effect.
# * --enable-opencl [!hurd-any]: This is considered an experimental API.
# For the shared libraries there are several ways to build:
# * Without further option: This will have no compatibility with Libav, but some sonames clash. Therefore no good choice.
# * With --enable-incompatible-libav-abi, packages build against Libav would work with these libraries, but probably not the other way around.
# This could be used together with Breaks:, Replaces: against the corresponding Libav libraries.
# * With --enable-raise-major, the resulting binaries should be co-installable with the Libav ones and thus no conflicts would be necessary.
# But this could break versioned configure checks.
# * With --build-suffix="-ffmpeg" the library names are changed, so there can't be a conflict with Libav.
CONFIG := --prefix=/usr \
--extra-version="$(DEB_REVISION)" \
--build-suffix="-ffmpeg" \
@ -100,8 +72,8 @@ CONFIG := --prefix=/usr \
--enable-libxvid \
--enable-libzvbi \
--enable-openal \
--enable-opengl \
--enable-x11grab \
--disable-opengl \
--disable-htmlpages \
--disable-podpages \
--disable-txtpages

View file

@ -43,8 +43,8 @@ KERNEL=="mali", MODE="0660", GROUP="video"
* ffmpeg: disable building documentation - **done**
* ffmpeg: disable unused features
* ffmpeg: disable unused features - **done**
* mpv: disable unused features
* mpv: disable unused features **done**
* libvdpau-sunxi: select branch (master or dev)

View file

@ -3,7 +3,6 @@ Section: libs
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Build-Depends: debhelper (>= 9),
quilt,
dh-autoreconf,
libdrm-dev (>= 2.4.32),
libxext-dev,

View file

@ -1 +1,2 @@
which udevadm > /dev/null || exit 0
udevadm trigger --action=add --sysname-match=ump

View file

@ -16,11 +16,8 @@ Build-Depends: debhelper (>= 9),
libcdio-paranoia-dev,
libdvdnav-dev,
libdvdread-dev,
libegl1-mesa-dev [linux-any],
libenca-dev,
libgl1-mesa-dev,
libguess-dev,
libjack-dev,
libjpeg-dev,
liblcms2-dev (>= 2.6~),
liblua5.2-dev,

View file

@ -13,7 +13,9 @@ override_dh_auto_configure:
--zshdir=/usr/share/zsh/vendor-completions \
--enable-cdda --enable-sdl2 --enable-sndio \
--enable-zsh-comp --enable-libmpv-shared \
--disable-build-date --disable-libass
--disable-build-date --disable-libass \
--disable-jack --disable-gl --disable-wayland \
--disable-xv
override_dh_auto_build:
python ./waf build

View file

@ -22,6 +22,9 @@ Package: sunxi-mali-r3p0-dev
Section: libdevel
Architecture: any
Depends: sunxi-mali-r3p0 (= ${binary:Version}), ${misc:Depends}
Conflicts: libegl1-mesa-dev, libgles1-mesa-dev, libgles2-mesa-dev
Replaces: libegl1-mesa-dev, libgles1-mesa-dev, libgles2-mesa-dev
Provides: libegl1-mesa-dev, libgles1-mesa-dev, libgles2-mesa-dev
Description: Mali userspace binary driver version r3p0
This package contains a complete set of Mali userspace drivers,
including proprietary OpenGLESv2/EGL binaries.

View file

@ -15,3 +15,5 @@ override_dh_auto_configure:
override_dh_auto_install:
mkdir -p debian/tmp/usr/lib/ debian/tmp/usr/include
dh_auto_install
mkdir -p debian/sunxi-mali-r3p0/etc/modules-load.d/
install -m0644 debian/sunxi-mali.conf debian/sunxi-mali-r3p0/etc/modules-load.d/sunxi-mali.conf

View file

@ -0,0 +1 @@
mali

View file

@ -237,9 +237,8 @@ fi
[[ -n $RELEASE ]] && create_board_package
# chroot-build-ackages
[[ $KERNEL_ONLY == yes && ($RELEASE == jessie || $RELEASE == xenial) && \
$EXTERNAL_NEW == yes && $(lsb_release -sc) == xenial ]] && chroot_build_packages
# chroot-buildpackages
[[ $EXTERNAL_NEW == yes && $(lsb_release -sc) == xenial ]] && chroot_build_packages
if [[ $KERNEL_ONLY != yes ]]; then
if [[ $EXTENDED_DEBOOTSTRAP != no ]]; then