Skip to content

Instantly share code, notes, and snippets.

@immolo
Last active November 24, 2024 15:49
Show Gist options
  • Select an option

  • Save immolo/25dd43367fdcd049a3027cb67b9be7a7 to your computer and use it in GitHub Desktop.

Select an option

Save immolo/25dd43367fdcd049a3027cb67b9be7a7 to your computer and use it in GitHub Desktop.

Revisions

  1. immolo revised this gist Nov 24, 2024. 1 changed file with 10 additions and 10 deletions.
    20 changes: 10 additions & 10 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -37,7 +37,7 @@ The use of binary packages is completely optional though.
    3. Edit /etc/portage/make.conf; if there is a line defining the CHOST variable,
    remove it. Also delete all lines defining CHOST_... variables.

    3. Select the t66 23.0 profile corresponding to your current profile, either using
    4. Select the t66 23.0 profile corresponding to your current profile, either using
    "eselect profile" or by manually setting the profile symlink.!
    for example,
    OLD default/linux/x86/23.0/x86/i686
    @@ -48,14 +48,14 @@ The use of binary packages is completely optional though.
    In some cases (hppa, x86) the table will tell you to pick between two choices.
    What you need should be obvious from your *old* CHOST value (from step 4).

    4. Delete the contents of your binary package cache at ${PKGDIR}
    5. Delete the contents of your binary package cache at ${PKGDIR}
    rm -r /var/cache/binpkgs/*

    5. In the file or directory /etc/portage/binrepos.conf (if existing), update
    6. In the file or directory /etc/portage/binrepos.conf (if existing), update
    the URI in all configuration such that they point to 23.0 profile binhost
    directories with time64. The exact paths can be found in the table at [1], too.

    6. Rebuild or reinstall from binary (if available) the following packages in
    7. Rebuild or reinstall from binary (if available) the following packages in
    this order, with the same version as already active:
    emerge --ask --oneshot sys-devel/gcc
    (you may have to run gcc-config and re-select your gcc now)
    @@ -66,23 +66,23 @@ The use of binary packages is completely optional though.
    and the C library, i.e. for glibc-based systems
    emerge --ask --oneshot sys-libs/glibc

    7. Recheck with binutils-config and gcc-config that valid installed versions
    8. Recheck with binutils-config and gcc-config that valid installed versions
    of binutils and gcc are selected.

    8. Check /etc/env.d, /etc/env.d/binutils, and /etc/env.d/gcc for files that
    9. Check /etc/env.d, /etc/env.d/binutils, and /etc/env.d/gcc for files that
    refer to the *OLD* CHOST value, and remove them.
    Examples how to do this can be found in the similar procedure <needs creating>

    9. Run env-update && source /etc/profile
    10. Run env-update && source /etc/profile

    10. Re-emerge libtool:
    11. Re-emerge libtool:
    emerge --ask --oneshot libtool

    11. Just for safety, delete the contents of your binary package cache at
    12. Just for safety, delete the contents of your binary package cache at
    ${PKGDIR} again:
    rm -r /var/cache/binpkgs/*

    12. Rebuild world:
    13. Rebuild world:
    emerge --ask --emptytree @world

    [1] Add profile update table URL
  2. immolo revised this gist Nov 24, 2024. 1 changed file with 7 additions and 7 deletions.
    14 changes: 7 additions & 7 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -1,11 +1,11 @@
    Title: Profile upgrade to version tim64 available
    Title: Profile upgrade to tim64 varients available
    Author: Ian Jordan <immoloism@gmail.com>
    Posted: 2024-11-04
    Revision: 1
    News-Item-Format: 2.0
    Display-If-Profile: default/linux/x86/23.0/*

    The year 2038 problem (also known as Y2038, Y2K38, Y2K38 superbug or the
    The year 2038 problem (also known as Y2038, Y2K38, Y2K38 superbug, or the Epochalypse.)
    is a time computing problem that leaves some computer systems unable to
    represent times after 03:14:07 UTC on 19 January 2038.

    @@ -22,19 +22,19 @@ The use of binary packages is completely optional though.
    your system fully and depclean before proceeding.
    glibc older than 2.38 is not supported anymore.

    1a. Emerge the time64-prep migration tool
    2. Prepare the system for tim64 migration by emerging the time64-prep migration tool

    emerge --ask --verbose --oneshot app-portage/time64-prep

    1b. Test the system for readidness
    Test the system for readidness by running:

    time64-prep

    If everything looks safe to contuine then run
    If everything looks safe to contuine, then ru

    time64-prep --update

    2. Edit /etc/portage/make.conf; if there is a line defining the CHOST variable,
    3. Edit /etc/portage/make.conf; if there is a line defining the CHOST variable,
    remove it. Also delete all lines defining CHOST_... variables.

    3. Select the t66 23.0 profile corresponding to your current profile, either using
    @@ -71,7 +71,7 @@ The use of binary packages is completely optional though.

    8. Check /etc/env.d, /etc/env.d/binutils, and /etc/env.d/gcc for files that
    refer to the *OLD* CHOST value, and remove them.
    Examples how to do this can be found in the similar procedure at [6].
    Examples how to do this can be found in the similar procedure <needs creating>

    9. Run env-update && source /etc/profile

  3. immolo revised this gist Nov 23, 2024. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -16,8 +16,7 @@ Upgrade instructions

    Note : In case you are already familiar with binary packages, you should be
    able to add "--getbinpkg" to the emerge calls to speed things up.
    The use of binary packages is completely optional though, and also not
    as much tested as the source-based upgrade path yet.
    The use of binary packages is completely optional though.

    1. Ensure your system backups are up to date. Please also update
    your system fully and depclean before proceeding.
  4. immolo revised this gist Nov 23, 2024. 1 changed file with 6 additions and 39 deletions.
    45 changes: 6 additions & 39 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -3,40 +3,7 @@ Author: Ian Jordan <immoloism@gmail.com>
    Posted: 2024-11-04
    Revision: 1
    News-Item-Format: 2.0
    Display-If-Profile: default/linux/alpha/17.0
    Display-If-Profile: default/linux/alpha/17.0/*
    Display-If-Profile: default/linux/amd64/17.0
    Display-If-Profile: default/linux/amd64/17.0/*
    Display-If-Profile: default/linux/amd64/17.1
    Display-If-Profile: default/linux/amd64/17.1/*
    Display-If-Profile: default/linux/arm/17.0
    Display-If-Profile: default/linux/arm/17.0/*
    Display-If-Profile: default/linux/arm64/17.0
    Display-If-Profile: default/linux/arm64/17.0/*
    Display-If-Profile: default/linux/hppa/17.0
    Display-If-Profile: default/linux/hppa/17.0/*
    Display-If-Profile: default/linux/ia64/17.0
    Display-If-Profile: default/linux/ia64/17.0/*
    Display-If-Profile: default/linux/loong/22.0
    Display-If-Profile: default/linux/loong/22.0/*
    Display-If-Profile: default/linux/m68k/17.0
    Display-If-Profile: default/linux/m68k/17.0/*
    Display-If-Profile: default/linux/mips/17.0
    Display-If-Profile: default/linux/mips/17.0/*
    Display-If-Profile: default/linux/powerpc/ppc64/17.0/*
    Display-If-Profile: default/linux/ppc/17.0
    Display-If-Profile: default/linux/ppc/17.0/*
    Display-If-Profile: default/linux/ppc64/17.0
    Display-If-Profile: default/linux/ppc64/17.0/*
    Display-If-Profile: default/linux/ppc64le/17.0
    Display-If-Profile: default/linux/ppc64le/17.0/*
    Display-If-Profile: default/linux/riscv/20.0/*
    Display-If-Profile: default/linux/s390/17.0
    Display-If-Profile: default/linux/s390/17.0/*
    Display-If-Profile: default/linux/sparc/17.0
    Display-If-Profile: default/linux/sparc/17.0/*
    Display-If-Profile: default/linux/x86/17.0
    Display-If-Profile: default/linux/x86/17.0/*
    Display-If-Profile: default/linux/x86/23.0/*

    The year 2038 problem (also known as Y2038, Y2K38, Y2K38 superbug or the
    is a time computing problem that leaves some computer systems unable to
    @@ -91,12 +58,12 @@ as much tested as the source-based upgrade path yet.

    6. Rebuild or reinstall from binary (if available) the following packages in
    this order, with the same version as already active:
    emerge --ask --oneshot sys-devel/binutils
    (you may have to run binutils-config and re-select your binutils now)
    emerge --ask --oneshot sys-devel/gcc
    emerge --ask --oneshot sys-devel/gcc
    (you may have to run gcc-config and re-select your gcc now)
    (IMPORTANT: If this command wants to rebuild glibc first, do *not* let it do
    that; instead, abort and try again with --nodeps added to the command line.)
    (you may have to run gcc-config and re-select your gcc now)
    that; instead, abort and try again with --nodeps added to the command line.)
    emerge --ask --oneshot sys-devel/binutils
    (you may have to run binutils-config and re-select your binutils now)
    and the C library, i.e. for glibc-based systems
    emerge --ask --oneshot sys-libs/glibc

  5. immolo revised this gist Nov 22, 2024. 1 changed file with 12 additions and 0 deletions.
    12 changes: 12 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -55,6 +55,18 @@ as much tested as the source-based upgrade path yet.
    1. Ensure your system backups are up to date. Please also update
    your system fully and depclean before proceeding.
    glibc older than 2.38 is not supported anymore.

    1a. Emerge the time64-prep migration tool

    emerge --ask --verbose --oneshot app-portage/time64-prep

    1b. Test the system for readidness

    time64-prep

    If everything looks safe to contuine then run

    time64-prep --update

    2. Edit /etc/portage/make.conf; if there is a line defining the CHOST variable,
    remove it. Also delete all lines defining CHOST_... variables.
  6. immolo revised this gist Nov 4, 2024. 1 changed file with 33 additions and 63 deletions.
    96 changes: 33 additions & 63 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    Title: Profile upgrade to version 23.0 available
    Author: Andreas K. Huettel <dilfridge@gentoo.org>
    Posted: 2024-03-22
    Revision: 2
    Title: Profile upgrade to version tim64 available
    Author: Ian Jordan <immoloism@gmail.com>
    Posted: 2024-11-04
    Revision: 1
    News-Item-Format: 2.0
    Display-If-Profile: default/linux/alpha/17.0
    Display-If-Profile: default/linux/alpha/17.0/*
    @@ -38,72 +38,46 @@ Display-If-Profile: default/linux/sparc/17.0/*
    Display-If-Profile: default/linux/x86/17.0
    Display-If-Profile: default/linux/x86/17.0/*

    A profile upgrade to version 23.0 is available for your architecture.
    The new 23.0 profiles enable some toolchain hardening features and
    performance enhancements by default, and standardize settings.
    You can find the list of changes on the wiki tracking page [1].
    The year 2038 problem (also known as Y2038, Y2K38, Y2K38 superbug or the
    is a time computing problem that leaves some computer systems unable to
    represent times after 03:14:07 UTC on 19 January 2038.

    We strongly advise to precisely follow the upgrade instructions found
    below. The 17.0, 17.1, 20.0, and 22.0 profiles will be marked deprecated
    in 2 months and removed a year later. The exact dates may depend on the
    architecture, see [2].
    A fix for Gentoo users that will suffer from issue can be mitigated by
    following the below instructions.

    Upgrade instructions

    Note 1: If you have manually changed your CHOST to a value different from
    what the stages and profiles set, you may have to do that in the future too.
    In that case you should know what you are doing, hopefully; please read the
    instructions with a critical eye then.

    Note 2: In case you are already familiar with binary packages, you should be
    Note : In case you are already familiar with binary packages, you should be
    able to add "--getbinpkg" to the emerge calls to speed things up.
    The use of binary packages is completely optional though, and also not
    as much tested as the source-based upgrade path yet.

    1. Ensure your system backups are up to date. Please also update
    your system fully and depclean before proceeding.
    glibc older than 2.36 and musl older than 1.2.4 is not supported anymore.

    2. If you are still using one of the long-deprecated amd64 17.0 profiles
    (other than x32 or musl), then first complete the migration to the
    corresponding 17.1 profile. Instructions can be found at [3].

    3. If you are currently using systemd in a split-usr configuration, then first
    complete the migration to the corresponding merged-usr profile of the
    same profile version. Details on how to do this can be found in the news
    item [4].
    If you are currently using openrc, migrate to 23.0 first, keeping your disk
    layout. If you want to move from split-usr to merged-usr, do that afterwards.

    4. Run "emerge --info" and note down the value of the CHOST variable.
    glibc older than 2.38 is not supported anymore.

    5. Edit /etc/portage/make.conf; if there is a line defining the CHOST variable,
    2. Edit /etc/portage/make.conf; if there is a line defining the CHOST variable,
    remove it. Also delete all lines defining CHOST_... variables.

    6. Select the 23.0 profile corresponding to your current profile, either using
    "eselect profile" or by manually setting the profile symlink.
    Note that old profiles are by default split-usr and the 23.0 profiles by
    default merged-usr. Do NOT change directory scheme now, since this will
    mess up your system!
    Instead, make sure that the new profile has the same property: for example,
    OLD default/linux/amd64/17.1
    ==> NEW default/linux/amd64/23.0/split-usr
    (added "split-usr")
    OLD default/linux/amd64/17.1/systemd/merged-usr
    ==> NEW default/linux/amd64/23.0/systemd
    (removed "merged-usr")
    A detailed table of the upgrade paths can be found at [5]. Please consult it.
    3. Select the t66 23.0 profile corresponding to your current profile, either using
    "eselect profile" or by manually setting the profile symlink.!
    for example,
    OLD default/linux/x86/23.0/x86/i686
    ==> NEW default/linux/x86/23.0/t64
    (added "t64 for merged-usr")

    A detailed table of the upgrade paths can be found at [1]. Please consult it.
    In some cases (hppa, x86) the table will tell you to pick between two choices.
    What you need should be obvious from your *old* CHOST value (from step 4).

    7. Delete the contents of your binary package cache at ${PKGDIR}
    4. Delete the contents of your binary package cache at ${PKGDIR}
    rm -r /var/cache/binpkgs/*

    8. In the file or directory /etc/portage/binrepos.conf (if existing), update
    5. In the file or directory /etc/portage/binrepos.conf (if existing), update
    the URI in all configuration such that they point to 23.0 profile binhost
    directories. The exact paths can be found in the table at [5], too.
    directories with time64. The exact paths can be found in the table at [1], too.

    9. Rebuild or reinstall from binary (if available) the following packages in
    6. Rebuild or reinstall from binary (if available) the following packages in
    this order, with the same version as already active:
    emerge --ask --oneshot sys-devel/binutils
    (you may have to run binutils-config and re-select your binutils now)
    @@ -113,28 +87,24 @@ as much tested as the source-based upgrade path yet.
    (you may have to run gcc-config and re-select your gcc now)
    and the C library, i.e. for glibc-based systems
    emerge --ask --oneshot sys-libs/glibc
    or for musl-based systems
    emerge --ask --oneshot sys-libs/musl

    10. Re-run "emerge --info" and check if CHOST has changed compared to step 4.

    If the CHOST has NOT changed, skip to step 13 (env-update). Otherwise,

    11. Recheck with binutils-config and gcc-config that valid installed versions
    7. Recheck with binutils-config and gcc-config that valid installed versions
    of binutils and gcc are selected.

    12. Check /etc/env.d, /etc/env.d/binutils, and /etc/env.d/gcc for files that
    8. Check /etc/env.d, /etc/env.d/binutils, and /etc/env.d/gcc for files that
    refer to the *OLD* CHOST value, and remove them.
    Examples how to do this can be found in the similar procedure at [6].

    13. Run env-update && source /etc/profile
    9. Run env-update && source /etc/profile

    14. Re-emerge libtool:
    10. Re-emerge libtool:
    emerge --ask --oneshot libtool

    15. Just for safety, delete the contents of your binary package cache at
    11. Just for safety, delete the contents of your binary package cache at
    ${PKGDIR} again:
    rm -r /var/cache/binpkgs/*

    16. Rebuild world:
    emerge --ask --emptytree @world
    12. Rebuild world:
    emerge --ask --emptytree @world

    [1] Add profile update table URL
  7. immolo created this gist Nov 4, 2024.
    140 changes: 140 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,140 @@
    Title: Profile upgrade to version 23.0 available
    Author: Andreas K. Huettel <dilfridge@gentoo.org>
    Posted: 2024-03-22
    Revision: 2
    News-Item-Format: 2.0
    Display-If-Profile: default/linux/alpha/17.0
    Display-If-Profile: default/linux/alpha/17.0/*
    Display-If-Profile: default/linux/amd64/17.0
    Display-If-Profile: default/linux/amd64/17.0/*
    Display-If-Profile: default/linux/amd64/17.1
    Display-If-Profile: default/linux/amd64/17.1/*
    Display-If-Profile: default/linux/arm/17.0
    Display-If-Profile: default/linux/arm/17.0/*
    Display-If-Profile: default/linux/arm64/17.0
    Display-If-Profile: default/linux/arm64/17.0/*
    Display-If-Profile: default/linux/hppa/17.0
    Display-If-Profile: default/linux/hppa/17.0/*
    Display-If-Profile: default/linux/ia64/17.0
    Display-If-Profile: default/linux/ia64/17.0/*
    Display-If-Profile: default/linux/loong/22.0
    Display-If-Profile: default/linux/loong/22.0/*
    Display-If-Profile: default/linux/m68k/17.0
    Display-If-Profile: default/linux/m68k/17.0/*
    Display-If-Profile: default/linux/mips/17.0
    Display-If-Profile: default/linux/mips/17.0/*
    Display-If-Profile: default/linux/powerpc/ppc64/17.0/*
    Display-If-Profile: default/linux/ppc/17.0
    Display-If-Profile: default/linux/ppc/17.0/*
    Display-If-Profile: default/linux/ppc64/17.0
    Display-If-Profile: default/linux/ppc64/17.0/*
    Display-If-Profile: default/linux/ppc64le/17.0
    Display-If-Profile: default/linux/ppc64le/17.0/*
    Display-If-Profile: default/linux/riscv/20.0/*
    Display-If-Profile: default/linux/s390/17.0
    Display-If-Profile: default/linux/s390/17.0/*
    Display-If-Profile: default/linux/sparc/17.0
    Display-If-Profile: default/linux/sparc/17.0/*
    Display-If-Profile: default/linux/x86/17.0
    Display-If-Profile: default/linux/x86/17.0/*

    A profile upgrade to version 23.0 is available for your architecture.
    The new 23.0 profiles enable some toolchain hardening features and
    performance enhancements by default, and standardize settings.
    You can find the list of changes on the wiki tracking page [1].

    We strongly advise to precisely follow the upgrade instructions found
    below. The 17.0, 17.1, 20.0, and 22.0 profiles will be marked deprecated
    in 2 months and removed a year later. The exact dates may depend on the
    architecture, see [2].

    Upgrade instructions

    Note 1: If you have manually changed your CHOST to a value different from
    what the stages and profiles set, you may have to do that in the future too.
    In that case you should know what you are doing, hopefully; please read the
    instructions with a critical eye then.

    Note 2: In case you are already familiar with binary packages, you should be
    able to add "--getbinpkg" to the emerge calls to speed things up.
    The use of binary packages is completely optional though, and also not
    as much tested as the source-based upgrade path yet.

    1. Ensure your system backups are up to date. Please also update
    your system fully and depclean before proceeding.
    glibc older than 2.36 and musl older than 1.2.4 is not supported anymore.

    2. If you are still using one of the long-deprecated amd64 17.0 profiles
    (other than x32 or musl), then first complete the migration to the
    corresponding 17.1 profile. Instructions can be found at [3].

    3. If you are currently using systemd in a split-usr configuration, then first
    complete the migration to the corresponding merged-usr profile of the
    same profile version. Details on how to do this can be found in the news
    item [4].
    If you are currently using openrc, migrate to 23.0 first, keeping your disk
    layout. If you want to move from split-usr to merged-usr, do that afterwards.

    4. Run "emerge --info" and note down the value of the CHOST variable.

    5. Edit /etc/portage/make.conf; if there is a line defining the CHOST variable,
    remove it. Also delete all lines defining CHOST_... variables.

    6. Select the 23.0 profile corresponding to your current profile, either using
    "eselect profile" or by manually setting the profile symlink.
    Note that old profiles are by default split-usr and the 23.0 profiles by
    default merged-usr. Do NOT change directory scheme now, since this will
    mess up your system!
    Instead, make sure that the new profile has the same property: for example,
    OLD default/linux/amd64/17.1
    ==> NEW default/linux/amd64/23.0/split-usr
    (added "split-usr")
    OLD default/linux/amd64/17.1/systemd/merged-usr
    ==> NEW default/linux/amd64/23.0/systemd
    (removed "merged-usr")
    A detailed table of the upgrade paths can be found at [5]. Please consult it.
    In some cases (hppa, x86) the table will tell you to pick between two choices.
    What you need should be obvious from your *old* CHOST value (from step 4).

    7. Delete the contents of your binary package cache at ${PKGDIR}
    rm -r /var/cache/binpkgs/*

    8. In the file or directory /etc/portage/binrepos.conf (if existing), update
    the URI in all configuration such that they point to 23.0 profile binhost
    directories. The exact paths can be found in the table at [5], too.

    9. Rebuild or reinstall from binary (if available) the following packages in
    this order, with the same version as already active:
    emerge --ask --oneshot sys-devel/binutils
    (you may have to run binutils-config and re-select your binutils now)
    emerge --ask --oneshot sys-devel/gcc
    (IMPORTANT: If this command wants to rebuild glibc first, do *not* let it do
    that; instead, abort and try again with --nodeps added to the command line.)
    (you may have to run gcc-config and re-select your gcc now)
    and the C library, i.e. for glibc-based systems
    emerge --ask --oneshot sys-libs/glibc
    or for musl-based systems
    emerge --ask --oneshot sys-libs/musl

    10. Re-run "emerge --info" and check if CHOST has changed compared to step 4.

    If the CHOST has NOT changed, skip to step 13 (env-update). Otherwise,

    11. Recheck with binutils-config and gcc-config that valid installed versions
    of binutils and gcc are selected.

    12. Check /etc/env.d, /etc/env.d/binutils, and /etc/env.d/gcc for files that
    refer to the *OLD* CHOST value, and remove them.
    Examples how to do this can be found in the similar procedure at [6].

    13. Run env-update && source /etc/profile

    14. Re-emerge libtool:
    emerge --ask --oneshot libtool

    15. Just for safety, delete the contents of your binary package cache at
    ${PKGDIR} again:
    rm -r /var/cache/binpkgs/*

    16. Rebuild world:
    emerge --ask --emptytree @world