Чё могу. Исходники пакета foo кропаю так (официальная инфа!):
Shell
$ equivs-control x.ctl
$
Shell
$ cat x.ctl
Section: misc
Priority: optional
Standards-Version: 3.9.2
Package: foo
Description: <short description; defaults to some wise words>
long description and info
.
second paragraph
$
equivs-build -s x.ctl
$ equivs-build -s x.ctl
dpkg-buildpackage: инфо: пакет исходного кода foo
dpkg-buildpackage: инфо: версия исходного кода 1.0
dpkg-buildpackage: инфо: дистрибутив исходного кода unstable
dpkg-buildpackage: инфо: исходный код изменён Equivs Dummy Package Generator <user@debian>
dpkg-source --before-build .
debian/rules clean
dh clean
dh_clean
dpkg-source -b .
dpkg-source: инфо: используется формат исходника «3.0 (native)»
dpkg-source: инфо: сборка foo в foo_1.0.tar.xz
dpkg-source: инфо: сборка foo в foo_1.0.dsc
dpkg-genbuildinfo --build=source -O../foo_1.0_source.buildinfo
dpkg-genchanges --build=source -O../foo_1.0_source.changes
dpkg-genchanges: инфо: в закачку включён весь исходный код
dpkg-source --after-build .
dpkg-buildpackage: инфо: закачка только пакетов исходного кода: родной пакет Debian
The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
$
dpkg-buildpackage: инфо: пакет исходного кода foo
dpkg-buildpackage: инфо: версия исходного кода 1.0
dpkg-buildpackage: инфо: дистрибутив исходного кода unstable
dpkg-buildpackage: инфо: исходный код изменён Equivs Dummy Package Generator <user@debian>
dpkg-source --before-build .
debian/rules clean
dh clean
dh_clean
dpkg-source -b .
dpkg-source: инфо: используется формат исходника «3.0 (native)»
dpkg-source: инфо: сборка foo в foo_1.0.tar.xz
dpkg-source: инфо: сборка foo в foo_1.0.dsc
dpkg-genbuildinfo --build=source -O../foo_1.0_source.buildinfo
dpkg-genchanges --build=source -O../foo_1.0_source.changes
dpkg-genchanges: инфо: в закачку включён весь исходный код
dpkg-source --after-build .
dpkg-buildpackage: инфо: закачка только пакетов исходного кода: родной пакет Debian
The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
$
Shell
$ ls
foo_1.0.dsc foo_1.0_source.buildinfo foo_1.0_source.changes foo_1.0.tar.xz x.ctl
$
Shell
$ cat foo_1.0.dsc
Format: 3.0 (native)
Source: foo
Binary: foo
Architecture: all
Version: 1.0
Maintainer: Equivs Dummy Package Generator <user@debian>
Standards-Version: 3.9.2
Build-Depends: debhelper-compat (= 12)
Package-List:
foo deb misc optional arch=all
Checksums-Sha1:
8a7e3d520cbf526338918c6aa605b2e9e57b2ad2 1684 foo_1.0.tar.xz
Checksums-Sha256:
be8b70393f4d61dbadab4923ed98c340eec712a5088af5198a0a3c70b5a01b09 1684 foo_1.0.tar.xz
Files:
6d37c918daf93c89f1d088dd596c4bb9 1684 foo_1.0.tar.xz
$
Shell
$ dpkg-source -x foo_1.0.dsc
dpkg-source: предупреждение: распаковка неподписанного пакета с исходным кодом (foo_1.0.dsc)
dpkg-source: инфо: извлечение foo в foo-1.0
dpkg-source: инфо: распаковывается foo_1.0.tar.xz
$
Shell
$ cat foo-1.0/debian/control
Source: foo
Section: misc
Priority: optional
Maintainer: Equivs Dummy Package Generator <user@debian>
Build-Depends: debhelper-compat (= 12)
Standards-Version: 3.9.2
Rules-Requires-Root: no
Package: foo
Architecture: all
Multi-Arch: foreign
Description: <short description; defaults to some wise words>
long description and info
.
second paragraph
$
Shell
$ cat foo-1.0/debian/control
Source: foo
Section: misc
Priority: optional
Maintainer: Equivs Dummy Package Generator <user@debian>
Build-Depends: debhelper-compat (= 12), cafe, babe
Standards-Version: 3.9.2
Rules-Requires-Root: no
Package: foo
Architecture: all
Depends: tree
Multi-Arch: foreign
Description: <short description; defaults to some wise words>
long description and info
.
second paragraph
$
тут сборка пакета foo
$ cd foo-1.0/
foo-1.0$ dpkg-buildpackage -us -uc -d
dpkg-buildpackage: инфо: пакет исходного кода foo
dpkg-buildpackage: инфо: версия исходного кода 1.0
dpkg-buildpackage: инфо: дистрибутив исходного кода unstable
dpkg-buildpackage: инфо: исходный код изменён Equivs Dummy Package Generator <user@debian>
dpkg-buildpackage: инфо: архитектура узла amd64
dpkg-source --before-build .
debian/rules clean
dh clean
dh_clean
dpkg-source -b .
dpkg-source: инфо: используется формат исходника «3.0 (native)»
dpkg-source: инфо: сборка foo в foo_1.0.tar.xz
dpkg-source: инфо: сборка foo в foo_1.0.dsc
debian/rules binary
dh binary
dh_update_autotools_config
dh_autoreconf
create-stamp debian/debhelper-build-stamp
dh_prep
dh_auto_install --destdir=debian/foo/
dh_install
dh_installdocs
dh_installchangelogs
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_missing
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: сборка пакета «foo» в «../foo_1.0_all.deb».
dpkg-genbuildinfo -O../foo_1.0_amd64.buildinfo
dpkg-genchanges -O../foo_1.0_amd64.changes
dpkg-genchanges: инфо: в закачку включён весь исходный код
dpkg-source --after-build .
dpkg-buildpackage: инфо: закачка всего; родной пакет Debian (включены все пакеты исходного кода)
foo-1.0$
foo-1.0$
foo-1.0$ cd ..
$
$
$ ls
foo-1.0 foo_1.0_amd64.buildinfo foo_1.0.dsc foo_1.0_source.changes x.ctl
foo_1.0_all.deb foo_1.0_amd64.changes foo_1.0_source.buildinfo foo_1.0.tar.xz
$
$
$
foo-1.0$ dpkg-buildpackage -us -uc -d
dpkg-buildpackage: инфо: пакет исходного кода foo
dpkg-buildpackage: инфо: версия исходного кода 1.0
dpkg-buildpackage: инфо: дистрибутив исходного кода unstable
dpkg-buildpackage: инфо: исходный код изменён Equivs Dummy Package Generator <user@debian>
dpkg-buildpackage: инфо: архитектура узла amd64
dpkg-source --before-build .
debian/rules clean
dh clean
dh_clean
dpkg-source -b .
dpkg-source: инфо: используется формат исходника «3.0 (native)»
dpkg-source: инфо: сборка foo в foo_1.0.tar.xz
dpkg-source: инфо: сборка foo в foo_1.0.dsc
debian/rules binary
dh binary
dh_update_autotools_config
dh_autoreconf
create-stamp debian/debhelper-build-stamp
dh_prep
dh_auto_install --destdir=debian/foo/
dh_install
dh_installdocs
dh_installchangelogs
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_missing
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: сборка пакета «foo» в «../foo_1.0_all.deb».
dpkg-genbuildinfo -O../foo_1.0_amd64.buildinfo
dpkg-genchanges -O../foo_1.0_amd64.changes
dpkg-genchanges: инфо: в закачку включён весь исходный код
dpkg-source --after-build .
dpkg-buildpackage: инфо: закачка всего; родной пакет Debian (включены все пакеты исходного кода)
foo-1.0$
foo-1.0$
foo-1.0$ cd ..
$
$
$ ls
foo-1.0 foo_1.0_amd64.buildinfo foo_1.0.dsc foo_1.0_source.changes x.ctl
foo_1.0_all.deb foo_1.0_amd64.changes foo_1.0_source.buildinfo foo_1.0.tar.xz
$
$
$
Shell
$ cat foo_1.0.dsc
Format: 3.0 (native)
Source: foo
Binary: foo
Architecture: all
Version: 1.0
Maintainer: Equivs Dummy Package Generator <user@debian>
Standards-Version: 3.9.2
Build-Depends: debhelper-compat (= 12), cafe, babe
Package-List:
foo deb misc optional arch=all
Checksums-Sha1:
e73c1dc8e6d8847945b4f0d8c8533efd8c35f01a 1680 foo_1.0.tar.xz
Checksums-Sha256:
43ecc1f86419e5b04770ba495627168dab5c7beb7d9d48fca2626eb479bd4d90 1680 foo_1.0.tar.xz
Files:
405df431fecafab695d620e0eacced0f 1680 foo_1.0.tar.xz
$
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
А теперь чё-то нужно как-то запихать в кэш, чтобы команднуть вот так:
Shell
$ apt-rdepends -b foo
...и вот тут увидеть сборочные зависисмости
$
Установим пакет foo
$ sudo apt-get install ./foo_1.0_all.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Заметьте, вместо «./foo_1.0_all.deb» выбирается «foo»
Следующие пакеты устанавливались автоматически и больше не требуются:
dkms firmware-nvidia-gsp gir1.2-ayatanaappindicator3-0.1 glx-alternative-mesa glx-alternative-nvidia glx-diversions grub-pc-bin
libbcg729-0 libc-ares2 libc6-i386 libchewing3 libchewing3-data libkf5sane-data libkf5sane5 libksanecore1 libmaliit-plugins2
libnvidia-allocator1 libnvidia-egl-gbm1 libnvidia-egl-wayland1 libnvidia-eglcore libnvidia-glcore libnvidia-glvkspirv
libnvidia-ptxjitcompiler1 libnvidia-rtcore libnvidia-tesla-470-cfg1 libpinyin-data libpinyin15 libpresage-data libpresage1v5
libqt5feedback5 libqt5multimedia5 libsmi2ldbl libtinyxml2.6.2v5 libwireshark-data libwireshark16 libwiretap13 libwsutil14
maliit-framework mokutil nvidia-egl-common nvidia-installer-cleanup nvidia-kernel-common nvidia-legacy-check nvidia-modprobe
nvidia-persistenced nvidia-support nvidia-suspend-common nvidia-tesla-470-alternative nvidia-vulkan-common onboard-common presage
python3-dbus qml-module-qtquick-localstorage shim-helpers-amd64-signed shim-signed-common shim-unsigned update-glx xawtv-plugins
xsane-common
Для их удаления используйте «sudo apt autoremove».
Следующие НОВЫЕ пакеты будут установлены:
foo
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 390 пакетов не обновлено.
Необходимо скачать 0 B/2 168 B архивов.
После данной операции объём занятого дискового пространства возрастёт на 9 216 B.
Пол:1 /home/user/Desktop/foo/foo_1.0_all.deb foo all 1.0 [2 168 B]
Выбор ранее не выбранного пакета foo.
(Чтение базы данных … на данный момент установлен 308851 файл и каталог.)
Подготовка к распаковке …/Desktop/foo/foo_1.0_all.deb …
Распаковывается foo (1.0) …
Настраивается пакет foo (1.0) …
Сканирование процессов...
Scanning processor microcode...
Сканирование образов linux...
Запущено ядро последней версии.
The processor microcode seems to be up-to-date.
Службы не требуют перезапуска.
Контейнеры не требуют перезапуска.
В сеансах пользователей нет устаревших процессов.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/foo/foo_1.0_all.deb» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
$
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Заметьте, вместо «./foo_1.0_all.deb» выбирается «foo»
Следующие пакеты устанавливались автоматически и больше не требуются:
dkms firmware-nvidia-gsp gir1.2-ayatanaappindicator3-0.1 glx-alternative-mesa glx-alternative-nvidia glx-diversions grub-pc-bin
libbcg729-0 libc-ares2 libc6-i386 libchewing3 libchewing3-data libkf5sane-data libkf5sane5 libksanecore1 libmaliit-plugins2
libnvidia-allocator1 libnvidia-egl-gbm1 libnvidia-egl-wayland1 libnvidia-eglcore libnvidia-glcore libnvidia-glvkspirv
libnvidia-ptxjitcompiler1 libnvidia-rtcore libnvidia-tesla-470-cfg1 libpinyin-data libpinyin15 libpresage-data libpresage1v5
libqt5feedback5 libqt5multimedia5 libsmi2ldbl libtinyxml2.6.2v5 libwireshark-data libwireshark16 libwiretap13 libwsutil14
maliit-framework mokutil nvidia-egl-common nvidia-installer-cleanup nvidia-kernel-common nvidia-legacy-check nvidia-modprobe
nvidia-persistenced nvidia-support nvidia-suspend-common nvidia-tesla-470-alternative nvidia-vulkan-common onboard-common presage
python3-dbus qml-module-qtquick-localstorage shim-helpers-amd64-signed shim-signed-common shim-unsigned update-glx xawtv-plugins
xsane-common
Для их удаления используйте «sudo apt autoremove».
Следующие НОВЫЕ пакеты будут установлены:
foo
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 390 пакетов не обновлено.
Необходимо скачать 0 B/2 168 B архивов.
После данной операции объём занятого дискового пространства возрастёт на 9 216 B.
Пол:1 /home/user/Desktop/foo/foo_1.0_all.deb foo all 1.0 [2 168 B]
Выбор ранее не выбранного пакета foo.
(Чтение базы данных … на данный момент установлен 308851 файл и каталог.)
Подготовка к распаковке …/Desktop/foo/foo_1.0_all.deb …
Распаковывается foo (1.0) …
Настраивается пакет foo (1.0) …
Сканирование процессов...
Scanning processor microcode...
Сканирование образов linux...
Запущено ядро последней версии.
The processor microcode seems to be up-to-date.
Службы не требуют перезапуска.
Контейнеры не требуют перезапуска.
В сеансах пользователей нет устаревших процессов.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/foo/foo_1.0_all.deb» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
$
Shell
$ apt-rdepends foo
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
foo
Depends: tree
tree
Depends: libc6 (>= 2.34)
libc6
Depends: libgcc-s1
libgcc-s1
Depends: gcc-12-base (= 12.2.0-14+deb12u1)
Depends: libc6 (>= 2.35)
gcc-12-base
$
$
$
$ apt-rdepends -b foo
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
foo
$
Спасибо, кто откликнется, debian 12