'foreign' packes in update

 Proceed with installation? [Y/n] y
:: Retrieving packages...
 procps-ng-4.0.4-3-x86_64   899.3 KiB  1647 KiB/s 00:01 [------------------------------] 100%
 librsvg-2:2.57.3-1-x86_64    2.5 MiB  3.45 MiB/s 00:01 [------------------------------] 100%
 nss-3.99-1-x86_64         1641.0 KiB  1844 KiB/s 00:01 [------------------------------] 100%
 harfbuzz-8.3.1-1-x86_64   1016.3 KiB  1086 KiB/s 00:01 [------------------------------] 100%
 libopenmpt-0.7.5-1-x86_64  784.4 KiB  5.89 MiB/s 00:00 [------------------------------] 100%
 ca-certificates-mozil...   374.2 KiB  2.61 MiB/s 00:00 [------------------------------] 100%
 harfbuzz-icu-8.3.1-1-...     7.8 KiB  62.9 KiB/s 00:00 [------------------------------] 100%
 yay-12.3.4-1-x86_64          2.9 MiB   570 KiB/s 00:05 [------------------------------] 100%
 Total (8/8)                 10.1 MiB  1925 KiB/s 00:05 [------------------------------] 100%
(8/8) checking keys in keyring                          [------------------------------] 100%
(8/8) checking package integrity                        [------------------------------] 100%
(8/8) loading package files                             [------------------------------] 100%
(8/8) checking for file conflicts                       [------------------------------] 100%
:: Processing package changes...
(1/8) upgrading ca-certificates-mozilla                 [------------------------------] 100%
(2/8) upgrading harfbuzz                                [------------------------------] 100%
(3/8) upgrading harfbuzz-icu                            [------------------------------] 100%
(4/8) upgrading libopenmpt                              [------------------------------] 100%
(5/8) upgrading librsvg                                 [------------------------------] 100%
(6/8) upgrading nss                                     [------------------------------] 100%
(7/8) upgrading procps-ng                               [------------------------------] 100%
(8/8) upgrading yay                                     [------------------------------] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Rebuilding certificate stores...
(3/4) Probing GDK-Pixbuf loader modules...
(4/4) Checking which packages need to be rebuilt
foreign	librewolf-bin
foreign	zoom

see last two lines? wt heck? see yay at top? probably not coincidence with this update that was minutes ago.

yes I did search through threads! and I believe this covers it: What does it mean when you get a message about something being 'foreign'? - #11 by mlytle0

to which I ask @ r0ckhopper (or anyone) if this advice is still valid?
"So in .cache, there may be a folder called yay. In this folder is the cache of files used when you built each AUR package. There may be a folder for each of auto-cpufreq, idlex, starsector and thonny. Delete each of those and then you can reinstall whichever ones you want from the AUR (as I said hopefully with Python 3.11).

If there is no yay folder in .cache, no need to worry, you can just reinstall those packages."

So, if I took the steps you outlined to identify said folders, then deleted all those folders, uninstall AUR offending foreign packages, rebooted, and reinstalled (rebuild) zoom and librewolf again I should be fine?

thanks. will check back tomorrow.

This is just rebuild-detector at work. It’s simply telling you that librewolf-bin and zoom (two foreign packages, as in not from the official repos) need to be rebuilt against the new and updated libraries. I bet if you run checkrebuild on the command line, those two AUR packages will be listed out as well (unless you have rebuilt them before running the command, of course).

Yes you should be fine.

Alternatively, you can just run

$ yay -S librewolf-bin zoom --rebuildtree

Foreign packages are the ones that did not come from the repos that you have enabled in your /etc/pacman.conf, but are installed manually. This, by definition, includes all AUR packages.


I concur with the above two distinguished gentlemen :face_with_monocle:

Yes, you should be fine.

1 Like

My two cents:
Yes, you should be fine.


While running rebuild-detector, I discovered two more packages.

So I used the simple --rebuildtree command with the -S arguments, rebuilt the packages, did a -Syyu for good measure and all foreign disappeared from yay output.

thanks @anthony93 and other responders, this is solved.

1 Like

Technically, rebuild-detector is the package name. The actual command you ran is checkrebuild, which is provided by the rebuild-detector package. Just putting out there to avoid confusion.

$ pacman -Si rebuild-detector
Repository      : extra
Name            : rebuild-detector
Version         : 4.4.2-1
Description     : Detects which packages need to be rebuilt
Architecture    : any
URL             : https://github.com/maximbaz/rebuild-detector
Licenses        : ISC
Groups          : None
Provides        : None
Depends On      : binutils  parallel  pacutils  pacman-contrib
Optional Deps   : None
Conflicts With  : None
Replaces        : None
Download Size   : 6.01 KiB
Installed Size  : 6.11 KiB
Packager        : Maxim Baz <maximbaz@archlinux.org>
Build Date      : Wed 22 Mar 2023 05:33:39 AM +08
Validated By    : MD5 Sum  SHA-256 Sum  Signature
$ pacman -Ql rebuild-detector
rebuild-detector /usr/
rebuild-detector /usr/bin/
rebuild-detector /usr/bin/checkrebuild
rebuild-detector /usr/share/
rebuild-detector /usr/share/libalpm/
rebuild-detector /usr/share/libalpm/hooks/
rebuild-detector /usr/share/libalpm/hooks/rebuild-detector.hook
rebuild-detector /usr/share/licenses/
rebuild-detector /usr/share/licenses/rebuild-detector/
rebuild-detector /usr/share/licenses/rebuild-detector/LICENSE
rebuild-detector /usr/share/man/
rebuild-detector /usr/share/man/man1/
rebuild-detector /usr/share/man/man1/checkrebuild.1.gz
rebuild-detector /usr/share/man/man7/
rebuild-detector /usr/share/man/man7/rebuild-detector.7.gz

I did run checkrebuild and not rebuild-detector, that was my error.

why do you think I found 2 more packages (4 altogether) than reported in yay proper?

I know you did. But what if someone else read what you wrote and got confused thinking that you ran rebuild-detector? I did mention earlier that my reply was meant to be a clarification, didn’t I?

I clarified that I was in error in the first sentence, since it was the right thing to do.

In the second sentence I asked you your opinion a whole other matter.

I wasn’t critical toward you at all.

No worries. I was only clarifying, that’s all. But yeah, I did misunderstand your question. My apologies.

Hmm. What were the other two packages?

After reading through the pacman hook provided by rebuild-detector, I may have found the answer.

Operation = Upgrade
Type = Package
Target = *

Description = Checking which packages need to be rebuilt
Exec = /usr/bin/checkrebuild
When = PostTransaction

The NeedsTargets option is included under the [Action] section, which means that the packages that were upgraded during that transaction will be piped (passed via stdin) into checkrebuild when the hook was triggered. This is different from running checkrebuild from the command line without piping anything into it because if you pass a list of packages into checkrebuild via stdin, checkrebuild will only run ldd checks against direct dependencies of those packages.

My current conjecture (I could be wrong on this, of course) is that the other two extra packages were broken by an older update, not the update that is the focus of this post. Those two extra packages were already broken before you even ran the yay update prior to the original post, but because none of the packages upgraded in that yay update affects the other two packages, the rebuilt-detector hook didn’t detect them.

Source: the README of rebuild-detector

quite possible–I’d call that a solid conjecture. one was gnome-terminal-transparency and the other was also a lesser AUR package.
they were reported broken by check-rebuild and not by yay because both commands had a different way of seeing (i.e. hooks) makes perfect sense to me.
thanks for looking into it further.
I have added this stuff to my maintenance list!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.