Gentoo Archives: gentoo-proxy-maint

From: "Haelwenn (lanodan) Monnier" <contact@×××××××××.me>
To: gentoo-proxy-maint@l.g.o
Subject: Re: [gentoo-proxy-maint] [PATCH] www-plugins/passff-host: Fix for firefox-bin with no-symlink-lib
Date: Fri, 28 Jun 2019 10:09:47
Message-Id: 20190628100942.GA24877@cloudsdale.the-delta.net.eu.org
In Reply to: Re: [gentoo-proxy-maint] [PATCH] www-plugins/passff-host: Fix for firefox-bin with no-symlink-lib by "Michał Górny"
1 [2019-06-28 10:31:51+0200] Michał Górny:
2 > On Fri, 2019-06-28 at 08:48 +0200, Haelwenn (lanodan) Monnier wrote:
3 > > Closes: https://bugs.gentoo.org/show_bug.cgi?id=687746
4 > > Signed-off-by: Haelwenn (lanodan) Monnier <contact@×××××××××.me>
5 > > ---
6 > > ...sff-host-1.2.0.ebuild => passff-host-1.2.0-r1.ebuild} | 9 ++++++++-
7 > > 1 file changed, 8 insertions(+), 1 deletion(-)
8 > > rename www-plugins/passff-host/{passff-host-1.2.0.ebuild => passff-host-1.2.0-r1.ebuild} (84%)
9 > >
10 > > diff --git a/www-plugins/passff-host/passff-host-1.2.0.ebuild b/www-plugins/passff-host/passff-host-1.2.0-r1.ebuild
11 > > similarity index 84%
12 > > rename from www-plugins/passff-host/passff-host-1.2.0.ebuild
13 > > rename to www-plugins/passff-host/passff-host-1.2.0-r1.ebuild
14 > > index f42fb96ba19..75bebf643b8 100644
15 > > --- a/www-plugins/passff-host/passff-host-1.2.0.ebuild
16 > > +++ b/www-plugins/passff-host/passff-host-1.2.0-r1.ebuild
17 > > @@ -1,52 +1,59 @@
18 > > # Copyright 2018-2019 Gentoo Authors
19 > > # Distributed under the terms of the GNU General Public License v2
20 > >
21 > > EAPI=7
22 > >
23 > > PYTHON_COMPAT=( python3_5 python3_6 python3_7 )
24 > >
25 > > inherit python-single-r1
26 > >
27 > > DESCRIPTION="Host app for the PassFF WebExtension"
28 > > HOMEPAGE="https://github.com/passff/passff-host"
29 > >
30 > > SRC_URI="
31 > > https://github.com/passff/passff-host/releases/download/${PV}/passff.py -> ${P}.py
32 > > https://github.com/passff/passff-host/releases/download/${PV}/passff.json -> ${P}.json
33 > > "
34 > >
35 > > LICENSE="GPL-2"
36 > > SLOT="0"
37 > > KEYWORDS="~amd64 ~x86"
38 > > IUSE="chrome chromium firefox vivaldi"
39 > > REQUIRED_USE="|| ( chrome chromium firefox vivaldi )"
40 > >
41 > > S="${WORKDIR}"
42 > >
43 > > src_unpack() {
44 > > cp "${DISTDIR}/${P}.json" . || die
45 > > cp "${DISTDIR}/${P}.py" . || die
46 > > }
47 > >
48 > > src_prepare() {
49 > > default
50 > > python_fix_shebang "${P}.py"
51 > > }
52 > >
53 > > src_install() {
54 > > local target_dirs=()
55 > >
56 > > use chrome && target_dirs+=( "/etc/opt/chrome/native-messaging-hosts" )
57 > > use chromium && target_dirs+=( "/etc/chromium/native-messaging-hosts" )
58 > > - use firefox && target_dirs+=( "/usr/$(get_libdir)/mozilla/native-messaging-hosts" )
59 > > + if use firefox; then
60 > > + target_dirs+=( "/usr/$(get_libdir)/mozilla/native-messaging-hosts" )
61 > > +
62 > > + # firefox-bin compatibility
63 > > + if [[ "$(get_libdir)" != "lib" ]]; then
64 > > + target_dirs+=( "/usr/lib/mozilla/native-messaging-hosts" )
65 > > + fi
66 > > + fi
67 >
68 > Wouldn't this break the migration? I think this will cause unsymlink-
69 > lib to detect collision if this package is installed before the switch.
70
71 Ah, yes it does, tried on a fresh chroot and I get this message when
72 running `unsymlink-lib --analyze`:
73
74 One or more files are both in /usr/lib/ and /usr/lib64/, making the conversion impossible.
75
76 mozilla/native-messaging-hosts/passff.json
77 mozilla/native-messaging-hosts/passff.py
78
79 ---
80
81 So do you have any recommendation for fixing this issue as it needs to
82 be in both /usr/$(get_libdir) for www-client/firefox with
83 SYMLINK_LIB=no and /usr/lib for www-client/firefox-bin.
84
85 Otherwise I guess I would file a bug report referencing
86 https://bugs.gentoo.org/show_bug.cgi?id=687746 to get firefox-bin
87 fixed instead or assign the maintainers to the bug.
88
89 > > use vivaldi && target_dirs+=( "/etc/vivaldi/native-messaging-hosts" )
90 > >
91 > > for target_dir in "${target_dirs[@]}"; do
92 > > sed "s;PLACEHOLDER;${target_dir}/passff.py;g" "${P}.json" > "passff.json" || die
93 > >
94 > > insinto "${target_dir}"
95 > > doins passff.json
96 > > exeinto "${target_dir}"
97 > > newexe "${P}.py" passff.py
98 > > done
99 > > }
100 >
101 > --
102 > Best regards,
103 > Michał Górny

Replies