A technical question about pamac

Yes, I know the aur is unsupported and therefore can act janky and confusing, but can someone explain, from a technical perspective:

  1. Why pamac occasionally fails to grab aur updates that are seen by yay

  2. Why loading development package updates on pamac is very, very slow andā€¦

  3. By the time it is done loading it still missing some yay-visible devel updates.

Hopefully questions like this will help us improve this piece of software.

Thumbs up to the Manjaro team for responding rapidly to the aur situation.

AUR queries through API are throttled, through IP or HTTP headers among other means. Too many requests can result in a (temporary) blacklisting.


Development packages can change without the package actually changing version. That is because the version is checked on the source tree ā€“ looking for newer commits ā€“ and thus requires to download it first.


Do you mean

  • there are new updates for the same packages?
  • there are updates for other packages?

Letā€™s say I run yay -Syu --devel, it tells me I have several updates, highway-git, nordic-polar-theme-git and libjxl-git, just to name a few.

I then run pamac update --aur, it tells me my only update is nordic-polar-theme-git, all the others are missing.

Also a fourth question if it doesnā€™t bother you to answer: letā€™s say at this point I fire up the pamac GUI, enable aur development update checking in preferences, then click into updates. After waiting for ten-ish minutes (because of downloading) it tells me my system is up-to-date despite pamac-cli telling me I have one update and yay saying I have several. Why does this happen?

yes
with *-git
pamac/yay donwload app sources for read last app version : so pamac/yay can update or not only after download all *-git
ps: If *-git is disabled with pamac, there is a good reason ! it is better to do a --devel once a week

not *-git
pamac/yay, for all aur packages, send one request to aur (use rpc) for get last version - aur responce is very small so the request is fast

is not pamac but aur :wink:

compile aur app is very long if pc is not very powerful


For the aur update process, there is no difference between all aur helper :wink: rpc, git clone, makepkg and pacman -U (or makepkg -i)

I donā€™t quite understandā€¦in my case yay says I have three aur *git packages that need updating, while pamac can only see one of them, as if the other two *git packages are already up to date.

here
yay count 3 BUT before download these 3 *-git (but after download, update only one package)
pamac: count 1 BUT after download these 3 *-git
:wink:

You forgot the --devel option for checking development packages.
pamac update --aur --devel


Did you also enable AUR updates for classic packages? Development packages may not be checked if the global one is off.
Also, check in the console output (bottom right button) if your connection to AUR hadnā€™t been throttled. CLI gives an error, but GUI silently fails, so the error would be only visible in that console tab.

Iā€™ll check when I get my computer back (should be in a few hours) Iā€™ll write back then.

Related issue that might provide some insight:

adding --devel does not fix the issue, pamac still tells me I have one update instead of several.

This is enabled.

That does appear to be the caseā€¦Iā€™m getting a socket I/O error.

How can I get a list of aur packages that were installed through pamac and not through yay?

I ran pamac list --foreign and it lists all my aur packages including the ones installed through yay.

I assume yay will always say there is an update to a -git package, but pamac is only indicating it when there is a recent change to the PKGBUILD.

For example, nordic-polar-theme-git just got a PKGBUILD update on 2021-10-08, but highway-git hasnā€™t gotten an update since 2021-04-14. libjxl-git got an update on 2021-10-06, but you might have installed/update it recently, so that is why it isnā€™t showing up in pamac.

-git packages are pretty much always ā€œout-of-dateā€, because it builds on the latest git commit. So you should manually update them when you want by using pamac build <package name>

Thatā€™s not true. Right now Pamac is telling me I have a goverlay-git update from 0.6.3.r6.g4369899-1 > 0.6.3.r7.ga6f420e-1, but the PKGBUILD hasnā€™t been updated since 0.6.2.r1.ga525eb9-1.

FYI, I either last updated that package via Yay or manually with makepkg and have never installed / updated it with Pamac.

AUR helpers normally clone the VCS repo and run git ls-remote in the project folder to see if there are new commits since the last hash it checked.

Not if the package is already built from the latest commit. :wink:

1 Like

Not true. See my edited post above. We were both typing at the same time.

1 Like

hmmm interestingā€¦what else would cause pamac and yay to disagree?

Yā€™know, Iā€™ve never figured that out. Maybe @guinux could tell you.

1 Like

Actually yay will store the commit hash locally when it builds a -git package and then when looking for updates it checks the git repositoryā€™s last commit hash against that locally stored value. If they differ, yay will rebuild.

Pamac, afaik, is downloading sources and generates .SRCINFO (effectively calling the pkgver() function from the build file) and then compares the version against the locally installed one.
So Iā€™d assume that for some git packages ā€œpkgverā€ is implemented in a way that it does not change the version number with each commit :man_shrugging:

edit
Just tested it in a VM:
Running pamac update -a --devel does not show any updates.
The GUI however (with ā€œCheck for development updatesā€) does show me an outdated -git package.
Also the GUI took ages whiles checking while the CLI was very quick.

I assume there is something wrong in the CLI where --devel has no effect at all.

Could you name one of those -git packages which is not showing up as update in pamac but does in yay?
Also, please post your ~/.cache/yay/vcs.json content (use ā€œHide detailsā€ and code formatting when postingā€¦)

Same behavior here

that definitely sounds like a possibility, for me gui and cli give different results from time to time.

`yay -Syu --devel`
:: 11 Packages to upgrade.
11  aur/deepin-wine-wechat            3.3.5.50-1                -> 3.4.0.38-1
10  aur/google-chrome                 94.0.4606.81-1            -> 95.0.4638.54-1
 9  aur/visual-studio-code-bin        1.61.1-1                  -> 1.61.2-1
 8  devel/highway-git                 0.14.2.r42.g79126ad-1     -> latest-commit
 7  devel/kvantum-theme-orchis-git    r10.0538b0a-1             -> latest-commit
 6  devel/libjxl-git                  0.3.7.r492.ga67be33-1     -> latest-commit
 5  devel/tela-circle-icon-theme-git  2020.11.29.r18.g3f850e6-1 -> latest-commit
 4  devel/yaru-colors-gtk-theme-git   21.04.r5.gf0c98166-1      -> latest-commit
 3  devel/yaru-colors-icon-theme-git  21.04.r5.gf0c98166-1      -> latest-commit
 2  devel/yaru-colors-wallpapers-git  21.04.r5.gf0c98166-1      -> latest-commit
 1  devel/zsh-z-git                   351.adc81fd-1             -> latest-commit


pamac update --aur
To build (5):
  deepin-wine-wechat          3.4.0.38-1                 (3.3.5.50-1)                 AUR
  google-chrome               95.0.4638.54-1             (94.0.4606.81-1)             AUR
  highway-git                 0.14.2.r53.g21278b8-1      (0.14.2.r42.g79126ad-1)      AUR
  tela-circle-icon-theme-git  2020.11.29.r44.g07b82dc-1  (2020.11.29.r18.g3f850e6-1)  AUR
  visual-studio-code-bin      1.61.2-1                   (1.61.1-1)                   AUR

pamac update --aur --devel
To build (5):
  deepin-wine-wechat          3.4.0.38-1                 (3.3.5.50-1)                 AUR
  google-chrome               95.0.4638.54-1             (94.0.4606.81-1)             AUR
  highway-git                 0.14.2.r53.g21278b8-1      (0.14.2.r42.g79126ad-1)      AUR
  tela-circle-icon-theme-git  2020.11.29.r44.g07b82dc-1  (2020.11.29.r18.g3f850e6-1)  AUR
  visual-studio-code-bin      1.61.2-1                   (1.61.1-1)                   AUR

