Возникла задача собрать deb пакеты Openvswitch на базе Debian 9.8. Сейчас я часто делаю подобные сборки ПО под определенную кодовую базу, поэтому данный пост я делаю в качестве заметки на будущее.
Вариант #1 (Original)
Качаем исходники:
1 |
git clone https://github.com/openvswitch/ovs.git |
Переходим в каталог:
1 |
cd ovs |
Выбираем ветку:
1 |
git checkout branch-2.10 |
Проверяем зависимости:
1 |
dpkg-checkbuilddeps |
Если выдает что чего то не хватает, то устанавливаем их командой:
1 |
apt install ... |
Сама сборка:
1 |
fakeroot debian/rules binary |
Чистка сборочного окружения ( опционально ):
1 |
fakeroot debian/rules clean |
Если почему то не идет сборка пакетов в результате ваших экспериментов сборкой, а чистка не помогает, то попробуйте сброс ветки:
1 |
git reset --hard |
Если все пройдет хорошо, собранные пакеты будут в папке на уровень выше.
Вариант #2 (Debian Mainters)
Качаем исходники:
1 |
https://salsa.debian.org/openstack-team/third-party/openvswitch |
Переходим в каталог:
1 |
cd openvswitch |
Просматриваем тэги:
1 |
git tag |
Создаем ветку из тэга и переходим в неё:
1 |
git checkout -b v2.10.0 |
Проверяем зависимости:
1 |
dpkg-checkbuilddeps |
Если выдает что чего то не хватает, то устанавливаем их командой:
1 |
apt install ... |
Сама сборка:
1 |
dpkg-buildpackage -B |
Чистка сборочного окружения ( опционально ):
1 |
fakeroot debian/rules clean |
Если почему то не идет сборка пакетов в результате ваших экспериментов сборкой, а чистка не помогает, то попробуйте сброс ветки:
1 |
git reset --hard |
Если все пройдет хорошо, собранные пакеты будут в папке на уровень выше.
Использованная литература:
https://wiki.debian.org/ru/DebianBuildPackages
https://www.debian.org/doc/manuals/maint-guide/build.ru.html