Назад | Перейти на главную страницу

Легко подделать вывод lsb_release для разных версий

Я часто перестраиваю программные пакеты (в основном Debian) для более старых версий (как Debian, так и Ubuntu, включая oldoldstable). Некоторые из этих пакетов используют lsb_release команда для определения текущего распределения, чтобы изменить поведение, Build-Depends, и т.д.

У меня есть настройка cowbuilder с несколькими дистрибутивами и архитектурой ЦП, но для подготовки исходных пакетов (которые затем создаются в чистой среде, соответствующей целевому дистрибутиву) мне все равно нужно сделать что-то вроде:

dpkg-source -x openjdk-7_7u55-2.4.7-1~deb7u1.dsc
cd openjdk-7-7u55-2.4.7
dch --bpo
dpkg-buildpackage -S

В dpkg-buildpackage -S шаг создает источник пакет (*.dsc и отсортированные файлы) после запуска чистой цели (которая восстанавливает debian / control во многих пакетах). Но для этого lsb_release вывод должен быть, например, squeeze или даже lenny.

Из моя работа над Debian / m68k Я знаю, что могу создать /etc/lsb-release файл, содержащий магические, недокументированные строки для управления выводом lsb_release, который иначе смотрит, например, на APT sources.list файл, preferencesи т. д. для определения распределения. Но нет простого способа сделать выходной файл зеркалом другого существующего дистрибутива.

Есть ли у кого-нибудь набор таких файлов для зеркалирования целевого дистрибутива?