LINUX.ORG.RU

Как настроить /usr/src/Makefile, чтобы собирал нужное, а не всё-всё-всё

 , ,


1

1

Доброго Всем и вся!

Многоуважаемые форумчане, не даёт спокойно спать не найдённый ответ на следующий вопрос: как при вводе команды #cd /usr/src && make buildworld система не компилировала все пакеты для которых у меня скачены исходники, а компилировала бы только определённые пакеты или точнее, только те, которые нужны для работы системы?

Например, зачем мне собирать sendmail, если он мне не нужен?

Куда ковырять? В синтаксис главного Makefile или просто удалить каталог пакета с исходниками из /usr/src?

Спасибо!

Ответ на: комментарий от iron

А чем portsnap fetch extract не угодил?

Он на час-полтора старее, чем в/из Git.

А так можно синхронизировать порты:

cd /usr/ports/ && portsnap fetch update && pkg version -vIL = | grep "<"

И обновить установленные:

portmaster -ag
iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 2)
Ответ на: комментарий от iron

Выше уже написали. Попробуй ее сбилдить в системе 11.x. Поскольку это уже EoL, билд этой ветки на более новой версии сисемы и все возникающие ошибки никто не фиксит.

Бро, я так и делаю. Сделал svnlite checkout 11.2 версии в установленную версию 11.2.

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

NomadBSD развивают очень отзывчивые ребята: Lars Engels и Marcel Kaiser. Неплохой точкой входа может быть добавление русификации для установщика. Помимо этого на github куча открытых проблем. Сначала разберитесь со скриптами, соберите образ, загрузитесь с него и попробуйте использовать систему. Потом пишите в список рассылки.

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

Release Engineering Team имеет свою страничку: https://www.freebsd.org/releng/. Выход FreeBSD 13.2 запланирован на март. STABLE ветка содержит более стабильную (но разрабатываемую) версию операционной системы по сравнению с CURRENT. Релиз будет формироваться из STABLE ветки.

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

Так ты же писал что пытаешься ее собрать с 13.1…

Я писал вот что:

Не пойму почему? Потому что текущая версия фри 13.1 или потому, что у меня в системе, что-то не совпадает с исходниками? Версия системы 11.2.

Под текущей версией имелось ввиду, что 13.1 опубликована на freebsd.org как текущая. Версия системы (которая у меня установлена) 11.2

Сорян, неверно высказался, двойственно.

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

Неплохой точкой входа может быть добавление русификации для установщика.

Он используется раз в десять лет. А потом его отключают в /etc/src.conf и дальше переносят систему исключительно так:

cd /usr/src/ && chflags -R noschg * && gitup stable
cd /usr/src/ && make cleandir && make cleandir buildworld buildkernel
cd /usr/src/ && make installkernel installworld distribution DESTDIR=/mnt/...
iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 2)
Ответ на: комментарий от Ramirezkiv2

Может быть ты там openssl отключил из сборки? Попробуй без src.conf сначала собрать (удали содержимое /usr/obj чтобы заново без лишней возни), ну хотя бы подожди до того же момента - есть ошибка или нет.

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

Не надо страшилок, само собой ничего не сломается. Только новые фичи и багфиксы перестали добавлять. Возможно, какая-нить 4.х не запустится на новый процах, и то сомневаюсь.

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

13.2-STABLE это и есть та бета. На самом деле это 13-STABLE а .2 тут только для того, чтобы понимать, какой релиз из этого стейбла скоро получится.

Ничего не понятно, но очень интересно.

Остановился на 13.1 - пробую с ней собрать мир.

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

Текущая экспериментальная — ветка 14-CURRENT.

Текущая стабильная — ветка 13-STABLE.

Готовящийся релиз — 13.2-BETA2 (последний рабочий срез из ветки 13.2-STABLE).

Поддерживаемый релиз — 13.1-RELEASE (с исправлением критических ошибок — 13.1-RELEASE-pXX).

Текущая стабильная — ветка 12-STABLE.

Поддерживаемый релиз — 12.4-RELEASE (с исправлением критических ошибок — 12.4-RELEASE-pXX).

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

Исходники от релиза не обновлены.

Скачал 13.1 iso. При установке системы выбрал, чтобы поставили /usr/src. Поставилось.

То есть на 13.1 исходники для 13.1?

Если да, то есть ли смысл их обновлять до 13.2?

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

Потому что это релиз. Stable это ветка разработки, из которой иногда делаются снапшоты-релизы. Вторая цифра после точки это номер релиза, сделанный с этой ветки. После отделения релиза он становится отдельной веткой только для критических фиксов. 13.2 ещё нет, это только 13-stable, из которого готовятся сделать 13.2-release.

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

13-STABLE

13.2-STABLE

Не вводи в заблуждение, никакого 13.2-STABLE нет. Это просто дописали туда цифру чтоб понятнее было какой релиз готовят. Ветка называется 13-STABLE и только так.

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

Не надо страшилок, само собой ничего не сломается.

Т.е. заявление разработчиков о том, что данные версии больше не поддерживаются и следовательно не фиксятся ошибки - ты называешь страшилками?

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

Страшилки это твои заявления о том что всё перестанет работать.

А ты, я вижу, у нас мастер передергивать. Я говорил, что работоспособность никто не гарантирует, а ты мне приписал «что все перестанет работать».

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

Ты понимаешь что програмный код не портится от времени? Если он 2-10-30 лет назад был работоспособен, то и сейчас, в тех же условиях что тогда, он останется настолько же работоспособен. Никаких новых гарантий для этого не требуется.

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

Если он 2-10-30 лет назад был работоспособен, то и сейчас, в тех же условиях что тогда, он останется настолько же работоспособен. Никаких новых гарантий для этого не требуется.

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

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

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

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

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

