Calmira GNU/Linux(-libre) news
24 subscribers
39 photos
1 file
20 links
Calmira GNU/Linux(-libre) когда-то была моим pet-проектом. Но сейчас этот дистрибутив разросся в нечто большее.

GitLab: https://gitlab.com/calmiralinux
Наш чат по редактору Helix: @helix_ru_chat
Matrix: https://matrix.to/#/#calmlinux:matrix.org
Download Telegram
Calmira GNU/Linux(-libre) news
Тем временем начал тестировать сборочные инструкции временного инструментария. Пока всё дело компилируется, работаю параллельно над инструкциями для core-редакции системы. Сборка происходит автоматизированно, участие человека требуется, как правило, при возникновении…
Временный инструментарий собирается и функционирует адекватно. Параллельно работаю над сборочными инструкциями базовой системы, сделано около 75%. Почти всё из этого собирается без ошибок.

В релизе 2.0a2 уже будет система инициализации OpenRC. Система портов и cport пока текущие, параллельно с этим развивается новый стандарт портов и вторая версия cport, переписанная на Rust.

Точного графика выхода новых версий нет, релиз состоится тогда, когда всё будет готово. Но вообще хочется релизнуть в мае.
🔥3👍1
На этой неделе в Calmira GNU/Linux-libre №9

Период с 10 по 16 марта (прим. автора).

Эта недела вышла достаточно продуктивной. Всё ещё ведётся работа над второй версией менеджера системы портов cport, а параллельно с этим создаём сборочные инструкции для второго альфа билда Calmira 2.0 GNU/Linux-libre.

В этот билд войдут coreutils-9.1, gcc-12.2.0, glibc-2.37, linux-libre-6.1, bash-5.2. Менеджер системы портов cport останется первой версии.

На данный момент готовы сборочные инструкции для подготовки к сборке системы, для кросс компилятора и временного инструментария, частично готовы инструкции для сборки базовой системы (Calmira Core Edition), в будущем будут созданы скрипты для сборки расширенной системы (Calmira Extended Edition). Эта версия системы собирается полностью в автоматизированном режиме, участие человека требуется только в случае возникновения ошибок сборки.

Вторая версия МСП cport будет написана на языке Rust. В неё будет интегрирована автоматизированная система сборки дистрибутива.

#ThisWeekInCalmira
👍4
Точную дату начала работы над Calmira GNU/Linux(-libre) я сказать не могу. Точно - это апрель 2021 года. Тогда казалось, что всё плохое, тот же самый ковид, прошло и не вернётся.

LFS я интересовался и до этого, пробовал собрать что-то по восьмой версии руководства, но ничего особенного так и не получилось. Ну а в апреле 2021 наткнулся на русский перевод LFS 9.0 и решился таки собрать себе нормальный дистрибутив. У меня был старый ноут Asus K50IJ, на котором и планировалось этот дистриб использовать. Всякие Debian и прочие настолько задрали, что хотелось чего-то другого. Ну и плюсом спортивный интерес, как же. Хотелось же попробовать эту вашу LFS...

Поскольку опыта сборки ПО, а тем более опыта сборки своей системы у меня было крайне мало, с LFS я промучался около недели. Зато в итоге я получил полностью рабочую систему с иксами, оконным менеджером Fluxbox и каким-то доп. софтом. Так и появилась первая версия дистрибутива Calmira GNU/Linux. Архив с этой системой до сих пор лежит у меня на гуглодиске.

Поскольку точную дату начала работы над системой я не помню (да и точную дату релиза, поскольку его как такового не было), то будем считать этой датой 20 апреля 2021 года - тогда я ещё канпелял Calmira и наткнулся на ошибку сборки какого-то пакета. После чего написал в русскоязычном чате LFS об этом и как её можно исправить. А спустя несколько дней автор русского перевода LFS начал работать над руководством "Linux для себя" (lx4u.ru) - и Calmira GNU/Linux стала на какое-то время (версии 1.0 и 1.1) тестовым полигоном для этого руководства.

С тех пор система дико изменилась. Мы заменили систему инициализации SysVInit на более современный и удобный OpenRC (ожидайте в релизе 2.0), написали кучу всякой всячины для нашего дистрибутива: систему портов для распространения ПО, утилиту cport для управления ПО, работаем над calminstall и всякими прочими вещами.

Что интересно, за весь 2022 год мы не выпустили ни одного стабильного релиза системы. Окончательная версия Calmira 2.0 GNU/Linux-libre должна выйти осенью этого года.

