LINUX.ORG.RU

Чего хотел автор PKGBUILD-a linux-lts612?

 , , ,


0

1

Всем здравствуйте. На связи yars068, и у меня такой «детский» вопрос: а чего всё-таки он хотел этой командой:

make -j1 htmldocs < /dev/null

Команда приведена не полностью, но я отбросил понятную часть – команда выше вызывается через nice, только и всего. Я знаю, что в таком виде make будет читать stdin, а читая /dev/null, мы получим EOF на ввод. Но зачем? Ведь вызов make ${target} не предполагает взаимодействия с пользователем, так?

Хм, в конце строки есть еще комментарий: # SPHINXOPTS='--keep-going'. Это и делается?

★★★★★

Ведь вызов make ${target} не предполагает взаимодействия с пользователем, так?

make-у совершенно не важно, будет ли там взаимодействие или нет, он просто запускает скрипты, прописанные в Makefile. В них вполне может быть взаимодействие, преднамеренное или как следствие багов.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Даже вспомнил наглядный пример из линукса: make menuconfig. Что касается htmldocs то я не знаю где оно там и почему может быть, наверно можно поизучать Makefile.

Я помню что мне к каким-то прогам приходилось 2 или 3 раза прописывать < /dev/null иначе они некорректно работали, будучи вызванными из скриптов.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Сама цель, которая собирает HTML-документацию ядра, выглядит так (см. здесь):

htmldocs:
	@$(srctree)/scripts/sphinx-pre-install --version-check
	@+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var)))

Получается, будет выполнена команда sphinx-pre-install --version-check, а уж куда повернёт, зависит от её результатов. Надо подумать.

UPD: Ну, а касательно make *config – принимается, но там изначально рассчитано на взаимодействие с пользователем, который конфигурирует будущее ядро :)

yars068 ★★★★★
() автор топика
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от yars068

https://docs.kernel.org/doc-guide/sphinx.html ужас какой, там какую-то питономуть в ядро засунули, хоть и в документацию. Возможно они опасаются что оно может попытаться задавать какие-нить ненужные вопросы юзеру.

firkax ★★★★★
()

It directs stdin to /dev/null, often used to bypass interactive prompts in automated workflows.

какой-нибудь латех там останавливается на ошибках компиляции и спрашивает «ну, чо делать будем?» - вот и подпёрли

aol ★★★★★
()
Ответ на: комментарий от firkax

ничего не значит

… твой регулярный флуд почти в каждом треде.

Ты не увидел комментария?

Another example is the format command on Solaris. It gives you a lovely list of all the attached disks, but then sits there hanging till you choose one - which us not ideal if you want to parse the list from a script. Here again, you can use /dev/null and it will list the disks and exit if you do

format < /dev/null

Видишь «суслика»? А он есть, его не может не быть!

dataman ★★★★★
()
Ответ на: комментарий от dataman

Да, действительно есть, но ты это не уточнил.

То есть, даже видя что вопрос не о том, кто-то должен просматривать всю страницу с ответами не о том, в надежде найти среди этих ответов случайный оффтоп (там - оффтоп), но который зато окажется близок к теме тут? Сомнительный подход.

firkax ★★★★★
()
Ответ на: комментарий от dataman

Я, кстати, прочитал всю ветку там, она не такая и большая :) Просто я не сталкивался с таким поведением, поэтому и спросил.

yars068 ★★★★★
() автор топика
Последнее исправление: yars068 (всего исправлений: 1)
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария