Bug#785314: libjs-prototype: debian/control file needs updating to support multiarch dependencies

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug#785314: libjs-prototype: debian/control file needs updating to support multiarch dependencies

Norman Ramsey-2
Package: libjs-prototype
Version: 1.7.1-3
Severity: important

Dear Maintainer,

   * What led up to the situation?

     I asked aptitude to install darktable:amd64 on a newly upgraded
     jessie multiarch system.  Dpkg reports as follows:

         : nr@homedog 10074 ; dpkg --print-architecture
         i386
         : nr@homedog 10075 ; dpkg --print-foreign-architectures
         amd64

   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?

         Marking the package with the plus sign resulted in an error
         messages that two dependencies of darktable:amd64 are not
         satisfied.  They are

             libjs-prototype:amd64
             libjs-scriptaculous:amd64

         These packages, without the :amd64 suffix, are installed on
         my system, and dpkg -s reports

              Architecture: all

         I suspect that something may be wrong with the dependencies.

   * What outcome did you expect instead?

         I expected the darktable:amd64 package to be installed.

I reported this problem against darktable as bug 785163, but the
darktable maintainers suggest that the problem actually lies in the
dependencies.  In searching documentation online, I found the
following statement about Architecture: all packages

  Pre-multiarch, architecture-dependent packages may depend on
  Architecture: all packages and assume that the transitive dependencies
  will be resolved using packages of the same architecture or other
  packages that are Architecture: all. To avoid breaking this
  assumption, Architecture: all packages will, at least initially, be
  treated as equivalent to packages of the native architecture for all
  dependency resolution.1 This means that for an Architecture: all
  package to satisfy the dependencies of a foreign-architecture package,
  it must be marked Multi-Arch: foreign or Multi-Arch: allowed.

According to the documentation I can find,

Multi-Arch: foreign

might be suitable for your package.


I have confirmed that if this line is added to your debian/control
file, the package installs, and (when other dependencies are similarly
updated), aptitude installs darktable:amd64 without complaint.


-- System Information:
Debian Release: 8.0
  APT prefers stable
  APT policy: (990, 'stable')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to en_US.utf8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

libjs-prototype depends on no packages.

Versions of packages libjs-prototype recommends:
ii  javascript-common  11

libjs-prototype suggests no packages.

-- no debconf information


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]

Reply | Threaded
Open this post in threaded view
|

Bug#785314: libjs-*: Multi-Arch with patch

Elrond-2

package libjs-prototype libjs-scriptaculous
tags 785313 +patch
tags 785314 +patch
thanks


Hi,

Norman Ramsey has provided details on how to fix this in
his initial reports. So tagging with patch.

Cheers

    Elrond

Reply | Threaded
Open this post in threaded view
|

Bug#785314: libjs-prototype: debian/control file needs updating to support multiarch dependencies

Andreas Beckmann-4
In reply to this post by Norman Ramsey-2
Followup-For: Bug #785314
Control: reopen -1

This issue is still reproducible and seems to require updates in more
packages.

In an up-to-date sid i386 + foreign amd64 chroot:

# apt-get install darktable:amd64
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 darktable:amd64 : Depends: libjs-prototype:amd64 but it is not installable
                   Depends: libjs-scriptaculous:amd64 but it is not installable
E: Unable to correct problems, you have held broken packages.


Andreas