While checking the ‘preferences’ in ‘pamac’ (preferences/third-party/aur) i noticed that ‘Check for updates’ for aur packages was set to ‘Off’? I don’t know when that happend - I must have turned it off by mistake. Anyway, I turned it ‘On’ and after a few minutes I had 15 aur apps to upgrade.
The updates failed due to ERROR: A failure occurred in build(). Aborting…
I tried with ‘pacman’
sudo pacman -Syu
but everything was up to date - nothing to do
I did some googling and looks like 'pacman, does not update aur packages, but I need to use ‘yay’ to update aur packages.
I tried that, but after a very long time ‘yay’ also failed with the same error message and then It got stuck into an endless loop - I had to just close the terminal to stop it.
I then went back to ‘pamac’ and installed one package at a time. That worked for 11 of them so now I’m left with 4 packages that can not be upgraded. The packages are:
ceph-libs
pyside2
python2
python-shiboken2
Ok a lot more googling and searching this forum and it appears that those 4 apps have been dropped and most likely not needed anymore? is this correct? so why does ‘pamac’ still find updated packages?
I then used ‘pacman’
pacman -Q -i package-name
to find the ‘required by’ packages of those 4 packages
ceph-libs has None
pyside2 has Two
python2 has One
python-shiboken2 has One (pyside2)
so a total of 7 apps to remove
I guess I’m asking for confirmation that that is correct?
Do not tur on this option. It can potentially cause problems because pamac is, well buggy. As you saw, it will now block your system updates…
Use yay, but only after successfully updating the core system.
Besides, you have some orphans that has to be removed (look in the orphan tab and clean everything there)
because it is an AUR helper if you enabled AUR support in the settings
yay is usually (in my experience) more reliable - I practically never use pamac
not for regular repos, not for AUR
these are not needed anymore - although you may know better
If you don’t know why they are even there - remove them
instead of trying to rebuild them for no reason …
Inspect the list before accepting the changes. If you notice anything you would like to keep then that package should be marked ‘–asexplicit’, which would remove it from the orphans list.
If you didnt install them or a package that requires them yourself, then these are likely all remnants from upgrading. The packages used to be in the repos, but are not any longer.
This usually indicates you no longer need the package(s).
If you have the AUR enabled in pamac, then it is finding the packages you have installed still available in the AUR, even though they have been dropped from the repositories.
I used Stable branch previously with Plasma 5 for well known reasons - and I found it was better to keep AUR checks turned off in Pamac - I only want auto-checking on system repositories.
I did use several AUR packages, and because Stable is a way behind Arch, we find on Manjaro that the AUR will update before Manjaro updates and cause problems.
It isn’t supported at all, if you use AUR it is entirely at your own risk, and it would be better for you to update AUR separately in a terminal, and enable snapshots in order to roll back when any issues occur.
I now use Testing branch with Plasma, and AUR has not caused me any problems lately… though it is mostly recommended to use Unstable.
I certainly do have some orphaned apps that I know for sure are used - like surfshark-client so how exactly do I mark them as ‘explicit’ do I use -S or -U as in
pacman -S --asexplicit package-name
or
pacman -U --asexplicit package-name
When I look in ‘pamac’ under the ‘Installed’ tab and select ‘Foreign’ I see all the installed AUR apps as well as the apps with no ‘Repo’?
In the AUR list, I see apps that I’m definitely using like:
gtkhash
gtkhash-nemo
vdhcoapp-bin
spectre-meltdown-checker
android-apktool-bin
thinkpad-git
thinkpad-ui
How do I make sure they get updated if I turn off the AUR update in ‘pamac’?
Once you have done your system update, you could then run the following command in a terminal to update AUR packages:
pamac update --aur
The full list of options available when updating via the CLI:
pamac update --help
Upgrade your system
pamac upgrade,update [options]
options:
--force-refresh : force the refresh of the databases
--no-refresh : do not refresh the databases
--enable-downgrade : enable package downgrades
--disable-downgrade : disable package downgrades
--download-only, -w : download all packages but do not install/upgrade anything
--dry-run, -d : only print what would be done but do not run the transaction
--ignore <package(s)> : ignore a package upgrade, multiple packages can be specified by separating them with a comma
--overwrite <glob> : overwrite conflicting files, multiple patterns can be specified by separating them with a comma
--no-confirm : bypass any and all confirmation messages
--aur, -a : also upgrade packages installed from AUR
--no-aur : do not upgrade packages installed from AUR
--devel : also upgrade development packages (use with --aur)
--no-devel : do not upgrade development packages
--builddir <dir> : build directory (use with --aur), if no directory is given the one specified in pamac.conf file is used
The problem with having AUR enabled on stable branch is well documented - just search the forum.
I have a taken a lot of heat over the years because I have pointed out the problems with indiscriminate AUR usage on stable branch.
But as pointed out above - the disable in the GUI does not prevent usage of AUR - but you will be more aware of what you are doing as it is no longer point, click and forget.
Thanks all for your help - I’m getting there
Marked some orphan packages as explicit, Uninstalled some apps I don’t use and cleared the leftover orphans.
just a few more questions
After I cleared the orphans, I uninstalled some unused apps and now I have more orphans again? is that expected? I thought that ‘-Rns’ also removes unused dependencies? so there should not be any orphans left behind?
Also in ‘Pamac gui’ in the ‘Third Party/AUR’ tab under the ‘Build directory’ there are 15 files totalling 1.6 GB to clean - That’s a lot?! Is that possible/correct? and safe to Clean? usually it’s less than 100 MB
But they where “used” until you removed those unused apps.
So yes, this is … maybe not expected, but entirely possible.
It’s the build directory - it contains everything that accumulates during the building/compilation process,
not just the resulting finished packages.
It is safe to clean - worst thing that can happen:
needing to build it again.
But instead of speculating yourself and having us speculating as well:
why not just list those 15 “files” - which may just be directories with lots of files in them …?
I run that command and yes it’s just the AUR packages I was trying (unsuccessfully) to upgrade/build. I deleted them.
I don’t remember exactly what the 15 AUR apps were some of them were apps I know I use.
As I initially said, I tried to install each individually and that way managed to install 11 out of the 15. The 4 that remained were
ceph-libs, pyside2, python2, and python-shiboken2
I since uninstalled them and turned off AUR updates. I then set some of the orphans that I know I use to ‘explicit’ and uninstalled the rest.
I then went back and uninstalled a few apps that I don’t use/need. After that I checked the orphans again and there is a new large list
Do you see anything in that list that I should not delete? I guess I could just leave them, appart from taking space on the hard drive, they do no harm?
No - I won’t go through that list and look at each one …
Why don’t you save that list somewhere,
then go ahead and remove every single one in it,
and if you then find that something you want or need doesn’t work anymore,
install what is needed again?
That way, you do the work
and don’t rely on my estimations.
You have some that are dependencies for many packages and might be reinstalled if needed, like the rust language.
That said, it is not about the space. It is about the dependencies and “provider” metainfo.
Orphans might become very problematic after some months and eventually block an update, when an alternative provider for the same thing suddenly appears in the repos, there will be a conflict. Just one example.
My advise is to keep the orphans to a minimum.
P.s. I had to be more specific: problematic are orphans dropped from repos to aur. Those that are still in the repos should not really cause any issues.
Ok so if I understand correctly , for example, If I remove ‘rust’ what ever installed it as a dependency does not need it any more and will continue to function correctly, but if I install something new that needs ‘rust’ it will just install it as a dependency?
I will do that, but i’m also trying to see what ‘needs it’ and what ‘requires it’
To find out I’m using
pacman -Q -i package-name
in the result of that command, I know what ‘Depends On’ ‘Optional Deps’ and ‘Required By’ means; but what does ‘Provides’ mean?
I also just look inside the package - at the .PKGINFO file (if I want to know - which rarely happens).
Generally: it’s something that is used and needed by other packages - and what is in the package itself, of course.
There often are different softwares with the same functionality - in other words: they provide the same function.
Not every package has got a “provides” - because it only “provides” itself … no one else needs to know or worry about redundant functionality or name clashes, so to speak …
Thank to all, I can mark this tread as ‘Solved’ and close it.
However I could not ticked an individual post as the ‘Solution’ as there are many posts that give a solutions - To mention just a few -