#21
|
|||
|
|||
Новые мейкфайлы
Nil A написал(а) к Michael Dukelsky в Nov 21 07:38:38 по местному времени:
Нello, Michael! Thursday September 30 2021 14:03, from Michael Dukelsky -> All: MD> Все действия, которые надо выполнить для сборки программ Нusky, MD> подробно описаны в huskybse/INSTALL_ru.asciidoc. Для того, чтобы MD> прочесть это описание, надо открыть в браузере MD> https://github.com/huskyproject/huskybse MD> и щелкнуть по файлу INSTALL_ru.asciidoc. Хотел собрать хаски, под дарвином, я понимаю, не поддерживаемая платформа, но из-каробки новый способ не завёлся. Makefile:56: * Please install makeinfo program. Stop. % whereis -b makeinfo whereis: illegal option -- b usage: whereis program [...] % whereis makeinfo /usr/bin/makeinfo А общем, у местного whereis вообще ни каких параметров быть не может. P.S. Собственно я чё полез новый метод пробовать, просто после очередного git pull старый способ сломался. Им там всем нужен какой-то #include "../cvsdate.h", а у меня нигде ни каких cvsdate.h файлов нет, обидно, да. Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#22
|
|||
|
|||
Новые мейкфайлы
Nil A написал(а) к Michael Dukelsky в Nov 21 07:54:06 по местному времени:
Нello, Michael! Wednesday November 03 2021 07:38, from Nil A -> Michael Dukelsky: MD>> Все действия, которые надо выполнить для сборки программ Нusky, NA> P.S. Собственно я чё полез новый метод пробовать, просто после NA> очередного git pull старый способ сломался. Им там всем нужен какой-то NA> #include "../cvsdate.h", а у меня нигде ни каких cvsdate.h файлов нет, NA> обидно, да. Ладно, сам дурак, надо было прочитать инструкцию и руками создать cvsdate.h с датой, хотя надо было его засандалить прямо в репу и создать ещё файлик .gitattributes с правилами, чтобы при чекауте там выставлял что надо внутри этого файла. Ещё в документации наврали канешна "2.3 Установка Нusky в других ОС типа UNIX". Я всегда думал, что дарвин это самый самая что нинаесть юниксистый юникс, а вот там с "whereis -b" облом таки случается, печалько. Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#23
|
|||
|
|||
Новые мейкфайлы
Michael Dukelsky написал(а) к Nil A в Nov 21 09:27:42 по местному времени:
Привет, Nil! 03 November 2021 07:38, Nil A послал(а) письмо к Michael Dukelsky: MD>> Все действия, которые надо выполнить для сборки программ Нusky, MD>> подробно описаны в huskybse/INSTALL_ru.asciidoc. Для того, чтобы MD>> прочесть это описание, надо открыть в браузере MD>> https://github.com/huskyproject/huskybse MD>> и щелкнуть по файлу INSTALL_ru.asciidoc. NA> Хотел собрать хаски, под дарвином, я понимаю, не поддерживаемая NA> платформа, но из-каробки новый способ не завёлся. Приведи, пожалуйста, `uname -s`. Желаю успехов, Nil! За сим откланиваюсь, Michael. ... node (at) f1042 (dot) ru --- GoldED+/LNX 1.1.5-b20180707 |
#24
|
|||
|
|||
Новые мейкфайлы
Nil A написал(а) к Michael Dukelsky в Nov 21 09:34:08 по местному времени:
Нello, Michael! Wednesday November 03 2021 09:27, from Michael Dukelsky -> Nil A: NA>> Хотел собрать хаски, под дарвином, я понимаю, не поддерживаемая NA>> платформа, но из-каробки новый способ не завёлся. MD> Приведи, пожалуйста, `uname -s`. % uname -s Darwin Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#25
|
|||
|
|||
Новые мейкфайлы
Alexey Vissarionov написал(а) к Nil A в Nov 21 12:22:22 по местному времени:
Доброго времени суток, Nil! 03 Nov 2021 07:54:06, ты -> Michael Dukelsky: NA> Ещё в документации наврали канешна "2.3 Установка Нusky в других ОС NA> типа UNIX". Я всегда думал, что дарвин это самый самая что нинаесть NA> юниксистый юникс, Вообще-то уже лет 20 существуют GNU/Linux и все остальное. NA> а вот там с "whereis -b" облом таки случается, печалько. Любители всего остального либо приводят в соответствие, либо страдают. -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Никогда не оставляйте в туалете кубик Рубика! --- /bin/vi |
#26
|
|||
|
|||
Новые мейкфайлы
Michael Dukelsky написал(а) к Nil A в Nov 21 20:25:22 по местному времени:
Привет, Nil! 03 November 2021 07:54, Nil A послал(а) письмо к Michael Dukelsky: MD>>> Все действия, которые надо выполнить для сборки программ Нusky, NA>> P.S. Собственно я чё полез новый метод пробовать, просто после NA>> очередного git pull старый способ сломался. Им там всем нужен NA>> какой-то #include "../cvsdate.h", а у меня нигде ни каких NA>> cvsdate.h файлов нет, обидно, да. NA> Ладно, сам дурак, надо было прочитать инструкцию Конечно, инструкцию надо читать. NA> и руками создатьcvsdate.h с датой, NA> хотя надо было его засандалить прямо в репу и Нет, не надо. Он там был и создавал кучу неудобств, так как в него надо было не забывать записывать новую дату при каждом коммите. Особенно это было неудобно при одобрении пулл реквестов. Поэтому файлы cvsdate.h теперь создаются во время сборки и туда записывается максимальная дата коммита данного подпроекта и всех его зависимостей. NA> создать ещё файлик .gitattributes с правилами, чтобы при чекауте там NA> выставлял что надо внутри этого файла. С правилами? Научи, как сделать, чтобы в cvsdate.h записать максимальную дату коммита с помощью .gitattributes с правилами. NA> Ещё в документации наврали канешна "2.3 Установка Нusky в других ОС NA> типа UNIX". Я всегда думал, что дарвин это самый самая что нинаесть NA> юниксистый юникс, а вот там с "whereis -b" облом таки случается, NA> печалько. То есть текущая версия называется Darwin, а следующая как называется (меня интересует uname -s)? Желаю успехов, Nil! За сим откланиваюсь, Michael. ... node (at) f1042 (dot) ru --- GoldED+/LNX 1.1.5-b20180707 |
#27
|
|||
|
|||
Новые мейкфайлы
Nil A написал(а) к Michael Dukelsky в Nov 21 22:06:32 по местному времени:
Нello, Michael! Wednesday November 03 2021 20:25, from Michael Dukelsky -> Nil A: NA>> и руками создать cvsdate.h с датой, NA>> хотя надо было его засандалить прямо в репу и MD> Нет, не надо. Он там был и создавал кучу неудобств, так как в него MD> надо было не забывать записывать новую дату при каждом коммите. Семён Семёныч, а что мешает сделать cvsdate.h целью для мейкфейла и автогенерить его? cvsdate.h: git log -n 1 --format=format:"char cvs_date[]=\"%cs\"%n" НEAD > $@ MD> Особенно это было неудобно при одобрении пулл реквестов. Поэтому файлы MD> cvsdate.h теперь создаются во время сборки и туда записывается MD> максимальная дата коммита данного подпроекта и всех его зависимостей. Проблема миграции с CVS и им подобных на GIT существует лет нанадцать уже наверное, например, я недавно на работе толпу проектов перевёл из Perforce в GIT. Обычно там всё сводится к генерации $Id$ метки, которая решается .gitattributes. MD> С правилами? Научи, как сделать, чтобы в cvsdate.h записать MD> максимальную дату коммита с помощью .gitattributes с правилами. Следи за руками. git clone https://github.com/huskyproject/huskylib.git huskylib.local cd huskylib.local echo 'char cvs_date[]="$Id$";' > cvsdate.h echo 'cvsdate.h ident' > .gitattributes git add -f cvsdate.h .gitattributes git commit -m "cvsdate.h fix" cd .. git clone huskylib.local huskylib % cat huskylib/cvsdate.h char cvs_date[]="$Id: b161fe756f8179491840ef122f1d0c1afff320b1 $"; Что это, Бэрримор? (с) Это хешь последнего коммита. Не, ну ведь дата (без времени) последнего коммита - это не совсем уникальный тэг, так? Чтобы туда попало что-то более похожее на дату - это надо бубен доставать. Это надо в .gitattributes добавить export-subst, а в cvsdate.h иметь подстроку $Format:%cs$ но тут есть две проблемы а. Эта подстановка работает, кажись, только для git archive б. Там остаются баксы вокруг $дата$, хотя кого это колеблет. Короче, чтобы случилась кашерная замена - это надо наворачивать фильтры, .gitattributes типа cvsdata filter=indent, и делать всякие git config --global filter.indent.clean .. И надо дать какой-то скрипт, который реально пойдёт и совершит замену. Ну камон, под разные ос этот скрипт будет выглядеть по-разному, если только ты не хочешь обязать всех иметь perl в рантайме, или ещё какой-то "универсальный" скипт. Такой гемор, яб просто из мейкфайла одной коммандой git log генерил бы этот файл. Опять же, ты обязываешь, чтобы в рантайме у клиента стоял git. Хотя ты и так уже это требуешь, ведь ты git clone там делаешь подпроектов походу пьесы. MD> То есть текущая версия называется Darwin, а следующая как называется MD> (меня интересует uname -s)? Darwin == MacOS. Просто Эпплы не могут по uname -s так сказать, наверное лицензия не позволяет. Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#28
|
|||
|
|||
Новые мейкфайлы
Michael Dukelsky написал(а) к Nil A в Nov 21 22:58:10 по местному времени:
Привет, Nil! 03 November 2021 22:06, Nil A послал(а) письмо к Michael Dukelsky: NA>>> и руками создать cvsdate.h с датой, NA>>> хотя надо было его засандалить прямо в репу и MD>> Нет, не надо. Он там был и создавал кучу неудобств, так как в MD>> него надо было не забывать записывать новую дату при каждом MD>> коммите. NA> Семён Семёныч, а что мешает сделать cvsdate.h целью для мейкфейла и NA> автогенерить его? NA> cvsdate.h: NA> git log -n 1 --format=format:"char cvs_date[]=\"%cs\"%n" НEAD NA> > $@ Иван Иваныч, а что мешает заглянуть в мейкфайл и увидеть, что там сделано по существу так: date := $(git log --date=short --format=format:"%cd" .h .c) echo "char cvs_date[]=\"$(date)\";" > cvsdate.h Тут в первой строчке псевдокод, не хотелось эху засорять выкрутасами GNU make. MD>> Особенно это было неудобно при одобрении пулл реквестов. Поэтому MD>> файлы cvsdate.h теперь создаются во время сборки и туда MD>> записывается максимальная дата коммита данного подпроекта и всех MD>> его зависимостей. NA> Проблема миграции с CVS и им подобных на GIT существует лет нанадцать NA> уже наверное, например, я недавно на работе толпу проектов перевёл из NA> Perforce в GIT. Обычно там всё сводится к генерации $Id$ метки, NA> которая решается .gitattributes. MD>> С правилами? Научи, как сделать, чтобы в cvsdate.h записать MD>> максимальную дату коммита с помощью .gitattributes с правилами. NA> Следи за руками. NA> git clone https://github.com/huskyproject/huskylib.git huskylib.local NA> cd huskylib.local NA> echo 'char cvs_date[]="$Id$";' > cvsdate.h NA> echo 'cvsdate.h ident' > .gitattributes NA> git add -f cvsdate.h .gitattributes NA> git commit -m "cvsdate.h fix" NA> cd .. NA> git clone huskylib.local huskylib NA> % cat huskylib/cvsdate.h NA> char cvs_date[]="$Id: b161fe756f8179491840ef122f1d0c1afff320b1 $"; NA> Что это, Бэрримор? (с) NA> Это хешь последнего коммита. Не, ну ведь дата (без времени) последнего NA> коммита - это не совсем уникальный тэг, так? NA> Чтобы туда попало что-то более похожее на дату - это надо бубен NA> доставать. Это надо в .gitattributes добавить export-subst, а в NA> cvsdate.h иметь подстроку $Format:%cs$ но тут есть две проблемы а. Эта NA> подстановка работает, кажись, только для git archive б. Там остаются NA> баксы вокруг $дата$, хотя кого это колеблет. Короче, чтобы случилась NA> кашерная замена - это надо наворачивать фильтры, .gitattributes типа NA> cvsdata filter=indent, и делать всякие git config --global NA> filter.indent.clean .. И надо дать какой-то скрипт, который реально NA> пойдёт и совершит замену. Ну камон, под разные ос этот скрипт будет NA> выглядеть по-разному, если только ты не хочешь обязать всех иметь perl NA> в рантайме, или ещё какой-то "универсальный" скипт. NA> Такой гемор, Вот именно. Насоветовал. :) NA> яб просто из мейкфайла одной коммандой git log генерил бы NA> этот файл. Дык, прикинь, так и сделано. NA> Опять же, ты обязываешь, чтобы в рантайме у клиента стоял NA> git. В рантайме? Упаси боже. Только во время сборки. У меня, например, сборка и исполнение происходят на разных машинах, к тому же сборка идёт в чруте. NA> Хотя ты и так уже это требуешь, ведь ты git clone там делаешь NA> подпроектов походу пьесы. Это пьеса сборки, а не исполнения программы. MD>> То есть текущая версия называется Darwin, а следующая как MD>> называется (меня интересует uname -s)? NA> Darwin == MacOS. Просто Эпплы не могут по uname -s так сказать, NA> наверное лицензия не позволяет. ОК. Желаю успехов, Nil! За сим откланиваюсь, Michael. ... node (at) f1042 (dot) ru --- GoldED+/LNX 1.1.5-b20180707 |
#29
|
|||
|
|||
Re: Новые мейкфайлы
Semen Panevin написал(а) к Nil A в Nov 21 18:55:16 по местному времени:
Доброго здоровьица тебе, Nil! Wednesday November 03 2021 22:06, Nil A писал Michael Dukelsky: NA> Семён Семёныч, а что мешает сделать cvsdate.h целью для мейкфейла и NA> автогенерить его? NA> cvsdate.h: NA> git log -n 1 --format=format:"char cvs_date[]=\"%cs\"%n" НEAD NA> > $@ Это плохо работает для случая когда скачан архив исходников а доступа к гиту нет. С наилучшими пожеланиями, Семён. ... Стрессы начинаются с будильника... (c)... --- GoldED+/LNX 1.1.5-b20180707 (Linux 5.4.80-gentoo-r1 iF6M10) |
#30
|
|||
|
|||
Новые мейкфайлы
Nil A написал(а) к Semen Panevin в Nov 21 19:18:08 по местному времени:
Нello, Semen! Thursday November 04 2021 18:55, from Semen Panevin -> Nil A: NA>> cvsdate.h: NA>> git log -n 1 --format=format:"char cvs_date[]=\"%cs\"%n" NA>> НEAD NA>> > $@ SP> Это плохо работает для случая когда скачан архив исходников а доступа SP> к гиту нет. Ну вот я про это и говорил, что добавляет требования к билд системе, чтобы был GIT, тогда проще запихать ident $Id$ через .gitattributes. Но! Новая система сборки основана на том, что пользователь вытаскивает только huskybse, запускает билд, а мейкфайлы уже с помощью GIT подтаскивают все остальные areafix/smapi/.. Т.е. для полностью offline сборки нужно качнуть максимальный набор huskyproject подпроектов, И установить внутри cvsdate.h. Best Regards, Nil --- GoldED+/LNX 1.1.5 |