Не путай «нашли ошибку» и «внедрили ошибку». Найденная сегодня ошибка в коде 30-летней давности была там все эти 30 лет. И все эти 30 лет он работал и всех устраивал. От того, что ошибка стала известна, он свои задачи хуже выполнять не станет.

За одним единственным исключением: ошибка связана с уязвимостью + система с этим кодом имеет контакты с публичной сетью. Но и тут тоже всё не так как ты сказал. Код не «протух» в момент открытия уязвимости. Код был плохим всегда, и надо проводить аудит за прошедшие 30 лет на предмет взломов. Потому как взломщики не обязаны ждать опубликования уязвимости для её эксплуатации.

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

Лучше разберись с 11.2 сначала, проблемы однозначно в твоём понимании а не в том что она устарела. Лучше бы его сразу уточнить пока наглядно всё.

Готово. На 11.2 мир пересобрался с нуля и без ошибок. Причина проблем в применении src.conf. Теперь я понял, что FreeBSD - монолит и как мир собирался целиком, так его дальше и надо собирать. Sendmail так sendmail.

Спасибо.

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

Смотря какая степень критичности ошибок и в каких компонентах найдены.

Почти во всех. Использование 11.2 в настоящий момент нецелесообразно в том числе из-за проблем с безопасностью (которые решены в последующих версиях).

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

Ты понимаешь что програмный код не портится от времени?

Да, код-то не портится. Но вот железо на котором он крутится со временем меняется. Даже если не учитывать вопросы безопасности, то что старая ОСь стабильно когда-то работала - не означает что она так же стабильно будет работать на новом железе или виртуалке (гипервизоре).

От того, что ошибка стала известна, он свои задачи хуже выполнять не станет.

Все верно. Только смотря какие задачи выполняет система. Если тебе на виртуалочке погонять или в локалке - можно брать любую, даже самую старую. А если использовать в проде и розовой попкой в инете - то тут лотерея: либо будет работать длительное время без проблем, либо уже через час придет робот, который по косвенным признакам определит устаревшую ОСь и «заэксплуатирует» уже давно известную (и следовательно, пофикшеную в поддерживаемых версиях) дыру в безопасности. Уж поверь, я такого за 20 лет администрирования серверов лин/бсд повидал немало.

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

Ты понимаешь что програмный код не портится от времени?

Как это не портится? Самым натуральным образом портится.

Если он 2-10-30 лет назад был работоспособен, то и сейчас, в тех же условиях что тогда,

Ключевая фраза «в тех же условиях». А на практике оказывается что чтобы создать те же условия нужно поменять компилятор на допотопный, потому что в коде триграммы и вообще зависимость на UB (не говоря уже о несовместимости с c++11 по умолчанию и -fno-common) причём собрать его нужно руками (понятно что пакетов нет, а если бы были они были бы несовместимы, порт давно не собирается с современным Mk/, а целиком старое дерево портов не работает с актуальной системой), потом окажется что компилятор не собирается по тем же причинам, поэтому приходится менять систему на допотопную, а это сразу риски безопасности, потому что она состоит из RCE и ping of death чуть более чем на половину. Но оказывается что и система не работает на актуальном железе от слова вообще, поэтому приходится искать на помойках древнее железо. А оно не совместимо с инфраструктурой ЦОД, поэтому приходится…

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

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

Как всё сложно...

Вот смотри, ты 30 лет назад установил себе на комп ОС и пачку игрушек. Спустя 30 лет ты можешь его включить и играть в всё те же игрушки без каких-либо проблем. Да, там уже есть и старое железо, и старые компиляторы, и старое всё - ты его установил 30 лет назад. Ни одной причины что бы то ни было обновлять (хоть железо, хоть софт) тут не найдётся, до тех пор пока электроника физически не выйдет из строя.

Что же касается скрещивания старого софта и новых ОС, то тут тоже всё просто: в ядре надо включить соответствующий COMPAT (они никуда не делись и с 4.х версий и вроде по дефолту включены в GENERIC) + можно поставить полный старый юзерспейс в jail-е и делать там всё то же самое что делал раньше.

firkax ★★★★★
()

Товарищи!

После долгих, упорных и продолжительных боёв мне удалось наконец создать загружающийся дистрибутив с FreeBSD на борту в формате iso-файла. Однако как бы я не старался водрузить на борт iso-шника графику в виде Xorg’а, display manager’а и Desktop Environment’а (Window Manager’а) - не получается её заставить работать.

SLIM (знаю, что он не поддерживается разрабами) загружается но не загружает ни один DE/WM - пишет «Failed to execute login command».

XDM загружается, но также не грузит графон.

SDDM показывает каноничный квадрат Малевича.

Но я то знаю, что существуют в природе live-дистрибутивы Linux’а с работающей графикой.

Я и proc монтирую в fstab’е на rw.

Не пойму куда копать дальше, чтобы графика заработала в iso-образе.

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

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

Я делаю Live-образы с драйвером xf86-video-vesa по умолчанию и ручным конфигом в /etc/X11/xorg.conf для Full HD экрана (на месте можно будет поменять и драйвер, и разрешение, если что).

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

Я делаю Live-образы с драйвером xf86-video-vesa по умолчанию и ручным конфигом в /etc/X11/xorg.conf для Full HD экрана (на месте можно будет поменять и драйвер, и разрешение, если что).

Вы хотите сказать, что нет никаких ньюансов в предподготовке DM и DE/WM? Всё дело в драйвере и конфиге X-сервера?

Просто на некоторых сборках графика отображается (SLIM, XDM), а DE/WM загрузиться не могут.

Ramirezkiv2
() автор топика