Improve chroot-buildpackages

This commit is contained in:
zador-blood-stained 2016-07-09 00:18:41 +03:00
parent c3dc10aca4
commit ffa10f7675
100 changed files with 166 additions and 712 deletions

View File

@ -12,6 +12,7 @@
# create_chroot
# update_chroot
# chroot_build_packages
# fetch_from_repo
# create_chroot <target_dir>
# <target_dir>: directory to put files
@ -19,8 +20,9 @@
create_chroot()
{
local target_dir="$1"
debootstrap --variant=buildd --include=ccache,locales,git,ca-certificates,devscripts,libfile-fcntllock-perl,debhelper \
--arch=$ARCH --foreign $RELEASE $target_dir "http://localhost:3142/$APT_MIRROR"
debootstrap --variant=buildd --arch=$ARCH --foreign \
--include=ccache,locales,git,ca-certificates,devscripts,libfile-fcntllock-perl,debhelper,rsync \
$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/
chroot $target_dir /bin/bash -c "/debootstrap/debootstrap --second-stage"
@ -35,10 +37,9 @@ 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
mkdir -p $target_dir/root/{build,overlay} $target_dir/selinux
# TODO: check if resolvconf edit is needed
touch $target_dir/root/.debootstrap-complete
}
} #############################################################################
# update_chroot <target_dir>
# <target_dir>: directory to put files
@ -46,8 +47,14 @@ create_chroot()
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
# apt-get update && apt-get dist-upgrade
systemd-nspawn -a -q -D $target_dir /bin/bash -c "apt-get -q update; apt-get -q -y upgrade"
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
@ -57,7 +64,7 @@ update_chroot()
[[ ${#deps[@]} -gt 0 ]] && apt-get -y --no-install-recommends install "${deps[@]}"
EOF
chmod +x $target_dir/root/install-deps.sh
}
} #############################################################################
# chroot_build_packages
#
@ -75,8 +82,24 @@ chroot_build_packages()
for plugin in $SRC/lib/extras-buildpkgs/*.conf; do
source $plugin
display_alert "Creating package" "$package_name" "info"
# check if needs building
local needs_building=no
if [[ -n $package_install_target ]]; then
for f in $package_install_target; do
if [[ -z $(find $DEST/debs/extra/ -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"
continue
fi
display_alert "Building packages" "$package_name"
# create build script
cat <<-EOF > $target_dir/root/build.sh
#!/bin/bash
@ -95,15 +118,11 @@ chroot_build_packages()
display_alert "Installing build dependencies"
[[ -n "$package_builddeps" ]] && /root/install-deps.sh $package_builddeps
cd /root/build
display_alert "Downloading sources"
GIT_EXTRA="--single-branch"
[[ -z "$package_commit" ]] && GIT_EXTRA="\$GIT_EXTRA --depth 1"
[[ -n "$package_branch" ]] && GIT_EXTRA="\$GIT_EXTRA --single-branch -b $package_branch"
git clone $package_repo $package_dir \$GIT_EXTRA
cd $package_dir
[[ -n "$package_commit" ]] && git checkout -f $package_commit
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_dir/" ]] && cp -ar /root/overlay/$package_dir/* /root/build/$package_dir
[[ -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
@ -132,13 +151,86 @@ chroot_build_packages()
EOF
chmod +x $target_dir/root/build.sh
# fetch sources
fetch_from_repo $package_repo $package_name $package_ref
# run build script in chroot
systemd-nspawn -a -q -D $target_dir --tmpfs=/root/build --tmpfs=/tmp --bind-ro $SRC/lib/extras-buildpkgs/:/root/overlay \
/bin/bash -c "/root/build.sh"
# TODO: move built packages to $DEST/debs/extras
# mv $target_dir/root/build/*.deb $DEST/debs/extras
--bind-ro $SRC/sources/extra/:/root/sources /bin/bash -c "/root/build.sh"
# move built packages to $DEST/debs/extras
if [[ -n $package_install_target ]]; then
for f in $package_install_target; do
mv $target_dir/root/${f}_*.deb $DEST/debs/extra/
done
fi
# cleanup
unset package_name package_repo package_dir package_branch package_builddeps package_commit package_install_chroot \
package_prebuild_eval package_upstream_version
rm $target_dir/root/*.deb 2>/dev/null
unset package_name package_repo package_ref package_builddeps package_install_chroot package_install_target \
package_prebuild_eval package_upstream_version needs_building
done
}
} #############################################################################
# fetch_rom_repo <url> <directory> <ref> <ref_subdir>
# <url>: remote repository URL
# <directory>: local directory; subdir for branch/tag will be created
# <ref>: <none> for HEAD, branch:name or tag:name
# <ref_subdir>: "yes" to create subdirectory for tag or branch name
fetch_from_repo()
{
local url=$1
local dir=$2
local ref=$3
local ref_subdir=$4
[[ -z $ref || ( $ref != tag:* && $ref != branch:* ) ]] && exit_with_error "Error in configuration"
local ref_type=${ref%%:*}
local ref_name=${ref##*:}
# get default remote branch name without cloning
# doesn't work with git:// remote URLs
# local ref_name=$(git ls-remote --symref $url HEAD | grep -o 'refs/heads/\S*' | sed 's%refs/heads/%%')
if [[ $ref_subdir == yes ]]; then
mkdir -p $SOURCES/extra/$dir/$ref_name
cd $SOURCES/extra/$dir/$ref_name
else
mkdir -p $SOURCES/extra/$dir/
cd $SOURCES/extra/$dir/
fi
# this may not work if $SRC is a part of git repository
if [[ $(git rev-parse --is-inside-work-tree 2>/dev/null) != true ]]; then
# initial clone
display_alert "... creating shallow clone"
git clone -n --depth 1 $url .
fi
# update from remote if needed
local local_hash=$(git rev-parse @)
# even though tags are unlikely to change on remote
case $ref_type in
branch) local remote_hash=$(git ls-remote -h origin $ref_name | cut -f1) ;;
tag) local remote_hash=$(git ls-remote -t origin $ref_name | cut -f1) ;;
head) local remote_hash=$(git ls-remote origin HEAD | cut -f1) ;;
esac
if [[ $local_hash != $remote_hash ]]; then
# remote was updated, fetch and check out updates
display_alert "... fetching updates"
case $ref_type in
branch) git fetch --depth 1 origin $ref_name ;;
tag) git fetch --depth 1 origin tags/$ref_name ;;
head) git fetch --depth 1 origin HEAD
esac
display_alert "... checking out"
git checkout -f -q FETCH_HEAD
elif [[ -n $(git status -uno --porcelain) ]]; then
# working directory is not clean
display_alert "... checking out"
git checkout -f -q HEAD
else
# working directory is clean, nothing to do
display_alert "... up to date"
fi
} #############################################################################

View File

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

View File

@ -1,6 +1,7 @@
# libvdpau
local package_name="libvdpau"
local package_repo="https://anongit.freedesktop.org/git/vdpau/libvdpau.git"
local package_dir="libvdpau"
local package_ref="branch:master"
local package_builddeps="graphviz ghostscript doxygen-latex x11proto-dri2-dev pkg-config libxext-dev libx11-dev dh-autoreconf"
local package_install_chroot="libvdpau1 libvdpau-dev"
local package_install_target="libvdpau1"

View File

@ -1,7 +1,7 @@
# libUMP
local package_name="libUMP"
local package_repo="https://github.com/rellla/libump.git"
local package_dir="libump"
local package_branch="ump"
local package_ref="branch:ump"
local package_builddeps="dh-autoreconf pkg-config"
local package_install_chroot="libump libump-dev"
local package_install_target="libump"

View File

@ -2,6 +2,7 @@
# may depend on libump-dev
local package_name="libcedrus"
local package_repo="https://github.com/linux-sunxi/libcedrus.git"
local package_dir="libcedrus"
local package_ref="branch:master"
local package_upstream_version="1.0.1"
local package_install_chroot="libcedrus1 libcedrus1-dev"
local package_install_target="libcedrus1"

View File

@ -1,6 +1,6 @@
# libcsptr-dev
local package_name="libcsptr-dev"
local package_repo="https://github.com/Snaipe/libcsptr.git"
local package_dir="libcsptr-dev"
local package_ref="branch:master"
local package_builddeps="cmake"
local package_install_chroot="libcsptr-dev"

View File

@ -2,5 +2,6 @@
# depends on libUMP
local package_name="xf86-video-fbturbo"
local package_repo="https://github.com/ssvb/xf86-video-fbturbo.git"
local package_dir="xf86-video-fbturbo"
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="xf86-video-fbturbo"

View File

@ -1,8 +1,8 @@
# FFmpeg
local package_name="FFmpeg"
local package_repo="https://github.com/FFmpeg/FFmpeg.git"
local package_dir="ffmpeg"
local package_branch="release/3.1"
local package_upstream_version="7:3.1.0"
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 texinfo yasm cleancss doxygen node-less"
local package_install_chroot="libavutil-ffmpeg54 libavutil-dev libpostproc-ffmpeg53 libswresample-ffmpeg1 libswscale-ffmpeg3 libswscale-dev libavresample-ffmpeg2 libavresample-dev libavcodec-ffmpeg56 libswresample-ffmpeg1 libswresample-dev libavcodec-dev libpostproc-ffmpeg53 libpostproc-dev libavformat-ffmpeg56 libavformat-dev libavfilter-ffmpeg5 libavfilter-dev libavdevice-ffmpeg56 libavdevice-dev"
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_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"

View File

@ -1,6 +1,7 @@
# guvcview
local package_name="guvcview"
local package_repo="https://github.com/avafinger/guvcview.git"
local package_dir="guvcview"
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_install_target="libguvcview-1.1-1 guvcview"

View File

@ -1,7 +1,7 @@
# hostapd
local package_name="hostapd"
local package_repo="http://w1.fi/hostap.git"
local package_dir="hostapd"
local package_branch="hostap_2_5"
local package_ref="branch:hostap_2_5"
local package_upstream_version="2.5"
local package_builddeps="pkg-config libssl-dev libreadline-dev libpcsclite-dev libnl-route-3-dev libnl-genl-3-dev libnl-3-dev libncurses5-dev libdbus-1-dev docbook-utils docbook-to-man"
local package_install_target="hostapd"

View File

@ -3,7 +3,7 @@
# depends on newer libvdpau for Jessie
local package_name="libvdpau-sunxi"
local package_repo="https://github.com/linux-sunxi/libvdpau-sunxi.git"
local package_branch="dev"
local package_dir="libvdpau-sunxi"
local package_ref="branch:master"
local package_upstream_version="0.5.1"
local package_builddeps="libpixman-1-dev pkg-config"
local package_install_target="libvdpau-sunxi1"

View File

@ -3,7 +3,7 @@
# may depend on custom libvdpau
local package_name="mpv"
local package_repo="https://github.com/mpv-player/mpv.git"
local package_dir="mpv"
local package_branch="release/current"
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_install_target="libmpv1 mpv"

View File

@ -1,5 +1,6 @@
# sunxi-tools
local package_name="sunxi-tools"
local package_repo="https://github.com/linux-sunxi/sunxi-tools.git"
local package_dir="sunxi-tools"
local package_ref="branch:master"
local package_builddeps="libusb-1.0-0-dev ruby binutils-arm-none-eabi pkg-config u-boot-tools"
local package_install_target="sunxi-tools"

View File

@ -1,6 +1,7 @@
# swconfig
local package_name="swconfig"
local package_repo="https://github.com/jekader/swconfig.git"
local package_dir="swconfig"
local package_ref="branch:master"
local package_prebuild_eval="mkdir -p /usr/local/include/linux; cp linux/switch.h /usr/local/include/linux/"
local package_builddeps="linux-headers-armmp libnl-3-dev libnl-genl-3-dev"
local package_install_target="swconfig"

View File

@ -12,12 +12,6 @@ Standards-Version: 3.9.7
Vcs-Git: https://anonscm.debian.org/git/pkg-multimedia/ffmpeg.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-multimedia/ffmpeg.git
Build-Depends-Indep:
# needed to minify the CSS files
cleancss,
# Autogenerated documentation
doxygen,
# needed to create the CSS files for the HTML manuals
node-less
Build-Depends:
# needed for dh
debhelper (>= 9.20141010),
@ -148,8 +142,6 @@ Build-Depends:
# ocl-icd-opencl-dev [!hurd-any] | opencl-dev [!hurd-any],
# used to detect libraries
pkg-config,
# HTML documentation
texinfo,
# assembler optimizations
yasm

View File

@ -0,0 +1,4 @@
doc/examples/*.c usr/share/doc/ffmpeg/examples
doc/examples/Makefile usr/share/doc/ffmpeg/examples
doc/examples/README usr/share/doc/ffmpeg/examples
usr/share/man/man3

View File

@ -101,7 +101,10 @@ CONFIG := --prefix=/usr \
--enable-libzvbi \
--enable-openal \
--enable-opengl \
--enable-x11grab
--enable-x11grab \
--disable-htmlpages \
--disable-podpages \
--disable-txtpages
# Disable optimizations if requested.
ifneq (,$(filter $(DEB_BUILD_OPTIONS),noopt))
@ -146,11 +149,8 @@ override_dh_auto_configure:
override_dh_auto_clean:
[ ! -d debian/standard ] || rm -r debian/standard
# Create doxygen documentation:
override_dh_auto_build-indep:
dh_auto_build -i --sourcedirectory=debian/standard -- apidoc
# Create the minified CSS files.
lessc debian/missing-sources/ffmpeg-web/src/less/style.less | cleancss > debian/standard/doc/style.min.css
# dh_auto_build -i --sourcedirectory=debian/standard -- apidoc
override_dh_auto_build-arch:
cd debian/standard; make tools/qt-faststart; cd ../..; \

View File

@ -1,30 +1,33 @@
Installing packages to images:
# TODO
### Installing packages to images:
* Add a function for installing packages
* Add a variable for dependencies or function for extracting dependencies from deb files
* Add a variable for list of packages to install during debootstrap
* Add a variable for list of packages to install during debootstrap - **done**
* Add a variable for installing condition (branch, release, desktop, ...)
Building:
### Building:
* Add a function / code to move packages to $DEST/debs/extras
* 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
* Add a code to check if package exists / package needs (re)building
* Add a code to check if package exists / package needs (re)building - **done**
* Add logging to file
All packages:
### All packages:
* Add sunxi-mali package if BLOBs license allows redistribution, otherwise create an installer like oracle-jdk
* Add hostapd-realtek package - copy of hostapd with realtek-specific patches
* Delete unused files (i.e. *.lintian-overrides)
* Delete unused files (i.e. *.lintian-overrides) - **done***
* Add missing udev rules to appropriate packages
@ -36,10 +39,10 @@ KERNEL=="mali", MODE="0660", GROUP="video"
```
Package-specific:
### Package-specific:
* ffmpeg: disable building documentation
* ffmpeg: disable building documentation - **done**
* ffmpeg: disable unused features
* libvdpau-sunxi: select branch (master or dev)
* mpv: extract upstream version from repository

View File

@ -1,9 +0,0 @@
Document: ffmpeg-doc
Title: FFmpeg API Documentation
Author: FFmpeg Developers
Abstract: This is the API documentation for FFmpeg.
Section: Programming
Format: HTML
Index: /usr/share/doc/ffmpeg/api/index.html
Files: /usr/share/doc/ffmpeg/api/*.html

View File

@ -1,9 +0,0 @@
debian/standard/doc/doxy/html/* usr/share/doc/ffmpeg/api
doc/examples/*.c usr/share/doc/ffmpeg/examples
doc/examples/Makefile usr/share/doc/ffmpeg/examples
doc/examples/README usr/share/doc/ffmpeg/examples
debian/standard/doc/*.html usr/share/doc/ffmpeg/manual
debian/standard/doc/style.min.css usr/share/doc/ffmpeg/manual
doc/APIchanges usr/share/doc/ffmpeg/developer-info
doc/*.txt usr/share/doc/ffmpeg/developer-info
usr/share/man/man3

View File

@ -1,2 +0,0 @@
usr/share/javascript/jquery/jquery.min.js usr/share/doc/ffmpeg/api/jquery.js
usr/share/javascript/bootstrap/css/bootstrap.min.css usr/share/doc/ffmpeg/manual/bootstrap.min.css

View File

@ -1,9 +0,0 @@
# These are due to two too long lines in upstream texi files, but shortening these lines wouldn't make much sense.
# docs/ffmpeg.texi: @item -map_channel [@var{input_file_id}.@var{stream_specifier}.@var{channel_id}|-1][:@var{output_file_id}.@var{stream_specifier}]
ffmpeg: manpage-has-errors-from-man usr/share/man/man1/ffmpeg.1.gz * can't break line
ffmpeg: manpage-has-errors-from-man usr/share/man/man1/ffmpeg-all.1.gz * can't break line
# docs/filters.texi: [@var{in_link_1}]...[@var{in_link_N}]@var{filter_name}=@var{arguments}[@var{out_link_1}]...[@var{out_link_M}]
ffmpeg: manpage-has-errors-from-man usr/share/man/man1/ffmpeg-filters.1.gz * can't break line
ffmpeg: manpage-has-errors-from-man usr/share/man/man1/ffplay-all.1.gz * can't break line
ffmpeg: manpage-has-errors-from-man usr/share/man/man1/ffprobe-all.1.gz * can't break line
ffmpeg: manpage-has-errors-from-man usr/share/man/man1/ffserver-all.1.gz * can't break line

View File

@ -1,2 +0,0 @@
[DEFAULT]
pristine-tar = True

View File

@ -1,10 +0,0 @@
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libavcodec-ffmpeg-extra56 [i386]: shlib-with-non-pic-code usr/lib/i386*/libavcodec-ffmpeg.so.*
# The two packages provide the same API/ABI, so the alternative dependency is correct.
libavcodec-ffmpeg-extra56: symbols-declares-dependency-on-other-package libavcodec-ffmpeg* #MINVER#
# This is intentional, because this package provides an alternative variant with the same soname.
libavcodec-ffmpeg-extra56: package-name-doesnt-match-sonames libavcodec-ffmpeg*

View File

@ -1,8 +0,0 @@
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libavcodec-ffmpeg56 [i386]: shlib-with-non-pic-code usr/lib/i386*/libavcodec-ffmpeg.so.*
# The two packages provide the same API/ABI, so the alternative dependency is correct.
libavcodec-ffmpeg56: symbols-declares-dependency-on-other-package libavcodec-ffmpeg-extra* #MINVER#

View File

@ -1,6 +0,0 @@
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libavdevice-ffmpeg56 [i386]: shlib-with-non-pic-code usr/lib/i386*/libavdevice-ffmpeg.so.*

View File

@ -1,6 +0,0 @@
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libavfilter-ffmpeg5 [i386]: shlib-with-non-pic-code usr/lib/i386*/libavfilter-ffmpeg.so.*

View File

@ -1,9 +0,0 @@
# [67] = "Psychadelic", /* sic, the misspelling is used in the specification */
libavformat-ffmpeg56: spelling-error-in-binary usr/lib/*/libavformat-ffmpeg.so.* Psychadelic Psychedelic
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libavformat-ffmpeg56 [i386]: shlib-with-non-pic-code usr/lib/i386*/libavformat-ffmpeg.so.*

View File

@ -1,6 +0,0 @@
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libavresample-ffmpeg2 [i386]: shlib-with-non-pic-code usr/lib/i386*/libavresample-ffmpeg.so.*

View File

@ -1,6 +0,0 @@
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libavutil-ffmpeg54 [i386]: shlib-with-non-pic-code usr/lib/i386*/libavutil-ffmpeg.so.*

View File

@ -1,10 +0,0 @@
# This is a bug in lintian thinking only libav (and not also FFmpeg) build libpostproc.
# See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=729203#430
libpostproc-ffmpeg53: embedded-library usr/lib/*/libpostproc-ffmpeg.so.*: libpostproc
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libpostproc-ffmpeg53 [i386]: shlib-with-non-pic-code usr/lib/i386*/libpostproc-ffmpeg.so.*

View File

@ -1,6 +0,0 @@
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libswresample-ffmpeg1 [i386]: shlib-with-non-pic-code usr/lib/i386*/libswresample-ffmpeg.so.*

View File

@ -1,6 +0,0 @@
# According to Debian policy [1], non position independent code is permitted
# in a shared library on i386 and position independent code may have a
# performance penalty, especially on i386.
# Therefore -fPIC is not used by the upstream build system on i386.
# 1: https://www.debian.org/doc/debian-policy/footnotes.html#f83
libswscale-ffmpeg3 [i386]: shlib-with-non-pic-code usr/lib/i386*/libswscale-ffmpeg.so.*

View File

@ -1,507 +0,0 @@
/*!
The MIT License (MIT)
Copyright (c) 2014 Barbara Lepage <db0company@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
// ************************************************************************* //
// COLORS
// Main black color and its shades.
@Cmain: hsl(0, 0%, 19%);
@Cmaindark: darken(@Cmain, 5%);
@Cmaindarkdark: darken(@Cmain, 10%);
@Cborder: darken(@Cmain, 13%);
@Cmainlight: lighten(@Cmain, 5%);
@Cmainlightlight: lighten(@Cmain, 10%);
@Cmainlightlightl: lighten(@Cmain, 55%);
// Complete invert of the main black theme.
@Cinvert: hsl(0, 0%, 90%);
// The green theme colors and its shades.
@Csecond: #4cae4c;
@Cseconddark: darken(@Csecond, 10%);
@Cseconddarkdark: darken(@Csecond, 20%);
@Csecondlight: lighten(@Csecond, 15%);
@Csecondlightlight: lighten(@Csecond, 35%);
// The red theme color.
@Cwarning: #ae4c4c;
// ************************************************************************* //
// SIZES
@Smain: 100%;
// ************************************************************************* //
// Global
body {
background-color: @Cmain;
color: @Cinvert;
text-align: justify;
}
body, h1, h2, h3, h4, h5, h6 {
font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Helvetica Neue", Helvetica, Verdana, Tahoma, sans-serif;
}
a {
color: @Csecond;
strong {
color: @Cinvert;
}
&:hover {
color: @Csecondlight;
strong {
color: @Csecond;
}
}
}
main {
width: @Smain !important;
min-height: 600px;
margin: auto;
}
h1, h2, h3, h4, h5, h6 {
a.anchor {
font-size: 18px;
}
}
h1, h2, h3, h4 {
font-weight: bold;
text-align: left;
}
h1, h2, h3 {
color: @Cmainlightlightl;
strong {
color: @Cinvert;
}
a.anchor {
color: @Cmainlightlightl;
}
}
h4, h5, h6 {
color: @Cseconddark;
}
h1 {
border-bottom: 4px @Cmainlightlightl solid;
padding: 20px 2%;
}
h3 {
border-bottom: 2px @Cmainlightlightl solid;
padding: 15px 1%;
}
h4 {
border-bottom: 1px solid @Cinvert;
padding: 10px 0;
margin: 20px 0;
color: @Cinvert;
a.anchor {
color: @Cinvert;
}
}
.list-group {
.list-group-item {
background-color: @Cmainlight;
border-color: black;
}
&.list-group-big .list-group-item {
padding: 25px;
}
a.list-group-item {
color: @Csecondlight;
&:hover {
background-color: @Cmain;
color: @Csecond;
}
}
}
.well {
background-color: @Cmaindark;
border-color: black;
color: @Cmainlightlightl;
strong {
color: @Cinvert;
}
code {
background-color: @Cmain;
}
hr {
border-color: @Cseconddark;
}
h3 {
margin: 5px 0 15px 0;
border: 0;
padding: 0;
}
a {
color: @Csecond;
}
a.btn {
color: white;
}
small {
display: block;
padding: 0 10px;
font-style: italic;
}
&.example {
padding-top: 40px;
margin-bottom: 130px;
pre {
margin: 50px;
margin-bottom: 30px;
font-size: 1.5em;
}
.btn {
margin-right: 50px;
margin-bottom: 20px;
}
}
&.well-with-icon {
min-height: 136px;
.pull-right, .pull-left {
background-color: @Csecond;
color: @Cinvert;
padding: 10px;
border-radius: 5px;
margin: 5px;
}
.pull-right {
margin-left: 20px;
}
.pull-left {
margin-right: 20px;
}
}
}
a.well {
display: block;
&:hover {
text-decoration: none;
opacity: 0.8;
}
}
.info, .warning {
margin: 10px;
padding: 10px;
background-color: @Cmainlight;
color: @Cinvert;
code {
background-color: @Cmain;
}
}
.info {
border-left: 10px @Csecond solid;
}
.warning {
border-left: 10px @Cwarning solid;
}
.with-icon {
padding: 30px;
.pull-left {
padding-right: 30px;
}
.pull-right {
padding-left: 30px;
}
}
dd {
margin-left: 20px;
}
code {
background-color: @Cmaindark;
color: @Csecondlight;
display: inline-block;
margin: 5px;
}
.table {
margin: 20px 0;
border-radius: 4px;
// Stripes
> tbody > tr:nth-child(odd) {
> td {
background-color: @Cmaindark;
}
> th {
background-color: @Cmain;
}
}
> tbody > tr:nth-child(even) {
> td {
background-color: @Cmainlight;
}
}
// Cells
> thead,
> tbody,
> tfoot {
> tr {
> th,
> td {
border-top: none;
}
> th {
background-color: @Cmainlightlight;
}
}
}
// Table headings
> thead {
> tr {
> th {
// Bottom align for column headings
border-bottom: 2px solid @Cmainlightlightl;
}
}
}
> tbody {
> tr.table-heading {
// These special rules are useful for long headings in <tbody>
// Headings in <thead> or row headings are handled already.
> th {
border-bottom: 2px solid @Cmainlightlightl;
background-color: @Cmainlightlight;
}
}
}
// Account for multiple tbody instances
> tbody + tbody {
border-top: 2px solid @Cmaindarkdark;
}
}
// This adds borders to the table elements. Nothing is using it right now so
// it is commented out.
/*
.table-bordered {
border: 1px solid @Cmaindarkdark;
> thead,
> tbody,
> tfoot {
> tr {
> th,
> td {
border: 1px solid @Cmaindarkdark;
}
> th {
background-color: @Cmainlightlight;
// Bottom align for column headings
border-bottom: 2px solid @Cmainlightlightl;
}
}
}
> thead > tr {
> th,
> td {
border-bottom-width: 2px;
}
}
}
*/
.table-responsive {
border: none;
}
// ************************************************************************* //
// Menu side bar nav
#sidebar-wrapper, .navbar {
background-color: @Cmaindarkdark;
overflow-x: hidden;
.sidebar-brand, .navbar-brand {
img {
opacity: 0.6;
margin-right: 8px;
}
&:hover {
color: #fff;
img {
opacity: 1;
}
}
}
.sidebar-nav {
li ul {
list-style-type: none;
padding: 0;
li {
line-height: 20px;
a {
padding-left: 20px;
}
}
}
}
}
.content-header {
height: auto;
background-color: @Cmaindark;
h1 {
color: @Cinvert;
display: block;
margin: 0;
margin-bottom: 20px;
line-height: normal;
border-bottom: none;
}
}
// ************************************************************************* //
// Download & Index page
#download, #index {
h4 {
margin-top: 180px;
}
h4.first {
margin-top: 20px;
small {
color: inherit;
font-size: 1em;
}
}
.btn-download-wrapper {
text-align: center;
margin: 160px auto;
.btn {
font-size: 3em;
padding: 3%;
display: inline-block;
margin-bottom: 5px;
}
small {
display: block;
font-size: 0.4em;
}
}
h2.description {
color: @Cinvert;
font-size: 2em;
font-weight: bold;
margin: 120px 50px;
line-height: 2em;
.label {
font-size: 0.5em;
}
}
}
#download {
.btn-download-wrapper {
margin: 40px auto;
}
.os-selector {
text-align: center;
color: @Cinvert;
margin: 30px 0;
a.btn-build {
color: @Cinvert;
display: block;
padding: 20px;
border-radius: 2px;
}
@linuxcolor: #e43;
@windowscolor: #06a;
@maccolor: darkgrey;
.btn-build[href="#build-linux"] {
background-color: @linuxcolor;
&:hover {
color: @linuxcolor;
background-color: @Cinvert;
}
}
.btn-build[href="#build-windows"] {
background-color: @windowscolor;
&:hover {
color: @windowscolor;
background-color: @Cinvert;
}
}
.btn-build[href="#build-mac"] {
background-color: @maccolor;
&:hover {
color: @maccolor;
background-color: @Cinvert;
}
}
.tab-content {
margin-top: 20px;
}
#build-linux {
h3 {
color: @linuxcolor;
}
}
#build-windows {
h3 {
color: @windowscolor;
}
}
#build-mac {
h3 {
color: @maccolor;
}
}
}
}
// ************************************************************************* //
// Footer
footer {
background-color: @Cmaindark;
border-top: 1px @Cborder solid;
padding: 20px ((100%-@Smain)/2);
a {
display: block;
}
img[alt="FFmpeg"] {
width: 50%;
display: block;
margin: auto;
}
}

