LINUX.ORG.RU

Мы для этого docker используем. Он, конечно, говно то ещё, но в данном случае с задачей справляется.

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

Главная фича докера - он позволяет виндузятникам собирать кошерный deb-пакет для arm debian'а по нажатию кнопки build в визуал студио.

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

Не только виндузятникам. Мы в докер-контейнерах таскаем тулчейны чтобы не настраивать их на каждом сборочном сервере.

hateyoufeel ★★★★★
()

этот цирк с совместимостью закончится путём Solaris11

То есть, RHEL сдохнет?

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

У нас веселее. Я в докер контейнер закинул qemu-user-static, и окружение для компиляции deb пакетов. в итоге make запущенный на винде пробрасывает каталог в контейнер, вызывает dpkg-buildpackage, который перевызывает мейк и собирает пакет.

Так что в итоге софт собирается в докер контейнере, gcc запущенным через qemu-user-static, в докере запущенном на линуксе, который запущен в virtualbox'е, который запущен на винде. Где-то тут должна быть картинка «мои вкусы очень специфичны, ты не поймешь...».

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

В том-то и дело, что нет. dpkg-cross недопиленный пока еще, некоторые multiarch либы в системе могут все поломать, поддержки dpkg-cross нет в jenkins (debian-package-builder). С dpkg-cross у меня было уже много извращенной любви, в итоге понял, что пока не вариант. Через пару-тройку лет может и допилят, но не сегодня.

Вариант с кросс-тулчейном для винды при помощи crosstool'а мы использовали давно, но:

1. canadian cross c линукса на винду падает на середине, и его по ходу дела приходится подпатчивать руками, чтобы собрался.

2. Если софт тянет 100500 зависимостей, с которыми надо линковаться (причем с версиями, которые в debian) - их все надо поместить в sysroot тулчена, а это задолбаешься руками конпелять, фактически будешь выполнять работу пакетного менеджера

3. Винду надо (по-хорошему) переводить в case-sensitive режим, так как в итоге есть хедеры, которые отличаются только регистром в имени, а это потенциально на виндах ломает другой софт в самых неожиданных местах (facepalm)

А так через докер получается тормозное, но рабочее окружение для инвалидов. Все рады.

P.S. Самое забавное как я эту связку docker+qemu-user-static+debian-package-builder для CI к jenkins прикручивал, чтобы на выходе сразу репозиторий с пакетами был... Вот уж где был кошмар и извращения.

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

Мы в докер-контейнерах таскаем тулчейны чтобы не настраивать их на каждом сборочном сервере.

То есть, у вас есть один заранее настроенный контейнер, который просто перекидывается на каждом новом сервере? Удобно!

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

Ага, тоже это вспомнил, когда cmake внутри такого контейнера рандомно (один из 10 запусков) вешался на рандомном месте, становясь zombie (рейс кондишн в qemu с обработкой SA_RESTART). Обычно не очень раздражало, но когда собирает все jenkins с хитрым пайплайном и запусков cmake-а дофига, в одном месте сборка обязательно фейлилась...

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

А можно мне таких же веществ, только чтобы я сидел в виме в линуксе в подмонтировоном каталоге, где проект для infineona, который собирает Keilv5 (честно купленный) который крутится в венде, которая сидите в яйце, яйцо в зайце, заяц в утке. И что бы по F2 компелялось, а по F3 по JTAG-у заливалось на целевую платформу.

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

Это уже другие вещества нужны. Например сборка на SAMBA шаре с перевызовом мейка на удаленной винде по телнету ;)

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

Есть одноплатник МВ77.07 армовый. (да и любой другой). Если на нем debian/raspbian, тебе надо кросс-компилить пакет который там будет работать и который тянет овер9к зависимостей - это кривой, но самый простой способ как оказалось.

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

Есть одноплатник МВ77.07 армовый. (да и любой другой). Если на нем debian/raspbian, тебе надо кросс-компилить пакет

Этого достаточно.

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

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от nexfwall

Достаточно для чего?

P.S. Боюсь, если я расскажу, как я jenkins, docker, qemu-arm-static и aptly скрещивал для получения полноценного CI, который на выходе дает nightly прошивки с debian/raspbian и репозиторий с пакетами сразу под armel, armhf, i386 и amd64, то боюсь тут вообще будет взрыв мозга ;)

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

Достаточно для ответа. Что тебе надо под ARM на Распберри собрать пакет, и для этого костыли.

P.S. Боюсь, если я расскажу, как я jenkins, docker, qemu-arm-static и aptly скрещивал для получения полноценного CI, который на выходе дает nightly прошивки с debian/raspbian и репозиторий с пакетами сразу под armel, armhf, i386 и amd64, то боюсь тут вообще будет взрыв мозга ;)

Ну давай. Я пока целофаном всё обстелю, чтобы ничего не испачкать.

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

Насрать. Они уже разработали свою задницу до стадии входа туда баскетбольного мячика. Обратно вряд ли уже срастется. Так что, таперча это не дебиан, а дебилиан.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от nexfwall

Ну ты это, если критикуешь, предлагай альтернативы сразу.

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