I think switching branches wiki needs an improvement

Thanks @nikgnomic, but I’m done commenting. I’ve had too much different opinions from too many people about this. I’m sticking to doing things my way.

:smiley:

1 Like
  • -yy
    does refresh the database (which seems necessary when switching branches)
  • -uu
    does allow downgrades (which seems sometimes necessary when switching branches)

So this seems right to me.

I’m still waiting for further contributions, but I’m ready to change this in the wiki.

:footprints:

1 Like

Don’t be too dogmatic on this. This comes from arch, and they have unlike manjaros 3 branches, only one repo (yes,they have testing, but that’s only for development).
So, when doing usual updates -Syu is fine, thus recomended.
When swithing branches, one should force database refresh.
cheers

1 Like

OP is switching from Stable branch so downgrade is not necessary

Manjaro Wiki recommends use of downgrade option after switching back to Stable branch
How do I go back after changing to one of the testing branches

A famous bon mot asserts that opinions are like a–e-holes, in that everyone has one. There is great wisdom in this… but I would add that opinions differ significantly from a–e-holes, in that yours should be constantly and thoroughly examined.

We must think critically, and not just about the ideas of others. Be hard on your beliefs. Take them out onto the verandah and beat them with a cricket bat… Be intellectually rigorous. Identify your biases, your prejudices, your privilege.”

― Tim Minchin

3 Likes

Do you happen to have yay-bin (or another package) installed from AUR that happens to include pacman-6.1.x among its dependencies?

This scenario created issues for several users very recently.

pacman 6.1.0-7 on Testing branch - Provides: libalpm.so=14-64

libpamac 11.6.4+1+g3fe0f42-1 on Testing branch - Depends On: libalpm.so=14

pacutils 0.14.0-1 on Testing branch - Depends On: pacman

The fastest mirrors might not have up-to-date packages for Testing branch

Check Manjaro Repository - Status of mirrors or:

pacman-mirrors

I am pretty sure in 2 things: one should not install critical system components like pacman or libpamac from aur or git;
And switching branches should be done with refresh. For the sake of simplicity i vote for Syyuu in the wiki. Uu does not hurt when not applied and the new users have to learn only one command for all 9 possible cases.

1 Like

You have the same issue as someone using out of sync mirrors recently

I vote for “read manual and use some brain”. Or better automate everything for Manjaro users. :joy:

2 Likes

yy forces db refresh
uu allows downgrades

When changing branches ~UP~ (Stable → Testing) neither should be needed.

When switching ~DOWN~ (Testing → Stable) uu is not required, but can be used if one wants to sync with Stable and downgrade the packages. But I repeat this is not required, and may not even be desirable.

IMHO the wonkiness OP describes is because of their sync status and unsupported packages in the first place.

2 Likes

Still seems like force refresh is required when switching branches – at least sometimes. Just had the same thread maybe a week ago.

EDIT:

It’s this one Trouble switching to testing branch

1 Like

I vaguely remember something similar … but if I recall these were examples of people who otherwise use pamac … and pamac needs something like ‘force-refresh’ from time to time, even if you dont switch branches. But thats another subject.

EDIT for your EDIT.

Without any confirmation … I might tend to agree with the other comment there.
Did the OP switch branches and then sync right after? Or sort mirrors after changes branches?
Because sorting mirrors should be done. And probably would have removed the need for the double y.

(and itself may not have been required if the mirror/sync status was in perfect order beforehand)

Could be. But still, what “sorting”? You change branches so you pull from different url. But apparently you half-do it. Someone should probably write some libalpm overlay. :stuck_out_tongue:

To switch to the testing branch from stable I use this command:

sudo pacman-mirrors -aS testing

To switch to stable:

sudo pacman-mirrors -aS stable

But that requires a bit of responsible adulting rather than throwing toys out of the pram in Testing update announcement

1st part is normal due-diligence that everyone should consider before commenting:
man pacman-mirrors
man pacman

2nd part should be no challenge for a competent user on Testing branch

No. Just yay

Oh but it was. Whatever the logic pacman is using to determine whether a database refresh is needed was not picking up the changes correctly. Maybe stable dbs were newer than testing, Idk, I have no insight into these internals

My experience was essentially the same as LA-MJ when I switched from Stable to Testing earlier this month.

  • I only use pacman; no pamac, yay, or other AUR helpers.
  • All packages from AUR are pre-compiled binaries (google-chrome, zoom). No alternative versions of Manjaro repository packages.
  • I first verified that my mirror was up-to-date on https://repo.manjaro.org/
  • I then ran pacman -Syu, and received the same message as LA-MJ.
  • 30 seconds later, without changing mirrors, I ran pacman -Syyu and the switch from Stable to Testing ran as expected.

As an example, if I look at the current status of the databases, I see

Branch Repository Date
Stable Core Sat May 18 2024 04:55
Testing Core Sat May 18 2024 12:27
Stable Extra Mon May 20 2024 15:09
Testing Extra Mon May 20 2024 15:05

The Stable Core database is older than Testing, so pacman would download a fresh copy, as expected. However, the Stable Extra database is newer than Testing.

If I had an up-to-date Stable system, and tried to switch to Testing at this time, it seems reasonable that pacman would determine that my local Extra database was not in need of refreshing, and would not download a fresh version unless forced to do so. Without a forced refresh, pacman would try to give me the latest version of pacman from the new Core, together with older versions of libpamac and pacutils from the old Extra, producing the error message from the first post.

In most cases, what the wiki says will work. However, you encountered a situation that required more advanced options. The -yy and -uu flags should only be used in very specific use cases.

Using -yy improperly could force sync an outdated mirror and break everything. That’s why most of the time it’s recommended to never use it. Even Allan, the developer of Pacman says so. Good luck arguing with him about his own tool. :laughing:

Keep in mind our wiki is created by and for the community. Anyone can submit new things and propose changes.

Anyway, this thread has gone on long enough and is no longer constructive.

2 Likes