Не всі розробники пропонують бінарні пакети своїх програм і як результат їх необхідно зібрати. Наприклад, я полюбляю користуватись переглядачем фотографій Viewnior та простим регулятором гучності Volumeicon, але вони не розповсюджуються як deb-пакети. Звісно можна виконати установку make install скриптом, але така установка не завжди бажана, адже можуть з'явитись проблеми під час видалення програми і т.п.
Для початку розберемось як перекомпілювати deb-пакет, що наявний в репозиторію Debian/Ubuntu.
Перевіряємо доступність source-репозиторіїв. Якщо вони відсутні - необхідно їх дозволити:
$ grep deb-src /etc/apt/sources.list
deb-src http://us.archive.ubuntu.com/ubuntu/ raring main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ raring universe
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ raring multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-security main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-security universe
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-security multiverse
deb-src http://archive.canonical.com/ubuntu raring partner
deb-src http://extras.ubuntu.com/ubuntu raring main
Cкачуємо сирці (вихідний код):
$ apt-get source pidgin
Reading package lists... Done
Building dependency tree
Reading state information... Done
NOTICE: 'pidgin' packaging is maintained in the 'Git' version control system at:
git://git.debian.org/git/collab-maint/pidgin.git
Need to get 10.1 MB of source archives.
Get:1 http://us.archive.ubuntu.com/ubuntu/ raring/main pidgin 1:2.10.7-0ubuntu4.1 (dsc) [2,590 B]
Get:2 http://us.archive.ubuntu.com/ubuntu/ raring/main pidgin 1:2.10.7-0ubuntu4.1 (tar) [10.1 MB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ raring/main pidgin 1:2.10.7-0ubuntu4.1 (diff) [67.4 kB]
Fetched 10.1 MB in 46s (218 kB/s)
gpgv: Signature made Tue 23 Apr 2013 05:41:15 AM EEST using RSA key ID 97D73BA5
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./pidgin_2.10.7-0ubuntu4.1.dsc
dpkg-source: info: extracting pidgin in pidgin-2.10.7
dpkg-source: info: unpacking pidgin_2.10.7.orig.tar.bz2
dpkg-source: info: unpacking pidgin_2.10.7-0ubuntu4.1.debian.tar.gz
dpkg-source: info: applying 04_let_crasher_for_apport.patch
...
dpkg-source: info: applying hg_no_cap_segfault.patch
dpkg-source: info: applying hg-remove-SIGCHLD-handler.patch
Сирці було скачано, розпаковано і накладено відповідні патчі. Наразі вміст директорії має виглядати так:
$ ls
pidgin-2.10.7 pidgin_2.10.7-0ubuntu4.1.debian.tar.gz pidgin_2.10.7-0ubuntu4.1.dsc pidgin_2.10.7.orig.tar.bz2
Встановлюємо dev-пакети, які необхдні для компіляції:
# apt-get build-dep pidgin
Будемо збирати пакет з деякими опціями, тому перевіримо які опції доступні:
$ cd pidgin-2.10.7
$ ./configure --help
`configure' configures pidgin 2.10.7 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
...
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--disable-largefile omit support for large files
--disable-nls disable installation of translation files
--disable-nls do not use Native Language Support
--disable-missing-dependencies
skip missing dependencies instead of aborting
configure
--disable-gtkui compile without GTK+ user interface
...
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <devel@pidgin.im>.
Наприклад, зберемо пакет із ключем "--disable-gtkui". Для цього додаємо в кінець файлу debian/rules:
$ vim debian/rules
override_dh_auto_configure:
dh_auto_configure -- --disable-gtkui
Зауважу, що перед dh_auto_configure необхідно тиснути табуляцію замість пробілів, інакше під час збирання з'явиться помилка.
Тепер набираємось терпіння і збираємо пакет:
$ dpkg-buildpackage -rfakeroot -b
...
dpkg-deb: building package `pidgin-dbg' in `../pidgin-dbg_2.10.7-0ubuntu4.1_amd64.deb'.
dh_gencontrol -pfinch
# only call dh_scour for packages in main
if grep -q '^Component:[[:space:]]*main' /CurrentlyBuilding 2>/dev/null; then dh_scour -pfinch ; fi
dh_md5sums -pfinch
dh_builddeb -pfinch -u-Zxz
dpkg-deb: warning: 'debian/finch/DEBIAN/control' contains user-defined field 'Original-Maintainer'
dpkg-deb: warning: ignoring 1 warning about the control file(s)
dpkg-deb: building package `finch' in `../finch_2.10.7-0ubuntu4.1_amd64.deb'.
dpkg-genchanges -b >../pidgin_2.10.7-0ubuntu4.1_amd64.changes
dpkg-genchanges: binary-only upload - not including any source code
dpkg-source --after-build pidgin-2.10.7
dpkg-buildpackage: binary only upload (no source included)
Рівнем вище можна побачити скомпільвані пакети, що власне і є нашою ціллю:
$ ls .. | grep deb$
finch_2.10.7-0ubuntu4.1_amd64.deb
finch-dev_2.10.7-0ubuntu4.1_all.deb
libpurple0_2.10.7-0ubuntu4.1_amd64.deb
libpurple-bin_2.10.7-0ubuntu4.1_all.deb
libpurple-dev_2.10.7-0ubuntu4.1_all.deb
pidgin_2.10.7-0ubuntu4.1_amd64.deb
pidgin-data_2.10.7-0ubuntu4.1_all.deb
pidgin-dbg_2.10.7-0ubuntu4.1_amd64.deb
pidgin-dev_2.10.7-0ubuntu4.1_all.deb
За необхідності встановлюємо:
# dpkg -i *.deb
Тепер зберемо пакет із вихідних кодів, котрі не перебувають в офіційних репозиторіях. Нехай це буде Volumeicon. Цt простий регулятор гучності, що можливо буде корисним юзерам таких WM, як Openbox чи Fluxbox.
Скачуємо:
$ wget http://softwarebakery.com/maato/files/volumeicon/volumeicon-0.5.0.tar.gz
--2013-09-02 02:20:18-- http://softwarebakery.com/maato/files/volumeicon/volumeicon-0.5.0.tar.gz
Resolving softwarebakery.com (softwarebakery.com)... 95.211.63.145
Connecting to softwarebakery.com (softwarebakery.com)|95.211.63.145|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 160089 (156K) [text/plain]
Saving to: ‘volumeicon-0.5.0.tar.gz’
100%[=============================================>] 160,089 352KB/s in 0.4s
2013-09-02 02:20:19 (352 KB/s) - ‘volumeicon-0.5.0.tar.gz’ saved [160089/160089]
Встановлюємо пакети, якщо вони відсутні у вашій системі:
$ sudo aptitude install build-essential autoconf automake autotools-dev dh-make debhelper devscripts
Розпаковуємо архів з кодом:
$ tar xvfz volumeicon-0.5.0.tar.gz
Створюємо необхідні додаткові конфігураційні файли для майбутнього deb-пакету:
$ cd volumeicon-0.5.0
$ dh_make -e youremail@address -f ../volumeicon-0.5.0.tar.gz
Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
[s/i/m/l/k/n] s
Maintainer name : your.username
Email-Address : youremail@address.com
Date : Mon, 02 Sep 2013 02:24:59 +0300
Package Name : volumeicon
Version : 0.5.0
License : blank
Type of Package : Single
Hit <enter> to confirm:
Done. Please edit the files in the debian/ subdirectory now. volumeicon
uses a configure script, so you probably don't have to edit the Makefiles.
Перевіряємо які пакети необхідні програмі для задоволення всіх залежностей під час установки:
$ dpkg-depcheck -d ./configure --prefix=/usr
...
/usr/lib/perl/5.14/auto/List/Util/Util.so
/usr/share/perl/5.14/feature.pm
Packages needed:
x11proto-composite-dev
hardening-wrapper
x11proto-randr-dev
libxfixes-dev
mime-support
gettext
libpcre3:amd64
intltool
libcairo2-dev
libxi-dev
mawk
libgdk-pixbuf2.0-dev
libglib2.0-dev
libwayland-dev
libatk1.0-dev
libxdmcp-dev:amd64
libxml-parser-perl
perl-modules
libharfbuzz-dev
libpthread-stubs0-dev:amd64
pkg-config
libasound2-dev:amd64
libfreetype6-dev
x11proto-kb-dev
x11proto-damage-dev
libfontconfig1-dev
x11proto-xinerama-dev
libpopt0:amd64
libxml2:amd64
libxrandr-dev
libunistring0:amd64
libxkbcommon-dev
libpixman-1-dev
libxcomposite-dev
libgtk-3-dev
libpng12-dev
libcroco3:amd64
x11proto-render-dev
libpango1.0-dev
libxau-dev:amd64
libxdamage-dev
Правимо файл debian/control. До маніпуляцій він виглядав так:
$ cat -n debian/control
1 Source: volumeicon
2 Section: unknown
3 Priority: extra
4 Maintainer: yuriy.bichenok <ipeacocks@gmail.com>
5 Build-Depends: debhelper (>= 8.0.0), autotools-dev
6 Standards-Version: 3.9.4
7 Homepage: <insert the upstream URL, if relevant>
8 #Vcs-Git: git://git.debian.org/collab-maint/volumeicon.git
9 #Vcs-Browser: http://git.debian.org/?p=collab-maint/volumeicon.git;a=summary
10
11 Package: volumeicon
12 Architecture: any
13 Depends: ${shlibs:Depends}, ${misc:Depends}
14 Description: <insert up to 60 chars description>
15 <insert long description, indented with spaces>
Після заповнення - так:
1 Source: volumeicon
2 Section: x11
3 Priority: extra
4 Maintainer: yuriy.bichenok <ipeacocks@gmail.com>
5 Build-Depends: debhelper (>= 8.0.0), autotools-dev, x11proto-composite-dev, hardening-wrapper, x11proto-randr-dev, libxfixes-dev, mime-support, gettext, libpcre3:amd64, intltool, libcairo2-dev, libxi-dev, mawk, libgdk-pixbuf2.0-dev, libglib2.0-dev, libwayland-dev, libatk1.0-dev, libxdmcp-dev:amd64, libxml-parser-perl, perl-modules, libharfbuzz-dev, libpthread-stubs0-dev:amd64, pkg-config, libasound2-dev:amd64, libfreetype6-dev, x11proto-kb-dev, x11proto-damage-dev, libfontconfig1-dev, x11proto-xinerama-dev, libpopt0:amd64, libxml2:amd64, libxrandr-dev, libunistring0:amd64, libxkbcommon-dev, libpixman-1-dev, libxcomposite-dev, libgtk-3-dev, libpng12-dev, libcroco3:amd64, x11proto-render-dev, libpango1.0-dev, libxau-dev:amd64, libxdamage-dev
6 Standards-Version: 3.9.4
7 Homepage: http://softwarebakery.com/maato/volumeicon.html
8 #Vcs-Git: git://git.debian.org/collab-maint/volumeicon.git
9 #Vcs-Browser: http://git.debian.org/?p=collab-maint/volumeicon.git;a=summary
10
11 Package: volumeicon
12 Architecture: any
13 Depends: ${shlibs:Depends}, ${misc:Depends}
14 Description: Volume Icon aims to be a lightweight volume control that sits in your systray.
15 Volume Icon aims to be a lightweight volume control that sits in your systray. It is often used in conjuction with the lightweight tint2 panel/taskbar.
16 Features:
17 -Change volume by scrolling on the systray icon
18 -Ability to choose which channel to control
19 -Several icon themes (with gtk theme as default)
20 -Configurable external mixer
21 -Volume Slider
22 -Hotkey support
Тобто п'ятий рядок було доповнено з dpkg-depcheck (що наведено вище), секція в другому рядку було змінено на x11, у Homepage було введено url-сторінки розробника. А Description було взято на сайті сайту розробника. Пронумерував рядки я звісно для наглядності.
Під кінець відредагуємо файл debian/rules, адже, як зазначив автор, він має збиратись з ключем "--prefix=/usr". Тому додамо в кінець опцію:
$ vim debian/rules
override_dh_auto_configure:
dh_auto_configure -- --prefix=/usr
Зберігаємо і компілюємо:
$ dpkg-buildpackage -rfakeroot
Якщо необхідно - встановлюємо. За необхідності також можна підписати пакет своїм ключем.
Посилання:
http://www.debian.org/doc/manuals/maint-guide/maint-guide.ru.pdf
http://www.webupd8.org/2010/01/how-to-create-deb-package-ubuntu-debian.html
http://www.debian.org/doc/manuals/maint-guide/dreq.ru.html#customrules
http://forum.ubuntu.ru/index.php?topic=11609.0
http://www.cyberciti.biz/faq/rebuilding-ubuntu-debian-linux-binary-package/
Для початку розберемось як перекомпілювати deb-пакет, що наявний в репозиторію Debian/Ubuntu.
Перевіряємо доступність source-репозиторіїв. Якщо вони відсутні - необхідно їх дозволити:
$ grep deb-src /etc/apt/sources.list
deb-src http://us.archive.ubuntu.com/ubuntu/ raring main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ raring universe
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ raring multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-security main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-security universe
deb-src http://us.archive.ubuntu.com/ubuntu/ raring-security multiverse
deb-src http://archive.canonical.com/ubuntu raring partner
deb-src http://extras.ubuntu.com/ubuntu raring main
Cкачуємо сирці (вихідний код):
$ apt-get source pidgin
Reading package lists... Done
Building dependency tree
Reading state information... Done
NOTICE: 'pidgin' packaging is maintained in the 'Git' version control system at:
git://git.debian.org/git/collab-maint/pidgin.git
Need to get 10.1 MB of source archives.
Get:1 http://us.archive.ubuntu.com/ubuntu/ raring/main pidgin 1:2.10.7-0ubuntu4.1 (dsc) [2,590 B]
Get:2 http://us.archive.ubuntu.com/ubuntu/ raring/main pidgin 1:2.10.7-0ubuntu4.1 (tar) [10.1 MB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ raring/main pidgin 1:2.10.7-0ubuntu4.1 (diff) [67.4 kB]
Fetched 10.1 MB in 46s (218 kB/s)
gpgv: Signature made Tue 23 Apr 2013 05:41:15 AM EEST using RSA key ID 97D73BA5
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./pidgin_2.10.7-0ubuntu4.1.dsc
dpkg-source: info: extracting pidgin in pidgin-2.10.7
dpkg-source: info: unpacking pidgin_2.10.7.orig.tar.bz2
dpkg-source: info: unpacking pidgin_2.10.7-0ubuntu4.1.debian.tar.gz
dpkg-source: info: applying 04_let_crasher_for_apport.patch
...
dpkg-source: info: applying hg_no_cap_segfault.patch
dpkg-source: info: applying hg-remove-SIGCHLD-handler.patch
Сирці було скачано, розпаковано і накладено відповідні патчі. Наразі вміст директорії має виглядати так:
$ ls
pidgin-2.10.7 pidgin_2.10.7-0ubuntu4.1.debian.tar.gz pidgin_2.10.7-0ubuntu4.1.dsc pidgin_2.10.7.orig.tar.bz2
Встановлюємо dev-пакети, які необхдні для компіляції:
# apt-get build-dep pidgin
Будемо збирати пакет з деякими опціями, тому перевіримо які опції доступні:
$ cd pidgin-2.10.7
$ ./configure --help
`configure' configures pidgin 2.10.7 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
...
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--disable-largefile omit support for large files
--disable-nls disable installation of translation files
--disable-nls do not use Native Language Support
--disable-missing-dependencies
skip missing dependencies instead of aborting
configure
--disable-gtkui compile without GTK+ user interface
...
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <devel@pidgin.im>.
Наприклад, зберемо пакет із ключем "--disable-gtkui". Для цього додаємо в кінець файлу debian/rules:
$ vim debian/rules
override_dh_auto_configure:
dh_auto_configure -- --disable-gtkui
Зауважу, що перед dh_auto_configure необхідно тиснути табуляцію замість пробілів, інакше під час збирання з'явиться помилка.
Тепер набираємось терпіння і збираємо пакет:
$ dpkg-buildpackage -rfakeroot -b
...
dpkg-deb: building package `pidgin-dbg' in `../pidgin-dbg_2.10.7-0ubuntu4.1_amd64.deb'.
dh_gencontrol -pfinch
# only call dh_scour for packages in main
if grep -q '^Component:[[:space:]]*main' /CurrentlyBuilding 2>/dev/null; then dh_scour -pfinch ; fi
dh_md5sums -pfinch
dh_builddeb -pfinch -u-Zxz
dpkg-deb: warning: 'debian/finch/DEBIAN/control' contains user-defined field 'Original-Maintainer'
dpkg-deb: warning: ignoring 1 warning about the control file(s)
dpkg-deb: building package `finch' in `../finch_2.10.7-0ubuntu4.1_amd64.deb'.
dpkg-genchanges -b >../pidgin_2.10.7-0ubuntu4.1_amd64.changes
dpkg-genchanges: binary-only upload - not including any source code
dpkg-source --after-build pidgin-2.10.7
dpkg-buildpackage: binary only upload (no source included)
Рівнем вище можна побачити скомпільвані пакети, що власне і є нашою ціллю:
$ ls .. | grep deb$
finch_2.10.7-0ubuntu4.1_amd64.deb
finch-dev_2.10.7-0ubuntu4.1_all.deb
libpurple0_2.10.7-0ubuntu4.1_amd64.deb
libpurple-bin_2.10.7-0ubuntu4.1_all.deb
libpurple-dev_2.10.7-0ubuntu4.1_all.deb
pidgin_2.10.7-0ubuntu4.1_amd64.deb
pidgin-data_2.10.7-0ubuntu4.1_all.deb
pidgin-dbg_2.10.7-0ubuntu4.1_amd64.deb
pidgin-dev_2.10.7-0ubuntu4.1_all.deb
За необхідності встановлюємо:
# dpkg -i *.deb
Тепер зберемо пакет із вихідних кодів, котрі не перебувають в офіційних репозиторіях. Нехай це буде Volumeicon. Цt простий регулятор гучності, що можливо буде корисним юзерам таких WM, як Openbox чи Fluxbox.
Скачуємо:
$ wget http://softwarebakery.com/maato/files/volumeicon/volumeicon-0.5.0.tar.gz
--2013-09-02 02:20:18-- http://softwarebakery.com/maato/files/volumeicon/volumeicon-0.5.0.tar.gz
Resolving softwarebakery.com (softwarebakery.com)... 95.211.63.145
Connecting to softwarebakery.com (softwarebakery.com)|95.211.63.145|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 160089 (156K) [text/plain]
Saving to: ‘volumeicon-0.5.0.tar.gz’
100%[=============================================>] 160,089 352KB/s in 0.4s
2013-09-02 02:20:19 (352 KB/s) - ‘volumeicon-0.5.0.tar.gz’ saved [160089/160089]
Встановлюємо пакети, якщо вони відсутні у вашій системі:
$ sudo aptitude install build-essential autoconf automake autotools-dev dh-make debhelper devscripts
Розпаковуємо архів з кодом:
$ tar xvfz volumeicon-0.5.0.tar.gz
Створюємо необхідні додаткові конфігураційні файли для майбутнього deb-пакету:
$ cd volumeicon-0.5.0
$ dh_make -e youremail@address -f ../volumeicon-0.5.0.tar.gz
Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
[s/i/m/l/k/n] s
Maintainer name : your.username
Email-Address : youremail@address.com
Date : Mon, 02 Sep 2013 02:24:59 +0300
Package Name : volumeicon
Version : 0.5.0
License : blank
Type of Package : Single
Hit <enter> to confirm:
Done. Please edit the files in the debian/ subdirectory now. volumeicon
uses a configure script, so you probably don't have to edit the Makefiles.
Перевіряємо які пакети необхідні програмі для задоволення всіх залежностей під час установки:
$ dpkg-depcheck -d ./configure --prefix=/usr
...
/usr/lib/perl/5.14/auto/List/Util/Util.so
/usr/share/perl/5.14/feature.pm
Packages needed:
x11proto-composite-dev
hardening-wrapper
x11proto-randr-dev
libxfixes-dev
mime-support
gettext
libpcre3:amd64
intltool
libcairo2-dev
libxi-dev
mawk
libgdk-pixbuf2.0-dev
libglib2.0-dev
libwayland-dev
libatk1.0-dev
libxdmcp-dev:amd64
libxml-parser-perl
perl-modules
libharfbuzz-dev
libpthread-stubs0-dev:amd64
pkg-config
libasound2-dev:amd64
libfreetype6-dev
x11proto-kb-dev
x11proto-damage-dev
libfontconfig1-dev
x11proto-xinerama-dev
libpopt0:amd64
libxml2:amd64
libxrandr-dev
libunistring0:amd64
libxkbcommon-dev
libpixman-1-dev
libxcomposite-dev
libgtk-3-dev
libpng12-dev
libcroco3:amd64
x11proto-render-dev
libpango1.0-dev
libxau-dev:amd64
libxdamage-dev
Правимо файл debian/control. До маніпуляцій він виглядав так:
$ cat -n debian/control
1 Source: volumeicon
2 Section: unknown
3 Priority: extra
4 Maintainer: yuriy.bichenok <ipeacocks@gmail.com>
5 Build-Depends: debhelper (>= 8.0.0), autotools-dev
6 Standards-Version: 3.9.4
7 Homepage: <insert the upstream URL, if relevant>
8 #Vcs-Git: git://git.debian.org/collab-maint/volumeicon.git
9 #Vcs-Browser: http://git.debian.org/?p=collab-maint/volumeicon.git;a=summary
10
11 Package: volumeicon
12 Architecture: any
13 Depends: ${shlibs:Depends}, ${misc:Depends}
14 Description: <insert up to 60 chars description>
15 <insert long description, indented with spaces>
Після заповнення - так:
1 Source: volumeicon
2 Section: x11
3 Priority: extra
4 Maintainer: yuriy.bichenok <ipeacocks@gmail.com>
5 Build-Depends: debhelper (>= 8.0.0), autotools-dev, x11proto-composite-dev, hardening-wrapper, x11proto-randr-dev, libxfixes-dev, mime-support, gettext, libpcre3:amd64, intltool, libcairo2-dev, libxi-dev, mawk, libgdk-pixbuf2.0-dev, libglib2.0-dev, libwayland-dev, libatk1.0-dev, libxdmcp-dev:amd64, libxml-parser-perl, perl-modules, libharfbuzz-dev, libpthread-stubs0-dev:amd64, pkg-config, libasound2-dev:amd64, libfreetype6-dev, x11proto-kb-dev, x11proto-damage-dev, libfontconfig1-dev, x11proto-xinerama-dev, libpopt0:amd64, libxml2:amd64, libxrandr-dev, libunistring0:amd64, libxkbcommon-dev, libpixman-1-dev, libxcomposite-dev, libgtk-3-dev, libpng12-dev, libcroco3:amd64, x11proto-render-dev, libpango1.0-dev, libxau-dev:amd64, libxdamage-dev
6 Standards-Version: 3.9.4
7 Homepage: http://softwarebakery.com/maato/volumeicon.html
8 #Vcs-Git: git://git.debian.org/collab-maint/volumeicon.git
9 #Vcs-Browser: http://git.debian.org/?p=collab-maint/volumeicon.git;a=summary
10
11 Package: volumeicon
12 Architecture: any
13 Depends: ${shlibs:Depends}, ${misc:Depends}
14 Description: Volume Icon aims to be a lightweight volume control that sits in your systray.
15 Volume Icon aims to be a lightweight volume control that sits in your systray. It is often used in conjuction with the lightweight tint2 panel/taskbar.
16 Features:
17 -Change volume by scrolling on the systray icon
18 -Ability to choose which channel to control
19 -Several icon themes (with gtk theme as default)
20 -Configurable external mixer
21 -Volume Slider
22 -Hotkey support
Тобто п'ятий рядок було доповнено з dpkg-depcheck (що наведено вище), секція в другому рядку було змінено на x11, у Homepage було введено url-сторінки розробника. А Description було взято на сайті сайту розробника. Пронумерував рядки я звісно для наглядності.
Під кінець відредагуємо файл debian/rules, адже, як зазначив автор, він має збиратись з ключем "--prefix=/usr". Тому додамо в кінець опцію:
$ vim debian/rules
override_dh_auto_configure:
dh_auto_configure -- --prefix=/usr
Зберігаємо і компілюємо:
$ dpkg-buildpackage -rfakeroot
Якщо необхідно - встановлюємо. За необхідності також можна підписати пакет своїм ключем.
Посилання:
http://www.debian.org/doc/manuals/maint-guide/maint-guide.ru.pdf
http://www.webupd8.org/2010/01/how-to-create-deb-package-ubuntu-debian.html
http://www.debian.org/doc/manuals/maint-guide/dreq.ru.html#customrules
http://forum.ubuntu.ru/index.php?topic=11609.0
http://www.cyberciti.biz/faq/rebuilding-ubuntu-debian-linux-binary-package/
Немає коментарів:
Дописати коментар