forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.HUSKY

Ответ
 
Опции темы Опции просмотра
  #21  
Старый 03.11.2021, 08:52
Nil A
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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  
Старый 03.11.2021, 09:12
Nil A
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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  
Старый 03.11.2021, 10:42
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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  
Старый 03.11.2021, 10:42
Nil A
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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  
Старый 03.11.2021, 13:42
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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  
Старый 03.11.2021, 21:32
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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  
Старый 03.11.2021, 23:32
Nil A
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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  
Старый 04.11.2021, 00:03
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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  
Старый 04.11.2021, 20:11
Semen Panevin
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 04.11.2021, 20:32
Nil A
Guest
 
Сообщений: n/a
По умолчанию Новые мейкфайлы

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
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:06. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot