Сайт | Скачать | Видео | Wiki

Автор Тема: Компиляция в Debian  (Прочитано 5954 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33585
  • Репутация: +228/-0
  • Автор темы
    • PuppyRus-A
Компиляция в Debian
« : 26 Июль 2019, 14:41:17 »
https://habr.com/ru/post/282217/
https://wiki.debian.org/ru/DebianBuildPackages
Сборка на двух ядрах: dpkg-buildpackage -j2
Для пропуска тестов надо установить переменную среды:
DEB_BUILD_OPTIONS="nocheck"
Или записать в файл .bashrc :
export DEB_BUILD_OPTIONS="parallel=2 nocheck"
parallel=2 - к-во ядер Вашего CPU
Обязательные файлы в каталоге debian

В DDR необходимо подключить модуль DEVX*.pfs (содержит build-essential и пр.)
1. В /etc/apt/sources.list в строках debian и debian-security раскомментировать строки deb-src
2. sudo apt-get update

Перекомпиляция пакета из Debian
Например в репе пакет под gtk3 а Вам надо gtk2
3. apt-get source package1
4. apt-get build-dep package1 (удалить потом так)
5. cd package1-dir
5a. добавляем свой patch (если это нужно) : в каталоге debian создаем каталог patches
В него складываем патчи с расширением .patch и добавляем (создаем) в список патчей patches/series свой патч (имя файла патча без пути)
6. Правим конфиги в папке debian
7. DEB_BUILD_OPTIONS="parallel=2 nocheck nodocs" dpkg-buildpackage -us -uc

Компиляция пакета из src
3. Скачать исходники (src) через git, браузер и т.п., распаковать
4. Доустановить необходимые для сборки пакеты -dev*.deb. Самое сложное. Какие нужны - узнать из доки программы или подскажут настроечные скрипты проги. Искать название нужных .deb здесь или apt search
5. Компилим программу по инструкции из ee src
6. Создаем папку с файлами программы :
Код
fakeroot
make install DESTDIR=`pwd`/tempinstall
exit
7. Делаем из этой папки модуль.pfs (mkpfs) или пакет.deb (вар.2 попроще). Подробности

Примеры: 1 ; 2 ; 3 ; 4
« Последнее редактирование: 20 Ноябрь 2022, 10:30:38 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33585
  • Репутация: +228/-0
  • Автор темы
    • PuppyRus-A
Re: Компиляция в Debian
« Ответ #1 : 26 Июль 2019, 14:54:52 »
Я не гуру дебиана и компиляции. По этой теме
4. Доустановить необходимые для сборки пакеты -dev*.deb. Самое сложное. Какие нужны - узнать из доки программы или подскажут настроечные скрипты проги
Может кто-то знает простые пути
Нашел auto-apt - похоже, что-то старое мертвое

В арче , на мой взгляд, компилить проще - пакеты большие, с dev частью. Сильно гадать, что доустановить не придется. Есть AUR
В деб все разбито на части,  apt - копризный (то пол репы выкачивает, то ломается, то не понятно чего хочет...)
В основном и для DDR компилил в PRA03.  Еще слепил из iso arch32 от 2017 года себе дистр с заморозкой репы  для компиляции
Версии либ разные. Не для всех прог прокатывает. Поэтому и озадачился компиляциев в дебиане

А вообще - дополнительно укрепился в мысле , что арч - лучший выбор для маленького фругала
« Последнее редактирование: 26 Июль 2019, 14:57:11 от sfs »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5197
  • Репутация: +136/-1
Re: Компиляция в Debian
« Ответ #2 : 26 Июль 2019, 15:19:31 »
Еще слепил из iso arch32 от 2017 года себе дистр
Есть ли резон заменить retro этим iso?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33585
  • Репутация: +228/-0
  • Автор темы
    • PuppyRus-A
Re: Компиляция в Debian
« Ответ #3 : 26 Июль 2019, 15:24:44 »
Нет. Он огромный и исключительно для компиляции
Уж если заморачиваться - делать pra-roll 32bit по  шаблонам pra-roll 64bit. Пока установил себе так manjaro32 xfce тоже для компиляции
Легкого дистра не получится. Поэтому смысла нет - не планирую
« Последнее редактирование: 26 Июль 2019, 15:31:34 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33585
  • Репутация: +228/-0
  • Автор темы
    • PuppyRus-A
Re: Компиляция в Debian
« Ответ #4 : 26 Июль 2019, 16:09:19 »
Может кто-то знает простые пути
apt-ddr01-sf03.pfs
pkg-ddr01-sf04.pfs
Добавил apt-file

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33585
  • Репутация: +228/-0
  • Автор темы
    • PuppyRus-A
Re: Компиляция в Debian
« Ответ #5 : 14 Ноябрь 2019, 10:23:22 »
5a. добавляем свой patch
Доработал. Как же в дебиане все сложно с компиляцией

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33585
  • Репутация: +228/-0
  • Автор темы
    • PuppyRus-A
Re: Компиляция в Debian
« Ответ #6 : 29 Март 2023, 09:44:57 »
Цитата: sfs от 27 Март 2023, 13:02:37
По сравнению с debian - ubuntu привлекает наличием ppa
Как правило пересобираются под чистый debian без проблем.
Собирал например нужные версии cantata, celluloid из ppa, и xfce4-dockbarx-plugin которого в debian нет.
Компилил mpv - парился пол дня. Из-за большой раздробленности пакетов сложно убирать зависимости
В итоге скомпилилось, но пакеты не создались. Пока не разбирался, но планирую
В арче скомпилил за пол часа без проблем
Если интересно - могу поделиться рецептом моего mpv на ffmpeg6

А зачем перекомпиляли celluloid ? Чем не устроил из репы?

Оффлайн gumanzoy

  • Постоялец
  • ***
  • Сообщений: 102
  • Репутация: +10/-0
Re: Компиляция в Debian
« Ответ #7 : 29 Март 2023, 12:45:49 »
А зачем перекомпиляли celluloid ? Чем не устроил из репы?
Компилил 0.21 последнюю gtk3 версию. Сохранил deb-src еще понадобится. А в репе только 0.20 и в debian и в ubuntu
Хотя они мало чем отличаются.

У меня еще пересобраны под debian 11
xfce4-sensors-plugin_1.4.3-1_amd64.deb с включенным hddtemp
qalculate-gtk_3.22.0-1_amd64.deb бэкпортировал до того как его в backports добавили

Для своей сборки пересобирал mesa-21.3.5 с llvm-11
Все делается правкой debian/control и debian/rules
Собираю из под обычного debian с помощью pbuilder

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33585
  • Репутация: +228/-0
  • Автор темы
    • PuppyRus-A
Re: Компиляция в Debian
« Ответ #8 : 29 Март 2023, 12:51:00 »
Мелочевку можно брать в других дистрах
пересобирал mesa-21.3.5
Дало каких-то улучшений?

Оффлайн gumanzoy

  • Постоялец
  • ***
  • Сообщений: 102
  • Репутация: +10/-0
Re: Компиляция в Debian
« Ответ #9 : 29 Март 2023, 12:57:13 »
    пересобирал mesa-21.3.5

Дало каких-то улучшений?
С 20.3.5 в Unigine Heaven на Radeon RX 6800M артефакты были.
В 21.3.5 исправлено.

Но это уже не актуально. Буду пробовать doglinux debian 12 собирать. Вопрос в том будут ли работать legacy 340 и 390 nvidia драйвера. Возможно не будут. И тогда придется свежую месу и libdrm бэкпортировать для debian 11. Видюх много новых вышло. И RX 7000 и Intel Arc

Оффлайн gumanzoy

  • Постоялец
  • ***
  • Сообщений: 102
  • Репутация: +10/-0
Re: Компиляция в Debian
« Ответ #10 : 05 Май 2023, 00:10:12 »
Компилил mpv - парился пол дня. Из-за большой раздробленности пакетов сложно убирать зависимости
В итоге скомпилилось, но пакеты не создались. Пока не разбирался, но планирую
В арче скомпилил за пол часа без проблем
Если интересно - могу поделиться рецептом моего mpv на ffmpeg6
Нашел компактный mpv для Debian и Ubuntu. С вкомпиленым ffmpeg. https://non-gnu.uvt.nl/debian/
mpv из официальной репы bookworm с зависимостями - ~60MB xz squashfs
этот 15MB
Добавлю в свою сборку DogLinux Debian 12 Bookworm. Скоро выложу.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33585
  • Репутация: +228/-0
  • Автор темы
    • PuppyRus-A
Re: Компиляция в Debian
« Ответ #11 : 07 Май 2023, 15:22:35 »
компактный mpv
Не сказал бы , что он компактный. Обычный c обычными зависимостями..  Только что с вкомпиленным ffmpeg. В LTS дистрах со старым ffmpeg - в этом может и есть какой-то смысл - использовать более свежий ffmpeg. Но это можно сделать и другими способами. Короче - отдельный ffmpeg удобнее со всех сторон
 Если надо маленький - см. мои рецепты
Кстати - а есть вообще смысл ломаться за свежие версии mpv и ffmpeg? Я не по чтению changelog ни по экспериментам улучшений не заметил. А Вы?
« Последнее редактирование: 07 Май 2023, 15:40:10 от sfs »