How to list "deprecated" packages

Yesterday i read a forum post about wireplumber, searched for it: ok, lets try this package.

When i started installing wireplumber yay tells me its conflicting with installed package “pipewire-media-session”. So i removed this “deprecated” “pipewire-media-session” … great success :slight_smile: sound is much clearer now.

Now my question:
Do i have more of these “deprecated” packages . Is there a way to replace them with new packages ( if they exists ).

Searched in vain in wiki …

Systeminfo ( first install from 2017 ):

Generated on 2024-12-14 13:00:1734177616

#################### inxi -Fxzc0 ########################

System:
  Kernel: 6.1.119-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
  Desktop: Xfce v: 4.18.1 Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 81RS v: Lenovo Yoga S740-14IIL serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0J40709 WIN serial: <superuser required> UEFI: LENOVO
    v: BYCN39WW date: 05/28/2021
Battery:
  ID-1: BAT0 charge: 62.2 Wh (95.3%) condition: 65.3/62.0 Wh (105.3%) volts: 16.9 min: 15.4
    model: LGC L19L4PD2 status: full
CPU:
  Info: quad core model: Intel Core i7-1065G7 bits: 64 type: MT MCP arch: Ice Lake rev: 5 cache:
    L1: 320 KiB L2: 2 MiB L3: 8 MiB
  Speed (MHz): avg: 400 min/max: 400/3900 cores: 1: 400 2: 400 3: 400 4: 400 5: 400 6: 400 7: 400
    8: 400 bogomips: 23968
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel Iris Plus Graphics G7 vendor: Lenovo driver: i915 v: kernel arch: Gen-11
    bus-ID: 00:02.0
  Device-2: NVIDIA GP108M [GeForce MX250] vendor: Lenovo driver: nvidia v: 550.135 arch: Pascal
    bus-ID: 2b:00.0
  Device-3: Chicony Integrated Camera driver: uvcvideo type: USB bus-ID: 3-5:5
  Display: x11 server: X.Org v: 21.1.14 driver: X: loaded: modesetting,nvidia unloaded: nouveau
    dri: iris gpu: i915 resolution: 1: 1920x1080~60Hz 2: N/A
  API: EGL v: 1.5 drivers: iris,kms_swrast,nvidia,swrast platforms:
    active: gbm,x11,surfaceless,device inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 24.2.8-arch1.1 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel Iris Plus Graphics (ICL GT2)
Audio:
  Device-1: Intel Ice Lake-LP Smart Sound Audio vendor: Lenovo driver: sof-audio-pci-intel-icl
    bus-ID: 00:1f.3
  API: ALSA v: k6.1.119-1-MANJARO status: kernel-api
  Server-1: PipeWire v: 1.2.7 status: active
Network:
  Device-1: Intel Ice Lake-LP PCH CNVi WiFi driver: iwlwifi v: kernel bus-ID: 00:14.3
  IF: wlp0s20f3 state: up mac: <filter>
  Device-2: Realtek RTL8153 Gigabit Ethernet Adapter driver: r8152 type: USB bus-ID: 2-1.4:5
  IF: enp0s13f0u1u4 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB bus-ID: 3-10:8
  Report: rfkill ID: hci0 rfk-id: 2 state: down bt-service: enabled,running rfk-block:
    hardware: no software: yes address: see --recommends
Drives:
  Local Storage: total: 1.87 TiB used: 390.18 GiB (20.4%)
  ID-1: /dev/nvme0n1 vendor: Micron model: MTFDHBA1T0TCK size: 953.87 GiB temp: 55.9 C
  ID-2: /dev/sda vendor: SanDisk model: Extreme size: 29.25 GiB type: USB
  ID-3: /dev/sdb vendor: Western Digital model: WD10EARX-00N0YB0 size: 931.51 GiB type: USB
Partition:
  ID-1: / size: 57.85 GiB used: 35.99 GiB (62.2%) fs: ext4 dev: /dev/nvme0n1p8
  ID-2: /boot/efi size: 259.5 MiB used: 103.9 MiB (40.1%) fs: vfat dev: /dev/nvme0n1p1
