Ось, підкинули задачку, та й самому стало цікаво - під Ubuntu поки ще не ставив жодного пакета з вихідних. Чи не все ідеально і не оптимально, але результат більш ніж влаштовує. Поки влаштовує. Ну а що робити, якщо виникла необхідність зібрати пакет не зі стандартними, а з оптимізованими під систему параметрами? Або переписати частину коду? Відразу обмовлюся - вважається, що нам потрібна модифікація пакета, який вже є в репозиторіях. Отже ..
Для початку встановимо необхідні для збірки пакети:
$ Sudo apt-get install build-essential fakeroot dpkg-dev
У домашньому каталозі створимо папку для пакета над яким будемо працювати:
/ build cd
Перевіримо, що репозиторії з кодами доступні:
$ Grep deb-src /etc/apt/sources.list
$ Sudo nano /etc/apt/sources.list
$ Sudo apt-get update
$ Sudo apt-get source our_package
$ Sudo apt-get build-dep our_package
$ Dpkg-source -x our_package_version-revision.dsc
Для того щоб просто скомпілювати пакунок, треба перейти в каталог our_package_version-revision і запустити збірку:
$ Cd our_package_version-revision
$ Dpkg-buildpackage -rfakeroot -b
Якщо ж ми хочемо передати додаткові параметри для збірки (власне, для чого всю метушню і затіяли), наприклад "-enable-gui -enable-ai". визначимо змінну DEB_BUILD_OPTIONS:
$ DEB_BUILD_OPTIONS = "- enable-gui --enable-ai" fakeroot debian / rules binary
Після закінчення компіляції можна буде встановити отриманий пакет:
$ Sudo dpkg -i. /our_package_version-revision_arch.deb
Ось, власне, і все.