Узнал про существование пакета 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? Наверняка же портаж умеет безопасно удалять никому не нужные билд-онли зависимости, и желаемый кейс вполне покрывается таким способом.