Missing dpkg-dev dependency results in false bad quality warnings when installing local packages

Bug #1066457 reported by Johnymsith
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
aptdaemon (Ubuntu)
Fix Released
Critical
Unassigned
Quantal
Fix Released
Critical
Unassigned

Bug Description

There is a missing dependency on the dpkg-dev package by aptdaemon. The dpkg-vendor command of the dpkg-dev package is used to detect if the system is a Debian or Ubuntu derivate. The result is used to select the correct lintian profile which is used to check the quality of local packages before installing them.

If dpkg-dev isn't installed (by default it isn't installed) the test package quality fails and every package is reported as beeing of bad quality.

Unfortunately dpkg-dev is installed on nearly every developer system and the build system which is used for the unit tests.

Test case:

1. Boot a fresh installed system
2. Download a package file, e.g.
   http://www.teamviewer.com/download/teamviewer_linux_x64.deb
3. Install the package file in software-center

Original Message:

I tried to install Teamviewer 7 in ubuntu 12.10 64bit with the 64bit deb package downloaded from TW site, but Software Center says that this deb was a bad package. Also tried to install from gdeb but nothing.

Tags: patch 64bit
Revision history for this message
Sebastian Heinlein (glatzor) wrote :

If you look at the details in the error message you see why it was regarded as a package of bad quality. Please copy and paste the information here. So we can check if it is a false positive.

Changed in aptdaemon (Ubuntu):
status: New → Incomplete
importance: Undecided → Low
Revision history for this message
Johnymsith (qc6i-g) wrote :

1st: Details-> Lintian check results for /tmp/teamviewer_linux_x64.deb:
I clicked "Ingore and Install"
2nd: Details->Selecting previously unselected package teamviewer7.
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 177295 files and directories currently installed.)
Unpacking teamviewer7 (from /tmp/teamviewer_linux_x64.deb) ...
dpkg: dependency problems prevent configuration of teamviewer7:
 teamviewer7 depends on ia32-libs; however:
  Package ia32-libs is not installed.

dpkg: error processing teamviewer7 (--install):
 dependency problems - leaving unconfigured
----
Does this mean that I have to install "Package ia32-libs"?

Johnymsith (qc6i-g)
tags: added: 64bit
Revision history for this message
Sebastian Heinlein (glatzor) wrote :

Thanks.

"1st: Details-> Lintian check results for /tmp/teamviewer_linux_x64.deb:"
Is this all you get in the dialog? Perhaps you have to make the window bigger or scroll down to see more. The most important part is missing :)

Right, it seems that there is a missing dependency.

Revision history for this message
Johnymsith (qc6i-g) wrote :

Yes, it just give me that line.

I tried to install ia32-libs for 64bit but also for that package it said "Bad quality of package"

Revision history for this message
Logan Rosen (logan) wrote :

I'm going to mark this bug as Invalid, as it refers to how the TeamViewer DEB file generates many Lintian errors/warnings and thus is of bad quality. This should be reported to the developers of TeamViewer, as it is not available in the Ubuntu repositories.

Changed in aptdaemon (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
Sebastian Heinlein (glatzor) wrote : Re: [Bug 1066457] Re: Bad quality of package. Teamviewer 7 64bit

Am Sonntag, den 14.10.2012, 21:14 +0000 schrieb glen lalo:
> Yes, it just give me that line.

That is not nice. Are you familiar with running commands from a
terminal?

Could you please try to run lintian in a terminal and copy/paste the
output:

lintian --no-cfg --fail-on-warnings --profile ubuntu/aptdaemon \
    PATH_TO_DEB_FILE
echo $?

Lintian is a tool to check for Ubuntu/Debian policy violations in Debian
packages.

> I tried to install ia32-libs for 64bit but also for that package it said
> "Bad quality of package"

There seems to be a problem with the lintian check that causes some side
effects.

Changed in aptdaemon (Ubuntu):
status: Invalid → Incomplete
Revision history for this message
Sebastian Heinlein (glatzor) wrote : Re: Bad quality of package. Teamviewer 7 64bit

Hello Logan, Thanks for keeping an eye on this aptdaemon bug. You are right generally. But in this case there seems to be a problem with the lintian check, so I would like to get more information.

todaioan (alan-ar06)
Changed in aptdaemon (Ubuntu):
status: Incomplete → Fix Released
Revision history for this message
Logan Rosen (logan) wrote :

No reason to mark this as Fix Released, from what I can see...

Revision history for this message
Sebastian Heinlein (glatzor) wrote :

@toda: please take care when changing bug states.

Changed in aptdaemon (Ubuntu):
status: Fix Released → Incomplete
Revision history for this message
Johnymsith (qc6i-g) wrote :

glen@ubuntu:~$ lintian --no-cfg --fail-on-warnings --profile ubuntu/aptdaemon \
> teamviewer_linux_x64.deb
//at this point i waited 10sec and it just gave me this response...//
glen@ubuntu:~$ echo $?
0
glen@ubuntu:~$

Revision history for this message
Sebastian Heinlein (glatzor) wrote :

Could you please run aptdaemon in a terminal and try to reinstall the package file? The debug output should give us a hint why the lintian call fails.

So please tun the following command in a terminal and copy and paste the output:

sudo /usr/sbin/aptd --disable-timeout --replace --debug

Or in a short form:

sudo /usr/sbin/aptd -tpd

Revision history for this message
Johnymsith (qc6i-g) wrote :

glen@ubuntu:~$ sudo /usr/sbin/aptd --disable-timeout --replace --debug
[sudo] password for glen:
14:41:11 AptDaemon [INFO]: Initializing daemon
14:41:11 AptDaemon.Worker [DEBUG]: using high-trust whitelist: '{('Ubuntu', 'universe', 'unity-webapps-.*')}'
14:41:11 AptDaemon.Worker [DEBUG]: Loaded modify_cache_after plugin: language-selector 0.1
14:41:11 AptDaemon.Worker [DEBUG]: Loaded get_license_key plugin: software-center-aptd-plugins 0.0.0
14:41:11 AptDaemon.PackageKit [INFO]: Initializing PackageKit compat layer
14:41:11 AptDaemon.NetMonitor [DEBUG]: Initializing NetworkManager monitor
14:41:11 AptDaemon.NetMonitor [DEBUG]: Initializing network monitor
14:41:11 AptDaemon [DEBUG]: Daemon was initialized
14:41:11 AptDaemon [DEBUG]: Waiting for calls
14:41:11 AptDaemon.NetMonitor [DEBUG]: Network state changed: wired
14:41:11 AptDaemon.PackageKit [DEBUG]: Emitting PackageKit Changed()
14:41:11 AptDaemon [DEBUG]: Emitting PropertiesChanged: org.freedesktop.PackageKit, {'NetworkState': 'wired'}, []
....Only this. It has more than 1hour working bit only this is shown in terminal.

Revision history for this message
Sebastian Heinlein (glatzor) wrote : Re: [Bug 1066457] Re: Bad quality of package. Teamviewer 7 64bit

Sorry I should have mentioned this more explicitly: you need to install teamviewer while running aptdaemon in a terminal.

--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

Revision history for this message
Johnymsith (qc6i-g) wrote : Re: Bad quality of package. Teamviewer 7 64bit
Download full text (6.9 KiB)

1st: I see this error now while installing TW
----------------------------------------------------------------
Lintian check results for /home/glen/teamviewer_linux_x64.deb:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/aptdaemon/progress.py", line 450, in run
    self._child(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/aptdaemon/progress.py", line 624, in _child
    "--derives-from", "Ubuntu"]) == 0:
  File "/usr/lib/python3.2/subprocess.py", line 484, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python3.2/subprocess.py", line 471, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python3.2/subprocess.py", line 745, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.2/subprocess.py", line 1371, in _execute_child
    raise child_exception_type(errno_num, err_msg)
