[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: пакет из репозитория + применить изменения из git



On 04/24/2014 03:54 PM, dimas wrote:
приветствую!
имеется пакет librecad, в текущей версии 2.0.3 появился один досадный косяк.
запостил баг на debian.org, а также в апстрим. апстрим говорит, что пофиксили в
недавнем коммите, отписал в дебиановский баг - майнтейнер пока молчит.
в связи с этим вновь всплыл вопрос: как взять имеющийся сорц-пакет и включить в
него изменения из текущего git апстрима?
понятно, что
sudo aptitude build-dep librecad
apt-get source librecad
далее - если я правильно помню, в сорц-пакете идут оригинальные исходники, все
стороннее идет в папку debian/, в т.ч. изменения, сделанные майнтейнером,
оформляются патчами и идут тоже в отдельную папку.
для меня загадкой остается git, ибо темный лес, как и любая другая система
контроля версий. какое нужно применить заклинание, чтобы имеющиеся сырцы
сранвить с конкретным коммитом, получить изменения и накатить их? чтоб не

git format-patch "release commit"  чтобы получить патчи.
тянуть полрепозитория, а в идеале - еще и не трогать папку debian/, и что там
еще может быть добавлено. впрочем, последнее можно и ручками потом вернуть на
место, не страшно.

debian/changelog полюбому надо трогать - обновить версию.

и после этого что нужно будет сделать? изменить версию через dch на что-нибудь
типа 2.0.3-1+git1111111, чтоб последующие нормально обновлялись из реп -

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

напрмер 2.0.4~git75061e-1, эта версия выше чем 2.0.3 и ниже 2.0.4


достаточно будет?
новых версий, вроде, пока не было (по крайней мере, не анонсировано), так что
глобальных изменений, из-за которых оно бы не собралось, быть по идее не должно.



вообщем, вот пошаговый скрипт который дает пакет с последними изменениями с гитхаба:

mkdir librecad
cd librecad

dget -ux http://ftp.de.debian.org/debian/pool/main/libr/librecad/librecad_2.0.3-2.dsc

or apt-get source librecad

git clone https://github.com/LibreCAD/LibreCAD.git

cd LibreCAD

to see the changes run git diff

git diff 85b31434c448723970f437eb587ad637cce82494 <- 2.0.3 release commit

git log to see the commit log or the latest commit:

the current latest one is:
        75061eb3e4df21d03da1574d46d6d70d1db2b899

cd ..

mv LibreCAD librecad-2.0.4~git75061e

tar --exclude=".git/*" -czf librecad_2.0.4\~git75061e.orig.tar.gz librecad-2.0.4\~git75061e

mv librecad-2.0.3/debian/ librecad-2.0.4\~git75061e

cd librecad-2.0.4\~git75061e

dch -v 2.0.4~git75061e-1

add a commit message and save

debuild -us -uc

wait ...

ls -l ../*.deb


Удачи,
Alex


Reply to: