Всем привет. Есть интерес сделать backport пакета для precise 12.04 из trusty 14.04 c помощью pbuilder. Настроил так:
$ cat ~/.pbuilderrc
# this is your configuration file for pbuilder.
# the file in /usr/share/pbuilder/pbuilderrc is the default template.
# /etc/pbuilderrc is the one meant for overwriting defaults in
# the default template
#
# read pbuilderrc.5 document for notes on specific options.
MIRRORSITE=http://ru.archive.ubuntu.com/ubuntu/
DISTRIBUTION=precise
COMPONENTS="main restricted universe multiverse"
APTCACHE=/home/pavel/pbuilder/aptcache
BUILDPLACE=/home/pavel/pbuilder/build
BUILDRESULT=/home/pavel/pbuilder/precise_result
CCACHEDIR=/home/pavel/pbuilder/ccache
BASETGZ=/home/pavel/pbuilder/precise-base.tgz
BINDMOUNTS=/home/pavel/pbuilder/local_repo
OTHERMIRROR="deb file:///home/pavel/pbuilder/local_repo ./"
HOOKDIR=/home/pavel/pbuilder/hook.d
EXTRAPACKAGES="apt-utils"
ALLOWUNTRUSTED=yes
DEBBUILDOPTS="-b -us -uc"
$ cat ~/pbuilder/hook.d/D05deps
#!/bin/sh
LOCAL_REPO=/home/pavel/pbuilder/local_repo
(cd $LOCAL_REPO ; apt-ftparchive packages . > Packages)
При запуске pbuilder не подхватывает OTHERMIRROR из конфига, поэтому указываю его в параметре:
$ sudo pbuilder build --override-config --othermirror "deb file:///home/pavel/pbuilder/local_repo ./" ./iputils_20121221-4ubuntu1.1.dsc
I: using fakeroot in build.
I: Current time: Wed May 6 11:17:34 YEKT 2015
I: pbuilder-time-stamp: 1430893054
I: Building the build Environment
I: extracting base tarball [/home/pavel/pbuilder/precise-base.tgz]
I: creating local configuration
I: copying local configuration
I: Installing apt-lines
I: mounting /proc filesystem
I: mounting /run/shm filesystem
I: mounting /dev/pts filesystem
I: Mounting /home/pavel/pbuilder/ccache
I: Mounting /home/pavel/pbuilder/local_repo
I: policy-rc.d already exists
I: Obtaining the cached apt archive contents
I: Setting up ccache
I: Installing the build-deps
I: user script /home/pavel/pbuilder/build/29392/tmp/hooks/D05deps starting
Ign file: ./ InRelease
Ign file: ./ Release.gpg
Ign file: ./ Release
Ign file: ./ Translation-en
Ign http://ru.archive.ubuntu.com precise InRelease
Get:1 http://ru.archive.ubuntu.com precise Release.gpg [198 B]
Get:2 http://ru.archive.ubuntu.com precise Release [49.6 kB]
Get:3 http://ru.archive.ubuntu.com precise/main i386 Packages [1274 kB]
Get:4 http://ru.archive.ubuntu.com precise/restricted i386 Packages [8431 B]
Get:5 http://ru.archive.ubuntu.com precise/universe i386 Packages [4796 kB]
Get:6 http://ru.archive.ubuntu.com precise/multiverse i386 Packages [121 kB]
Get:7 http://ru.archive.ubuntu.com precise/main TranslationIndex [3706 B]
Get:8 http://ru.archive.ubuntu.com precise/multiverse TranslationIndex [2676 B]
Get:9 http://ru.archive.ubuntu.com precise/restricted TranslationIndex [2596 B]
Get:10 http://ru.archive.ubuntu.com precise/universe TranslationIndex [2922 B]
Get:11 http://ru.archive.ubuntu.com precise/main Translation-en [726 kB]
Get:12 http://ru.archive.ubuntu.com precise/multiverse Translation-en [93.4 kB]
Get:13 http://ru.archive.ubuntu.com precise/restricted Translation-en [2395 B]
Get:14 http://ru.archive.ubuntu.com precise/universe Translation-en [3341 kB]
Fetched 10.4 MB in 20s (520 kB/s)
Reading package lists... Done
I: user script /home/pavel/pbuilder/build/29392/tmp/hooks/D05deps finished
-> Attempting to satisfy build-dependencies
-> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: i386
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
This package was created automatically by pbuilder to satisfy the
build-dependencies of the package being currently built.
Depends: debhelper (>= 7), sp, sgmlspl, docbook, libcap-dev, libgnutls-openssl-dev
dpkg-deb: building package `pbuilder-satisfydepends-dummy' in `/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 14067 files and directories currently installed.)
Unpacking pbuilder-satisfydepends-dummy (from .../pbuilder-satisfydepends-dummy.deb) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
pbuilder-satisfydepends-dummy depends on debhelper (>= 7); however:
Package debhelper is not installed.
pbuilder-satisfydepends-dummy depends on sp; however:
Package sp is not installed.
pbuilder-satisfydepends-dummy depends on sgmlspl; however:
Package sgmlspl is not installed.
pbuilder-satisfydepends-dummy depends on docbook; however:
Package docbook is not installed.
pbuilder-satisfydepends-dummy depends on libcap-dev; however:
Package libcap-dev is not installed.
pbuilder-satisfydepends-dummy depends on libgnutls-openssl-dev; however:
Package libgnutls-openssl-dev is not installed.
Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
The following NEW packages will be installed:
bsdmainutils{a} debhelper{a} dh-apparmor{a} docbook{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libcap-dev{a} libcap2{a}
libcroco3{a} libgettextpo0{a} libmagic1{a} libpipeline1{a} libsgmls-perl{a} libsp1c2{a} libunistring0{a} libxml2{a} man-db{a} po-debconf{a}
sgml-base{a} sgml-data{a} sgmlspl{a} sp{a} xml-core{a}
The following packages will be upgraded:
dpkg dpkg-dev libdpkg-perl
The following packages are RECOMMENDED but will NOT be installed:
curl libfile-fcntllock-perl libmail-sendmail-perl lynx-cur wget
3 packages upgraded, 26 newly installed, 0 to remove and 0 not upgraded.
Need to get 490 kB/13.1 MB of archives. After unpacking 28.7 MB will be used.
The following packages have unmet dependencies:
pbuilder-satisfydepends-dummy : Depends: libgnutls-openssl-dev which is a virtual package.
Unable to resolve dependencies! Giving up...
The following NEW packages will be installed:
bsdmainutils{a} debhelper{a} dh-apparmor{a} docbook{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libcap-dev{a} libcap2{a}
libcroco3{a} libgettextpo0{a} libmagic1{a} libpipeline1{a} libsgmls-perl{a} libsp1c2{a} libunistring0{a} libxml2{a} man-db{a} po-debconf{a}
sgml-base{a} sgml-data{a} sgmlspl{a} sp{a} xml-core{a}
The following packages will be upgraded:
dpkg dpkg-dev libdpkg-perl
The following packages are RECOMMENDED but will NOT be installed:
curl libfile-fcntllock-perl libmail-sendmail-perl lynx-cur wget
3 packages upgraded, 26 newly installed, 0 to remove and 0 not upgraded.
Need to get 490 kB/13.1 MB of archives. After unpacking 28.7 MB will be used.
Abort.
-> Finished parsing the build-deps
Reading package lists...
Building dependency tree...
Reading state information...
apt-utils is already the newest version.
fakeroot is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
pbuilder-satisfydepends-dummy : Depends: debhelper (>= 7) but it is not going to be installed
Depends: sp but it is not going to be installed
Depends: sgmlspl but it is not going to be installed
Depends: docbook but it is not going to be installed
Depends: libcap-dev but it is not going to be installed
Depends: libgnutls-openssl-dev but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
I: Copying back the cached apt archive contents
I: unmounting /home/pavel/pbuilder/local_repo filesystem
I: unmounting /home/pavel/pbuilder/ccache filesystem
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc filesystem
I: cleaning the build env
I: removing directory /home/pavel/pbuilder/build/29392 and its subdirectories
Как видим, спотыкается на зависимостях, хотя нужный debhelper был заранее бекпортирован и лежит в указанном месте BINDMOUNTS=/home/pavel/pbuilder/local_repo
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
pbuilder-satisfydepends-dummy : Depends: debhelper (>= 7) but it is not going to be installed
Depends: sp but it is not going to be installed
Depends: sgmlspl but it is not going to be installed
Depends: docbook but it is not going to be installed
Depends: libcap-dev but it is not going to be installed
Depends: libgnutls-openssl-dev but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Не пойму почему он не подхватывается. Вот сам файл debhelper_9.20131227ubuntu1_all.deb
$ cd ~/pbuilder/local_repo/
$ dpkg-deb -I debhelper_9.20131227ubuntu1_all.deb
новый пакет debian, версия 2.0.
размер 702404 байт(а): управляющий архив длиной 9838 байт(а).
1022 байт(а), 20 строк control
25339 байт(а), 349 строк md5sums
Package: debhelper
Version: 9.20131227ubuntu1
Architecture: all
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Installed-Size: 976
Depends: perl, file (>= 3.23), dpkg (>= 1.16.2), dpkg-dev (>= 1.17.0), binutils, po-debconf, man-db (>= 2.5.1-1), dh-apparmor
Suggests: dh-make
Conflicts: automake (<< 1.11.2), dpkg-cross (<< 1.18), python-central (<< 0.5.6), python-support (<< 0.5.3)
Section: devel
Priority: optional
Multi-Arch: foreign
Homepage: http://kitenet.net/~joey/code/debhelper/
Description: helper programs for debian/rules
A collection of programs that can be used in a debian/rules file to
automate common tasks related to building debian packages. Programs
are included to install various files into your package, compress
files, fix file permissions, integrate your package with the debian
menu system, debconf, doc-base, etc. Most debian packages use debhelper
as part of their build process.
Original-Maintainer: Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>
Есть ли какие-нибудь идеи?
Пользователь решил продолжить мысль [time]06 Май 2015, 16:05:54[/time]:
Добавил debhelper в EXTRAPACKAGES в конфиге, пакет установился, обновил образ, теперь те же грабли с остальными зависимостями
http://pastebin.com/kq6i4CMpYou might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
pbuilder-satisfydepends-dummy : Depends: sp but it is not going to be installed
Depends: sgmlspl but it is not going to be installed
Depends: docbook but it is not going to be installed
Depends: libcap-dev but it is not going to be installed
Depends: libgnutls-openssl-dev but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Не понимаю что мешает pbuilder-у эти пакеты (те что is not going to be installed) скачать и установить. В репах precise они вроде имеются.