Сложность в создании частного пакета бэкпорта Debian из Testing, когда требуется, чтобы любая из его зависимостей была версиями из Backports или Testing - PullRequest
0 голосов
/ 03 апреля 2019

Мне нужно установить пакет в моей установке Debian Stable (Stretch), но, к сожалению, стабильная версия этого пакета устарела для поддержки моего оборудования.Кроме того, нет версии Backports (Stretch).Поэтому я пытаюсь создать частную версию обратного порта из пакета Debian Testing (Buster).Я хотел бы знать ... есть ли способ, предпочтительно простой, для обработки зависимостей, когда им требуется версия пакета, которая находится в Backports или даже тестирование?

Я пытался выполнить процедуру на https://wiki.debian.org/SimpleBackportCreation,, но у меня возникли трудности с требованиями к версии зависимостей при попытке использовать mk-build-deps --install --remove.Например:

$ sudo mk_build_deps --install --remove
dh_testdir
dh_testroot
dh_prep
dh_testdir
dh_testroot
dh_install
dh_install: Compatibility levels before 9 are deprecated (level 7 in use)
dh_installdocs
dh_installdocs: Compatibility levels before 9 are deprecated (level 7 in use)
dh_installchangelogs
dh_installchangelogs: Compatibility levels before 9 are deprecated (level 7 in use)
dh_compress
dh_fixperms
dh_installdeb
dh_installdeb: Compatibility levels before 9 are deprecated (level 7 in use)
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package 'intel-vaapi-driver-build-deps' in '../intel-vaapi-driver-build-deps_2.3.0+dfsg1-1_amd64.deb'.

The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
(Reading database ... 287322 files and directories currently installed.)
Preparing to unpack intel-vaapi-driver-build-deps_2.3.0+dfsg1-1_amd64.deb ...
Unpacking intel-vaapi-driver-build-deps (2.3.0+dfsg1-1) over (2.3.0+dfsg1-1) ...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies...Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) intel-vaapi-driver-build-deps:amd64 < 2.3.0+dfsg1-1 @iU mK Nb Ib >
Broken intel-vaapi-driver-build-deps:amd64 Depends on debhelper:amd64 < 10.2.5 @ii mK > (>= 12)
  Removing intel-vaapi-driver-build-deps:amd64 because I can't find debhelper:amd64
Done
 Done
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following packages will be REMOVED:
  intel-vaapi-driver-build-deps
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 9,216 B disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 287322 files and directories currently installed.)
Removing intel-vaapi-driver-build-deps (2.3.0+dfsg1-1) ...
mk-build-deps: Unable to install intel-vaapi-driver-build-deps at /usr/bin/mk-build-deps line 402.
mk-build-deps: Unable to install all build-dep packages

В этом примере debhelper:amd является стабильной версией пакета и не соответствует требованию.Версия Backports будет, но она не найдена и не установлена.Кстати, даже когда я уже установил версию Backports (которая отображается как < 12~bpo9+1 @ii mK >), она все еще жалуется на невозможность найти debhelper:amd

Итак, использует mk-build-deps должен работать, когда существуют требования к версии зависимостей, которые могут быть выполнены только пакетами из Backports и / или Testing?Если так, как вы обрабатываете зависимости от Backports?Кроме того, требуется ли вам обрабатывать зависимости от тестирования, создавая для каждого новый бэкпорт, а также делая то же самое для каждой из их зависимостей тестирования?Это может стать ужасно быстро.: (

Если нужно использовать mk-build-deps, то мне неясно, что именно должен делать make-build-deps. В частности, для пакета foo :

1) Предполагается ли mk-build-deps создать один пакет "зависимостей", например, foo-build-deps , который после установки, в свою очередь, установит кучу других пакетов, чтобы у нас было всенужно ли начать процесс создания пакета, который мы хотим перенести в бэкпорт?
2) Опция --remove для mk-build-deps вызывает немедленное удаление foo-build-deps при установке, но оставляетфактические зависимости установлены, чтобы мы могли скомпилировать / собрать наш пакет backport?
3) Если это так, будет ли пакет backport содержать собственную копию этих зависимостей, что позволит нам использовать apt-get autoremove для безопасного удаления зависимостей после того, как мы установилинаш бэкпорт пакет?

...