On Tue, Nov 01, 2011 at 02:14:03AM +0400, Aleksey Avdeev wrote: > Имею в виду следующее: > > 1. Пакет foo собираемый из кода соответствующего релизу X.Y.Z апстрима > -- foo-X.Y.Z > > 2. Некий промежуточный код, следующий за официальным релизом X.Y.Z, но > никак апстримом не отмеченный -- foo-X.Y.Z.1 > > 3. Следующий промежуточный код, следующий за кодом п.2 -- foo-X.Y.Z.2 > > 4. N-ная точка сборки -- foo-X.Y.Z.n > > 5. N+M-ная -- foo-X.Y.Z.(n+m) > > 6. Апстрим наконецтаки разродился релизом X.Y.(Z+1) -- собираем X.Y.(Z+1)... > > Или как вариант, для пунктов 1 и 6 собираем foo-X.Y.Z.0 и X.Y.(Z+1).0 > соответственно. Такой подход безопасно применять только тогда, когда у вас есть гарантия того, что апстрим не выпустит релиз X.Y.Z.1. В этом случае в конец версии можно дописывать что угодно, не только последовательные натуральные числа, но и номера коммитов, timestamp'ы, и т.п. - то, что более подходит для данного конкретного проекта. Вот, например, для пакета gnulib я применил такой подход, сейчас в Сизифе у него версия 0.0.6125.da1717b, где 0.0 это номер версии самого gnulib, а 6125.da1717b это форма записи коммита v0.0-6125-gda1717b в виде, пригодном для версии пакета. В остальных случаях лучше просто увеличивать номер релиза и добавлять соответствующий комментарий в %changelog. Если вы знаете, что собираемый снапшот уже существенно ближе к будущей версии, чем к предыдущей, то вы можете себе позволить выпустить пакет с версией предстоящего релиза, указывая в качестве Release 0.1, 0.2 и т.п. Если вы собираете снапшоты, и вам очень хочется отразить эту информацию в номере версии пакета, но никаких гарантий от апстрима у вас нет, то вы можете попробовать дать пакету версию X.Y.Z.0.snap, где 0 это ноль, который апстримы очень редко используют в таком качестве, а snap - это некая характеристика, монотонно возрастающая с каждым снапшотом. В случае svn в этом качестве можно использовать его собственный svn id. В случае git при условии необратимости истории коммитов подойдет какой-нибудь нормализованный вывод git-describe'а. -- ldv