OSError: [Errno 2] No such file or directory: '/usr/bin/dpkg-vendor'
----------------------------------------------------------------------------------------------
and this on terminal:
----------------------------------------------------------------------
17:35:03 AptDaemon [INFO]: InstallFile() was called: /home/glen/teamviewer_linux_x64.deb
17:35:03 AptDaemon [DEBUG]: Set() was called: Locale, en_US.UTF-8
17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: locale, en_US.UTF-8
17:35:03 AptDaemon [DEBUG]: GetAll() was called: org.debian.apt.transaction
17:35:03 AptDaemon [DEBUG]: Set() was called: MetaData, dbus.Dictionary({dbus.String('sc_filename'): dbus.String('/home/glen/teamviewer_linux_x64.deb', variant_level=1)}, signature=dbus.Signature('sv'), variant_level=1)
17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: MetaData, dbus.Dictionary({dbus.String('sc_filename'): dbus.String('/home/glen/teamviewer_linux_x64.deb', variant_level=1)}, signature=dbus.Signature('sv'))
17:35:03 AptDaemon [DEBUG]: Set() was called: MetaData, dbus.Dictionary({dbus.String('sc_pkgname'): dbus.String('teamviewer7', variant_level=1)}, signature=dbus.Signature('sv'), variant_level=1)
17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: MetaData, dbus.Dictionary({dbus.String('sc_filename'): dbus.String('/home/glen/teamviewer_linux_x64.deb', variant_level=1), dbus.String('sc_pkgname'): dbus.String('teamviewer7', variant_level=1)}, signature=dbus.Signature('sv'))
17:35:03 AptDaemon [DEBUG]: Set() was called: DebconfSocket, /tmp/aptdaemon-VpeTPX/debconf.socket
17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: DebconfSocket, /tmp/aptdaemon-VpeTPX/debconf.socket
17:35:03 AptDaemon [DEBUG]: Set() was called: RemoveObsoletedDepends, 1
17:35:03 AptDaemon.Trans [INFO]: Queuing transaction /org/debian/apt/transaction/f900cf1394734ad4832fa1c15be33da8
17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: RemoveObsoletedDepends, 1
17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: Status, status-authenticating
17:35:10 AptDaemon [DEBUG]: GetAll() was called: org.debian.apt
17:35:10 AptDaemon [DEBUG]: GetActiveTransactions() was called
17:35:20 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: Progress, 9
17:35:20 AptDaemon.Worker [INFO]: Simulating trans: /...

Read more...

Revision history for this message
Sebastian Heinlein (glatzor) wrote : Re: [Bug 1066457] Re: Bad quality of package. Teamviewer 7 64bit
Download full text (7.6 KiB)

Thanks a lot. I will have a look at it tomorrow

glen lalo <email address hidden> schrieb:

