Вставка номера версии в имя пакета debian - PullRequest
3 голосов
/ 21 сентября 2011

В настоящее время я работаю над проектом с центральной библиотекой (librapidstorm), несколькими плагинами (один из них называется rapidstorm-fitter) и двоичным файлом, а затем динамически связывает все плагины вместе (rapidstorm-bin).Каждый из этих компонентов упакован в свой собственный пакет Debian с основным номером версии библиотеки в названии пакета, например

  • librapidstorm12
  • rapidstorm12-plugin-fitter
  • rapidstorm12-bin

В принципе, я думаю, что эта схема именования полезна, потому что несколько версий librapidstorm могут быть установлены параллельно, а дополнительные специфичные для сайта плагины обрабатываются изящно, когда они зависят отlibrapidstorm12.

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

Я думал, что смогу обработать это переименование с помощью подстановок, но подстановки могут не встречаться в именах пакетов.

Я попытался посмотреть, как это делают другие пакеты с такой же проблемой (например, ядро), но номер версии также жестко запрограммирован в их управляющих файлах.

Кто-нибудь знает чистый, Debian способ изменить имя пакета в соответствии с номером версии?

1 Ответ

1 голос
/ 29 сентября 2011

AFAIK, в оболочке Linux нет ничего, что позволяло бы это. Я столкнулся с очень похожей проблемой некоторое время назад, когда переписывал прошивку маршрутизатора LinkSys. В конечном итоге вам придется потратить время на ознакомление с автоматизированным инструментом сборки, который сделает это за вас. Я разработчик Java и использую Apache Ant неукоснительно. В зависимости от вашей платформы вам придется найти инструмент, который соответствует вашим потребностям.

Большинство этих систем позволяют указать числовую схему управления версиями и могут быть настроены для увеличения этой версии при каждом развертывании.

Исходя из ваших потребностей, я бы начал с любых современных / расширений make.

Удачи!

...