Arch Linux Review [20190701 Bootstrap Image] Supplement: Package Management

July 29, 2019, 3 p.m.

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].

Pacman

Installing Packages

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 $

pacman and shell tools

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 nvidia
the 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

AUR

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

  1. Obtain the PKGBUILD from the AUR website or by cloning the AUR package's git repository which is indicated on the package's page on the AUR
  2. Examine all files to ensure there is no malicious content.
  3. If using the git repository, clone the repository. If the PKGBUILD is obtained some other way, create a directory for the PKGBUILD and other files needed for the particular package, not automatically retrived when the PKGBUILD file is used by makepkg.
  4. From the new directory created for the PKGBUILD or the directory created when cloning the git repo, run
    makepkg -sic
This process, as terminal commands and output, is shown below from my installation of Google Chrome from the AUR using the above process.
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 ±