>1st: I see this error now while installing TW
>----------------------------------------------------------------
>Lintian check results for /home/glen/teamviewer_linux_x64.deb:
>Traceback (most recent call last):
>File "/usr/lib/python3/dist-packages/aptdaemon/progress.py", line 450,
>in run
> self._child(*args, **kwargs)
>File "/usr/lib/python3/dist-packages/aptdaemon/progress.py", line 624,
>in _child
> "--derives-from", "Ubuntu"]) == 0:
> File "/usr/lib/python3.2/subprocess.py", line 484, in check_call
> retcode = call(*popenargs, **kwargs)
> File "/usr/lib/python3.2/subprocess.py", line 471, in call
> return Popen(*popenargs, **kwargs).wait()
> File "/usr/lib/python3.2/subprocess.py", line 745, in __init__
> restore_signals, start_new_session)
> File "/usr/lib/python3.2/subprocess.py", line 1371, in _execute_child
> raise child_exception_type(errno_num, err_msg)
>OSError: [Errno 2] No such file or directory: '/usr/bin/dpkg-vendor'
>----------------------------------------------------------------------------------------------
>and this on terminal:
>----------------------------------------------------------------------
>17:35:03 AptDaemon [INFO]: InstallFile() was called:
>/home/glen/teamviewer_linux_x64.deb
>17:35:03 AptDaemon [DEBUG]: Set() was called: Locale, en_US.UTF-8
>17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: locale,
>en_US.UTF-8
>17:35:03 AptDaemon [DEBUG]: GetAll() was called:
>org.debian.apt.transaction
>17:35:03 AptDaemon [DEBUG]: Set() was called: MetaData,
>dbus.Dictionary({dbus.String('sc_filename'):
>dbus.String('/home/glen/teamviewer_linux_x64.deb', variant_level=1)},
>signature=dbus.Signature('sv'), variant_level=1)
>17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: MetaData,
>dbus.Dictionary({dbus.String('sc_filename'):
>dbus.String('/home/glen/teamviewer_linux_x64.deb', variant_level=1)},
>signature=dbus.Signature('sv'))
>17:35:03 AptDaemon [DEBUG]: Set() was called: MetaData,
>dbus.Dictionary({dbus.String('sc_pkgname'): dbus.String('teamviewer7',
>variant_level=1)}, signature=dbus.Signature('sv'), variant_level=1)
>17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: MetaData,
>dbus.Dictionary({dbus.String('sc_filename'):
>dbus.String('/home/glen/teamviewer_linux_x64.deb', variant_level=1),
>dbus.String('sc_pkgname'): dbus.String('teamviewer7',
>variant_level=1)}, signature=dbus.Signature('sv'))
>17:35:03 AptDaemon [DEBUG]: Set() was called: DebconfSocket,
>/tmp/aptdaemon-VpeTPX/debconf.socket
>17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged:
>DebconfSocket, /tmp/aptdaemon-VpeTPX/debconf.socket
>17:35:03 AptDaemon [DEBUG]: Set() was called: RemoveObsoletedDepends, 1
>17:35:03 AptDaemon.Trans [INFO]: Queuing transaction
>/org/debian/apt/transaction/f900cf1394734ad4832fa1c15be33da8
>17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged:
>RemoveObsoletedDepends, 1
>17:35:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: Status,
>status-authenticating
>17:35:10 AptDaemon [DEBUG]: GetAll() was called: org.debian.apt
>17:35:10 AptDaemon [DEBUG]: GetActiveTransacti...

Read more...

Changed in aptdaemon (Ubuntu):
importance: Low → Critical
status: Incomplete → Triaged
summary: - Bad quality of package. Teamviewer 7 64bit
+ Missing dpkg-dev dependency results in false bad quality warnings when
+ installing local packages
Revision history for this message
Sebastian Heinlein (glatzor) wrote :

remove the need to call dpkg-vendor

Changed in aptdaemon (Ubuntu):
status: Triaged → Fix Committed
status: Fix Committed → In Progress
description: updated
description: updated
Changed in aptdaemon (Ubuntu):
milestone: none → ubuntu-12.10
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "fix_dpkg_dev_dependency.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Revision history for this message
Colin Watson (cjwatson) wrote :

Sebastian, dpkg-vendor is only intended for use at build time; in future this code probably ought to use lsb_release instead.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package aptdaemon - 0.45+bzr861-0ubuntu9.1

---------------
aptdaemon (0.45+bzr861-0ubuntu9.1) quantal-proposed; urgency=low

  [ Sebastian Heinlein ]
  * do not issue a "quality warning" if dpkg-vendor is missing
    (LP: #1066457)
 -- Michael Vogt <email address hidden> Tue, 16 Oct 2012 13:58:07 +0200

Changed in aptdaemon (Ubuntu Quantal):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.