View File

@ -1,5 +0,0 @@
libguvcview-1.1-1: package-name-doesnt-match-sonames libgviewaudio-1.1-1 libgviewencoder-1.1-1 libgviewrender-1.1-1 libgviewv4l2core-1.1-1
libguvcview-1.1-1: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libgviewrender-1.1.so.1.0.1 usr/lib/x86_64-linux-gnu/libgviewrender-1.1.so
libguvcview-1.1-1: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libgviewencoder-1.1.so.1.0.1 usr/lib/x86_64-linux-gnu/libgviewencoder-1.1.so
libguvcview-1.1-1: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libgviewv4l2core-1.1.so.1.0.1 usr/lib/x86_64-linux-gnu/libgviewv4l2core-1.1.so
libguvcview-1.1-1: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libgviewaudio-1.1.so.1.0.1 usr/lib/x86_64-linux-gnu/libgviewaudio-1.1.so

View File

@ -1,3 +0,0 @@
# We distribute the package under the terms of the BSD license due to the
# openssl issue, tell lintian to not complain:
hostapd binary: possible-gpl-code-linked-with-openssl

View File

@ -1,3 +0,0 @@
# there are no upstream tarballs for the hostapd.git branch at the moment,
# please use debian/rules' get-orig-source target instead
wpa source: debian-watch-file-is-missing

