Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] profiles: remove obsolete package.accept_keywords entries #16

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

andrey-utkin
Copy link

The removed entries are now keyworded for both arm and arm64 in main
Gentoo tree.

Bash script:

cat profiles/targets/rpi3/package.accept_keywords/* \
| grep -v -E '^$|^#|^=' \
| awk '{ print $1 }' \
| sort -u \
| while read CATPN; do
      REPO=/usr/portage
      if grep -q 'KEYWORDS=.*arm .*arm64' $REPO/$CATPN/*.ebuild &>/dev/null; then
          echo $CATPN
      fi
  done \
| while read CATPN; do
      # How the heck to not match anything which just begins with CATPN and has some suffix?
      sed -i -e "\\:^${CATPN}:d" profiles/targets/rpi3/package.accept_keywords/*
  done \
  ;

find profiles/targets/rpi3/package.accept_keywords/* -empty | xargs git rm -f

@sakaki-
Copy link
Owner

sakaki- commented Jul 8, 2019 via email

@andrey-utkin
Copy link
Author

Will take me a while to get back to this, sorry, don't be surprised.

…d for arm64

Most of entries in profiles/targets/rpi3/package.accept_keywords/*
specify value "* ~*", which means "package is visible if it is in stable
or testing status on any architecture".

This means, once any affected package gets a new ebuild having *any*
keyword, e.g. ~amd64, it becomes "visible" as a pending update for the
system. This is not a bad trick per se, especially for a deliberate
"bleeding edge" system, and especially in earlier times when arm64
didn't maintain a stable keyword. But this means potentially dealing
with more cases of breakage, because Gentoo staff hasn't yet assured
that the new version works on arm64 architecture.

This commit turns such lines, for packages which are keyworded for
arm64 (at least in unstable status, ~arm64), into lines with just the
package name, which means "package is visible if it is in stable or
testing status on *host* architecture". This means arm64 in this case.
It might lead to some confusion for people who are trying to use the
overlay for arm (32-bit) systems, but they don't seem to be the target
audience anyway. I am open to changing this commit to list arm64
explicitly.

The script used to produce the change:

    REPO=/usr/portage
    cat profiles/targets/rpi3/package.accept_keywords/* \
    | grep -v -E '^$|^#|^=' \
    | awk '{ print $1 }' \
    | sort -u \
    | while read CATPN; do
          if grep -q 'KEYWORDS=.*arm64' $REPO/$CATPN/*.ebuild &>/dev/null; then
    	  # Keyworded, stable or unstable
    	  # Replace '$CAT/$PN * ~*' which is 'accept stable or testing on any arch'
    	  # with '$CAT/$PN' which is 'accept testing on host arch'
    	  sed -i -e "s:^${CATPN}[ ]\+[*] [~][*]$:${CATPN}:" profiles/targets/rpi3/package.accept_keywords/*
          fi
      done
@andrey-utkin
Copy link
Author

I reviewed what I was attempting to do here, and realized that my previous approach was too far from correctness.

I have run emerge --pretend --emptytree --with-bdeps=y @world, and got this result:

Total: 1122 packages (1 downgrade, 1 in new slot, 1120 reinstalls, 1118 binaries), Size of downloads: 670,296 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

media-sound/pulseaudio:0

  (media-sound/pulseaudio-13.0:0/0::gentoo, ebuild scheduled for merge) conflicts with
    >=media-sound/pulseaudio-12.2-r3[rpi-deglitch(-)] required by (dev-embedded/rpi-64bit-meta-1.5.1-r7:0/0::genpi64, binar
y scheduled for merge)


media-video/ffmpeg:0

  (media-video/ffmpeg-4.2.1:0/56.58.58::gentoo, ebuild scheduled for merge) conflicts with
    >=media-video/ffmpeg-4.2-r1[v4l2m2m-fix(-)] required by (dev-embedded/rpi-64bit-meta-1.5.1-r7:0/0::genpi64, binary sche
duled for merge)


sys-boot/rpi3-64bit-firmware:0

  (sys-boot/rpi3-64bit-firmware-1.20190925:0/0::genpi64, ebuild scheduled for merge) conflicts with
    ~sys-boot/rpi3-64bit-firmware-1.20190819[-dtbo(+)] required by (sys-kernel/bcm2711-kernel-bis-bin-4.19.73.20190924:0/0:
:genpi64, binary scheduled for merge)
    ^                             ^^^^^^^^^^
    ~sys-boot/rpi3-64bit-firmware-1.20190819[-dtbo(+)] required by (sys-kernel/bcmrpi3-kernel-bis-bin-4.19.73.20190924:0/0:
:genpi64, binary scheduled for merge)
    ^                             ^^^^^^^^^^

The only downgrade is media-gfx/gimp, and it is explanable - the package has "just recently" got keyworded arm64, but not in the latest ebuilds unfortunately.

I am now re-running having added --usepkg=n --getbinpkg=n.

@andrey-utkin
Copy link
Author

I see the same conflicts if i run the same command without my patch. So perhaps exactly that command is not indicative?

@sakaki- sakaki- added the EOL label Oct 30, 2020
@sakaki-
Copy link
Owner

sakaki- commented Oct 30, 2020

30 Oct 2020: sadly, due legal obligations arising from a recent change in my 'real world' job, I must announce I am standing down as maintainer of this project with immediate effect. For the meantime, I will leave the repo up (for historical interest, and since the ebuilds etc. may be of use for others looking to take forward Gentoo on 64-bit RPi systems); however, there will be no further updates to the underlying binhost etc., nor will I be accepting / actioning further pull requests or bug reports from this point. Email requests for support will also have to be politely declined, so, please treat this as an effective EOL notice.

For further details, please see my post here.

Many thanks for your interest in this project!

With sincere apologies, sakaki ><

jonesmz added a commit to jonesmz/genpi64-overlay that referenced this pull request Mar 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants