[devel] создать ссылку в репозитарии git

Anton Farygin =?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Пт Май 5 16:07:09 MSD 2006


Dmitry V. Levin wrote:
> On Fri, May 05, 2006 at 03:36:14PM +0400, Anton Farygin wrote:
>> Dmitry V. Levin wrote:
>>> On Fri, May 05, 2006 at 03:17:32PM +0400, Anton Farygin wrote:
>>>> Никто не подскажет, как в git можно сделать ссылку на файл, находящийся 
>>>> в другом месте репозитария ?
>>> С одной стороны, в git можно хранить ссылки.
>> Я нашёл что-то типа git-relink, но как я понял из скудной документации - 
>> это что-то не то.
> 
> Сыылки можно хранить так же как и обычные файлы.

Это понятно. Но вот что у меня сейчас вылезает, когда я кладу симлинк 
(это естественно):
[rider на rider libhw.git]$ gear .git/ --rpmbuild -- rpm -ba
Выполняется(%prep): /bin/sh -e /home/rider/RPM/libhw/TMP/rpm-tmp.44091
+ umask 022
+ /bin/mkdir -p /home/rider/RPM/libhw/BUILD
+ cd /home/rider/RPM/libhw/BUILD
+ cd /home/rider/RPM/libhw/BUILD
+ rm -rf libhw-0.2.22.2
+ echo 'Source #0 (libhw-0.2.22.2.tar):'
Source #0 (libhw-0.2.22.2.tar):
+ /bin/tar -xf /tmp/.private/rider/gear.QNx32299/out/libhw-0.2.22.2.tar
+ cd libhw-0.2.22.2
+ /bin/chmod -Rf u+rwX,go-w .
+ exit 0
Выполняется(%build): /bin/sh -e /home/rider/RPM/libhw/TMP/rpm-tmp.64635
+ umask 022
+ /bin/mkdir -p /home/rider/RPM/libhw/BUILD
+ cd /home/rider/RPM/libhw/BUILD
+ cd libhw-0.2.22.2
+ '[' -n '' ']'
+ NPROCS=1
+ make -j1 'CFLAGS=-pipe -Wall -Os' LIBDIR=/usr/lib64 
X11LIBDIR=/usr/lib64/X11
error: Unable to open 
/home/rider/RPM/libhw/BUILD/libhw-0.2.22.2/SPECS/libhw.spec: No such 
file or directory
error: query of specfile 
/home/rider/RPM/libhw/BUILD/libhw-0.2.22.2/SPECS/libhw.spec failed, 
can't parse
error: Unable to open 
/home/rider/RPM/libhw/BUILD/libhw-0.2.22.2/SPECS/libhw.spec: No such 
file or directory
error: query of specfile 
/home/rider/RPM/libhw/BUILD/libhw-0.2.22.2/SPECS/libhw.spec failed, 
can't parse
error: Unable to open 
/home/rider/RPM/libhw/BUILD/libhw-0.2.22.2/SPECS/libhw.spec: No such 
file or directory
error: query of specfile 
/home/rider/RPM/libhw/BUILD/libhw-0.2.22.2/SPECS/libhw.spec failed, 
can't parse
make: Entering directory `/home/rider/RPM/libhw/BUILD/libhw-0.2.22.2'
error: Unable to open ../SPECS/libhw.spec: No such file or directory
error: query of specfile ../SPECS/libhw.spec failed, can't parse
error: Unable to open ../SPECS/libhw.spec: No such file or directory
error: query of specfile ../SPECS/libhw.spec failed, can't parse
error: Unable to open ../SPECS/libhw.spec: No such file or directory
error: query of specfile ../SPECS/libhw.spec failed, can't parse


> 
>>>> Мне нужно spec файл положить в тарбол, а для этого необходимо сделать 
>>>> ссылку на него.
>>>>
>>>> Т.е.:
>>>>
>>>> a.git/source-tree/a.spec должен быть идентичен
>>>> a.git/a.spec
>>> С другой стороны, зачем тебе a.git/a.spec?
>>> Перемести его в a.git/source-tree/; если надо, сделай a.git/a.spec ссылкой
>>> на a.git/source-tree/a.spec (хотя зачем?)
>> На этапе сборки из спек-файла берётся версия и на её базе создаётся soname.
>>
>> Соответственно ссылка не прокатит, если это естественно не хард-линк. 
>> Спек файл должен содержаться в тарболле.
>>
>> Просто мне лень прописывать версию в нескольких местах сразу.
> 
> Посмотри на почти любой мой пакет в
> ftp://ftp.altlinux.org/pub/people/ldv/scm/packages/
> (хотя бы тот же hasher) - там версия извлекается из spec-файла и дальше
> используется Makefile'ом во время сборки.

Вот у меня точно так же.. поправил rules - всё заработало. Теперь 
основной вопрос - как восстановить функциональность моего старого make 
buildreq, make bp и т.д.

Кстати, если spec файл является симлинком, то gear не работает. но это 
наверное только у извращенцев вроде меня встречается ;)

Rgds,
Rider




Подробная информация о списке рассылки Devel