cat .cache/yay/vcs.json
{
	"highway-git": {
		"github.com/google/highway.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "79126adb0f3fdbc667572a7b06dfe10cb2063df0"
		}
	},
	"kvantum-theme-orchis-git": {
		"github.com/vinceliuice/Orchis-kde.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "0538b0a38678eb0beebbceaf695e37e445079d0c"
		}
	},
	"libjxl-git": {
		"github.com/google/brotli.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "62662f87cdd96deda90ac817de94e3c4af75226a"
		},
		"github.com/google/googletest.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "075810f7a20405ea09a93f68847d6e963212fa62"
		},
		"github.com/google/highway.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "79126adb0f3fdbc667572a7b06dfe10cb2063df0"
		},
		"github.com/libjxl/libjxl.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "a67be330ad36ea1b380d7573c7e13f9e77f72a2e"
		},
		"github.com/lvandeve/lodepng.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "8c6a9e30576f07bf470ad6f09458a2dcd7a6a84a"
		},
		"github.com/mm2/Little-CMS.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "c6d1c9c07cfd03642d154973d036fccc59a2075c"
		},
		"github.com/webmproject/sjpeg.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "676de227d75877eb5863ec805ba0a4b97fc2fc6c"
		},
		"skia.googlesource.com/skcms.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "0d549648032490dbdb091e9f1e31be56ea031599"
		}
	},
	"orchis-theme-git": {
		"github.com/vinceliuice/Orchis-theme.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "18811c46cc6178ce70adcc0bee56fe0cf9af19f4"
		}
	},
	"qv2ray-dev-git": {
		"github.com/Qv2ray/Qv2ray": {
			"protocols": [
				"https"
			],
			"branch": "dev",
			"sha": "a35ce6fba825ae3e6b9e4f03c53e018db3efb848"
		}
	},
	"qv2ray-plugin-trojan-dev-git": {
		"github.com/Qv2ray/QvPlugin-Trojan": {
			"protocols": [
				"https"
			],
			"branch": "dev",
			"sha": "1990d6ff7940d15edf9aecbd0a5b6b71a7db3230"
		}
	},
	"tela-circle-icon-theme-git": {
		"github.com/vinceliuice/Tela-circle-icon-theme.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "3f850e621843263a561d4694e148933c778b7534"
		}
	},
	"yaru-colors-gtk-theme-git": {
		"github.com/Jannomag/Yaru-Colors.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "f0c981669183103f0c0671628e9cbbd72e6191c7"
		}
	},
	"yaru-colors-icon-theme-git": {
		"github.com/Jannomag/Yaru-Colors.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "f0c981669183103f0c0671628e9cbbd72e6191c7"
		}
	},
	"yaru-colors-wallpapers-git": {
		"github.com/Jannomag/Yaru-Colors.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "f0c981669183103f0c0671628e9cbbd72e6191c7"
		}
	},
	"zsh-z-git": {
		"github.com/agkozak/zsh-z": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "adc81fd002ae0cee3b670482ae62aa9d0b68ad8f"
		}
	}
}%   

I ran yay -Syu --devel a second time and highway git disappeared:

:: 10 Packages to upgrade.
10  aur/deepin-wine-wechat            3.3.5.50-1                -> 3.4.0.38-1
 9  aur/google-chrome                 94.0.4606.81-1            -> 95.0.4638.54-1
 8  aur/visual-studio-code-bin        1.61.1-1                  -> 1.61.2-1
 7  devel/kvantum-theme-orchis-git    r10.0538b0a-1             -> latest-commit
 6  devel/libjxl-git                  0.3.7.r492.ga67be33-1     -> latest-commit
 5  devel/tela-circle-icon-theme-git  2020.11.29.r18.g3f850e6-1 -> latest-commit
 4  devel/yaru-colors-gtk-theme-git   21.04.r5.gf0c98166-1      -> latest-commit
 3  devel/yaru-colors-icon-theme-git  21.04.r5.gf0c98166-1      -> latest-commit
 2  devel/yaru-colors-wallpapers-git  21.04.r5.gf0c98166-1      -> latest-commit
 1  devel/zsh-z-git                   351.adc81fd-1             -> latest-commit

ran it a third time and all that were left were the three none-devel updates.
I assume Iā€™m being throttled.

I forgot to add: I have a second manjaro device with a (slightly) different configuration and is exhibiting the same issue. hopefully these two can be cross-compared:

yay -Syu --devel
:: 8 Packages to upgrade.
8  aur/deepin-wine-wechat                        3.3.5.50-1                   -> 3.4.0.38-1
7  devel/adapta-gtk-theme-colorpack-joshaby-git  1.202101191000.r3.g942015c-1 -> latest-commit
6  devel/highway-git                             0.14.2.r52.g137c6df-1        -> latest-commit
5  devel/libjxl-git                              0.3.7.r487.g541988a-1        -> latest-commit
4  devel/nordic-polar-theme-git                  v1.9.0.r37.g24ef67c-1        -> latest-commit
3  devel/yaru-colors-gtk-theme-git               21.04.r5.gf0c98166-1         -> latest-commit
2  devel/yaru-colors-icon-theme-git              21.04.r5.gf0c98166-1         -> latest-commit
1  devel/yaru-colors-wallpapers-git              21.04.r5.gf0c98166-1         -> latest-commit

pamac update --aur
To build (2):
  deepin-wine-wechat      3.4.0.38-1             (3.3.5.50-1)             AUR
  nordic-polar-theme-git  v1.9.0.r38.gdb4a671-1  (v1.9.0.r37.g24ef67c-1)  AUR

