File conflicts while switching branch from testing to stable

First, I switched from stable to testing. However some of my widgets broken, such as ‘spacer as pager’ and ‘menu pager’. So I want to turn back to stable. I could switch my mirrors but I’m getting conflicting files error when I try to use sudo pacman -Syyuu. Some of the conflicting files are here:

lua: /usr/bin/lua5.4 exists in filesystem (owned by lua54)
lua: /usr/bin/luac5.4 exists in filesystem (owned by lua54)
lua: /usr/lib/liblua++5.4.so exists in filesystem (owned by lua54)
lua: /usr/lib/liblua.so.5.4 exists in filesystem (owned by lua54)
lua: /usr/lib/liblua.so.5.4.8 exists in filesystem (owned by lua54)
lua: /usr/lib/liblua5.4.so exists in filesystem (owned by lua54)
lua: /usr/lib/pkgconfig/lua++-5.4.pc exists in filesystem (owned by lua54)
lua: /usr/lib/pkgconfig/lua++5.4.pc exists in filesystem (owned by lua54)
lua: /usr/lib/pkgconfig/lua++54.pc exists in filesystem (owned by lua54)
lua: /usr/lib/pkgconfig/lua-5.4.pc exists in filesystem (owned by lua54)
lua: /usr/lib/pkgconfig/lua5.4.pc exists in filesystem (owned by lua54)
lua: /usr/lib/pkgconfig/lua54.pc exists in filesystem (owned by lua54)
/usr/share/icons/Breeze_Light/cursors/00000000000000020006000e7e9ffc3f exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/00008160000006810000408080010102 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/03b6e0fcb3499374a867c041f52298f0 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/08e8e1c95fe2fc01f976f1e063a24ccd exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/1081e37283d90000800003c07f3ef6bf exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/3085a0e285430894940527032f8b26df exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/3ecb610c1bf2410f44200f48c40d3599 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/4498f0e0c1937ffe01fd06f973665830 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/5c6cd98b3f3ebcb1f9c7f1c204630408 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/6407b0e94181790501fd1e167b474872 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/640fb0e74195791501fd1ed57b41487f exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/9081237383d90e509aa00f00170e968f exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/9d800788f1b08800ae810202380a0822 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/a2a266d0498c3104214a47bd64ab0fc8 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/alias exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/all-scroll exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/arrow exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/b66166c04f8c3109214a4fbd64a50fc8 exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/bottom_left_corner exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/bottom_right_corner exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/bottom_side exists in both 'breeze' and 'breeze-cursors'
/usr/share/icons/Breeze_Light/cursors/cell exists in both 'breeze' and 'breeze-cursors'

It continues with all the files in /usr/share/icons/Breeze_Light/cursors and /usr/share/icons/breeze_cursors/
How can I fix the issue?

If you switched back to the Stable branch, it might be a good idea to issue

sudo pacman -Syyuu

This should force a re-sync and allow downgrading of packages.

Sorry, I edited my post, I did what you said actually.

1 Like

I see that now. I’d suggest removing the offending “cursor” themes. :wink:

The problem with downgrading branches is that a package might have been replaced or split in Testing, and the change has not yet occurred in Stable. So Stable has no way of knowing about the changes.

In this case, lua in the Testing repo is v5.5, while in Stable it is v5.4. However, in Testing there is now lua54 which provides the lua 5.4 libraries. So, to downgrade you will need to remove lua54 from your system, so that lua v5.4 can be provided by Stable’s lua package.

breeze-cursors is a new package in Plasma 6.6, due to the cursors being split from the breeze package. So, as @BG405 said, you should remove breeze-cursors from your system, as they will be provided by breeze when you are back on Stable’s Plasma 6.5.6.

I’m not much of an expert in the process, but you may have force the removal of the lua54 & breeze-cursors using pacman’s -d or -dd options to skip dependency checks. Running this command before the full downgrade command should do the job:

sudo pacman -Rdd lua54 breeze-cursors

and then

sudo pacman -Syyuu
pacman -R --help
pacman -R --help 
usage:  pacman {-R --remove} [options] <package(s)>
options:
  -b, --dbpath <path>  set an alternate database location
  -c, --cascade        remove packages and all packages that depend on them
  -d, --nodeps         skip dependency version checks (-dd to skip all checks)
  -n, --nosave         remove configuration files
  -p, --print          print the targets instead of performing the operation
  -r, --root <path>    set an alternate installation root
  -s, --recursive      remove unnecessary dependencies
                       (-ss includes explicitly installed dependencies)
  -u, --unneeded       remove unneeded packages
  -v, --verbose        be verbose
      --arch <arch>    set an alternate architecture
      --assume-installed <package=version>
                       add a virtual package to satisfy dependencies
      --cachedir <dir> set an alternate package cache location
      --color <when>   colorize the output
      --config <path>  set an alternate configuration file
      --confirm        always ask for confirmation
      --dbonly         only modify database entries, not package files
      --debug          display debug messages
      --disable-download-timeout
                       use relaxed timeouts for download
      --disable-sandbox
                       disables all sandbox features used for the downloader process
      --disable-sandbox-filesystem
                       disables the filesystem part of the downloader process sandbox
      --disable-sandbox-syscalls
                       disables the syscalls part of the downloader process sandbox
      --gpgdir <path>  set an alternate home directory for GnuPG
      --hookdir <dir>  set an alternate hook location
      --logfile <path> set an alternate log file
      --noconfirm      do not ask for any confirmation
      --noprogressbar  do not show a progress bar when downloading files
      --noscriptlet    do not execute the install scriptlet if one exists
      --print-format <string>
                       specify how the targets should be printed
      --sysroot        operate on a mounted guest system (root-only)
1 Like

I could not remove lua54 package, pacman (without -dd) said there is no such a package. Instead, I ‘overwrite’ lua package and install breeze and breeze-cursors packages separately and then update (or downgrade?) the system, before I saw your post. I assume yours would be the clean solution.

1 Like

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