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: