The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз системы сборки CMake 3.11, opennews (??), 29-Мрт-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


7. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 29-Мрт-18, 20:52 
и что вы мне этой ссылкой хотели показать, кроме того что еще и по-английски не умеете?
У вас там точно такая же зависимость от libuv (она,кстати, собирается не только autotools, но и cmake. Уп-с... но мы пытаемся собрать cmake!), часть остальных попрятаны в косвенные зависимости.

> Замшелым и ничего толком на современных системах не умеющим?

да куда уж ему, даже без libuv собран.

asynchronous event notification library как нам подсказывает ваша ссылка. Эта хрень ведь ну очень нужна в системе, йопаралон, генерации makefile'ов ? Вы без нее не можете, у вас гироскутер укатится?

Впрочем, есть и прекрасные образцы использования autoconf:
# systemd support.
AC_ARG_WITH([systemd],
  AS_HELP_STRING([--with-systemd], [support systemd socket activation]),
  [], [with_systemd=check])
have_systemd=no
if test "x$with_systemd" != "xno"; then
  PKG_CHECK_MODULES(systemd, [libsystemd-daemon],
    [AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is available])
    have_systemd=yes],
  have_systemd=no)
  if test "x$have_systemd" = xno -a "x$with_systemd" = xyes; then
    AC_MSG_ERROR([systemd support requested but libraries not found])
  fi
fi

это все.
В смысле - это вообще единственное в этой (довольно распространенной) программке в аж 870 строк, для чего на самом деле используется autoconf. (еще он проверяет наличие нескольких системных вызовов и .h и тупо вываливается, если не нашел - зачем было проверять, непонятно, оно что так не соберется, что этак)

да-да, вы правильно поняли - вся эта мура понадобилась автору потому, что сам написать мегаскрипт configure с единственным параметром with/without systemd он ниасилил.

Я, в общем, практически уверен, что почти все использования cmake примерно такого же сорта.

Ответить | Правка | Наверх | Cообщить модератору

8. "Релиз системы сборки CMake 3.11"  +2 +/
Сообщение от Аноним (-), 29-Мрт-18, 20:58 
> У вас там точно такая же зависимость от libuv (она,кстати, собирается не только autotools, но и cmake. Уп-с... но мы пытаемся собрать cmake!)

А компилятор без компилятора ты уже собрал?

Ответить | Правка | Наверх | Cообщить модератору

10. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 29-Мрт-18, 21:04 
слив засчитан.
То есть факт звиздежа про "миниимум зависимостей" (вместо аж двух у automake) опровергнуть не получилось, пришлось приступить к подмене понятий.

Ответить | Правка | Наверх | Cообщить модератору

11. "Релиз системы сборки CMake 3.11"  +3 +/
Сообщение от anonymous (??), 29-Мрт-18, 21:49 
Ты эта, runtime от buildtime зависимости отличай и make clean не забывай делать. По runtime cmake не зависит от autotools.
Ответить | Правка | Наверх | Cообщить модератору

24. "Релиз системы сборки CMake 3.11"  +1 +/
Сообщение от Аноним (-), 30-Мрт-18, 10:23 
> По runtime cmake не зависит от autotools.

вам там показали кучу чудовищного уродливого bloatware, от которого зависит.
Но вы продолжайте петь сказки, что у него "мимими...минимальные зависимости". Главное, ставьте софт из пакетиков, и ни в коем случае не думайте своей головой, за вас уже все подумали.

А правильное использование autotools вообще не предполагает их наличия и запуска на системе, где занимаются сборкой - configure зависит только от /bin/sh (и только сравнительно недавно его наконец испортили настолько, что если это не bash, то обязан быть bsd sh - раньше оно работало бы даже на совсем странных или древних системах)

Именно потому, что этап конфигурации и сборки информации о системе совершенно намеренно отделен от этапа сборки информации о проекте.

Это еще те, олдовые гнушники писали, они умели. Пользуются, к сожалению, идиоты.

Ответить | Правка | Наверх | Cообщить модератору

34. "Релиз системы сборки CMake 3.11"  –1 +/
Сообщение от Аноним (-), 30-Мрт-18, 13:55 
> правильное использование autotools вообще не предполагает их наличия и запуска на системе, где занимаются сборкой

Теоретически. На деле же… Это не ты выше цитату приводил?

> /usr/ports/devel/libuv/Makefile:USES=           autoreconf libtool pathfix pkgco

Ну то есть не соберётся оно на фряхе, если autoreconf не сделать. Видимо патчик какой-то накладывается, без которого никак, а с которым надо всё переделывать. И это не единичный пример, и для фряхи это не специфично — в линуксах тоже бывает сплошь и рядом. Так что всё равно, если занимаешься сборкой, приходится держать в системе кучу autoconf, automake и прочей автодряни разных версий (не ломать обратную совместимость они ведь не могут, в отличие от сабжа).

> этап конфигурации и сборки информации о системе совершенно намеренно отделен от этапа сборки информации о проекте.

Нет там никакого "этапа сборки информации о проекте", есть этап напихивания в исходники кучи скриптов, по размеру на порядки превосходящей размер среднего проекта.

Ответить | Правка | Наверх | Cообщить модератору

35. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 30-Мрт-18, 16:45 
> Теоретически. На деле же…

ну так что вы хотите? Одни неумельцы тащат в "продукт" поделки других. Я ж говорю - что ни валяется на полу, все в рот.

> Видимо патчик какой-то накладывается,

да щясс...  там вообще нет files/
USE_GITHUB=     yes
типичная поделка, не имеющая понятия "релиз" (или там такой релиз, с которым ничего уже лет пять не соберешь).

> Нет там никакого "этапа сборки информации о проекте",

Те самые .am скрипты, которые привязаны к исходникам (или во всяком случае должны бы быть) - это оно и есть. Независимо от того, умел автор этим пользоваться, или просто не умел писать makefile.
А сборка информации о системе - это когда (порожденные теми) уже configure скрипты старательно обрабатывают единственный параметр "with-systemd".
А что это решалось в пяток строк на sh или в один define для make - так они ни sh не умеют, ни make.
Остальные пять тыщ строк и сотня ненужнопроверок - побочный эффект от применения автоматики там, где она совсем не нужна.

Авторы конкретной этой глупости зато, смотрю, умеют .bat (не-не-не, cmd ниасилен) - похоже, в винде оно собирается без autoconf. Правда сперва что-то там совершенно неведомое автовсасывает откуда-то с гугля, я бы вот, будь у меня винда, не рисковал бы ЭТО запускать.

Ответить | Правка | Наверх | Cообщить модератору

40. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 30-Мрт-18, 17:52 
> ну так что вы хотите? Одни неумельцы тащат в "продукт" поделки других. Я ж говорю - что ни валяется на полу, все в рот.

Так я ж соглашаюсь: не надо эту бяку в рот. И в другие физиологические отверстия тоже не советую.

>> Нет там никакого "этапа сборки информации о проекте",
> Те самые .am скрипты, которые привязаны к исходникам (или во всяком случае должны бы быть) - это оно и есть.

И где тут "сборка информации о проекте"? Собирать-то нечего, разрабы всё сами ручками в эти самые .am и прочие .ac прописали.

Ответить | Правка | Наверх | Cообщить модератору

42. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 30-Мрт-18, 19:09 
> И где тут "сборка информации о проекте"? Собирать-то нечего, разрабы всё сами ручками в эти
> самые .am и прочие .ac прописали.

ну так это и есть способ рассказать automake, что тебе от него нужно.
а что из этого есть и где - найдет уже configure.

в cmake просто эти этапы перемешали в кучу, а часть тестов заменили статическими конфигами. Разработчики, видимо, счастливы (особенно - те что неасилили и кэширование), те кому потом с их продуктом иметь дело - не очень. Угадайте, кого на свете больше (включая других разработчиков, вынужденных пользоваться тем что дали, чтобы не переизобретать весь мир с первого дня)

Ответить | Правка | Наверх | Cообщить модератору

45. "Релиз системы сборки CMake 3.11"  –1 +/
Сообщение от Аноним (-), 31-Мрт-18, 11:03 
> в cmake просто эти этапы перемешали в кучу

Ничего там не перемешивали. Просто первый этап (генерацию новых и подкладывание готовых скриптов) выкинули за ненужностью.

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

В мире бинарных дистрибутивов больше, конечно, разработчиков, поскольку майнтейнер обычно сопровождает большое число пакетов. А конечным пользователям по барабану. Да, кстати, как майнтейнер я к cmake имею лишь очень небольшие нарекания (прежде всего — отсутствие универсального способа задать путь для установки библиотек). С autotools проблем по крайней мере не меньше.

Ответить | Правка | Наверх | Cообщить модератору

17. "Релиз системы сборки CMake 3.11"  +4 +/
Сообщение от Аноним (-), 30-Мрт-18, 01:44 
> слив засчитан.
> То есть факт звиздежа

Неплохо у бздунов бомбануло. Аноним правда другой был, но сказанул все верно.

Факт в том, что кому шашечки, а кому и ехать. Шашечники гордо собирают все из сорцов, гордясь "прозрачностью" и "простотой", но рулить своей "юниксвейной" системой предпочитают почему-то из под пуссиэкзе.
А вторым нужно работать, а не маяться дурью, играя в билдферму. И они используют пакетник. Что характерно, из под линуха, где сделали именно так, как нужно для работы и решения повседневных задач, а не и повышения ЧСВ от использования "правильных" академподходов.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

20. "Релиз системы сборки CMake 3.11"  –1 +/
Сообщение от Ivan_83 (ok), 30-Мрт-18, 02:19 
У пакетов есть как минимум одна проблема: они собраны с какими то опциями, и часто то не хватает то оно тянет лишних зависимостей.

Держать билдферму вообще не проблема и не напряг, как минимум полезней чем майнить.

Ответить | Правка | Наверх | Cообщить модератору

25. "Релиз системы сборки CMake 3.11"  –2 +/
Сообщение от Аноним (-), 30-Мрт-18, 10:38 
> У пакетов есть как минимум одна проблема: они собраны с какими то
> опциями, и часто то не хватает то оно тянет лишних зависимостей.
> Держать билдферму вообще не проблема и не напряг, как минимум полезней чем

и проблема, и напряг - но когда тебе нужно что-то нестандартное или просто отсутствующее/не той версии - выбора у тебя нет.

а здесь мы видели поток сознания горе-программистов, которые всю жизнь лопали что дают, apt-get install, шлеп-шлеп

к сожалению, весь современный софт пишут такие же. m4 у них некруто, немодно, вот неделями зубрить совершенно бредовый синтаксис cmake (или, вероятнее, скопипастить со stackoverflow и не уметь поменять) - это они могут. Причем для чего-нибудь типа вышепроцитированного - снабдить систему сборки единственного .c единственным параметром (совершенно, кстати, ненужным)

Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз системы сборки CMake 3.11"  +1 +/
Сообщение от Аноним (-), 30-Мрт-18, 12:28 
> а здесь мы видели поток сознания горе-программистов, которые всю жизнь лопали что
> дают, apt-get install, шлеп-шлеп

Так ты уже собрал свой любимый проприетарный шланг c помощью шланга, питона, ниндзи и перла? Или оно "не считается"?

Ответить | Правка | Наверх | Cообщить модератору

37. "Релиз системы сборки CMake 3.11"  –1 +/
Сообщение от Аноним (-), 30-Мрт-18, 16:59 
> Так ты уже собрал свой любимый проприетарный шланг c помощью шланга, питона,
> ниндзи и перла? Или оно "не считается"?

ты будешь удивлен, но тот что в base system freebsd - собирается без шланга (ну, ок, последние четыре года с большим скрипом, но кое-как стартовать bootstrap можно и древним gcc), без питона, и без перла даже. Голый cmake и sh.

makefiles переписаны руками, ога (они еще и общесистемные параметры подхватывают - так, как это принято у системы, а не так как взбрело в голову "я вчера увидел новую билд-систему, щас мы на нее мигрируем"). Ничего, ну надо же, волшебного в этом нет.

Но вот оторвать ему сборку llvm под миллион абсолютно ненужных (~60% еще и неработающих) архитектур, занимающую часы и киловатты - этого, увы, никто пока не сумел. freebsd-update наше всьо.

а других компиляторов у нас нет. Либо уже сто лет пишущийся заведомыми вредителями gcc, либо этот.
В частности и потому, что вменяемых разработчиков уже почти не осталось, и на эти-то два не хватает.

Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 30-Мрт-18, 22:58 
> без питона, и без
> перла даже. Голый cmake и sh.
> Голый cmake

А голый cmake собираем (привожу ваш? же комментарий)
>>>>>>>>>

/usr/ports/devel/cmake/Makefile:LIB_DEPENDS=    libcurl.so:ftp/curl \
/usr/ports/devel/cmake/Makefile-                libexpat.so:textproc/expat2 \
/usr/ports/devel/cmake/Makefile-                libjsoncpp.so:devel/jsoncpp \
/usr/ports/devel/cmake/Makefile-                libuv.so:devel/libuv \
/usr/ports/devel/cmake/Makefile-                librhash.so:security/rhash
/usr/ports/devel/cmake/Makefile-
/usr/ports/devel/cmake/Makefile-USES=           compiler:c++11-lang libarchive ncurses
--
/usr/ports/devel/cmake/Makefile:MANPAGES_BUILD_DEPENDS= sphinx-build:textproc/py
а самое приятное - вот это:
/usr/ports/devel/libuv/Makefile:USES=           autoreconf libtool pathfix pkgco
>>>>>>>>

приехали …

Ответить | Правка | Наверх | Cообщить модератору

48. "Релиз системы сборки CMake 3.11"  –1 +/
Сообщение от Аноним (-), 01-Апр-18, 21:11 
просто опечатка. Там make. Обычный такой bsd make.
Ответить | Правка | Наверх | Cообщить модератору

33. "Релиз системы сборки CMake 3.11"  –1 +/
Сообщение от Аноним (-), 30-Мрт-18, 13:16 
> m4 у них некруто, немодно, вот неделями зубрить совершенно бредовый синтаксис cmake

Синтаксис cmake местами, может, и странноват, но зато предельно простой, если не сказать примитивный. Что там можно зубрить *неделями*? m4 намного сложнее, не говоря о том, что для правильного обращения с автокрэпом надо уметь ещё в shell и make (причём хорошо уметь, чтобы писать переносимо между разными реализациями).

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

39. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 30-Мрт-18, 17:11 
> ещё в shell и make (причём хорошо уметь, чтобы писать переносимо
> между разными реализациями).

на фоне необходимости уметь собственный код писать переносимо - это такая мелочь...
И да, количество USE_GMAKE неплохо кореллирует с autotools. И с кучей патчей чтобы оно хоть как-то собралось не на единственном доступном автору линуксе. Хорошо еще, если не безальтернативно gcc.
Зачем, спросите, они вообще при этом использовали automake? Ну правильно, потому что ни shell, ни make толком...

m4 для его использования знать не надо, к сожалению. Да они и не знали.

Ответить | Правка | Наверх | Cообщить модератору

32. "Релиз системы сборки CMake 3.11"  +2 +/
Сообщение от Аноним (-), 30-Мрт-18, 12:47 
> слив засчитан.

Дорогой бздун, ты слился на незнании матчасти еще при копипасте частей мейк-файлов в качестве "демонстрации" зависимостей. Вместо make (pretty-print-)(build|run)-depends-list или make all-depends-list
Ну и заодно посмотри зависимости для сборки любимого шланга.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

38. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 30-Мрт-18, 17:01 
> в качестве "демонстрации" зависимостей. Вместо make (pretty-print-)(build|run)-depends-list
> или make all-depends-list

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


Ответить | Правка | Наверх | Cообщить модератору

44. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 30-Мрт-18, 23:01 
> я рад за вас, что вы выучили массу абсолютно ненужных заклинаний. Типикал юзер cmake.

Т.е. типикал бздun маны своей же билдсистемы в глаза не видел?
man ports
>  all-depends-list     Print a list of all dependencies for the port.
>  pretty-print-run-depends-list, pretty-print-build-depends-list
>                         Print a list of all the compile and run
>                         dependencies, and dependencies of those
>                         dependencies, by port name and version.

Яснопонятно.


Ответить | Правка | Наверх | Cообщить модератору

49. "Релиз системы сборки CMake 3.11"  +/
Сообщение от Аноним (-), 01-Апр-18, 21:22 
> Т.е. типикал бздun маны своей же билдсистемы в глаза не видел?

когда-то видел, запоминать всю эту километровую муру - это для вас, мальчики с феноменальной памятью (вероятно, кому-то так проще, или, что скорее, кто-то зачем-то это использует в скриптах).

мне гораздо проще и быстрее посмотреть в Makefile, что там на самом деле, а не что выдаст интуитивно-приятный скрипт
(к тому же эти заклинания имеют особенности, о которых вы не в курсе, поскольку читатели манов, а не админы фри)

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру