dnschneid/crouton — pull request #933 by drinkcat (2014-07-16 07:26:54+00:00)
Title: targets/audio: Fetch libsbc 1.1

libsbc 1.0 was provided by raring, which is not included in mirrors anymore. So we install version 1.1, which is provided by `trusty` and should be good for the foreseable future (i.e. longer than the lifetime of `precise`)

This works great for new installs, but breaks updates: The current `install_mirror_package` was not able to upgrade the packages, as `dpkg` needs packages from different architectures to be at the exact same version (so just installing the i386 version would fail, and even `--force-all` would not allow that). I fixed it by modifying the meaning of the `arch` arg: if set, both native and non-native packages are fetched and installed together.

Finally, I also provide a test in 30-audio, where I manually fetch and install a newer version of `libsbc` (1.2), using `install_mirror_package` . Then I run the installer again, which downgrades `libsbc` to version 1.1 again.

Fixes #932, tested in `2014-07-16_06-22-21_drinkcat_chroagh_libsbc-fix-version_-R_precise_30`.