LINUX.ORG.RU

linux-headers и его версии в gentoo

 ,


0

2

Узнал про существование пакета linux-headers и понял, что ничего не понимаю.

Я примерно понимаю, зачем оно в дистрибутивах с предоставляемым бинарным ядром, и даже понимаю, что версия ядра держится синхронизированной с версией пакета (а она держится, иначе в интернетах не было б кучи советов про apt-get install linux-headers-$(uname -r)). Но зачем оно в генте? Почему не используются исходники текущего ядра?

На самом деле, меня больше волнует другой вопрос: почему linux-headers и, например, gentoo-sources (или даже virutal/linux-sources) никак не связаны зависимостями? И почему множества версий linux-headers и того же gentoo-sources пересекаются только в нестабильной ветке (в моей версии дерева в стабильной ветке linux-headers только для ядра 4.3, а gentoo-sources вообще такой версии не имеет, ничего нет между 4.1.23 и 4.4.6)? У меня на машине хоть и не самая свежая, но, тем не менее, консистентная версия официального дерева: я её руками не ковырял, синхронизацию на середине не прерывал.

UPD:

Окей, допустим, я понял, что можно хотеть не иметь исходников ядра и иметь юзерспейсные хедера, и что первое генерирует второе. Но это не объясняет, почему gentoo-sources (или что угодно из той же оперы) и linux-headers не связаны зависимостями в дереве. Например, почему сорцы ядра не сделаны как билд-зависимость linux-headers? Наверняка же портаж умеет безопасно удалять никому не нужные билд-онли зависимости, и желаемый кейс вполне покрывается таким способом.

★★

Последнее исправление: devsdc (всего исправлений: 1)

Потому что исходники ядра и юзерспейсные хедеры ядра — разные вещи. Алсо держать на диске распакованные исходники ядра это тупость генты.

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

Тупость-не тупость, а для сборки модулей ядра нужны исходники этого самого ядра. Если не надо, то можно и удалить.

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

Давай исходники всех остальных пакетов ставить, чё. Распаковать во временный каталог и удалить после сборки это не по-пацански.

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

Что тебе в написанном мной не понравилось? Собрал мир, ядро, скомпилировал модули - удаляй дерево исходников ядра, больше оно не нужно.
А если надо, то и отладочную информацию оставлять приходится и даже исходники.

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

Не нравится что для всех остальных пакетов это делается средствами портежа — USE=debug и тд.

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

Давай исходники всех остальных пакетов ставить, чё

У меня так и происходит. Очень удобно для отладки и исследования используемых приложений/библиотек

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

Одно включает другое, нет?

И даже если внезапно нет, то они все равно же должны быть связаны друг с другом, и версии пакетов не с потолка берутся.

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

У меня ядро в генте ставится кастомным ебилдом без установки исходников, а петушок это ты.

а если пересобрать, добавить что-то, убрать что-то, поправить опции загрузки ядра CMDLINE=«» при использовании UEFI-загрузки без сторонних загрузчиков и очкования использования efibootmgr — что, каждый раз распаковывать сорсы? Куча пакетов используют сорсы, лень доказывать такие простые вещи. Ну и прочие операции по поддержанию цвета глаз.

slon
()
Ответ на: комментарий от devsdc

Не совсем, юзерспейсные генерятся по make headers_install. Связаны должны быть только тем, что желательно чтобы юзерспейсные были не новее ядра, но могут быть старше.

anonymous
()
Ответ на: комментарий от slon

Все остальные пакеты заново распаковываются — иди их исправляй.

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

юзерспейсные генерятся по make headers_install

Окей, допустим, я понял, что можно хотеть не иметь исходников ядра и иметь юзерспейсные хедера, и что первое напрямую не содержит второе. Но это не объясняет, почему gentoo-sources (или что угодно из той же оперы) и linux-headers не связаны зависимостями в дереве. Например, сорцы ядра как билд-зависимость linux-headers. Наверняка же портаж умеет безопасно удалять никому не нужные билд-онли зависимости.

Связаны должны быть только тем, что желательно чтобы юзерспейсные были не новее ядра, но могут быть старше.

Спасибо.

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

Продолжай тупить в угол, у тебя это лучше всего получается.

anonymous
()

портаж умеет безопасно удалять никому не нужные билд-онли зависимости

Умеет, --with-bdeps=n.

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

По большому счету, это выполняется не только для linux-headers (возможно, с разным «почти никогда»), но на зависимости больше нигде не забивают.

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

Я ответил только на то, что понял. Остальное комментировать не стал, чтобы не разжигать флейм в техразделе.

r3lgar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.