DAB fails to install .deb package

apmuthu

Renowned Member
Feb 26, 2009
808
8
83
Chennai - India & Singapore
github.com
While the make was going on, the output of the dab install commands that led to a .deb package not being installed error is:
Code:
[COLOR=red]install -m 0777 stomp /var/lib/vz/private/90000/var/www/stomp.py_3.0.2_all.deb[/COLOR]
[COLOR=red]dab exec dpkg -i /var/www/stomp.py_3.0.2_all.deb[/COLOR]
Selecting previously deselected package stomp.py.
(Reading database ... 19711 files and directories currently installed.)
Unpacking stomp.py (from .../var/www/stomp.py_3.0.2_all.deb) ...
Setting up stomp.py (3.0.2) ...
Processing triggers for python-support ...
[COLOR=red]dab install recoll[/COLOR]
no such package 'stomp.py' at /usr/share/perl5/PVE/DAB.pm line 1025.
no such package 'stomp.py' at /usr/share/perl5/PVE/DAB.pm line 1025.
make: *** [all] Error 255
The ${BASEDIR}/var/www/stomp.py_3.0.2_all.deb exists and is installed correctly.
The red lines are from the Makefile.
The offending line 1025 in DAB.pm is:
Code:
 my $info = $pkginfo->{$pname} || die "no such package '$pname'";
 
When we start the Virtual machine we are able to install the package recoll. A check on the debian repository will show that the said package exists. The stomp deb package gets installed correctly.

Hence, where (in which repo) should the recoll package be for it to get installed during DAB building?

Note: I have successfully used APT Pinning to make sure that the python-support package gets installed from the lenny-backports repository during DAB building. A lot of DAB commands are there in the examples while missing in the manual - just ferreting them out as we go along.
 
It appears that the stomp.py_3.0.2_all.deb file is not in the repositories in /etc/apt/source.list

How do we then install a local deb file using DAB and successfully complete the build process?

Placing the said deb file in the /var/lib/vz/template/cache/lenny folder (the CacheDir in the dab.conf file) also did not get the job done. If we are to place a line in the /etc/apt/sources.list file like:
Code:
deb [URL="file:///var/lib/vz/template/cache/lenny ./"]file://[COLOR=#000000]/var/lib/vz/template/cache/lenny ./[/COLOR][/URL]
and have dpkg-scanpackages command available (apt-get install dpkg-dev) to create the Packages.gz will it work or is it deprecated now?

Must the said file://path be inside the container?

Ref Link.
 
Last edited:
How do we then install a local deb file using DAB and successfully complete the build process?

After looking at the code again, I think it is just a bug in DAB somewhere. Please can you send me the
file: "$rootdir/var/lib/dpkg/status" (After you install stomp.py_3.0.2_all.deb with dpkg).

Or send me detailed instructions to reproduce the bug (send to dietmar@proxmox.com)
 
Attached are the Build Files View attachment BuildFiles.zip causing the error and the "$rootdir/var/lib/dpkg/status" file View attachment status.zip after the error occurred.

We find that the status file does not have "stomp" in it. An analysis of the status file shows that both python-support and python-simplejson are installed from the lenny-backports, whereas we need only the python-support from the lenny-backports repo.

How do we instruct DAB to install packages from a specific repo?
 
The Makefile dpkg.... line was corrected to be dab install dpkg.... and is attached herein alongwith the new status file View attachment NewMakeStatus.zip.

The subsequent DAB Error is:
Code:
dab install zip unzip
install: zip
install: unzip
dab install python-support
install: python-support
dab install python-simplejson
install: python-simplejson
dab exec dpkg -i /etc/stomp.py_3.0.2_all.deb
Selecting previously deselected package stomp.py.
(Reading database ... 19711 files and directories currently installed.)
Unpacking stomp.py (from /etc/stomp.py_3.0.2_all.deb) ...
Setting up stomp.py (3.0.2) ...
Processing triggers for python-support ...
dab install recoll
no such package 'stomp.py' at /usr/share/perl5/PVE/DAB.pm line 1025.
no such package 'stomp.py' at /usr/share/perl5/PVE/DAB.pm line 1025.
make: *** [all] Error 255

Here also, in the status file, we see that both the python packages are from the lenny-backports and the status shows the stomp.py package as installed. Then why this error during DAB Build?
 
Thanks Dietmar for your temporary fix vide dab_1.1-5_all.deb View attachment dab_1.1-5.zip.

It works!

The change in /usr/share/perl5/PVE/DAB.pm in this version is to replace line 1025:
Code:
 my $info = $pkginfo->{$pname} || die "no such package '$pname'";
with
Code:
 my $info = $pkginfo->{$pname};
 # fixme: if someone install packages directly using dpkg, there
 # is no entry in 'available', only in 'status'. In that case, we
 # should extract info from $instpkgs
 if (!$info) {
     warn "hint: ignoring provides for '$pname' - package not in 'available' list.\n";
     next;
 }

Are there any other changes in the new package?
 
Another place of error in DAB.pm. Line number 1072 in dab v1.1-5:
Code:
    my $info = $pkginfo->{$pname} || die "no such package '$pname'";

Error on make:
Code:
[B]dab install zip unzip[/B]
install: zip
install: unzip
[B]dab install python-support[/B]
install: python-support
[B]dab install python-simplejson[/B]
install: python-simplejson
[B]dab install python-uno[/B]
no such package 'openoffice.org-style-default' at /usr/share/perl5/PVE/DAB.pm line 1072.
no such package 'openoffice.org-style-default' at /usr/share/perl5/PVE/DAB.pm line 1072.
make: *** [all] Error 255
 
no such package 'openoffice.org-style-default' at /usr/share/perl5/PVE/DAB.pm line 1072.

'openoffice.org-style-default' seems to be a 'virtual' package, which is provided by various other packages. So you need to resolve that issue manually by installing a packages which provides 'openoffice.org-style-default'.

for example:

Code:
dab install openoffice.org-style-andromeda 
dab install python-uno
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!