ZenWay - Linux сегодня!
  • Главная
  • Форум
  • Контакты
  • Архив
  • Гостевая книга
×
Поиск по сайту
ГлавнаяАдминистрированиеСистемные утилитыДополнительные материалыИзучаем LinuxПересборка deb-пакета в Debian/Ubuntu

Пересборка deb-пакета в Debian/Ubuntu

Изучаем Linux, Дополнительные материалы, Системные утилиты, АдминистрированиеПросмотров: 13192Комментарии: 127 февраля 2010 г.
Console / Debian / Ubuntu / Администрирование / Управление пакетами / Учебные материалы
Пересборка deb-пакета в Debian/Ubuntu

Очень часто у пользователей Debian, Ubuntu и других основанных на Debian дистрибутивов возникает необходимость пересобрать .deb-пакет какой-то программы из исходных текстов. Ниже будет показано как это можно сделать...

Немного конкретизируем задачу: автор этих строк использует дистрибутив Ubuntu Karmic (9.10), в репозитории которого есть Jabber-клиент Gajim версии 0.12.5, однако появилось желание использовать Gajim версии 0.13. Готового пакета для Karmic найдено не было, однако для Ubuntu Lucid (10.04) Alpha этот пакет уже был. Соответственно напрашивалось два варианта решения поставленной задачи:

    • Подключить репозиторий Lucid, поставить Gajim из него, отключить репозиторий Lucid.

 

    • Бэкпортировать (перенести пакет из более новой версии дистриубтива в более старую) пакет из Lucid в Karmic.

Автор решил использовать второй способ. Приступаем к решению этой задачи. Для начала нужно зайти на страницу пакета на //packages.ubuntu.com и скачать архивы с исходными текстами. Для Gajim это страница //packages.ubuntu.com/gajim а архивы (на момент написания статьи):

    • gajim_0.13-0ubuntu2.diff.gz

 

    • gajim_0.13.orig.tar.gz

 

    • gajim_0.13-0ubuntu2.dsc

Скачав эти файлы установим инструменты, необходимые для пересборки пакетов:

apt-get install build-essential dpkg-dev fakeroot

Теперь нужно перейти в ту директорию, куда мы скачали архивы с исходными текстами и распаковать эти архивы командой:

dpkg-source -x gajim_0.13-0ubuntu2.dsc

После распаковки будет создана директория с именем вида "имя_пакета-версия_пакета", в нашем случае имя будет "gajim-0.13", переходим в неё и пытаемся запустить сборку:

cd gajim-0.13 && dpkg-buildpackage -rfakeroot -b

Если будет выдано сообщение о не хватке каких-то пакетов — их нужно установить. Автору этих строк не хватило пакетов: python-dev, python-gtk2-dev, libxss-dev, libgtkspell-dev и dpatch. Список пакетов зависит от уже установленных пакетов и пересобираемой программы. Установим недостающие пакеты:

apt-get install python-dev python-gtk2-dev libxss-dev libgtkspell-dev dpatch

После успешной установки зависимостей запустим сборку командой:

dpkg-buildpackage -rfakeroot -b

Если и в этом случае сборка закончится неудачей — надо тщательно проанализировать сообщения об ошибке. Возможно придётся предварительно бэкпортировать более новые версии зависимостей и только потом собирать пакет.

У автора всё прошло гладко и был создан пакет "gajim_0.13-0ubuntu2_amd64.deb", расположенный в одной директории с архивами с исходными текстами. Теперь его можно установить командой:

sudo dpkg -i ../gajim_0.13-0ubuntu2_amd64.deb

Теперь можно пользоваться более новой версией любимой программы :) Остальные программы и библиотеки бэкпортируются аналогичным образом.

На этом всё. Приятной работы!

Источник: Yellow Leaf

Автор: vovans
Еще записи по теме
ProcMeter3
ProcMeter3
XMacro
XMacro
qbatt
qbatt
DDH
DDH
WPSCrackGUI
WPSCrackGUI
Cylon
Cylon

Комментариев: 1 RSS

1vovans27-02-2010 23:24

как верно замечено в комментариях к оригинальной заметке, чтобы установить все или большую часть зависимостей для сборки нужного пакета, нужно сделать:

apt-get build-dep gajim

Вы можете войти под своим логином или зарегистрироваться на сайте.

