From patchwork Thu Nov 30 12:49:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan GUILLOT X-Patchwork-Id: 36160 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F08AC4167B for ; Wed, 13 Dec 2023 15:07:23 +0000 (UTC) Received: from 9.mo576.mail-out.ovh.net (9.mo576.mail-out.ovh.net [46.105.56.78]) by mx.groups.io with SMTP id smtpd.web11.37989.1702480039152472396 for ; Wed, 13 Dec 2023 07:07:20 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=softfail (domain: joggee.fr, ip: 46.105.56.78, mailfrom: jonathan@joggee.fr) Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.176.72]) by mo576.mail-out.ovh.net (Postfix) with ESMTP id 7142730F7D for ; Wed, 13 Dec 2023 15:07:17 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-s8sv4 (unknown [10.110.178.109]) by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 166CE1FE61 for ; Wed, 13 Dec 2023 15:07:17 +0000 (UTC) Received: from joggee.fr ([37.59.142.102]) by ghost-submission-6684bf9d7b-s8sv4 with ESMTPSA id GBvIBKXIeWXXtQAAm3lx3g (envelope-from ) for ; Wed, 13 Dec 2023 15:07:17 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-102R0046cbd3b30-7719-480e-93c8-55d6da904864, 8AE51020AAF3E055EAEAC9529530B6D231DC969C) smtp.auth=jonathan@joggee.fr X-OVh-ClientIp: 84.14.185.34 In-Reply-To: Message-Id: To: From: "Jonathan GUILLOT" Date: Thu, 30 Nov 2023 12:49:13 +0000 Subject: [PATCH v2 1/3] lib/oe/package: replace in place PN-locale-* packages in PACKAGES X-Ovh-Tracer-Id: 14457962180419521659 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 21 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeljedgudduucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucffrghtvgcuihhnuchprghsthculddvuddmnecujfgurhepjgfkvffhfffusedttdertddttddtnecuhfhrohhmpedflfhonhgrthhhrghnucfifgfknffnqffvfdcuoehjohhnrghthhgrnhesjhhoghhgvggvrdhfrheqnecuggftrfgrthhtvghrnhepleduieejtedvveevtdfgheejhfdtheevheejhfejjeeggfehhfffgeethfdvueeknecukfhppeduvdejrddtrddtrddupdekgedrudegrddukeehrdefgedpfeejrdehledrudegvddruddtvdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehjohhnrghthhgrnhesjhhoghhgvggvrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepohhpvghnvghmsggvugguvgguqdgtohhrvgeslhhishhtshdrohhpvghnvghmsggvugguvggurdhorhhgpdfovfetjfhoshhtpehmohehjeeipdhmohguvgepshhmthhpohhuth List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 13 Dec 2023 15:07:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/192299 split_locales() removes PN-locale from PACKAGES and adds PN-locale-* to the end. As the PN-locale package typically appears before PN base package, it may result in paths not installed in PN-locale-* packages if already catched by PN. Now insert PN-locale-* exactly where PN-locale was existing in list to avoid such an issue. Signed-off-by: Jonathan GUILLOT --- meta/lib/oe/package.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 9a465eaa09..2f7a50e144 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -647,8 +647,11 @@ def split_locales(d): dvar = d.getVar('PKGD') pn = d.getVar('LOCALEBASEPN') - if pn + '-locale' in packages: - packages.remove(pn + '-locale') + try: + locale_index = packages.index(pn + '-locale') + packages.pop(locale_index) + except ValueError: + locale_index = len(packages) localedir = os.path.join(dvar + datadir, 'locale') @@ -665,7 +668,8 @@ def split_locales(d): for l in sorted(locales): ln = legitimize_package_name(l) pkg = pn + '-locale-' + ln - packages.append(pkg) + packages.insert(locale_index, pkg) + locale_index += 1 d.setVar('FILES:' + pkg, os.path.join(datadir, 'locale', l)) d.setVar('RRECOMMENDS:' + pkg, '%svirtual-locale-%s' % (mlprefix, ln)) d.setVar('RPROVIDES:' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln)) From patchwork Wed Dec 6 16:03:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan GUILLOT X-Patchwork-Id: 36161 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4B792C3A59D for ; Wed, 13 Dec 2023 15:07:23 +0000 (UTC) Received: from 2.mo581.mail-out.ovh.net (2.mo581.mail-out.ovh.net [87.98.143.68]) by mx.groups.io with SMTP id smtpd.web11.37992.1702480039990511146 for ; Wed, 13 Dec 2023 07:07:20 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=softfail (domain: joggee.fr, ip: 87.98.143.68, mailfrom: jonathan@joggee.fr) Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.148.7]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id BEEFF27611 for ; Wed, 13 Dec 2023 15:07:17 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-s8sv4 (unknown [10.110.178.109]) by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 53E121FEB6 for ; Wed, 13 Dec 2023 15:07:17 +0000 (UTC) Received: from joggee.fr ([37.59.142.102]) by ghost-submission-6684bf9d7b-s8sv4 with ESMTPSA id mDfHE6XIeWXXtQAAm3lx3g (envelope-from ) for ; Wed, 13 Dec 2023 15:07:17 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-102R004167ac1bc-b648-489b-952d-e8f283d508ce, 8AE51020AAF3E055EAEAC9529530B6D231DC969C) smtp.auth=jonathan@joggee.fr X-OVh-ClientIp: 84.14.185.34 In-Reply-To: Message-Id: To: From: "Jonathan GUILLOT" Date: Wed, 6 Dec 2023 16:03:47 +0000 Subject: [PATCH v2 2/3] lib/oe/package: add LOCALEEXTRADIRS to define extra locations for locales X-Ovh-Tracer-Id: 14457962179031469179 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeljedguddvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpegjkffvhfffufestddtredttddttdenucfhrhhomhepfdflohhnrghthhgrnhcuifgfkffnnffqvfdfuceojhhonhgrthhhrghnsehjohhgghgvvgdrfhhrqeenucggtffrrghtthgvrhhnpeeludeijeetvdevvedtgfehjefhtdehveehjefhjeejgefghefhffegtefhvdeukeenucfkphepuddvjedrtddrtddruddpkeegrddugedrudekhedrfeegpdefjedrheelrddugedvrddutddvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeojhhonhgrthhhrghnsehjohhgghgvvgdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopehophgvnhgvmhgsvgguuggvugdqtghorhgvsehlihhsthhsrdhophgvnhgvmhgsvgguuggvugdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 13 Dec 2023 15:07:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/192302 Some packages may contain localized files not located in /usr/share/locale. This new variables allows to add these directories in dedicated locale packages. Signed-off-by: Jonathan GUILLOT --- meta/lib/oe/package.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 2f7a50e144..fc8b20324e 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -653,24 +653,37 @@ def split_locales(d): except ValueError: locale_index = len(packages) - localedir = os.path.join(dvar + datadir, 'locale') + localedirs = [os.path.join(dvar + datadir, 'locale')] - if not cpath.isdir(localedir): + for localedir in (d.getVar('LOCALEEXTRADIRS') or "").split(): + localedirs.append(dvar + localedir) + + locales = set() + locale_found = False + for localedir in localedirs: + if cpath.isdir(localedir): + locale_found = True + locales.update(os.listdir(localedir)) + + if not locale_found: bb.debug(1, "No locale files in this package") return - locales = os.listdir(localedir) - summary = d.getVar('SUMMARY') or pn description = d.getVar('DESCRIPTION') or "" locale_section = d.getVar('LOCALE_SECTION') mlprefix = d.getVar('MLPREFIX') or "" + dvar_len = len(dvar) for l in sorted(locales): ln = legitimize_package_name(l) pkg = pn + '-locale-' + ln packages.insert(locale_index, pkg) locale_index += 1 - d.setVar('FILES:' + pkg, os.path.join(datadir, 'locale', l)) + files = [] + for localedir in localedirs: + # Remove dvar prefix + files.append(os.path.join(localedir[dvar_len:], l)) + d.setVar('FILES:' + pkg, " ".join(files)) d.setVar('RRECOMMENDS:' + pkg, '%svirtual-locale-%s' % (mlprefix, ln)) d.setVar('RPROVIDES:' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln)) d.setVar('SUMMARY:' + pkg, '%s - %s translations' % (summary, l)) From patchwork Wed Dec 6 16:06:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan GUILLOT X-Patchwork-Id: 36162 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E9ACC4167D for ; Wed, 13 Dec 2023 15:07:23 +0000 (UTC) Received: from 1.mo576.mail-out.ovh.net (1.mo576.mail-out.ovh.net [178.33.251.173]) by mx.groups.io with SMTP id smtpd.web10.38427.1702480039926472576 for ; Wed, 13 Dec 2023 07:07:20 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=softfail (domain: joggee.fr, ip: 178.33.251.173, mailfrom: jonathan@joggee.fr) Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.176.72]) by mo576.mail-out.ovh.net (Postfix) with ESMTP id A338C30F9D for ; Wed, 13 Dec 2023 15:07:17 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-s8sv4 (unknown [10.110.178.109]) by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 835AC1FE91 for ; Wed, 13 Dec 2023 15:07:17 +0000 (UTC) Received: from joggee.fr ([37.59.142.102]) by ghost-submission-6684bf9d7b-s8sv4 with ESMTPSA id SJRPH6XIeWXXtQAAm3lx3g (envelope-from ) for ; Wed, 13 Dec 2023 15:07:17 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-102R004c6886dec-77ea-4c21-84a6-624d53695faf, 8AE51020AAF3E055EAEAC9529530B6D231DC969C) smtp.auth=jonathan@joggee.fr X-OVh-ClientIp: 84.14.185.34 In-Reply-To: Message-Id: To: From: "Jonathan GUILLOT" Date: Wed, 6 Dec 2023 16:06:43 +0000 Subject: [PATCH v2 3/3] cups: use LOCALEEXTRADIRS to split localized HTML templates X-Ovh-Tracer-Id: 14457962178906360955 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeljedgudduucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpegjkffvhfffufestddtredttddttdenucfhrhhomhepfdflohhnrghthhgrnhcuifgfkffnnffqvfdfuceojhhonhgrthhhrghnsehjohhgghgvvgdrfhhrqeenucggtffrrghtthgvrhhnpeeludeijeetvdevvedtgfehjefhtdehveehjefhjeejgefghefhffegtefhvdeukeenucfkphepuddvjedrtddrtddruddpkeegrddugedrudekhedrfeegpdefjedrheelrddugedvrddutddvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeojhhonhgrthhhrghnsehjohhgghgvvgdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopehophgvnhgvmhgsvgguuggvugdqtghorhgvsehlihhsthhsrdhophgvnhgvmhgsvgguuggvugdrohhrghdpoffvtefjohhsthepmhhoheejiedpmhhouggvpehsmhhtphhouhht List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 13 Dec 2023 15:07:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/192301 Localized HTML templates in /usr/share/cups/templates are now part of locale packages. Signed-off-by: Jonathan GUILLOT --- meta/recipes-extended/cups/cups.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc index 31f686cdfd..560bd67cf6 100644 --- a/meta/recipes-extended/cups/cups.inc +++ b/meta/recipes-extended/cups/cups.inc @@ -110,6 +110,8 @@ CONFFILES:${PN} += "${sysconfdir}/cups/cupsd.conf" MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config" +LOCALEEXTRADIRS = "${datadir}/cups/templates/" + SYSROOT_PREPROCESS_FUNCS += "cups_sysroot_preprocess" cups_sysroot_preprocess () { sed -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/cups-config -e 's:cups_datadir=.*:cups_datadir=${datadir}/cups:' -e 's:cups_serverbin=.*:cups_serverbin=${libexecdir}/cups:'