UPD. В честь исполнения уже двух лет дистрибутиву создали комнату в Matrix: https://matrix.to/#/#calmlinux:matrix.org
Залетай
👍6🔥1
Опять выходные — и опять сборка Calmira GNU/Linux-libre.

Сегодня закончил создание сборочных инструкций для Core-редакции дистрибутива и перешёл к тестированию сборки используя эти инструкции. Количество пакетов в Core редакции несколько выросло по сравнению с прошлыми версиями Calmira GNU/Linux - добавились cmake, llvm, rustc и куча всякой всячины. В этом релизе мы наконец перешли на использование системы инициализации OpenRC. В том случае, если система с этими инструкциями соберётся, то будет возможность всё это дело протестировать.

Поскольку в минимальную редакцию было добавлено несколько довольно больших пакетов, то размер этой редакции несколько вырастет. На сколько - не могу сказать. Раньше система весила около 1 Гб, а сколько будет весить потом - ХЗ.

Пока не добавлял систему портов и cport. Всё это будет добавлено в будущих версиях. Тогда будет задействована старая версия cport (cport-v1.0), написанная на Python — вторая версия cport, написанная на Rust, пока не готова. Будет ли готова вообще - не знаю.

А пока вы можете ознакомиться со списком пакетов Core-редакции: https://gitlab.com/calmiralinux/cabs/build-scripts/-/blob/master/packages.toml
🔥6
В Calmira 2.0a2 GNU/Linux будет поставляться два вида ядер: обычное ядро Linux и Linux-libre от проекта GNU, очищенное от несвободных компонентов.

Поскольку число ПК/ноутбуков, на которых мы собираем и тестируем дистрибутив, ограничено, мы просим вас о помощи: пришлите в комментарии к данному сообщению вывод команды:

inxi -ACEGMN

(ознакомиться с исходным кодом программы inxi можно здесь)

Эта команда выводит сведения о железе компьютера. В вывод поступает следующая инф-ция:

1. Информация о ПК (имя, модуль, версия прошивки).
2. Информация о ЦП (модель, разрядность, частота).
3. Графика (видеокарты, драйвера на видеокарты, разрешение экрана).
4. Аудио (звуковая карта, драйверы, использование ALSA, PulseAudio, PipeWire).
5. Сеть (сетевые карты, драйверы).
6. Bluetooth (оборудование, драйверы).

Будет использована следующая информация:

1. Используемые ядром драйверы оборудования.
2. Какие драйверы нужно включать в первую очередь.
3. Следует ли оптимизировать работу дистрибутива на мобильных устройствах (ноутбуках, нетбуках).

Информация будет использована для включения драйверов нужных устройств в ядрах Linux и Linux-libre.

Если вы не хотите делиться с нами какими-то сведениями, то можете убрать их из вывода inxi.
👏6
Сборочные инструкции для базовой редакции системы всё. Мы их сделали и сейчас тестируем.

С 25 апреля пилим сборочные скрипты для расширенной редакции системы. Сейчас готовы скрипты для сборки Xorg и необходимых ему драйверов. В будущем будут написаны инструкции для сборки GTK 3, GTK 4, Xfce и части другого ПО.
🔥7👏1
Обновления сборочных инструкций

core.rustc 1.69 -> 1.70
core.cmake 3.25.2 -> 3.26.4
core.llvm 15.0.7 -> 16.0.4

На территории России наблюдаются проблемы в загрузке пакетов acl-2.3.1, attr-2.5.1, libpipeline-1.5.7 и man-db-2.11.2, для них (и, возможно, для будущих других пакетов) был создан отдельный репозиторий с архивами этих пакетов.
🔥3👍2
Тем временем собираем вторую альфа версию дистрибутива. Будет ли оно работоспособно или нет - большой вопрос. По крайней мере, в первой альфе у нас были какие-то проблемы с OpenRC, которые к Alpha 2 мы не исправили, ибо были другие более важные ошибки. Предполагаю, что придётся релизить третью альфу с кучей исправлений, в основном связанных с системой инициализации.

Сейчас мы тестируем только корректность сборочных инструкций. Ну и в этом билде будет поставляться две версии ядра: Linux-libre и обычное ядро Linux.