Рубрики
  • Hовости
  • Изучаем Linux
  • Обзоры Linux ПО
    • Hужное/полезное
    • Аудио и видео ПО
    • Графика
    • Офисное ПО
    • Интернет ПО
    • Образовательные
    • Игры
    • Администрирование
    • Системные утилиты
    • Прочие
    • Shareware / Demo
  • Дистрибутивы
  • Дополнительные материалы
Последние комментарии
AzPainter
  • Crocodilero » Ну вот же: //github.com/ Symbian9/ azpainter/wiki/ Packaging- statusУже давно неактуально, нет такого пользователя и репозитория.Ре позиторий разработчицы, а также готовые...
Карты (Gnome Maps)
  • O_Dik » Как добавить спутниковые карты? Или откуда их можно скачать?
Трансляция потока с веб-камеры с помощью ffserver
  • vovans » Беда :(FFmpeg's FFServer feature has been removed from the main release.You'll have to bring up...
MusE - Linux Music Editor
  • Аноним » я её скачал. Ни инстукции, ни мануалов. удалил
  • vovans » Разумно. Тут или понимаешь что делать, или до свидания. Вот так вот ворваться с нуля...
  • BigOrange » мануал официальный самый что ни наесть официальный//muse- sequencer. github.io/docs/ intro.htmlещё разработчики советуют этот форум// linuxmusicians. com/viewforum. php?f=61
WHDD
  • Александр » Привет)Ни кто мне не может подсказать, пожалуйста, в чем у меня проблема: хочу проверить флешку...
  • илья » Привет)Ни кто мне не может подсказать, пожалуйста, в чем у меня проблема: хочу проверить флешку...
fbless
  • totiks » Очень понравилась эта утилита, написал простенький скрипт для выбора книжек с помощью peco , чтоб...
FreetuxTV
  • Алиса » Попробуйте //github. com/yuki-iptv/ yuki-iptv
Форум
[12/02/2025 16:49:16]
openSUSE Tumbleweed, zypper ref, Segmentation fault (core dumped)
[10/02/2025 22:04:59]
Говорильня (дискуссионный клуб)
[23/01/2024 04:13:36]
Утилита запуска команд в трее
[26/07/2023 11:17:45]
Музыкальный калейдоскоп
[16/07/2023 12:24:19]
LFS
[17/04/2023 10:14:08]
Тестовая бродилка на Си с ChatGPT
[18/11/2022 11:54:52]
vscode and c/c++
[31/08/2022 12:25:53]
Tor Browser
[22/05/2022 15:45:40]
Стратегии RTS
Облако меток
2D338 3D241 ALSA68 ASCII120 Android1 Arch Linux38 Audio416 Backup80 Benchmark78 Bluetooth2 C++969 CD48 Console1318 DJ-система17 DVD47 Debian28 DjVu22 Enlightenment19 FFmpeg191 FLTK29 FPS40 FREE155 FTP18 FVWM21 Fluxbox40 GIMP24 GNU26 GPS22 GTK1302 GUI801 Gambas11 Games686 Gentoo3 Gnome349 Gstreamer133 HDD122 HDR7 HTML62 Hex-редактор14 ICQ17 IP-сети25 IP-телефон22 IRC31 ISO39 IceWM22 ImageMagick56 JACK99 Jabber35 Java308 JavaScript115 KDE209 LAN29 LXDE37 LaTeX66 Live-CD70 Live-DVD55 Live-USB53 Lua61 MATE32 MEncoder31 MMORPG12 Mail42 Markdown53 Midi91 Mono53 Mplayer75 MySQL2 OSS9 Open Source14 OpenGL301 Openbox89 P2P51 PDF133 PHP12 Pascal17 Perl102 Phonon27 PulseAudio17 Python759 QT894 RAW34 RPG101 RSS53 RTS42 Roguelike70 Ruby19 Rust15 SDL312 SVG39 Screencast32 Screenshot61 Script78 Slackware66 TOR17 TOX3 Tk39 Torrent67 Ubuntu69 VLC16 Vala64 Web629 WebKit72 WebUI34 WiFi47 Window Maker16 Wine8 XMPP35 Xfce70 Xine14 YouTube80 video4linux27 wxWidgets108 Автоматизация31 Администрирование335 Анонимная сеть47 Антивирус14 Апплет120 Аркада235 Архиватор11 Астрономия36 Аудио конвертер70 Аудио редактор50 Аудиоплеер184 Безопасность243 Бизнес-приложение4 Браузер87 Бродилка203 Бухгалтерия11 Веб-камера36 Видео148
© Zen Way, 2025. Работает на MaxSite CMS | Время: 0.1463 | SQL: 15 | Память: 8.57MB | Вход