From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: "André Draszik" <git@andred.net>,
openembedded-core@lists.openembedded.org
Subject: Re: [PATCH v3 06/15] update-alternatives: convert file renames to PACKAGE_PREPROCESS_FUNCS
Date: Wed, 16 Jan 2019 12:17:00 +0000 [thread overview]
Message-ID: <9f3dec7dee6b57f15e48b9dcfbe09ec61d2debbf.camel@linuxfoundation.org> (raw)
In-Reply-To: <20190116120051.12182-7-git@andred.net>
On Wed, 2019-01-16 at 12:00 +0000, André Draszik wrote:
> From: André Draszik <andre.draszik@jci.com>
>
> At the moment, the update-alternatives file renaming is
> happening right after copying into PKGD during packaging
> time using an _append OVERRIDE to the copy function
> perform_packagecopy().
>
> This is not really readable and hard to maintain.
>
> Additionally, this makes it impossible to e.g. populate
> PACKAGES dynamically using do_split_packages() and still
> do update-alternatives - update-alternatives file renaming
> requires the PACKAGES variable to have been fully populated
> to work correctly. On the other hand, do_split_packages()
> can only execute after perform_packagecopy(), as it needs
> PKGD populated; so it's impossible to insert
> do_split_packages() early enough in a deterministic way in
> this use-case.
>
> As there doesn't seem to be a reason not to, convert
> this to a proper function and use PACKAGE_PREPROCESS_FUNCS
> instead - after all, that's what this is meant for.
>
> No other classes or recipes in oe-core or meta-openembededd
> seem to have a hard requirement on update-alterantives
> executing before any other PACKAGE_PREPROCESS_FUNCS, so
> this should be perfectly fine.
>
> The only implication is that if compress_doc is inherited,
> compressed man-page file names will end up being, e.g.
> eject.1.util-linux.gz
> or
> eject.1.gz.util-linux
> based on the include of compress_doc.bbclass vs.
> update-alternatives.bbclass order, but the symlink created
> (alternative name) will always be correct.
>
> This solves both problems:
> * the code is easier to read / follow
> * the above described use-case can be accomodated easily
>
> [YOCTO #13058]
>
> Signed-off-by: André Draszik <andre.draszik@jci.com>
> ---
> meta/classes/update-alternatives.bbclass | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/meta/classes/update-alternatives.bbclass
> b/meta/classes/update-alternatives.bbclass
> index f1250f877b..78291e7e45 100644
> --- a/meta/classes/update-alternatives.bbclass
> +++ b/meta/classes/update-alternatives.bbclass
> @@ -131,14 +131,10 @@ def gen_updatealternativesvars(d):
> populate_packages[vardeps] += "${UPDALTVARS} ${@gen_updatealternativ
> esvars(d)}"
>
> # We need to do the rename after the image creation step, but before
> -# the split and strip steps.. packagecopy seems to be the earliest
> reasonable
> -# place.
> -python perform_packagecopy_append () {
> - if update_alternatives_enabled(d):
> - apply_update_alternative_renames(d)
> -}
> -
> -def apply_update_alternative_renames(d):
> +# the split and strip steps.. PACKAGE_PREPROCESS_FUNCS is the right
> +# place for that.
> +PACKAGE_PREPROCESS_FUNCS += "${@'apply_update_alternative_renames'
> if update_alternatives_enabled(d) else ''}"
> +python apply_update_alternative_renames () {
Looks good, how about adding:
if not update_alternatives_enabled(d):
return
here to make it slightly more readable?
> # Check for deprecated usage...
> pn = d.getVar('BPN')
> if d.getVar('ALTERNATIVE_LINKS') != None:
> @@ -204,6 +200,7 @@ def apply_update_alternative_renames(d):
> os.unlink(src)
> else:
> bb.warn('%s: Unable to resolve dangling symlink:
> %s' % (pn, alt_target))
> +}
Cheers,
Richard
next prev parent reply other threads:[~2019-01-16 12:17 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-14 12:56 [PATCH 00/12] RFC: util-linux: one package per binary André Draszik
2019-01-14 12:56 ` [PATCH 01/12] util-linux: simplify version upgrades (MAJOR_VERSION) André Draszik
2019-01-14 12:56 ` [PATCH 02/12] util-linux: remove erroneous patch (qsort_r) André Draszik
2019-01-14 12:56 ` [PATCH 03/12] util-linux: remove minix remnants André Draszik
2019-01-14 12:56 ` [PATCH 04/12] util-linux: be more explicit about what files go into packages André Draszik
2019-01-14 12:56 ` [PATCH 05/12] util-linux: fix the su and runuser packages André Draszik
2019-01-14 12:56 ` [PATCH 06/12] update-alternatives: allow hooks before renaming files André Draszik
2019-01-14 12:56 ` [PATCH 07/12] update-alternatives: try to update FILES_${PN} when renaming a file André Draszik
2019-01-14 12:56 ` [PATCH 08/12] util-linux: one package per binary (pt 1: base_sbindir) André Draszik
2019-01-14 12:56 ` [PATCH 09/12] util-linux: one package per binary (pt 2: base_bindir) André Draszik
2019-01-14 12:56 ` [PATCH 10/12] util-linux: one package per binary (pt 3: sbindir) André Draszik
2019-01-14 12:56 ` [PATCH 11/12] util-linux: one package per binary (pt 4: bindir) André Draszik
2019-01-14 12:56 ` [PATCH 12/12] utils-linux: final cleanup André Draszik
2019-01-15 14:45 ` [PATCH v2 00/12] util-linux: one package per binary André Draszik
2019-01-15 14:45 ` [PATCH v2 01/15] util-linux: simplify version upgrades (MAJOR_VERSION) André Draszik
2019-01-15 14:45 ` [PATCH v2 02/15] util-linux: remove erroneous patch (qsort_r) André Draszik
2019-01-15 14:45 ` [PATCH v2 03/15] util-linux: remove minix remnants André Draszik
2019-01-15 14:45 ` [PATCH v2 04/15] util-linux: be more explicit about what files go into packages André Draszik
2019-01-15 14:45 ` [PATCH v2 05/15] util-linux: fix the su and runuser packages André Draszik
2019-01-15 14:45 ` [PATCH v2 06/15] update-alternatives: allow hooks before renaming files André Draszik
2019-01-15 16:45 ` Richard Purdie
2019-01-16 11:40 ` André Draszik
2019-01-15 14:45 ` [PATCH v2 07/15] update-alternatives: try to update FILES_${PN} when renaming a file André Draszik
2019-01-15 14:45 ` [PATCH v2 08/15] util-linux: one package per binary (pt 1: base_sbindir) André Draszik
2019-01-15 14:45 ` [PATCH v2 09/15] util-linux: one package per binary (pt 2: base_bindir) André Draszik
2019-01-15 14:45 ` [PATCH v2 10/15] util-linux: one package per binary (pt 3: sbindir) André Draszik
2019-01-15 14:45 ` [PATCH v2 11/15] util-linux: one package per binary (pt 4: bindir) André Draszik
2019-01-15 14:45 ` [PATCH v2 12/15] util-linux: simplify meta-package RDEPENDS / RRECOMMENDS André Draszik
2019-01-15 14:45 ` [PATCH v2 13/15] util-linux: move /etc/default/mountall into -mount subpackage André Draszik
2019-01-15 14:45 ` [PATCH v2 14/15] util-linux: let -ptest package depend on all of util-linux André Draszik
2019-01-15 14:45 ` [PATCH v2 15/15] utils-linux: final cleanup André Draszik
2019-01-16 12:00 ` [PATCH v3 00/12] util-linux: one package per binary André Draszik
2019-01-16 12:00 ` [PATCH v3 01/15] util-linux: simplify version upgrades (MAJOR_VERSION) André Draszik
2019-01-16 12:00 ` [PATCH v3 02/15] util-linux: remove erroneous patch (qsort_r) André Draszik
2019-01-16 12:00 ` [PATCH v3 03/15] util-linux: remove minix remnants André Draszik
2019-01-16 12:00 ` [PATCH v3 04/15] util-linux: be more explicit about what files go into packages André Draszik
2019-01-16 12:00 ` [PATCH v3 05/15] util-linux: fix the su and runuser packages André Draszik
2019-01-16 12:00 ` [PATCH v3 06/15] update-alternatives: convert file renames to PACKAGE_PREPROCESS_FUNCS André Draszik
2019-01-16 12:17 ` Richard Purdie [this message]
2019-01-16 12:00 ` [PATCH v3 07/15] update-alternatives: try to update FILES_${PN} when renaming a file André Draszik
2019-01-16 12:18 ` Richard Purdie
2019-01-16 12:00 ` [PATCH v3 08/15] util-linux: one package per binary (pt 1: base_sbindir) André Draszik
2019-01-16 12:00 ` [PATCH v3 09/15] util-linux: one package per binary (pt 2: base_bindir) André Draszik
2019-01-16 12:00 ` [PATCH v3 10/15] util-linux: one package per binary (pt 3: sbindir) André Draszik
2019-01-16 12:00 ` [PATCH v3 11/15] util-linux: one package per binary (pt 4: bindir) André Draszik
2019-01-16 12:00 ` [PATCH v3 12/15] util-linux: simplify meta-package RDEPENDS / RRECOMMENDS André Draszik
2019-01-16 12:00 ` [PATCH v3 13/15] util-linux: move /etc/default/mountall into -mount subpackage André Draszik
2019-01-16 12:00 ` [PATCH v3 14/15] util-linux: let -ptest package depend on all of util-linux André Draszik
2019-01-16 12:00 ` [PATCH v3 15/15] utils-linux: final cleanup André Draszik
2019-01-16 12:02 ` [PATCH v3 00/12] util-linux: one package per binary André Draszik
2019-01-16 12:51 ` [PATCH v4 " André Draszik
2019-01-16 12:51 ` [PATCH v4 01/15] util-linux: simplify version upgrades (MAJOR_VERSION) André Draszik
2019-01-16 12:51 ` [PATCH v4 02/15] util-linux: remove erroneous patch (qsort_r) André Draszik
2019-01-16 12:51 ` [PATCH v4 03/15] util-linux: remove minix remnants André Draszik
2019-01-16 12:51 ` [PATCH v4 04/15] util-linux: be more explicit about what files go into packages André Draszik
2019-01-16 12:51 ` [PATCH v4 05/15] util-linux: fix the su and runuser packages André Draszik
2019-01-16 12:51 ` [PATCH v4 06/15] update-alternatives: convert file renames to PACKAGE_PREPROCESS_FUNCS André Draszik
2019-01-16 12:51 ` [PATCH v4 07/15] update-alternatives: try to update FILES_${PN} when renaming a file André Draszik
2019-01-16 12:51 ` [PATCH v4 08/15] util-linux: one package per binary (pt 1: base_sbindir) André Draszik
2019-01-16 12:51 ` [PATCH v4 09/15] util-linux: one package per binary (pt 2: base_bindir) André Draszik
2019-01-16 12:51 ` [PATCH v4 10/15] util-linux: one package per binary (pt 3: sbindir) André Draszik
2019-01-16 12:51 ` [PATCH v4 11/15] util-linux: one package per binary (pt 4: bindir) André Draszik
2019-01-16 12:51 ` [PATCH v4 12/15] util-linux: simplify meta-package RDEPENDS / RRECOMMENDS André Draszik
2019-01-16 12:51 ` [PATCH v4 13/15] util-linux: move /etc/default/mountall into -mount subpackage André Draszik
2019-01-16 12:51 ` [PATCH v4 14/15] util-linux: let -ptest package depend on all of util-linux André Draszik
2019-01-16 12:51 ` [PATCH v4 15/15] utils-linux: final cleanup André Draszik
2019-01-29 9:09 ` [PATCH v4 00/12] util-linux: one package per binary André Draszik
2019-02-01 7:32 ` Richard Purdie
2019-02-02 10:02 ` André Draszik
2019-02-04 10:09 ` André Draszik
2019-02-04 11:53 ` André Draszik
2019-02-04 12:39 ` Richard Purdie
2019-02-04 10:05 ` [PATCH v5 00/11] " André Draszik
2019-02-04 10:05 ` [PATCH v5 01/11] util-linux: be more explicit about what files go into packages André Draszik
2019-02-04 10:05 ` [PATCH v5 02/11] util-linux: fix the su and runuser packages André Draszik
2019-02-04 10:05 ` [PATCH v5 03/11] util-linux: one package per binary (pt 1: base_sbindir) André Draszik
2019-02-04 10:05 ` [PATCH v5 04/11] util-linux: one package per binary (pt 1b: symlinks) André Draszik
2019-02-04 10:05 ` [PATCH v5 05/11] util-linux: one package per binary (pt 2: base_bindir) André Draszik
2019-02-04 10:05 ` [PATCH v5 06/11] util-linux: one package per binary (pt 3: sbindir) André Draszik
2019-02-04 10:05 ` [PATCH v5 07/11] util-linux: one package per binary (pt 4: bindir) André Draszik
2019-02-04 10:05 ` [PATCH v5 08/11] util-linux: simplify meta-package RDEPENDS / RRECOMMENDS André Draszik
2019-02-04 10:05 ` [PATCH v5 09/11] util-linux: move /etc/default/mountall into -mount subpackage André Draszik
2019-02-04 10:05 ` [PATCH v5 10/11] util-linux: let -ptest package depend on all of util-linux André Draszik
2019-02-04 10:05 ` [PATCH v5 11/11] util-linux: final cleanup André Draszik
2019-02-05 2:32 ` [PATCH v6 00/13] util-linux: one package per binary André Draszik
2019-02-05 2:32 ` [PATCH v6 01/13] update-alternatives: correctly escape PATHs when updating FILES_${PN} André Draszik
2019-02-05 2:32 ` [PATCH v6 02/13] util-linux: be more explicit about what files go into packages André Draszik
2019-02-05 2:32 ` [PATCH v6 03/13] util-linux: fix the su and runuser packages André Draszik
2019-02-05 2:32 ` [PATCH v6 04/13] util-linux: fix packaging nativesdk-util-linux-lib* André Draszik
2019-02-05 2:32 ` [PATCH v6 05/13] util-linux: one package per binary (pt 1: base_sbindir) André Draszik
2019-02-05 2:32 ` [PATCH v6 06/13] util-linux: one package per binary (pt 1b: symlinks) André Draszik
2019-02-05 2:32 ` [PATCH v6 07/13] util-linux: one package per binary (pt 2: base_bindir) André Draszik
2019-02-05 2:32 ` [PATCH v6 08/13] util-linux: one package per binary (pt 3: sbindir) André Draszik
2019-02-05 2:32 ` [PATCH v6 09/13] util-linux: one package per binary (pt 4: bindir) André Draszik
2019-02-05 2:32 ` [PATCH v6 10/13] util-linux: simplify meta-package RDEPENDS / RRECOMMENDS André Draszik
2019-02-05 2:32 ` [PATCH v6 11/13] util-linux: move /etc/default/mountall into -mount subpackage André Draszik
2019-02-05 2:32 ` [PATCH v6 12/13] util-linux: let -ptest package depend on all of util-linux André Draszik
2019-02-05 2:32 ` [PATCH v6 13/13] util-linux: final cleanup André Draszik
2019-02-21 21:08 ` Burton, Ross
2019-02-23 12:11 ` Richard Purdie
2019-02-05 8:09 ` [PATCH v6 00/13] util-linux: one package per binary André Draszik
2019-02-05 18:26 ` Richard Purdie
2019-02-08 12:08 ` André Draszik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9f3dec7dee6b57f15e48b9dcfbe09ec61d2debbf.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=git@andred.net \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox