В настоящее время я работаю над проектом с центральной библиотекой (librapidstorm), несколькими плагинами (один из них называется rapidstorm-fitter) и двоичным файлом, а затем динамически связывает все плагины вместе (rapidstorm-bin).Каждый из этих компонентов упакован в свой собственный пакет Debian с основным номером версии библиотеки в названии пакета, например
- librapidstorm12
- rapidstorm12-plugin-fitter
- rapidstorm12-bin
В принципе, я думаю, что эта схема именования полезна, потому что несколько версий librapidstorm могут быть установлены параллельно, а дополнительные специфичные для сайта плагины обрабатываются изящно, когда они зависят отlibrapidstorm12.
Теперь из-за нескольких ошибок в librapidstorm12 (которые слишком дороги для исправления) ABI librapidstorm12 нарушается чаще, чем обещания Гвидо Вестервелле, в то время как API остается согласованным.Что означает, из-за логики версий libtool, что номер версии увеличивается, что влечет за собой изменение всех последующих имен пакетов.Хотя это изменение легко обрабатывать на уровне чистого исходного кода, пакеты Debian должны быть переименованы вручную / с помощью sed.
Я думал, что смогу обработать это переименование с помощью подстановок, но подстановки могут не встречаться в именах пакетов.
Я попытался посмотреть, как это делают другие пакеты с такой же проблемой (например, ядро), но номер версии также жестко запрограммирован в их управляющих файлах.
Кто-нибудь знает чистый, Debian способ изменить имя пакета в соответствии с номером версии?