Заказчик требует отечественную ОС
В документации закупки появилась строка про Astra Linux или РЕД ОС, а продукт много лет жил на Windows.
Доводим ваш продукт до состояния, в котором он собирается, ставится и работает на Astra Linux и РЕД ОС: разбираем зависимости, переписываем то, что привязано к Windows, собираем пакеты deb и rpm, настраиваем автотесты и сборку на целевой ОС. Работаем на ваших стендах и в вашем репозитории, сборочный конвейер остаётся у вас: следующую версию ваша команда собирает без нас. Сертификацию и подачу в реестр ведёт правообладатель, то есть вы: мы готовим продукт к ней.
Обследование продукта — 200 000 ₽, 2–3 неделиИсходники и сборочный конвейер остаются у васПодачу в реестр ведёте вы
В документации закупки появилась строка про Astra Linux или РЕД ОС, а продукт много лет жил на Windows.
Сборка держится на окружении конкретного разработчика. Портировать нечего, пока непонятно, как продукт вообще собирается.
На обычной сборке работает, на защищённой при включённых механизмах ОС молча не запускается. Условия проверяем по документации вашей редакции.
Приложение не может прочитать или записать то, на что рассчитывало, и в журнале это не похоже на проблему прав.
Библиотека, которая на Windows ставилась одной командой, в репозитории целевой ОС отсутствует или лежит в другой версии.
WinForms, WPF и Win32 на Linux не запускаются. Это самая недооценённая часть работы, и её видно только после разбора.
Типовые места, где продукт ведёт себя иначе. Что именно затронет ваш, видно после обследования. Построчный список проверок — в чек-листе для разработчика.
/opt, /etc, /var/lib, /var/log), права файлов в пакете, окончания строк в скриптахОценки качественные: объём работы называем только после разбора вашего кода.
Один исходный код, один сборочный конвейер, два формата пакета. Описание сборки живёт в вашем репозитории.
debian: control, rules, скрипты установки.specconfig(noreplace)lintian и установка на чистую машинуrpmlint и установка на чистую машинуЦены — по тарифам. Обследование вычитается из следующего этапа. Остановиться можно после любой ступени, всё сделанное остаётся у вас по акту.
Инвентаризация языков, зависимостей и сборки, поиск обращений к Windows API, пробная сборка на целевой ОС. На выходе: что переносится сразу, что придётся переписывать, вилка бюджета. 2–3 недели.
Сборка, пакет и запуск ключевого сценария на одной ОС, автотест установки и запуска. Для продуктов на переносимом стеке. 2–8 недель.
Сложные продукты: переписывание частей, привязанных к Windows, обе ОС, стенд защищённой редакции, интеграция в ваш конвейер. 2–3 месяца.
Портирование продукта целиком по этапам со своей приёмкой: конвейер сборки и тестов на целевых ОС, документация, передача команде. От 3 месяцев.
Поддержка новых версий целевых ОС и новых выпусков вашего продукта: пересборка, проверка, правки. Три пакета по часам.
Разбираем состав продукта и сборку, пробуем собрать на целевой ОС, находим обращения к Windows. Согласуем целевые ОС и редакции: портирование под одну и под три ОС отличается по объёму.
Собираем пакет, ставим на чистую машину, запускаем от непривилегированного пользователя и проверяем ключевой сценарий. Фиксируем автотест установки и запуска.
Сборка и тесты на целевых ОС в вашем конвейере, пакеты deb и rpm, внутренний репозиторий, подпись. Описание сборки лежит в вашем репозитории.
Замена обращений к реестру, службам, COM и Win32 средствами ОС или переписывание частей. Интерфейс на WinForms и WPF переписывается отдельным этапом.
Стенд защищённой редакции с включёнными механизмами, подпись собственных сборок, РЕД ОС и дополнительные версии. Сценарии проходят на каждой заявленной ОС.
Исходники, рецепты пакетов, перечень зависимостей, порты, каталоги, порядок установки и обновления. Ваша команда собирает следующую версию без нас.
Готовность проверяется предметами, а не заявлением. Для каждой целевой ОС и редакции проверяется следующее:
Заключение о совместимости выдаёт производитель ОС по своей программе. Мы доводим продукт до состояния, когда его выдают, и готовим материалы. Подробнее о соотношении технической части и реестра: реестр отечественного ПО.
systemd-analyze verifyПродукт поставляется на защищённую редакцию, а проверен на обычной. Защитные механизмы проявляются только на стенде нужной редакции с включённой политикой.
Бинарник, собранный на новой версии системных библиотек, не запустится на старой. Сборку нужно вести на самой старой из целевых версий.
Продукт запускается из каталога, но не ставится и не обновляется. На приёмке выясняется, что настройки теряются при обновлении.
Стадии работы: от инвентаризации до тестов в конвейере, с признаком готовности для каждой.
Замкнутая программная среда, мандатный доступ, оборудование и разные стеки приложений.
Какую часть требований закрывает портирование, а какую решает правообладатель.
Короткий созвон: на чём написан продукт, под какие ОС и редакции нужно, есть ли у вас сборочный конвейер.
Точная цена называется за обследование одного продукта: 200 000 ₽. Дальше вилка: лёгкий пилот 150 000–400 000 ₽, тяжёлый 400 000–1 200 000 ₽, вывод в продуктив от 1 500 000 ₽ этапами по 300 000–700 000 ₽. Обследование вычитается из следующего этапа.
Срок называем после разбора зависимостей: пока не видно, на чём написан продукт и от чего он зависит, любой срок будет взят с потолка. Для ориентира по тарифам: лёгкий пилот занимает 2–8 недель, тяжёлый 2–3 месяца, вывод в продуктив от трёх месяцев.
Нет. Мы готовим продукт: сборка, пакеты, совместимость, документация и материалы для заключения. Заявку подаёт и процедуру проходит правообладатель, заключение о совместимости выдаёт производитель ОС по своей программе.
Это не портирование: продукт остаётся Windows-программой со своими ограничениями по поддержке и безопасности. Допустим ли такой вариант у вас, зависит от требований заказчика и производителя ОС. Мы такой путь не строим, мы делаем нативную сборку.
Да. Без исходников и без возможности собрать продукт портирование невозможно. Если сборка не воспроизводится, начинаем с этого: сначала добиваемся, чтобы продукт собирался в конвейере.
Они не переносятся на Linux. Интерфейс переписывается, а логику, как правило, удаётся сохранить. Объём работы называем после обследования: он зависит от числа окон и от того, насколько логика отделена от интерфейса.
Проверяем продукт на стенде нужной редакции с включёнными защитными механизмами, а не на обычной сборке. Особенности мандатного доступа и замкнутой программной среды сверяем с документацией вашей редакции, подпись сборок согласуем с владельцем контура.
Да, и так обычно дешевле. Один исходный код и один конвейер дают два пакета: .deb для Astra Linux и .rpm для РЕД ОС. Список целевых ОС и редакций согласуем на обследовании.
Исходники, сборочный конвейер, рецепты пакетов, перечень зависимостей, документация и стенды. Следующую версию ваша команда должна собрать без нас, иначе портирование превращается в подписку на подрядчика.
Мы в Ростове-на-Дону, работаем с заказчиками по всей России: удалённо и в вашем контуре. Доступ к системам и обследование согласуем на старте с вашей службой безопасности.