Swap:
  ID-1: swap-1 type: partition size: 16.67 GiB used: 0 KiB (0.0%) dev: /dev/nvme0n1p9
Sensors:
  System Temperatures: cpu: 47.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB note: est. available: 15.19 GiB used: 3.3 GiB (21.7%)
  Processes: 280 Uptime: 18h 35m Init: systemd
  Packages: 1717 Compilers: clang: 18.1.8 gcc: 14.2.1 Client: Unknown Client: wrapper-2.0
    inxi: 3.3.36



Hi @JohnML,

As far as I know:

  • a Dropped package will be removed from your installation if you update;

  • the update will check if the package is available in the AUR and use that if it is instead.

  • Orphan packages (package files no longer referenced by any repositories (or the AUR as far as I know) but remain on the file system and consume disk space) can be listed with:

    pamac list --orphans
    

    and removed with:

    pamac remove --orphans
    
  • There can be 2 packages containing the same software, as you experienced, but that does not make one deprecated/wrong and the other not. You need to use the best one for you. You just can’t have both installed simultaneously.

1 Like

Mapare can present you with the current defaults you dont have;

bash <(curl -s https://gitlab.com/cscs/mapare/-/raw/main/mapare) -IP

And it can print all packages that would not currently be found on an ISO;

bash <(curl -s https://gitlab.com/cscs/mapare/-/raw/main/mapare) -X
1 Like

pipewire-media session was deprecated in Oct 2023

1 Like

Perhaps yay tells me itself in german:

[john1@manjaro Dokumente]$ yay
[sudo] Passwort für john1: 
:: Paketdatenbanken werden synchronisiert …
 core ist aktuell
 extra ist aktuell
 multilib ist aktuell
:: Vollständige Systemaktualisierung wird gestartet …
 Es gibt nichts zu tun
:: Durchsuche AUR nach Updates...
:: Durchsuche Datenbanken nach Updates...
 -> Pakete nicht im AUR: hardinfo  ipw2100-fw  ipw2200-fw  lib32-libva-vdpau-driver  libva-vdpau-driver  manjaro-sx-icons  nodejs-lts-gallium  rmlint  vertex-theme
 -> **Verwaiste** (nicht gepflegte) AUR-Pakete: gnome-vfs
 -> Als nicht aktuell markierte AUR-Pakete: gconf
 es gibt nichts zu tun



``

:bangbang::bangbang: TIP:

If your language isn’t English, please prepend any and all terminal commands with LC_ALL=C. For example:

LC_ALL=C bluetoothctl

This will just cause the terminal output to be in English, making it easier to understand and debug.

Hope i remember LC_ALL=C now :slight_smile:

[john1@manjaro Dokumente]$ LC_ALL=C yay
[sudo] password for john1: 
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
:: Starting full system upgrade...
 there is nothing to do
:: Searching AUR for updates...
:: Searching databases for updates...
 -> Packages not in AUR: hardinfo  ipw2100-fw  ipw2200-fw  lib32-libva-vdpau-driver  libva-vdpau-driver  manjaro-sx-icons  nodejs-lts-gallium  rmlint  vertex-theme
 -> Orphan (unmaintained) AUR Packages: gnome-vfs
 -> Flagged Out Of Date AUR Packages: gconf
 there is nothing to do

So the package “verwaist” in german is just an orphaned package

I’m going to be honest with you:
Some of these packaged I’ve never even hear of. Nevertheless, I think your best bet would be to search for each package, because when listed like this, I think they’re gone.For example, lets take the hardinfo package:

$ pamac search hardinfo
i-nex-git  7.6.1.r0.gcd1b78d-4                                               AUR
    System information tool like hardinfo, sysinfo
hardinfo2-git  2.1.17.r1.g6216559-1                                          AUR
    System Information and Benchmark for Linux Systems.
hardinfo2  2.2.4-1                                                           AUR
    System Information and Benchmark for Linux Systems.
hardinfo2  2.2.4-1                                                         extra
    System Information and Benchmark for Linux Systems.

Here you can see that it doesn’t exist in the repositories, nor in the AUR, as your warning indicates. And if it’s not in the repositories, it’s not system-critical. So in this case you’d remove it:

pamac remove hardinfo

And then you can choose if you want to install hardinfo2 or not. That’ll depend entirely on you:

pamac install hardinfo2
1 Like

hardinfo2 gives me lots of information that i don’t know how to get them in Terminal. So i removed hardinfo …

Thanks for your tipps !

1 Like

They may or may not exist in the repos.

Orphans are packages that were installed as a dependency and are no longer required by any package.

Tip: Add the pacman -Qdt command to a pacman post-transaction hook to be notified if a transaction orphaned a package. This can be useful for being notified when a package has been dropped from a repository, since any dropped package will also be orphaned on a local installation (unless it was explicitly installed).

https://wiki.archlinux.org/title/Pacman/Tips_and_tricks#Removing_unused_packages_(orphans)

A dropped package will not be removed, it just won’t be updated. If dropped packages were removed then any local packages you installed (ie. pacman -U) which didn’t exist in the repo would also be removed.

AFAIK the only packages that may be removed are conflicting packages.

This :arrow_down: will happen if you’re using an AUR helper, and the version in the AUR is newer…unless you tell it not to update AUR packages.

1 Like

die gibts nicht mehr
nirgendwo

these are all non existent

remove - all of them

3 Likes

Replace that with hardinfo2.The rest you most likely can remove.

Yes, i installed hardinfo2 and removed the rest !

I hope that causes no trouble :

pamac remove  gnome-vfs gconf libgksu libgnome gksu libbonoboui libgnome-data libgnomeui

Thanks for all the assistance !!

Do not make general updates with yay -Syu.
Always split the process and update the core system first with pacman -Syu, then only the aur packages with yay -Sua

2 Likes

Instead of looking for orphans, a better method might be to look for foreign packages, which are installed packages that are not in Manjaro’s repositories:

pamac list --foreign

or

pamac list -m

For example, if I list the orphans on my system, I see a lot of packages that are still in the repos, but are orphans mainly because they were only required for building AUR packages:

pamac list -o 
acpica                    20240927-1      extra  2.2 MB
blueprint-compiler        0.14.0-2        extra  2.1 MB
boost                     1.86.0-3        extra  186.8 MB
ccache                    4.10.2-2        extra  1.5 MB
edid-decode-git           r720.5332a3b-1  AUR    413.7 kB
libomxil-bellagio         0.9.3-5         extra  612.3 kB
meson                     1.6.0-4         extra  13.5 MB
python-babel              2.15.0-1        extra  30.0 MB
python-ordered-set        4.1.0-5         extra  67.2 kB
python-tomli              2.0.1-4         extra  101.1 kB
python-validate-pyproject 0.22-1          extra  354.0 kB
qt5-graphicaleffects      5.15.16-3       extra  547.3 kB

If I delete all of them, the next time one of my AUR packages needs to be rebuilt, some of those orphans will be reinstalled.

However, my foreign package list is quite different:

pamac list -m
amdgpu_top              0.10.1-1                      AUR  17.9 MB
edid-decode-git         r720.5332a3b-1                AUR  413.7 kB
fclones-gui             0.2.0-2                       AUR  3.9 MB
lact                    0.6.0-1                       AUR  7.1 MB
lyrics-in-terminal      1.7.0-1                       AUR  154.0 kB
maus                    1.1-2                              60.3 kB
ocs-url                 3.1.0-7                       AUR  133.5 kB
python-desktop-notifier 6.0.0-2                       AUR  286.2 kB
qbittorrent-enhanced    5.0.2.10-1                    AUR  13.3 MB
qimgv-qt6-kde-git       v1.0.3.alpha.r130.ga4d475f-1  AUR  2.3 MB
rar                     7.01-1                        AUR  1.5 MB
solunar2-git            2.0b.r10.7d0b06f-1            AUR  189.8 kB
sunwait-git             r34.151d834-1                 AUR  39.2 kB
txt2html                2.5201-2                      AUR  213.3 kB
vdhcoapp-bin            2.0.20-2                      AUR  52.6 MB
videomerge              2.0.0-3                       AUR  534.2 kB

None of those packages are in Manjaro’s repos.

paru has a way to print ‘packages not found in the AUR’.
It does this during upgrades, but can also be printed as part of its general stats command;

paru -Ps

We can make it a little more directly to the point with something like;

paru -Ps | grep 'not in the AUR' || echo "No installed packages not in the Repos or AUR"

To get a bit meta for a moment…

It seems it may be worth covering some semantics.

This thread title is about ’ “deprecated” packages ’ … and quickly lists an example of pipewire-media-session. Then responses range from orphans to non-default packages to software thats been abandoned by its creator.

So it may be worth covering some similar but differing examples.

  • Orphans. These are packages installed as a dependency that are currently not required by any other installed package.
  • Deprecated [Variant 1]. Could refer to packages no longer recommended by Manjaro/Arch or major components of your system (systemd’s recommendations, etc).
  • Deprecated [Variant 2]. Could refer to packages containing software no longer actively developed. This could have no visible cue anywhere in the package manager.
  • Deprecated [Variant 3]. Could refer to packages no longer available in the manjaro repositories. This could mean nothing more than that the manjaro maintainers opted to stop packaging it.
  • Deprecated [Variant 4]. Could refer to packages no longer available through the package manager at all (Repos or the AUR).
  • Deprecated [Variant 5]. Could refer to packages no longer included with manjaro by default. These will not necessarily be dropped from the repos or AUR or be orphans.

As you can see these are all different scenarios, requiring slightly different approaches to present or manage them.

In our example of pipewire-media-session it is a combination of ‘Deprecated [Variant 1]’, ‘Deprecated [Variant 2]’, and ‘Deprecated [Variant 5]’. Its in the repos, but it is no longer maintained, and is neither suggested by pipewire or Arch nor included with Manjaro by default.

2 Likes

Fish:

abbr english 'LC_ALL=C'

Bash/zsh

alias english='LC_ALL=C'

FTFY

1 Like

Thank you very much for the clarification. I feel kind of stupid when I’ve got something this common wrong, but Your explanation is perfect, thank you!

1 Like

google gemini explains your advice as follows:

Absolutely! Here’s the response in English:

Your last response, translated into English:

"That’s a great observation! I’m glad you’re understanding the connections better and better.

Why combining pacman and yay for system updates can be beneficial:

Prioritizing official repositories: Pacman updates packages from the official Manjaro repositories first. These packages are generally well-tested and offer high stability.
Subsequent AUR updates: Yay then takes care of updating packages from the AUR. Since these packages are often more experimental or require specific customizations, it’s wise to install them after the official updates.
Minimizing conflicts: This sequence reduces the risk of conflicts between packages from the official repositories and the AUR.
Ensuring important updates: Important system updates that are included in the official repositories are thus guaranteed before moving on to the often more complex AUR packages.
An example:

Imagine there’s an important security update for the Linux kernel included in the official repositories. If you only use yay for updates, you could miss this critical update because yay checks the AUR packages first. By combining both package managers, you ensure that all important system components are up-to-date.

Summary:

Pacman: For basic system updates and packages from the official repositories.
Yay: For additional packages from the AUR that are not included in the official repositories.
A possible workflow for a complete system update:

Pacman: sudo pacman -Syu
Yay: yay -Syu
Important:

Order: Keep the order to avoid conflicts.
Frequency: How often you should perform updates depends on your individual needs. Once a week or every two weeks is usually sufficient.
Backup: Before performing major updates, it’s advisable to create a backup of your important data.
Additional tips:

Pamac: If you prefer a graphical user interface, you can also use Pamac to manage both Pacman and yay.
AUR helpers: Besides yay, there are other AUR helpers like paru or trizen. Each has its own advantages.
Do you have any further questions or would you like to know something more specific?"

Mod edit: changed the formatting of the text from preformatted text (used for terminal output) to blockquote (so the text word-wraps, making it much easier to read)

sudo pacman -Syu

Run does a full system update. (Note - pacman only interacts with repos and local packages)

Afterwards you can also update aur packages using an aur helper like pamac …

pamac upgrade -a

Obviously this is designed to reduce issues upgrading everything in one go.

Then if you want to catch ALL the available updates/upgrades:

pamac update --aur --devel
  • Take care with internet results, as we are not running Arch - this is Manjaro.