pamac update --aur --devel
To build (2):
  deepin-wine-wechat      3.4.0.38-1             (3.3.5.50-1)             AUR
  nordic-polar-theme-git  v1.9.0.r38.gdb4a671-1  (v1.9.0.r37.g24ef67c-1)  AUR

cat .cache/yay/vcs.json
{
	"adapta-gtk-theme-colorpack-joshaby-git": {
		"github.com/Joshaby/Adapta-Colorpack.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "942015c2dba2c780a2edc0943dd8fe05a35f0f70"
		}
	},
	"breeze-adapta-cursor-theme-git": {
		"github.com/mustafaozhan/Breeze-Adapta-Cursor": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "72ffeffb12b0dae77d6ffff2654f80f477231e69"
		}
	},
	"highway-git": {
		"github.com/google/highway.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "137c6df182219c98f683fff03775f8f71eb9b57f"
		}
	},
	"libjxl-git": {
		"github.com/google/brotli.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "62662f87cdd96deda90ac817de94e3c4af75226a"
		},
		"github.com/google/googletest.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "075810f7a20405ea09a93f68847d6e963212fa62"
		},
		"github.com/google/highway.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "79126adb0f3fdbc667572a7b06dfe10cb2063df0"
		},
		"github.com/libjxl/libjxl.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "541988a1fadd793215cf956172aa743840a4e70d"
		},
		"github.com/lvandeve/lodepng.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "8c6a9e30576f07bf470ad6f09458a2dcd7a6a84a"
		},
		"github.com/mm2/Little-CMS.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "c6d1c9c07cfd03642d154973d036fccc59a2075c"
		},
		"github.com/webmproject/sjpeg.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "676de227d75877eb5863ec805ba0a4b97fc2fc6c"
		},
		"skia.googlesource.com/skcms.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "0d549648032490dbdb091e9f1e31be56ea031599"
		}
	},
	"nordic-polar-theme-git": {
		"github.com/EliverLara/Nordic-Polar.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "24ef67cab3e665755c322a8c9ce9e7caa3349223"
		}
	},
	"plank-theme-namor": {
		"github.com/roman-zm/plank-theme-namor.git": {
			"protocols": [
				"git"
			],
			"branch": "HEAD",
			"sha": "0f6f610ee2d488fb7d14cc48ad4d6efebfb30753"
		}
	},
	"qv2ray-dev-git": {
		"github.com/Qv2ray/Qv2ray": {
			"protocols": [
				"https"
			],
			"branch": "dev",
			"sha": "a35ce6fba825ae3e6b9e4f03c53e018db3efb848"
		}
	},
	"qv2ray-plugin-trojan-dev-git": {
		"github.com/Qv2ray/QvPlugin-Trojan": {
			"protocols": [
				"https"
			],
			"branch": "dev",
			"sha": "1990d6ff7940d15edf9aecbd0a5b6b71a7db3230"
		}
	},
	"yaru-colors-gtk-theme-git": {
		"github.com/Jannomag/Yaru-Colors.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "f0c981669183103f0c0671628e9cbbd72e6191c7"
		}
	},
	"yaru-colors-icon-theme-git": {
		"github.com/Jannomag/Yaru-Colors.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "f0c981669183103f0c0671628e9cbbd72e6191c7"
		}
	},
	"yaru-colors-wallpapers-git": {
		"github.com/Jannomag/Yaru-Colors.git": {
			"protocols": [
				"https"
			],
			"branch": "HEAD",
			"sha": "f0c981669183103f0c0671628e9cbbd72e6191c7"
		}
	}
}%                      

This time, running pamac update a second time several minutes later causes some of the updates to change:

pamac update --aur
To build (3):
  deepin-wine-wechat      3.4.0.38-1             (3.3.5.50-1)             AUR
  highway-git             0.14.2.r54.g7d86bcf-1  (0.14.2.r52.g137c6df-1)  AUR
  nordic-polar-theme-git  v1.9.0.r38.gdb4a671-1  (v1.9.0.r37.g24ef67c-1)  AUR


pamac update --aur --devel
To build (3):
  deepin-wine-wechat      3.4.0.38-1             (3.3.5.50-1)             AUR
  highway-git             0.14.2.r54.g7d86bcf-1  (0.14.2.r52.g137c6df-1)  AUR
  nordic-polar-theme-git  v1.9.0.r38.gdb4a671-1  (v1.9.0.r37.g24ef67c-1)  AUR

I having a feeling that 1. The --devel option in pamac doesnā€™t actually do anything and 2. Checking for development package updates with an aur helper is just inconsistent in general.