Вполне возможно, что эта версия Calmira GNU/Linux-libre выйдет в среду. Релиз обещает быть жирным, ибо в него включены пакеты LLVM 16, Rust 1.70, dhcp, wpa_supplicant и другие.
🔥4👍2
Calmira GNU/Linux(-libre) news
Тем временем собираем вторую альфа версию дистрибутива. Будет ли оно работоспособно или нет - большой вопрос. По крайней мере, в первой альфе у нас были какие-то проблемы с OpenRC, которые к Alpha 2 мы не исправили, ибо были другие более важные ошибки. Предполагаю…
Система портов и cport в данном билде стоят ради галочки. Сейчас мы переделываем как систему портов, так и cport для того, чтобы упростить их сопровождение и обслуживание. С тем, что есть сейчас, работать +- просто, но вот сопровождать это всё дело нам (поддерживать в актуальном состоянии, добавлять новые порты) - это очень сложно. Поэтому постепенно упрощаем и автоматизируем все эти процессы.

Сейчас проверил — билд, как и ожидалось, нормально не загружается, хотя в chroot можно зайти и работать. Добавили Rust, LLVM, SQLite3 и несколько наших утилит для настройки консоли (vcsetup и vcload). Дистрибутив постепенно "ржавеет" - наши мелкие утилиты и система сборки уже написаны на Rust, скоро к ним присоединится cport.

Текущая версия собиралась только для проверки двух вещей:

1. Работоспособность системы сборки.
2. Корректность сборочных инструкций, которые будут использоваться как в системе портов, так и для сборки последующих версий системы.

Завтра выложу как iso-образ системы, так и squashfs-снимок. (squahfs-снимок в ISO-образе, а ISO-образ по ссылке ниже, а ссылка ниже находится в следующем сообщении)
👍5
Forwarded from 
https://drive.google.com/file/d/1yst9sss_MNGAIH7SSqXPPB-ftlWaU93l/view?usp=sharing

Система сборки работает, инструкции в принципе все проходят. Образ нерабочий, по крайней мере с исошника не грузится. Хотя если распаковать и работать в чруте - признаки жизни подаёт
🔥3
Выходим из отпусков и с новыми силами продолжаем работу над приоритетными на данный момент задачами:

1. Система портов - постепенно переходим на вторую версию стандарта системы портов. ports-v2.0 приносит множество всевозможных изменений и улучшений в систему портов, связанных с добавлением новых функций и возможностей и повышение безопасности портов в целом.
2. МСП cport - весной этого года начал работу над прототипом cport-rs - версия cport, написанная на языке Rust. Летом стали работать над второй версией cport, которая полностью переписана на языке Rust. Теперь cport является набором программ и библиотек для управления ПО в Calmira GNU/Linux-libre.
3. Система сборки - новая система сборки дистрибутива входит в состав МСП cport. Есть несколько идей, которые вскоре будут реализованы. Например, в новой версии системы сборки планируется улучшить логирование и уведомления о прогрессе сборки ПО, а также добавить возможность восстановления сборки с места предыдущего завершения. Кроме того, не нравится, что система сборки, несмотря на то, что она очень многое автоматизирует, всё равно требует постоянного участия человека в своей работе.
🔥6
Calmira GNU/Linux(-libre) news
Выходим из отпусков и с новыми силами продолжаем работу над приоритетными на данный момент задачами: 1. Система портов - постепенно переходим на вторую версию стандарта системы портов. ports-v2.0 приносит множество всевозможных изменений и улучшений в систему…
Теперь cport при просмотре инф-ции о ПО выводит куда меньше ненужной информации. Пользователю выводится только то, что ему действительно необходимо.

Для проверки того, какие зависимости присутствуют, а какие отсутствуют (раньше статус зависимостей выводился зелёным, красным и белым цветом), используется опциональный ключ --check-deps/-c.

(фото 1 - было, фото 2 - стало, фото 3 - проверка наличия зависимостей в новом cport)
🔥7
Ведётся работа над cport_cli. Пишем библиотеку libmsg для формирования CLI/TUI интерфейса.
👍6
В октябре-ноябре выйдет версия 0.2.0 программы mkport, предназначенной для автоматизации создания новых портов. Из изменений по сравнению с версией 0.1.0:

- Реализован механизм блокировок. Теперь можно собирать только один порт за раз. Это сделано для того, чтобы избежать конфликтов и иных проблем как с самим mkport, так и с собираемыми программами.
- Добавлены окна для настройки mkport.
- Добавлена проверка на корректность ввода запрашиваемых параметров. Теперь если пользователь не указал какие-либо данные либо указал их в неверном формате, mkport укажет, что конкретно нужно исправить.
- Изменён формат указания зависимостей порта. Теперь для разделения нескольких портов между собой используется символ пробел ( ), а не запятая (,).
- Изменён внешний вид программы. Стали использовать крейт libmsg для формирования пользовательского интерфейса. Отказались от боковой панели и изменили цветовую схему. Скриншот старой версии программы см. в комментариях к этому сообщению.

#cport #mkport
🔥51👍1