#! /bin/sh # # Generate fake debian package to resolve unimportant unmet dependencies held # by upstream multiarch broken packages. # # Copyright (c) 2017 Philippe Mathieu-Daudé # # This work is licensed under the terms of the GNU GPL, version 2 # or (at your option) any later version. See the COPYING file in # the top-level directory. test $1 = "install" && shift 1 fake_install() { echo "Generating fake $2 $1 $3 ..." (cd /var/cache/apt/archives (cat << 'EOF' Section: misc Priority: optional Standards-Version: 3.9.2 Package: NAME Version: VERSION Maintainer: qemu-devel@nongnu.org Architecture: any Multi-Arch: same Description: fake NAME EOF ) | sed s/NAME/$2/g | sed s/VERSION/$3/g > $2.control equivs-build -a $1 $2.control 1>/dev/null 2>/dev/null dpkg -i --force-overwrite $2_$3_$1.deb ) } try_install() { name=$(echo $1|sed "s/\(.*\):\(.*\)=\(.*\)/\1/") arch=$(echo $1|sed "s/\(.*\):\(.*\)=\(.*\)/\2/") vers=$(echo $1|sed "s/\(.*\):\(.*\)=\(.*\)/\3/") apt-get install -q -yy $1 || fake_install $arch $name $vers } for package in $*; do try_install $package done