С появлением GCC 6 в Fedora 24 у мэйнтейнеров и простых пользователей Fedora возник вопрос - а что там такого нового, что ничего не работает? Нового много!

Если же вам скучно читать список изменений, и подсказку по сборке ПО с новым GCC, то наши коллеги уже пару недель объясняют более доходчиво. Например, статья от Mark J. Wielaard, статья от Jeff Law, и статья от Richard Henderson.

Мы отметим следующие новшества:

  • Переход на c++14 по умолчанию (предыдущие версии можно переключиться с помощью флагов компилятора).
  • Scalar Storage Order. Это способ указать byte-order при описании структуры, и при дальнейшем обращении с ней компилятор будет автоматически добавлять код для конвертации endianness. Порой может быть удобно, но специфично для конкретного компилятора. С битовыми полями, к сожалению, применять не получится.
  • Предупреждения о misleading identation в коде.
  • Предупреждения, когда объект сравнивается с собой же. Например, if (point.x < 0 || point.x < 0)... или while (res > res)... - тут, вероятно, опечатка, и теперь компилятор укажет на это. Тоже самое, если в If..Else..If блоках будут повторяющиеся условия, то компилятор укажет на них.
  • Компилятор теперь проверяет корректность операций побитового сдвига. По умолчанию предупреждает о сдвиговых операциях над отрицательными числами, и о слишком больших сдвигах (выходящих за пределы размера переменной, например, сдвиг на 30 байт 32-битного числа 10 потребует как минимум 35 битов). Можно включить и предупреждение о сдвигах за пределы знаковых переменных.
  • Дополнительная проверка на разыменование нулевого указателя.
  • Offloading.


Твой ход, LLVM!

Кстати, а вы уже ознакомились с рекомендациями для современных C-программистов?

Снова настало это время. Наши коллеги начали пересборку всех пакетов в Fedora с помощью нового GCC 6 (будет фичей будущей Fedora 24). Пока результаты обескураживают - вместо ожидавшегося одного процента поломок, сломалось почти три процента пакетов. В нашем списке рассылки необычно большое количество зашедших в тупик мэйнтейнеров, которые попытались самостоятельно справиться с ошибками - навскидку, один, два, три, четыре, пять, шесть. Прорвемся, конечно.

Как обычно, результаты наших усилий пойдут на пользу и другим дистрибутивам, которые когда-нибудь тоже перейдут на GCC 6. Кстати, в этой пересборке всего сломалось чуть меньше 10% пакетов (как и обычно), но значительная часть поломок не имеет отношения к переходу на GCC 6, а связана с застарелыми проблемами в ПО, которым никто не пользуется. Эти пакеты, которые поломались не из-за GCC 6, видимо будут скоро выброшены. Мы, в отличие от других дистрибутивов, не гонимся за огромными числами предоставляемых пакетов, среди которых много мусора, которым не только никто не пользуется, но и который давным давно уже поломан.

Dan Williams официально объявил, что NetworkManager полностью перешел с использования устаревшей библиотеки dbus-glib на современную альтернативу - GDBus. Задача решена в основном усилиями уже известного вам Dan Winship. Для подавляющего большинства пользователей изменение будет незаметно. К сожалению, некоторые legacy-апплеты потребуется переделать. Для этого разработчики предлагают использовать библиотеку libnm, которую как раз и создали на этот случай. В процессе перевода некоторых компонентов на использование libnm, удалось заметно сократить их кодовую базу, заодно приобретя юнит-тесты, сократив цепочку зависимостей, и полагаясь на более правильный API.

В последнее время NetworkManager быстро разрабатывается, получая все новые и новые десктопные функции. Появился улучшенный поиск Wi-Fi сетей, реализована улучшенная защита от отслеживания в Wi-Fi сетях (рандомизация MAC-адреса при сканировании). Последняя фича тоже была подсмотрена нашими коллегами у лидеров по юзабилити, придумавших не один хитрый трюк, у компании Apple. Кстати, помните, как они сумели добиться получения DHCP-адреса менее, чем за секунду, а наши коллеги потом разработали свой вариант, превзошедший решение Apple?

Так же нужно отметить долгожданное появление т.н. "Airplane mode" - это уже не NetworkManager, но функционал был давно ожидаемый. Вокруг стабилизирующейся платформы рабочего окружения в Linux тоже начали появляться интересные проекты - например, появилась возможность экспортировать настройки NetworkManager в виде QR-кода. Было сложно скопировать настройки с вашего компьютера на телефон? Теперь это элементарно! Надо лишь знать Python.

Дружественная нам компания Igalia, разработчик GNOME, объявила о наборе студентов на практику. В рамках Igalia Coding Experience Program студенты получат так нехватающий многим опыт разработки открытого ПО, и небольшие, но неплохие для студента, деньги (до 10 евро за час, что может вылиться в 5000 евро за три летних месяца). Нет ничего лучше, чем променять скучное лето с танцами, морем, солнцем и новыми знакомствами, на программирование открытого ПО в уютных подземельях датацентров под управлением разработчиков, широко известных в узких кругах OSS-энтузиастов!

