:: Re: [devuan-dev] udev transitionals…
Top Page
Delete this message
Reply to this message
Author: Svante Signell
Date:  
To: devuan-dev
Subject: Re: [devuan-dev] udev transitionals up for grabs
On Wed, 2017-11-29 at 14:55 +0000, KatolaZ wrote:
> On Wed, Nov 29, 2017 at 05:45:03PM +0300, Hleb Valoshka wrote:
> > On 11/29/17, KatolaZ <katolaz@???> wrote:
> > > You must not have two versions of udev. You can't have two udev
> > > daemons running at the same time, can you?
> >
> > This is not *udev*, this is *libudev1*. I can have any number of it.
> > Like of any other library.
>
> You are definitely right on libeudev1. But the alternative you
> suggested does not seem to be amenable to dak atm, for some reason.
>
> Is there any concrete alternative?


The culprit is to add Multi-Arch: foreign to Architecture: all packages, see
https://wiki.debian.org/Multiarch/Implementation

Multi-Arch: foreign support packages

If your runtime library package follows Debian Policy section 8, there's a good
chance that your library will have a dependency on some runtime support package
such as libfoo-data. Since by definition the contents of this package are moved
out of the runtime library package because they could be shared, you cannot
install a copy of this package for each architecture and so it cannot be marked
Multi-Arch: same.

Instead, assuming that the interfaces the library uses to access these support
files are architecture-independent, we instead mark this support package Multi-
Arch: foreign to indicate that one copy of this package, of any architecture,
is sufficient to satisfy the needs of the runtime library package of
very architecture.

No special dependencies or build-dependencies are needed in order to use Multi-
Arch: foreign since this does not require multiarch-specific changes to the
package's contents.

The Multi-Arch: foreign field must be set on such support packages regardless of
whether they are Architecture: any, or Architecture: all.  See the multiarch
package manager spec for an explanation of this. 

I've tested locally, and it seems to work fine.
Parazyd, patch attached!
From 4e9e710f9f7b330c1b3d62ce952e63fcab92aeec Mon Sep 17 00:00:00 2001
From: Svante Signell <svante.signell@???>
Date: Wed, 29 Nov 2017 16:25:50 +0100
Subject: [PATCH] Add Multi_Arch: foreign to packages. Modify changelog
accordingly.

---
debian/changelog | 6 ++++++
debian/control | 3 +++
2 files changed, 9 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 6d561ff..960e344 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+udev (1:3.2.2+devuan2.10) experimental; urgency=medium
+
+ * Add Multi_Ach: foreign to packages in control.
+
+ -- Svante Signell <svante.signell@???> Wed, 29 Nov 2017 16:25:23 +0100
+
udev (1:3.2.2+devuan2.9) experimental; urgency=medium

* Make package almost lintian clean, rename to 1:3.2.2+devuan2.9,
diff --git a/debian/control b/debian/control
index 921ef66..c7e0e3f 100644
--- a/debian/control
+++ b/debian/control
@@ -11,6 +11,7 @@ Vcs-Browser: https://git.devuan.org/devuan-packages/udev.git
Package: udev
Depends: eudev, ${misc:Depends}
Architecture: all
+Multi-Arch: foreign
Description: Transitional package for eudev
This is a transitional package to ease upgrades to the eudev package.
It can safely be removed.
@@ -18,6 +19,7 @@ Description: Transitional package for eudev
Package: libudev1
Depends: libeudev1, ${misc:Depends}
Architecture: all
+Multi-Arch: foreign
Description: Transitional package for libeudev1
This is a transitional package to ease upgrades to the libeudev1 package.
It can safely be removed.
@@ -25,6 +27,7 @@ Description: Transitional package for libeudev1
Package: libudev-dev
Depends: libeudev-dev, ${misc:Depends}
Architecture: all
+Multi-Arch: foreign
Description: Transitional package for libeudev-dev
This is a transitional package to ease upgrades to the libeudev-dev package.
It can safely be removed.
--
2.11.0