Package management on Arch is primarily focused on the minimal pacman package manager to manage packages in the default Arch repositories or custom user repositories. It also involves, optionally, using Arch's integrated tools to build packages from PKGBUILD files from the Arch User Repository. Below are examples of package management actions mentioned in Arch Linux Review [20190701 Bootstrap Image].
21:32:58 [brook@G5-ARCH:~] $ sudo pacman -S texlive-science texlive-publishers texlive-pstricks texlive-humanities texlive-formatsextra texlive-fontsextra texlive-core resolving dependencies... looking for conflicting packages... Package (15) New Version Net Change Download Size extra/harfbuzz-icu 2.5.3-1 0.02 MiB 0.01 MiB extra/libsigsegv 2.12-1 0.02 MiB 0.01 MiB extra/libsynctex 2019.51075-2 0.14 MiB 0.05 MiB extra/perl-file-which 1.23-2 0.02 MiB 0.01 MiB extra/potrace 1.15-1 0.19 MiB 0.08 MiB extra/t1lib 5.1.2-7 1.17 MiB 0.64 MiB extra/texlive-bin 2019.51075-2 48.52 MiB 11.52 MiB extra/texlive-latexextra 2019.50920-1 48.29 MiB 12.19 MiB extra/texlive-core 2019.50917-1 401.90 MiB 150.22 MiB extra/texlive-fontsextra 2019.50876-1 1097.06 MiB 411.13 MiB extra/texlive-formatsextra 2019.50602-1 3.19 MiB 0.61 MiB extra/texlive-humanities 2019.50921-1 1.93 MiB 0.30 MiB extra/texlive-pstricks 2019.50587-1 38.85 MiB 25.30 MiB extra/texlive-publishers 2019.50915-1 51.89 MiB 12.75 MiB extra/texlive-science 2019.50760-1 12.97 MiB 2.99 MiB Total Download Size: 627.81 MiB Total Installed Size: 1706.16 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... t1lib-5.1.2-7-x86_64 650.7 KiB 254K/s 00:03 [###################################################] 0% libsigsegv-2.12-1-x86_64 660.4 KiB 244K/s 00:03 [###################################################] 0% harfbuzz-icu-2.5.3-1-x86_64 667.4 KiB 234K/s 00:03 [###################################################] 0% potrace-1.15-1-x86_64 752.6 KiB 245K/s 00:03 [###################################################] 0% libsynctex-2019.51075-2-x86_64 801.3 KiB 248K/s 00:03 [###################################################] 0% texlive-bin-2019.51075-2-x86_64 12.3 MiB 1378K/s 00:09 [###################################################] 1% texlive-core-2019.50917-1-any 162.5 MiB 2.50M/s 01:05 [###################################################] 25% texlive-science-2019.50760-1-any 165.5 MiB 2.52M/s 01:06 [###################################################] 26% texlive-publishers-2019.50915-1-any 178.3 MiB 2.63M/s 01:08 [###################################################] 28% texlive-pstricks-2019.50587-1-any 203.6 MiB 2.84M/s 01:12 [###################################################] 32% perl-file-which-1.23-2-any 203.6 MiB 2.83M/s 01:12 [###################################################] 32% texlive-latexextra-2019.50920-1-any 215.8 MiB 2.88M/s 01:15 [###################################################] 34% texlive-humanities-2019.50921-1-any 216.1 MiB 2.88M/s 01:15 [###################################################] 34% texlive-formatsextra-2019.50602-1-any 216.7 MiB 2.85M/s 01:16 [###################################################] 34% texlive-fontsextra-2019.50876-1-any 627.8 MiB 3.42M/s 03:03 [###################################################] 100% (15/15) checking keys in keyring [###################################################] 100% (15/15) checking package integrity [###################################################] 100% (15/15) loading package files [###################################################] 100% (15/15) checking for file conflicts [###################################################] 100% (15/15) checking available disk space [###################################################] 100% :: Processing package changes... ( 1/15) installing t1lib [###################################################] 100% ( 2/15) installing libsigsegv [###################################################] 100% ( 3/15) installing harfbuzz-icu [###################################################] 100% ( 4/15) installing potrace [###################################################] 100% ( 5/15) installing libsynctex [###################################################] 100% ( 6/15) installing texlive-bin [###################################################] 100% Optional dependencies for texlive-bin ed: for texconfig biber: for bibliography processing ( 7/15) installing texlive-core [###################################################] 100% >>> updmap custom entries should go into /etc/texmf/web2c/updmap-local.cfg >>> fmtutil custom entries should go into /etc/texmf/web2c/fmtutil-local.cnf NB: To setup ConTeXt and the lua(la)tex font db, see http://wiki.archlinux.org/index.php/TeX_Live Optional dependencies for texlive-core dialog: for texconfig ghostscript: for epstopdf, epspdf and other ConTeXt tools [installed] java-runtime: for utilities like arara perl-tk: for texdoctk psutils: to manipulate the output of dvips python: for pythontex [installed] python2: for dviasm [installed] ruby: for old ConTeXT MkII and epspdf t1utils: can be useful when installing Type1 fonts ( 8/15) installing texlive-science [###################################################] 100% ( 9/15) installing texlive-publishers [###################################################] 100% (10/15) installing texlive-pstricks [###################################################] 100% (11/15) installing perl-file-which [###################################################] 100% (12/15) installing texlive-latexextra [###################################################] 100% Optional dependencies for texlive-latexextra python2-pygments: for pygmentex texlive-genericextra: to use the calctab package [installed] texlive-pictures: to use the package overpic java-environment: to use pdfannotextractor (13/15) installing texlive-humanities [###################################################] 100% Optional dependencies for texlive-humanities texlive-pictures: for package qtree (14/15) installing texlive-formatsextra [###################################################] 100% (15/15) installing texlive-fontsextra [###################################################] 100% :: Running post-transaction hooks... (1/7) Warn about old perl modules (2/7) Updating TeXLive filename database... (3/7) Arming ConditionNeedsUpdate... (4/7) Updating the info directory file... (5/7) Updating TeXLive format files... (6/7) Updating TeXLive font maps... (7/7) Updating the desktop file MIME type cache... 21:41:43 θ60° [brook@G5-ARCH:~] 6m37s $
Also, there are cases where pacman's built in commands may not be able to provide the information or perform the task users want. For these situations it is beneficial for a user to have some experience with GNU/Linux or Unix, and tools these provide especially grep and the shell control operator |. For example, to remove orphan packages,
pacman -Rns $(pacman -Qtdqt), a command is used as the input of another command. Or to find available Nvidia drivers for the available Linux kernels
pacman -Ss linux | grep -A2 nvidiathe output of a pacman command is used as an input to grep. And lastly,
comm -23 <(pacman -Qqt | sort) <(pacman -Sqg base base-devel | sort), shown with its output below, lists all installed packages not required by other packages, and which are not in the base or base-devel groups.
22:09:41 θ63° [brook@G5-ARCH:~] $ comm -23 <(pacman -Qqt | sort) <(pacman -Sqg base base-devel | sort) aria2 cantata firefox firefox-developer-edition htop kde-applications-meta kvantum-qt5 neofetch pacgraph partitionmanager plasma5-applets-active-window-control plasma-meta refind-efi texlive-fontsextra texlive-formatsextra texlive-humanities texlive-pstricks texlive-publishers texlive-science vim virtualbox vivaldi xorg-iceauth xorg-luit xorg-sessreg xorg-smproxy xorg-x11perf xorg-xbacklight xorg-xcmsdb xorg-xcursorgen xorg-xdriinfo xorg-xev xorg-xgamma xorg-xhost xorg-xinput xorg-xkbevd xorg-xkbutils xorg-xkill xorg-xlsatoms xorg-xlsclients xorg-xmodmap xorg-xpr xorg-xrefresh xorg-xvinfo xorg-xwd xorg-xwud yakuake
One significant feature of Arch package management is managing packages from the AUR. Although this repository is not supported officially by the distribution, it is useful for users as many third party programs are available here but not in the official repositories, for example the Google Chrome, Firefox Beta, and Vivaldi browsers, Microsoft's Visual Studio Code, and many themes are only available here. There are also many more obscure packages in the AUR that unfortunately may lead to breakages. I've expereinced this with some random lua library I used to make an aswesone conky. With the exception of these types of poorly maintained packages, the AUR is useful.
But since Arch doesn't support it officially in pacman, some manual steps are necessary to install packages from the AUR. The three step process is to
makepkg -sic
17:23:02 [brook@G5-ARCH:~] $ cd AUR 17:23:05 [brook@G5-ARCH:~/AUR] $ ls -l total 4 drwxr-xr-x 5 brook brook 4096 Jul 22 14:16 vivaldi 17:23:09 [brook@G5-ARCH:~/AUR] $ git clone https://aur.archlinux.org/google-chrome.git Cloning into 'google-chrome'... remote: Enumerating objects: 657, done. remote: Counting objects: 100% (657/657), done. remote: Compressing objects: 100% (407/407), done. remote: Total 657 (delta 290), reused 613 (delta 250) KiB/s Receiving objects: 100% (657/657), 156.77 KiB | 53.00 KiB/s, done. Resolving deltas: 100% (290/290), done. 17:23:57 [brook@G5-ARCH:~/AUR] 8s $ ls -l total 8 drwxr-xr-x 3 brook brook 4096 Jul 27 17:23 google-chrome drwxr-xr-x 5 brook brook 4096 Jul 22 14:16 vivaldi 17:25:00 [brook@G5-ARCH:~/AUR] $ cd google-chrome/ 17:25:05 [brook@G5-ARCH:~/AUR/google-chrome] master ± ls -l total 68 -rw-r--r-- 1 brook brook 53070 Jul 27 17:23 eula_text.html -rw-r--r-- 1 brook brook 477 Jul 27 17:23 google-chrome.install -rw-r--r-- 1 brook brook 238 Jul 27 17:23 google-chrome-stable.sh -rw-r--r-- 1 brook brook 2881 Jul 27 17:23 PKGBUILD -rwxr-xr-x 1 brook brook 794 Jul 27 17:23 update_version.sh 17:25:10 [brook@G5-ARCH:~/AUR/google-chrome] master ± ls -la total 84 drwxr-xr-x 3 brook brook 4096 Jul 27 17:23 . drwxr-xr-x 4 brook brook 4096 Jul 27 17:23 .. -rw-r--r-- 1 brook brook 53070 Jul 27 17:23 eula_text.html drwxr-xr-x 8 brook brook 4096 Jul 27 17:25 .git -rw-r--r-- 1 brook brook 477 Jul 27 17:23 google-chrome.install -rw-r--r-- 1 brook brook 238 Jul 27 17:23 google-chrome-stable.sh -rw-r--r-- 1 brook brook 2881 Jul 27 17:23 PKGBUILD -rw-r--r-- 1 brook brook 1401 Jul 27 17:23 .SRCINFO -rwxr-xr-x 1 brook brook 794 Jul 27 17:23 update_version.sh 17:25:12 [brook@G5-ARCH:~/AUR/google-chrome] master ± less google-chrome.install 17:26:10 [brook@G5-ARCH:~/AUR/google-chrome] master 32s ± less .SRCINFO 17:26:38 [brook@G5-ARCH:~/AUR/google-chrome] master 17s ± less google-chrome-stable.sh 17:27:32 [brook@G5-ARCH:~/AUR/google-chrome] master 38s ± less PKGBUILD 17:30:26 [brook@G5-ARCH:~/AUR/google-chrome] master 2m39s ± makepkg -sic ==> Making package: google-chrome 75.0.3770.142-1 (Sat 27 Jul 2019 05:31:25 PM EDT) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Downloading google-chrome-stable_75.0.3770.142_amd64.deb... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 56.4M 100 56.4M 0 0 670k 0 0:01:26 0:01:26 --:--:-- 767k -> Found eula_text.html -> Found google-chrome-stable.sh ==> Validating source files with sha512sums... google-chrome-stable_75.0.3770.142_amd64.deb ... Passed eula_text.html ... Passed google-chrome-stable.sh ... Passed ==> Extracting sources... -> Extracting google-chrome-stable_75.0.3770.142_amd64.deb with bsdtar ==> Entering fakeroot environment... ==> Starting package()... -> Extracting the data.tar.xz... -> Moving stuff in place... -> Fixing Chrome icon resolution... -> Removing Debian Cron job and duplicate product logos... ==> Tidying install... -> Removing empty directories... -> Removing libtool files... -> Purging unwanted files... -> Removing static library files... -> Compressing man and info pages... ==> Checking for packaging issues... ==> Creating package "google-chrome"... -> Generating .PKGINFO file... -> Generating .BUILDINFO file... -> Adding install file... -> Generating .MTREE file... -> Compressing package... ==> Leaving fakeroot environment. ==> Finished making: google-chrome 75.0.3770.142-1 (Sat 27 Jul 2019 05:34:15 PM EDT) ==> Installing package google-chrome with pacman -U... [sudo] password for brook: sudo: timed out reading password ==> WARNING: Failed to install built package(s). ==> Cleaning up... 17:39:15 θ74° [brook@G5-ARCH:~/AUR/google-chrome] master* 7m50s 14 ± makepkg -sic ==> WARNING: A package has already been built, installing existing package... ==> Installing package google-chrome with pacman -U... [sudo] password for brook: loading packages... resolving dependencies... looking for conflicting packages... Package (1) New Version Net Change google-chrome 75.0.3770.142-1 199.19 MiB Total Installed Size: 199.19 MiB :: Proceed with installation? [Y/n] (1/1) checking keys in keyring [##############################################] 100% (1/1) checking package integrity [##############################################] 100% (1/1) loading package files [##############################################] 100% (1/1) checking for file conflicts [##############################################] 100% (1/1) checking available disk space [##############################################] 100% :: Processing package changes... (1/1) installing google-chrome [##############################################] 100% ==> NOTE: Custom flags should be put directly in: ~/.config/chrome-flags.conf ==> NOTE: The launcher is called: 'google-chrome-stable' Optional dependencies for google-chrome kdialog: for file dialogs in KDE [installed] gnome-keyring: for storing passwords in GNOME keyring kwallet: for storing passwords in KWallet [installed] gtk3-print-backends: for printing [installed] libunity: for download progress on KDE ttf-liberation: fix fonts for some PDFs (CRBug #369991) xdg-utils [installed] :: Running post-transaction hooks... (1/3) Updating icon theme caches... (2/3) Arming ConditionNeedsUpdate... (3/3) Updating the desktop file MIME type cache... ==> Cleaning up... 17:39:58 θ66° [brook@G5-ARCH:~/AUR/google-chrome] master* 14s ±
18:45:32 [brook@G5-ARCH:~] $ cd AUR 18:45:37 [brook@G5-ARCH:~/AUR] $ git clone https://aur.archlinux.org/spotify.git Cloning into 'spotify'... remote: Enumerating objects: 314, done. remote: Counting objects: 100% (314/314), done. remote: Compressing objects: 100% (185/185), done. remote: Total 314 (delta 128), reused 310 (delta 126) Receiving objects: 100% (314/314), 115.27 KiB | 556.00 KiB/s, done. Resolving deltas: 100% (128/128), done. 18:46:24 [brook@G5-ARCH:~/AUR] 9s $ cd spotify/ 18:46:34 [brook@G5-ARCH:~/AUR/spotify] master ± ls -l total 64 -rw-r--r-- 1 brook brook 51992 Jul 28 18:46 LICENSE -rw-r--r-- 1 brook brook 4805 Jul 28 18:46 PKGBUILD -rwxr-xr-x 1 brook brook 166 Jul 28 18:46 spotify.protocol 18:46:36 [brook@G5-ARCH:~/AUR/spotify] master ± less PKGBUILD 18:47:34 [brook@G5-ARCH:~/AUR/spotify] master 50s ± less spotify.protocol 18:47:46 [brook@G5-ARCH:~/AUR/spotify] master 3s ± makepkg -sic ==> Making package: spotify 1:1.1.10.546-1 (Sun 28 Jul 2019 06:48:01 PM EDT) ==> Checking runtime dependencies... ==> Installing missing dependencies... [sudo] password for brook: resolving dependencies... looking for conflicting packages... Package (3) New Version Net Change Download Size extra/gconf 3.2.6+11+g07808097-4 6.58 MiB 0.85 MiB community/libcurl-gnutls 7.65.3-1 0.51 MiB 0.20 MiB core/openssl-1.0 1.0.2.s-1 5.82 MiB 1.53 MiB Total Download Size: 2.59 MiB Total Installed Size: 12.91 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... openssl-1.0-1.0.2.s-1-x86_64 1567.0 KiB 1888K/s 00:01 [##############################################] 59% gconf-3.2.6+11+g07808097-4-x86_64 2.4 MiB 1698K/s 00:01 [##############################################] 92% libcurl-gnutls-7.65.3-1-x86_64 2.6 MiB 1659K/s 00:02 [##############################################] 100% (3/3) checking keys in keyring [##############################################] 100% (3/3) checking package integrity [##############################################] 100% (3/3) loading package files [##############################################] 100% (3/3) checking for file conflicts [##############################################] 100% (3/3) checking available disk space [##############################################] 100% :: Processing package changes... (1/3) installing gconf [##############################################] 100% (2/3) installing openssl-1.0 [##############################################] 100% Optional dependencies for openssl-1.0 ca-certificates [installed] (3/3) installing libcurl-gnutls [##############################################] 100% :: Running post-transaction hooks... (1/2) Updating GIO module cache... (2/2) Arming ConditionNeedsUpdate... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Found spotify.protocol -> Found LICENSE -> Downloading spotify-1.1.10.546-Release... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2434 100 2434 0 0 6054 0 --:--:-- --:--:-- --:--:-- 6039 -> Downloading spotify-1.1.10.546-Release.sig... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 833 100 833 0 0 3108 0 --:--:-- --:--:-- --:--:-- 3108 -> Downloading spotify-1.1.10.546-x86_64.deb... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 109M 100 109M 0 0 92588 0 0:20:41 0:20:41 --:--:-- 97413 -> Downloading spotify-1.1.10.546-x86_64-Packages... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4197 100 4197 0 0 10016 0 --:--:-- --:--:-- --:--:-- 10016 ==> Validating source files with sha512sums... spotify.protocol ... Passed LICENSE ... Passed spotify-1.1.10.546-Release ... Passed spotify-1.1.10.546-Release.sig ... Skipped ==> Validating source_x86_64 files with sha512sums... spotify-1.1.10.546-x86_64.deb ... Passed spotify-1.1.10.546-x86_64-Packages ... Passed ==> Verifying source file signatures with gpg... spotify-1.1.10.546-Release ... FAILED (unknown public key A87FF9DF48BF1C90) ==> ERROR: One or more PGP signatures could not be verified! 19:08:54 θ60° [brook@G5-ARCH:~/AUR/spotify] master* 20m53s 1 ± nano PKGBUILD 19:22:31 [brook@G5-ARCH:~/AUR/spotify] master* 1m7s ± nano PKGBUILD 19:25:14 [brook@G5-ARCH:~/AUR/spotify] master(+1/-1)* 27s ± ls -l total 112372 -rw-r--r-- 1 brook brook 51992 Jul 28 18:46 LICENSE -rw-r--r-- 1 brook brook 4805 Jul 28 19:25 PKGBUILD -rw-r--r-- 1 brook brook 2434 Jul 28 18:48 spotify-1.1.10.546-Release -rw-r--r-- 1 brook brook 833 Jul 28 18:48 spotify-1.1.10.546-Release.sig -rw-r--r-- 1 brook brook 114975574 Jul 28 19:08 spotify-1.1.10.546-x86_64.deb -rw-r--r-- 1 brook brook 4197 Jul 28 19:08 spotify-1.1.10.546-x86_64-Packages -rwxr-xr-x 1 brook brook 166 Jul 28 18:46 spotify.protocol drwxr-xr-x 2 brook brook 4096 Jul 28 18:48 src 19:25:18 [brook@G5-ARCH:~/AUR/spotify] master(+1/-1)* ± makepkg -sic ==> Making package: spotify 1:1.1.10.546-1 (Sun 28 Jul 2019 07:25:24 PM EDT) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Found spotify.protocol -> Found LICENSE -> Found spotify-1.1.10.546-Release -> Found spotify-1.1.10.546-Release.sig -> Found spotify-1.1.10.546-x86_64.deb -> Found spotify-1.1.10.546-x86_64-Packages ==> Validating source files with sha512sums... spotify.protocol ... Passed LICENSE ... Passed spotify-1.1.10.546-Release ... Passed spotify-1.1.10.546-Release.sig ... Skipped ==> Validating source_x86_64 files with sha512sums... spotify-1.1.10.546-x86_64.deb ... Passed spotify-1.1.10.546-x86_64-Packages ... Passed ==> Verifying source file signatures with gpg... spotify-1.1.10.546-Release ... FAILED (unknown public key A87FF9DF48BF1C90) ==> ERROR: One or more PGP signatures could not be verified! 19:25:34 [brook@G5-ARCH:~/AUR/spotify] master(+1/-1)* 10s 1 ± gpg --recv-key A87FF9DF48BF1C90 gpg: key A87FF9DF48BF1C90: 1 signature not checked due to a missing key gpg: /home/brook/.gnupg/trustdb.gpg: trustdb created gpg: key A87FF9DF48BF1C90: public key "Spotify Public Repository Signing Key" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 19:26:12 [brook@G5-ARCH:~/AUR/spotify] master(+1/-1)* 2s ± makepkg -sic ==> Making package: spotify 1:1.1.10.546-1 (Sun 28 Jul 2019 07:26:18 PM EDT) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Found spotify.protocol -> Found LICENSE -> Found spotify-1.1.10.546-Release -> Found spotify-1.1.10.546-Release.sig -> Found spotify-1.1.10.546-x86_64.deb -> Found spotify-1.1.10.546-x86_64-Packages ==> Validating source files with sha512sums... spotify.protocol ... Passed LICENSE ... Passed spotify-1.1.10.546-Release ... Passed spotify-1.1.10.546-Release.sig ... Skipped ==> Validating source_x86_64 files with sha512sums... spotify-1.1.10.546-x86_64.deb ... Passed spotify-1.1.10.546-x86_64-Packages ... Passed ==> Verifying source file signatures with gpg... spotify-1.1.10.546-Release ... Passed ==> Extracting sources... -> Extracting spotify-1.1.10.546-x86_64.deb with bsdtar ==> Starting prepare()... spotify-1.1.10.546-x86_64-Packages: OK spotify-1.1.10.546-x86_64.deb: OK ==> Entering fakeroot environment... ==> Starting package()... ==> Tidying install... -> Removing libtool files... -> Purging unwanted files... -> Removing static library files... -> Compressing man and info pages... ==> Checking for packaging issues... ==> Creating package "spotify"... -> Generating .PKGINFO file... -> Generating .BUILDINFO file... -> Generating .MTREE file... -> Compressing package... ==> Leaving fakeroot environment. ==> Finished making: spotify 1:1.1.10.546-1 (Sun 28 Jul 2019 07:28:19 PM EDT) ==> Installing package spotify with pacman -U... [sudo] password for brook: sudo: timed out reading password ==> WARNING: Failed to install built package(s). ==> Cleaning up... 19:33:19 [brook@G5-ARCH:~/AUR/spotify] master(+1/-1)* 7m1s 14 ± makepkg -sic ==> WARNING: A package has already been built, installing existing package... ==> Installing package spotify with pacman -U... [sudo] password for brook: loading packages... resolving dependencies... looking for conflicting packages... Package (1) New Version Net Change spotify 1:1.1.10.546-1 272.94 MiB Total Installed Size: 272.94 MiB :: Proceed with installation? [Y/n] (1/1) checking keys in keyring (1/1) checking package integrity (1/1) loading package files (1/1) checking for file conflicts (1/1) checking available disk space :: Processing package changes... (1/1) installing spotify Optional dependencies for spotify ffmpeg-compat-57: Adds support for playback of local files zenity: Adds support for importing local files libnotify: Desktop notifications [installed] :: Running post-transaction hooks... (1/3) Updating icon theme caches... (2/3) Arming ConditionNeedsUpdate... (3/3) Updating the desktop file MIME type cache... ==> Cleaning up... 20:02:55 θ61° [brook@G5-ARCH:~/AUR/spotify] master(+1/-1)* 11s ± sudo pacman -S ffmpeg-compat-57 zenity error: target not found: ffmpeg-compat-57 20:03:32 [brook@G5-ARCH:~/AUR/spotify] master(+1/-1)* 1 ±