Riemann Solvers: Linearisations and Adaptation