View File

@ -1,3 +0,0 @@
[DEFAULT]
pristine-tar = True
debian-branch = ubuntu/xenial

View File

@ -1,4 +0,0 @@
[DEFAULT]
pristine-tar = True
debian-branch = ubuntu/xenial

View File

@ -1,11 +0,0 @@
[DEFAULT]
upstream-branch = upstream
debian-branch = master
upstream-tag = upstream/%(version)s
debian-tag = debian/%(version)s
pristine-tar = True
[git-import-orig]
upstream-branch = tarball
upstream-tag = tarball/%(version)s
merge = False

View File

@ -1,4 +0,0 @@
[buildpackage]
upstream-branch = upstream
pristine-tar = true
pristine-tar-commit = true

View File

@ -393,7 +393,7 @@ prepare_host() {
test -e /proc/sys/fs/binfmt_misc/qemu-aarch64 || update-binfmts --enable qemu-aarch64
# create directory structure
mkdir -p $SOURCES $DEST/debug $CACHEDIR/rootfs $SRC/userpatches/overlay $SRC/toolchains $SRC/userpatches/patch
mkdir -p $SOURCES $DEST/debs/extra $DEST/debug $CACHEDIR/rootfs $SRC/userpatches/overlay $SRC/toolchains $SRC/userpatches/patch
find $SRC/lib/patch -type d ! -name . | sed "s%lib/patch%userpatches%" | xargs mkdir -p
# download external Linaro compiler and missing special dependencies since they are needed for certain sources