• [gentoo-dev] [PATCH 1/3] =?UTF-8?q?dist-kernel-utils.eclass:=20Add=20a=

    From =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?@21:1/5 to All on Sun Oct 16 06:50:01 2022
    Signed-off-by: Michał Górny <mgorny@gentoo.org>
    ---
    eclass/dist-kernel-utils.eclass | 16 ++++++++++++++++
    eclass/tests/dist-kernel-utils.sh | 28 ++++++++++++++++++++++++++++
    2 files changed, 44 insertions(+)
    create mode 100755 eclass/tests/dist-kernel-utils.sh

    diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass index 8c1b56f41506..439bdc87695d 100644
    --- a/eclass/dist-kernel-utils.eclass
    +++ b/eclass/dist-kernel-utils.eclass
    @@ -155,5 +155,21 @@ dist-kernel_reinstall_initramfs() {
    "${kernel_dir}/System.map"
    }

    +# @FUNCTION: dist-kernel_PV_to_KV
    +# @USAGE: <pv>
    +# @DESCRIPTION:
    +# Convert a Gentoo-style ebuild version to kernel "x.y.z[-rcN]" version. +dist-kernel_PV_to_KV() {
    + debug-print-function ${FUNCNAME} "${@}"
    +
    + [[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
    + local pv=${1}
    +
    + local kv=${pv%%_*}
    + [[ -z $(ver_cut 3- "${kv}") ]] && kv+=".0"
    + [[ ${pv} == *_* ]] && kv+=-${pv#*_}
    + echo "${kv}"
    +}
    +
    _DIST_KERNEL_UTILS=1
    fi
    diff --git a/eclass/tests/dist-kernel-utils.sh
  • From Oskari Pirhonen@21:1/5 to All on Mon Oct 17 08:20:01 2022
    On Sun, Oct 16, 2022 at 06:49:17 +0200, Michał Górny wrote:
    Signed-off-by: Michał Górny <mgorny@gentoo.org>
    ---
    eclass/dist-kernel-utils.eclass | 16 ++++++++++++++++
    eclass/tests/dist-kernel-utils.sh | 28 ++++++++++++++++++++++++++++
    2 files changed, 44 insertions(+)
    create mode 100755 eclass/tests/dist-kernel-utils.sh

    diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
    index 8c1b56f41506..439bdc87695d 100644
    --- a/eclass/dist-kernel-utils.eclass
    +++ b/eclass/dist-kernel-utils.eclass
    @@ -155,5 +155,21 @@ dist-kernel_reinstall_initramfs() {
    "${kernel_dir}/System.map"
    }

    +# @FUNCTION: dist-kernel_PV_to_KV
    +# @USAGE: <pv>
    +# @DESCRIPTION:
    +# Convert a Gentoo-style ebuild version to kernel "x.y.z[-rcN]" version. +dist-kernel_PV_to_KV() {
    + debug-print-function ${FUNCNAME} "${@}"
    +
    + [[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
    + local pv=${1}
    +
    + local kv=${pv%%_*}
    + [[ -z $(ver_cut 3- "${kv}") ]] && kv+=".0"
    + [[ ${pv} == *_* ]] && kv+=-${pv#*_}
    + echo "${kv}"
    +}
    +
    _DIST_KERNEL_UTILS=1
    fi
    diff --git a/eclass/tests/dist-kernel-utils.sh b/eclass/tests/dist-kernel-utils.sh
    new file mode 100755
    index 000000000000..82be706dc498
    --- /dev/null
    +++ b/eclass/tests/dist-kernel-utils.sh
    @@ -0,0 +1,28 @@
    +#!/usr/bin/env bash
    +# Copyright 2022 Gentoo Authors
    +# Distributed under the terms of the GNU General Public License v2
    +
    +EAPI=8
    +
    +source tests-common.sh || exit
    +
    +inherit dist-kernel-utils
    +# TODO: hack because tests-common don't implement ver_cut
    +EAPI=6 inherit eapi7-ver
    +
    +test_KV_to_PV() {
    + local kv=${1}
    + local exp_PV=${2}
    +
    + tbegin "dist-kernel_PV_to_KV ${kv} -> ${exp_PV}"
    + local val=$(dist-kernel_PV_to_KV "${kv}")
    + [[ ${val} == ${exp_PV} ]]
    + tend $?
    +}

    Your test function is called `test_KV_to_PV` but the function you're
    testing is `dist-kernel_PV_to_KV`. Is this correct, or am I just looking
    at it wrong? The rest of the comments are under the assumption that the `KV`/`kv` and `PV` are meant to be flipped in the test function.

    +
    +test_KV_to_PV 6.0_rc1 6.0.0-rc1

    Shouldn't this become just 6.0-rc1? That's the name of the branch in torvalds/linux.git (as well as what's in the name of the tarball and
    what was reported on https://kernel.org ).

    +test_KV_to_PV 6.0 6.0.0

    Similar to above.

    +test_KV_to_PV 6.0.1_rc1 6.0.1-rc1

    Is there any point in converting x.y.z_rcN? To my knowledge, such a
    version will never exist.

    +test_KV_to_PV 6.0.1 6.0.1
    +
    +texit
    --
    2.38.0



    - Oskari

    -----BEGIN PGP SIGNATURE-----

    iHUEABYIAB0WIQQfOU+JeXjo4uxN6vCp8he9GGIfEQUCY0zz0gAKCRCp8he9GGIf EQwQAQCFO4fESkWITQQuqMtjmx97AzsBfb94U/1MOC49T2dB9gD+NjkQzjjrEJ0a rQQbIy/Fwgk5Ql26y6B8lkJk+eWSKQs=
    =Ud/x
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?=@21:1/5 to Oskari Pirhonen on Mon Oct 17 14:30:03 2022
    On Mon, 2022-10-17 at 01:19 -0500, Oskari Pirhonen wrote:
    On Sun, Oct 16, 2022 at 06:49:17 +0200, Michał Górny wrote:
    Signed-off-by: Michał Górny <mgorny@gentoo.org>
    ---
    eclass/dist-kernel-utils.eclass | 16 ++++++++++++++++
    eclass/tests/dist-kernel-utils.sh | 28 ++++++++++++++++++++++++++++
    2 files changed, 44 insertions(+)
    create mode 100755 eclass/tests/dist-kernel-utils.sh

    diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
    index 8c1b56f41506..439bdc87695d 100644
    --- a/eclass/dist-kernel-utils.eclass
    +++ b/eclass/dist-kernel-utils.eclass
    @@ -155,5 +155,21 @@ dist-kernel_reinstall_initramfs() {
    "${kernel_dir}/System.map"
    }

    +# @FUNCTION: dist-kernel_PV_to_KV
    +# @USAGE: <pv>
    +# @DESCRIPTION:
    +# Convert a Gentoo-style ebuild version to kernel "x.y.z[-rcN]" version. +dist-kernel_PV_to_KV() {
    + debug-print-function ${FUNCNAME} "${@}"
    +
    + [[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
    + local pv=${1}
    +
    + local kv=${pv%%_*}
    + [[ -z $(ver_cut 3- "${kv}") ]] && kv+=".0"
    + [[ ${pv} == *_* ]] && kv+=-${pv#*_}
    + echo "${kv}"
    +}
    +
    _DIST_KERNEL_UTILS=1
    fi
    diff --git a/eclass/tests/dist-kernel-utils.sh b/eclass/tests/dist-kernel-utils.sh
    new file mode 100755
    index 000000000000..82be706dc498
    --- /dev/null
    +++ b/eclass/tests/dist-kernel-utils.sh
    @@ -0,0 +1,28 @@
    +#!/usr/bin/env bash
    +# Copyright 2022 Gentoo Authors
    +# Distributed under the terms of the GNU General Public License v2
    +
    +EAPI=8
    +
    +source tests-common.sh || exit
    +
    +inherit dist-kernel-utils
    +# TODO: hack because tests-common don't implement ver_cut
    +EAPI=6 inherit eapi7-ver
    +
    +test_KV_to_PV() {
    + local kv=${1}
    + local exp_PV=${2}
    +
    + tbegin "dist-kernel_PV_to_KV ${kv} -> ${exp_PV}"
    + local val=$(dist-kernel_PV_to_KV "${kv}")
    + [[ ${val} == ${exp_PV} ]]
    + tend $?
    +}

    Your test function is called `test_KV_to_PV` but the function you're
    testing is `dist-kernel_PV_to_KV`. Is this correct, or am I just looking
    at it wrong? The rest of the comments are under the assumption that the `KV`/`kv` and `PV` are meant to be flipped in the test function.

    Good catch! I'll fix that.


    +
    +test_KV_to_PV 6.0_rc1 6.0.0-rc1

    Shouldn't this become just 6.0-rc1? That's the name of the branch in torvalds/linux.git (as well as what's in the name of the tarball and
    what was reported on https://kernel.org ).

    The directory in /lib/modules is actually named 6.0.0-rc1*.


    +test_KV_to_PV 6.0 6.0.0

    Similar to above.

    +test_KV_to_PV 6.0.1_rc1 6.0.1-rc1

    Is there any point in converting x.y.z_rcN? To my knowledge, such a
    version will never exist.


    I think I've seen tags like this in one of the stable repos but maybe
    they don't actually happen. In either case, I think it's a good test
    that the function doesn't do something unexpected like accidentally lose
    the suffix.

    --
    Best regards,
    Michał Górny

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)