Специалисты Igalia предлагают на выбор следующие направления:

  • Мультимедиа. Обработка аудио и видео с помощью GStreamer в веб-браузере.
  • Компиляторы. Дальнейшая разработка V8.
  • Сетевая подсистема. Реализация ряда RFC.
  • W3C. Реализация фич CSS и покрытие тестами в веб-движках.
  • Web-приложения. Это будет в основном работа со стеком LAMP над приложением PhpReport.


Для участия в программе нужно зарегистрироваться!

Кстати, сейчас многие компании заметили недостаток студентов с опытом разработки и использования открытого ПО, в т.ч. и Red Hat, так что мы полагаем, что подобные программы будут появляться и дальше. Так что если вы не попадете сюда, не надо расстраиваться - будут и еще варианты. Например, на подходе очередной GSoC - Google Summer of Code 2016!

Как все знают, недавно было совершено открытие мирового значения - международная группа ученых на деньги США сумела провести эксперимент, доказавший существование гравитационных волн. Эксперимент велся с использованием большого количества открытого ПО, включающего не только готовые компоненты и существующие платформы (пересборки RHEL), но и самописное ПО. Наш коллега, инженер Red Hat, Zeeshan Ali, с большой гордостью отмечает, что GStreamer использовался, как фреймворк для создания системы обработки научных данных.

Наш коллега, разработчик LibreOffice, Caolán McNamara в своем блоге похвалился текущими успехами в разработке. Первое, это, конечно, поддержка новых тем в GTK 3.19. Изменение сделано в рамках перевода LibreOffice на GTK3. Затем, также благодаря переходу на GTK3, удалось реализовать Drag-n-Drop. И в-третьих, это поддержка видеопроигрывания в Wayland с помощью GStreamer. Т.к. пока не все медиаплейеры поддерживают Wayland, то можно будет использовать для этого LibreOffice.

Вообще, интерес к LibreOffice только растет. Сейчас его трансформируют в платформу, на которой можно легко (ну, относительно) реализовывать сложные задачи документооборота. Например, недавно наши друзья из Kolab объединились с еще одной дружественной нам компанией, Collabora, и объявили о совместной работе над облачной платформой документооборота. Импортозамещение!

Наш коллега, участник проекта Fedora и разработчик Bitcoin, Jeff Garzik, объявил о новом биткойн-проекте - Bloq. В его рамках он предлагает услуги заказной разработки технологий на базе блокчейна и услуги техподдержки. За модель он взял Red Hat, которая предлагает примерно то же самое, но не для биткойна.

А что же его предыдущий космический стартап? Там пока дела идут неважно, т.к. оборудование оказалось дороговато, затем подвели смежники с недорогими расценками на вывод грузов (а на качественные услуги Роскосмоса денег совсем нет). И проект пришлось заморозить. К сожалению, многообещающая частная космонавтика пока лишь портит и ломает свои ракеты под издевательский хохот из-за стен Кремля, и полагаться на нее пока не получается.


Владелец частной космической компании рассказывает о том, как обстоят дела с аварийностью пусков


Вообще, денег конкретно на Bitcoin стали выделять меньше. А вот blockchain наоборот испытывает подъем интереса. Пока в РФ его собираются запретить, ряд ведущих финансовых институтов и компаний-разработчиков создает свой глобальный "биткойн" для государств и финансовых компаний, лишенный опасной для простого человека свободы, открытости и расширяемости, и подконтрольный ответственным людям, а не какому-то там "коммьюнити". Обещают скоро выложить какие-то исходники на GitHub.

Если серьезно, то мы начинаем понимать, почему представители крупного бизнеса не очень горят желанием использовать уже существующую реализацию блокчейна (Bitcoin). Дело даже не в технических, а в социальных моментах. Сообщество Bitcoin, как оказалось, это причудливая смесь из криптоанархистов с одной стороны и control freak-ов, прямо как из порнографических BDSM-фильмов, с другой. Посередине есть немного обычных людей - стартаперов и энтузиастов технологии. Например, есть объяснение тому, почему в Bitcoin нельзя использовать system-wide библиотеки. С их т.з. нелегально пересобранный Bitcoin-клиент может разрушить сеть, и поэтому они хотят контролировать сборку клиентов, которыми подключаются к этой сети свободных транзакций. Собственно, это и есть причина, почему официального Bitcoin-клиента все еще нет в Fedora, и почему возникли проблемы у ряда альтернативных клиентов, написанных, например, на Erlang. Мы не задаемся вопросом, что же это за сарай они спроектировали, который может обвалить неправильно собранное клиентское приложение - тут высшая математика и мудреная криптография, которая, как они говорят, недоступна всякому плебсу, но зато прекрасно понимаем, почему крупный банкинг технологию blockchain изучает и пробует внедрять кастомизированные реализации, а вот сам Bitcoin использовать не спешит.

Группа Kronos объявила о выходе спецификации Vulkan 1.0. Новость уже перевели и обсуждают на OpenNET.ru.

По словам нашего коллеги, Adam Jackson, Vulkan относится к OpenGL также, как и Wayland к X11. Драйверы есть у всех проприетарных вендоров, а у Intel уже есть открытый вариант. Наши друзья из Collabora уже объявили, что Wayland будет полностью поддерживать Vulkan. Из тулкитов, поддерживающих Vulkan, судя по всему Qt и тут будет в лидерах.

На прошедшем недавно FOSDEM 2016 была обзорная презентация о Vulkan, так что кому интересно, то обратите внимание:



Fedora будет поддерживать Vulkan, и его уже можно попробовать. Пока не без шероховатостей, к сожалению.

И напоследок, раз уж заговорили о Wayland, то из забавного - для Wayland разработали сетевую прозрачность и намереваются добавить в upstream. Только мы всем доказали, что сетевая прозрачность, это устаревшая концепция, и в Wayland она не нужна, и нате вам! Из более полезных мелочей - наш коллега, автор Xfce и инженер Red Hat, Olivier Fourdan, предложил патч, который добавляет в Xwayland поддержку X-Video.

Инженеры Red Hat и Google обнаружили, что ошибка переполнения буфера в резолвере Glibc, о которой сообщили полгода назад, действительно является ошибкой переполнения буфера. Ну, бывает, что.

Проблема человеческим языком объясняется на OpenNET.ru, а если хочется по-технически, то наш коллега, Carlos O'Donell, подробно разъяснил печальность происходящего. Специалисты Google уже предложили пример использования этой уязвимости, с необходимыми пояснениями. Для эксплуатации уязвимости многого не нужно. Например, на своем домене поднимите DNS, и выложите где-нибудь на линуксовом сайте ссылку, да так, чтобы запрос прошел через ваш DNS - вот и все! Коллеги-аналитики также заметили, что по умолчанию SSH постоянно что-то резолвит в обратную сторону (порой эту функцию отключают, т.к. тормозит соединение при неправильно настроенных DNS, но могут и не отключать) - можно и тут придумать что-нибудь. Ну и куча десктопного ПО постоянно резолвит домены - от почтовиков, до торрент-клиентов и ПО для Bitcoin. Так что получилась очень кудрявая уязвимость.

Проблему легко было бы исправить правильно настроенным локальным DNS-резолвером, к которому (и только к которому) и обращалась бы функция в Glibc, но даже в Fedora такая фича постоянно переносится с релиза на релиз. Последний раз ее планировали включить в Fedora 22, а теперь перенесли на Fedora 24. Архитектурно оказалось слишком хрупко, и тут мы ждем помощи от разработчиков systemd с их networkd и resolved. А вы думали, они просто так компоненты интегрируют в систему?

Upd: коллеги-аналитики подсказали, что Android в безопасности, т.к. там не используется Glibc.

За простым и понятным названием скрывается интересное мероприятие, которое состоится с 7 по 9 марта в Москве, в офисе наших друзей из Mirantis:

Поучаствовав в проекте, вы можете помочь сделать релиз Mitaka более стабильным. Присоединяйтесь к Intel, Rackspace, Mirantis, IBM, HPE, Huawei, CESI, SUSE и другим участникам «всемирной охоты на баги». 7 — 9 марта 2016 года в московском офисе компании Mirantis будет организован российский хаб глобального OpenStack Bug Smash к релизу Mitaka. В России дни проведения Bug Smash в этом году совпадают с празднованием Международного женского дня. Обычно 8 марта мужчины совершают традиционные подвиги: моют посуду, делают уборку, дарят женщинам цветы… Хотя исторически этот праздник посвящен борьбе женщин за равноправие. Так что мы приглашаем мужчин расширить список праздничных подвигов уборкой не только дома, но и в программном коде релиза Mitaka, а женщин призываем на практике продемонстрировать равенство (или превосходство) в навыках создания открытого кода OpenStack.

Global OpenStack Bug Smash Mitaka проводится для того, чтобы:

  • участники OpenStack-проектов по всему миру могли собраться одновременно и устранить как можно больше багов;
  • привлечь новых контрибуторов в OpenStack: организаторы считают, что bug fixing — это идеальный старт для вашей активности в OpenStack.


Регистрация (бесплатная) открыта до 00:00 19 февраля (по московскому времени). Подтверждение регистрации будет автоматически направлено на указанный вами e-mail. Обратите внимание: мероприятие предполагает только очное участие.

Страницы