Как я могу удалить префикс из {последнего тега} в рецепте панели запуска?

У меня есть рецепт Launchpad, который выглядит так:

# git-build-recipe format 0.4 deb-version {latest-tag}-0~{time}~rev{revno}~pkg{revno:packaging}
lp:kvantum master
nest packaging lp:~krisives/kvantum/+git/kvantum-packaging debian master

Тем не менее, восходящий префикс номера версии с V что заставляет процесс упаковки жаловаться, что версии должны начинаться с цифры. Автор хочет сохранить его V имена тегов с префиксами.

Помимо ручного изменения changelog в моем хранилище упаковки есть способ, чтобы рецепт автоматически использовал {latest-tag} не нарушая процесс сборки?

1 ответ

Решение

Один из обходных путей - просто убедиться, что часть версии вашего пакета в апстримовой версии начинается с цифры, вставляя ее. Например, вы можете использовать:

# git-build-recipe format 0.4 deb-version 0{latest-tag}-0~{time}~rev{revno}~pkg{revno:packaging}

Обратите внимание, что это сравнит ниже, чем все, что вы, возможно, уже опубликовали с вашим текущим расширением, так как, например, 0V1 сортирует после V1, Если нужно, вы можете использовать эпоху (например, 1:0{latest-tag}-0~{time}~rev{revno}~pkg{revno:packaging} чтобы обеспечить его сортировку выше, чем что-либо опубликованное ранее, но этот удар необратим, и поэтому его следует избегать, если это вообще возможно.

Для дополнительной информации:

Я не вижу никакой возможности в документации сделать что-либо с "последним вышестоящим тегом", кроме как встроить его в строку окончательной версии, или каким-либо другим способом захватить вышестоящую версию, если этот тег является единственным местом, где объявлен восходящий поток., Поэтому я думаю, что мой обходной путь или что-то в этом роде - ваш единственный вариант на данный момент, но мы можем посмотреть, есть ли у кого-нибудь еще ответы.

Если обходной путь для вас неприемлем, сообщения об ошибках в git-build-recipe приветствуются, в том числе для запросов функций, чтобы охватить новые варианты использования, такие как этот. Я не могу сказать, каким будет ответ относительно того, какие улучшения будут в целом подходящими. Например, может быть возможно усовершенствование для обеспечения подстановки на основе регулярных выражений внутри расширения, но, вероятно, потребуется реализация таким образом, чтобы гарантировать, что вредоносный код не может быть выполнен на хосте, выполняющем git-build-recipe, перед лицом ненадежный рецепт ввода. Вероятно, было бы лучше сначала найти согласие в ошибке, прежде чем пытаться реализовать такое усовершенствование функции.

Другие вопросы по тегам